Hello community,

here is the log from the commit of package kguiaddons for openSUSE:Factory 
checked in at 2020-08-12 12:24:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kguiaddons (Old)
 and      /work/SRC/openSUSE:Factory/.kguiaddons.new.3399 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kguiaddons"

Wed Aug 12 12:24:01 2020 rev:81 rq:825078 version:5.73.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/kguiaddons/kguiaddons.changes    2020-07-14 
07:53:46.240717445 +0200
+++ /work/SRC/openSUSE:Factory/.kguiaddons.new.3399/kguiaddons.changes  
2020-08-12 12:28:27.432177750 +0200
@@ -1,0 +2,9 @@
+Sun Aug  2 07:13:24 UTC 2020 - Christophe Giboudeaux <[email protected]>
+
+- Update to 5.73.0
+  * New feature release
+  * For more details please see:
+  * https://kde.org/announcements/kde-frameworks-5.73.0
+- Too many changes to list here.
+
+-------------------------------------------------------------------

Old:
----
  kguiaddons-5.72.0.tar.xz
  kguiaddons-5.72.0.tar.xz.sig

New:
----
  kguiaddons-5.73.0.tar.xz
  kguiaddons-5.73.0.tar.xz.sig

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

Other differences:
------------------
++++++ kguiaddons.spec ++++++
--- /var/tmp/diff_new_pack.fRol7l/_old  2020-08-12 12:28:28.436177719 +0200
+++ /var/tmp/diff_new_pack.fRol7l/_new  2020-08-12 12:28:28.440177719 +0200
@@ -17,7 +17,7 @@
 
 
 %define lname   libKF5GuiAddons5
-%define _tar_path 5.72
+%define _tar_path 5.73
 # Full KF5 version (e.g. 5.33.0)
 %{!?_kf5_version: %global _kf5_version %{version}}
 # Last major and minor KF5 version (e.g. 5.33)
@@ -25,7 +25,7 @@
 # Only needed for the package signature condition
 %bcond_without lang
 Name:           kguiaddons
-Version:        5.72.0
+Version:        5.73.0
 Release:        0
 Summary:        Utilities for graphical user interfaces
 License:        LGPL-2.1-or-later
@@ -95,6 +95,7 @@
 %dir %{_kf5_plugindir}/kf5/kguiaddons/kmodifierkey
 %{_kf5_libdir}/libKF5GuiAddons.so.*
 %{_kf5_plugindir}/kf5/kguiaddons/kmodifierkey/kmodifierkey_xcb.so
+%{_kf5_debugdir}/kguiaddons.categories
 
 %files devel
 %{_kf5_includedir}/


++++++ kguiaddons-5.72.0.tar.xz -> kguiaddons-5.73.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kguiaddons-5.72.0/CMakeLists.txt 
new/kguiaddons-5.73.0/CMakeLists.txt
--- old/kguiaddons-5.72.0/CMakeLists.txt        2020-07-04 11:50:40.000000000 
+0200
+++ new/kguiaddons-5.73.0/CMakeLists.txt        2020-08-01 19:05:41.000000000 
+0200
@@ -1,10 +1,10 @@
 cmake_minimum_required(VERSION 3.5)
 
-set(KF5_VERSION "5.72.0") # handled by release scripts
+set(KF5_VERSION "5.73.0") # handled by release scripts
 project(KGuiAddons VERSION ${KF5_VERSION})
 
 include(FeatureSummary)
-find_package(ECM 5.72.0  NO_MODULE)
+find_package(ECM 5.73.0  NO_MODULE)
 set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake 
Modules." URL "https://commits.kde.org/extra-cmake-modules";)
 feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND 
FATAL_ON_MISSING_REQUIRED_PACKAGES)
 
@@ -26,6 +26,7 @@
 include(GenerateExportHeader)
 include(ECMSetupVersion)
 include(ECMGenerateHeaders)
+include(ECMQtDeclareLoggingCategory)
 include(ECMAddQch)
 
 ecm_setup_version(PROJECT VARIABLE_PREFIX KGUIADDONS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kguiaddons-5.72.0/autotests/CMakeLists.txt 
new/kguiaddons-5.73.0/autotests/CMakeLists.txt
--- old/kguiaddons-5.72.0/autotests/CMakeLists.txt      2020-07-04 
11:50:40.000000000 +0200
+++ new/kguiaddons-5.73.0/autotests/CMakeLists.txt      2020-08-01 
19:05:41.000000000 +0200
@@ -8,5 +8,6 @@
   kwordwraptest.cpp
   kcolorutilstest.cpp
   kiconutilstest.cpp
+  kcursorsavertest.cpp
   LINK_LIBRARIES KF5::GuiAddons Qt5::Test
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kguiaddons-5.72.0/autotests/kcursorsavertest.cpp 
new/kguiaddons-5.73.0/autotests/kcursorsavertest.cpp
--- old/kguiaddons-5.72.0/autotests/kcursorsavertest.cpp        1970-01-01 
01:00:00.000000000 +0100
+++ new/kguiaddons-5.73.0/autotests/kcursorsavertest.cpp        2020-08-01 
19:05:41.000000000 +0200
@@ -0,0 +1,35 @@
+/*
+    SPDX-License-Identifier: LGPL-2.0-or-later
+    SPDX-FileCopyrightText: 2020 Laurent Montel <[email protected]>
+*/
+
+#include "kcursorsavertest.h"
+#include "util/kcursorsaver.h"
+#include <QTest>
+QTEST_MAIN(KCursorSaverTest)
+
+KCursorSaverTest::KCursorSaverTest(QObject *parent)
+    : QObject(parent)
+{
+
+}
+
+void KCursorSaverTest::ignoreWarning()
+{
+    {
+        //Emit qwarning when we call twice restoreCursor
+        KCursorSaver saver(Qt::WaitCursor);
+        saver.restoreCursor();
+        QTest::ignoreMessage(QtWarningMsg, "This KCursorSaver doesn't own the 
cursor anymore, invalid call to restoreCursor().");
+        saver.restoreCursor();
+    }
+    {
+        //Emit qwarning when "moving A to B and then calling 
A::restoreCursor()"
+        KCursorSaver saverA(Qt::WaitCursor);
+        KCursorSaver saverB = std::move(saverA);
+        QTest::ignoreMessage(QtWarningMsg, "This KCursorSaver doesn't own the 
cursor anymore, invalid call to restoreCursor().");
+        saverA.restoreCursor();
+        QTest::ignoreMessage(QtWarningMsg, "This KCursorSaver doesn't own the 
cursor anymore, invalid call to restoreCursor().");
+        saverB.restoreCursor();
+    }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kguiaddons-5.72.0/autotests/kcursorsavertest.h 
new/kguiaddons-5.73.0/autotests/kcursorsavertest.h
--- old/kguiaddons-5.72.0/autotests/kcursorsavertest.h  1970-01-01 
01:00:00.000000000 +0100
+++ new/kguiaddons-5.73.0/autotests/kcursorsavertest.h  2020-08-01 
19:05:41.000000000 +0200
@@ -0,0 +1,22 @@
+/*
+    SPDX-License-Identifier: LGPL-2.0-or-later
+    SPDX-FileCopyrightText: 2020 Laurent Montel <[email protected]>
+*/
+
+
+#ifndef KCURSORSAVERTEST_H
+#define KCURSORSAVERTEST_H
+
+#include <QObject>
+
+class KCursorSaverTest : public QObject
+{
+    Q_OBJECT
+public:
+    explicit KCursorSaverTest(QObject *parent = nullptr);
+    ~KCursorSaverTest() = default;
+private Q_SLOTS:
+    void ignoreWarning();
+};
+
+#endif // KCURSORSAVERTEST_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kguiaddons-5.72.0/src/CMakeLists.txt 
new/kguiaddons-5.73.0/src/CMakeLists.txt
--- old/kguiaddons-5.72.0/src/CMakeLists.txt    2020-07-04 11:50:40.000000000 
+0200
+++ new/kguiaddons-5.73.0/src/CMakeLists.txt    2020-08-01 19:05:41.000000000 
+0200
@@ -12,10 +12,19 @@
  util/kmodifierkeyinfo.cpp
  util/kmodifierkeyinfoprovider.cpp
  util/urlhandler.cpp
+ util/kcursorsaver.cpp
 )
 
 set (kguiaddons_LIB_SRCS ${kguiaddons_LIB_SRCS} 
util/kmodifierkeyinfoprovider.cpp)
 
+ecm_qt_declare_logging_category(kguiaddons_LIB_SRCS
+    HEADER kguiaddons_debug.h
+    IDENTIFIER KGUIADDONS_LOG
+    CATEGORY_NAME kf.guiaddons
+    DESCRIPTION "KGuiAddons"
+    EXPORT KGUIADDONS
+)
+
 add_library(KF5GuiAddons ${kguiaddons_LIB_SRCS})
 
 generate_export_header(KF5GuiAddons BASE_NAME KGuiAddons)
@@ -81,6 +90,7 @@
   KIconUtils
   KImageCache
   KModifierKeyInfo
+  KCursorSaver
 
   RELATIVE util
   REQUIRED_HEADERS KGuiAddons_HEADERS
@@ -143,3 +153,9 @@
 include(ECMGeneratePriFile)
 ecm_generate_pri_file(BASE_NAME KGuiAddons LIB_NAME KF5GuiAddons DEPS "gui" 
FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR 
${KDE_INSTALL_INCLUDEDIR_KF5}/KGuiAddons)
 install(FILES ${PRI_FILENAME} DESTINATION ${ECM_MKSPECS_INSTALL_DIR})
+
+ecm_qt_install_logging_categories(
+    EXPORT KGUIADDONS
+    FILE kguiaddons.categories
+    DESTINATION "${KDE_INSTALL_LOGGINGCATEGORIESDIR}"
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kguiaddons-5.72.0/src/colors/kcolorcollection.cpp 
new/kguiaddons-5.73.0/src/colors/kcolorcollection.cpp
--- old/kguiaddons-5.72.0/src/colors/kcolorcollection.cpp       2020-07-04 
11:50:40.000000000 +0200
+++ new/kguiaddons-5.73.0/src/colors/kcolorcollection.cpp       2020-08-01 
19:05:41.000000000 +0200
@@ -11,8 +11,8 @@
 #include <QFile>
 #include <QDir>
 #include <QTextStream>
-#include <qsavefile.h>
-#include <qstandardpaths.h>
+#include <QSaveFile>
+#include <QStandardPaths>
 
 //BEGIN KColorCollectionPrivate
 class KColorCollectionPrivate
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kguiaddons-5.72.0/src/fonts/kfontutils.cpp 
new/kguiaddons-5.73.0/src/fonts/kfontutils.cpp
--- old/kguiaddons-5.72.0/src/fonts/kfontutils.cpp      2020-07-04 
11:50:40.000000000 +0200
+++ new/kguiaddons-5.73.0/src/fonts/kfontutils.cpp      2020-08-01 
19:05:41.000000000 +0200
@@ -7,7 +7,7 @@
 #include "kfontutils.h"
 
 #include <qmath.h>
-#include <qpainter.h>
+#include <QPainter>
 
 static bool checkFits(QPainter &painter, const QString &string, qreal width, 
qreal height, qreal size, KFontUtils::AdaptFontSizeOptions flags)
 {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kguiaddons-5.72.0/src/util/kcursorsaver.cpp 
new/kguiaddons-5.73.0/src/util/kcursorsaver.cpp
--- old/kguiaddons-5.72.0/src/util/kcursorsaver.cpp     1970-01-01 
01:00:00.000000000 +0100
+++ new/kguiaddons-5.73.0/src/util/kcursorsaver.cpp     2020-08-01 
19:05:41.000000000 +0200
@@ -0,0 +1,56 @@
+/*
+    SPDX-License-Identifier: LGPL-2.0-or-later
+    SPDX-FileCopyrightText: 2003 Marc Mutz <[email protected]>
+    SPDX-FileCopyrightText: 2020 Laurent Montel <[email protected]>
+*/
+
+
+
+#include "kcursorsaver.h"
+#include "kguiaddons_debug.h"
+#include <QGuiApplication>
+
+class KCursorSaverPrivate
+{
+public:
+    bool ownsCursor = true;
+};
+
+KCursorSaver::KCursorSaver(Qt::CursorShape shape)
+    : d(new KCursorSaverPrivate)
+{
+    QGuiApplication::setOverrideCursor(QCursor(shape));
+    d->ownsCursor = true;
+}
+
+KCursorSaver::KCursorSaver(KCursorSaver &&other)
+    : d(other.d)
+{
+    *this = std::move(other);
+}
+
+KCursorSaver::~KCursorSaver()
+{
+    if (d->ownsCursor) {
+        QGuiApplication::restoreOverrideCursor();
+        delete d;
+    }
+}
+
+void KCursorSaver::restoreCursor()
+{
+    if (!d->ownsCursor) {
+        qCWarning(KGUIADDONS_LOG) << "This KCursorSaver doesn't own the cursor 
anymore, invalid call to restoreCursor().";
+        return;
+    }
+    d->ownsCursor = false;
+    QGuiApplication::restoreOverrideCursor();
+}
+
+KCursorSaver &KCursorSaver::operator =(KCursorSaver &&other)
+{
+    if (this != &other) {
+        d->ownsCursor = false;
+    }
+    return *this;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kguiaddons-5.72.0/src/util/kcursorsaver.h 
new/kguiaddons-5.73.0/src/util/kcursorsaver.h
--- old/kguiaddons-5.72.0/src/util/kcursorsaver.h       1970-01-01 
01:00:00.000000000 +0100
+++ new/kguiaddons-5.73.0/src/util/kcursorsaver.h       2020-08-01 
19:05:41.000000000 +0200
@@ -0,0 +1,49 @@
+/*
+    SPDX-License-Identifier: LGPL-2.0-or-later
+    SPDX-FileCopyrightText: 2003 Marc Mutz <[email protected]>
+    SPDX-FileCopyrightText: 2020 Laurent Montel <[email protected]>
+*/
+
+#ifndef KCURSORSAVER_H
+#define KCURSORSAVER_H
+#include <kguiaddons_export.h>
+
+#include <QCursor>
+
+/**
+ * @class KCursorSaver kcursorsaver.h KCursorSaver
+ * @short sets a cursor and makes sure it's restored on destruction
+ * Create a KCursorSaver object when you want to set the cursor.
+ * As soon as it gets out of scope, it will restore the original
+ * cursor.
+ * @code
+    KCursorSaver saver(KCursorSaver::busy());
+    ... long-running operation here ...
+   @endcode
+ * @since 5.73
+ */
+class KCursorSaverPrivate;
+class KGUIADDONS_EXPORT KCursorSaver
+{
+public:
+    /// Creates a KCursorSaver, setting the mouse cursor to @p shape.
+    explicit KCursorSaver(Qt::CursorShape shape);
+
+    /// Move-constructs a KCursorSaver from other
+    KCursorSaver(KCursorSaver &&other);
+
+    /// restore the cursor
+    ~KCursorSaver();
+
+    /// call this to explicitly restore the cursor
+    void restoreCursor();
+
+    KCursorSaver& operator=(KCursorSaver &&other);
+
+private:
+    KCursorSaver(KCursorSaver &other) = delete;
+    void operator=(const KCursorSaver &rhs) = delete;
+    KCursorSaverPrivate *const d; ///< @internal
+};
+
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kguiaddons-5.72.0/src/util/kmodifierkeyinfo.cpp 
new/kguiaddons-5.73.0/src/util/kmodifierkeyinfo.cpp
--- old/kguiaddons-5.72.0/src/util/kmodifierkeyinfo.cpp 2020-07-04 
11:50:40.000000000 +0200
+++ new/kguiaddons-5.73.0/src/util/kmodifierkeyinfo.cpp 2020-08-01 
19:05:41.000000000 +0200
@@ -6,9 +6,9 @@
 
 #include "kmodifierkeyinfo.h"
 #include "kmodifierkeyinfoprovider_p.h"
-#include <QPluginLoader>
+#include <kguiaddons_debug.h>
 
-#include <QDebug>
+#include <QPluginLoader>
 #include <QGuiApplication>
 
 KModifierKeyInfoProvider* createProvider()
@@ -17,7 +17,7 @@
     auto instance = dynamic_cast<KModifierKeyInfoProvider*>(loader.instance());
     if (instance)
         return instance;
-    qWarning() << "Error: could not load plugin for platform" << 
loader.fileName() << "error:" << loader.errorString() << loader.instance();
+    qCWarning(KGUIADDONS_LOG) << "Error: could not load plugin for platform" 
<< loader.fileName() << "error:" << loader.errorString() << loader.instance();
     return new KModifierKeyInfoProvider;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kguiaddons-5.72.0/src/util/urlhandler.cpp 
new/kguiaddons-5.73.0/src/util/urlhandler.cpp
--- old/kguiaddons-5.72.0/src/util/urlhandler.cpp       2020-07-04 
11:50:40.000000000 +0200
+++ new/kguiaddons-5.73.0/src/util/urlhandler.cpp       2020-08-01 
19:05:41.000000000 +0200
@@ -4,12 +4,13 @@
     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR 
LicenseRef-KDE-Accepted-LGPL
 */
 
+#include <kguiaddons_debug.h>
+
 #include <QObject>
 #include <QUrl>
 #include <QStandardPaths>
 #include <QCoreApplication>
 #include <QProcess>
-#include <QDebug>
 #include <QDesktopServices>
 #include <QLocale>
 
@@ -53,8 +54,7 @@
         }
 
         // not a KDE application
-        // TODO: use qCWarning(<logging-category>) when we have loggin 
categories set up
-        qDebug() << "Could not find a suitable handler for " << u.toString();
+        qCWarning(KGUIADDONS_LOG) << "Could not find a suitable handler for " 
<< u.toString();
     }
 };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kguiaddons-5.72.0/tests/CMakeLists.txt 
new/kguiaddons-5.73.0/tests/CMakeLists.txt
--- old/kguiaddons-5.72.0/tests/CMakeLists.txt  2020-07-04 11:50:40.000000000 
+0200
+++ new/kguiaddons-5.73.0/tests/CMakeLists.txt  2020-08-01 19:05:41.000000000 
+0200
@@ -17,4 +17,5 @@
   kcolorcollectiontest
   kmodifierkeyinfotest
   openurltest
+  kcursorsavergui_test
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kguiaddons-5.72.0/tests/kcursorsavergui_test.cpp 
new/kguiaddons-5.73.0/tests/kcursorsavergui_test.cpp
--- old/kguiaddons-5.72.0/tests/kcursorsavergui_test.cpp        1970-01-01 
01:00:00.000000000 +0100
+++ new/kguiaddons-5.73.0/tests/kcursorsavergui_test.cpp        2020-08-01 
19:05:41.000000000 +0200
@@ -0,0 +1,44 @@
+/*
+    SPDX-FileCopyrightText: 2020 Laurent Montel <[email protected]>
+
+    SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR 
LicenseRef-KDE-Accepted-GPL
+*/
+
+#include <QApplication>
+#include <QPushButton>
+#include <QThread>
+#include <QVBoxLayout>
+#include <QWidget>
+
+#include "kcursorsaver.h"
+
+class KCursorSaverTestWidget : public QWidget
+{
+    Q_OBJECT
+
+public:
+    explicit KCursorSaverTestWidget(QWidget *parent = nullptr);
+};
+
+KCursorSaverTestWidget::KCursorSaverTestWidget(QWidget *parent)
+    : QWidget(parent)
+{
+    QVBoxLayout *layout = new QVBoxLayout(this);
+    QPushButton *busyButton = new QPushButton(QStringLiteral("busy"), this);
+    layout->addWidget(busyButton);
+    connect(busyButton, &QPushButton::clicked, this, [this]() {
+        KCursorSaver saver(Qt::WaitCursor);
+        QThread::sleep(3);
+    });
+}
+
+int main(int argc, char *argv[])
+{
+    QApplication app(argc, argv);
+    KCursorSaverTestWidget mainWidget;
+    mainWidget.show();
+
+    return app.exec();
+}
+
+#include "kcursorsavergui_test.moc"


Reply via email to