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"
