Hello community,

here is the log from the commit of package kactivitymanagerd for 
openSUSE:Factory checked in at 2020-10-13 15:28:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kactivitymanagerd (Old)
 and      /work/SRC/openSUSE:Factory/.kactivitymanagerd.new.3486 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kactivitymanagerd"

Tue Oct 13 15:28:00 2020 rev:85 rq:840977 version:5.20.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/kactivitymanagerd/kactivitymanagerd.changes      
2020-09-04 11:06:05.646847793 +0200
+++ 
/work/SRC/openSUSE:Factory/.kactivitymanagerd.new.3486/kactivitymanagerd.changes
    2020-10-13 15:28:02.724826986 +0200
@@ -1,0 +2,23 @@
+Thu Oct  8 16:55:19 UTC 2020 - Fabian Vogt <fab...@ritter-vogt.de>
+
+- Update to 5.20.0
+  * New bugfix release
+  * For more details please see:
+  * https://kde.org/announcements/plasma-5.20.0
+- Changes since 5.19.90:
+  * Use correct way to register for a shortcut (kde#374575)
+
+-------------------------------------------------------------------
+Thu Sep 17 20:02:57 UTC 2020 - Fabian Vogt <fab...@ritter-vogt.de>
+
+- Update to 5.19.90
+  * New bugfix release
+  * For more details please see:
+  * https://kde.org/announcements/plasma-5.19.90
+- Changes since 5.19.5:
+  * Fix spelling error.
+  * Resources database backups
+  * Improve assert's error message on SQL error
+  * Added logo for GitLab
+
+-------------------------------------------------------------------

Old:
----
  kactivitymanagerd-5.19.5.tar.xz
  kactivitymanagerd-5.19.5.tar.xz.sig

New:
----
  kactivitymanagerd-5.20.0.tar.xz
  kactivitymanagerd-5.20.0.tar.xz.sig

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

Other differences:
------------------
++++++ kactivitymanagerd.spec ++++++
--- /var/tmp/diff_new_pack.0uV85Q/_old  2020-10-13 15:28:03.384827266 +0200
+++ /var/tmp/diff_new_pack.0uV85Q/_new  2020-10-13 15:28:03.388827268 +0200
@@ -20,15 +20,15 @@
 
 %bcond_without lang
 Name:           kactivitymanagerd
-Version:        5.19.5
+Version:        5.20.0
 Release:        0
 Summary:        KDE Plasma Activities support
 License:        GPL-2.0-or-later
 Group:          System/GUI/KDE
 Url:            http://projects.kde.org/kactivitymanagerd
-Source:         
https://download.kde.org/stable/plasma/%{version}/kactivitymanagerd-%{version}.tar.xz
+Source:         kactivitymanagerd-%{version}.tar.xz
 %if %{with lang}
-Source1:        
https://download.kde.org/stable/plasma/%{version}/kactivitymanagerd-%{version}.tar.xz.sig
+Source1:        kactivitymanagerd-%{version}.tar.xz.sig
 Source2:        plasma.keyring
 %endif
 %if 0%{?suse_version} > 1325

++++++ kactivitymanagerd-5.19.5.tar.xz -> kactivitymanagerd-5.20.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kactivitymanagerd-5.19.5/.arcconfig 
new/kactivitymanagerd-5.20.0/.arcconfig
--- old/kactivitymanagerd-5.19.5/.arcconfig     2020-09-01 12:23:49.000000000 
+0200
+++ new/kactivitymanagerd-5.20.0/.arcconfig     1970-01-01 01:00:00.000000000 
+0100
@@ -1,4 +0,0 @@
-{
-    "project.name" : "KActivities",
-    "phabricator.uri" : "https://phabricator.kde.org/";
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kactivitymanagerd-5.19.5/CMakeLists.txt 
new/kactivitymanagerd-5.20.0/CMakeLists.txt
--- old/kactivitymanagerd-5.19.5/CMakeLists.txt 2020-09-01 12:23:49.000000000 
+0200
+++ new/kactivitymanagerd-5.20.0/CMakeLists.txt 2020-10-08 18:07:34.000000000 
+0200
@@ -6,8 +6,8 @@
 
 option (KACTIVITIES_ENABLE_EXCEPTIONS "If you have Boost 1.53, you need to 
build KActivities with exceptions enabled. This is UNTESTED and EXPERIMENTAL!" 
OFF)
 
-set(QT_MIN_VERSION "5.14.0")
-set(KF5_MIN_VERSION "5.66.0")
+set(QT_MIN_VERSION "5.15.0")
+set(KF5_MIN_VERSION "5.74")
 
 # We don't build in-source
 if ("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
Binary files old/kactivitymanagerd-5.19.5/logo.png and 
new/kactivitymanagerd-5.20.0/logo.png differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kactivitymanagerd-5.19.5/po/az/kactivities5.po 
new/kactivitymanagerd-5.20.0/po/az/kactivities5.po
--- old/kactivitymanagerd-5.19.5/po/az/kactivities5.po  1970-01-01 
01:00:00.000000000 +0100
+++ new/kactivitymanagerd-5.20.0/po/az/kactivities5.po  2020-10-08 
18:07:35.000000000 +0200
@@ -0,0 +1,35 @@
+# Copyright (C) YEAR This file is copyright:
+# This file is distributed under the same license as the kactivitymanagerd 
package.
+#
+# Xəyyam Qocayev <xxm...@gmail.com>, 2020.
+msgid ""
+msgstr ""
+"Project-Id-Version: kactivitymanagerd\n"
+"Report-Msgid-Bugs-To: https://bugs.kde.org\n";
+"POT-Creation-Date: 2020-02-24 03:39+0100\n"
+"PO-Revision-Date: 2020-05-13 00:07+0400\n"
+"Last-Translator: Xəyyam Qocayev <xxm...@gmail.com>\n"
+"Language-Team: Azerbaijani\n"
+"Language: az\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Lokalize 20.04.0\n"
+
+#: service/Activities.cpp:134
+#, kde-format
+msgid "Default"
+msgstr "Standart Fəaliyyət"
+
+#: service/plugins/globalshortcuts/GlobalShortcutsPlugin.cpp:42
+#, kde-format
+msgid "Activity Manager"
+msgstr "Fəaliyyət Meneceri"
+
+#: service/plugins/globalshortcuts/GlobalShortcutsPlugin.cpp:89
+#: service/plugins/globalshortcuts/GlobalShortcutsPlugin.cpp:123
+#, kde-format
+msgctxt "@action"
+msgid "Switch to activity \"%1\""
+msgstr "\"%1\" fəaliyyətinə keçid"
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kactivitymanagerd-5.19.5/po/ca/kactivities5.po 
new/kactivitymanagerd-5.20.0/po/ca/kactivities5.po
--- old/kactivitymanagerd-5.19.5/po/ca/kactivities5.po  2020-09-01 
12:23:52.000000000 +0200
+++ new/kactivitymanagerd-5.20.0/po/ca/kactivities5.po  2020-10-08 
18:07:37.000000000 +0200
@@ -7,7 +7,7 @@
 # Antoni Bella Pérez <antonibel...@yahoo.com>, 2014, 2015, 2018.
 msgid ""
 msgstr ""
-"Project-Id-Version: kactivities5\n"
+"Project-Id-Version: kactivitymanagerd\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2020-02-24 03:39+0100\n"
 "PO-Revision-Date: 2018-08-08 09:12+0100\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kactivitymanagerd-5.19.5/po/ca@valencia/kactivities5.po 
new/kactivitymanagerd-5.20.0/po/ca@valencia/kactivities5.po
--- old/kactivitymanagerd-5.19.5/po/ca@valencia/kactivities5.po 2020-09-01 
12:23:52.000000000 +0200
+++ new/kactivitymanagerd-5.20.0/po/ca@valencia/kactivities5.po 2020-10-08 
18:07:37.000000000 +0200
@@ -8,7 +8,7 @@
 # Antoni Bella Pérez <antonibel...@yahoo.com>, 2014, 2015, 2018.
 msgid ""
 msgstr ""
-"Project-Id-Version: kactivities5\n"
+"Project-Id-Version: kactivitymanagerd\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2020-02-24 03:39+0100\n"
 "PO-Revision-Date: 2019-07-03 13:09+0200\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kactivitymanagerd-5.19.5/po/hi/kactivities5.po 
new/kactivitymanagerd-5.20.0/po/hi/kactivities5.po
--- old/kactivitymanagerd-5.19.5/po/hi/kactivities5.po  2020-09-01 
12:23:57.000000000 +0200
+++ new/kactivitymanagerd-5.20.0/po/hi/kactivities5.po  2020-10-08 
18:07:43.000000000 +0200
@@ -2,20 +2,20 @@
 # Copyright (C) YEAR This_file_is_part_of_KDE
 # This file is distributed under the same license as the PACKAGE package.
 #
-# Raghavendra Kamath <ra...@raghukamath.com>, 2020.
+# G Karunakar <karuna...@indlinux.org>, 2020.
 msgid ""
 msgstr ""
 "Project-Id-Version: kactivitymanagerd\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2020-02-24 03:39+0100\n"
-"PO-Revision-Date: 2020-08-25 23:35+0530\n"
-"Last-Translator: Raghavendra Kamath <ra...@raghukamath.com>\n"
-"Language-Team: Kde-hindi\n"
+"PO-Revision-Date: 2020-08-18 01:05+0530\n"
+"Last-Translator: G Karunakar <karuna...@indlinux.org>\n"
+"Language-Team: Hindi <kde-i18n-...@kde.org>\n"
 "Language: hi\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Lokalize 20.04.3\n"
+"X-Generator: Lokalize 2.0\n"
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 
 #: service/Activities.cpp:134
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kactivitymanagerd-5.19.5/po/pl/kactivities5.po 
new/kactivitymanagerd-5.20.0/po/pl/kactivities5.po
--- old/kactivitymanagerd-5.19.5/po/pl/kactivities5.po  2020-09-01 
12:24:04.000000000 +0200
+++ new/kactivitymanagerd-5.20.0/po/pl/kactivities5.po  2020-10-08 
18:07:52.000000000 +0200
@@ -2,13 +2,14 @@
 # This file is distributed under the same license as the PACKAGE package.
 #
 # Łukasz Wojniłowicz <lukasz.wojnilow...@gmail.com>, 2012, 2014, 2015, 2016, 
2018.
+# Ignacy Kajdan <ignacy.kaj...@gmail.com>, 2020.
 msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2020-02-24 03:39+0100\n"
-"PO-Revision-Date: 2018-09-01 06:24+0100\n"
-"Last-Translator: Łukasz Wojniłowicz <lukasz.wojnilow...@gmail.com>\n"
+"PO-Revision-Date: 2020-09-20 10:00+0200\n"
+"Last-Translator: Ignacy Kajdan <ignacy.kaj...@gmail.com>\n"
 "Language-Team: Polish <kde-i18n-...@kde.org>\n"
 "Language: pl\n"
 "MIME-Version: 1.0\n"
@@ -16,12 +17,12 @@
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
 "|| n%100>=20) ? 1 : 2);\n"
-"X-Generator: Lokalize 2.0\n"
+"X-Generator: Lokalize 20.07.70\n"
 
 #: service/Activities.cpp:134
 #, kde-format
 msgid "Default"
-msgstr "Domyślne"
+msgstr "Domyślna"
 
 #: service/plugins/globalshortcuts/GlobalShortcutsPlugin.cpp:42
 #, kde-format
@@ -33,4 +34,4 @@
 #, kde-format
 msgctxt "@action"
 msgid "Switch to activity \"%1\""
-msgstr "Przełącz do aktywności \"%1\""
\ No newline at end of file
+msgstr "Przełącz do aktywności „%1”"
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kactivitymanagerd-5.19.5/po/ro/kactivities5.po 
new/kactivitymanagerd-5.20.0/po/ro/kactivities5.po
--- old/kactivitymanagerd-5.19.5/po/ro/kactivities5.po  2020-09-01 
12:24:05.000000000 +0200
+++ new/kactivitymanagerd-5.20.0/po/ro/kactivities5.po  2020-10-08 
18:07:53.000000000 +0200
@@ -1,33 +1,32 @@
 # Copyright (C) YEAR This_file_is_part_of_KDE
 # This file is distributed under the same license as the PACKAGE package.
+# Sergiu Bivol <ser...@cip.md>, 2012, 2013, 2020.
 #
-# Sergiu Bivol <ser...@ase.md>, 2012, 2013.
 msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2020-02-24 03:39+0100\n"
-"PO-Revision-Date: 2013-10-27 11:29+0200\n"
-"Last-Translator: Sergiu Bivol <ser...@ase.md>\n"
-"Language-Team: Romanian <kde-i18n...@kde.org>\n"
+"PO-Revision-Date: 2020-09-19 11:25+0100\n"
+"Last-Translator: Sergiu Bivol <ser...@cip.md>\n"
+"Language-Team: Romanian\n"
 "Language: ro\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
 "20)) ? 1 : 2;\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 19.12.3\n"
 
 #: service/Activities.cpp:134
 #, kde-format
 msgid "Default"
-msgstr ""
+msgstr "Implicită"
 
 #: service/plugins/globalshortcuts/GlobalShortcutsPlugin.cpp:42
-#, fuzzy, kde-format
-#| msgid "Activities..."
+#, kde-format
 msgid "Activity Manager"
-msgstr "Activități..."
+msgstr "Gestionar de activități"
 
 #: service/plugins/globalshortcuts/GlobalShortcutsPlugin.cpp:89
 #: service/plugins/globalshortcuts/GlobalShortcutsPlugin.cpp:123
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kactivitymanagerd-5.19.5/po/sv/kactivities5.po 
new/kactivitymanagerd-5.20.0/po/sv/kactivities5.po
--- old/kactivitymanagerd-5.19.5/po/sv/kactivities5.po  2020-09-01 
12:24:07.000000000 +0200
+++ new/kactivitymanagerd-5.20.0/po/sv/kactivities5.po  1970-01-01 
01:00:00.000000000 +0100
@@ -1,35 +0,0 @@
-# Copyright (C) YEAR This_file_is_part_of_KDE
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Stefan Asserhäll <stefan.asserh...@bredband.net>, 2016, 2018.
-msgid ""
-msgstr ""
-"Project-Id-Version: \n"
-"Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2020-02-24 03:39+0100\n"
-"PO-Revision-Date: 2018-08-09 16:35+0100\n"
-"Last-Translator: Stefan Asserhäll <stefan.asserh...@bredband.net>\n"
-"Language-Team: Swedish <kde-i18n-...@kde.org>\n"
-"Language: sv\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Lokalize 2.0\n"
-
-#: service/Activities.cpp:134
-#, kde-format
-msgid "Default"
-msgstr "Förval"
-
-#: service/plugins/globalshortcuts/GlobalShortcutsPlugin.cpp:42
-#, kde-format
-msgid "Activity Manager"
-msgstr "Aktivitetshanterare"
-
-#: service/plugins/globalshortcuts/GlobalShortcutsPlugin.cpp:89
-#: service/plugins/globalshortcuts/GlobalShortcutsPlugin.cpp:123
-#, kde-format
-msgctxt "@action"
-msgid "Switch to activity \"%1\""
-msgstr "Byt till aktivitet \"%1\""
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kactivitymanagerd-5.19.5/po/uk/kactivities5.po 
new/kactivitymanagerd-5.20.0/po/uk/kactivities5.po
--- old/kactivitymanagerd-5.19.5/po/uk/kactivities5.po  2020-09-01 
12:24:09.000000000 +0200
+++ new/kactivitymanagerd-5.20.0/po/uk/kactivities5.po  2020-10-08 
18:07:57.000000000 +0200
@@ -1,5 +1,5 @@
 # Translation of kactivities5.po to Ukrainian
-# Copyright (C) 2014-2018 This_file_is_part_of_KDE
+# Copyright (C) 2018 This_file_is_part_of_KDE
 # This file is distributed under the license LGPL version 2.1 or
 # version 3 or later versions approved by the membership of KDE e.V.
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kactivitymanagerd-5.19.5/po/zh_CN/kactivities5.po 
new/kactivitymanagerd-5.20.0/po/zh_CN/kactivities5.po
--- old/kactivitymanagerd-5.19.5/po/zh_CN/kactivities5.po       2020-09-01 
12:24:10.000000000 +0200
+++ new/kactivitymanagerd-5.20.0/po/zh_CN/kactivities5.po       2020-10-08 
18:07:58.000000000 +0200
@@ -9,7 +9,7 @@
 "Project-Id-Version: kdeorg\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2020-02-24 03:39+0100\n"
-"PO-Revision-Date: 2020-08-12 20:42\n"
+"PO-Revision-Date: 2020-09-23 12:21\n"
 "Last-Translator: \n"
 "Language-Team: Chinese Simplified\n"
 "Language: zh_CN\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kactivitymanagerd-5.19.5/src/common/database/Database.cpp 
new/kactivitymanagerd-5.20.0/src/common/database/Database.cpp
--- old/kactivitymanagerd-5.19.5/src/common/database/Database.cpp       
2020-09-01 12:23:49.000000000 +0200
+++ new/kactivitymanagerd-5.20.0/src/common/database/Database.cpp       
2020-10-08 18:07:34.000000000 +0200
@@ -110,6 +110,11 @@
         qCDebug(KAMD_LOG_RESOURCES) << "Closing SQL connection: " << 
m_connectionName;
     }
 
+    void close()
+    {
+        m_database.close();
+    }
+
     QSqlDatabase &get()
     {
         return m_database;
@@ -207,6 +212,9 @@
         qCWarning(KAMD_LOG_RESOURCES) << "KActivities: Database can not be 
opened in WAL mode. Check the "
                                          "SQLite version (required >3.7.0). 
And whether your filesystem "
                                          "supports shared memory";
+
+        ptr->d->database->close();
+
         return nullptr;
     }
 
@@ -237,6 +245,11 @@
     return d->query();
 }
 
+void Database::reportError(const QSqlError &error_)
+{
+    Q_EMIT error(error_);
+}
+
 QString Database::lastQuery() const
 {
 #ifdef QT_DEBUG
@@ -249,7 +262,13 @@
 {
     Q_UNUSED(ignoreErrors);
 #ifdef QT_NO_DEBUG
-    return d->query(query);
+    auto result = d->query(query);
+
+    if (!ignoreErrors && result.lastError().isValid()) {
+        Q_EMIT error(result.lastError());
+    }
+
+    return result;
 #else
     auto result = d->query(query);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kactivitymanagerd-5.19.5/src/common/database/Database.h 
new/kactivitymanagerd-5.20.0/src/common/database/Database.h
--- old/kactivitymanagerd-5.19.5/src/common/database/Database.h 2020-09-01 
12:23:49.000000000 +0200
+++ new/kactivitymanagerd-5.20.0/src/common/database/Database.h 2020-10-08 
18:07:34.000000000 +0200
@@ -25,10 +25,13 @@
 #include <memory>
 #include <QSqlQuery>
 #include <QRegExp>
+#include <QObject>
 
 namespace Common {
 
-class Database {
+class Database: public QObject {
+    Q_OBJECT
+
 public:
     typedef std::shared_ptr<Database> Ptr;
 
@@ -67,10 +70,15 @@
         QSqlDatabase &m_database;
     };
 
+    void reportError(const QSqlError &error);
+
     #define DATABASE_TRANSACTION(A) \
         /* enable this for debugging only: qCDebug(KAMD_LOG_RESOURCES) << 
"Location:" << __FILE__ << __LINE__; */ \
         Common::Database::Locker lock(A)
 
+Q_SIGNALS:
+    void error(const QSqlError &error) const;
+
 private:
     D_PTR;
 };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kactivitymanagerd-5.19.5/src/common/database/schema/ResourcesDatabaseSchema.cpp
 
new/kactivitymanagerd-5.20.0/src/common/database/schema/ResourcesDatabaseSchema.cpp
--- 
old/kactivitymanagerd-5.19.5/src/common/database/schema/ResourcesDatabaseSchema.cpp
 2020-09-01 12:23:49.000000000 +0200
+++ 
new/kactivitymanagerd-5.20.0/src/common/database/schema/ResourcesDatabaseSchema.cpp
 2020-10-08 18:07:34.000000000 +0200
@@ -170,6 +170,18 @@
 
     database.execQueries(ResourcesDatabaseSchema::schema());
 
+    // We are asking for trouble. If the database is corrupt,
+    // some of these should fail.
+    // WARNING: Sqlite specific!
+    database.execQueries(QStringList{
+            ".tables",
+            "SELECT count(*) FROM SchemaInfo",
+            "SELECT count(*) FROM ResourceEvent",
+            "SELECT count(*) FROM ResourceScoreCache",
+            "SELECT count(*) FROM ResourceLink",
+            "SELECT count(*) FROM ResourceInfo"
+        });
+
     // We can not allow empty fields for activity and agent, they need to
     // be at least magic values. These do not change the structure
     // of the database, but the old data.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kactivitymanagerd-5.19.5/src/service/files/kactivitymanagerd-plugin.desktop 
new/kactivitymanagerd-5.20.0/src/service/files/kactivitymanagerd-plugin.desktop
--- 
old/kactivitymanagerd-5.19.5/src/service/files/kactivitymanagerd-plugin.desktop 
    2020-09-01 12:23:49.000000000 +0200
+++ 
new/kactivitymanagerd-5.20.0/src/service/files/kactivitymanagerd-plugin.desktop 
    2020-10-08 18:07:34.000000000 +0200
@@ -4,6 +4,7 @@
 
 Comment=Activity manager plugin
 Comment[ar]=ملحقة مدير الأنشطة
+Comment[az]=Fəaliyyət Menecerinin Əlavəsi
 Comment[bs]=Priključak za praćenje aktivnosti
 Comment[ca]=Connector pel gestor d'activitats
 Comment[ca@valencia]=Connector per al gestor d'activitats
@@ -49,7 +50,6 @@
 Comment[sr@ijekavian]=Прикључак менаџера активности
 Comment[sr@ijekavianlatin]=Priključak menadžera aktivnosti
 Comment[sr@latin]=Priključak menadžera aktivnosti
-Comment[sv]=Aktivitetshanterare
 Comment[tg]=Васлкунаки мудири фаъолият
 Comment[tr]=Etkinlik yöneticisi eklentisi
 Comment[ug]=پائالىيەت باشقۇرغۇچ قىستۇرمىسى
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kactivitymanagerd-5.19.5/src/service/files/kactivitymanagerd.desktop 
new/kactivitymanagerd-5.20.0/src/service/files/kactivitymanagerd.desktop
--- old/kactivitymanagerd-5.19.5/src/service/files/kactivitymanagerd.desktop    
2020-09-01 12:23:49.000000000 +0200
+++ new/kactivitymanagerd-5.20.0/src/service/files/kactivitymanagerd.desktop    
2020-10-08 18:07:34.000000000 +0200
@@ -8,6 +8,7 @@
 
 Name=Activity Manager
 Name[ar]=مدير الأنشطة
+Name[az]=Fəaliyyət menegeri
 Name[bs]=Menadžer aktivnosti
 Name[ca]=Gestor d'activitats
 Name[ca@valencia]=Gestor d'activitats
@@ -53,7 +54,6 @@
 Name[sr@ijekavian]=Менаџер активности
 Name[sr@ijekavianlatin]=Menadžer aktivnosti
 Name[sr@latin]=Menadžer aktivnosti
-Name[sv]=Aktivitetshanterare
 Name[tg]=Мудири фаъолият
 Name[tr]=Etkinlik Yöneticisi
 Name[ug]=پائالىيەت باشقۇرغۇچ
@@ -64,6 +64,7 @@
 
 Comment=The activity management backend
 Comment[ar]=سند إدارة الأنشطة
+Comment[az]=Fəaliyyətlərin İdarə Mexanizmi
 Comment[bs]=Pozadina za upravljanje aktivnostima
 Comment[ca]=El dorsal pel gestor d'activitats
 Comment[ca@valencia]=El dorsal per al gestor d'activitats
@@ -109,7 +110,6 @@
 Comment[sr@ijekavian]=Позадина за управљање активностима
 Comment[sr@ijekavianlatin]=Pozadina za upravljanje aktivnostima
 Comment[sr@latin]=Pozadina za upravljanje aktivnostima
-Comment[sv]=Gränssnittet för aktivitetshanteringen
 Comment[tg]=Коркардкунандаи мудири фаъолият
 Comment[tr]=Etkinlik yönetimi arka ucu
 Comment[ug]=پائالىيەت باشقۇرغۇچ ئارقا ئۇچى
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kactivitymanagerd-5.19.5/src/service/plugins/activitytemplates/kactivitymanagerd-plugin-activitytemplates.json
 
new/kactivitymanagerd-5.20.0/src/service/plugins/activitytemplates/kactivitymanagerd-plugin-activitytemplates.json
--- 
old/kactivitymanagerd-5.19.5/src/service/plugins/activitytemplates/kactivitymanagerd-plugin-activitytemplates.json
  2020-09-01 12:23:49.000000000 +0200
+++ 
new/kactivitymanagerd-5.20.0/src/service/plugins/activitytemplates/kactivitymanagerd-plugin-activitytemplates.json
  2020-10-08 18:07:34.000000000 +0200
@@ -4,6 +4,7 @@
             {
                 "Email": "ivan.cu...@kde.org",
                 "Name": "Ivan Čukić",
+                "Name[az]": "Ivan Čukić",
                 "Name[ca@valencia]": "Ivan Čukić",
                 "Name[ca]": "Ivan Čukić",
                 "Name[cs]": "Ivan Čukić",
@@ -28,6 +29,7 @@
                 "Name[pl]": "Ivan Čukić",
                 "Name[pt]": "Ivan Čukić",
                 "Name[pt_BR]": "Ivan Čukić",
+                "Name[ro]": "Ivan Čukić",
                 "Name[ru]": "Ivan Čukić",
                 "Name[sk]": "Ivan Čukić",
                 "Name[sl]": "Ivan Čukić",
@@ -35,7 +37,6 @@
                 "Name[sr@ijekavianlatin]": "Ivan Čukić",
                 "Name[sr@latin]": "Ivan Čukić",
                 "Name[sr]": "Иван Чукић",
-                "Name[sv]": "Ivan Čukić",
                 "Name[tr]": "Ivan Čukić",
                 "Name[uk]": "Ivan Čukić",
                 "Name[x-test]": "xxIvan Čukićxx",
@@ -46,6 +47,7 @@
         "Category": "",
         "Dependencies": [],
         "Description": "Support for creating templated activities",
+        "Description[az]": "Fəaliyyət nümunələrinin yaradılmasının 
dəstəklənməsi",
         "Description[ca@valencia]": "Suport per a la creació d'activitats amb 
plantilles",
         "Description[ca]": "Suport per a la creació d'activitats amb 
plantilles",
         "Description[cs]": "Podpora pro vytváření aktivit podle šablon",
@@ -70,6 +72,7 @@
         "Description[pl]": "Obsługa tworzenia szablonowych działań",
         "Description[pt]": "Suporte para a criação de actividades com modelos",
         "Description[pt_BR]": "Suporte para criação de atividades em modelos",
+        "Description[ro]": "Suport pentru crearea activităților din șablon",
         "Description[ru]": "Поддержка создания шаблонов комнат",
         "Description[sk]": "Podpora pre vytváranie šablónovaných aktivít",
         "Description[sl]": "Podpora za ustvarjanje predlog dejavnosti",
@@ -77,7 +80,6 @@
         "Description[sr@ijekavianlatin]": "Podrška za stvaranje šablonskih 
aktivnosti",
         "Description[sr@latin]": "Podrška za stvaranje šablonskih aktivnosti",
         "Description[sr]": "Подршка за стварање шаблонских активности",
-        "Description[sv]": "Stöd för att skapa aktivitetsmallar",
         "Description[tr]": "Şablonlu etkinlikler yaratma desteği",
         "Description[uk]": "Підтримка створення шаблонних просторів дій",
         "Description[x-test]": "xxSupport for creating templated activitiesxx",
@@ -88,6 +90,7 @@
         "Id": "org.kde.ActivityManager.ActivityTemplates",
         "License": "GPL",
         "Name": "Activity Templates",
+        "Name[az]": "Fəaliyyət Nümunələri",
         "Name[ca@valencia]": "Plantilles de les activitats",
         "Name[ca]": "Plantilles de les activitats",
         "Name[cs]": "Šablony aktivit",
@@ -112,6 +115,7 @@
         "Name[pl]": "Szablony działań",
         "Name[pt]": "Modelos de Actividades",
         "Name[pt_BR]": "Modelos de atividades",
+        "Name[ro]": "Șabloane de activitate",
         "Name[ru]": "Шаблоны комнат",
         "Name[sk]": "Šablóny aktivít",
         "Name[sl]": "Predloge dejavnosti",
@@ -119,7 +123,6 @@
         "Name[sr@ijekavianlatin]": "Šabloni aktivnosti",
         "Name[sr@latin]": "Šabloni aktivnosti",
         "Name[sr]": "Шаблони активности",
-        "Name[sv]": "Aktivitetsmallar",
         "Name[tr]": "Etkinlik Şablonları",
         "Name[uk]": "Шаблони просторів дій",
         "Name[x-test]": "xxActivity Templatesxx",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kactivitymanagerd-5.19.5/src/service/plugins/eventspy/kactivitymanagerd-plugin-eventspy.json
 
new/kactivitymanagerd-5.20.0/src/service/plugins/eventspy/kactivitymanagerd-plugin-eventspy.json
--- 
old/kactivitymanagerd-5.19.5/src/service/plugins/eventspy/kactivitymanagerd-plugin-eventspy.json
    2020-09-01 12:23:49.000000000 +0200
+++ 
new/kactivitymanagerd-5.20.0/src/service/plugins/eventspy/kactivitymanagerd-plugin-eventspy.json
    2020-10-08 18:07:34.000000000 +0200
@@ -4,6 +4,7 @@
             {
                 "Email": "ivan.cukic(at)kde.org",
                 "Name": "Ivan Čukić",
+                "Name[az]": "Ivan Čukić",
                 "Name[ca@valencia]": "Ivan Čukić",
                 "Name[ca]": "Ivan Čukić",
                 "Name[cs]": "Ivan Čukić",
@@ -28,6 +29,7 @@
                 "Name[pl]": "Ivan Čukić",
                 "Name[pt]": "Ivan Čukić",
                 "Name[pt_BR]": "Ivan Čukić",
+                "Name[ro]": "Ivan Čukić",
                 "Name[ru]": "Ivan Čukić",
                 "Name[sk]": "Ivan Čukić",
                 "Name[sl]": "Ivan Čukić",
@@ -35,7 +37,6 @@
                 "Name[sr@ijekavianlatin]": "Ivan Čukić",
                 "Name[sr@latin]": "Ivan Čukić",
                 "Name[sr]": "Иван Чукић",
-                "Name[sv]": "Ivan Čukić",
                 "Name[tr]": "Ivan Čukić",
                 "Name[uk]": "Ivan Čukić",
                 "Name[x-test]": "xxIvan Čukićxx",
@@ -46,6 +47,7 @@
         "Category": "",
         "Dependencies": [],
         "Description": "Collects events from applications that support recent 
documents specification",
+        "Description[az]": "Son istifadə olunan sənədlərin xüsusiyyətlərini 
dəstəkləyən tətbiqlərdən hadisələri toplayır",
         "Description[ca@valencia]": "Recull els esdeveniments de les 
aplicacions que admeten l'especificació dels documents recents",
         "Description[ca]": "Recull els esdeveniments de les aplicacions que 
admeten l'especificació dels documents recents",
         "Description[cs]": "Sbírá z aplikací události jenž podporují určení 
nedávných dokumentů",
@@ -70,6 +72,7 @@
         "Description[pl]": "Gromadzi wydarzenia z aplikacji, które spełniają 
wymogi ostatnich dokumentów ",
         "Description[pt]": "Recolhe eventos das aplicações que suportam a 
especificação de documentos recentes",
         "Description[pt_BR]": "Identifica eventos a partir de aplicativos que 
tem suporte a especificação de documentos recentes",
+        "Description[ro]": "Colectează evenimente de la aplicații ce susțin 
specificația de documente recente",
         "Description[ru]": "Собирает от поддерживаемых приложений события о 
последних открытых документах",
         "Description[sk]": "Zbiera udalosti z aplikácií, ktoré podporujú 
špecifikáciu nedávnych dokumentov",
         "Description[sl]": "Zbira dogodke iz programov, ki podpirajo določitev 
nedavnih dokumentov",
@@ -77,7 +80,6 @@
         "Description[sr@ijekavianlatin]": "Sakuplja događaje iz programa koji 
podržavaju specifikaciju nedavnih dokumenata",
         "Description[sr@latin]": "Sakuplja događaje iz programa koji 
podržavaju specifikaciju nedavnih dokumenata",
         "Description[sr]": "Сакупља догађаје из програма који подржавају 
спецификацију недавних докумената",
-        "Description[sv]": "Samlar in händelser från program som stöder senare 
dokumentspecifikationer",
         "Description[tr]": "Son belgelerin özelliklerini destekleyen 
uygulamalardan etkinlikler toplar",
         "Description[uk]": "Збирає записи подій від програм, у яких 
реалізовано специфікацію нещодавніх документів",
         "Description[x-test]": "xxCollects events from applications that 
support recent documents specificationxx",
@@ -88,6 +90,7 @@
         "Id": "org.kde.ActivityManager.EventSpy",
         "License": "GPL",
         "Name": "Event Spy",
+        "Name[az]": "Hadisələrin izlənməsi",
         "Name[ca@valencia]": "Espia l'esdeveniment",
         "Name[ca]": "Espia l'esdeveniment",
         "Name[cs]": "Špeh událostí",
@@ -112,6 +115,7 @@
         "Name[pl]": "Szpieg wydarzeń",
         "Name[pt]": "Espião de Eventos",
         "Name[pt_BR]": "Espião de eventos",
+        "Name[ro]": "Spion de evenimente",
         "Name[ru]": "Монитор событий",
         "Name[sk]": "Špión udalostí",
         "Name[sl]": "Nadzornik dogodkov",
@@ -119,7 +123,6 @@
         "Name[sr@ijekavianlatin]": "Špijun događaja",
         "Name[sr@latin]": "Špijun događaja",
         "Name[sr]": "Шпијун догађаја",
-        "Name[sv]": "Händelseövervakare",
         "Name[tr]": "Olay Casusu",
         "Name[uk]": "Журнал подій",
         "Name[x-test]": "xxEvent Spyxx",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kactivitymanagerd-5.19.5/src/service/plugins/globalshortcuts/GlobalShortcutsPlugin.cpp
 
new/kactivitymanagerd-5.20.0/src/service/plugins/globalshortcuts/GlobalShortcutsPlugin.cpp
--- 
old/kactivitymanagerd-5.19.5/src/service/plugins/globalshortcuts/GlobalShortcutsPlugin.cpp
  2020-09-01 12:23:49.000000000 +0200
+++ 
new/kactivitymanagerd-5.20.0/src/service/plugins/globalshortcuts/GlobalShortcutsPlugin.cpp
  2020-10-08 18:07:34.000000000 +0200
@@ -87,7 +87,7 @@
         objectNamePattern.arg(activity));
 
     action->setText(i18nc("@action", "Switch to activity \"%1\"", 
activityName(activity)));
-    KGlobalAccel::self()->setDefaultShortcut(action, QList<QKeySequence>{});
+    KGlobalAccel::setGlobalShortcut(action, QList<QKeySequence>{});
 
     connect(action, &QAction::triggered, [this, activity]() { Q_EMIT 
currentActivityChanged(activity);});
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kactivitymanagerd-5.19.5/src/service/plugins/globalshortcuts/kactivitymanagerd-plugin-globalshortcuts.json
 
new/kactivitymanagerd-5.20.0/src/service/plugins/globalshortcuts/kactivitymanagerd-plugin-globalshortcuts.json
--- 
old/kactivitymanagerd-5.19.5/src/service/plugins/globalshortcuts/kactivitymanagerd-plugin-globalshortcuts.json
      2020-09-01 12:23:49.000000000 +0200
+++ 
new/kactivitymanagerd-5.20.0/src/service/plugins/globalshortcuts/kactivitymanagerd-plugin-globalshortcuts.json
      2020-10-08 18:07:34.000000000 +0200
@@ -4,6 +4,7 @@
             {
                 "Email": "mak...@gmail.com",
                 "Name": "Makis Marimpis",
+                "Name[az]": "Makis Marimpis",
                 "Name[ca@valencia]": "Makis Marimpis",
                 "Name[ca]": "Makis Marimpis",
                 "Name[cs]": "Makis Marimpis",
@@ -28,6 +29,7 @@
                 "Name[pl]": "Makis Marimpis",
                 "Name[pt]": "Makis Marimpis",
                 "Name[pt_BR]": "Makis Marimpis",
+                "Name[ro]": "Makis Marimpis",
                 "Name[ru]": "Makis Marimpis",
                 "Name[sk]": "Makis Marimpis",
                 "Name[sl]": "Makis Marimpis",
@@ -35,7 +37,6 @@
                 "Name[sr@ijekavianlatin]": "Makis Marimpis",
                 "Name[sr@latin]": "Makis Marimpis",
                 "Name[sr]": "Макис Маримпис",
-                "Name[sv]": "Makis Marimpis",
                 "Name[tr]": "Makis Marimpis",
                 "Name[uk]": "Makis Marimpis",
                 "Name[x-test]": "xxMakis Marimpisxx",
@@ -46,6 +47,7 @@
         "Category": "",
         "Dependencies": [],
         "Description": "Adds global keyboard shortcuts for activity switching",
+        "Description[az]": "Fəaliyyətlər arası keçid üçün qlobal qısayolları 
təyin edir",
         "Description[ca@valencia]": "Afig dreceres de teclat globals per a 
canviar d'activitat",
         "Description[ca]": "Afegeix dreceres de teclat globals per a canviar 
d'activitat",
         "Description[cs]": "Přidává globální klávesové zkratky pro přepínání 
aktivit",
@@ -70,6 +72,7 @@
         "Description[pl]": "Dodaje globalne skróty klawiaturowe do 
przełączania działań",
         "Description[pt]": "Adiciona atalhos globais de teclado para a mudança 
de actividades",
         "Description[pt_BR]": "Adiciona atalhos de teclado globais para 
alternar atividades",
+        "Description[ro]": "Adaugă scurtături globale de taste pentru 
comutarea activităților",
         "Description[ru]": "Определяет глобальные комбинации клавиш для 
переключения комнат",
         "Description[sk]": "Pridá globálne klávesové skratky na prepínanie 
aktivít",
         "Description[sl]": "Doda splošne tipkovne bližnjice za preklapljanje 
dejavnosti",
@@ -77,7 +80,6 @@
         "Description[sr@ijekavianlatin]": "Dodaje globalne prečice sa 
tastature za menjanje aktivnosti",
         "Description[sr@latin]": "Dodaje globalne prečice sa tastature za 
menjanje aktivnosti",
         "Description[sr]": "Додаје глобалне пречице са тастатуре за мењање 
активности",
-        "Description[sv]": "Lägger till globala snabbtangenter för 
aktivitetsbyte",
         "Description[tr]": "Etkinlik değiştirme için genel klavye kısayolları 
ekler",
         "Description[uk]": "Додає загальні клавіатурні скорочення для 
перемикання просторів дій",
         "Description[x-test]": "xxAdds global keyboard shortcuts for activity 
switchingxx",
@@ -88,6 +90,7 @@
         "Id": "org.kde.ActivityManager.GlobalShortcuts",
         "License": "GPL",
         "Name": "Global Shortcuts",
+        "Name[az]": "Qlobal Qısayollar Birləşmələri",
         "Name[ca@valencia]": "Dreceres globals",
         "Name[ca]": "Dreceres globals",
         "Name[cs]": "Globální zkratky",
@@ -112,6 +115,7 @@
         "Name[pl]": "Skróty globalne",
         "Name[pt]": "Atalhos Globais",
         "Name[pt_BR]": "Atalhos globais",
+        "Name[ro]": "Scurtături globale",
         "Name[ru]": "Глобальные комбинации клавиш",
         "Name[sk]": "Globálne skratky",
         "Name[sl]": "Splošne bližnjice",
@@ -119,7 +123,6 @@
         "Name[sr@ijekavianlatin]": "Globalne prečice",
         "Name[sr@latin]": "Globalne prečice",
         "Name[sr]": "Глобалне пречице",
-        "Name[sv]": "Globala genvägar",
         "Name[tr]": "Evrensel Kısayollar",
         "Name[uk]": "Загальні клавіатурні скорочення",
         "Name[x-test]": "xxGlobal Shortcutsxx",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kactivitymanagerd-5.19.5/src/service/plugins/gtk-eventspy/kactivitymanagerd-plugin-gtk-eventspy.json
 
new/kactivitymanagerd-5.20.0/src/service/plugins/gtk-eventspy/kactivitymanagerd-plugin-gtk-eventspy.json
--- 
old/kactivitymanagerd-5.19.5/src/service/plugins/gtk-eventspy/kactivitymanagerd-plugin-gtk-eventspy.json
    2020-09-01 12:23:49.000000000 +0200
+++ 
new/kactivitymanagerd-5.20.0/src/service/plugins/gtk-eventspy/kactivitymanagerd-plugin-gtk-eventspy.json
    2020-10-08 18:07:34.000000000 +0200
@@ -4,6 +4,7 @@
             {
                 "Email": "meven.car(at)kdemail.net",
                 "Name": "Méven Car",
+                "Name[az]": "Méven Car",
                 "Name[ca]": "Méven Car",
                 "Name[cs]": "Méven Car",
                 "Name[da]": "Méven Car",
@@ -27,10 +28,10 @@
                 "Name[pl]": "Méven Car",
                 "Name[pt]": "Méven Car",
                 "Name[pt_BR]": "Méven Car",
+                "Name[ro]": "Méven Car",
                 "Name[ru]": "Méven Car",
                 "Name[sk]": "Méven Car",
                 "Name[sl]": "Méven Car",
-                "Name[sv]": "Méven Car",
                 "Name[uk]": "Méven Car",
                 "Name[x-test]": "xxMéven Carxx",
                 "Name[zh_CN]": "Méven Car",
@@ -40,6 +41,7 @@
         "Category": "",
         "Dependencies": [],
         "Description": "Collects events from applications that use 
GtkFileChooser and GtkRecentManager as specified by 
https://www.freedesktop.org/wiki/Specifications/desktop-bookmark-spec/";,
+        "Description[az]": "GtkFileChooser və GtkRecentManager istifadə edən 
tətbiqlərdən hadisələri 
https://www.freedesktop.org/wiki/Specifications/desktop-bookmark-spec/ 
tərəfindən xüsusiyyətlərinə görə toplayır",
         "Description[ca]": "Recull els esdeveniments de les aplicacions que 
usen «GtkFileChooser» i «GtkRecentManager» segons l'especificat pel 
https://www.freedesktop.org/wiki/Specifications/desktop-bookmark-spec/";,
         "Description[da]": "Indsamler hændelser fra programmer der bruger 
GtkFileChooser og GtkRecentManager som specificeret på 
https://www.freedesktop.org/wiki/Specifications/desktop-bookmark-spec/";,
         "Description[de]": "Sammelt Ereignisse von Anwendungen, die 
GtkFileChooser and GtkRecentManager nach der Spezifikation von 
https://www.freedesktop.org/wiki/Specifications/desktop-bookmark-spec/ 
verwenden.",
@@ -62,10 +64,10 @@
         "Description[pl]": "Gromadzi wydarzenia z aplikacji, które używają 
GtkFileChooser oraz GtkRecentManager wg 
https://www.freedesktop.org/wiki/Specifications/desktop-bookmark-spec/";,
         "Description[pt]": "Recolhe eventos das aplicações que usam o 
GtkFileChooser e o GtkRecentManager, de acordo com o definido em 
https://www.freedesktop.org/wiki/Specifications/desktop-bookmark-spec/";,
         "Description[pt_BR]": "Coleta eventos dos aplicativos que usam o 
GtkFileChooser e o GtkRecentManager, de acordo com o definido em 
https://www.freedesktop.org/wiki/Specifications/desktop-bookmark-spec/";,
+        "Description[ro]": "Colectează evenimente de la aplicații ce folosesc 
GtkFileChooser și GtkRecentManager după cum e specificat la 
https://www.freedesktop.org/wiki/Specifications/desktop-bookmark-spec/";,
         "Description[ru]": "Собирает события от приложений, использующих 
интерфейсы GtkFileChooser и GtkRecentManager в соответствии со спецификациями, 
опубликованными по адресу 
https://www.freedesktop.org/wiki/Specifications/desktop-bookmark-spec/";,
         "Description[sk]": "Zbiera udalosti z aplikácií, ktoré používajú 
GtkFileChooser a GtkRecentManager ako je uvedené v 
https://www.freedesktop.org/wiki/Specifications/desktop-bookmark-spec/";,
         "Description[sl]": "Zbira dogodke od programov, ki uporabljajo 
GtkFileChooser in GtkRecentManager kot je določeno v 
https://www.freedesktop.org/wiki/Specifications/desktop-bookmark-spec/";,
-        "Description[sv]": "Samlar in händelser från program som använder 
GtkFileChooser och GtkRecentManager som anges av 
https://www.freedesktop.org/wiki/Specifications/desktop-bookmark-spec/";,
         "Description[uk]": "Збирає повідомлення про події від програм, у яких 
використовується GtkFileChooser та GtkRecentManager, відповідно до 
https://www.freedesktop.org/wiki/Specifications/desktop-bookmark-spec/";,
         "Description[x-test]": "xxCollects events from applications that use 
GtkFileChooser and GtkRecentManager as specified by 
https://www.freedesktop.org/wiki/Specifications/desktop-bookmark-spec/xx";,
         "Description[zh_CN]": "从使用 GtkFileChooser 和 GtkRecentManager 
的应用程序收集事件,规范遵循 
https://www.freedesktop.org/wiki/Specifications/desktop-bookmark-spec/";,
@@ -75,6 +77,7 @@
         "Id": "org.kde.ActivityManager.GtkEventSpy",
         "License": "GPL",
         "Name": "Gtk Event Spy",
+        "Name[az]": "GTK hadisələrinin izlənməsi",
         "Name[ca]": "Espia els esdeveniments Gtk",
         "Name[cs]": "Špeh událostí Gtk",
         "Name[da]": "Gtk-hændelsesspion",
@@ -98,10 +101,10 @@
         "Name[pl]": "Szpieg wydarzeń Gtk",
         "Name[pt]": "Espião de Eventos do Gtk",
         "Name[pt_BR]": "Espião de eventos do Gtk",
+        "Name[ro]": "Spion de evenimente GTK",
         "Name[ru]": "Монитор событий GTK",
         "Name[sk]": "Špión udalostí Gtk",
         "Name[sl]": "Gtk nadzornik dogodkov",
-        "Name[sv]": "GTK-händelseövervakare",
         "Name[uk]": "Журнал подій Gtk",
         "Name[x-test]": "xxGtk Event Spyxx",
         "Name[zh_CN]": "Gtk 时间监听",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kactivitymanagerd-5.19.5/src/service/plugins/runapplication/RunApplicationPlugin.cpp
 
new/kactivitymanagerd-5.20.0/src/service/plugins/runapplication/RunApplicationPlugin.cpp
--- 
old/kactivitymanagerd-5.19.5/src/service/plugins/runapplication/RunApplicationPlugin.cpp
    2020-09-01 12:23:49.000000000 +0200
+++ 
new/kactivitymanagerd-5.20.0/src/service/plugins/runapplication/RunApplicationPlugin.cpp
    2020-10-08 18:07:34.000000000 +0200
@@ -126,7 +126,7 @@
             QProcess::startDetached(service.exec(), QStringList());
 
         } else {
-            qCDebug(KAMD_LOG_APPLICATION) << "Openning file: " << 
QUrl::fromLocalFile(filePath);
+            qCDebug(KAMD_LOG_APPLICATION) << "Opening file: " << 
QUrl::fromLocalFile(filePath);
             QDesktopServices::openUrl(QUrl::fromLocalFile(filePath));
         }
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kactivitymanagerd-5.19.5/src/service/plugins/runapplication/kactivitymanagerd-plugin-runapplication.json
 
new/kactivitymanagerd-5.20.0/src/service/plugins/runapplication/kactivitymanagerd-plugin-runapplication.json
--- 
old/kactivitymanagerd-5.19.5/src/service/plugins/runapplication/kactivitymanagerd-plugin-runapplication.json
        2020-09-01 12:23:49.000000000 +0200
+++ 
new/kactivitymanagerd-5.20.0/src/service/plugins/runapplication/kactivitymanagerd-plugin-runapplication.json
        2020-10-08 18:07:34.000000000 +0200
@@ -4,6 +4,7 @@
             {
                 "Email": "ivan.cu...@kde.org",
                 "Name": "Ivan Cukic",
+                "Name[az]": "Ivan Cukic",
                 "Name[ca@valencia]": "Ivan Cukic",
                 "Name[ca]": "Ivan Cukic",
                 "Name[cs]": "Ivan Cukic",
@@ -28,6 +29,7 @@
                 "Name[pl]": "Ivan Cukic",
                 "Name[pt]": "Ivan Cukic",
                 "Name[pt_BR]": "Ivan Cukic",
+                "Name[ro]": "Ivan Cukic",
                 "Name[ru]": "Ivan Čukić",
                 "Name[sk]": "Ivan Cukic",
                 "Name[sl]": "Ivan Cukic",
@@ -35,7 +37,6 @@
                 "Name[sr@ijekavianlatin]": "Ivan Čukić",
                 "Name[sr@latin]": "Ivan Čukić",
                 "Name[sr]": "Иван Чукић",
-                "Name[sv]": "Ivan Cukic",
                 "Name[tr]": "Ivan Cukic",
                 "Name[uk]": "Ivan Cukic",
                 "Name[x-test]": "xxIvan Cukicxx",
@@ -46,6 +47,7 @@
         "Category": "",
         "Dependencies": [],
         "Description": "When switching activities, or when starting and 
stopping them, execute specified applications",
+        "Description[az]": "Bir fəaliyyətdən başqasına keçərkən və ya onları 
dayandırarkən göstərilən proqramın başladılması",
         "Description[ca@valencia]": "En commutar d'activitat, o en iniciar o 
aturar-les, executa les aplicacions especificades",
         "Description[ca]": "En commutar d'activitat, o en iniciar o 
aturar-les, executar les aplicacions especificades",
         "Description[da]": "Køb bestemte programmer ved skift mellem 
aktiviteter eller når de startes eller stoppes",
@@ -69,6 +71,7 @@
         "Description[pl]": "Przy przełączaniu działań. lub przy ich 
rozpoczynaniu i kończeniu, uruchamiaj podane aplikacje",
         "Description[pt]": "Ao mudar de actividades, ou quando as iniciar e 
parar, executa as aplicações indicadas",
         "Description[pt_BR]": "Ao mudar, iniciar e parar atividades, executa 
os aplicativos indicados",
+        "Description[ro]": "La comutarea activităților sau la pornirea și 
oprirea acestora, execută aplicațiile specificate",
         "Description[ru]": "Запуск указанных приложений при переходе в 
комнату, при её запуске или остановке",
         "Description[sk]": "Pri prepínaní aktivít alebo pri ich spúšťaní a 
zastavovaní spustiť určené aplikácie",
         "Description[sl]": "Ob preklopu dejavnosti ali ob njihovem 
zagonu/zaustavitvi se izvedejo navedeni programi",
@@ -76,7 +79,6 @@
         "Description[sr@ijekavianlatin]": "Pri prebacivanju aktivnosti, ili 
njihovom pokretanju i zaustavljanju, izvršavaju se zadati programi",
         "Description[sr@latin]": "Pri prebacivanju aktivnosti, ili njihovom 
pokretanju i zaustavljanju, izvršavaju se zadati programi",
         "Description[sr]": "При пребацивању активности, или њиховом покретању 
и заустављању, извршавају се задати програми",
-        "Description[sv]": "När aktiviteter byts, eller när de stoppas och 
startas, kör angivna program",
         "Description[tr]": "Etkinlikleri değiştirirken veya başlatırken ve 
durdururken, belirtilen uygulamaları çalıştır",
         "Description[uk]": "Запускати вказані програми під час перемикання 
просторів дій або їхнього запуску чи завершення роботи",
         "Description[x-test]": "xxWhen switching activities, or when starting 
and stopping them, execute specified applicationsxx",
@@ -87,6 +89,7 @@
         "Id": "org.kde.ActivityManager.RunApplication",
         "License": "GPL",
         "Name": "Run applications on activity state change",
+        "Name[az]": "Fəaliyyət vəziyyətinin dəyişməsi zamanı tətbiqin 
başladılması",
         "Name[ca@valencia]": "Executa aplicacions en canviar l'estat de 
l'activitat",
         "Name[ca]": "Executa aplicacions en canviar l'estat de l'activitat",
         "Name[da]": "Kør programmer ved ændring af aktivitetstilstand",
@@ -110,6 +113,7 @@
         "Name[pl]": "Uruchamiaj aplikacje przy zmianie stanu działania",
         "Name[pt]": "Executar as aplicações na mudança do estado da 
actividade",
         "Name[pt_BR]": "Executar aplicativos na alteração do estado da 
atividade",
+        "Name[ro]": "Rulează aplicații la schimbarea stării activității",
         "Name[ru]": "Запуск приложения при изменении состояния комнаты",
         "Name[sk]": "Spustiť aplikácie pri zmene stavu aktivity",
         "Name[sl]": "Zaženi programe ob spremembi stanja dejavnosti",
@@ -117,7 +121,6 @@
         "Name[sr@ijekavianlatin]": "Izvršavanje programa na promenu stanja 
aktivnosti",
         "Name[sr@latin]": "Izvršavanje programa na promenu stanja aktivnosti",
         "Name[sr]": "Извршавање програма на промену стања активности",
-        "Name[sv]": "Kör program vid ändring av aktivitetstillstånd",
         "Name[tr]": "Etkinlik durum değişiminde uygulamaları çalıştır",
         "Name[uk]": "Запуск програм під час зміни стану простору дій",
         "Name[x-test]": "xxRun applications on activity state changexx",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kactivitymanagerd-5.19.5/src/service/plugins/slc/kactivitymanagerd-plugin-slc.json
 
new/kactivitymanagerd-5.20.0/src/service/plugins/slc/kactivitymanagerd-plugin-slc.json
--- 
old/kactivitymanagerd-5.19.5/src/service/plugins/slc/kactivitymanagerd-plugin-slc.json
      2020-09-01 12:23:49.000000000 +0200
+++ 
new/kactivitymanagerd-5.20.0/src/service/plugins/slc/kactivitymanagerd-plugin-slc.json
      2020-10-08 18:07:34.000000000 +0200
@@ -4,6 +4,7 @@
             {
                 "Email": "ivan.cu...@kde.org",
                 "Name": "Ivan Cukic",
+                "Name[az]": "Ivan Cukic",
                 "Name[ca@valencia]": "Ivan Cukic",
                 "Name[ca]": "Ivan Cukic",
                 "Name[cs]": "Ivan Cukic",
@@ -28,6 +29,7 @@
                 "Name[pl]": "Ivan Cukic",
                 "Name[pt]": "Ivan Cukic",
                 "Name[pt_BR]": "Ivan Cukic",
+                "Name[ro]": "Ivan Cukic",
                 "Name[ru]": "Ivan Čukić",
                 "Name[sk]": "Ivan Cukic",
                 "Name[sl]": "Ivan Cukic",
@@ -35,7 +37,6 @@
                 "Name[sr@ijekavianlatin]": "Ivan Čukić",
                 "Name[sr@latin]": "Ivan Čukić",
                 "Name[sr]": "Иван Чукић",
-                "Name[sv]": "Ivan Cukic",
                 "Name[tr]": "Ivan Cukic",
                 "Name[uk]": "Ivan Cukic",
                 "Name[x-test]": "xxIvan Cukicxx",
@@ -46,6 +47,7 @@
         "Category": "",
         "Dependencies": [],
         "Description": "Provides data to Share-Like-Connect applet",
+        "Description[az]": "Share-Like-Connect əlavəsinin məlumatlarını təqdim 
edir",
         "Description[ca@valencia]": "Proporciona dades a la miniaplicació 
«Share-Like-Connect»",
         "Description[ca]": "Proporciona dades a la miniaplicació 
«Share-Like-Connect»",
         "Description[da]": "Leverer data til Share-Like-Connect-applet",
@@ -69,6 +71,7 @@
         "Description[pl]": "Dostarcza danych do apletu Share-Like-Connect",
         "Description[pt]": "Fornece dados para a 'applet' Share-Like-Connect",
         "Description[pt_BR]": "Fornece dados para o miniaplicativo 
Share-Like-Connect",
+        "Description[ro]": "Furnizează date miniaplicației 
Partajează-Apreciază-Conectează",
         "Description[ru]": "Предоставляет данные виджету Share-Like-Connect",
         "Description[sk]": "Poskytuje dáta pre applet Share-Like-Connect",
         "Description[sl]": "Ponuja podatke apletu Share-Like-Connect",
@@ -76,7 +79,6 @@
         "Description[sr@ijekavianlatin]": "Pruža podatke apletu 
podeli-oceni-poveži (SLC)",
         "Description[sr@latin]": "Pruža podatke apletu podeli-oceni-poveži 
(SLC)",
         "Description[sr]": "Пружа податке аплету подели-оцени-повежи (СЛЦ)",
-        "Description[sv]": "Tillhandahåller data för Share-Like-Connect 
miniprogram",
         "Description[tr]": "Paylaş-Beğen-Bağlan uygulamasına veri sağlar",
         "Description[uk]": "Надає дані аплетові 
Оприлюднити-Уподобати-З’єднати",
         "Description[x-test]": "xxProvides data to Share-Like-Connect 
appletxx",
@@ -87,6 +89,7 @@
         "Id": "org.kde.ActivityManager.SLC",
         "License": "GPL",
         "Name": "Share-Like-Connect",
+        "Name[az]": "Share-Like-Connect",
         "Name[ca@valencia]": "«Share-Like-Connect»",
         "Name[ca]": "«Share-Like-Connect»",
         "Name[da]": "Share·Like·Connect",
@@ -110,6 +113,7 @@
         "Name[pl]": "Share-Like-Connect",
         "Name[pt]": "Share-Like-Connect",
         "Name[pt_BR]": "Share-Like-Connect",
+        "Name[ro]": "Partajează-Apreciază-Conectează",
         "Name[ru]": "Share-Like-Connect",
         "Name[sk]": "Share-Like-Connect",
         "Name[sl]": "Share-Like-Connect",
@@ -117,7 +121,6 @@
         "Name[sr@ijekavianlatin]": "Podeli-oceni-poveži (SLC)",
         "Name[sr@latin]": "Podeli-oceni-poveži (SLC)",
         "Name[sr]": "Подели-оцени-повежи (СЛЦ)",
-        "Name[sv]": "Share-Like-Connect",
         "Name[tr]": "Paylaş-Beğen-Bağlan",
         "Name[uk]": "Оприлюднити-Уподобати-З’єднати",
         "Name[x-test]": "xxShare-Like-Connectxx",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kactivitymanagerd-5.19.5/src/service/plugins/sqlite/Database.cpp 
new/kactivitymanagerd-5.20.0/src/service/plugins/sqlite/Database.cpp
--- old/kactivitymanagerd-5.19.5/src/service/plugins/sqlite/Database.cpp        
2020-09-01 12:23:49.000000000 +0200
+++ new/kactivitymanagerd-5.20.0/src/service/plugins/sqlite/Database.cpp        
2020-10-08 18:07:34.000000000 +0200
@@ -47,7 +47,7 @@
 #include <common/database/Database.h>
 #include <common/database/schema/ResourcesDatabaseSchema.h>
 
-class ResourcesDatabaseMigrator::Private {
+class ResourcesDatabaseInitializer::Private {
 public:
     Common::Database::Ptr database;
 
@@ -55,33 +55,175 @@
 
 Common::Database::Ptr resourcesDatabase()
 {
-    static ResourcesDatabaseMigrator instance;
+    static ResourcesDatabaseInitializer instance;
     return instance.d->database;
 }
 
-ResourcesDatabaseMigrator::ResourcesDatabaseMigrator()
+void ResourcesDatabaseInitializer::initDatabase(bool retryOnFail)
 {
-    const QString databaseDir
+    //
+    // There are three situations we want to handle:
+    // 1. The database can not be opened at all.
+    //    This means that the current database files have
+    //    been corrupted and that we need to replace them
+    //    with the last working backup.
+    // 2. The database was opened, but an error appeared
+    //    somewhere at runtime.
+    // 3. The database was successfully opened and no errors
+    //    appeared during runtime.
+    //
+    // To achieve this, we will have three locations for
+    // database files:
+    //
+    // 1. `resources` - the current database files
+    // 2. `resources-test-backup` - at each KAMD start,
+    //    we copy the current database files here.
+    //    If an error appears during execution, the files
+    //    will be removed and the error will be added to
+    //    the log file `resources/errors.log`
+    // 3. `resources-working-backup` - on each KAMD start,
+    //    if there are files in `resources-test-backup`
+    //    (meaning no error appeared at runtime), they
+    //    will be copied to `resources-working-backup`.
+    //
+    // This means that the `working` backup will be a bit
+    // older, but it will be the last database that produced
+    // no errors at runtime.
+    //
+
+
+    const QString databaseDirectoryPath
         = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation)
           + QStringLiteral("/kactivitymanagerd/resources/");
 
-    qCDebug(KAMD_LOG_RESOURCES) << "Creating directory: " << databaseDir;
-    auto created = QDir().mkpath(databaseDir);
+    const QString databaseTestBackupDirectoryPath
+        = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation)
+          + QStringLiteral("/kactivitymanagerd/resources/test-backup/");
+
+    const QString databaseWorkingBackupDirectoryPath
+        = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation)
+          + QStringLiteral("/kactivitymanagerd/resources/working-backup/");
+
+    const QStringList databaseFiles{"database", "database-wal", 
"database-shm"};
+
+    {
+        QDir dir;
+        dir.mkpath(databaseDirectoryPath);
+        dir.mkpath(databaseTestBackupDirectoryPath);
+        dir.mkpath(databaseWorkingBackupDirectoryPath);
+
+        if (!dir.exists(databaseDirectoryPath) ||
+            !dir.exists(databaseTestBackupDirectoryPath) ||
+            !dir.exists(databaseWorkingBackupDirectoryPath)) {
+            qCWarning(KAMD_LOG_RESOURCES) << "Database directory can not be 
created!";
+            return;
+        }
+    }
+
+    const QDir databaseDirectory(databaseDirectoryPath);
+    const QDir databaseTestBackupDirectory(databaseTestBackupDirectoryPath);
+    const QDir 
databaseWorkingBackupDirectory(databaseWorkingBackupDirectoryPath);
+
+    auto removeDatabaseFiles = [&] (const QDir &dir) {
+        return std::all_of(databaseFiles.begin(), databaseFiles.cend(),
+                           [&] (const QString &fileName) {
+                               const auto filePath = dir.filePath(fileName);
+                               return !QFile::exists(filePath) || 
QFile::remove(filePath);
+                            });
+    };
+
+    auto copyDatabaseFiles = [&] (const QDir &fromDir, const QDir& toDir) {
+        return removeDatabaseFiles(toDir) &&
+               std::all_of(databaseFiles.begin(), databaseFiles.cend(),
+                           [&] (const QString &fileName) {
+                               const auto fromFilePath = 
fromDir.filePath(fileName);
+                               const auto toFilePath = 
toDir.filePath(fileName);
+                               return QFile::copy(fromFilePath, toFilePath);
+                            });
+    };
+
+    auto databaseFilesExistIn = [&] (const QDir &dir) {
+        return dir.exists() &&
+               std::all_of(databaseFiles.begin(), databaseFiles.cend(),
+                           [&] (const QString &fileName) {
+                               const auto filePath = dir.filePath(fileName);
+                               return QFile::exists(filePath);
+                           });
+    };
+
+    // First, let's move the files from `resources-test-backup` to
+    // `resources-working-backup` (if they exist)
+    if (databaseFilesExistIn(databaseTestBackupDirectory)) {
+        qCDebug(KAMD_LOG_RESOURCES) << "Marking the test backup as working...";
+        if (copyDatabaseFiles(databaseTestBackupDirectory, 
databaseWorkingBackupDirectory)) {
+            removeDatabaseFiles(databaseTestBackupDirectory);
+        } else {
+            qCWarning(KAMD_LOG_RESOURCES) << "Marking the test backup as 
working failed!";
+            removeDatabaseFiles(databaseWorkingBackupDirectory);
+        }
+    }
 
-    if (!created || !QDir(databaseDir).exists()) {
-        qCWarning(KAMD_LOG_RESOURCES) << "Database folder can not be created!";
+    // Next, copy the current database files to `resources-test-backup`
+    if (databaseFilesExistIn(databaseDirectory)) {
+        qCDebug(KAMD_LOG_RESOURCES) << "Creating the backup of the current 
database...";
+        if (!copyDatabaseFiles(databaseDirectory, 
databaseTestBackupDirectory)) {
+            qCWarning(KAMD_LOG_RESOURCES) << "Creating the backup of the 
current database failed!";
+            removeDatabaseFiles(databaseTestBackupDirectory);
+        }
     }
 
+    // Now we can try to open the database
     d->database = Common::Database::instance(
             Common::Database::ResourcesDatabase,
             Common::Database::ReadWrite);
 
     if (d->database) {
+        qCDebug(KAMD_LOG_RESOURCES) << "Database opened successfully";
+        QObject::connect(d->database.get(), &Common::Database::error,
+                         [=] (const QSqlError &error) {
+                             const QString errorLog =
+                                 
QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation)
+                                     + 
QStringLiteral("/kactivitymanagerd/resources/errors.log");
+                             QFile file(errorLog);
+                             if (file.open(QIODevice::Append)) {
+                                 QTextStream out(&file);
+                                 out << 
QDateTime::currentDateTime().toString(Qt::ISODate) << " error: " << 
error.text() << "\n";
+                             } else {
+                                 qCWarning(KAMD_LOG_RESOURCES) << 
QDateTime::currentDateTime().toString(Qt::ISODate) << " error: " << 
error.text();
+                             }
+
+                             removeDatabaseFiles(databaseTestBackupDirectory);
+                         });
         Common::ResourcesDatabaseSchema::initSchema(*d->database);
+
+    } else {
+        // The current database can not be opened, delete the
+        // backup we just created
+        removeDatabaseFiles(databaseTestBackupDirectory);
+
+        if (databaseFilesExistIn(databaseWorkingBackupDirectoryPath)) {
+            qCWarning(KAMD_LOG_RESOURCES) << "The database seems to be 
corrupted, trying to load the latest working version";
+
+            const auto success = 
copyDatabaseFiles(databaseWorkingBackupDirectory, databaseDirectory);
+
+            if (success && retryOnFail) {
+                // Avoid infinite recursion
+                initDatabase(false);
+            }
+
+        } else {
+            qCWarning(KAMD_LOG_RESOURCES) << "The database might be corrupted 
and there is no working backup";
+
+        }
     }
 }
 
-ResourcesDatabaseMigrator::~ResourcesDatabaseMigrator()
+ResourcesDatabaseInitializer::ResourcesDatabaseInitializer()
+{
+    initDatabase(true);
+}
+
+ResourcesDatabaseInitializer::~ResourcesDatabaseInitializer()
 {
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kactivitymanagerd-5.19.5/src/service/plugins/sqlite/Database.h 
new/kactivitymanagerd-5.20.0/src/service/plugins/sqlite/Database.h
--- old/kactivitymanagerd-5.19.5/src/service/plugins/sqlite/Database.h  
2020-09-01 12:23:49.000000000 +0200
+++ new/kactivitymanagerd-5.20.0/src/service/plugins/sqlite/Database.h  
2020-10-08 18:07:34.000000000 +0200
@@ -41,17 +41,15 @@
     class Database;
 } // namespace Common
 
-class ResourcesDatabaseMigrator : public QObject {
-    Q_OBJECT
-
+class ResourcesDatabaseInitializer {
 public:
     // static Database *self();
 
 private:
-    ResourcesDatabaseMigrator();
-    ~ResourcesDatabaseMigrator() override;
+    ResourcesDatabaseInitializer();
+    ~ResourcesDatabaseInitializer();
 
-    void migrateDatabase(const QString &newDatabaseFile) const;
+    void initDatabase(bool retryOnFail = true);
 
     D_PTR;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kactivitymanagerd-5.19.5/src/service/plugins/sqlite/ResourceLinking.cpp 
new/kactivitymanagerd-5.20.0/src/service/plugins/sqlite/ResourceLinking.cpp
--- old/kactivitymanagerd-5.19.5/src/service/plugins/sqlite/ResourceLinking.cpp 
2020-09-01 12:23:49.000000000 +0200
+++ new/kactivitymanagerd-5.20.0/src/service/plugins/sqlite/ResourceLinking.cpp 
2020-10-08 18:07:34.000000000 +0200
@@ -100,7 +100,7 @@
 
     DATABASE_TRANSACTION(*resourcesDatabase());
 
-    Utils::exec(Utils::FailOnError, *linkResourceToActivityQuery,
+    Utils::exec(*resourcesDatabase(), Utils::FailOnError, 
*linkResourceToActivityQuery,
         ":usedActivity"      , usedActivity,
         ":initiatingAgent"   , initiatingAgent,
         ":targettedResource" , targettedResource
@@ -173,12 +173,12 @@
 
     DATABASE_TRANSACTION(*resourcesDatabase());
     // BUG 385814, some existings entries don't have the applications:
-    // prefix, so we remove it and check in the sql it they match
-    // TODO Remove when we can expect all users have a fresher install that 
5.18
+    // prefix, so we remove it and check in the sql if they match
+    // TODO Remove when we can expect all users to have a fresher install than 
5.18
     if (initiatingAgent == 
QLatin1String("org.kde.plasma.favorites.applications")) {
         targettedResource = 
targettedResource.remove(QLatin1String("applications:"));
     }
-    Utils::exec(Utils::FailOnError, *query,
+    Utils::exec(*resourcesDatabase(), Utils::FailOnError, *query,
         ":usedActivity"      , usedActivity,
         ":initiatingAgent"   , initiatingAgent,
         ":targettedResource" , targettedResource
@@ -231,7 +231,7 @@
             "targettedResource = COALESCE(:targettedResource, '') "
         ));
 
-    Utils::exec(Utils::FailOnError, *isResourceLinkedToActivityQuery,
+    Utils::exec(*resourcesDatabase(), Utils::FailOnError, 
*isResourceLinkedToActivityQuery,
         ":usedActivity"      , usedActivity,
         ":initiatingAgent"   , initiatingAgent,
         ":targettedResource" , targettedResource
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kactivitymanagerd-5.19.5/src/service/plugins/sqlite/ResourceScoreCache.cpp 
new/kactivitymanagerd-5.20.0/src/service/plugins/sqlite/ResourceScoreCache.cpp
--- 
old/kactivitymanagerd-5.19.5/src/service/plugins/sqlite/ResourceScoreCache.cpp  
    2020-09-01 12:23:49.000000000 +0200
+++ 
new/kactivitymanagerd-5.20.0/src/service/plugins/sqlite/ResourceScoreCache.cpp  
    2020-10-08 18:07:34.000000000 +0200
@@ -158,7 +158,7 @@
     qCDebug(KAMD_LOG_RESOURCES) << "Creating the cache for: " << d->resource;
 
     // This can fail if we have the cache already made
-    auto isCacheNew = Utils::exec(
+    auto isCacheNew = Utils::exec(*resourcesDatabase(),
         Utils::IgnoreError, Queries::self().createResourceScoreCacheQuery,
         ":usedActivity", d->activity,
         ":initiatingAgent", d->application,
@@ -167,7 +167,7 @@
     );
 
     // Getting the old score
-    Utils::exec(
+    Utils::exec(*resourcesDatabase(),
         Utils::FailOnError, Queries::self().getResourceScoreCacheQuery,
         ":usedActivity", d->activity,
         ":initiatingAgent", d->application,
@@ -205,7 +205,7 @@
     qCDebug(KAMD_LOG_RESOURCES) << "      First update : " << firstUpdate;
     qCDebug(KAMD_LOG_RESOURCES) << "       Last update : " << lastUpdate;
 
-    Utils::exec(Utils::FailOnError, Queries::self().getScoreAdditionQuery,
+    Utils::exec(*resourcesDatabase(), Utils::FailOnError, 
Queries::self().getScoreAdditionQuery,
         ":usedActivity", d->activity,
         ":initiatingAgent", d->application,
         ":targettedResource", d->resource,
@@ -236,7 +236,7 @@
 
     // Updating the score
 
-    Utils::exec(Utils::FailOnError, 
Queries::self().updateResourceScoreCacheQuery,
+    Utils::exec(*resourcesDatabase(), Utils::FailOnError, 
Queries::self().updateResourceScoreCacheQuery,
         ":usedActivity", d->activity,
         ":initiatingAgent", d->application,
         ":targettedResource", d->resource,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kactivitymanagerd-5.19.5/src/service/plugins/sqlite/StatsPlugin.cpp 
new/kactivitymanagerd-5.20.0/src/service/plugins/sqlite/StatsPlugin.cpp
--- old/kactivitymanagerd-5.19.5/src/service/plugins/sqlite/StatsPlugin.cpp     
2020-09-01 12:23:49.000000000 +0200
+++ new/kactivitymanagerd-5.20.0/src/service/plugins/sqlite/StatsPlugin.cpp     
2020-10-08 18:07:34.000000000 +0200
@@ -171,7 +171,7 @@
         "VALUES (:usedActivity, :initiatingAgent, :targettedResource, :start, 
:end)"
     ));
 
-    Utils::exec(Utils::FailOnError, *openResourceEventQuery,
+    Utils::exec(*resourcesDatabase(), Utils::FailOnError, 
*openResourceEventQuery,
         ":usedActivity"      , usedActivity      ,
         ":initiatingAgent"   , initiatingAgent   ,
         ":targettedResource" , targettedResource ,
@@ -205,7 +205,7 @@
             "end IS NULL"
     ));
 
-    Utils::exec(Utils::FailOnError, *closeResourceEventQuery,
+    Utils::exec(*resourcesDatabase(), Utils::FailOnError, 
*closeResourceEventQuery,
         ":usedActivity"      , usedActivity      ,
         ":initiatingAgent"   , initiatingAgent   ,
         ":targettedResource" , targettedResource ,
@@ -242,7 +242,7 @@
     ));
 
     getResourceInfoQuery->bindValue(":targettedResource", uri);
-    Utils::exec(Utils::FailOnError, *getResourceInfoQuery);
+    Utils::exec(*resourcesDatabase(), Utils::FailOnError, 
*getResourceInfoQuery);
 
     if (getResourceInfoQuery->next()) {
         return false;
@@ -264,7 +264,7 @@
         ")"
     ));
 
-    Utils::exec(Utils::FailOnError, *insertResourceInfoQuery,
+    Utils::exec(*resourcesDatabase(), Utils::FailOnError, 
*insertResourceInfoQuery,
         ":targettedResource", uri
     );
 
@@ -286,7 +286,7 @@
             "targettedResource = :targettedResource "
     ));
 
-    Utils::exec(Utils::FailOnError, *saveResourceTitleQuery,
+    Utils::exec(*resourcesDatabase(), Utils::FailOnError, 
*saveResourceTitleQuery,
         ":targettedResource" , uri                     ,
         ":title"             , title                   ,
         ":autoTitle"         , (autoTitle ? "1" : "0")
@@ -309,7 +309,7 @@
             "targettedResource = :targettedResource "
     ));
 
-    Utils::exec(Utils::FailOnError, *saveResourceMimetypeQuery,
+    Utils::exec(*resourcesDatabase(), Utils::FailOnError, 
*saveResourceMimetypeQuery,
         ":targettedResource" , uri                        ,
         ":mimetype"          , mimetype                   ,
         ":autoMimetype"      , (autoMimetype ? "1" : "0")
@@ -461,8 +461,8 @@
                 "DELETE FROM ResourceScoreCache "
                 "WHERE usedActivity = COALESCE(:usedActivity, usedActivity)");
 
-        Utils::exec(Utils::FailOnError, removeEventsQuery, ":usedActivity", 
usedActivity);
-        Utils::exec(Utils::FailOnError, removeScoreCachesQuery, 
":usedActivity", usedActivity);
+        Utils::exec(*resourcesDatabase(), Utils::FailOnError, 
removeEventsQuery, ":usedActivity", usedActivity);
+        Utils::exec(*resourcesDatabase(), Utils::FailOnError, 
removeScoreCachesQuery, ":usedActivity", usedActivity);
 
     } else {
 
@@ -493,12 +493,12 @@
                 "WHERE usedActivity = COALESCE(:usedActivity, usedActivity) "
                 "AND firstUpdate > :since");
 
-        Utils::exec(Utils::FailOnError, removeEventsQuery,
+        Utils::exec(*resourcesDatabase(), Utils::FailOnError, 
removeEventsQuery,
                 ":usedActivity", usedActivity,
                 ":since", since.toSecsSinceEpoch()
             );
 
-        Utils::exec(Utils::FailOnError, removeScoreCachesQuery,
+        Utils::exec(*resourcesDatabase(), Utils::FailOnError, 
removeScoreCachesQuery,
                 ":usedActivity", usedActivity,
                 ":since", since.toSecsSinceEpoch()
             );
@@ -534,12 +534,12 @@
             "WHERE usedActivity = COALESCE(:usedActivity, usedActivity) "
             "AND lastUpdate < :time");
 
-    Utils::exec(Utils::FailOnError, removeEventsQuery,
+    Utils::exec(*resourcesDatabase(), Utils::FailOnError, removeEventsQuery,
             ":usedActivity", usedActivity,
             ":time", time.toSecsSinceEpoch()
         );
 
-    Utils::exec(Utils::FailOnError, removeScoreCachesQuery,
+    Utils::exec(*resourcesDatabase(), Utils::FailOnError, 
removeScoreCachesQuery,
             ":usedActivity", usedActivity,
             ":time", time.toSecsSinceEpoch()
         );
@@ -600,10 +600,10 @@
 
     const auto pattern = Common::starPatternToLike(resource);
 
-    Utils::exec(Utils::FailOnError, removeEventsQuery,
+    Utils::exec(*resourcesDatabase(), Utils::FailOnError, removeEventsQuery,
                 ":targettedResource", pattern);
 
-    Utils::exec(Utils::FailOnError, removeScoreCachesQuery,
+    Utils::exec(*resourcesDatabase(), Utils::FailOnError, 
removeScoreCachesQuery,
                 ":targettedResource", pattern);
 
     emit ResourceScoreDeleted(activity, client, resource);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kactivitymanagerd-5.19.5/src/service/plugins/sqlite/StatsPlugin.h 
new/kactivitymanagerd-5.20.0/src/service/plugins/sqlite/StatsPlugin.h
--- old/kactivitymanagerd-5.19.5/src/service/plugins/sqlite/StatsPlugin.h       
2020-09-01 12:23:49.000000000 +0200
+++ new/kactivitymanagerd-5.20.0/src/service/plugins/sqlite/StatsPlugin.h       
2020-10-08 18:07:34.000000000 +0200
@@ -21,6 +21,7 @@
 // Qt
 #include <QObject>
 #include <QTimer>
+#include <QSqlQuery>
 
 // Boost and STL
 #include <memory>
@@ -29,7 +30,6 @@
 // Local
 #include <Plugin.h>
 
-class QSqlQuery;
 class ResourceLinking;
 
 /**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kactivitymanagerd-5.19.5/src/service/plugins/sqlite/Utils.h 
new/kactivitymanagerd-5.20.0/src/service/plugins/sqlite/Utils.h
--- old/kactivitymanagerd-5.19.5/src/service/plugins/sqlite/Utils.h     
2020-09-01 12:23:49.000000000 +0200
+++ new/kactivitymanagerd-5.20.0/src/service/plugins/sqlite/Utils.h     
2020-10-08 18:07:34.000000000 +0200
@@ -21,6 +21,7 @@
 #define PLUGINS_SQLITE_DATABASE_UTILS_H
 
 #include <QSqlQuery>
+#include <QSqlError>
 #include <common/database/schema/ResourcesDatabaseSchema.h>
 #include <memory>
 
@@ -57,7 +58,7 @@
         FailOnError
     };
 
-    inline bool exec(ErrorHandling eh, QSqlQuery &query)
+    inline bool exec(Common::Database &database, ErrorHandling eh, QSqlQuery 
&query)
     {
         bool success = query.exec();
 
@@ -66,19 +67,23 @@
                 qCWarning(KAMD_LOG_RESOURCES) << query.lastQuery();
                 qCWarning(KAMD_LOG_RESOURCES) << query.lastError();
             }
-            Q_ASSERT_X(success, "Uils::exec", "Query failed");
+            Q_ASSERT_X(success, "Uils::exec", qPrintable(QStringLiteral("Query 
failed:") + query.lastError().text()));
+
+            if (!success) {
+                database.reportError(query.lastError());
+            }
         }
 
         return success;
     }
 
     template <typename T1, typename T2, typename... Ts>
-    inline bool exec(ErrorHandling eh, QSqlQuery &query,
+    inline bool exec(Common::Database &database, ErrorHandling eh, QSqlQuery 
&query,
                      const T1 &variable, const T2 &value, Ts... ts)
     {
         query.bindValue(variable, value);
 
-        return exec(eh, query, ts...);
+        return exec(database, eh, query, ts...);
     }
 
 } // namespace Utils
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kactivitymanagerd-5.19.5/src/service/plugins/sqlite/kactivitymanagerd-plugin-sqlite.json
 
new/kactivitymanagerd-5.20.0/src/service/plugins/sqlite/kactivitymanagerd-plugin-sqlite.json
--- 
old/kactivitymanagerd-5.19.5/src/service/plugins/sqlite/kactivitymanagerd-plugin-sqlite.json
        2020-09-01 12:23:49.000000000 +0200
+++ 
new/kactivitymanagerd-5.20.0/src/service/plugins/sqlite/kactivitymanagerd-plugin-sqlite.json
        2020-10-08 18:07:34.000000000 +0200
@@ -4,6 +4,7 @@
             {
                 "Email": "ivan.cu...@kde.org",
                 "Name": "Ivan Cukic",
+                "Name[az]": "Ivan Cukic",
                 "Name[ca@valencia]": "Ivan Cukic",
                 "Name[ca]": "Ivan Cukic",
                 "Name[cs]": "Ivan Cukic",
@@ -28,6 +29,7 @@
                 "Name[pl]": "Ivan Cukic",
                 "Name[pt]": "Ivan Cukic",
                 "Name[pt_BR]": "Ivan Cukic",
+                "Name[ro]": "Ivan Cukic",
                 "Name[ru]": "Ivan Čukić",
                 "Name[sk]": "Ivan Cukic",
                 "Name[sl]": "Ivan Cukic",
@@ -35,7 +37,6 @@
                 "Name[sr@ijekavianlatin]": "Ivan Čukić",
                 "Name[sr@latin]": "Ivan Čukić",
                 "Name[sr]": "Иван Чукић",
-                "Name[sv]": "Ivan Cukic",
                 "Name[tr]": "Ivan Cukic",
                 "Name[uk]": "Ivan Cukic",
                 "Name[x-test]": "xxIvan Cukicxx",
@@ -46,6 +47,7 @@
         "Category": "",
         "Dependencies": [],
         "Description": "Plugin to store and score events in SQLite",
+        "Description[az]": "SQLite-da hadisələri qiymətləndirmək və saxlamaq 
üçün modul",
         "Description[ca@valencia]": "Connector per a emmagatzemar i 
classificar esdeveniments en el SQLite",
         "Description[ca]": "Connector per a emmagatzemar i classificar 
esdeveniments en el SQLite",
         "Description[da]": "Plugin til at gemme og score hændelser i SQLite",
@@ -69,6 +71,7 @@
         "Description[pl]": "Wtyczka do przechowywania i oceny zdarzeń w 
SQLite",
         "Description[pt]": "'Plugin' para guardar e classificar os eventos em 
SQLite",
         "Description[pt_BR]": "Plugin para armazenar e classificar os eventos 
no SQLite",
+        "Description[ro]": "Extensie pentru stocarea și evaluarea 
evenimentelor în SQLite",
         "Description[ru]": "Модуль для сохранения и оценки событий в SQLite",
         "Description[sk]": "Plugin na uloženie a bodovanie udalosti v SQLite",
         "Description[sl]": "Vstavek za shranjevanje in označevanje dogodkov v 
SQLite",
@@ -76,7 +79,6 @@
         "Description[sr@ijekavianlatin]": "Priključak za skladištenje i 
ocenjivanje događaja u SQLiteu",
         "Description[sr@latin]": "Priključak za skladištenje i ocenjivanje 
događaja u SQLiteu",
         "Description[sr]": "Прикључак за складиштење и оцењивање догађаја у 
СКуЛајту",
-        "Description[sv]": "Insticksprogram för att lagra och betygsätta 
händelser i SQLite",
         "Description[tr]": "SQLite'da olayları saklamak ve puanlamak için 
eklenti",
         "Description[uk]": "Додаток для зберігання і оцінки подій у SQLite",
         "Description[x-test]": "xxPlugin to store and score events in 
SQLitexx",
@@ -87,6 +89,7 @@
         "Id": "org.kde.ActivityManager.ResourceScoring",
         "License": "GPL",
         "Name": "SQLite Feeder",
+        "Name[az]": "SQLite üçün məlumat təhcizatçısı",
         "Name[ca@valencia]": "Alimentador del Sqlite",
         "Name[ca]": "Alimentador del SQLite",
         "Name[da]": "SQLite-feeder",
@@ -110,6 +113,7 @@
         "Name[pl]": "Podajnik SQLite",
         "Name[pt]": "Fonte de SQLite",
         "Name[pt_BR]": "Fonte de notícias do SQLite",
+        "Name[ro]": "Furnizor SQLite",
         "Name[ru]": "Поставщик данных для SQLite",
         "Name[sk]": "Podávač SQLite",
         "Name[sl]": "Podajalnik SQLite",
@@ -117,7 +121,6 @@
         "Name[sr@ijekavianlatin]": "SQLiteov uvodnik",
         "Name[sr@latin]": "SQLiteov uvodnik",
         "Name[sr]": "СКуЛајтов уводник",
-        "Name[sv]": "SQLite-inmatning",
         "Name[tr]": "SQLite Besleyici",
         "Name[uk]": "Передавання даних SQLite",
         "Name[x-test]": "xxSQLite Feederxx",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kactivitymanagerd-5.19.5/src/service/plugins/virtualdesktopswitch/kactivitymanagerd-plugin-virtualdesktopswitch.json
 
new/kactivitymanagerd-5.20.0/src/service/plugins/virtualdesktopswitch/kactivitymanagerd-plugin-virtualdesktopswitch.json
--- 
old/kactivitymanagerd-5.19.5/src/service/plugins/virtualdesktopswitch/kactivitymanagerd-plugin-virtualdesktopswitch.json
    2020-09-01 12:23:49.000000000 +0200
+++ 
new/kactivitymanagerd-5.20.0/src/service/plugins/virtualdesktopswitch/kactivitymanagerd-plugin-virtualdesktopswitch.json
    2020-10-08 18:07:34.000000000 +0200
@@ -4,6 +4,7 @@
             {
                 "Email": "ivan.cu...@kde.org",
                 "Name": "Ivan Cukic",
+                "Name[az]": "Ivan Cukic",
                 "Name[ca@valencia]": "Ivan Cukic",
                 "Name[ca]": "Ivan Cukic",
                 "Name[cs]": "Ivan Cukic",
@@ -28,6 +29,7 @@
                 "Name[pl]": "Ivan Cukic",
                 "Name[pt]": "Ivan Cukic",
                 "Name[pt_BR]": "Ivan Cukic",
+                "Name[ro]": "Ivan Cukic",
                 "Name[ru]": "Ivan Čukić",
                 "Name[sk]": "Ivan Cukic",
                 "Name[sl]": "Ivan Cukic",
@@ -35,7 +37,6 @@
                 "Name[sr@ijekavianlatin]": "Ivan Čukić",
                 "Name[sr@latin]": "Ivan Čukić",
                 "Name[sr]": "Иван Чукић",
-                "Name[sv]": "Ivan Cukic",
                 "Name[tr]": "Ivan Cukic",
                 "Name[uk]": "Ivan Cukic",
                 "Name[x-test]": "xxIvan Cukicxx",
@@ -46,6 +47,7 @@
         "Category": "",
         "Dependencies": [],
         "Description": "When switching to an activity, opens the virtual 
desktop last used with that activity",
+        "Description[az]": "Bu fəaliyyətə keçid zamanı onda ən son aktiv olan 
iş masasını açır",
         "Description[ca@valencia]": "En canviar a una activitat, obri el 
darrer escriptori virtual utilitzat amb aquesta activitat",
         "Description[ca]": "En canviar a una activitat, obre el darrer 
escriptori virtual utilitzat amb aquesta activitat",
         "Description[da]": "Åbner det senest brugte virtuelle skrivebord for 
aktiviteten ved skift til en aktivitet",
@@ -69,6 +71,7 @@
         "Description[pl]": "Po przełączeniu do działania, otwiera wirtualny 
pulpit ostatnio używany do tego działania",
         "Description[pt]": "Ao mudar para uma actividade, abre o último ecrã 
virtual usado por essa actividade",
         "Description[pt_BR]": "Ao alternar para uma atividade, abre a última 
área de trabalho virtual usada com esta atividade",
+        "Description[ro]": "La comutarea la o activitate, deschide biroul 
virtual folosit ultima dată cu acea activitate",
         "Description[ru]": "При переключении на комнату открывает виртуальный 
рабочий стол, бывший активным в ней в последний раз",
         "Description[sk]": "Pri prepnutí na aktivitu, otvorí virtuálnu plochu 
naposledy použitú s danou aktivitou.",
         "Description[sl]": "Ob preklopu na dejavnost odpre navidezno namizje, 
ki je bilo nazadnje uporabljeno s to dejavnostjo",
@@ -76,7 +79,6 @@
         "Description[sr@ijekavianlatin]": "Pri prebacivanju na aktivnost, 
otvara virtuelnu površ koja je poslednja korišćena u toj aktivnosti",
         "Description[sr@latin]": "Pri prebacivanju na aktivnost, otvara 
virtuelnu površ koja je poslednja korišćena u toj aktivnosti",
         "Description[sr]": "При пребацивању на активност, отвара виртуелну 
површ која је последња коришћена у тој активности",
-        "Description[sv]": "Vid byte till en aktivitet, öppnar det virtuella 
skrivbord som senast användes med den aktiviteten",
         "Description[tr]": "Bir etkinliğe geçiş yaparken, bu etkinlikle son 
kullanılan sanal masaüstünü açar",
         "Description[uk]": "Під час перемикання на простір дій відкриває 
віртуальну стільницю, яку було використано у цьому просторі останньою",
         "Description[x-test]": "xxWhen switching to an activity, opens the 
virtual desktop last used with that activityxx",
@@ -87,6 +89,7 @@
         "Id": "org.kde.ActivityManager.VirtualDesktopSwitch",
         "License": "GPL",
         "Name": "Virtual desktop switcher",
+        "Name[az]": "Virtual İş Masası çeviricisi",
         "Name[ca@valencia]": "Commutador per als escriptoris virtuals",
         "Name[ca]": "Commutador pels escriptoris virtuals",
         "Name[cs]": "Přepínač virtuálních ploch",
@@ -111,6 +114,7 @@
         "Name[pl]": "Przełącznik wirtualnych pulpitów",
         "Name[pt]": "Mudança de ecrã virtual",
         "Name[pt_BR]": "Alternador de áreas de trabalho virtuais",
+        "Name[ro]": "Comutator de birouri virtuale",
         "Name[ru]": "Переключатель виртуальных рабочих столов",
         "Name[sk]": "Prepínač virtuálnych plôch",
         "Name[sl]": "Preklapljanje navideznih namizij",
@@ -118,7 +122,6 @@
         "Name[sr@ijekavianlatin]": "Menjač virtuelnih površi",
         "Name[sr@latin]": "Menjač virtuelnih površi",
         "Name[sr]": "Мењач виртуелних површи",
-        "Name[sv]": "Byte av virtuellt skrivbord",
         "Name[tr]": "Sanal masaüstü geçişi",
         "Name[uk]": "Перемикач віртуальних стільниць",
         "Name[x-test]": "xxVirtual desktop switcherxx",



Reply via email to