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,