[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1106856: unblock: lomiri-camera-app/4.0.8+dfsg-4



Package: release.debian.org
Severity: normal
X-Debbugs-Cc: lomiri-camera-app@packages.debian.org
Control: affects -1 + src:lomiri-camera-app
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package lomiri-camera-app

This unblock request is for updating lomiri-camera-app in Debian trixie.
It addresses a mix of fixes via upstream changes and Debian patches.

[ Reason ]

+lomiri-camera-app (4.0.8+dfsg-1) unstable; urgency=medium
+
+  * New upstream release.
+  * debian/patches:
+    + Add 2002_hide-app-if-not-in-lomiri.patch.
+    + Drop 1001_content-hub-for-non-click-builds.patch. Applied upstream.
+  * debian/control:
+    + Bump Standards-Version: to 4.7.2. No changes needed.
+  * debian/copyright:
+    + Fix FSF mailing address.
+    + Update copyright attributions.
+
+ -- Mike Gabriel <sunweaver@debian.org>  Mon, 05 May 2025 13:25:12 +0200

-> The new upstream release contains these two fixes / feature additions:

    * Add option to erase EXIF metadata (70974d7)
    * Redesigned video play icon (743aca9)


+lomiri-camera-app (4.0.8+dfsg-2) unstable; urgency=medium
+
+  * debian/patches:
+    + Update 2002_hide-app-if-not-in-lomiri.patch. Include barcode reader app.
+
+ -- Mike Gabriel <sunweaver@debian.org>  Mon, 05 May 2025 22:59:32 +0200

-> Also hide the bar code reader app (a startup mode variant of camera
app) if not in Lomiri.


+lomiri-camera-app (4.0.8+dfsg-3) unstable; urgency=medium
+
+  * debian/patches:
+    + Add 0001_fix-recorded-video-size.patch. Fix initialization of video
+      resolution. (Closes: #1104908)

-> Make sure that at camera app startup videos are recorded in the
configured quality.

+  * debian/control:
+    + Drop from D: qml-module-qzxing. The qzxing library does not provide a
+      full QQmlEngineExtensionPlugin, it simply provides QQuickImageProvider.
+      Trying to import the QML module will fail. This goes together with the
+      removal of the qml-module-qzxing bin:pkg from src:pkg qzxing. (Closes:
+      #1092953).

-> Drop qml-module-qzxing from Depends: field. See #1106852.

+    + Switch from pkg-config => pkgconf. Thanks, lintian.

-> Thanks, lintian.

+ -- Mike Gabriel <sunweaver@debian.org>  Sat, 10 May 2025 16:04:19 +0200


+lomiri-camera-app (4.0.8+dfsg-4) unstable; urgency=medium
+
+  * debian/patches:
+    + Add 0002_fix-image-quality-on-app-startup.patch. Correctly initialize
+      image resolution on app startup. (Closes: #1105112).

-> Make sure that at camera app startup images are photographed in the
configured quality.

+    + Add 0003_fix-spelling-of-background-color-in-AdvancedOptions-qml.patch.
+      AdvancedOptions.qml: Fix typo in theme palette name. (Closes: #1106850).

-> Fix QML warnings / coloring in AdvancedOptions.qml.

+    + Add 0004_Save-orientation-when-erasing-metadata.patch. Fix privacy mode
+      (where no EXIF data is stored in images): Save orientation data also in
+      privacy mode. (Closes: #1106849).

-> Follow-up for 4.0.8's new privacy mode. Sustain image orientation.

+    + Add 0005_add-left-margin-between-icon-and-label-in-options-selector.patch.
+      Minor UI icon fix for options selector.

-> UI icon fix in options selector.

[ Impact ]
No privacy mode in lomiri-camera-app. Broken bar code reader app.

[ Tests ]
Manual tests on a Lenovo X1 notebook.

[ Risks ]
None except for lomiri-camera-app users.

[ Checklist ]
  [x] all changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in testing

[ Other info ]
This unblock request goes together with #1106852.

unblock lomiri-camera-app/4.0.8+dfsg-4
diff -Nru lomiri-camera-app-4.0.7+dfsg/AUTHORS lomiri-camera-app-4.0.8+dfsg/AUTHORS
--- lomiri-camera-app-4.0.7+dfsg/AUTHORS	2025-01-31 22:38:21.000000000 +0100
+++ lomiri-camera-app-4.0.8+dfsg/AUTHORS	2025-05-05 10:28:08.000000000 +0200
@@ -110,6 +110,7 @@
 Ken VanDine
 Kugi Eusebio
 Kugiigi
+Le0nklcpp
 Leo Arias
 Lionel Duboeuf
 Louies
@@ -135,6 +136,7 @@
 Mike
 Mike Gabriel
 Milan Korecký
+Milo Ivir
 Moo
 Moshe Lazar
 Mr-awk
@@ -143,6 +145,7 @@
 Mutse Young
 Nelly Simkova
 Neutrum N
+Niko
 Noock
 NPL
 Oğuz Ersen
diff -Nru lomiri-camera-app-4.0.7+dfsg/CameraApp/advancedcamerasettings.cpp lomiri-camera-app-4.0.8+dfsg/CameraApp/advancedcamerasettings.cpp
--- lomiri-camera-app-4.0.7+dfsg/CameraApp/advancedcamerasettings.cpp	2025-01-31 22:38:21.000000000 +0100
+++ lomiri-camera-app-4.0.8+dfsg/CameraApp/advancedcamerasettings.cpp	2025-05-05 10:28:08.000000000 +0200
@@ -45,7 +45,8 @@
     m_imageEncoderControl(0),
     m_videoEncoderControl(0),
     m_cameraInfoControl(0),
-    m_hdrEnabled(false)
+    m_hdrEnabled(false),
+    m_hasEXIF(false)
 {
 }
 
@@ -469,6 +470,10 @@
     }
 }
 
+bool AdvancedCameraSettings::hasEXIF() const
+{
+    return m_hasEXIF;
+}
 
 bool AdvancedCameraSettings::hasFlash() const
 {
@@ -498,6 +503,12 @@
     return m_hdrEnabled;
 }
 
+void AdvancedCameraSettings::setEXIF(bool enabled)
+{
+    m_hasEXIF = enabled;
+    Q_EMIT hasEXIFChanged();
+}
+
 void AdvancedCameraSettings::setHdrEnabled(bool enabled)
 {
     if (enabled != m_hdrEnabled) {
diff -Nru lomiri-camera-app-4.0.7+dfsg/CameraApp/advancedcamerasettings.h lomiri-camera-app-4.0.8+dfsg/CameraApp/advancedcamerasettings.h
--- lomiri-camera-app-4.0.7+dfsg/CameraApp/advancedcamerasettings.h	2025-01-31 22:38:21.000000000 +0100
+++ lomiri-camera-app-4.0.8+dfsg/CameraApp/advancedcamerasettings.h	2025-05-05 10:28:08.000000000 +0200
@@ -49,6 +49,7 @@
     Q_PROPERTY (bool hdrEnabled READ hdrEnabled WRITE setHdrEnabled NOTIFY hdrEnabledChanged)
     Q_PROPERTY (bool hasHdr READ hasHdr NOTIFY hasHdrChanged)
     Q_PROPERTY (int encodingQuality READ encodingQuality WRITE setEncodingQuality NOTIFY encodingQualityChanged)
+    Q_PROPERTY (bool hasEXIF READ hasEXIF WRITE setEXIF NOTIFY hasEXIFChanged)
 
 public:
     explicit AdvancedCameraSettings(QObject *parent = 0);
@@ -62,10 +63,12 @@
     float getScreenAspectRatio() const;
     QStringList videoSupportedResolutions();
     QStringList imageSupportedResolutions();
+    bool hasEXIF() const;
     bool hasFlash() const;
     bool hasHdr() const;
     bool hdrEnabled() const;
     void setHdrEnabled(bool enabled);
+    void setEXIF(bool enabled);
     int encodingQuality() const;
     void setEncodingQuality(int quality);
     void readCapabilities();
@@ -81,6 +84,7 @@
     void encodingQualityChanged();
     void videoSupportedResolutionsChanged();
     void imageSupportedResolutionsChanged();
+    void hasEXIFChanged();
 
 private Q_SLOTS:
     void onCameraStatusChanged(QCamera::Status status);
@@ -110,6 +114,7 @@
     QVideoEncoderSettingsControl* m_videoEncoderControl;
     QCameraInfoControl* m_cameraInfoControl;
     bool m_hdrEnabled;
+    bool m_hasEXIF;
     QStringList m_videoSupportedResolutions;
     QStringList m_imageSupportedResolutions;
 };
diff -Nru lomiri-camera-app-4.0.7+dfsg/CameraApp/postprocessoperations.cpp lomiri-camera-app-4.0.8+dfsg/CameraApp/postprocessoperations.cpp
--- lomiri-camera-app-4.0.7+dfsg/CameraApp/postprocessoperations.cpp	2025-01-31 22:38:21.000000000 +0100
+++ lomiri-camera-app-4.0.8+dfsg/CameraApp/postprocessoperations.cpp	2025-05-05 10:28:08.000000000 +0200
@@ -30,3 +30,14 @@
     connect(this->workingThread, &AddDateStamp::finished, this->workingThread, &QObject::deleteLater);
     this->workingThread->start();
 }
+void PostProcessOperations::deleteEXIFdata(const QString &path)
+{
+    #if EXIV2_TEST_VERSION(0,28,0)
+      Exiv2::Image::UniquePtr imgFile;
+    #else
+      Exiv2::Image::AutoPtr imgFile;
+    #endif
+    imgFile = Exiv2::ImageFactory::open(path.toStdString());
+    imgFile->clearMetadata();
+    imgFile->writeMetadata();
+}
\ Kein Zeilenumbruch am Dateiende.
diff -Nru lomiri-camera-app-4.0.7+dfsg/CameraApp/postprocessoperations.h lomiri-camera-app-4.0.8+dfsg/CameraApp/postprocessoperations.h
--- lomiri-camera-app-4.0.7+dfsg/CameraApp/postprocessoperations.h	2025-01-31 22:38:21.000000000 +0100
+++ lomiri-camera-app-4.0.8+dfsg/CameraApp/postprocessoperations.h	2025-05-05 10:28:08.000000000 +0200
@@ -29,6 +29,7 @@
 public:
     explicit PostProcessOperations(QObject *parent = 0);
     Q_INVOKABLE void addDateStamp(const QString & path, QString dateFormat, QColor stampColor, float opacity, int alignment);
+    Q_INVOKABLE void deleteEXIFdata(const QString &path);
 
 protected:
     QThread* workingThread;
diff -Nru lomiri-camera-app-4.0.7+dfsg/ChangeLog lomiri-camera-app-4.0.8+dfsg/ChangeLog
--- lomiri-camera-app-4.0.7+dfsg/ChangeLog	2025-01-31 22:38:21.000000000 +0100
+++ lomiri-camera-app-4.0.8+dfsg/ChangeLog	2025-05-05 10:28:08.000000000 +0200
@@ -1,6 +1,62 @@
+2025-05-05 Mike Gabriel
+
+        * Release 4.0.8 (HEAD -> main, tag: v4.0.8)
+
+2025-04-30 Mike Gabriel
+
+        * Merge branch 'main' into 'main' (7356b75)
+
+2025-04-30 le0nklcpp
+
+        * Add option to erase EXIF metadata (70974d7)
+
+2025-04-04 Mike Gabriel
+
+        * Merge branch 'main_-_playicon' into 'main' (0598d0d)
+
+2025-03-10 kugiigi
+
+        * Redesigned video play icon (743aca9)
+
+2025-03-13 Niko
+
+        * Translated using Weblate (Serbian) (4cef9fb)
+        * Translated using Weblate (Serbian) (8e304fc)
+
+2025-02-12 Mike Gabriel
+
+        * Merge branch 'bump_clickable_min' into 'main' (a63e793)
+
+2025-01-23 Danfro
+
+        * bump clickable minimum version (ba2f967)
+
+2025-02-05 Milo Ivir
+
+        * Translated using Weblate (Croatian) (5fa8ee8)
+
+2025-02-05 Ratchanan Srirattanamet
+
+        * Merge branch
+          'personal/sunweaver/content-hub-integration-for-non-click-builds'
+          into 'main' (4cdbf20)
+
+2025-01-31 Mike Gabriel
+
+        * CMakeLists.txt: Install content-hub peers configuration also when
+          built as non-click package. (55960ab)
+
+2025-02-04 Milo Ivir
+
+        * Translated using Weblate (Croatian) (d977919)
+
+2025-02-01 Milo Ivir
+
+        * Translated using Weblate (Croatian) (b9fde5b)
+
 2025-01-31 Mike Gabriel
 
-        * Release 4.0.7 (HEAD -> main, tag: v4.0.7)
+        * Release 4.0.7 (48a89a0) (tag: v4.0.7)
 
 2025-01-14 Ricky Tigg
 
diff -Nru lomiri-camera-app-4.0.7+dfsg/clickable.yaml lomiri-camera-app-4.0.8+dfsg/clickable.yaml
--- lomiri-camera-app-4.0.7+dfsg/clickable.yaml	2025-01-31 22:38:21.000000000 +0100
+++ lomiri-camera-app-4.0.8+dfsg/clickable.yaml	2025-05-05 10:28:08.000000000 +0200
@@ -1,4 +1,4 @@
-clickable_minimum_required: '7.5.0'
+clickable_minimum_required: '8.0.0'
 
 builder: cmake
 
diff -Nru lomiri-camera-app-4.0.7+dfsg/CMakeLists.txt lomiri-camera-app-4.0.8+dfsg/CMakeLists.txt
--- lomiri-camera-app-4.0.7+dfsg/CMakeLists.txt	2025-01-31 22:38:21.000000000 +0100
+++ lomiri-camera-app-4.0.8+dfsg/CMakeLists.txt	2025-05-05 10:28:08.000000000 +0200
@@ -1,5 +1,5 @@
 cmake_minimum_required(VERSION 3.5)
-project(lomiri-camera-app VERSION 4.0.7 LANGUAGES CXX)
+project(lomiri-camera-app VERSION 4.0.8 LANGUAGES CXX)
 set (CMAKE_CXX_STANDARD 11)
 
 set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules)
@@ -251,6 +251,9 @@
         DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)
     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${DESKTOP_FILE_READER}
         DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)
+    install(FILES camera-contenthub.json
+            DESTINATION ${CMAKE_INSTALL_DATADIR}/lomiri-content-hub/peers
+            RENAME lomiri-camera-app)
 endif(CLICK_MODE)
 
 add_subdirectory(CameraApp)
diff -Nru lomiri-camera-app-4.0.7+dfsg/debian/changelog lomiri-camera-app-4.0.8+dfsg/debian/changelog
--- lomiri-camera-app-4.0.7+dfsg/debian/changelog	2025-01-31 22:54:46.000000000 +0100
+++ lomiri-camera-app-4.0.8+dfsg/debian/changelog	2025-05-30 16:14:07.000000000 +0200
@@ -1,3 +1,54 @@
+lomiri-camera-app (4.0.8+dfsg-4) unstable; urgency=medium
+
+  * debian/patches:
+    + Add 0002_fix-image-quality-on-app-startup.patch. Correctly initialize
+      image resolution on app startup. (Closes: #1105112).
+    + Add 0003_fix-spelling-of-background-color-in-AdvancedOptions-qml.patch.
+      AdvancedOptions.qml: Fix typo in theme palette name. (Closes: #1106850).
+    + Add 0004_Save-orientation-when-erasing-metadata.patch. Fix privacy mode
+      (where no EXIF data is stored in images): Save orientation data also in
+      privacy mode. (Closes: #1106849).
+    + Add 0005_add-left-margin-between-icon-and-label-in-options-selector.patch.
+      Minor UI icon fix for options selector.
+
+ -- Mike Gabriel <sunweaver@debian.org>  Fri, 30 May 2025 16:14:07 +0200
+
+lomiri-camera-app (4.0.8+dfsg-3) unstable; urgency=medium
+
+  * debian/patches:
+    + Add 0001_fix-recorded-video-size.patch. Fix initialization of video
+      resolution. (Closes: #1104908)
+  * debian/control:
+    + Drop from D: qml-module-qzxing. The qzxing library does not provide a
+      full QQmlEngineExtensionPlugin, it simply provides QQuickImageProvider.
+      Trying to import the QML module will fail. This goes together with the
+      removal of the qml-module-qzxing bin:pkg from src:pkg qzxing. (Closes:
+      #1092953).
+    + Switch from pkg-config => pkgconf. Thanks, lintian.
+
+ -- Mike Gabriel <sunweaver@debian.org>  Sat, 10 May 2025 16:04:19 +0200
+
+lomiri-camera-app (4.0.8+dfsg-2) unstable; urgency=medium
+
+  * debian/patches:
+    + Update 2002_hide-app-if-not-in-lomiri.patch. Include barcode reader app.
+
+ -- Mike Gabriel <sunweaver@debian.org>  Mon, 05 May 2025 22:59:32 +0200
+
+lomiri-camera-app (4.0.8+dfsg-1) unstable; urgency=medium
+
+  * New upstream release.
+  * debian/patches:
+    + Add 2002_hide-app-if-not-in-lomiri.patch.
+    + Drop 1001_content-hub-for-non-click-builds.patch. Applied upstream.
+  * debian/control:
+    + Bump Standards-Version: to 4.7.2. No changes needed.
+  * debian/copyright:
+    + Fix FSF mailing address.
+    + Update copyright attributions.
+
+ -- Mike Gabriel <sunweaver@debian.org>  Mon, 05 May 2025 13:25:12 +0200
+
 lomiri-camera-app (4.0.7+dfsg-1) unstable; urgency=medium
 
   * New upstream release.
diff -Nru lomiri-camera-app-4.0.7+dfsg/debian/control lomiri-camera-app-4.0.8+dfsg/debian/control
--- lomiri-camera-app-4.0.7+dfsg/debian/control	2024-06-14 09:50:53.000000000 +0200
+++ lomiri-camera-app-4.0.8+dfsg/debian/control	2025-05-10 16:07:22.000000000 +0200
@@ -7,7 +7,7 @@
 Build-Depends: cmake,
                debhelper-compat (= 13),
                libgl-dev,
-               pkg-config,
+               pkgconf,
                qtbase5-dev,
                qtquickcontrols2-5-dev,
                qtdeclarative5-dev,
@@ -28,7 +28,7 @@
                gettext,
                xauth,
                xvfb,
-Standards-Version: 4.7.0
+Standards-Version: 4.7.2
 Rules-Requires-Root: no
 Homepage: https://gitlab.com/ubports/development/apps/lomiri-camera-app
 Vcs-Browser: https://salsa.debian.org/ubports-team/lomiri-camera-app
@@ -47,7 +47,6 @@
          qml-module-lomiri-thumbnailer,
          qml-module-qtpositioning,
          qml-module-qtsensors,
-         qml-module-qzxing,
          qml-module-lomiri-components-extras,
          ${misc:Depends},
          ${shlibs:Depends},
diff -Nru lomiri-camera-app-4.0.7+dfsg/debian/copyright lomiri-camera-app-4.0.8+dfsg/debian/copyright
--- lomiri-camera-app-4.0.7+dfsg/debian/copyright	2025-01-31 22:54:22.000000000 +0100
+++ lomiri-camera-app-4.0.8+dfsg/debian/copyright	2025-05-05 13:28:27.000000000 +0200
@@ -149,7 +149,9 @@
 
 Files: qml/components/OverlayPanel.qml
  qml/components/OverlayTint.qml
+ qml/components/PlayIcon.qml
 Copyright: 2019, UBports Foundation
+  2025, UBports Foundation
 License: GPL-3
 
 Files: assets/*
@@ -191,7 +193,7 @@
  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the
  Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+ 31 Milk Street, # 960789, Boston, MA 02196, USA.
  .
  On Debian systems, the complete text of the GNU General
  Public License can be found in `/usr/share/common-licenses/GPL-3'.
diff -Nru lomiri-camera-app-4.0.7+dfsg/debian/patches/0001_fix-recorded-video-size.patch lomiri-camera-app-4.0.8+dfsg/debian/patches/0001_fix-recorded-video-size.patch
--- lomiri-camera-app-4.0.7+dfsg/debian/patches/0001_fix-recorded-video-size.patch	1970-01-01 01:00:00.000000000 +0100
+++ lomiri-camera-app-4.0.8+dfsg/debian/patches/0001_fix-recorded-video-size.patch	2025-05-08 14:34:42.000000000 +0200
@@ -0,0 +1,25 @@
+From 5e16f47f2ccb42baec0c547c733fb429ab427e17 Mon Sep 17 00:00:00 2001
+From: kugiigi <kugi_eusebio@protonmail.com>
+Date: Thu, 8 May 2025 01:15:08 +0800
+Subject: [PATCH] Fix incorrect video resolution
+
+---
+ ViewFinderOverlay.qml | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/ViewFinderOverlay.qml b/ViewFinderOverlay.qml
+index 7205cbd2..5decaa88 100644
+--- a/ViewFinderOverlay.qml
++++ b/ViewFinderOverlay.qml
+@@ -130,6 +130,8 @@ Item {
+         target: camera.videoRecorder
+         property: "resolution"
+         value: settings.videoResolutions[camera.deviceId] || Qt.size(-1, -1)
++        // This makes sure that the correct video resolution is initiated
++        when: camera.cameraStatus == Camera.LoadedStatus || camera.cameraStatus == Camera.ActiveStatus
+     }
+ 
+     Binding {
+-- 
+GitLab
+
diff -Nru lomiri-camera-app-4.0.7+dfsg/debian/patches/0002_fix-image-quality-on-app-startup.patch lomiri-camera-app-4.0.8+dfsg/debian/patches/0002_fix-image-quality-on-app-startup.patch
--- lomiri-camera-app-4.0.7+dfsg/debian/patches/0002_fix-image-quality-on-app-startup.patch	1970-01-01 01:00:00.000000000 +0100
+++ lomiri-camera-app-4.0.8+dfsg/debian/patches/0002_fix-image-quality-on-app-startup.patch	2025-05-11 16:00:47.000000000 +0200
@@ -0,0 +1,24 @@
+From 1a298a5a45e1ca077bc0ce528970530e4cd8ef0d Mon Sep 17 00:00:00 2001
+From: kugiigi <kugi_eusebio@protonmail.com>
+Date: Fri, 9 May 2025 21:22:35 +0800
+Subject: [PATCH] Fix incorrect image quality
+
+---
+ ViewFinderOverlay.qml | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/ViewFinderOverlay.qml b/ViewFinderOverlay.qml
+index 5decaa88..73d47395 100644
+--- a/ViewFinderOverlay.qml
++++ b/ViewFinderOverlay.qml
+@@ -124,6 +124,8 @@ Item {
+         target: camera.advanced
+         property: "encodingQuality"
+         value: settings.encodingQuality
++        // This makes sure that the correct image quality is initiated
++        when: camera.cameraStatus == Camera.ActiveStatus
+     }
+ 
+     Binding {
+-- 
+GitLab
diff -Nru lomiri-camera-app-4.0.7+dfsg/debian/patches/0003_fix-spelling-of-background-color-in-AdvancedOptions-qml.patch lomiri-camera-app-4.0.8+dfsg/debian/patches/0003_fix-spelling-of-background-color-in-AdvancedOptions-qml.patch
--- lomiri-camera-app-4.0.7+dfsg/debian/patches/0003_fix-spelling-of-background-color-in-AdvancedOptions-qml.patch	1970-01-01 01:00:00.000000000 +0100
+++ lomiri-camera-app-4.0.8+dfsg/debian/patches/0003_fix-spelling-of-background-color-in-AdvancedOptions-qml.patch	2025-05-30 15:22:10.000000000 +0200
@@ -0,0 +1,88 @@
+From cdcb6ba3a3a354d0e6e93255127ced74004fcb90 Mon Sep 17 00:00:00 2001
+From: Danfro <one@frostinfo.de>
+Date: Tue, 13 May 2025 23:04:13 +0200
+Subject: [PATCH] fix spelling of background color in AdvancedOptions.qml
+
+---
+ AdvancedOptions.qml | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/AdvancedOptions.qml b/AdvancedOptions.qml
+index c7d0a628..04e1c171 100644
+--- a/AdvancedOptions.qml
++++ b/AdvancedOptions.qml
+@@ -18,7 +18,7 @@ Page {
+         id:_advancedOptionsPageHeader
+         StyleHints {
+             backgroundColor:"transparent"
+-            foregroundColor: theme.palette.normal.backgroudText
++            foregroundColor: theme.palette.normal.backgroundText
+         }
+         title: i18n.tr("Settings")
+         leadingActionBar.actions: [
+@@ -64,7 +64,7 @@ Page {
+                 ListItemLayout {
+                     id: datestampSwitchLayout
+                     title.text: i18n.tr("Add date stamp on captured images")
+-                    title.color: theme.palette.normal.backgroudText
++                    title.color: theme.palette.normal.backgroundText
+                     title.horizontalAlignment:Text.AlignLeft
+                     Switch {
+                         SlotsLayout.position: SlotsLayout.Last
+@@ -88,7 +88,7 @@ Page {
+                         // TRANSLATORS: this refers to the opacity  of date stamp added to captured images
+                         title.text: i18n.tr("Format")
+                         title.horizontalAlignment:Text.AlignLeft
+-                        title.color: theme.palette.normal.backgroudText
++                        title.color: theme.palette.normal.backgroundText
+                         TextField {
+                             id:dateFormatText
+                             SlotsLayout.position: SlotsLayout.Last
+@@ -204,7 +204,7 @@ Page {
+                     ListItemLayout {
+                         id:  dateStampColorItemLayout
+ 
+-                        title.color:  theme.palette.normal.backgroudText
++                        title.color:  theme.palette.normal.backgroundText
+                         // TRANSLATORS: this refers to the color of date stamp added to captured images
+                         title.text:i18n.tr("Color")
+                         title.horizontalAlignment:Text.AlignLeft
+@@ -273,7 +273,7 @@ Page {
+                     divider.visible: false
+                     ListItemLayout {
+                         id:  dateStampAlignmentItemLayout
+-                        title.color:  theme.palette.normal.backgroudText
++                        title.color:  theme.palette.normal.backgroundText
+                         // TRANSLATORS: this refers to the alignment of date stamp within captured images (bottom left, top right,etc..)
+                         title.text:i18n.tr("Alignment")
+                         title.horizontalAlignment:Text.AlignLeft
+@@ -318,7 +318,7 @@ Page {
+                     ListItemLayout {
+                         id:  dateStampOpacityItemLayout
+                         height: dateStampOpacityItem.height
+-                        title.color:  theme.palette.normal.backgroudText
++                        title.color:  theme.palette.normal.backgroundText
+                         // TRANSLATORS: this refers to the opacity  of date stamp added to captured images
+                         title.text:i18n.tr("Opacity")
+                         title.horizontalAlignment:Text.AlignLeft
+@@ -345,7 +345,7 @@ Page {
+                     id: blurEffectSwitch
+                     title.text: i18n.tr("Blurred Overlay")
+                     title.horizontalAlignment:Text.AlignLeft
+-                    title.color: theme.palette.normal.backgroudText
++                    title.color: theme.palette.normal.backgroundText
+                     Switch {
+                         SlotsLayout.position: SlotsLayout.Last
+                         checked: appSettings.blurEffects
+@@ -366,7 +366,7 @@ Page {
+ 			  id: blurEffectsPreviewOnlySwitch
+ 			  title.text: i18n.tr("Only Blur Preview overlay")
+ 				title.horizontalAlignment:Text.AlignLeft
+-			  title.color: theme.palette.normal.backgroudText
++			  title.color: theme.palette.normal.backgroundText
+ 			  Switch {
+ 			     SlotsLayout.position: SlotsLayout.Last
+ 			     checked: appSettings.blurEffectsPreviewOnly
+-- 
+GitLab
+
diff -Nru lomiri-camera-app-4.0.7+dfsg/debian/patches/0004_Save-orientation-when-erasing-metadata.patch lomiri-camera-app-4.0.8+dfsg/debian/patches/0004_Save-orientation-when-erasing-metadata.patch
--- lomiri-camera-app-4.0.7+dfsg/debian/patches/0004_Save-orientation-when-erasing-metadata.patch	1970-01-01 01:00:00.000000000 +0100
+++ lomiri-camera-app-4.0.8+dfsg/debian/patches/0004_Save-orientation-when-erasing-metadata.patch	2025-05-30 15:24:54.000000000 +0200
@@ -0,0 +1,31 @@
+From f000473352524d35480e9135b3a391905290d90a Mon Sep 17 00:00:00 2001 From: le0nklcpp <le0nklcpp@yandex.ru> Date: Tue, 13 May 2025 01:49:02 +0300 Subject: [PATCH] Save orientation when erasing metadata ---  CameraApp/postprocessoperations.cpp | 8 ++++++++  1 file changed, 8 insertions(+) diff --git a/CameraApp/postprocessoperations.cpp b/CameraApp/postprocessoperations.cpp index 32d94129..e5e54782 100644 --- a/CameraApp/postprocessoperations.cpp +++ b/CameraApp/postprocessoperations.cpp @@ -38,6 +38,14 @@ void PostProcessOperations::deleteEXIFdata(const QString &path)        Exiv2::Image::AutoPtr imgFile;      #endif      imgFile = Exiv2::ImageFactory::open(path.toStdString()); +    imgFile->readMetadata(); +    Exiv2::ExifData &exifData = imgFile->exifData(); +    #if EXIV2_TEST_VERSION(0,28,0) +      long orientationFlags  =From f000473352524d35480e9135b3a391905290d90a Mon Sep 17 00:00:00 2001
+From: le0nklcpp <le0nklcpp@yandex.ru>
+Date: Tue, 13 May 2025 01:49:02 +0300
+Subject: [PATCH] Save orientation when erasing metadata
+
+---
+ CameraApp/postprocessoperations.cpp | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/CameraApp/postprocessoperations.cpp b/CameraApp/postprocessoperations.cpp
+index 32d94129..e5e54782 100644
+--- a/CameraApp/postprocessoperations.cpp
++++ b/CameraApp/postprocessoperations.cpp
+@@ -38,6 +38,14 @@ void PostProcessOperations::deleteEXIFdata(const QString &path)
+       Exiv2::Image::AutoPtr imgFile;
+     #endif
+     imgFile = Exiv2::ImageFactory::open(path.toStdString());
++    imgFile->readMetadata();
++    Exiv2::ExifData &exifData = imgFile->exifData();
++    #if EXIV2_TEST_VERSION(0,28,0)
++      long orientationFlags  = exifData["Exif.Image.Orientation"].toUint32();
++    #else
++      long orientationFlags  = exifData["Exif.Image.Orientation"].toLong();
++    #endif
+     imgFile->clearMetadata();
++    exifData["Exif.Image.Orientation"] = std::to_string(orientationFlags);
+     imgFile->writeMetadata();
+ }
+\ No newline at end of file
+-- 
+GitLab
diff -Nru lomiri-camera-app-4.0.7+dfsg/debian/patches/0005_add-left-margin-between-icon-and-label-in-options-selector.patch lomiri-camera-app-4.0.8+dfsg/debian/patches/0005_add-left-margin-between-icon-and-label-in-options-selector.patch
--- lomiri-camera-app-4.0.7+dfsg/debian/patches/0005_add-left-margin-between-icon-and-label-in-options-selector.patch	1970-01-01 01:00:00.000000000 +0100
+++ lomiri-camera-app-4.0.8+dfsg/debian/patches/0005_add-left-margin-between-icon-and-label-in-options-selector.patch	2025-05-30 15:45:17.000000000 +0200
@@ -0,0 +1,23 @@
+From d1c57c23fcbfb984d5bdb11cd8e88d17079a3332 Mon Sep 17 00:00:00 2001
+From: Danfro <one@frostinfo.de>
+Date: Sun, 11 May 2025 22:45:15 +0200
+Subject: [PATCH] add left margin between icon and label in options selector
+
+---
+ OptionValueButton.qml | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/OptionValueButton.qml b/OptionValueButton.qml
+index f9e7f948..7c4609f3 100644
+--- a/OptionValueButton.qml
++++ b/OptionValueButton.qml
+@@ -63,6 +63,7 @@ AbstractButton {
+             id: label
+             anchors {
+                 left: iconLabelGroup.showIcon ? icon.right : parent.left
++                leftMargin: iconLabelGroup.showIcon ? units.gu(1) : 0
+                 verticalCenter: parent.verticalCenter
+             }
+ 
+-- 
+GitLab
diff -Nru lomiri-camera-app-4.0.7+dfsg/debian/patches/1001_content-hub-for-non-click-builds.patch lomiri-camera-app-4.0.8+dfsg/debian/patches/1001_content-hub-for-non-click-builds.patch
--- lomiri-camera-app-4.0.7+dfsg/debian/patches/1001_content-hub-for-non-click-builds.patch	2025-01-31 22:53:48.000000000 +0100
+++ lomiri-camera-app-4.0.8+dfsg/debian/patches/1001_content-hub-for-non-click-builds.patch	1970-01-01 01:00:00.000000000 +0100
@@ -1,16 +0,0 @@
-Description: Add content-hub integration when built as DEB package.
-Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
-Forwarded: https://gitlab.com/ubports/development/apps/lomiri-camera-app/-/merge_requests/219
-
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -251,6 +251,9 @@
-         DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)
-     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${DESKTOP_FILE_READER}
-         DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)
-+    install(FILES camera-contenthub.json
-+            DESTINATION ${CMAKE_INSTALL_DATADIR}/lomiri-content-hub/peers
-+            RENAME lomiri-camera-app)
- endif(CLICK_MODE)
- 
- add_subdirectory(CameraApp)
diff -Nru lomiri-camera-app-4.0.7+dfsg/debian/patches/2002_hide-app-if-not-in-lomiri.patch lomiri-camera-app-4.0.8+dfsg/debian/patches/2002_hide-app-if-not-in-lomiri.patch
--- lomiri-camera-app-4.0.7+dfsg/debian/patches/2002_hide-app-if-not-in-lomiri.patch	1970-01-01 01:00:00.000000000 +0100
+++ lomiri-camera-app-4.0.8+dfsg/debian/patches/2002_hide-app-if-not-in-lomiri.patch	2025-05-05 22:58:44.000000000 +0200
@@ -0,0 +1,18 @@
+Description: Hide app if not on Lomiri
+Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
+Forwarded: not needed, Debian-specific
+
+--- a/lomiri-camera-app.desktop.in.in
++++ b/lomiri-camera-app.desktop.in.in
+@@ -13,3 +13,4 @@
+ X-Lomiri-Rotates-Window-Contents=true
+ X-Lomiri-Splash-Image=@CAMERA_SPLASH@
+ X-Lomiri-Splash-Color=#eeecea
++OnlyShowIn=Lomiri
+--- a/lomiri-barcode-reader-app.desktop.in.in
++++ b/lomiri-barcode-reader-app.desktop.in.in
+@@ -13,3 +13,4 @@
+ X-Lomiri-Rotates-Window-Contents=true
+ X-Lomiri-Splash-Image=@READER_SPLASH@
+ X-Lomiri-Splash-Color=#454545
++OnlyShowIn=Lomiri
diff -Nru lomiri-camera-app-4.0.7+dfsg/debian/patches/series lomiri-camera-app-4.0.8+dfsg/debian/patches/series
--- lomiri-camera-app-4.0.7+dfsg/debian/patches/series	2025-01-31 22:40:31.000000000 +0100
+++ lomiri-camera-app-4.0.8+dfsg/debian/patches/series	2025-05-30 15:45:23.000000000 +0200
@@ -1,2 +1,7 @@
 2001_no-autopilot-on-Debian.patch
-1001_content-hub-for-non-click-builds.patch
+2002_hide-app-if-not-in-lomiri.patch
+0001_fix-recorded-video-size.patch
+0002_fix-image-quality-on-app-startup.patch
+0003_fix-spelling-of-background-color-in-AdvancedOptions-qml.patch
+0004_Save-orientation-when-erasing-metadata.patch
+0005_add-left-margin-between-icon-and-label-in-options-selector.patch
diff -Nru lomiri-camera-app-4.0.7+dfsg/NEWS lomiri-camera-app-4.0.8+dfsg/NEWS
--- lomiri-camera-app-4.0.7+dfsg/NEWS	2025-01-31 22:38:21.000000000 +0100
+++ lomiri-camera-app-4.0.8+dfsg/NEWS	2025-05-05 10:28:08.000000000 +0200
@@ -1,3 +1,13 @@
+Overview of changes in lomiri-camera-app 4.0.8
+
+  - Add option to erase EXIF metadata.
+  - Redesigned video play icon.
+  - Bump clickable minimum version.
+  - CMakeLists.txt: Install content-hub peers configuration also when
+    built as non-click package.
+  - Translation updates (thanks to all contributors on
+    hosted.weblate.org).
+
 Overview of changes in lomiri-camera-app 4.0.7
 
   - Vectorise barcode icons.
diff -Nru lomiri-camera-app-4.0.7+dfsg/PhotogridView.qml lomiri-camera-app-4.0.8+dfsg/PhotogridView.qml
--- lomiri-camera-app-4.0.7+dfsg/PhotogridView.qml	2025-01-31 22:38:21.000000000 +0100
+++ lomiri-camera-app-4.0.8+dfsg/PhotogridView.qml	2025-05-05 10:28:08.000000000 +0200
@@ -1,5 +1,6 @@
 /*
  * Copyright 2014 Canonical Ltd.
+ * Copyright (C) 2025 UBports Foundation
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -21,6 +22,7 @@
 import Lomiri.Content 1.3
 import Qt.labs.settings 1.0
 import CameraApp 0.1
+import "qml/components"
 import "MimeTypeMapper.js" as MimeTypeMapper
 
 FocusScope {
@@ -207,15 +209,11 @@
                     Behavior on opacity { LomiriNumberAnimation {duration: LomiriAnimation.FastDuration} }
                 }
 
-                Icon {
-                    width: units.gu(3)
-                    height: units.gu(3)
+                PlayIcon {
                     anchors.centerIn: parent
-                    name: "media-playback-start"
-                    color: "white"
-                    opacity: 0.8
+                    width: units.gu(5.5)
+                    height: width
                     visible: isVideo
-                    asynchronous: true
                 }
 
                 Icon {
diff -Nru lomiri-camera-app-4.0.7+dfsg/po/hr.po lomiri-camera-app-4.0.8+dfsg/po/hr.po
--- lomiri-camera-app-4.0.7+dfsg/po/hr.po	2025-01-31 22:38:21.000000000 +0100
+++ lomiri-camera-app-4.0.8+dfsg/po/hr.po	2025-05-05 10:28:08.000000000 +0200
@@ -8,67 +8,65 @@
 "Project-Id-Version: camera-app\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2024-05-17 10:34+0000\n"
-"PO-Revision-Date: 2018-02-18 21:55+0000\n"
-"Last-Translator: gogogogi <trebelnik2@gmail.com>\n"
-"Language-Team: Croatian <https://translate.ubports.com/projects/ubports/";
-"camera-app/hr/>\n"
+"PO-Revision-Date: 2025-02-06 10:51+0000\n"
+"Last-Translator: Milo Ivir <mail@milotype.de>\n"
+"Language-Team: Croatian <https://hosted.weblate.org/projects/lomiri/";
+"lomiri-camera-app/hr/>\n"
 "Language: hr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
-"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 2.15\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Generator: Weblate 5.10-dev\n"
 "X-Launchpad-Export-Date: 2016-12-01 04:53+0000\n"
 
 #: lomiri-camera-app.desktop.in:4 lomiri-camera-app.desktop.in:6
 #: Information.qml:106
 msgid "Camera"
-msgstr "Fotoaparat"
+msgstr "Kamera"
 
 #: lomiri-camera-app.desktop.in:5
 msgid "Camera application"
-msgstr "Aplikacija fotoaparat"
+msgstr "Aplikacija za kameru"
 
 #: lomiri-camera-app.desktop.in:7
 msgid "Photos;Videos;Capture;Shoot;Snapshot;Record"
-msgstr ""
+msgstr "Fotografije;Videa;Snimanje;Fotografiranje;Snimka"
 
 #: lomiri-camera-app.desktop.in:10
 msgid "lomiri-camera-app"
-msgstr ""
+msgstr "lomiri-camera-app"
 
 #: lomiri-barcode-reader-app.desktop.in:4
 #: lomiri-barcode-reader-app.desktop.in:6
 msgid "Barcode Reader"
-msgstr ""
+msgstr "Čitač barkodova"
 
 #: lomiri-barcode-reader-app.desktop.in:5
-#, fuzzy
-#| msgid "Camera application"
 msgid "Barcode Reader application"
-msgstr "Aplikacija fotoaparat"
+msgstr "Aplikacija za čitač barkodova"
 
 #: lomiri-barcode-reader-app.desktop.in:7
 msgid "QR;Code;Reader"
-msgstr ""
+msgstr "QR;Kod;Čitač"
 
 #: lomiri-barcode-reader-app.desktop.in:10
 msgid "lomiri-barcode-reader-app"
-msgstr ""
+msgstr "lomiri-barcode-reader-app"
 
 #: AdvancedOptions.qml:23 PhotogridView.qml:69 SlideshowView.qml:77
 msgid "Settings"
-msgstr ""
+msgstr "Postavke"
 
 #: AdvancedOptions.qml:27
 msgid "Close"
-msgstr ""
+msgstr "Zatvori"
 
 #: AdvancedOptions.qml:35 Information.qml:20 PhotogridView.qml:78
 #: SlideshowView.qml:86
 msgid "About"
-msgstr ""
+msgstr "Informacije"
 
 #: AdvancedOptions.qml:66
 msgid "Add date stamp on captured images"
@@ -184,17 +182,17 @@
 #. TRANSLATORS: this refers to the color of date stamp added to captured images
 #: AdvancedOptions.qml:209
 msgid "Color"
-msgstr ""
+msgstr "Boja"
 
 #. TRANSLATORS: this refers to the alignment of date stamp within captured images (bottom left, top right,etc..)
 #: AdvancedOptions.qml:278
 msgid "Alignment"
-msgstr ""
+msgstr "Poravnanje"
 
 #. TRANSLATORS: this refers to the opacity  of date stamp added to captured images
 #: AdvancedOptions.qml:323
 msgid "Opacity"
-msgstr ""
+msgstr "Neprozirnost"
 
 #: AdvancedOptions.qml:346
 msgid "Blurred Overlay"
@@ -206,7 +204,7 @@
 
 #: DeleteDialog.qml:24
 msgid "Delete media?"
-msgstr ""
+msgstr "Izbrisati medij?"
 
 #: DeleteDialog.qml:34 PhotogridView.qml:56 SlideshowView.qml:69
 msgid "Delete"
@@ -219,19 +217,19 @@
 
 #: GalleryView.qml:270
 msgid "No media available."
-msgstr ""
+msgstr "Nema medija."
 
 #: GalleryView.qml:305
 msgid "Scanning for content..."
-msgstr ""
+msgstr "Pretraživanje sadržaja …"
 
 #: GalleryViewHeader.qml:84 SlideshowView.qml:46
 msgid "Select"
-msgstr ""
+msgstr "Odaberi"
 
 #: GalleryViewHeader.qml:85
 msgid "Edit Photo"
-msgstr ""
+msgstr "Uredi fotografiju"
 
 #: GalleryViewHeader.qml:85
 msgid "Photo Roll"
@@ -239,7 +237,7 @@
 
 #: Information.qml:25
 msgid "Back"
-msgstr ""
+msgstr "Natrag"
 
 #: Information.qml:76
 msgid "Get the source"
@@ -247,41 +245,41 @@
 
 #: Information.qml:77
 msgid "Report issues"
-msgstr ""
+msgstr "Prijavi probleme"
 
 #: Information.qml:78
 msgid "Help translate"
-msgstr ""
+msgstr "Pomogni prevoditi"
 
 #: MediaInfoPopover.qml:14
 #, qt-format
 msgid "Width : %1"
-msgstr ""
+msgstr "Širina: %1"
 
 #: MediaInfoPopover.qml:15
 #, qt-format
 msgid "Height : %1"
-msgstr ""
+msgstr "Visina: %1"
 
 #: MediaInfoPopover.qml:16
 #, qt-format
 msgid "Date : %1"
-msgstr ""
+msgstr "Datum: %1"
 
 #: MediaInfoPopover.qml:17
 #, qt-format
 msgid "Camera Model : %1"
-msgstr ""
+msgstr "Model kamere: %1"
 
 #: MediaInfoPopover.qml:18
 #, qt-format
 msgid "Copyright : %1"
-msgstr ""
+msgstr "Autorska prava: %1"
 
 #: MediaInfoPopover.qml:19
 #, qt-format
 msgid "Exposure Time : %1"
-msgstr ""
+msgstr "Vrijeme ekspozicije: %1"
 
 #: MediaInfoPopover.qml:20
 #, qt-format
@@ -300,12 +298,12 @@
 #: MediaInfoPopover.qml:48
 #, qt-format
 msgid "Name : %1"
-msgstr ""
+msgstr "Ime: %1"
 
 #: MediaInfoPopover.qml:51
 #, qt-format
 msgid "Type : %1"
-msgstr ""
+msgstr "Vrsta: %1"
 
 #: MediaInfoPopover.qml:83
 #, qt-format
@@ -314,11 +312,11 @@
 
 #: MediaInfoPopover.qml:83
 msgid "Yes"
-msgstr ""
+msgstr "Da"
 
 #: MediaInfoPopover.qml:83
 msgid "No"
-msgstr ""
+msgstr "Ne"
 
 #: NoSpaceHint.qml:33
 msgid "No space left on device, free up space to continue."
@@ -334,7 +332,7 @@
 
 #: SlideshowView.qml:62
 msgid "Image Info"
-msgstr ""
+msgstr "Podaci slike"
 
 #: SlideshowView.qml:98
 msgid "Edit"
@@ -346,77 +344,77 @@
 
 #: UnableShareDialog.qml:25
 msgid "Unable to share"
-msgstr ""
+msgstr "Ne može se dijeliti"
 
 #: UnableShareDialog.qml:26
 msgid "Unable to share photos and videos at the same time"
-msgstr ""
+msgstr "Fotografije i videa se ne mogu istovremeno dijeliti"
 
 #: UnableShareDialog.qml:30
 msgid "Ok"
-msgstr ""
+msgstr "U redu"
 
 #: ViewFinderOverlay.qml:469 ViewFinderOverlay.qml:492
 #: ViewFinderOverlay.qml:520 ViewFinderOverlay.qml:543
 #: ViewFinderOverlay.qml:628 ViewFinderOverlay.qml:695
 msgid "On"
-msgstr ""
+msgstr "Uključeno"
 
 #: ViewFinderOverlay.qml:474 ViewFinderOverlay.qml:502
 #: ViewFinderOverlay.qml:525 ViewFinderOverlay.qml:548
 #: ViewFinderOverlay.qml:567 ViewFinderOverlay.qml:633
 #: ViewFinderOverlay.qml:705
 msgid "Off"
-msgstr ""
+msgstr "Isključeno"
 
 #: ViewFinderOverlay.qml:497
 msgid "Auto"
-msgstr ""
+msgstr "Automatski"
 
 #: ViewFinderOverlay.qml:534
 msgid "HDR"
-msgstr ""
+msgstr "HDR"
 
 #: ViewFinderOverlay.qml:572
 msgid "5 seconds"
-msgstr ""
+msgstr "5 sekundi"
 
 #: ViewFinderOverlay.qml:577
 msgid "15 seconds"
-msgstr ""
+msgstr "15 sekundi"
 
 #: ViewFinderOverlay.qml:595
 msgid "Fine Quality"
-msgstr ""
+msgstr "Dobra kvaliteta"
 
 #: ViewFinderOverlay.qml:600
 msgid "High Quality"
-msgstr ""
+msgstr "Visoka kvaliteta"
 
 #: ViewFinderOverlay.qml:605
 msgid "Normal Quality"
-msgstr ""
+msgstr "Normalna kvaliteta"
 
 #: ViewFinderOverlay.qml:610
 msgid "Basic Quality"
-msgstr ""
+msgstr "Osnovna kvaliteta"
 
 #. TRANSLATORS: this will be displayed on an small button so for it to fit it should be less then 3 characters long.
 #: ViewFinderOverlay.qml:643
 msgid "SD"
-msgstr ""
+msgstr "SD"
 
 #: ViewFinderOverlay.qml:651
 msgid "Save to SD Card"
-msgstr ""
+msgstr "Spremi na SD karticu"
 
 #: ViewFinderOverlay.qml:656
 msgid "Save internally"
-msgstr ""
+msgstr "Spremi na uređaju"
 
 #: ViewFinderOverlay.qml:700
 msgid "Vibrate"
-msgstr ""
+msgstr "Vibriraj"
 
 #: ViewFinderOverlay.qml:1200
 msgid "Low storage space"
diff -Nru lomiri-camera-app-4.0.7+dfsg/po/sr.po lomiri-camera-app-4.0.8+dfsg/po/sr.po
--- lomiri-camera-app-4.0.7+dfsg/po/sr.po	2025-01-31 22:38:21.000000000 +0100
+++ lomiri-camera-app-4.0.8+dfsg/po/sr.po	2025-05-05 10:28:08.000000000 +0200
@@ -8,219 +8,223 @@
 "Project-Id-Version: camera-app\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2024-05-17 10:34+0000\n"
-"PO-Revision-Date: 2016-01-21 22:22+0000\n"
-"Last-Translator: Bojan Bogdanović <Unknown>\n"
-"Language-Team: Serbian <sr@li.org>\n"
+"PO-Revision-Date: 2025-03-14 01:41+0000\n"
+"Last-Translator: Niko <nikomoto1@gmail.com>\n"
+"Language-Team: Serbian <https://hosted.weblate.org/projects/lomiri/";
+"lomiri-camera-app/sr/>\n"
 "Language: sr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Generator: Weblate 5.11-dev\n"
 "X-Launchpad-Export-Date: 2016-12-01 04:53+0000\n"
-"X-Generator: Launchpad (build 18282)\n"
 
 #: lomiri-camera-app.desktop.in:4 lomiri-camera-app.desktop.in:6
 #: Information.qml:106
 msgid "Camera"
-msgstr "Камера"
+msgstr "Kamera"
 
 #: lomiri-camera-app.desktop.in:5
 msgid "Camera application"
-msgstr "Програм за камеру"
+msgstr "Program za kameru"
 
 #: lomiri-camera-app.desktop.in:7
 msgid "Photos;Videos;Capture;Shoot;Snapshot;Record"
-msgstr "Фотографије;Слике;Видео;Видеи;Сними;Усликај;Снимак;"
+msgstr "Fotografije;Video zapisi;Snimanje;Snimanje;Snimak;Snimanje"
 
 #: lomiri-camera-app.desktop.in:10
 msgid "lomiri-camera-app"
-msgstr ""
+msgstr "lomiri-kamera-program"
 
 #: lomiri-barcode-reader-app.desktop.in:4
 #: lomiri-barcode-reader-app.desktop.in:6
 msgid "Barcode Reader"
-msgstr ""
+msgstr "Barkod Čitač"
 
 #: lomiri-barcode-reader-app.desktop.in:5
-#, fuzzy
-#| msgid "Camera application"
 msgid "Barcode Reader application"
-msgstr "Програм за камеру"
+msgstr "Aplikacija Barkod Čitač"
 
 #: lomiri-barcode-reader-app.desktop.in:7
 msgid "QR;Code;Reader"
-msgstr ""
+msgstr "QR;Kod;Čitač"
 
 #: lomiri-barcode-reader-app.desktop.in:10
 msgid "lomiri-barcode-reader-app"
-msgstr ""
+msgstr "lomoro-barkod-čitač-program"
 
 #: AdvancedOptions.qml:23 PhotogridView.qml:69 SlideshowView.qml:77
 msgid "Settings"
-msgstr ""
+msgstr "Podešavanja"
 
 #: AdvancedOptions.qml:27
 msgid "Close"
-msgstr ""
+msgstr "Zatvori"
 
 #: AdvancedOptions.qml:35 Information.qml:20 PhotogridView.qml:78
 #: SlideshowView.qml:86
 msgid "About"
-msgstr ""
+msgstr "o čemu"
 
 #: AdvancedOptions.qml:66
 msgid "Add date stamp on captured images"
-msgstr ""
+msgstr "Dodajte pečat datuma na snimljene slike"
 
 #. TRANSLATORS: this refers to the opacity  of date stamp added to captured images
 #: AdvancedOptions.qml:89
 msgid "Format"
-msgstr ""
+msgstr "Format"
 
 #: AdvancedOptions.qml:142
 msgid "Date formatting keywords"
-msgstr ""
+msgstr "Ključne reči za formatiranje datuma"
 
 #: AdvancedOptions.qml:147
 msgid "the day as number without a leading zero (1 to 31)"
-msgstr ""
+msgstr "dan kao broj bez vodeće nule (1 do 31)"
 
 #: AdvancedOptions.qml:148
 msgid "the day as number with a leading zero (01 to 31)"
-msgstr ""
+msgstr "dan kao broj sa početnom nulom (01 do 31)"
 
 #: AdvancedOptions.qml:149
 msgid "the abbreviated localized day name (e.g. 'Mon' to 'Sun')."
-msgstr ""
+msgstr "skraćeni lokalizovani naziv dana (npr. 'pon' do 'ned')."
 
 #: AdvancedOptions.qml:150
 msgid "the long localized day name (e.g. 'Monday' to 'Sunday')."
-msgstr ""
+msgstr "dugo lokalizovano ime dana (npr. 'ponedeljak' do 'nedelja')."
 
 #: AdvancedOptions.qml:151
 msgid "the month as number without a leading zero (1 to 12)"
-msgstr ""
+msgstr "mesec kao broj bez vodeće nule (1 do 12)"
 
 #: AdvancedOptions.qml:152
 msgid "the month as number with a leading zero (01 to 12)"
-msgstr ""
+msgstr "mesec kao broj sa početnom nulom (01 do 12)"
 
 #: AdvancedOptions.qml:153
 msgid "the abbreviated localized month name (e.g. 'Jan' to 'Dec')."
-msgstr ""
+msgstr "skraćeni lokalizovani naziv meseca (npr. 'jan' do 'dec')."
 
 #: AdvancedOptions.qml:154
 msgid "the long localized month name (e.g. 'January' to 'December')."
-msgstr ""
+msgstr "dugačak lokalizovani naziv meseca (npr. „januar“ do „decembar“)."
 
 #: AdvancedOptions.qml:155
 msgid "the year as two digit number (00 to 99)"
-msgstr ""
+msgstr "godina kao dvocifreni broj (00 do 99)"
 
 #: AdvancedOptions.qml:156
 msgid ""
 "the year as four digit number. If the year is negative, a minus sign is "
 "prepended in addition."
 msgstr ""
+"godina kao četvorocifreni broj. Ako je godina negativna, ispred se stavlja "
+"znak minus."
 
 #: AdvancedOptions.qml:157
 msgid "the hour without a leading zero (0 to 23 or 1 to 12 if AM/PM display)"
-msgstr ""
+msgstr "sat bez vodeće nule (0 do 23 ili 1 do 12 ako se prikazuje AM/PM)"
 
 #: AdvancedOptions.qml:158
 msgid "the hour with a leading zero (00 to 23 or 01 to 12 if AM/PM display)"
-msgstr ""
+msgstr "sat sa početnom nulom (00 do 23 ili 01 do 12 ako se prikazuje AM/PM)"
 
 #: AdvancedOptions.qml:159
 msgid "the hour without a leading zero (0 to 23, even with AM/PM display)"
-msgstr ""
+msgstr "sat bez vodeće nule (0 do 23, čak i sa AM/PM displejom)"
 
 #: AdvancedOptions.qml:160
 msgid "the hour with a leading zero (00 to 23, even with AM/PM display)"
-msgstr ""
+msgstr "sat sa početnom nulom (00 do 23, čak i sa AM/PM displejom)"
 
 #: AdvancedOptions.qml:161
 msgid "the minute without a leading zero (0 to 59)"
-msgstr ""
+msgstr "minut bez vodeće nule (0 do 59)"
 
 #: AdvancedOptions.qml:162
 msgid "the minute with a leading zero (00 to 59)"
-msgstr ""
+msgstr "minut sa početnom nulom (00 do 59)"
 
 #: AdvancedOptions.qml:163
 msgid "the second without a leading zero (0 to 59)"
-msgstr ""
+msgstr "drugi bez vodeće nule (0 do 59)"
 
 #: AdvancedOptions.qml:164
 msgid "the second with a leading zero (00 to 59)"
-msgstr ""
+msgstr "drugi sa početnom nulom (00 do 59)"
 
 #: AdvancedOptions.qml:165
 msgid "the milliseconds without leading zeroes (0 to 999)"
-msgstr ""
+msgstr "milisekunde bez vodećih nula (0 do 999)"
 
 #: AdvancedOptions.qml:166
 msgid "the milliseconds with leading zeroes (000 to 999)"
-msgstr ""
+msgstr "milisekunde sa vodećim nulama (000 do 999)"
 
 #: AdvancedOptions.qml:167
 msgid "use AM/PM display. AP will be replaced by either 'AM' or 'PM'."
-msgstr ""
+msgstr "koristite prikaz AM/PM. AP će biti zamenjen sa 'AM' ili 'PM'."
 
 #: AdvancedOptions.qml:168
 msgid "use am/pm display. ap will be replaced by either 'am' or 'pm'."
 msgstr ""
+"koristite prikaz prepodne/podneva. ap će biti zamenjen sa 'am' ili 'pm'."
 
 #: AdvancedOptions.qml:169
 msgid "the timezone (for example 'CEST')"
-msgstr ""
+msgstr "vremenska zona (na primer „CEST“)"
 
 #: AdvancedOptions.qml:178
 msgid "Add to Format"
-msgstr ""
+msgstr "Dodaj u format"
 
 #. TRANSLATORS: this refers to the color of date stamp added to captured images
 #: AdvancedOptions.qml:209
 msgid "Color"
-msgstr ""
+msgstr "Boja"
 
 #. TRANSLATORS: this refers to the alignment of date stamp within captured images (bottom left, top right,etc..)
 #: AdvancedOptions.qml:278
 msgid "Alignment"
-msgstr ""
+msgstr "Poravnanje"
 
 #. TRANSLATORS: this refers to the opacity  of date stamp added to captured images
 #: AdvancedOptions.qml:323
 msgid "Opacity"
-msgstr ""
+msgstr "Opacitet"
 
 #: AdvancedOptions.qml:346
 msgid "Blurred Overlay"
-msgstr ""
+msgstr "Zamućeno preklapanje"
 
 #: AdvancedOptions.qml:367
 msgid "Only Blur Preview overlay"
-msgstr ""
+msgstr "Samo prekrivač za pregled zamućenja"
 
 #: DeleteDialog.qml:24
 msgid "Delete media?"
-msgstr "Обрисати снимак?"
+msgstr "Izbrisati snimak?"
 
 #: DeleteDialog.qml:34 PhotogridView.qml:56 SlideshowView.qml:69
 msgid "Delete"
-msgstr "Обриши"
+msgstr "Izbriši"
 
 #: DeleteDialog.qml:40 ViewFinderOverlay.qml:1203 ViewFinderOverlay.qml:1217
 #: ViewFinderOverlay.qml:1265 ViewFinderView.qml:409
 msgid "Cancel"
-msgstr "Откажи"
+msgstr "Otkaži"
 
 #: GalleryView.qml:270
 msgid "No media available."
-msgstr "Нема снимака."
+msgstr "Nema dostupnih snimaka."
 
 #: GalleryView.qml:305
 msgid "Scanning for content..."
-msgstr "Тражи садржај..."
+msgstr "Skeniranje sadržaja..."
 
 #: GalleryViewHeader.qml:84 SlideshowView.qml:46
 msgid "Select"
@@ -236,86 +240,86 @@
 
 #: Information.qml:25
 msgid "Back"
-msgstr ""
+msgstr "Nazad"
 
 #: Information.qml:76
 msgid "Get the source"
-msgstr ""
+msgstr "Idi do izvora"
 
 #: Information.qml:77
 msgid "Report issues"
-msgstr ""
+msgstr "Prijavi probleme"
 
 #: Information.qml:78
 msgid "Help translate"
-msgstr ""
+msgstr "Pomozi u prevodu"
 
 #: MediaInfoPopover.qml:14
 #, qt-format
 msgid "Width : %1"
-msgstr ""
+msgstr "Širina: %1"
 
 #: MediaInfoPopover.qml:15
 #, qt-format
 msgid "Height : %1"
-msgstr ""
+msgstr "Visina: %1"
 
 #: MediaInfoPopover.qml:16
 #, qt-format
 msgid "Date : %1"
-msgstr ""
+msgstr "Datum : %1"
 
 #: MediaInfoPopover.qml:17
 #, qt-format
 msgid "Camera Model : %1"
-msgstr ""
+msgstr "Model kamere: %1"
 
 #: MediaInfoPopover.qml:18
 #, qt-format
 msgid "Copyright : %1"
-msgstr ""
+msgstr "Autorsko pravo: %1"
 
 #: MediaInfoPopover.qml:19
 #, qt-format
 msgid "Exposure Time : %1"
-msgstr ""
+msgstr "Vreme ekspozicije: %1"
 
 #: MediaInfoPopover.qml:20
 #, qt-format
 msgid "F. Number : %1"
-msgstr ""
+msgstr "F. Broj: %1"
 
 #: MediaInfoPopover.qml:21
 #, qt-format
 msgid "Sub-File type : %1"
-msgstr ""
+msgstr "Tip pod-datoteke: %1"
 
 #: MediaInfoPopover.qml:43
 msgid "Media Information"
-msgstr ""
+msgstr "Informacije o medijima"
 
 #: MediaInfoPopover.qml:48
 #, qt-format
 msgid "Name : %1"
-msgstr ""
+msgstr "Ime : %1"
 
 #: MediaInfoPopover.qml:51
 #, qt-format
 msgid "Type : %1"
-msgstr ""
+msgstr "Tip: %1"
 
 #: MediaInfoPopover.qml:83
 #, qt-format
 msgid "With Flash : %1"
-msgstr ""
+msgstr "Sa Flashom: %1"
 
 #: MediaInfoPopover.qml:83
 msgid "Yes"
-msgstr ""
+msgstr "Da"
 
 #: MediaInfoPopover.qml:83
 msgid "No"
-msgstr ""
+msgstr "Ne"
 
 #: NoSpaceHint.qml:33
 msgid "No space left on device, free up space to continue."
@@ -331,28 +335,27 @@
 
 #: SlideshowView.qml:62
 msgid "Image Info"
-msgstr ""
+msgstr "Informacija slike"
 
 #: SlideshowView.qml:98
 msgid "Edit"
 msgstr "Уреди"
 
 #: SlideshowView.qml:477
-#, fuzzy
 msgid "Back to Photo roll"
-msgstr "Преглед снимака"
+msgstr "Nazad na foto rolnu"
 
 #: UnableShareDialog.qml:25
 msgid "Unable to share"
-msgstr ""
+msgstr "ne mogu da podelim"
 
 #: UnableShareDialog.qml:26
 msgid "Unable to share photos and videos at the same time"
-msgstr ""
+msgstr "Nije moguće istovremeno deliti fotografije i video zapise"
 
 #: UnableShareDialog.qml:30
 msgid "Ok"
-msgstr ""
+msgstr "Ok"
 
 #: ViewFinderOverlay.qml:469 ViewFinderOverlay.qml:492
 #: ViewFinderOverlay.qml:520 ViewFinderOverlay.qml:543
@@ -388,9 +391,8 @@
 msgstr "Добар квалитет"
 
 #: ViewFinderOverlay.qml:600
-#, fuzzy
 msgid "High Quality"
-msgstr "Добар квалитет"
+msgstr "Visok kvalitet"
 
 #: ViewFinderOverlay.qml:605
 msgid "Normal Quality"
@@ -415,7 +417,7 @@
 
 #: ViewFinderOverlay.qml:700
 msgid "Vibrate"
-msgstr ""
+msgstr "Vibracija"
 
 #: ViewFinderOverlay.qml:1200
 msgid "Low storage space"
@@ -431,7 +433,7 @@
 
 #: ViewFinderOverlay.qml:1214
 msgid "External storage not writeable"
-msgstr ""
+msgstr "U eksternu memoriju nije moguće pisati"
 
 #: ViewFinderOverlay.qml:1215
 msgid ""
@@ -439,23 +441,25 @@
 "eject and insert it again might solve the issue, or you might need to format "
 "it."
 msgstr ""
+"Čini se da nije moguće pisati na vaš spoljni medij za skladištenje. Pokušaj "
+"da ga izbacite i ponovo umetnete može rešiti problem ili ćete možda morati "
+"da ga formatirate."
 
 #: ViewFinderOverlay.qml:1253
 msgid "Cannot access camera"
 msgstr "Не могу приступити камери"
 
 #: ViewFinderOverlay.qml:1254
-#, fuzzy
 msgid ""
 "Camera app doesn't have permission to access the camera hardware or another "
 "error occurred.\n"
 "\n"
 "If granting permission does not resolve this problem, reboot your device."
 msgstr ""
-"Апликација камере нема овлашћења да приступи хардверу камере или се нека "
-"друга грешка догодила.\n"
+"Ако давање дозволе не реши овај проблем, поново покрените уређај.\n"
 "\n"
-"Ако давање овлашћења не реши проблем, рестартујте телефон."
+"Aplikacija za kameru nema dozvolu za pristup hardveru kamere ili je došlo do "
+"neke druge greške."
 
 #: ViewFinderOverlay.qml:1256
 msgid "Edit Permissions"
@@ -463,17 +467,19 @@
 
 #: ViewFinderView.qml:400
 msgid "Capture failed"
-msgstr ""
+msgstr "Snimanje nije uspelo"
 
 #: ViewFinderView.qml:405
 msgid ""
 "Replacing your external media, formatting it, or restarting the device might "
 "fix the problem."
 msgstr ""
+"Zamena spoljnog medija, njegovo formatiranje ili ponovno pokretanje uređaja "
+"može rešiti problem."
 
 #: ViewFinderView.qml:406
 msgid "Restarting your device might fix the problem."
-msgstr ""
+msgstr "Ponovo pokretanje uređaja može rešiti problem."
 
 #: camera-app.qml:61
 msgid "Flash"
diff -Nru lomiri-camera-app-4.0.7+dfsg/qml/components/PlayIcon.qml lomiri-camera-app-4.0.8+dfsg/qml/components/PlayIcon.qml
--- lomiri-camera-app-4.0.7+dfsg/qml/components/PlayIcon.qml	1970-01-01 01:00:00.000000000 +0100
+++ lomiri-camera-app-4.0.8+dfsg/qml/components/PlayIcon.qml	2025-05-05 10:28:08.000000000 +0200
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2025 UBports Foundation
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+import QtQuick 2.9
+import Lomiri.Components 1.3
+
+Item {
+    id: root
+
+    Rectangle {
+        anchors.fill: parent
+        radius: width / 2
+        color: "black"
+        opacity: 0.6
+    }
+
+    Icon {
+        width: parent.width * 0.8
+        height: width
+        anchors.centerIn: parent
+        name: "media-playback-start"
+        color: "white"
+        asynchronous: true
+    }
+}
diff -Nru lomiri-camera-app-4.0.7+dfsg/SlideshowView.qml lomiri-camera-app-4.0.8+dfsg/SlideshowView.qml
--- lomiri-camera-app-4.0.7+dfsg/SlideshowView.qml	2025-01-31 22:38:21.000000000 +0100
+++ lomiri-camera-app-4.0.8+dfsg/SlideshowView.qml	2025-05-05 10:28:08.000000000 +0200
@@ -1,5 +1,6 @@
 /*
  * Copyright 2014 Canonical Ltd.
+ * Copyright (C) 2025 UBports Foundation
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -307,15 +308,11 @@
                          }
                     }
 
-                    Icon {
-                        width: units.gu(5)
-                        height: units.gu(5)
+                    PlayIcon {
                         anchors.centerIn: parent
-                        name: "media-playback-start"
-                        color: "white"
-                        opacity: 0.8
+                        width: units.gu(7)
+                        height: width
                         visible: media.isVideo
-                        asynchronous: true
                     }
 
                     MouseArea {
diff -Nru lomiri-camera-app-4.0.7+dfsg/VideoReview.qml lomiri-camera-app-4.0.8+dfsg/VideoReview.qml
--- lomiri-camera-app-4.0.7+dfsg/VideoReview.qml	2025-01-31 22:38:21.000000000 +0100
+++ lomiri-camera-app-4.0.8+dfsg/VideoReview.qml	2025-05-05 10:28:08.000000000 +0200
@@ -1,5 +1,6 @@
 /*
  * Copyright 2015 Canonical Ltd.
+ * Copyright (C) 2025 UBports Foundation
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -16,6 +17,7 @@
 
 import QtQuick 2.12
 import Lomiri.Components 1.3
+import "qml/components"
 
 Item {
     property string videoPath
@@ -44,14 +46,10 @@
             running: thumbnail.status == Image.Loading
         }
 
-        Icon {
-            width: units.gu(5)
-            height: units.gu(5)
+        PlayIcon {
             anchors.centerIn: parent
-            name: "media-playback-start"
-            color: "white"
-            opacity: 0.8
-            asynchronous: true
+            width: units.gu(7)
+            height: width
         }
 
         MouseArea {
diff -Nru lomiri-camera-app-4.0.7+dfsg/ViewFinderOverlay.qml lomiri-camera-app-4.0.8+dfsg/ViewFinderOverlay.qml
--- lomiri-camera-app-4.0.7+dfsg/ViewFinderOverlay.qml	2025-01-31 22:38:21.000000000 +0100
+++ lomiri-camera-app-4.0.8+dfsg/ViewFinderOverlay.qml	2025-05-05 10:28:08.000000000 +0200
@@ -48,6 +48,7 @@
 
         property int flashMode: Camera.FlashAuto
         property bool gpsEnabled: false
+        property bool hasEXIF: false // Should it even be enabled by default?
         property bool hdrEnabled: false
         property bool videoFlashOn: false
         // Left for compatibility
@@ -87,6 +88,8 @@
         onPhotoResolutionsChanged: updateViewfinderResolution();
         onVideoResolutionsChanged: updateViewfinderResolution();
 
+        onGpsEnabledChanged: if(gpsEnabled&&!hasEXIF)hasEXIF = true;
+        onHasEXIFChanged: if(gpsEnabled&&!hasEXIF)gpsEnabled = false;
         onFlashModeChanged: if (flashMode != Camera.FlashOff) hdrEnabled = false;
         onHdrEnabledChanged: if (hdrEnabled) flashMode = Camera.FlashOff
     }
@@ -107,6 +110,12 @@
 
     Binding {
         target: camera.advanced
+        property: "hasEXIF"
+        value: settings.hasEXIF
+    }
+
+    Binding {
+        target: camera.advanced
         property: "hdrEnabled"
         value: settings.hdrEnabled
     }
@@ -720,6 +729,33 @@
                     property bool available: true
                     property bool visible: camera.captureMode == Camera.CaptureStillImage
                     property bool showInIndicators: false
+                },
+                ListModel {
+                    id: photoEXIFSettingsModel
+
+                    function setSettingProperty(value) {
+                        settings.hasEXIF = value;
+                    }
+
+                    property string settingsProperty: "hasEXIF"
+                    property string icon: ""
+                    property string label: ""
+                    property bool isToggle: true
+                    property int selectedIndex: bottomEdge.indexForValue(photoEXIFSettingsModel, settings.hasEXIF)
+                    property bool available: true
+                    property bool visible: camera.captureMode === Camera.CaptureStillImage
+                    property bool showInIndicators: false
+
+                    ListElement {
+                        icon: "private-browsing-exit"
+                        label: QT_TR_NOOP("Save device info")
+                        value: true
+                    }
+                    ListElement {
+                        icon: "private-browsing"
+                        label: QT_TR_NOOP("No device info")
+                        value: false
+                    }
                 }
             ]
 
@@ -889,7 +925,7 @@
                 camera.imageCapture.setMetadata("Orientation", orientation);
                 camera.imageCapture.setMetadata("Date", new Date());
                 var position = positionSource.position;
-                if (settings.gpsEnabled && positionSource.isPrecise) {
+                if (settings.hasEXIF && settings.gpsEnabled && positionSource.isPrecise) {
                     camera.imageCapture.setMetadata("GPSLatitude", position.coordinate.latitude);
                     camera.imageCapture.setMetadata("GPSLongitude", position.coordinate.longitude);
                     camera.imageCapture.setMetadata("GPSTimeStamp", position.timestamp);
@@ -982,6 +1018,10 @@
                 }
             }
             onImageSaved : {
+                if(path &&!settings.hasEXIF)
+                {
+                    postProcessOperations.deleteEXIFdata(path);
+                }
                 if(path && settings.dateStampImages && !main.contentExportMode) {
                     postProcessOperations.addDateStamp(path,
                                                        viewFinderOverlay.settings.dateStampFormat,

Reply to: