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