Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package kmime for openSUSE:Factory checked 
in at 2024-05-27 11:47:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kmime (Old)
 and      /work/SRC/openSUSE:Factory/.kmime.new.24587 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kmime"

Mon May 27 11:47:15 2024 rev:105 rq:1176327 version:24.05.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/kmime/kmime.changes      2024-04-15 
20:18:17.980207712 +0200
+++ /work/SRC/openSUSE:Factory/.kmime.new.24587/kmime.changes   2024-05-27 
11:52:42.602878068 +0200
@@ -1,0 +2,20 @@
+Sun May 19 09:56:27 UTC 2024 - Christophe Marin <christo...@krop.fr>
+
+- Update to 24.05.0
+  * New feature release
+  * For more details please see:
+  * https://kde.org/announcements/gear/24.05.0/
+- No code change since 24.04.80
+
+-------------------------------------------------------------------
+Fri May  3 09:16:12 UTC 2024 - Christophe Marin <christo...@krop.fr>
+
+- Update to 24.04.80
+  * New feature release
+- Changes since 24.02.2:
+  * Use local include
+  * Remove now unused ContentType::setCategory method
+  * Deprecate ContentType::contentCategory
+  * Use a locale for the tests that also works on FreeBSD
+
+-------------------------------------------------------------------

Old:
----
  kmime-24.02.2.tar.xz
  kmime-24.02.2.tar.xz.sig

New:
----
  kmime-24.05.0.tar.xz
  kmime-24.05.0.tar.xz.sig

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

Other differences:
------------------
++++++ kmime.spec ++++++
--- /var/tmp/diff_new_pack.s47hhp/_old  2024-05-27 11:52:44.294940122 +0200
+++ /var/tmp/diff_new_pack.s47hhp/_new  2024-05-27 11:52:44.294940122 +0200
@@ -21,14 +21,14 @@
 
 %bcond_without released
 Name:           kmime
-Version:        24.02.2
+Version:        24.05.0
 Release:        0
 Summary:        KDE PIM libraries MIME support
 License:        LGPL-2.1-or-later
 URL:            https://www.kde.org
-Source:         %{name}-%{version}.tar.xz
+Source0:        
https://download.kde.org/stable/release-service/%{version}/src/%{name}-%{version}.tar.xz
 %if %{with released}
-Source1:        %{name}-%{version}.tar.xz.sig
+Source1:        
https://download.kde.org/stable/release-service/%{version}/src/%{name}-%{version}.tar.xz.sig
 Source2:        applications.keyring
 %endif
 BuildRequires:  doxygen


++++++ kmime-24.02.2.tar.xz -> kmime-24.05.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kmime-24.02.2/.gitignore new/kmime-24.05.0/.gitignore
--- old/kmime-24.02.2/.gitignore        2024-04-09 05:18:52.000000000 +0200
+++ new/kmime-24.05.0/.gitignore        2024-05-11 15:40:03.000000000 +0200
@@ -27,3 +27,4 @@
 /cmake-build*
 .cache
 Testing/
+/.vscode/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kmime-24.02.2/CMakeLists.txt 
new/kmime-24.05.0/CMakeLists.txt
--- old/kmime-24.02.2/CMakeLists.txt    2024-04-09 05:18:52.000000000 +0200
+++ new/kmime-24.05.0/CMakeLists.txt    2024-05-11 15:40:03.000000000 +0200
@@ -1,10 +1,10 @@
 cmake_minimum_required(VERSION 3.16 FATAL_ERROR)
-set(PIM_VERSION "6.0.2")
+set(PIM_VERSION "6.1.0")
 
 project(KMime VERSION ${PIM_VERSION})
 
 # ECM setup
-set(KF_MIN_VERSION "5.246.0")
+set(KF_MIN_VERSION "6.0.0")
 
 find_package(ECM ${KF_MIN_VERSION} CONFIG REQUIRED)
 set(CMAKE_MODULE_PATH ${KMime_SOURCE_DIR}/cmake ${ECM_MODULE_PATH})
@@ -20,6 +20,7 @@
 include(FeatureSummary)
 include(ECMQtDeclareLoggingCategory)
 include(ECMDeprecationSettings)
+include(ECMFeatureSummary)
 include(ECMAddQch)
 
 set(KMIME_LIB_VERSION ${PIM_VERSION})
@@ -42,7 +43,7 @@
 find_package(KF6Codecs ${KF_MIN_VERSION} CONFIG REQUIRED)
 add_definitions(-DTRANSLATION_DOMAIN=\"libkmime6\")
 add_definitions(-DQT_NO_CONTEXTLESS_CONNECT)
-ecm_set_disabled_deprecation_versions(QT 6.6.0  KF 5.248.0)
+ecm_set_disabled_deprecation_versions(QT 6.7.0  KF 6.1.0)
 
 option(USE_UNITY_CMAKE_SUPPORT "Use UNITY cmake support (speedup compile 
time)" OFF)
 
@@ -99,4 +100,4 @@
     )
 
 ki18n_install(po)
-feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
+ecm_feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kmime-24.02.2/autotests/attachmenttest.cpp 
new/kmime-24.05.0/autotests/attachmenttest.cpp
--- old/kmime-24.02.2/autotests/attachmenttest.cpp      2024-04-09 
05:18:52.000000000 +0200
+++ new/kmime-24.05.0/autotests/attachmenttest.cpp      2024-05-11 
15:40:03.000000000 +0200
@@ -11,8 +11,8 @@
 
 #include "attachmenttest.h"
 
-#include <kmime_util.h>
-#include <kmime_message.h>
+#include "kmime_util.h"
+#include "kmime_message.h"
 
 using namespace KMime;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kmime-24.02.2/autotests/contentindextest.cpp 
new/kmime-24.05.0/autotests/contentindextest.cpp
--- old/kmime-24.02.2/autotests/contentindextest.cpp    2024-04-09 
05:18:52.000000000 +0200
+++ new/kmime-24.05.0/autotests/contentindextest.cpp    2024-05-11 
15:40:03.000000000 +0200
@@ -6,8 +6,8 @@
 
 #include "contentindextest.h"
 
-#include <kmime_content.h>
-#include <kmime_contentindex.h>
+#include "kmime_content.h"
+#include "kmime_contentindex.h"
 
 using namespace KMime;
 
@@ -20,9 +20,9 @@
     KMime::ContentIndex ci;
     QCOMPARE(ci.toString(), QString());
     ci.push(1);
-    QCOMPARE(ci.toString(), QLatin1String("1"));
+    QCOMPARE(ci.toString(), QLatin1StringView("1"));
     ci.push(2);
-    QCOMPARE(ci.toString(), QLatin1String("2.1"));
+    QCOMPARE(ci.toString(), QLatin1StringView("2.1"));
 }
 
 void ContentIndexTest::testFromString()
@@ -81,10 +81,10 @@
     ci.push(1);
     ci.push(2);
     ci.push(3);
-    QCOMPARE(ci.toString(), QLatin1String("3.2.1"));
+    QCOMPARE(ci.toString(), QLatin1StringView("3.2.1"));
     QCOMPARE(ci.pop(), 3u);
     QCOMPARE(ci.up(), 1u);
-    QCOMPARE(ci.toString(), QLatin1String("2"));
+    QCOMPARE(ci.toString(), QLatin1StringView("2"));
 }
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kmime-24.02.2/autotests/contenttest.cpp 
new/kmime-24.05.0/autotests/contenttest.cpp
--- old/kmime-24.02.2/autotests/contenttest.cpp 2024-04-09 05:18:52.000000000 
+0200
+++ new/kmime-24.05.0/autotests/contenttest.cpp 2024-05-11 15:40:03.000000000 
+0200
@@ -9,9 +9,9 @@
 #include <QDebug>
 #include <QTest>
 
-#include <kmime_content.h>
-#include <kmime_headers.h>
-#include <kmime_message.h>
+#include "kmime_content.h"
+#include "kmime_headers.h"
+#include "kmime_message.h"
 using namespace KMime;
 
 QTEST_MAIN(ContentTest)
@@ -251,7 +251,8 @@
     const QStringList lines = 
QString::fromLatin1(content).split(QStringLiteral("\r\n"));
     for (const QString &line : lines) {
         QEXPECT_FAIL("", "KMime does not fold lines longer than 998 
characters", Continue);
-        QVERIFY(line.length() < 998 && !line.isEmpty() && line != 
QLatin1String("body"));
+        QVERIFY(line.length() < 998 && !line.isEmpty() &&
+                line != QLatin1StringView("body"));
         // The test should be (after the expected failure disappears):
         //QVERIFY( line.length() < 998 );
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kmime-24.02.2/autotests/dateformattertest.cpp 
new/kmime-24.05.0/autotests/dateformattertest.cpp
--- old/kmime-24.02.2/autotests/dateformattertest.cpp   2024-04-09 
05:18:52.000000000 +0200
+++ new/kmime-24.05.0/autotests/dateformattertest.cpp   2024-05-11 
15:40:03.000000000 +0200
@@ -30,7 +30,8 @@
         QCOMPARE(f.dateString(dt), u"Yesterday 12:34 PM");
 
         dt.setDate(dt.date().addDays(-1));
-        QVERIFY(f.dateString(dt).startsWith(QLocale::c().toString(dt, 
QLatin1String("dddd"))));
+        QVERIFY(f.dateString(dt).startsWith(
+            QLocale::c().toString(dt, QLatin1StringView("dddd"))));
     }
 
     void testLocalizedFormat()
@@ -38,7 +39,8 @@
         DateFormatter f(DateFormatter::Localized);
 
         auto dt = QDateTime(QDate(2015, 5, 26), QTime(12, 34, 56));
-        QCOMPARE(f.dateString(dt, QLatin1String("de")), 
QString::fromLatin1("26.05.15 12:34"));
+        QCOMPARE(f.dateString(dt, QLatin1StringView("de")),
+                 QString::fromLatin1("26.05.15 12:34"));
     }
 
     void testFormat_data()
@@ -65,7 +67,7 @@
         DateFormatter f(DateFormatter::Custom);
         f.setCustomFormat(QStringLiteral("hh:mm Z"));
         auto dt = QDateTime(QDate(2023, 11, 18), QTime(17, 34, 56), 
QTimeZone("Europe/Brussels"));
-        QCOMPARE(f.dateString(dt), QLatin1String("17:34 +0100"));
+        QCOMPARE(f.dateString(dt), QLatin1StringView("17:34 +0100"));
     }
 };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kmime-24.02.2/autotests/headerfactorytest.cpp 
new/kmime-24.05.0/autotests/headerfactorytest.cpp
--- old/kmime-24.02.2/autotests/headerfactorytest.cpp   2024-04-09 
05:18:52.000000000 +0200
+++ new/kmime-24.05.0/autotests/headerfactorytest.cpp   2024-05-11 
15:40:03.000000000 +0200
@@ -10,8 +10,8 @@
 
 #include <QTest>
 
-#include <kmime_headerfactory_p.h>
-#include <kmime_headers.h>
+#include "kmime_headerfactory_p.h"
+#include "kmime_headers.h"
 
 using namespace KMime;
 using namespace KMime::Headers;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kmime-24.02.2/autotests/headertest.cpp 
new/kmime-24.05.0/autotests/headertest.cpp
--- old/kmime-24.02.2/autotests/headertest.cpp  2024-04-09 05:18:52.000000000 
+0200
+++ new/kmime-24.05.0/autotests/headertest.cpp  2024-05-11 15:40:03.000000000 
+0200
@@ -8,7 +8,7 @@
 
 #include <QTest>
 
-#include <kmime_headers.h>
+#include "kmime_headers.h"
 
 using namespace KMime;
 using namespace KMime::Headers;
@@ -85,9 +85,9 @@
     QCOMPARE(h->addresses().count(), 1);
     QCOMPARE(h->addresses().first(), QByteArray("j...@where.test"));
     QCOMPARE(h->displayNames().count(), 1);
-    QCOMPARE(h->displayNames().first(), QLatin1String("j...@where.test"));
-    QCOMPARE(h->displayString(), QLatin1String("j...@where.test"));
-    QCOMPARE(h->asUnicodeString(), QLatin1String("j...@where.test"));
+    QCOMPARE(h->displayNames().first(), QLatin1StringView("j...@where.test"));
+    QCOMPARE(h->displayString(), QLatin1StringView("j...@where.test"));
+    QCOMPARE(h->asUnicodeString(), QLatin1StringView("j...@where.test"));
 
     // clearing a header
     h->clear();
@@ -99,9 +99,10 @@
     h->from7BitString("Pete <pete@silly.example>");
     QCOMPARE(h->addresses().count(), 1);
     QCOMPARE(h->addresses().first(), QByteArray("pete@silly.example"));
-    QCOMPARE(h->displayNames().first(), QLatin1String("Pete"));
-    QCOMPARE(h->displayString(), QLatin1String("Pete"));
-    QCOMPARE(h->asUnicodeString(), QLatin1String("Pete <pete@silly.example>"));
+    QCOMPARE(h->displayNames().first(), QLatin1StringView("Pete"));
+    QCOMPARE(h->displayString(), QLatin1StringView("Pete"));
+    QCOMPARE(h->asUnicodeString(),
+             QLatin1StringView("Pete <pete@silly.example>"));
     QCOMPARE(h->as7BitString(false), QByteArray("Pete <pete@silly.example>"));
     delete h;
 
@@ -110,8 +111,9 @@
     h->from7BitString("jdoe@machine.example (John Doe)");
     QCOMPARE(h->addresses().count(), 1);
     QCOMPARE(h->addresses().first(), QByteArray("jdoe@machine.example"));
-    QCOMPARE(h->displayNames().first(), QLatin1String("John Doe"));
-    QCOMPARE(h->asUnicodeString(), QLatin1String("John Doe 
<jdoe@machine.example>"));
+    QCOMPARE(h->displayNames().first(), QLatin1StringView("John Doe"));
+    QCOMPARE(h->asUnicodeString(),
+             QLatin1StringView("John Doe <jdoe@machine.example>"));
     delete h;
 
     // parsing and re-assembling list of different addresses
@@ -119,10 +121,11 @@
     h->from7BitString("Mary Smith <m...@x.test>, j...@example.org, Who? 
<o...@y.test>");
     QCOMPARE(h->addresses().count(), 3);
     QStringList names = h->displayNames();
-    QCOMPARE(names.takeFirst(), QLatin1String("Mary Smith"));
-    QCOMPARE(names.takeFirst(), QLatin1String("j...@example.org"));
-    QCOMPARE(names.takeFirst(), QLatin1String("Who?"));
-    QCOMPARE(h->displayString(), QLatin1String("Mary Smith, j...@example.org, 
Who?"));
+    QCOMPARE(names.takeFirst(), QLatin1StringView("Mary Smith"));
+    QCOMPARE(names.takeFirst(), QLatin1StringView("j...@example.org"));
+    QCOMPARE(names.takeFirst(), QLatin1StringView("Who?"));
+    QCOMPARE(h->displayString(),
+             QLatin1StringView("Mary Smith, j...@example.org, Who?"));
     QCOMPARE(h->as7BitString(false), QByteArray("Mary Smith <m...@x.test>, 
j...@example.org, Who? <o...@y.test>"));
     delete h;
 
@@ -131,9 +134,9 @@
     h->from7BitString(R"("Joe Q. Public" <john.q.pub...@example.com>, 
<b...@nil.test>, "Giant; \"Big\" Box" <sysservi...@example.net>)");
     QCOMPARE(h->addresses().count(), 3);
     names = h->displayNames();
-    QCOMPARE(names.takeFirst(), QLatin1String("Joe Q. Public"));
-    QCOMPARE(names.takeFirst(), QLatin1String("b...@nil.test"));
-    QCOMPARE(names.takeFirst(), QLatin1String("Giant; \"Big\" Box"));
+    QCOMPARE(names.takeFirst(), QLatin1StringView("Joe Q. Public"));
+    QCOMPARE(names.takeFirst(), QLatin1StringView("b...@nil.test"));
+    QCOMPARE(names.takeFirst(), QLatin1StringView("Giant; \"Big\" Box"));
     QCOMPARE(h->as7BitString(false), QByteArray("\"Joe Q. Public\" 
<john.q.pub...@example.com>, b...@nil.test, \"Giant; \\\"Big\\\" Box\" 
<sysservi...@example.net>"));
     delete h;
 
@@ -184,9 +187,9 @@
     h->from7BitString("A Group:Chris Jones <c...@a.test>,j...@where.test,John 
<j...@one.test>;");
     QCOMPARE(h->addresses().count(), 3);
     names = h->displayNames();
-    QCOMPARE(names.takeFirst(), QLatin1String("Chris Jones"));
-    QCOMPARE(names.takeFirst(), QLatin1String("j...@where.test"));
-    QCOMPARE(names.takeFirst(), QLatin1String("John"));
+    QCOMPARE(names.takeFirst(), QLatin1StringView("Chris Jones"));
+    QCOMPARE(names.takeFirst(), QLatin1StringView("j...@where.test"));
+    QCOMPARE(names.takeFirst(), QLatin1StringView("John"));
     QCOMPARE(h->as7BitString(false), QByteArray("Chris Jones <c...@a.test>, 
j...@where.test, John <j...@one.test>"));
     delete h;
 
@@ -214,11 +217,14 @@
     h->from7BitString("v...@censored.serverkompetenz.net,\n    
presid...@mail2.censored.net;\"Int\\\\\\\\\\\\\\\\\\\\'l\" Lotto Commission. 
<censo...@yahoo.fr>");
     QCOMPARE(h->addresses().count(), 3);
     names = h->displayNames();
-    QCOMPARE(names.takeFirst(), 
QLatin1String("v...@censored.serverkompetenz.net"));
-    QCOMPARE(names.takeFirst(), QLatin1String("presid...@mail2.censored.net"));
+    QCOMPARE(names.takeFirst(),
+             QLatin1StringView("v...@censored.serverkompetenz.net"));
+    QCOMPARE(names.takeFirst(),
+             QLatin1StringView("presid...@mail2.censored.net"));
     // there is an wrong ' ' after the name, but since the header is completely
     // broken we can be happy it parses at all...
-    QCOMPARE(names.takeFirst(), QLatin1String("Int\\\\\\\\\\'l Lotto 
Commission. "));
+    QCOMPARE(names.takeFirst(),
+             QLatin1StringView("Int\\\\\\\\\\'l Lotto Commission. "));
     auto addrs = h->addresses();
     QCOMPARE(addrs.takeFirst(), 
QByteArray("v...@censored.serverkompetenz.net"));
     QCOMPARE(addrs.takeFirst(), QByteArray("presid...@mail2.censored.net"));
@@ -230,7 +236,7 @@
     h->from7BitString("\"|<onrad\" <censo...@censored.dy>");
     QCOMPARE(h->addresses().count(), 1);
     QCOMPARE(h->addresses().first(), QByteArray("censo...@censored.dy"));
-    QCOMPARE(h->displayNames().first(), QLatin1String("|<onrad"));
+    QCOMPARE(h->displayNames().first(), QLatin1StringView("|<onrad"));
     QCOMPARE(h->as7BitString(false), QByteArray("\"|<onrad\" 
<censo...@censored.dy>"));
     delete h;
 
@@ -238,7 +244,8 @@
     h = new Headers::Generics::AddressList();
     h->from7BitString("first.n...@domain.tld (first name (nickname))");
     QCOMPARE(h->displayNames().count(), 1);
-    QCOMPARE(h->displayNames().first(), QLatin1String("first name 
(nickname)"));
+    QCOMPARE(h->displayNames().first(),
+             QLatin1StringView("first name (nickname)"));
     QCOMPARE(h->as7BitString(false), QByteArray("\"first name (nickname)\" 
<first.n...@domain.tld>"));
     delete h;
 
@@ -271,17 +278,17 @@
     QCOMPARE(h->addresses().count(), 1);
     QCOMPARE(h->addresses().first(), QByteArray("j...@where.test."));
     QCOMPARE(h->displayNames().count(), 1);
-    QCOMPARE(h->displayNames().first(), QLatin1String("j...@where.test."));
-    QCOMPARE(h->asUnicodeString(), QLatin1String("j...@where.test."));
+    QCOMPARE(h->displayNames().first(), QLatin1StringView("j...@where.test."));
+    QCOMPARE(h->asUnicodeString(), QLatin1StringView("j...@where.test."));
     delete h;
 
     h = new Headers::Generics::AddressList();
     h->from7BitString("Mary Smith <m...@x.test>, j...@example.org., Who? 
<o...@y.test>");
     QCOMPARE(h->addresses().count(), 3);
     names = h->displayNames();
-    QCOMPARE(names.takeFirst(), QLatin1String("Mary Smith"));
-    QCOMPARE(names.takeFirst(), QLatin1String("j...@example.org."));
-    QCOMPARE(names.takeFirst(), QLatin1String("Who?"));
+    QCOMPARE(names.takeFirst(), QLatin1StringView("Mary Smith"));
+    QCOMPARE(names.takeFirst(), QLatin1StringView("j...@example.org."));
+    QCOMPARE(names.takeFirst(), QLatin1StringView("Who?"));
     QCOMPARE(h->as7BitString(false), QByteArray("Mary Smith <m...@x.test>, 
j...@example.org., Who? <o...@y.test>"));
     delete h;
 
@@ -310,16 +317,18 @@
     QCOMPARE(h->addresses().count(), 1);
     QCOMPARE(h->addresses().first(), QByteArray("joe_sm...@where.test"));
     QCOMPARE(h->displayNames().count(), 1);
-    QCOMPARE(h->displayNames().first(), QLatin1String("joe_sm...@where.test"));
-    QCOMPARE(h->displayString(), QLatin1String("joe_sm...@where.test"));
-    QCOMPARE(h->asUnicodeString(), QLatin1String("joe_sm...@where.test"));
+    QCOMPARE(h->displayNames().first(),
+             QLatin1StringView("joe_sm...@where.test"));
+    QCOMPARE(h->displayString(), QLatin1StringView("joe_sm...@where.test"));
+    QCOMPARE(h->asUnicodeString(), QLatin1StringView("joe_sm...@where.test"));
 
     // https://bugzilla.novell.com/show_bug.cgi?id=421057 (but apparently this 
was not the cause of the bug)
     h->from7BitString("fr...@ce.sco (Francesco)");
     QVERIFY(!h->isEmpty());
     QCOMPARE(h->mailboxes().count(), 1);
-    QCOMPARE(h->displayString(), QLatin1String("Francesco"));
-    QCOMPARE(h->asUnicodeString(), QLatin1String("Francesco <fr...@ce.sco>"));
+    QCOMPARE(h->displayString(), QLatin1StringView("Francesco"));
+    QCOMPARE(h->asUnicodeString(),
+             QLatin1StringView("Francesco <fr...@ce.sco>"));
 
     delete h;
 }
@@ -336,8 +345,9 @@
     QCOMPARE(h->addresses().count(), 1);
     QCOMPARE(h->addresses().first(), QByteArray("joe_sm...@where.test"));
     QCOMPARE(h->displayNames().count(), 1);
-    QCOMPARE(h->displayNames().first(), QLatin1String("joe_sm...@where.test"));
-    QCOMPARE(h->asUnicodeString(), QLatin1String("joe_sm...@where.test"));
+    QCOMPARE(h->displayNames().first(),
+             QLatin1StringView("joe_sm...@where.test"));
+    QCOMPARE(h->asUnicodeString(), QLatin1StringView("joe_sm...@where.test"));
 
     // parse single simple address with display name
     h->from7BitString("John Smith <joe_sm...@where.test>");
@@ -345,10 +355,11 @@
     QCOMPARE(h->addresses().count(), 1);
     QCOMPARE(h->addresses().first(), QByteArray("joe_sm...@where.test"));
     QCOMPARE(h->displayNames().count(), 1);
-    QCOMPARE(h->displayNames().first(), QLatin1String("John Smith"));
-    QCOMPARE(h->asUnicodeString(), QLatin1String("John Smith 
<joe_sm...@where.test>"));
+    QCOMPARE(h->displayNames().first(), QLatin1StringView("John Smith"));
+    QCOMPARE(h->asUnicodeString(),
+             QLatin1StringView("John Smith <joe_sm...@where.test>"));
     QCOMPARE(h->mailboxes().first().prettyAddress(Types::Mailbox::QuoteAlways),
-             QLatin1String("\"John Smith\" <joe_sm...@where.test>"));
+             QLatin1StringView("\"John Smith\" <joe_sm...@where.test>"));
 
     // parse quoted display name with \ in it
     h->from7BitString(R"("Lastname\, Firstname" 
<firstname.lastn...@example.com>)");
@@ -356,7 +367,8 @@
     QCOMPARE(h->addresses().count(), 1);
     QCOMPARE(h->addresses().first(), 
QByteArray("firstname.lastn...@example.com"));
     QCOMPARE(h->displayNames().count(), 1);
-    QCOMPARE(h->displayNames().first(), QLatin1String("Lastname, Firstname"));
+    QCOMPARE(h->displayNames().first(),
+             QLatin1StringView("Lastname, Firstname"));
     QCOMPARE(h->asUnicodeString().toLatin1().data(),
              "Lastname, Firstname <firstname.lastn...@example.com>");
     QCOMPARE(h->mailboxes().first().prettyAddress().toLatin1().data(),
@@ -475,15 +487,16 @@
     // empty header
     h = new Parametrized();
     QVERIFY(h->isEmpty());
-    QVERIFY(!h->hasParameter(QLatin1String("foo")));
+    QVERIFY(!h->hasParameter(QLatin1StringView("foo")));
 
     // add a parameter
     h->setParameter(QStringLiteral("filename"), QStringLiteral("bla.jpg"));
     QVERIFY(!h->isEmpty());
-    QVERIFY(h->hasParameter(QLatin1String("filename")));
-    QVERIFY(h->hasParameter(QLatin1String("FiLeNaMe")));
-    QVERIFY(!h->hasParameter(QLatin1String("bla.jpg")));
-    QCOMPARE(h->parameter(QLatin1String("filename")), 
QLatin1String("bla.jpg"));
+    QVERIFY(h->hasParameter(QLatin1StringView("filename")));
+    QVERIFY(h->hasParameter(QLatin1StringView("FiLeNaMe")));
+    QVERIFY(!h->hasParameter(QLatin1StringView("bla.jpg")));
+    QCOMPARE(h->parameter(QLatin1StringView("filename")),
+             QLatin1StringView("bla.jpg"));
     QCOMPARE(h->as7BitString(false), QByteArray("filename=\"bla.jpg\""));
 
     // clear again
@@ -494,14 +507,17 @@
     // parse a parameter list
     h = new Parametrized;
     h->from7BitString("filename=genome.jpeg;\n modification-date=\"Wed, 12 Feb 
1997 16:29:51 -0500\"");
-    QCOMPARE(h->parameter(QLatin1String("filename")), 
QLatin1String("genome.jpeg"));
-    QCOMPARE(h->parameter(QLatin1String("modification-date")), 
QLatin1String("Wed, 12 Feb 1997 16:29:51 -0500"));
+    QCOMPARE(h->parameter(QLatin1StringView("filename")),
+             QLatin1StringView("genome.jpeg"));
+    QCOMPARE(h->parameter(QLatin1StringView("modification-date")),
+             QLatin1StringView("Wed, 12 Feb 1997 16:29:51 -0500"));
     QCOMPARE(h->as7BitString(false), QByteArray("filename=\"genome.jpeg\"; 
modification-date=\"Wed, 12 Feb 1997 16:29:51 -0500\""));
     delete h;
 
     // quoting of whitespaces in parameter value
     h = new Parametrized();
-    h->setParameter(QLatin1String("boundary"), QLatin1String("simple 
boundary"));
+    h->setParameter(QLatin1StringView("boundary"),
+                    QLatin1StringView("simple boundary"));
     QCOMPARE(h->as7BitString(false), QByteArray("boundary=\"simple 
boundary\""));
     delete h;
 
@@ -518,7 +534,7 @@
     QVERIFY(h->isEmpty());
 
     // set some values
-    h->setFilename(QLatin1String("test.jpg"));
+    h->setFilename(QLatin1StringView("test.jpg"));
     QVERIFY(h->isEmpty());
     QVERIFY(h->as7BitString(false).isEmpty());
     h->setDisposition(CDattachment);
@@ -538,7 +554,7 @@
     h = new ContentDisposition;
     h->from7BitString("attachment; filename=genome.jpeg;\n 
modification-date=\"Wed, 12 Feb 1997 16:29:51 -0500\";");
     QCOMPARE(h->disposition(), CDattachment);
-    QCOMPARE(h->filename(), QLatin1String("genome.jpeg"));
+    QCOMPARE(h->filename(), QLatin1StringView("genome.jpeg"));
     delete h;
 
     // TODO: test for case-insensitive disposition value
@@ -632,7 +648,10 @@
     h = new ContentType;
     h->from7BitString("text/plain;\n 
name*0=\"pin_brief_b...@xx.xxx.censored_Konfigkarte.confi\";\n 
name*1=\"guration.txt\"");
     QVERIFY(h->isPlainText());
-    QCOMPARE(h->name(), 
QLatin1String("pin_brief_b...@xx.xxx.censored_Konfigkarte.configuration.txt"));
+    QCOMPARE(
+        h->name(),
+        QLatin1StringView(
+            "pin_brief_b...@xx.xxx.censored_Konfigkarte.configuration.txt"));
     delete h;
 
     // bug #197958 (name of Content-Type sent by Mozilla Thunderbird are not 
parsed -- test case generated with v2.0.0.22)
@@ -733,8 +752,8 @@
     QVERIFY(!h->isEmpty());
     QCOMPARE(h->phrases().count(), 2);
     QStringList phrases = h->phrases();
-    QCOMPARE(phrases.takeFirst(), QLatin1String("foo"));
-    QCOMPARE(phrases.takeFirst(), QLatin1String("bar"));
+    QCOMPARE(phrases.takeFirst(), QLatin1StringView("foo"));
+    QCOMPARE(phrases.takeFirst(), QLatin1StringView("bar"));
     QCOMPARE(h->as7BitString(false), QByteArray("foo, bar"));
 
     // clear header
@@ -756,7 +775,7 @@
     // parse a simple dot atom
     h->from7BitString("1.0 (mime version)");
     QVERIFY(!h->isEmpty());
-    QCOMPARE(h->asUnicodeString(), QLatin1String("1.0"));
+    QCOMPARE(h->asUnicodeString(), QLatin1StringView("1.0"));
 
     // clear again
     h->clear();
@@ -1098,23 +1117,27 @@
     QFETCH(QString, displayName);
     QFETCH(bool, quote);
 
-    const QString addrSpec = QLatin1String("exam...@example.com");
-    const QString mailbox = (quote ? QLatin1String("\"") : QString()) + 
displayName +
-                            (quote ? QLatin1String("\"") : QString()) +
-                            QLatin1String(" <") + addrSpec + 
QLatin1String(">");
+    const QString addrSpec = QLatin1StringView("exam...@example.com");
+    const QString mailbox =
+        (quote ? QLatin1StringView("\"") : QString()) + displayName +
+        (quote ? QLatin1StringView("\"") : QString()) +
+        QLatin1StringView(" <") + addrSpec + QLatin1StringView(">");
 
     auto h = new Headers::Generics::SingleMailbox();
     h->fromUnicodeString(mailbox, "utf-8");
     QCOMPARE(h->displayNames().size(), 1);
-    QCOMPARE(h->displayNames().first().toUtf8(), 
displayName.remove(QLatin1String("\\")).toUtf8());
+    QCOMPARE(h->displayNames().first().toUtf8(),
+             displayName.remove(QLatin1StringView("\\")).toUtf8());
     delete h;
     h = nullptr;
 
     auto h2 = new Headers::Generics::MailboxList();
-    h2->fromUnicodeString(mailbox + QLatin1String(",") + mailbox, "utf-8");
+    h2->fromUnicodeString(mailbox + QLatin1StringView(",") + mailbox, "utf-8");
     QCOMPARE(h2->displayNames().size(), 2);
-    QCOMPARE(h2->displayNames()[0].toUtf8(), 
displayName.remove(QLatin1String("\\")).toUtf8());
-    QCOMPARE(h2->displayNames()[1].toUtf8(), 
displayName.remove(QLatin1String("\\")).toUtf8());
+    QCOMPARE(h2->displayNames()[0].toUtf8(),
+             displayName.remove(QLatin1StringView("\\")).toUtf8());
+    QCOMPARE(h2->displayNames()[1].toUtf8(),
+             displayName.remove(QLatin1StringView("\\")).toUtf8());
     delete h2;
     h2 = nullptr;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kmime-24.02.2/autotests/messagetest.cpp 
new/kmime-24.05.0/autotests/messagetest.cpp
--- old/kmime-24.02.2/autotests/messagetest.cpp 2024-04-09 05:18:52.000000000 
+0200
+++ new/kmime-24.05.0/autotests/messagetest.cpp 2024-05-11 15:40:03.000000000 
+0200
@@ -153,10 +153,10 @@
     msg.setContent(mail.toLatin1());
     msg.parse();
 
-    QCOMPARE(msg.to()->asUnicodeString(), QLatin1String("he...@test.de"));
+    QCOMPARE(msg.to()->asUnicodeString(), QLatin1StringView("he...@test.de"));
     QCOMPARE(msg.from()->asUnicodeString(), QString());
-    QCOMPARE(msg.cc()->asUnicodeString(), QLatin1String("mor...@test.de"));
-    QCOMPARE(msg.subject()->asUnicodeString(), QLatin1String("Test"));
+    QCOMPARE(msg.cc()->asUnicodeString(), QLatin1StringView("mor...@test.de"));
+    QCOMPARE(msg.subject()->asUnicodeString(), QLatin1StringView("Test"));
     QVERIFY(msg.hasHeader("X-Mailer"));
     QVERIFY(msg.headerByType("X-Mailer")->asUnicodeString().isEmpty());
 }
@@ -175,9 +175,10 @@
     msg.setContent(mail.toLatin1());
     msg.parse();
 
-    QCOMPARE(msg.subject()->asUnicodeString(), QLatin1String("Hello World"));
+    QCOMPARE(msg.subject()->asUnicodeString(),
+             QLatin1StringView("Hello World"));
     QCOMPARE(msg.body().data(), "<Body>");
-    QCOMPARE(msg.to()->asUnicodeString(), QLatin1String("t...@test.de"));
+    QCOMPARE(msg.to()->asUnicodeString(), QLatin1StringView("t...@test.de"));
 }
 
 void MessageTest::missingHeadersTest()
@@ -185,10 +186,12 @@
     // Test that the message body is OK even though some headers are missing
     KMime::Message msg;
     const QString body = QStringLiteral("Hi Donald, look at those nice 
pictures I found!\n");
-    const QString content = QLatin1String("From: georgeb...@whitehouse.org\n"
-                                    "To: donaldrumsf...@whitehouse.org\n"
-                                    "Subject: Cute Kittens\n"
-                                    "\n") + body;
+    const QString content =
+        QLatin1StringView("From: georgeb...@whitehouse.org\n"
+                          "To: donaldrumsf...@whitehouse.org\n"
+                          "Subject: Cute Kittens\n"
+                          "\n") +
+        body;
     msg.setContent(content.toLatin1());
     msg.parse();
     msg.assemble();
@@ -241,7 +244,7 @@
     QCOMPARE(attachment->contentID()->as7BitString(false).data(), 
"<jaselka1.docx4AECA1F9@9230725.3CDBB752>");
     Headers::ContentDisposition *cd = attachment->contentDisposition(false);
     QVERIFY(cd);
-    QCOMPARE(cd->filename(), QLatin1String("jaselka 1.docx"));
+    QCOMPARE(cd->filename(), QLatin1StringView("jaselka 1.docx"));
 }
 
 void MessageTest::testBidiSpoofing()
@@ -250,7 +253,9 @@
     //const QString PDF( QChar( 0x202C ) );
 
     const QByteArray senderAndRLO =
-        encodeRFC2047String(QString(QLatin1String("Sender") + RLO + 
QLatin1String(" <sen...@test.org>")), "utf-8");
+        encodeRFC2047String(QString(QLatin1StringView("Sender") + RLO +
+                                    QLatin1StringView(" <sen...@test.org>")),
+                            "utf-8");
 
     // The display name of the "From" has an RLO, make sure the KMime parser 
balances it
     QByteArray data =
@@ -266,7 +271,8 @@
     // instead of adding PDF chars, because of broken KHTML.
     //const QString expectedDisplayName = "\"Sender" + RLO + PDF + "\"";
     const QString expectedDisplayName = QStringLiteral("Sender");
-    const QString expectedMailbox = expectedDisplayName + QLatin1String(" 
<sen...@test.org>");
+    const QString expectedMailbox =
+        expectedDisplayName + QLatin1StringView(" <sen...@test.org>");
     QCOMPARE(msg.from()->addresses().count(), 1);
     QCOMPARE(msg.from()->asUnicodeString(), expectedMailbox);
     QCOMPARE(msg.from()->displayNames().first(), expectedDisplayName);
@@ -293,9 +299,11 @@
     msg.setContent(data);
     msg.parse();
 
-    QCOMPARE(msg.from()->asUnicodeString(), QLatin1String("f...@bar.com"));
-    QCOMPARE(msg.subject()->asUnicodeString(), QLatin1String("UTF-16 Test"));
-    QCOMPARE(msg.decodedText(false, true), QLatin1String("This is UTF-16 
Text."));
+    QCOMPARE(msg.from()->asUnicodeString(), QLatin1StringView("f...@bar.com"));
+    QCOMPARE(msg.subject()->asUnicodeString(),
+             QLatin1StringView("UTF-16 Test"));
+    QCOMPARE(msg.decodedText(false, true),
+             QLatin1StringView("This is UTF-16 Text."));
 
     // Add a new To header, for testings
     auto to = new KMime::Headers::To;
@@ -332,9 +340,12 @@
     msg.setContent(data);
     msg.parse();
 
-    QCOMPARE(msg.decodedText(true, false), QLatin1String("Testing 
Whitespace"));
-    QCOMPARE(msg.decodedText(true, true), QLatin1String("Testing Whitespace"));
-    QCOMPARE(msg.decodedText(false, true), QLatin1String("Testing Whitespace   
\n  \n "));
+    QCOMPARE(msg.decodedText(true, false),
+             QLatin1StringView("Testing Whitespace"));
+    QCOMPARE(msg.decodedText(true, true),
+             QLatin1StringView("Testing Whitespace"));
+    QCOMPARE(msg.decodedText(false, true),
+             QLatin1StringView("Testing Whitespace   \n  \n "));
 
     QByteArray data2 =
         "Subject: Test\n"
@@ -345,9 +356,12 @@
     msg2.setContent(data2);
     msg2.parse();
 
-    QCOMPARE(msg2.decodedText(true, false), QLatin1String("Testing 
Whitespace"));
-    QCOMPARE(msg2.decodedText(true, true), QLatin1String("Testing 
Whitespace"));
-    QCOMPARE(msg2.decodedText(false, true), QLatin1String("Testing Whitespace  
 \n  \n \n\n\n "));
+    QCOMPARE(msg2.decodedText(true, false),
+             QLatin1StringView("Testing Whitespace"));
+    QCOMPARE(msg2.decodedText(true, true),
+             QLatin1StringView("Testing Whitespace"));
+    QCOMPARE(msg2.decodedText(false, true),
+             QLatin1StringView("Testing Whitespace   \n  \n \n\n\n "));
 }
 
 void MessageTest::testInlineImages()
@@ -410,7 +424,8 @@
     QCOMPARE(msg.contents()[0]->contentType()->subType().data(), 
"alternative");
 
     QCOMPARE(msg.contents()[1]->contentType()->isImage(), true);
-    QCOMPARE(msg.contents()[1]->contentType()->name(), 
QLatin1String("inlineimage.png"));
+    QCOMPARE(msg.contents()[1]->contentType()->name(),
+             QLatin1StringView("inlineimage.png"));
     QCOMPARE(msg.contents()[1]->contentID()->identifier().data(), "740439759");
     QCOMPARE(msg.contents()[1]->contentID()->as7BitString(false).data(), 
"<740439759>");
 }
@@ -443,8 +458,11 @@
     KMime::Content *attachedMail =  msg->contents().at(1);
     QCOMPARE(attachedMail->contentType()->mimeType().data(), "message/rfc822");
     QVERIFY(attachedMail->contentDisposition(false));
-    
QVERIFY(attachedMail->contentDisposition()->hasParameter(QLatin1String("filename")));
-    
QVERIFY(attachedMail->contentDisposition()->parameter(QLatin1String("filename")).isEmpty());
+    QVERIFY(attachedMail->contentDisposition()->hasParameter(
+        QLatin1StringView("filename")));
+    QVERIFY(attachedMail->contentDisposition()
+                ->parameter(QLatin1StringView("filename"))
+                .isEmpty());
 }
 
 void MessageTest::testBug223509()
@@ -489,8 +507,10 @@
     QVERIFY(!textContent->bodyIsMessage());
     QVERIFY(!textContent->bodyAsMessage());
     QVERIFY(!textContent->isTopLevel());
-    QCOMPARE(textContent->decodedText(true, true),
-             QLatin1String("Hi Hans!\nLook at this interesting mail I 
forwarded to you!"));
+    QCOMPARE(
+        textContent->decodedText(true, true),
+        QLatin1StringView(
+            "Hi Hans!\nLook at this interesting mail I forwarded to you!"));
     QCOMPARE(textContent->index().toString().toLatin1().data(), "1");
 
     KMime::Content *messageContent = msg->contents().at(1);
@@ -509,7 +529,7 @@
     QVERIFY(!encapsulated->bodyAsMessage());
     QCOMPARE(encapsulated->subject()->as7BitString(false).data(), "Foo");
     QCOMPARE(encapsulated->decodedText(false, false),
-             QLatin1String("This is the encapsulated message body."));
+             QLatin1StringView("This is the encapsulated message body."));
     QCOMPARE(encapsulated.data(), messageContent->bodyAsMessage().data());
     QCOMPARE(encapsulated.data(), messageContent->contents().constFirst());
     QCOMPARE(encapsulated->parent(), messageContent);
@@ -592,11 +612,12 @@
 void MessageTest::testReturnSameMail()
 {
     KMime::Message::Ptr msg = 
readAndParseMail(QStringLiteral("dontchangemail.mbox"));
-    QFile file(QLatin1String(TEST_DATA_DIR) + 
QLatin1String("/mails/dontchangemail.mbox"));
+    QFile file(QLatin1StringView(TEST_DATA_DIR) +
+               QLatin1StringView("/mails/dontchangemail.mbox"));
     QVERIFY(file.open(QIODevice::ReadOnly | QIODevice::Text));
     QByteArray fileContent = file.readAll();
     QCOMPARE(msg->encodedContent(), fileContent);
-    QCOMPARE(msg->decodedText(), QLatin1String(""));
+    QCOMPARE(msg->decodedText(), QLatin1StringView(""));
     KMime::Message msg2;
     msg2.setContent(msg->encodedContent());
     msg2.parse();
@@ -623,10 +644,11 @@
 
 KMime::Message::Ptr MessageTest::readAndParseMail(const QString &mailFile) 
const
 {
-    QFile file(QLatin1String(TEST_DATA_DIR) + QLatin1String("/mails/") + 
mailFile);
-    const bool ok = file.open(QIODevice::ReadOnly);
-    if (!ok) {
-        qWarning() << file.fileName() << "not found";
+  QFile file(QLatin1StringView(TEST_DATA_DIR) + QLatin1StringView("/mails/") +
+             mailFile);
+  const bool ok = file.open(QIODevice::ReadOnly);
+  if (!ok) {
+    qWarning() << file.fileName() << "not found";
     }
     Q_ASSERT(ok);
     const QByteArray data = KMime::CRLFtoLF(file.readAll());
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kmime-24.02.2/autotests/parsedatetimetest.cpp 
new/kmime-24.05.0/autotests/parsedatetimetest.cpp
--- old/kmime-24.02.2/autotests/parsedatetimetest.cpp   2024-04-09 
05:18:52.000000000 +0200
+++ new/kmime-24.05.0/autotests/parsedatetimetest.cpp   2024-05-11 
15:40:03.000000000 +0200
@@ -8,7 +8,7 @@
 
 #include <QTest>
 
-#include <kmime_header_parsing.h>
+#include "kmime_header_parsing.h"
 
 using namespace KMime;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kmime-24.02.2/autotests/rfc2231test.cpp 
new/kmime-24.05.0/autotests/rfc2231test.cpp
--- old/kmime-24.02.2/autotests/rfc2231test.cpp 2024-04-09 05:18:52.000000000 
+0200
+++ new/kmime-24.05.0/autotests/rfc2231test.cpp 2024-05-11 15:40:03.000000000 
+0200
@@ -8,7 +8,7 @@
 
 #include "rfc2231test.h"
 
-#include <kmime_util.h>
+#include "kmime_util.h"
 #include <kmime_codecs.cpp>
 #include <QDebug>
 using namespace KMime;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kmime-24.02.2/autotests/utiltest.cpp 
new/kmime-24.05.0/autotests/utiltest.cpp
--- old/kmime-24.02.2/autotests/utiltest.cpp    2024-04-09 05:18:52.000000000 
+0200
+++ new/kmime-24.05.0/autotests/utiltest.cpp    2024-05-11 15:40:03.000000000 
+0200
@@ -13,7 +13,7 @@
 
 #include <kmime_charfreq.cpp>
 #include <kmime_util_p.cpp>
-#include <kmime_message.h>
+#include "kmime_message.h"
 
 using namespace KMime;
 
@@ -213,7 +213,7 @@
                       << QByteArray(R"("John \"the hacker\" Smith")") << false;
 
     // Test the whole thing on strings as well, for one example
-    QString string(QLatin1String("John \"the hacker\" Smith"));
+    QString string(QLatin1StringView("John \"the hacker\" Smith"));
     addQuotes(string, false);
     QCOMPARE(string, QString::fromLatin1("\"John \\\"the hacker\\\" Smith\""));
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kmime-24.02.2/po/he/libkmime6.po 
new/kmime-24.05.0/po/he/libkmime6.po
--- old/kmime-24.02.2/po/he/libkmime6.po        1970-01-01 01:00:00.000000000 
+0100
+++ new/kmime-24.05.0/po/he/libkmime6.po        2024-05-11 15:40:03.000000000 
+0200
@@ -0,0 +1,92 @@
+# Copyright (C) 2024 This file is copyright:
+# This file is distributed under the same license as the kmime package.
+#
+# SPDX-FileCopyrightText: 2024 Yaron Shahrabani <sh.ya...@gmail.com>
+msgid ""
+msgstr ""
+"Project-Id-Version: kmime\n"
+"Report-Msgid-Bugs-To: https://bugs.kde.org\n";
+"POT-Creation-Date: 2023-11-20 01:59+0000\n"
+"PO-Revision-Date: 2024-03-19 08:09+0200\n"
+"Last-Translator: Yaron Shahrabani <sh.ya...@gmail.com>\n"
+"Language-Team: צוות התרגום של KDE ישראל\n"
+"Language: he\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && "
+"n % 10 == 0) ? 2 : 3));\n"
+"X-Generator: Lokalize 23.08.5\n"
+
+#: kmime_dateformatter.cpp:161
+#, kde-format
+msgctxt "invalid time specified"
+msgid "unknown"
+msgstr "לא ידוע"
+
+#: kmime_dateformatter.cpp:175
+#, kde-format
+msgid "Today %1"
+msgstr "היום %1"
+
+#: kmime_dateformatter.cpp:179
+#, kde-format
+msgid "Yesterday %1"
+msgstr "אתמול %1"
+
+#: kmime_dateformatter.cpp:184
+#, kde-format
+msgctxt "1. weekday, 2. time"
+msgid "%1 %2"
+msgstr "%1 %2"
+
+#: kmime_mdn.cpp:50
+msgid ""
+"The message sent on ${date} to ${to} with subject \"${subject}\" has been "
+"displayed. This is no guarantee that the message has been read or understood."
+msgstr ""
+"ההודעה שנשלחה ב־${date} אל ${to} עם הנושא 
„${subject}” הוצגה. זה לא אומר "
+"שההודעה נקראה או הופנמה."
+
+#: kmime_mdn.cpp:55
+msgid ""
+"The message sent on ${date} to ${to} with subject \"${subject}\" has been "
+"deleted unseen. This is no guarantee that the message will not be \"undeleted"
+"\" and nonetheless read later on."
+msgstr ""
+"ההודעה שנשלחה ב־${date} אל ${to} עם הנושא 
„${subject}” נמחקה לפני שהוצגה. זה "
+"לא אומר שאי אפשר לשחזר את ההודעה ולקרוא 
אותה לאחר מכן."
+
+#: kmime_mdn.cpp:61
+msgid ""
+"The message sent on ${date} to ${to} with subject \"${subject}\" has been "
+"dispatched. This is no guarantee that the message will not be read later on."
+msgstr ""
+"ההודעה שנשלחה ב־${date} אל ${to} עם הנושא 
„${subject}” שוגרה. זה לא אומר "
+"שההודעה לא תיקרא בהמשך."
+
+#: kmime_mdn.cpp:66
+msgid ""
+"The message sent on ${date} to ${to} with subject \"${subject}\" has been "
+"processed by some automatic means."
+msgstr ""
+"ההודעה שנשלחה ב־${date} אל ${to} עם הנושא 
„${subject}” עובדה עם תהליכים "
+"אוטומטיים. "
+
+#: kmime_mdn.cpp:70
+msgid ""
+"The message sent on ${date} to ${to} with subject \"${subject}\" has been "
+"acted upon. The sender does not wish to disclose more details to you than "
+"that."
+msgstr ""
+"ההודעה שנשלחה ב־${date} אל ${to} עם הנושא 
„${subject}” זכתה להתייחסות. הנמען "
+"לא רוצה לחשוף פרטים נוספים מעבר לכך."
+
+#: kmime_mdn.cpp:75
+msgid ""
+"Generation of a Message Disposition Notification for the message sent on "
+"${date} to ${to} with subject \"${subject}\" failed. Reason is given in the "
+"Failure: header field below."
+msgstr ""
+"יצירת הודעת תנועת הודעה (MDN) להודעה שנשלחה 
ב־${date} אל ${to} עם הנושא "
+"„${subject}” נכשלה. הסיבה שסופקה מופיעה 
בכותרת כשל: (Failure) להלן."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kmime-24.02.2/po/zh_CN/libkmime6.po 
new/kmime-24.05.0/po/zh_CN/libkmime6.po
--- old/kmime-24.02.2/po/zh_CN/libkmime6.po     2024-04-09 05:18:52.000000000 
+0200
+++ new/kmime-24.05.0/po/zh_CN/libkmime6.po     2024-05-11 15:40:03.000000000 
+0200
@@ -3,7 +3,7 @@
 "Project-Id-Version: kdeorg\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2023-11-20 01:59+0000\n"
-"PO-Revision-Date: 2024-04-08 19:13\n"
+"PO-Revision-Date: 2024-04-22 16:01\n"
 "Last-Translator: \n"
 "Language-Team: Chinese Simplified\n"
 "Language: zh_CN\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kmime-24.02.2/src/kmime_content.cpp 
new/kmime-24.05.0/src/kmime_content.cpp
--- old/kmime-24.02.2/src/kmime_content.cpp     2024-04-09 05:18:52.000000000 
+0200
+++ new/kmime-24.05.0/src/kmime_content.cpp     2024-05-11 15:40:03.000000000 
+0200
@@ -496,9 +496,6 @@
             }
         }
 
-        // Adjust the Content-Type of the newly created sub-Content.
-        main->contentType()->setCategory(Headers::CCmixedPart);
-
         // Move the body to the new subcontent.
         main->setBody(d->body);
         d->body.clear();
@@ -510,7 +507,6 @@
         Headers::ContentType *ct = contentType();
         ct->setMimeType("multipart/mixed");
         ct->setBoundary(multiPartBoundary());
-        ct->setCategory(Headers::CCcontainer);
         auto cte = contentTransferEncoding();
         cte->setEncoding(Headers::CE7Bit);
         cte->setDecoded(true);
@@ -931,7 +927,6 @@
         body.clear();
         ct->setMimeType("multipart/mixed");
         ct->setBoundary(multiPartBoundary());
-        ct->setCategory(Headers::CCcontainer);
         auto cte = q->contentTransferEncoding();
         cte->setEncoding(Headers::CE7Bit);
         cte->setDecoded(true);
@@ -950,11 +945,13 @@
         for (int i = 0; i < uup.binaryParts().count(); ++i) {
             auto c = new Content(q);
             c->contentType()->setMimeType(uup.mimeTypes().at(i));
-            c->contentType()->setName(QLatin1String(uup.filenames().at(i)), 
QByteArray(/*charset*/));
+            c->contentType()->setName(QLatin1StringView(uup.filenames().at(i)),
+                                      QByteArray(/*charset*/));
             c->contentTransferEncoding()->setEncoding(Headers::CEuuenc);
             c->contentTransferEncoding()->setDecoded(false);
             c->contentDisposition()->setDisposition(Headers::CDattachment);
-            
c->contentDisposition()->setFilename(QLatin1String(uup.filenames().at(i)));
+            c->contentDisposition()->setFilename(
+                QLatin1StringView(uup.filenames().at(i)));
             // uup.binaryParts().at(i) does no longer have the uuencode 
header, which makes KCodecs fail since 5c66308c4786ef7fbf77b0e306e73f7d4ac3431b
             c->setBody(prevBody);
             c->changeEncoding(Headers::CEbase64);   // Convert to base64.
@@ -987,7 +984,6 @@
         body.clear();
         ct->setMimeType("multipart/mixed");
         ct->setBoundary(multiPartBoundary());
-        ct->setCategory(Headers::CCcontainer);
         auto cte = q->contentTransferEncoding();
         cte->setEncoding(Headers::CE7Bit);
         cte->setDecoded(true);
@@ -1006,10 +1002,12 @@
         for (int i = 0; i < yenc.binaryParts().count(); i++) {
             auto c = new Content(q);
             c->contentType()->setMimeType(yenc.mimeTypes().at(i));
-            c->contentType()->setName(QLatin1String(yenc.filenames().at(i)), 
QByteArray(/*charset*/));
+            
c->contentType()->setName(QLatin1StringView(yenc.filenames().at(i)),
+                                      QByteArray(/*charset*/));
             c->contentTransferEncoding()->setEncoding(Headers::CEbinary);
             c->contentDisposition()->setDisposition(Headers::CDattachment);
-            
c->contentDisposition()->setFilename(QLatin1String(yenc.filenames().at(i)));
+            c->contentDisposition()->setFilename(
+                QLatin1StringView(yenc.filenames().at(i)));
             c->setBody(yenc.binaryParts().at(i));     // Yenc bodies are 
binary.
             c->changeEncoding(Headers::CEbase64);   // Convert to base64.
             multipartContents.append(c);
@@ -1034,14 +1032,6 @@
     preamble = mpp.preamble();
     epilogue = mpp.epilouge();
 
-    // Determine the category of the subparts (used in attachments()).
-    Headers::contentCategory cat;
-    if (ct->isSubtype("alternative")) {
-        cat = Headers::CCalternativePart;
-    } else {
-        cat = Headers::CCmixedPart; // Default to "mixed".
-    }
-
     // Create a sub-Content for every part.
     Q_ASSERT(multipartContents.isEmpty());
     body.clear();
@@ -1051,7 +1041,6 @@
         c->setContent(part);
         c->setFrozen(frozen);
         c->parse();
-        c->contentType()->setCategory(cat);
         multipartContents.append(c);
     }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kmime-24.02.2/src/kmime_dateformatter.cpp 
new/kmime-24.05.0/src/kmime_dateformatter.cpp
--- old/kmime-24.02.2/src/kmime_dateformatter.cpp       2024-04-09 
05:18:52.000000000 +0200
+++ new/kmime-24.05.0/src/kmime_dateformatter.cpp       2024-05-11 
15:40:03.000000000 +0200
@@ -124,7 +124,7 @@
     QString ret = mCustomFormat;
 
     if (z != -1) {
-        ret.replace(z, 1, QLatin1String(zone(t)));
+      ret.replace(z, 1, QLatin1StringView(zone(t)));
     }
 
     ret = t.toString(ret);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kmime-24.02.2/src/kmime_header_parsing.cpp 
new/kmime-24.05.0/src/kmime_header_parsing.cpp
--- old/kmime-24.02.2/src/kmime_header_parsing.cpp      2024-04-09 
05:18:52.000000000 +0200
+++ new/kmime-24.05.0/src/kmime_header_parsing.cpp      2024-05-11 
15:40:03.000000000 +0200
@@ -391,7 +391,7 @@
                     // inside a quoted-string without it being part of FWS.
                     // We take it verbatim.
                     KMIME_WARN_NON_FOLDING(CRLF);
-                    result += QLatin1String("\r\n");
+                    result += QLatin1StringView("\r\n");
                     // the cursor is decremented again, so's we need not
                     // duplicate the whole switch here. "ch" could've been
                     // everything (incl. openChar or closeChar).
@@ -569,7 +569,7 @@
                 return false;
             } else {
                 if (scursor != send && (*scursor == ' ' || *scursor == '\t')) {
-                    result += QLatin1String(". ");
+                  result += QLatin1StringView(". ");
                 } else {
                     result += QLatin1Char('.');
                 }
@@ -677,7 +677,7 @@
                     assert(0);
                 }
                 lastWasEncodedWord = false;
-                result += QLatin1String(tmpAtom.first, tmpAtom.second);
+                result += QLatin1StringView(tmpAtom.first, tmpAtom.second);
             } else {
                 if (found == None) {
                     return false;
@@ -927,7 +927,8 @@
         default: // atom
             scursor--; // re-set scursor to point to ch again
             if (parseAtom(scursor, send, tmpAtom, false /* no 8bit */)) {
-                maybeLocalPart += QLatin1String(tmpAtom.first, tmpAtom.second);
+              maybeLocalPart +=
+                  QLatin1StringView(tmpAtom.first, tmpAtom.second);
             } else {
                 return false; // parseAtom can only fail if the first char is 
non-atext.
             }
@@ -1531,14 +1532,15 @@
                 encodingMode = RFC2231;
             }
             // is the value rfc2047-encoded?
-            if (!(*it).qstring.isNull() && 
(*it).qstring.contains(QLatin1String("=?"))) {
-                mode |= Encoded;
-                encodingMode = RFC2047;
+            if (!(*it).qstring.isNull() &&
+                (*it).qstring.contains(QLatin1StringView("=?"))) {
+              mode |= Encoded;
+              encodingMode = RFC2047;
             }
             // is the value continued?
-            if (attribute.endsWith(QLatin1String("*0"))) {
-                attribute.chop(2);
-                mode |= Continued;
+            if (attribute.endsWith(QLatin1StringView("*0"))) {
+              attribute.chop(2);
+              mode |= Continued;
             }
             //
             // decode if necessary:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kmime-24.02.2/src/kmime_headers.cpp 
new/kmime-24.05.0/src/kmime_headers.cpp
--- old/kmime-24.02.2/src/kmime_headers.cpp     2024-04-09 05:18:52.000000000 
+0200
+++ new/kmime-24.05.0/src/kmime_headers.cpp     2024-05-11 15:40:03.000000000 
+0200
@@ -391,7 +391,7 @@
             return QString::fromLatin1(mbox.address());
         }
     }
-    return displayNames().join(QLatin1String(", "));
+    return displayNames().join(QLatin1StringView(", "));
 }
 
 Types::Mailbox::List MailboxList::mailboxes() const
@@ -501,7 +501,7 @@
             rv.append(mbox.prettyAddress());
         }
     }
-    return rv.join(QLatin1String(", "));
+    return rv.join(QLatin1StringView(", "));
 }
 
 void AddressList::clear()
@@ -567,7 +567,7 @@
 QString AddressList::displayString() const
 {
     // optimize for single entry and avoid creation of the QStringList in that 
case?
-    return displayNames().join(QLatin1String(", "));
+    return displayNames().join(QLatin1StringView(", "));
 }
 
 Types::Mailbox::List AddressList::mailboxes() const
@@ -697,7 +697,7 @@
 
 QString PhraseList::asUnicodeString() const
 {
-    return d_func()->phraseList.join(QLatin1String(", "));
+  return d_func()->phraseList.join(QLatin1StringView(", "));
 }
 
 void PhraseList::clear()
@@ -1626,7 +1626,6 @@
 
 void ContentType::clear() {
     Q_D(ContentType);
-    d->category = CCsingle;
     d->mimeType.clear();
     Parametrized::clear();
 }
@@ -1677,12 +1676,6 @@
 void ContentType::setMimeType(const QByteArray & mimeType) {
     Q_D(ContentType);
     d->mimeType = mimeType;
-
-    if (isMultipart()) {
-        d->category = CCcontainer;
-    } else {
-        d->category = CCsingle;
-    }
 }
 
 bool ContentType::isMediatype(const char *mediatype) const {
@@ -1790,15 +1783,6 @@
     }
 }
 
-contentCategory ContentType::category() const {
-    return d_func()->category;
-}
-
-void ContentType::setCategory(contentCategory c) {
-    Q_D(ContentType);
-    d->category = c;
-}
-
 void ContentType::setPartialParams(int total, int number) {
     setParameter(QStringLiteral("number"), QString::number(number));
     setParameter(QStringLiteral("total"), QString::number(total));
@@ -1841,7 +1825,7 @@
     // parameter list
     eatCFWS(scursor, send, isCRLF);
     if (scursor == send) {
-        goto success; // no parameters
+        return true; // no parameters
     }
     if (*scursor != ';') {
         return false;
@@ -1852,13 +1836,6 @@
         return false;
     }
 
-    // adjust category
-success:
-    if (isMultipart()) {
-        d->category = CCcontainer;
-    } else {
-        d->category = CCsingle;
-    }
     return true;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kmime-24.02.2/src/kmime_headers.h 
new/kmime-24.05.0/src/kmime_headers.h
--- old/kmime-24.02.2/src/kmime_headers.h       2024-04-09 05:18:52.000000000 
+0200
+++ new/kmime-24.05.0/src/kmime_headers.h       2024-05-11 15:40:03.000000000 
+0200
@@ -46,13 +46,6 @@
 
 class BasePrivate;
 
-enum contentCategory {
-    CCsingle,
-    CCcontainer,
-    CCmixedPart,
-    CCalternativePart
-};
-
 /**
   Various possible values for the "Content-Transfer-Encoding" header.
 */
@@ -1117,11 +1110,6 @@
     */
     void setPartialParams(int total, int number);
 
-    // TODO: document
-    contentCategory category() const;
-
-    void setCategory(contentCategory c);
-
 protected:
     bool parse(const char *&scursor, const char *const send, bool isCRLF = 
false) override;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kmime-24.02.2/src/kmime_headers_p.h 
new/kmime-24.05.0/src/kmime_headers_p.h
--- old/kmime-24.02.2/src/kmime_headers_p.h     2024-04-09 05:18:52.000000000 
+0200
+++ new/kmime-24.05.0/src/kmime_headers_p.h     2024-05-11 15:40:03.000000000 
+0200
@@ -124,11 +124,9 @@
 {
 public:
     ContentTypePrivate() :
-        Generics::ParametrizedPrivate(),
-        category(CCsingle)
+        Generics::ParametrizedPrivate()
     {}
     QByteArray mimeType;
-    contentCategory category;
 };
 
 class ContentDispositionPrivate : public Generics::ParametrizedPrivate
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kmime-24.02.2/src/kmime_message.h 
new/kmime-24.05.0/src/kmime_message.h
--- old/kmime-24.02.2/src/kmime_message.h       2024-04-09 05:18:52.000000000 
+0200
+++ new/kmime-24.05.0/src/kmime_message.h       2024-05-11 15:40:03.000000000 
+0200
@@ -31,7 +31,6 @@
  * Headers::ContentType *ct = m->contentType();
  * ct->setMimeType( "multipart/mixed" );
  * ct->setBoundary( multiPartBoundary() );
- * ct->setCategory( Headers::CCcontainer );
  * Headers::ContentTransferEncoding *cte = m->contentTransferEncoding();
  * cte->setEncoding(Headers::CE7Bit);
  * cte->setDecoded(true);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kmime-24.02.2/src/kmime_parsers.cpp 
new/kmime-24.05.0/src/kmime_parsers.cpp
--- old/kmime-24.02.2/src/kmime_parsers.cpp     2024-04-09 05:18:52.000000000 
+0200
+++ new/kmime-24.05.0/src/kmime_parsers.cpp     2024-05-11 15:40:03.000000000 
+0200
@@ -228,7 +228,8 @@
 
             if ((!containsBegin || !containsEnd) && !m_subject.isNull()) {
                 // message may be split up => parse subject
-                const auto match = 
subjectRegex.match(QLatin1String(m_subject));
+                const auto match =
+                    subjectRegex.match(QLatin1StringView(m_subject));
                 pos = match.capturedStart(0);
                 len = match.capturedLength(0);
                 if (pos != -1) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kmime-24.02.2/src/kmime_types.cpp 
new/kmime-24.05.0/src/kmime_types.cpp
--- old/kmime-24.02.2/src/kmime_types.cpp       2024-04-09 05:18:52.000000000 
+0200
+++ new/kmime-24.05.0/src/kmime_types.cpp       2024-05-11 15:40:03.000000000 
+0200
@@ -30,11 +30,11 @@
 // Fortunately, the presence of IDNA is readily detected with a substring 
match...
 static inline QString QUrl_fromAce_wrapper(const QString &domain)
 {
-    if (domain.contains(QLatin1String("xn--"))) {
-        return QUrl::fromAce(domain.toLatin1());
-    } else {
-        return domain;
-    }
+  if (domain.contains(QLatin1StringView("xn--"))) {
+    return QUrl::fromAce(domain.toLatin1());
+  } else {
+    return domain;
+  }
 }
 
 static QString addr_spec_as_string(const AddrSpec &as, bool pretty)
@@ -154,7 +154,7 @@
 QString Mailbox::prettyAddress(Quoting quoting) const
 {
     if (!hasName()) {
-        return QLatin1String(address());
+      return QLatin1StringView(address());
     }
     QString s = name();
     if (quoting != QuoteNever) {
@@ -162,7 +162,8 @@
     }
 
     if (hasAddress()) {
-        s += QLatin1String(" <") + QLatin1String(address()) + QLatin1Char('>');
+      s +=
+          QLatin1StringView(" <") + QLatin1StringView(address()) + 
QLatin1Char('>');
     }
     return s;
 }
@@ -226,7 +227,7 @@
     for (const Types::Mailbox &mbox : mailboxes) {
         rv.append(mbox.prettyAddress());
     }
-    return rv.join(QLatin1String(", "));
+    return rv.join(QLatin1StringView(", "));
 }
 
 } // namespace Types
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kmime-24.02.2/src/kmime_util.cpp 
new/kmime-24.05.0/src/kmime_util.cpp
--- old/kmime-24.02.2/src/kmime_util.cpp        2024-04-09 05:18:52.000000000 
+0200
+++ new/kmime-24.05.0/src/kmime_util.cpp        2024-05-11 15:40:03.000000000 
+0200
@@ -214,7 +214,8 @@
             return false;
         }
         const auto fileName = cd->filename().toLower();
-        return fileName == QLatin1String("msg.asc") || fileName == 
QLatin1String("encrypted.asc");
+        return fileName == QLatin1StringView("msg.asc") ||
+               fileName == QLatin1StringView("encrypted.asc");
     }
 
     return false;

Reply via email to