Your message dated Sun, 01 Jun 2025 11:49:03 +0000
with message-id <e1ulhbx-00217y...@respighi.debian.org>
and subject line unblock lomiri-camera-app
has caused the Debian Bug report #1106856,
regarding unblock: lomiri-camera-app/4.0.8+dfsg-4
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1106856: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1106856
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
X-Debbugs-Cc: lomiri-camera-...@packages.debian.org
Control: affects -1 + src:lomiri-camera-app
User: release.debian....@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 <sunwea...@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 <sunwea...@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 <sunwea...@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 <sunwea...@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 <sunwea...@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 <sunwea...@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 <sunwea...@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_euse...@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_euse...@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 <o...@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 <le0nkl...@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 <le0nkl...@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 <o...@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.gabr...@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.gabr...@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 <trebeln...@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 <m...@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 <s...@li.org>\n"
+"PO-Revision-Date: 2025-03-14 01:41+0000\n"
+"Last-Translator: Niko <nikomo...@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,

--- End Message ---
--- Begin Message ---
Unblocked.

--- End Message ---

Reply via email to