[Pkg-kde-extras] Bug#987679: unblock: kongress/1.0.1-1

Aurélien COUDERC coucouf at debian.org
Tue Apr 27 17:58:38 BST 2021


Package: release.debian.org
Severity: normal
User: release.debian.org at packages.debian.org
Usertags: unblock
X-Debbugs-Cc: Debian KDE Extras Team <pkg-kde-extras at lists.alioth.debian.org>

Dear Release Team,

please unblock package kongress.

[ Reason ]
This upload includes a minor upstream release with only targetted
fixes, and a trivial copyright fix.

The upstream fixes are the following:
- Fix display of talk time on notifications
- Prevent kongressac from crashing
- Fix grouping of talks into conference days
- Fix alarm schedule time
- Prevent duplicate conference entries from being displayed
- Do not display generic, multi-day calendar events on the daily schedule
- Fix translation congiguration

[ Impact ]
Users won’t get the above listed fixes.

[ Tests ]
I tested all main functionality manually.

[ Risks ]
None that I can see, individual upstream commits could be reverted if
need be.

[ 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 ]
<3 <3 <3

unblock kongress/1.0.1-1
-------------- next part --------------
diff -Nru kongress-1.0/AndroidManifest.xml kongress-1.0.1/AndroidManifest.xml
--- kongress-1.0/AndroidManifest.xml	2021-01-25 16:45:58.000000000 +0100
+++ kongress-1.0.1/AndroidManifest.xml	2021-03-08 10:21:05.000000000 +0100
@@ -5,7 +5,7 @@
 -->
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
           package="org.kde.kongress"
-          android:versionName="1.0.0"
+          android:versionName="1.0.1"
           android:versionCode="1"
           android:installLocation="auto">
     <supports-screens android:largeScreens="true" android:normalScreens="true" android:anyDensity="true" android:smallScreens="true"/>
diff -Nru kongress-1.0/changelog.md kongress-1.0.1/changelog.md
--- kongress-1.0/changelog.md	2021-01-25 16:45:58.000000000 +0100
+++ kongress-1.0.1/changelog.md	2021-03-08 10:21:05.000000000 +0100
@@ -1,3 +1,17 @@
+<!--
+    SPDX-FileCopyrightText: 2021 Dimitris Kardarakos <dimkard at posteo.net>
+    SPDX-License-Identifier: CC-BY-SA-4.0
+-->
+
+## Version 1.0.1
+- Fix display of talk time on notifications
+- Prevent kongressac from crashing
+- Fix grouping of talks into conference days
+- Fix alarm schedule time
+- Prevent duplicate conference entries from being displayed
+- Do not display generic, multi-day calendar events on the daily schedule
+- Fix translation congiguration
+
 ## Version 1.0
 - Display the schedule of a collection of conferences
 - Show the schedule of the talks by conference day
diff -Nru kongress-1.0/CMakeLists.txt kongress-1.0.1/CMakeLists.txt
--- kongress-1.0/CMakeLists.txt	2021-01-25 16:45:58.000000000 +0100
+++ kongress-1.0.1/CMakeLists.txt	2021-03-08 10:21:05.000000000 +0100
@@ -4,7 +4,7 @@
 
 cmake_minimum_required(VERSION 3.0)
 
-project(kongress VERSION "1.0")
+project(kongress VERSION "1.0.1")
 
 set(KF5_MIN_VERSION "5.63.0")
 set(QT_MIN_VERSION "5.7.0")
@@ -14,6 +14,7 @@
 
 option(REMINDERS_ENABLED "Build with reminders support" ON)
 
+include(CTest)
 include(FeatureSummary)
 
 find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE)
@@ -26,7 +27,7 @@
 include(KDECompilerSettings NO_POLICY_SCOPE)
 include(ECMPoQmTools)
 
-find_package(Qt5 ${QT_MIN_VERSION} REQUIRED NO_MODULE COMPONENTS DBus Core Quick Gui Svg Test Qml QuickControls2 Network)
+find_package(Qt5 ${QT_MIN_VERSION} REQUIRED NO_MODULE COMPONENTS DBus Core Quick Gui Svg Qml QuickControls2 Network)
 
 find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS Config Kirigami2 I18n CalendarCore CoreAddons)
 
@@ -37,7 +38,9 @@
 else()
     find_package(Qt5 ${QT_MIN_VERSION} REQUIRED COMPONENTS Widgets)
 endif()
-
+if (BUILD_TESTING)
+    find_package(Qt5 ${QT_MIN_VERSION} REQUIRED NO_MODULE COMPONENTS Test)
+endif()
 if(NOT ANDROID AND REMINDERS_ENABLED)
     find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS DBusAddons Notifications Service)
 endif()
@@ -49,7 +52,7 @@
 endif()
 
 if (IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/po")
-    ecm_install_po_files_as_qm(po)
+    ki18n_install(po)
 endif()
 
 install(FILES org.kde.kongress.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR})
diff -Nru kongress-1.0/debian/changelog kongress-1.0.1/debian/changelog
--- kongress-1.0/debian/changelog	2021-01-26 16:26:16.000000000 +0100
+++ kongress-1.0.1/debian/changelog	2021-03-29 10:42:07.000000000 +0200
@@ -1,3 +1,17 @@
+kongress (1.0.1-1) unstable; urgency=medium
+
+  * New upstream release (1.0.1):
+    - Fix display of talk time on notifications
+    - Prevent kongressac from crashing
+    - Fix grouping of talks into conference days
+    - Fix alarm schedule time
+    - Prevent duplicate conference entries from being displayed
+    - Do not display generic, multi-day calendar events on the daily schedule
+    - Fix translation congiguration
+  * Minor fixes to debian/copyright.
+
+ -- Aurélien COUDERC <coucouf at debian.org>  Mon, 29 Mar 2021 10:42:07 +0200
+
 kongress (1.0-1) unstable; urgency=medium
 
   * Initial release. (Closes: #981109)
diff -Nru kongress-1.0/debian/copyright kongress-1.0.1/debian/copyright
--- kongress-1.0/debian/copyright	2021-01-26 15:28:23.000000000 +0100
+++ kongress-1.0.1/debian/copyright	2021-03-29 10:38:59.000000000 +0200
@@ -32,8 +32,7 @@
 License: BSD-2-Clause
 
 Files: ic_launcher-playstore.png
-       icons/*
-       logo.png 
+       logo.png
        org.kde.kongress.svg
        res/*
 Copyright: 2020, Breeze Icon Theme Developers
diff -Nru kongress-1.0/kongressac/calalarmclient.cpp kongress-1.0.1/kongressac/calalarmclient.cpp
--- kongress-1.0/kongressac/calalarmclient.cpp	2021-01-25 16:45:58.000000000 +0100
+++ kongress-1.0.1/kongressac/calalarmclient.cpp	2021-03-08 10:21:05.000000000 +0100
@@ -18,7 +18,7 @@
 #include <KLocalizedString>
 
 CalAlarmClient::CalAlarmClient(QObject *parent)
-    : QObject {parent}, m_alarms_model {new AlarmsModel {this}}, m_notification_handler {new NotificationHandler {this}}, m_wakeup_manager {new WakeupManager {this}}
+    : QObject {parent},  m_notification_handler {new NotificationHandler {this}}, m_wakeup_manager {new WakeupManager {this}}
 {
     new KongressacAdaptor {this};
     auto dbus = QDBusConnection::sessionBus();
@@ -71,18 +71,18 @@
     qDebug() << "\ncheckAlarms:Check:" << checkFrom.toString() << " -" << m_last_checked.toString();
 
     FilterPeriod fPeriod {.from = checkFrom, .to = m_last_checked};
-    m_alarms_model->setCalendarFiles(calendarFileList());
-    m_alarms_model->setPeriod(fPeriod);
-    m_notification_handler->setPeriod(fPeriod);
+    AlarmsModel alarmsModel;
+    alarmsModel.setCalendarFiles(calendarFileList());
+    alarmsModel.setPeriod(fPeriod);
 
-    const auto alarms = m_alarms_model->alarms();
+    const auto alarms = alarmsModel.alarms();
     qDebug() << "checkAlarms:Alarms Found: " << alarms.count();
 
     KConfigGroup notificationsConfig {KSharedConfig::openConfig("kongressrc"), "notifications"};
 
     if (notificationsConfig.readEntry("remindFavorites", true)) {
         for (const auto &alarm : qAsConst(alarms)) {
-            m_notification_handler->addActiveNotification(alarm->parentUid(), QString {"%1\n%2"}.arg(alarm->time().toString("hh:mm"), alarm->text()));
+            m_notification_handler->addActiveNotification(alarm->parentUid(), QString {"%1\n%2"}.arg(alarm->time().toTimeZone( QTimeZone::systemTimeZone()).toString("hh:mm"), alarm->text()));
         }
         m_notification_handler->sendNotifications();
     }
diff -Nru kongress-1.0/kongressac/calalarmclient.h kongress-1.0.1/kongressac/calalarmclient.h
--- kongress-1.0/kongressac/calalarmclient.h	2021-01-25 16:45:58.000000000 +0100
+++ kongress-1.0.1/kongressac/calalarmclient.h	2021-03-08 10:21:05.000000000 +0100
@@ -10,7 +10,6 @@
 #include <QTimer>
 #include <QDateTime>
 
-class AlarmsModel;
 class NotificationHandler;
 class WakeupBackend;
 class WakeupManager;
@@ -70,7 +69,6 @@
     void saveLastCheckTime();
     QStringList calendarFileList() const;
 
-    AlarmsModel *m_alarms_model;
     QDateTime m_last_checked;
     NotificationHandler *m_notification_handler;
     WakeupManager *m_wakeup_manager;
diff -Nru kongress-1.0/kongressac/notificationhandler.cpp kongress-1.0.1/kongressac/notificationhandler.cpp
--- kongress-1.0/kongressac/notificationhandler.cpp	2021-01-25 16:45:58.000000000 +0100
+++ kongress-1.0.1/kongressac/notificationhandler.cpp	2021-03-08 10:21:05.000000000 +0100
@@ -22,27 +22,15 @@
     m_active_notifications[notification->uid()] = notification;
 }
 
-void NotificationHandler::sendActiveNotifications()
+
+void NotificationHandler::sendNotifications()
 {
     for (const auto &n : qAsConst(m_active_notifications)) {
         qDebug() << "sendNotifications:\tSending notification for alarm" <<  n->uid();
         n->send();
     }
-}
 
-void NotificationHandler::sendNotifications()
-{
-    sendActiveNotifications();
-}
-
-FilterPeriod NotificationHandler::period() const
-{
-    return m_period;
-}
-
-void NotificationHandler::setPeriod(const FilterPeriod &checkPeriod)
-{
-    m_period = checkPeriod;
+    m_active_notifications.clear();
 }
 
 QHash<QString, AlarmNotification *> NotificationHandler::activeNotifications() const
diff -Nru kongress-1.0/kongressac/notificationhandler.h kongress-1.0.1/kongressac/notificationhandler.h
--- kongress-1.0/kongressac/notificationhandler.h	2021-01-25 16:45:58.000000000 +0100
+++ kongress-1.0.1/kongressac/notificationhandler.h	2021-03-08 10:21:05.000000000 +0100
@@ -33,23 +33,11 @@
     void addActiveNotification(const QString &uid, const QString &text);
 
     /**
-     * @return The time period to check for alarms
-     */
-    FilterPeriod period() const;
-
-    /**
-     * @brief Sets the time period to check for alarms
-     */
-    void setPeriod(const FilterPeriod &checkPeriod);
-
-    /**
      * @return The list of active notifications. It is the set of notification that should be sent at the next check
      */
     QHash<QString, AlarmNotification *> activeNotifications() const;
 
 private:
-    void sendActiveNotifications();
-
     QHash<QString, AlarmNotification *> m_active_notifications;
     FilterPeriod m_period;
 };
diff -Nru kongress-1.0/org.kde.kongress.appdata.xml kongress-1.0.1/org.kde.kongress.appdata.xml
--- kongress-1.0/org.kde.kongress.appdata.xml	2021-01-25 16:45:58.000000000 +0100
+++ kongress-1.0.1/org.kde.kongress.appdata.xml	2021-03-08 10:21:05.000000000 +0100
@@ -66,6 +66,7 @@
     <p xml:lang="en-GB">Kongress is a companion application for conferences made by KDE</p>
     <p xml:lang="es">Kongress es una aplicación complementaria para conferencias creada por KDE</p>
     <p xml:lang="fr">Kongress est une application de compagnon pour les conférences, réalisée par KDE.</p>
+    <p xml:lang="ia">Kongress es un application companion per conferentias facite per KDE</p>
     <p xml:lang="id">Kongress adalah aplikasi pendamping untuk konferensi yang dibuat oleh KDE</p>
     <p xml:lang="it">Kongress è un'applicazione di supporto per le conferenze realizzata da KDE</p>
     <p xml:lang="nl">Kongress is de compagnon-toepassing voor conferenties, gemaakt door KDE</p>
@@ -87,6 +88,7 @@
       <caption xml:lang="en-GB">Kongress on Mobile</caption>
       <caption xml:lang="es">Kongress para móviles</caption>
       <caption xml:lang="fr">Kongress sur périphériques mobiles</caption>
+      <caption xml:lang="ia">Kongress sur Mobile</caption>
       <caption xml:lang="id">Kongress di Ponsel</caption>
       <caption xml:lang="it">Kongress su dispositivo mobile</caption>
       <caption xml:lang="nl">Kongress op mobiel</caption>
@@ -108,6 +110,7 @@
       <caption xml:lang="en-GB">Kongress on Desktop</caption>
       <caption xml:lang="es">Kongress para el escritorio</caption>
       <caption xml:lang="fr">Kongress sur le bureau</caption>
+      <caption xml:lang="ia">Kongress sur scriptorio</caption>
       <caption xml:lang="id">Kongress di Desktop</caption>
       <caption xml:lang="it">Kongress su desktop</caption>
       <caption xml:lang="nl">Kongress op bureaublad</caption>
@@ -123,6 +126,20 @@
   </screenshots>
   <url type="homepage">https://invent.kde.org/utilities/kongress</url>
   <releases>
+    <release version="1.0.1" date="2021-03-08">
+      <description>
+        <p>Kongress bugfix release</p>
+        <ul>
+          <li>Fix display of talk time on notifications</li>
+          <li>Prevent kongressac from crashing</li>
+          <li>Fix grouping of talks into conference dayss</li>
+          <li>Fix alarm schedule times</li>
+          <li>Prevent duplicate conference entries from being displayeds</li>
+          <li>Do not display generic, multi-day calendar events on the daily schedules</li>
+          <li>Fix translation congigurations</li>
+        </ul>
+      </description>
+    </release>
     <release version="1.0" date="2021-01-25">
       <description>
         <p>Kongress first official release</p>
diff -Nru kongress-1.0/po/fr/kongressac.po kongress-1.0.1/po/fr/kongressac.po
--- kongress-1.0/po/fr/kongressac.po	2021-01-25 16:46:16.000000000 +0100
+++ kongress-1.0.1/po/fr/kongressac.po	2021-03-08 10:21:16.000000000 +0100
@@ -6,7 +6,7 @@
 "POT-Creation-Date: 2021-01-07 02:52+0100\n"
 "PO-Revision-Date: 2021-01-08 17:38+0100\n"
 "Last-Translator: Xavier Besnard <xavier.besnard at neuf.fr>\n"
-"Language-Team: FR\n"
+"Language-Team: French <kde-francophone at kde.org>\n"
 "Language: fr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
diff -Nru kongress-1.0/po/fr/kongress.po kongress-1.0.1/po/fr/kongress.po
--- kongress-1.0/po/fr/kongress.po	2021-01-25 16:46:16.000000000 +0100
+++ kongress-1.0.1/po/fr/kongress.po	2021-03-08 10:21:16.000000000 +0100
@@ -6,7 +6,7 @@
 "POT-Creation-Date: 2021-01-25 02:45+0100\n"
 "PO-Revision-Date: 2021-01-13 07:30+0100\n"
 "Last-Translator: Xavier Besnard <xavier.besnard at neuf.fr>\n"
-"Language-Team: FR\n"
+"Language-Team: French <kde-francophone at kde.org>\n"
 "Language: fr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
diff -Nru kongress-1.0/po/ia/kongressac.po kongress-1.0.1/po/ia/kongressac.po
--- kongress-1.0/po/ia/kongressac.po	2021-01-25 16:46:23.000000000 +0100
+++ kongress-1.0.1/po/ia/kongressac.po	2021-03-08 10:21:20.000000000 +0100
@@ -29,15 +29,13 @@
 
 #: kongressacmain.cpp:20 kongressacmain.cpp:21
 #, kde-format
-#| msgid "KDE Conference Alarm Check Daemon"
 msgid "Kongress Alarm Check Daemon"
 msgstr ""
-"Kongress Alarm Check Daemon (Demon de verifica de alarma de "
-"conferentia Kongress)"
+"Kongress Alarm Check Daemon (Demon de verifica de alarma de conferentia "
+"Kongress)"
 
 #: kongressacmain.cpp:23
 #, kde-format
-#| msgid "(c) 2020 Dimitris Kardarakos"
 msgid "(c) 2021 Dimitris Kardarakos"
 msgstr "(c) 2021 Dimitris Kardarakos"
 
diff -Nru kongress-1.0/po/ia/kongress.po kongress-1.0.1/po/ia/kongress.po
--- kongress-1.0/po/ia/kongress.po	2021-01-25 16:46:23.000000000 +0100
+++ kongress-1.0.1/po/ia/kongress.po	2021-03-08 10:21:20.000000000 +0100
@@ -44,7 +44,6 @@
 
 #: contents/ui/Conferences.qml:24
 #, kde-format
-#| msgid "No events found"
 msgid "No conference found"
 msgstr "Necun conferentia trovate"
 
@@ -75,13 +74,11 @@
 
 #: contents/ui/FavoritesView.qml:28
 #, kde-format
-#| msgid "No events found for %1"
 msgid "No favorite talks found for %1"
 msgstr "Necun conversationes favorite trovate per %1"
 
 #: contents/ui/FavoritesView.qml:28
 #, kde-format
-#| msgid "No events found"
 msgid "No favorite talks found"
 msgstr "Necun conversationes favorite trovate"
 
@@ -185,13 +182,11 @@
 
 #: contents/ui/ScheduleView.qml:28
 #, kde-format
-#| msgid "No events found for %1"
 msgid "No talks found for %1"
 msgstr "Necun conversationes trovate per %1"
 
 #: contents/ui/ScheduleView.qml:28
 #, kde-format
-#| msgid "No events found"
 msgid "No talks found"
 msgstr "Necun conversationes trovate "
 
@@ -261,13 +256,11 @@
 
 #: main.cpp:32
 #, kde-format
-#| msgid "© 2020 KDE Community"
 msgid "© 2021 KDE Community"
 msgstr "© 2021 Communitate de KDE"
 
 #: main.cpp:35
 #, kde-format
-#| msgid "Dimitris Kardarakos"
 msgctxt "@info:credit"
 msgid "Dimitris Kardarakos"
 msgstr "Dimitris Kardarakos"
diff -Nru kongress-1.0/po/it/kongressac.po kongress-1.0.1/po/it/kongressac.po
--- kongress-1.0/po/it/kongressac.po	2021-01-25 16:46:25.000000000 +0100
+++ kongress-1.0.1/po/it/kongressac.po	2021-03-08 10:21:21.000000000 +0100
@@ -1,13 +1,13 @@
 # Copyright (C) YEAR This file is copyright:
 # This file is distributed under the same license as the kongress package.
-# Paolo Zamponi <zapaolo at email.it>, 2020.
+# Paolo Zamponi <zapaolo at email.it>, 2020, 2021.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: kongress\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n"
 "POT-Creation-Date: 2021-01-07 02:52+0100\n"
-"PO-Revision-Date: 2020-03-10 10:04+0100\n"
+"PO-Revision-Date: 2021-01-10 09:30+0100\n"
 "Last-Translator: Paolo Zamponi <zapaolo at email.it>\n"
 "Language-Team: Italian <kde-i18n-it at kde.org>\n"
 "Language: it\n"
@@ -15,7 +15,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 19.12.2\n"
+"X-Generator: Lokalize 20.12.0\n"
 
 #, kde-format
 msgctxt "NAME OF TRANSLATORS"
@@ -28,16 +28,14 @@
 msgstr "zapaolo at email.it"
 
 #: kongressacmain.cpp:20 kongressacmain.cpp:21
-#, fuzzy, kde-format
-#| msgid "KDE Conference Alarm Check Daemon"
+#, kde-format
 msgid "Kongress Alarm Check Daemon"
-msgstr "Demone per il controllo allarmi di KDE Conference"
+msgstr "Demone per il controllo allarmi di Kongress"
 
 #: kongressacmain.cpp:23
-#, fuzzy, kde-format
-#| msgid "(c) 2020 Dimitris Kardarakos"
+#, kde-format
 msgid "(c) 2021 Dimitris Kardarakos"
-msgstr "(c) 2020 Dimitris Kardarakos"
+msgstr "(c) 2021 Dimitris Kardarakos"
 
 #: kongressacmain.cpp:25
 #, kde-format
diff -Nru kongress-1.0/po/nn/kongress.po kongress-1.0.1/po/nn/kongress.po
--- kongress-1.0/po/nn/kongress.po	2021-01-25 16:46:34.000000000 +0100
+++ kongress-1.0.1/po/nn/kongress.po	2021-03-08 10:21:27.000000000 +0100
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: kongress\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n"
-"POT-Creation-Date: 2021-01-07 02:52+0100\n"
+"POT-Creation-Date: 2021-01-25 02:45+0100\n"
 "PO-Revision-Date: 2021-01-08 21:32+0100\n"
 "Last-Translator: Karl Ove Hufthammer <karl at huftis.org>\n"
 "Language-Team: Norwegian Nynorsk <l10n-no at lister.huftis.org>\n"
@@ -247,28 +247,28 @@
 msgid "Talk added to favorites"
 msgstr "Presentasjonen er lagd til som favoritt"
 
-#: main.cpp:31
+#: main.cpp:32
 #, kde-format
 msgid "Kongress"
 msgstr "Kongress"
 
-#: main.cpp:31
+#: main.cpp:32
 #, kde-format
 msgid "KDE Conference Companion"
 msgstr "Konferanse­assistent frå KDE"
 
-#: main.cpp:31
+#: main.cpp:32
 #, kde-format
 msgid "© 2021 KDE Community"
 msgstr "© 2021 KDE-fellesskapet"
 
-#: main.cpp:34
+#: main.cpp:35
 #, kde-format
 msgctxt "@info:credit"
 msgid "Dimitris Kardarakos"
 msgstr "Dimitris Kardarakos"
 
-#: main.cpp:34
+#: main.cpp:35
 #, kde-format
 msgctxt "@info:credit"
 msgid "Maintainer and Developer"
diff -Nru kongress-1.0/src/CMakeLists.txt kongress-1.0.1/src/CMakeLists.txt
--- kongress-1.0/src/CMakeLists.txt	2021-01-25 16:45:58.000000000 +0100
+++ kongress-1.0.1/src/CMakeLists.txt	2021-03-08 10:21:05.000000000 +0100
@@ -21,7 +21,10 @@
     )
 
 add_executable(kongress ${kongress_SRCS} ${RESOURCES})
-target_link_libraries(kongress PRIVATE Qt5::Core Qt5::Qml Qt5::Quick Qt5::Test Qt5::Svg Qt5::QuickControls2 Qt5::Network Qt5::DBus KF5::ConfigCore KF5::I18n KF5::CalendarCore KF5::CoreAddons)
+target_link_libraries(kongress PRIVATE Qt5::Core Qt5::Qml Qt5::Quick Qt5::Svg Qt5::QuickControls2 Qt5::Network Qt5::DBus KF5::ConfigCore KF5::I18n KF5::CalendarCore KF5::CoreAddons)
+if (BUILD_TESTING)
+    target_link_libraries(kongress PRIVATE Qt5::Test)
+endif()
 
 if (ANDROID)
     target_link_libraries(kongress PRIVATE
diff -Nru kongress-1.0/src/conferencecontroller.cpp kongress-1.0.1/src/conferencecontroller.cpp
--- kongress-1.0/src/conferencecontroller.cpp	2021-01-25 16:45:58.000000000 +0100
+++ kongress-1.0.1/src/conferencecontroller.cpp	2021-03-08 10:21:05.000000000 +0100
@@ -64,7 +64,6 @@
     m_conferences_file = new QFile {dir + fileName};
 
     const QUrl conferencesUrl {QStringLiteral("https://autoconfig.kde.org/kongress") + fileName};
-
     QNetworkRequest request {conferencesUrl};
     auto nm = new QNetworkAccessManager {this};
     nm->get(request);
@@ -115,9 +114,17 @@
 
 void ConferenceController::loadConference(const QJsonObject &jsonObj)
 {
-    auto conference = new Conference {this};
+    auto conferenceId = jsonObj["id"].toString();
+
+    for (const auto cf : qAsConst(m_conferences)) {
+        if (cf->id() == conferenceId) {
+            qDebug() << "Conference already loaded";
+            return;
+        }
+    }
 
-    conference->setId(jsonObj["id"].toString());
+    auto conference = new Conference {this};
+    conference->setId(conferenceId);
     conference->setName(jsonObj["name"].toString());
     conference->setDescription(jsonObj["description"].toString());
     conference->setIcalUrl(jsonObj["icalUrl"].toString());
diff -Nru kongress-1.0/src/contents/ui/EventInfo.qml kongress-1.0.1/src/contents/ui/EventInfo.qml
--- kongress-1.0/src/contents/ui/EventInfo.qml	2021-01-25 16:45:58.000000000 +0100
+++ kongress-1.0.1/src/contents/ui/EventInfo.qml	2021-03-08 10:21:05.000000000 +0100
@@ -57,8 +57,11 @@
         id: cardDelegate
 
         visible: root.event
-        banner.title: root.event ? event.summary : ""
-        banner.titleLevel: 3
+        banner {
+            title: root.event ? event.summary : ""
+            titleLevel: 3
+            titleWrapMode: Text.WordWrap
+        }
 
         contentItem: Column {
             spacing: Kirigami.Units.largeSpacing
diff -Nru kongress-1.0/src/contents/ui/ScheduleView.qml kongress-1.0.1/src/contents/ui/ScheduleView.qml
--- kongress-1.0/src/contents/ui/ScheduleView.qml	2021-01-25 16:45:58.000000000 +0100
+++ kongress-1.0.1/src/contents/ui/ScheduleView.qml	2021-03-08 10:21:05.000000000 +0100
@@ -53,7 +53,7 @@
 
         model: eventsModel
         section {
-            property: "eventDt"
+            property: Kongress.SettingsController.displayInLocalTimezone ? "shiftedEventDtLocal" : "shiftedEventDt"
             criteria: ViewSection.FullString
             delegate: Kirigami.ListSectionHeader {
                 label: section
@@ -103,5 +103,4 @@
         calendar: root.roCalendar
         eventCategory: root.category
     }
-
 }
diff -Nru kongress-1.0/src/eventcontroller.cpp kongress-1.0.1/src/eventcontroller.cpp
--- kongress-1.0/src/eventcontroller.cpp	2021-01-25 16:45:58.000000000 +0100
+++ kongress-1.0.1/src/eventcontroller.cpp	2021-03-08 10:21:05.000000000 +0100
@@ -88,7 +88,7 @@
     event->clearAlarms();
 
     auto newAlarm = event->newAlarm();
-    newAlarm->setStartOffset(KCalendarCore::Duration(-60 & m_settings_controller->remindBeforeStart(), KCalendarCore::Duration::Type::Seconds));
+    newAlarm->setStartOffset(KCalendarCore::Duration(-60 * m_settings_controller->remindBeforeStart(), KCalendarCore::Duration::Type::Seconds));
     newAlarm->setType(KCalendarCore::Alarm::Type::Display);
     newAlarm->setEnabled(true);
     auto alarmText = (event->summary()).isEmpty() ? event->description() : event->summary();
diff -Nru kongress-1.0/src/eventmodel.cpp kongress-1.0.1/src/eventmodel.cpp
--- kongress-1.0/src/eventmodel.cpp	2021-01-25 16:45:58.000000000 +0100
+++ kongress-1.0.1/src/eventmodel.cpp	2021-03-08 10:21:05.000000000 +0100
@@ -9,13 +9,16 @@
 #include <KCalendarCore/CalFilter>
 #include <KCalendarCore/MemoryCalendar>
 #include <KLocalizedString>
+#include <KCalendarCore/Sorting>
+#include "settingscontroller.h"
 
 EventModel::EventModel(QObject *parent) :
     QAbstractListModel {parent},
     m_events {KCalendarCore::Event::List {}},
     m_filterdt {QDate {}},
     m_category {QString {}},
-    m_local_calendar {nullptr}
+    m_local_calendar {nullptr},
+    m_settings_controller {new SettingsController}
 {
     connect(this, &EventModel::filterdtChanged, this, &EventModel::loadEvents);
     connect(this, &EventModel::calendarChanged, this, &EventModel::loadEvents);
@@ -54,6 +57,8 @@
         { Uid, "uid" },
         { EventStartDt, "eventStartDt" },
         { EventDt, "eventDt" },
+        { ShiftedEventDt, "shiftedEventDt" },
+        { ShiftedEventDtLocal, "shiftedEventDtLocal" },
         { ScheduleStartDt, "scheduleStartDt" },
         { AllDay, "allday" },
         { Description, "description" },
@@ -103,6 +108,15 @@
         return startDtTime;
     case EventDt:
         return startDtTime.toString("dddd d MMMM");
+    case ShiftedEventDt: {
+        startDtTime.setTimeZone(calendarTz);
+        return startDtTime.toString("dddd d MMMM");
+    }
+    case ShiftedEventDtLocal: {
+        startDtTime.setTimeZone(calendarTz);
+        startDtTime = startDtTime.toTimeZone(QTimeZone::systemTimeZone());
+        return startDtTime.toString("dddd d MMMM");
+    }
     case ScheduleStartDt: {
         startDtTime.setTimeZone(calendarTz);
         return startDtTime;
@@ -220,7 +234,9 @@
     m_events.clear();
 
     if (m_local_calendar != nullptr && m_local_calendar->memorycalendar() != nullptr && m_filterdt.isValid()) {
-        m_events = m_local_calendar->memorycalendar()->rawEventsForDate(m_filterdt, m_local_calendar->memorycalendar()->timeZone(), KCalendarCore::EventSortStartDate, KCalendarCore::SortDirectionAscending);
+        auto filterTz = m_settings_controller->displayInLocalTimezone() ? QTimeZone::systemTimeZone() : m_local_calendar->memorycalendar()->timeZone();
+        auto dayEvents = m_local_calendar->memorycalendar()->rawEvents(m_filterdt, m_filterdt, filterTz, true);
+        m_events = KCalendarCore::Calendar::sortEvents(dayEvents, KCalendarCore::EventSortField::EventSortStartDate, KCalendarCore::SortDirection::SortDirectionAscending);
     }
 
     if (m_local_calendar != nullptr && m_local_calendar->memorycalendar() != nullptr && m_filterdt.isNull()) {
diff -Nru kongress-1.0/src/eventmodel.h kongress-1.0.1/src/eventmodel.h
--- kongress-1.0/src/eventmodel.h	2021-01-25 16:45:58.000000000 +0100
+++ kongress-1.0.1/src/eventmodel.h	2021-03-08 10:21:05.000000000 +0100
@@ -11,6 +11,7 @@
 #include <KCalendarCore/Event>
 
 class LocalCalendar;
+class SettingsController;
 
 class EventModel : public QAbstractListModel
 {
@@ -29,6 +30,8 @@
         ScheduleStartDt,
         EventStartDt,
         EventDt,
+        ShiftedEventDt,
+        ShiftedEventDtLocal,
         AllDay,
         Description,
         Summary,
@@ -108,6 +111,7 @@
     QDate m_filterdt;
     QString m_category;
     LocalCalendar *m_local_calendar;
+    SettingsController *m_settings_controller;
 };
 
 #endif //EVENTMODEL_H
diff -Nru kongress-1.0/src/main.cpp kongress-1.0.1/src/main.cpp
--- kongress-1.0/src/main.cpp	2021-01-25 16:45:58.000000000 +0100
+++ kongress-1.0.1/src/main.cpp	2021-03-08 10:21:05.000000000 +0100
@@ -29,7 +29,7 @@
     QApplication app {argc, argv};
     KLocalizedString::setApplicationDomain("kongress");
 
-    KAboutData about {QStringLiteral("kongress"), i18n("Kongress"), QStringLiteral("1.0"), i18n("KDE Conference Companion"), KAboutLicense::GPL_V3, i18n("© 2021 KDE Community")};
+    KAboutData about {QStringLiteral("kongress"), i18n("Kongress"), QStringLiteral("1.0.1"), i18n("KDE Conference Companion"), KAboutLicense::GPL_V3, i18n("© 2021 KDE Community")};
     about.setOrganizationDomain(QByteArray {"kde.org"});
     about.setProductName(QByteArray {"kongress"});
     about.addAuthor(i18nc("@info:credit", "Dimitris Kardarakos"), i18nc("@info:credit", "Maintainer and Developer"), QStringLiteral("dimkard at posteo.net"));


More information about the pkg-kde-extras mailing list