Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package kpkpass for openSUSE:Leap:16.0 
checked in at 2025-04-23 10:10:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:16.0/kpkpass (Old)
 and      /work/SRC/openSUSE:Leap:16.0/.kpkpass.new.30101 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kpkpass"

Wed Apr 23 10:10:13 2025 rev:3 rq:1271746 version:25.04.0

Changes:
--------
--- /work/SRC/openSUSE:Leap:16.0/kpkpass/kpkpass.changes        2025-03-19 
11:48:34.666412753 +0100
+++ /work/SRC/openSUSE:Leap:16.0/.kpkpass.new.30101/kpkpass.changes     
2025-04-23 10:14:06.029959189 +0200
@@ -1,0 +2,85 @@
+Mon Apr 14 07:07:00 UTC 2025 - Christophe Marin <christo...@krop.fr>
+
+- Update to 25.04.0
+  * New feature release
+  * For more details please see:
+  * https://kde.org/announcements/gear/25.04.0/
+- Changes since 25.03.90:
+  * Expand translation catalog UTF-8 encoding workaround detection a bit
+
+-------------------------------------------------------------------
+Sat Mar 29 08:42:45 UTC 2025 - Christophe Marin <christo...@krop.fr>
+
+- Update to 25.03.90
+  * New feature release
+- Changes since 24.12.3:
+  * Add xml/yaml linting
+  * Remove FeatureSummary as we use ECMFeatureSummary
+  * Implement displaying numerical and currency values
+  * Implement reading numerical field values
+  * Add access to the currencyCode field property
+
+-------------------------------------------------------------------
+Tue Mar  4 13:01:16 UTC 2025 - Christophe Marin <christo...@krop.fr>
+
+- Update to 24.12.3
+  * New bugfix release
+  * For more details please see:
+  * https://kde.org/announcements/gear/24.12.3/
+- No code change since 24.12.2
+
+-------------------------------------------------------------------
+Tue Feb  4 12:29:57 UTC 2025 - Christophe Marin <christo...@krop.fr>
+
+- Update to 24.12.2
+  * New bugfix release
+  * For more details please see:
+  * https://kde.org/announcements/gear/24.12.2/
+- No code change since 24.12.1
+
+-------------------------------------------------------------------
+Tue Jan  7 18:53:28 UTC 2025 - Christophe Marin <christo...@krop.fr>
+
+- Update to 24.12.1
+  * New bugfix release
+  * For more details please see:
+  * https://kde.org/announcements/gear/24.12.1/
+- No code change since 24.12.0
+
+-------------------------------------------------------------------
+Sun Dec  8 09:28:02 UTC 2024 - Christophe Marin <christo...@krop.fr>
+
+- Update to 24.12.0
+  * New feature release
+  * For more details please see:
+  * https://kde.org/announcements/gear/24.12.0/
+- No code change since 24.11.90
+
+-------------------------------------------------------------------
+Mon Dec  2 08:43:32 UTC 2024 - Christophe Marin <christo...@krop.fr>
+
+- Update to 24.11.90
+  * New feature release
+- No code change since 24.11.80
+
+-------------------------------------------------------------------
+Sat Nov 16 17:30:11 UTC 2024 - Christophe Marin <christo...@krop.fr>
+
+- Update to 24.11.80
+  * New feature release
+- Changes since 24.08.3:
+  * Don't include quiet packages in feature_summary
+  * Reformat code with clang-format
+  * Reduce list of files
+  * Use ECMCheckOutboundLicense
+
+-------------------------------------------------------------------
+Tue Nov  5 10:43:45 UTC 2024 - Christophe Marin <christo...@krop.fr>
+
+- Update to 24.08.3
+  * New bugfix release
+  * For more details please see:
+  * https://kde.org/announcements/gear/24.08.3/
+- No code change since 24.08.2
+
+-------------------------------------------------------------------

Old:
----
  kpkpass-24.08.2.tar.xz
  kpkpass-24.08.2.tar.xz.sig

New:
----
  kpkpass-25.04.0.tar.xz
  kpkpass-25.04.0.tar.xz.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ kpkpass.spec ++++++
--- /var/tmp/diff_new_pack.2e6ukh/_old  2025-04-23 10:14:06.829992645 +0200
+++ /var/tmp/diff_new_pack.2e6ukh/_new  2025-04-23 10:14:06.829992645 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package kpkpass
 #
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2025 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,12 +16,12 @@
 #
 
 
-%define kf6_version 6.3.0
+%define kf6_version 6.6.0
 %define qt6_version 6.6.0
 
 %bcond_without released
 Name:           kpkpass
-Version:        24.08.2
+Version:        25.04.0
 Release:        0
 Summary:        Library to parse Passbook files
 License:        LGPL-2.1-or-later


++++++ kpkpass-24.08.2.tar.xz -> kpkpass-25.04.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-24.08.2/.codespellrc.license 
new/kpkpass-25.04.0/.codespellrc.license
--- old/kpkpass-24.08.2/.codespellrc.license    2024-09-12 13:23:30.000000000 
+0200
+++ new/kpkpass-25.04.0/.codespellrc.license    2025-03-28 20:13:43.000000000 
+0100
@@ -1,2 +1,2 @@
-# SPDX-FileCopyrightText: 2022-2024 Laurent Montel <mon...@kde.org>
+# SPDX-FileCopyrightText: 2022-2025 Laurent Montel <mon...@kde.org>
 # SPDX-License-Identifier: CC0-1.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-24.08.2/.gitignore 
new/kpkpass-25.04.0/.gitignore
--- old/kpkpass-24.08.2/.gitignore      2024-09-12 13:23:30.000000000 +0200
+++ new/kpkpass-25.04.0/.gitignore      2025-03-28 20:13:43.000000000 +0100
@@ -29,3 +29,4 @@
 .cache
 Testing/
 /.vscode/
+.qtcreator/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-24.08.2/.gitlab-ci.yml 
new/kpkpass-25.04.0/.gitlab-ci.yml
--- old/kpkpass-24.08.2/.gitlab-ci.yml  2024-09-12 13:23:30.000000000 +0200
+++ new/kpkpass-25.04.0/.gitlab-ci.yml  2025-03-28 20:13:43.000000000 +0100
@@ -1,12 +1,16 @@
-# SPDX-FileCopyrightText: 2020-2024 Laurent Montel <mon...@kde.org>
+# SPDX-FileCopyrightText: 2020-2025 Laurent Montel <mon...@kde.org>
 # SPDX-License-Identifier: CC0-1.0
 
 include:
   - project: sysadmin/ci-utilities
     file:
       - /gitlab-templates/linux-qt6.yml
+      - /gitlab-templates/linux-qt6-next.yml
+      - /gitlab-templates/json-validation.yml
       - /gitlab-templates/freebsd-qt6.yml
       - /gitlab-templates/windows-qt6.yml
       - /gitlab-templates/android-qt6.yml
       - /gitlab-templates/reuse-lint.yml
       - /gitlab-templates/cppcheck.yml
+      - /gitlab-templates/xml-lint.yml
+      - /gitlab-templates/yaml-lint.yml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-24.08.2/.kde-ci.yml 
new/kpkpass-25.04.0/.kde-ci.yml
--- old/kpkpass-24.08.2/.kde-ci.yml     2024-09-12 13:23:30.000000000 +0200
+++ new/kpkpass-25.04.0/.kde-ci.yml     2025-03-28 20:13:43.000000000 +0100
@@ -2,10 +2,10 @@
 # SPDX-License-Identifier: CC0-1.0
 
 Dependencies:
-- 'on': ['Linux', 'FreeBSD', 'Windows', 'Android']
-  'require':
+ - 'on': ['Linux', 'FreeBSD', 'Windows', 'Android']
+   'require':
     'frameworks/extra-cmake-modules': '@latest-kf6'
-    'frameworks/karchive' : '@latest-kf6'
+    'frameworks/karchive': '@latest-kf6'
 
 Options:
-  require-passing-tests-on: [ 'Linux', 'FreeBSD', 'Windows' ]
+ require-passing-tests-on: ['Linux', 'FreeBSD', 'Windows']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-24.08.2/CMakeLists.txt 
new/kpkpass-25.04.0/CMakeLists.txt
--- old/kpkpass-24.08.2/CMakeLists.txt  2024-09-12 13:23:30.000000000 +0200
+++ new/kpkpass-25.04.0/CMakeLists.txt  2025-03-28 20:13:43.000000000 +0100
@@ -1,13 +1,13 @@
-# SPDX-FileCopyrightText: 2018-2020 Volker Krause <vkra...@kde.org>
-# SPDX-FileCopyrightText: 2018-2024 Laurent Montel <mon...@kde.org>
+# SPDX-FileCopyrightText: 2017-2020 Volker Krause <vkra...@kde.org>
+# SPDX-FileCopyrightText: 2018-2025 Laurent Montel <mon...@kde.org>
 # SPDX-License-Identifier: BSD-3-Clause
 
 cmake_minimum_required(VERSION 3.16 FATAL_ERROR)
-set(PIM_VERSION "6.2.2")
+set(PIM_VERSION "6.4.0")
 project(KPkPass VERSION ${PIM_VERSION})
 
-set(KF_MIN_VERSION "6.3.0")
-set(QT_REQUIRED_VERSION "6.6.0")
+set(KF_MIN_VERSION "6.9.0")
+set(QT_REQUIRED_VERSION "6.7.0")
 find_package(ECM ${KF_MIN_VERSION} REQUIRED NO_MODULE)
 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
 set(CMAKE_CXX_STANDARD 20)
@@ -19,14 +19,28 @@
 include(ECMDeprecationSettings)
 include(ECMFeatureSummary)
 include(ECMSetupVersion)
-include(FeatureSummary)
 include(KDEGitCommitHooks)
 include(KDEClangFormat)
-file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h *.c)
+file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES
+src/*.cpp
+src/*.h
+autotests/*.cpp
+autotests/*.h
+)
 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES})
 include(KDEInstallDirs)
 include(KDECMakeSettings)
 include(ECMGenerateExportHeader)
+
+include(ECMCheckOutboundLicense)
+file(GLOB_RECURSE ALL_SOURCE_FILES
+src/*.cpp
+src/*.h
+autotests/*.cpp
+autotests/*.h
+)
+ecm_check_outbound_license(LICENSES GPL-2.0-only  FILES ${ALL_SOURCE_FILES})
+
 include(ECMAddQch)
 
 
@@ -47,7 +61,7 @@
 endif()
 
 add_definitions(-DQT_NO_CONTEXTLESS_CONNECT)
-ecm_set_disabled_deprecation_versions(QT 6.7.2 KF 6.4.0)
+ecm_set_disabled_deprecation_versions(QT 6.9.0 KF 6.12.0)
 
 
 
@@ -64,7 +78,7 @@
 endif()
 
 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)
-ecm_feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES 
FATAL_ON_MISSING_REQUIRED_PACKAGES)
+ecm_feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
 
 
 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KPim6PkPass")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-24.08.2/CMakePresets.json 
new/kpkpass-25.04.0/CMakePresets.json
--- old/kpkpass-24.08.2/CMakePresets.json       2024-09-12 13:23:30.000000000 
+0200
+++ new/kpkpass-25.04.0/CMakePresets.json       2025-03-28 20:13:43.000000000 
+0100
@@ -120,18 +120,6 @@
             ]
         },
         {
-            "name": "pch",
-            "displayName": "pch",
-            "cacheVariables": {
-                "CMAKE_BUILD_TYPE": "Debug",
-                "USE_PRECOMPILED_HEADERS": "ON",
-                "BUILD_COVERAGE": "ON"
-            },
-            "inherits": [
-                "base"
-            ]
-        },
-        {
             "name": "ftime-trace",
             "displayName": "ftime-trace",
             "cacheVariables": {
@@ -168,10 +156,6 @@
             "configurePreset": "dev-clang"
         },
         {
-            "name": "pch",
-            "configurePreset": "pch"
-        },
-        {
             "name": "release",
             "configurePreset": "release"
         },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-24.08.2/CMakePresets.json.license 
new/kpkpass-25.04.0/CMakePresets.json.license
--- old/kpkpass-24.08.2/CMakePresets.json.license       2024-09-12 
13:23:30.000000000 +0200
+++ new/kpkpass-25.04.0/CMakePresets.json.license       2025-03-28 
20:13:43.000000000 +0100
@@ -1,2 +1,2 @@
-# SPDX-FileCopyrightText: 2021-2024 Laurent Montel <mon...@kde.org>
+# SPDX-FileCopyrightText: 2021-2025 Laurent Montel <mon...@kde.org>
 # SPDX-License-Identifier: BSD-3-Clause
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-24.08.2/KPimPkPassConfig.cmake.in 
new/kpkpass-25.04.0/KPimPkPassConfig.cmake.in
--- old/kpkpass-24.08.2/KPimPkPassConfig.cmake.in       2024-09-12 
13:23:30.000000000 +0200
+++ new/kpkpass-25.04.0/KPimPkPassConfig.cmake.in       2025-03-28 
20:13:43.000000000 +0100
@@ -1,6 +1,6 @@
 # SPDX-FileCopyrightText: 2018 Volker Krause <vkra...@kde.org>
 # SPDX-FileCopyrightText: 2018 Jonathan Riddell <j...@jriddell.org>
-# SPDX-FileCopyrightText: 2019-2024 Laurent Montel <montel.org>
+# SPDX-FileCopyrightText: 2019-2025 Laurent Montel <mon...@kde.org>
 # SPDX-License-Identifier: BSD-3-Clause
 
 @PACKAGE_INIT@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-24.08.2/autotests/CMakeLists.txt 
new/kpkpass-25.04.0/autotests/CMakeLists.txt
--- old/kpkpass-24.08.2/autotests/CMakeLists.txt        2024-09-12 
13:23:30.000000000 +0200
+++ new/kpkpass-25.04.0/autotests/CMakeLists.txt        2025-03-28 
20:13:43.000000000 +0100
@@ -1,5 +1,5 @@
 # SPDX-FileCopyrightText: 2018-2021 Volker Krause <vkra...@kde.org>
-# SPDX-FileCopyrightText: 2021-2024 Laurent Montel <mon...@kde.org>
+# SPDX-FileCopyrightText: 2021-2025 Laurent Montel <mon...@kde.org>
 # SPDX-License-Identifier: BSD-3-Clause
 
 find_package(Qt6Test ${QT_REQUIRED_VERSION} CONFIG REQUIRED)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-24.08.2/metainfo.yaml 
new/kpkpass-25.04.0/metainfo.yaml
--- old/kpkpass-24.08.2/metainfo.yaml   2024-09-12 13:23:30.000000000 +0200
+++ new/kpkpass-25.04.0/metainfo.yaml   2025-03-28 20:13:43.000000000 +0100
@@ -12,7 +12,7 @@
 deprecated: false
 release: true
 libraries:
- - cmake: "KPim6::PkPass"
+    - cmake: "KPim6::PkPass"
 cmakename: KPim6PkPass
 
 public_lib: true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-24.08.2/sanitizers.supp 
new/kpkpass-25.04.0/sanitizers.supp
--- old/kpkpass-24.08.2/sanitizers.supp 2024-09-12 13:23:30.000000000 +0200
+++ new/kpkpass-25.04.0/sanitizers.supp 2025-03-28 20:13:43.000000000 +0100
@@ -1,4 +1,4 @@
-# SPDX-FileCopyrightText: 2021-2024 Laurent Montel <mon...@kde.org>
+# SPDX-FileCopyrightText: 2021-2025 Laurent Montel <mon...@kde.org>
 # SPDX-License-Identifier: CC0-1.0
 # Suppression file for ASAN/LSAN
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-24.08.2/src/CMakeLists.txt 
new/kpkpass-25.04.0/src/CMakeLists.txt
--- old/kpkpass-24.08.2/src/CMakeLists.txt      2024-09-12 13:23:30.000000000 
+0200
+++ new/kpkpass-25.04.0/src/CMakeLists.txt      2025-03-28 20:13:43.000000000 
+0100
@@ -1,5 +1,5 @@
 # SPDX-FileCopyrightText: 2018 Volker Krause <vkra...@kde.org>
-# SPDX-FileCopyrightText: 2019-2024 Laurent Montel <mon...@kde.org>
+# SPDX-FileCopyrightText: 2019-2025 Laurent Montel <mon...@kde.org>
 # SPDX-License-Identifier: BSD-3-Clause
 
 set(KDE_INSTALL_INCLUDEDIR_PIM ${KDE_INSTALL_INCLUDEDIR}/KPim6)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-24.08.2/src/barcode.h 
new/kpkpass-25.04.0/src/barcode.h
--- old/kpkpass-24.08.2/src/barcode.h   2024-09-12 13:23:30.000000000 +0200
+++ new/kpkpass-25.04.0/src/barcode.h   2025-03-28 20:13:43.000000000 +0100
@@ -32,7 +32,13 @@
     Q_PROPERTY(QString messageEncoding READ messageEncoding CONSTANT)
 
 public:
-    enum Format { Invalid, QR, PDF417, Aztec, Code128 };
+    enum Format {
+        Invalid,
+        QR,
+        PDF417,
+        Aztec,
+        Code128
+    };
     Q_ENUM(Format)
 
     Barcode();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-24.08.2/src/boardingpass.h 
new/kpkpass-25.04.0/src/boardingpass.h
--- old/kpkpass-24.08.2/src/boardingpass.h      2024-09-12 13:23:30.000000000 
+0200
+++ new/kpkpass-25.04.0/src/boardingpass.h      2025-03-28 20:13:43.000000000 
+0100
@@ -16,7 +16,13 @@
     Q_OBJECT
     Q_PROPERTY(TransitType transitType READ transitType CONSTANT)
 public:
-    enum TransitType { Air, Boat, Bus, Train, Generic };
+    enum TransitType {
+        Air,
+        Boat,
+        Bus,
+        Train,
+        Generic
+    };
     Q_ENUM(TransitType)
 
     explicit BoardingPass(QObject *parent = nullptr);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-24.08.2/src/field.cpp 
new/kpkpass-25.04.0/src/field.cpp
--- old/kpkpass-24.08.2/src/field.cpp   2024-09-12 13:23:30.000000000 +0200
+++ new/kpkpass-25.04.0/src/field.cpp   2025-03-28 20:13:43.000000000 +0100
@@ -12,6 +12,7 @@
 #include <QJsonObject>
 
 using namespace KPkPass;
+using namespace Qt::Literals;
 
 namespace KPkPass
 {
@@ -58,18 +59,25 @@
     if (!d->pass) {
         return {};
     }
-    auto v = 
d->pass->d->message(d->obj.value(QLatin1StringView("attributedValue")).toString());
-    if (v.isEmpty()) {
-        v = 
d->pass->d->message(d->obj.value(QLatin1StringView("value")).toString());
+    auto v = d->obj.value("attributedValue"_L1);
+    if (v.isUndefined()) {
+        v = d->obj.value("value"_L1);
     }
 
-    const auto dt = QDateTime::fromString(v, Qt::ISODate);
-    if (dt.isValid()) {
-        return dt;
+    if (v.isString()) {
+        const auto s = d->pass->d->message(v.toString());
+        const auto dt = QDateTime::fromString(s, Qt::ISODate);
+        if (dt.isValid()) {
+            return dt;
+        }
+        return s;
+    }
+
+    if (v.isDouble()) {
+        return v.toDouble();
     }
 
-    // TODO number detection
-    return v;
+    return {};
 }
 
 QString Field::valueDisplayString() const
@@ -78,7 +86,7 @@
     // see
     // 
https://developer.apple.com/library/archive/documentation/UserExperience/Reference/PassKit_Bundle/Chapters/FieldDictionary.html#//apple_ref/doc/uid/TP40012026-CH4-SW6
     // however, real-world data doesn't strictly follow that, so we have to 
guess a bit here...
-    if (v.userType() == QMetaType::QDateTime) {
+    if (v.typeId() == QMetaType::QDateTime) {
         const auto dt = v.toDateTime();
         auto fmt = QLocale::ShortFormat;
         const auto dtStyle = 
d->obj.value(QLatin1StringView("dateStyle")).toString();
@@ -92,9 +100,16 @@
 
         return QLocale().toString(dt, fmt);
     }
+    if (v.typeId() == QMetaType::Double) {
+        if (const auto currency = currencyCode(); !currency.isEmpty()) {
+            return QLocale().toCurrencyString(v.toDouble(), currency);
+        }
+
+        // TODO respect number formatting options
+        return QString::number(v.toDouble());
+    }
 
-    // TODO respect number formatting options
-    return value().toString().trimmed();
+    return v.toString().trimmed();
 }
 
 QString Field::changeMessage() const
@@ -120,4 +135,9 @@
     return QGuiApplication::layoutDirection() == Qt::LeftToRight ? 
Qt::AlignLeft : Qt::AlignRight;
 }
 
+QString Field::currencyCode() const
+{
+    return d->obj.value("currencyCode"_L1).toString();
+}
+
 #include "moc_field.cpp"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-24.08.2/src/field.h 
new/kpkpass-25.04.0/src/field.h
--- old/kpkpass-24.08.2/src/field.h     2024-09-12 13:23:30.000000000 +0200
+++ new/kpkpass-25.04.0/src/field.h     2025-03-28 20:13:43.000000000 +0100
@@ -34,6 +34,7 @@
     Q_PROPERTY(QString valueDisplayString READ valueDisplayString CONSTANT)
     Q_PROPERTY(QString changeMessage READ changeMessage CONSTANT)
     Q_PROPERTY(Qt::Alignment textAlignment READ textAlignment CONSTANT)
+    Q_PROPERTY(QString currencyCode READ currencyCode CONSTANT)
 
 public:
     Field();
@@ -63,6 +64,9 @@
     /** Text alignment. */
     [[nodiscard]] Qt::Alignment textAlignment() const;
 
+    /** Currency code. */
+    [[nodiscard]] QString currencyCode() const;
+
 private:
     friend class PassPrivate;
     friend class FieldTest;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-24.08.2/src/pass.cpp 
new/kpkpass-25.04.0/src/pass.cpp
--- old/kpkpass-24.08.2/src/pass.cpp    2024-09-12 13:23:30.000000000 +0200
+++ new/kpkpass-25.04.0/src/pass.cpp    2025-03-28 20:13:43.000000000 +0100
@@ -127,7 +127,7 @@
     // so do a primitive auto-detection here. UTF-16's first byte would either 
be the BOM
     // or \0.
     QString catalog;
-    if (std::ispunct((unsigned char)rawData.at(0))) {
+    if (std::ispunct((unsigned char)rawData.at(0)) || rawData.at(0) == '\n') {
         catalog = QString::fromUtf8(rawData);
     } else {
         auto codec = QStringDecoder(QStringDecoder::Utf16BE);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-24.08.2/src/pass.h 
new/kpkpass-25.04.0/src/pass.h
--- old/kpkpass-24.08.2/src/pass.h      2024-09-12 13:23:30.000000000 +0200
+++ new/kpkpass-25.04.0/src/pass.h      2025-03-28 20:13:43.000000000 +0100
@@ -73,7 +73,13 @@
     ~Pass() override;
 
     /** Type of the pass. */
-    enum Type { BoardingPass, Coupon, EventTicket, Generic, StoreCard };
+    enum Type {
+        BoardingPass,
+        Coupon,
+        EventTicket,
+        Generic,
+        StoreCard
+    };
     Q_ENUM(Type)
     [[nodiscard]] Type type() const;
 

Reply via email to