Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package qqc2-desktop-style for openSUSE:Factory checked in at 2021-03-16 15:41:32 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/qqc2-desktop-style (Old) and /work/SRC/openSUSE:Factory/.qqc2-desktop-style.new.2401 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qqc2-desktop-style" Tue Mar 16 15:41:32 2021 rev:44 rq:878850 version:5.80.0 Changes: -------- --- /work/SRC/openSUSE:Factory/qqc2-desktop-style/qqc2-desktop-style.changes 2021-02-17 18:13:04.802016198 +0100 +++ /work/SRC/openSUSE:Factory/.qqc2-desktop-style.new.2401/qqc2-desktop-style.changes 2021-03-16 15:42:54.940894232 +0100 @@ -1,0 +2,19 @@ +Sun Mar 7 09:27:24 UTC 2021 - Christophe Giboudeaux <[email protected]> + +- Update to 5.80.0 + * New feature release + * For more details please see: + * https://kde.org/announcements/frameworks/5/5.80.0 +- Changes since 5.79.0: + * Use more standard duration values + * Respect the animation speed setting for menu open/close animation + * [RoundButton] Rework the contentItem, improve background accuracy + * Spinbox: Update value during editing (kde#433066) + * Remove TODOs for Qt 5.7 + * [Label] Remove unnecessary code + * Use new custom event handling to trigger color sync in Platform theme + * Use QQuickWindow::setTextRenderType() for the default text rendering type + * Update Kirigami platform theme to new upstream API + * [radiobutton] Fix focus indicator + +------------------------------------------------------------------- Old: ---- qqc2-desktop-style-5.79.0.tar.xz qqc2-desktop-style-5.79.0.tar.xz.sig New: ---- qqc2-desktop-style-5.80.0.tar.xz qqc2-desktop-style-5.80.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qqc2-desktop-style.spec ++++++ --- /var/tmp/diff_new_pack.qvUsn9/_old 2021-03-16 15:42:55.576895250 +0100 +++ /var/tmp/diff_new_pack.qvUsn9/_new 2021-03-16 15:42:55.580895256 +0100 @@ -16,11 +16,11 @@ # -%define _tar_path 5.79 +%define _tar_path 5.80 # Only needed for the package signature condition %bcond_without lang Name: qqc2-desktop-style -Version: 5.79.0 +Version: 5.80.0 Release: 0 Summary: A Qt Quick Controls 2 Style for Desktop UIs License: GPL-2.0-or-later ++++++ qqc2-desktop-style-5.79.0.tar.xz -> qqc2-desktop-style-5.80.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.79.0/.gitignore new/qqc2-desktop-style-5.80.0/.gitignore --- old/qqc2-desktop-style-5.79.0/.gitignore 2021-01-30 18:44:34.000000000 +0100 +++ new/qqc2-desktop-style-5.80.0/.gitignore 2021-03-04 16:55:45.000000000 +0100 @@ -21,3 +21,4 @@ *.unc-backup* .cmake/ /.clang-format +/compile_commands.json diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.79.0/CMakeLists.txt new/qqc2-desktop-style-5.80.0/CMakeLists.txt --- old/qqc2-desktop-style-5.79.0/CMakeLists.txt 2021-01-30 18:44:34.000000000 +0100 +++ new/qqc2-desktop-style-5.80.0/CMakeLists.txt 2021-03-04 16:55:45.000000000 +0100 @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.5) -set(KF_VERSION "5.79.0") # handled by release scripts -set(KF5_DEP_VERSION "5.79.0") # handled by release scripts +set(KF_VERSION "5.80.0") # handled by release scripts +set(KF_DEP_VERSION "5.80.0") # handled by release scripts project(qqc2-desktop-style VERSION ${KF_VERSION}) @@ -21,7 +21,7 @@ ################# set KDE specific information ################# -find_package(ECM 5.79.0 REQUIRED NO_MODULE) +find_package(ECM 5.80.0 REQUIRED NO_MODULE) # where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH}) @@ -34,11 +34,11 @@ find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE COMPONENTS Core Quick Gui Widgets QuickControls2 DBus) -find_package(KF5 ${KF5_DEP_VERSION} REQUIRED COMPONENTS Config Kirigami2) +find_package(KF5 ${KF_DEP_VERSION} REQUIRED COMPONENTS Config Kirigami2) # IconThemes and ConfigWidgets are optional -find_package(KF5IconThemes ${KF5_DEP_VERSION}) -find_package(KF5ConfigWidgets ${KF5_DEP_VERSION}) +find_package(KF5IconThemes ${KF_DEP_VERSION}) +find_package(KF5ConfigWidgets ${KF_DEP_VERSION}) if (NOT APPLE AND NOT WIN32) find_package(X11) @@ -110,7 +110,7 @@ ######################################################################### add_definitions(-DQT_NO_FOREACH) add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x050e00) -add_definitions(-DKF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x054B00) +add_definitions(-DKF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x054F00) add_subdirectory(plugin) if (KF5IconThemes_FOUND AND KF5WidgetsAddons_FOUND) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.79.0/kirigami-plasmadesktop-integration/plasmadesktoptheme.cpp new/qqc2-desktop-style-5.80.0/kirigami-plasmadesktop-integration/plasmadesktoptheme.cpp --- old/qqc2-desktop-style-5.79.0/kirigami-plasmadesktop-integration/plasmadesktoptheme.cpp 2021-01-30 18:44:34.000000000 +0100 +++ new/qqc2-desktop-style-5.80.0/kirigami-plasmadesktop-integration/plasmadesktoptheme.cpp 2021-03-04 16:55:45.000000000 +0100 @@ -53,7 +53,17 @@ QDBusConnection::sessionBus().connect( QString(), QStringLiteral( "/KGlobalSettings" ), QStringLiteral( "org.kde.KGlobalSettings" ), - QStringLiteral( "notifyChange" ), this, SIGNAL(configurationChanged())); + QStringLiteral( "notifyChange" ), this, SLOT(notifyWatchersConfigurationChange())); + + connect(qGuiApp, &QGuiApplication::fontDatabaseChanged, this, &StyleSingleton::notifyWatchersConfigurationChange); + + // Use NativeTextRendering as the default text rendering type when the scale factor is an integer. + // NativeTextRendering is still distorted sometimes with fractional scale factors, + // despite https://bugreports.qt.io/browse/QTBUG-67007 being closed. + qreal devicePixelRatio = qGuiApp->devicePixelRatio(); + QQuickWindow::TextRenderType defaultTextRenderType = int(devicePixelRatio) == devicePixelRatio ? + QQuickWindow::NativeTextRendering : QQuickWindow::QtTextRendering; + QQuickWindow::setTextRenderType(defaultTextRenderType); } void refresh() @@ -62,7 +72,7 @@ buttonScheme = KColorScheme(QPalette::Active, KColorScheme::ColorSet::Button); viewScheme = KColorScheme(QPalette::Active, KColorScheme::ColorSet::View); - Q_EMIT paletteChanged(); + notifyWatchersPaletteChange(); } Colors loadColors(Kirigami::PlatformTheme::ColorSet cs, QPalette::ColorGroup group) @@ -130,12 +140,24 @@ return ret; } + void notifyWatchersPaletteChange() + { + for (auto watcher : qAsConst(watchers)) { + watcher->syncColors(); + } + } + + Q_SLOT void notifyWatchersConfigurationChange() + { + for (auto watcher : qAsConst(watchers)) { + watcher->syncFont(); + } + } + KColorScheme buttonScheme; KColorScheme viewScheme; -Q_SIGNALS: - void configurationChanged(); - void paletteChanged(); + QVector<QPointer<PlasmaDesktopTheme>> watchers; private: QHash<QPair<Kirigami::PlatformTheme::ColorSet, QPalette::ColorGroup>, Colors> m_cache; @@ -146,36 +168,24 @@ : PlatformTheme(parent) { setSupportsIconColoring(true); - m_parentItem = qobject_cast<QQuickItem *>(parent); - //null in case parent is a normal QObject - if (m_parentItem) { - connect(m_parentItem.data(), &QQuickItem::enabledChanged, - this, &PlasmaDesktopTheme::syncColors); - syncWindow(); - connect(m_parentItem.data(), &QQuickItem::windowChanged, - this, &PlasmaDesktopTheme::syncWindow); + auto parentItem = qobject_cast<QQuickItem *>(parent); + if (parentItem) { + connect(parentItem, &QQuickItem::enabledChanged, this, &PlasmaDesktopTheme::syncColors); + connect(parentItem, &QQuickItem::windowChanged, this, &PlasmaDesktopTheme::syncWindow); } - //TODO: correct? depends from https://codereview.qt-project.org/206889 - connect(qGuiApp, &QGuiApplication::fontDatabaseChanged, this, [this]() {setDefaultFont(qApp->font());}); - configurationChanged(); - - connect(this, &PlasmaDesktopTheme::colorSetChanged, - this, &PlasmaDesktopTheme::syncColors); - connect(this, &PlasmaDesktopTheme::colorGroupChanged, - this, &PlasmaDesktopTheme::syncColors); - - connect(s_style->data(), &StyleSingleton::paletteChanged, - this, &PlasmaDesktopTheme::syncColors); - - connect(s_style->data(), &StyleSingleton::configurationChanged, - this, &PlasmaDesktopTheme::configurationChanged); + (*s_style)->watchers.append(this); + syncFont(); + syncWindow(); syncColors(); } -PlasmaDesktopTheme::~PlasmaDesktopTheme() = default; +PlasmaDesktopTheme::~PlasmaDesktopTheme() +{ + (*s_style)->watchers.removeOne(this); +} void PlasmaDesktopTheme::syncWindow() { @@ -185,8 +195,10 @@ } QWindow *window = nullptr; - if (m_parentItem) { - QQuickWindow *qw = m_parentItem->window(); + + auto parentItem = qobject_cast<QQuickItem *>(parent()); + if (parentItem) { + QQuickWindow *qw = parentItem->window(); window = QQuickRenderControl::renderWindowFor(qw); if (!window) { @@ -206,7 +218,7 @@ } } -void PlasmaDesktopTheme::configurationChanged() +void PlasmaDesktopTheme::syncFont() { KSharedConfigPtr ptr = KSharedConfig::openConfig(); KConfigGroup general( ptr->group("general") ); @@ -219,6 +231,8 @@ } return smallFont; }())); + + setDefaultFont(qGuiApp->font()); } QIcon PlasmaDesktopTheme::iconFromTheme(const QString &name, const QColor &customColor) @@ -238,8 +252,9 @@ void PlasmaDesktopTheme::syncColors() { QPalette::ColorGroup group = (QPalette::ColorGroup)colorGroup(); - if (m_parentItem) { - if (!m_parentItem->isEnabled()) { + auto parentItem = qobject_cast<QQuickItem*>(parent()); + if (parentItem) { + if (!parentItem->isEnabled()) { group = QPalette::Disabled; //Why also checking the window is exposed? //in the case of QQuickWidget the window() will never be active @@ -251,7 +266,6 @@ } const auto colors = (*s_style)->loadColors(colorSet(), group); - setPalette(colors.palette); //foreground setTextColor(colors.scheme.foreground(KColorScheme::NormalText).color()); @@ -264,7 +278,6 @@ setNeutralTextColor(colors.scheme.foreground(KColorScheme::NeutralText).color()); setPositiveTextColor(colors.scheme.foreground(KColorScheme::PositiveText).color()); - //background setBackgroundColor(colors.scheme.background(KColorScheme::NormalBackground).color()); setAlternateBackgroundColor(colors.scheme.background(KColorScheme::AlternateBackground).color()); @@ -279,68 +292,24 @@ //decoration setHoverColor(colors.scheme.decoration(KColorScheme::HoverColor).color()); setFocusColor(colors.scheme.decoration(KColorScheme::FocusColor).color()); - - //legacy stuff - m_buttonTextColor = (*s_style)->buttonScheme.foreground(KColorScheme::NormalText).color(); - m_buttonBackgroundColor = (*s_style)->buttonScheme.background(KColorScheme::NormalBackground).color(); - m_buttonHoverColor = (*s_style)->buttonScheme.decoration(KColorScheme::HoverColor).color(); - m_buttonFocusColor = (*s_style)->buttonScheme.decoration(KColorScheme::FocusColor).color(); - - m_viewTextColor = (*s_style)->viewScheme.foreground(KColorScheme::NormalText).color(); - m_viewBackgroundColor = (*s_style)->viewScheme.background(KColorScheme::NormalBackground).color(); - m_viewHoverColor = (*s_style)->viewScheme.decoration(KColorScheme::HoverColor).color(); - m_viewFocusColor = (*s_style)->viewScheme.decoration(KColorScheme::FocusColor).color(); - - Q_EMIT colorsChanged(); -} - -QColor PlasmaDesktopTheme::buttonTextColor() const -{ - qWarning() << "WARNING: buttonTextColor is deprecated, use textColor with colorSet: Theme.Button instead"; - return m_buttonTextColor; -} - -QColor PlasmaDesktopTheme::buttonBackgroundColor() const -{ - qWarning() << "WARNING: buttonBackgroundColor is deprecated, use backgroundColor with colorSet: Theme.Button instead"; - return m_buttonBackgroundColor; -} - -QColor PlasmaDesktopTheme::buttonHoverColor() const -{ - qWarning() << "WARNING: buttonHoverColor is deprecated, use backgroundColor with colorSet: Theme.Button instead"; - return m_buttonHoverColor; -} - -QColor PlasmaDesktopTheme::buttonFocusColor() const -{ - qWarning() << "WARNING: buttonFocusColor is deprecated, use backgroundColor with colorSet: Theme.Button instead"; - return m_buttonFocusColor; } - -QColor PlasmaDesktopTheme::viewTextColor() const +bool PlasmaDesktopTheme::event(QEvent* event) { - qWarning()<<"WARNING: viewTextColor is deprecated, use backgroundColor with colorSet: Theme.View instead"; - return m_viewTextColor; -} + if (event->type() == Kirigami::PlatformThemeEvents::DataChangedEvent::type) { + syncFont(); + syncColors(); + } -QColor PlasmaDesktopTheme::viewBackgroundColor() const -{ - qWarning() << "WARNING: viewBackgroundColor is deprecated, use backgroundColor with colorSet: Theme.View instead"; - return m_viewBackgroundColor; -} + if (event->type() == Kirigami::PlatformThemeEvents::ColorSetChangedEvent::type) { + syncColors(); + } -QColor PlasmaDesktopTheme::viewHoverColor() const -{ - qWarning() << "WARNING: viewHoverColor is deprecated, use backgroundColor with colorSet: Theme.View instead"; - return m_viewHoverColor; -} + if (event->type() == Kirigami::PlatformThemeEvents::ColorGroupChangedEvent::type) { + syncColors(); + } -QColor PlasmaDesktopTheme::viewFocusColor() const -{ - qWarning() << "WARNING: viewFocusColor is deprecated, use backgroundColor with colorSet: Theme.View instead"; - return m_viewFocusColor; + return PlatformTheme::event(event); } #include "plasmadesktoptheme.moc" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.79.0/kirigami-plasmadesktop-integration/plasmadesktoptheme.h new/qqc2-desktop-style-5.80.0/kirigami-plasmadesktop-integration/plasmadesktoptheme.h --- old/qqc2-desktop-style-5.79.0/kirigami-plasmadesktop-integration/plasmadesktoptheme.h 2021-01-30 18:44:34.000000000 +0100 +++ new/qqc2-desktop-style-5.80.0/kirigami-plasmadesktop-integration/plasmadesktoptheme.h 2021-03-04 16:55:45.000000000 +0100 @@ -16,22 +16,12 @@ class PlasmaDesktopTheme; class KIconLoader; +class StyleSingleton; class PlasmaDesktopTheme : public Kirigami::PlatformTheme { Q_OBJECT - // colors - Q_PROPERTY(QColor buttonTextColor READ buttonTextColor NOTIFY colorsChanged) - Q_PROPERTY(QColor buttonBackgroundColor READ buttonBackgroundColor NOTIFY colorsChanged) - Q_PROPERTY(QColor buttonHoverColor READ buttonHoverColor NOTIFY colorsChanged) - Q_PROPERTY(QColor buttonFocusColor READ buttonFocusColor NOTIFY colorsChanged) - - Q_PROPERTY(QColor viewTextColor READ viewTextColor NOTIFY colorsChanged) - Q_PROPERTY(QColor viewBackgroundColor READ viewBackgroundColor NOTIFY colorsChanged) - Q_PROPERTY(QColor viewHoverColor READ viewHoverColor NOTIFY colorsChanged) - Q_PROPERTY(QColor viewFocusColor READ viewFocusColor NOTIFY colorsChanged) - public: explicit PlasmaDesktopTheme(QObject *parent = nullptr); ~PlasmaDesktopTheme() override; @@ -41,35 +31,15 @@ void syncWindow(); void syncColors(); - QColor buttonTextColor() const; - QColor buttonBackgroundColor() const; - QColor buttonHoverColor() const; - QColor buttonFocusColor() const; - - QColor viewTextColor() const; - QColor viewBackgroundColor() const; - QColor viewHoverColor() const; - QColor viewFocusColor() const; - -Q_SIGNALS: - void colorsChanged(); +protected: + bool event(QEvent *event) override; protected Q_SLOTS: - void configurationChanged(); + void syncFont(); private: - QPointer<QQuickItem> m_parentItem; + friend class StyleSingleton; QPointer<QWindow> m_window; - //legacy colors - QColor m_buttonTextColor; - QColor m_buttonBackgroundColor; - QColor m_buttonHoverColor; - QColor m_buttonFocusColor; - QColor m_viewTextColor; - QColor m_viewBackgroundColor; - QColor m_viewHoverColor; - QColor m_viewFocusColor; }; - #endif // KIRIGAMIPLASMATHEME_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.79.0/org.kde.desktop/BusyIndicator.qml new/qqc2-desktop-style-5.80.0/org.kde.desktop/BusyIndicator.qml --- old/qqc2-desktop-style-5.79.0/org.kde.desktop/BusyIndicator.qml 2021-01-30 18:44:34.000000000 +0100 +++ new/qqc2-desktop-style-5.80.0/org.kde.desktop/BusyIndicator.qml 2021-03-04 16:55:45.000000000 +0100 @@ -29,16 +29,20 @@ // appearing/fading opacity change Behavior on opacity { - OpacityAnimator { duration: 250 } + OpacityAnimator { duration: Kirigami.Units.longDuration } } // rotating loading icon RotationAnimator { target: controlRoot.contentItem - running: controlRoot.visible && controlRoot.running + // Don't want it to animate at all if the user has disabled animations + running: controlRoot.visible && controlRoot.running && Kirigami.Units.longDuration > 1 from: 0 to: 360 loops: Animation.Infinite + // Not using a standard duration value because we don't want the + // animation to spin faster or slower based on the user's animation + // scaling preferences; it doesn't make sense in this context duration: 2000 } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.79.0/org.kde.desktop/Button.qml new/qqc2-desktop-style-5.80.0/org.kde.desktop/Button.qml --- old/qqc2-desktop-style-5.79.0/org.kde.desktop/Button.qml 2021-01-30 18:44:34.000000000 +0100 +++ new/qqc2-desktop-style-5.80.0/org.kde.desktop/Button.qml 2021-03-04 16:55:45.000000000 +0100 @@ -20,7 +20,7 @@ implicitWidth: background.implicitWidth implicitHeight: background.implicitHeight - hoverEnabled: true //Qt.styleHints.useHoverEffects TODO: how to make this work in 5.7? + hoverEnabled: Qt.styleHints.useHoverEffects contentItem: Item {} Kirigami.MnemonicData.enabled: controlRoot.enabled && controlRoot.visible diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.79.0/org.kde.desktop/Dialog.qml new/qqc2-desktop-style-5.80.0/org.kde.desktop/Dialog.qml --- old/qqc2-desktop-style-5.79.0/org.kde.desktop/Dialog.qml 2021-01-30 18:44:34.000000000 +0100 +++ new/qqc2-desktop-style-5.80.0/org.kde.desktop/Dialog.qml 2021-03-04 16:55:45.000000000 +0100 @@ -30,7 +30,7 @@ from: 0 to: 1 easing.type: Easing.InOutQuad - duration: 250 + duration: Kirigami.Units.longDuration } } @@ -40,7 +40,7 @@ from: 1 to: 0 easing.type: Easing.InOutQuad - duration: 250 + duration: Kirigami.Units.longDuration } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.79.0/org.kde.desktop/Label.qml new/qqc2-desktop-style-5.80.0/org.kde.desktop/Label.qml --- old/qqc2-desktop-style-5.79.0/org.kde.desktop/Label.qml 2021-01-30 18:44:34.000000000 +0100 +++ new/qqc2-desktop-style-5.80.0/org.kde.desktop/Label.qml 2021-03-04 16:55:45.000000000 +0100 @@ -15,11 +15,8 @@ T.Label { id: control - palette: Kirigami.Theme.palette verticalAlignment: lineCount > 1 ? Text.AlignTop : Text.AlignVCenter - activeFocusOnTab: false - // Work around Qt bug where NativeRendering breaks for non-integer scale factors // https://bugreports.qt.io/browse/QTBUG-67007 renderType: Screen.devicePixelRatio % 1 !== 0 ? Text.QtRendering : Text.NativeRendering @@ -34,20 +31,6 @@ acceptedButtons: Qt.NoButton // Not actually accepting clicks, just changing the cursor } - font.capitalization: Kirigami.Theme.defaultFont.capitalization - font.family: Kirigami.Theme.defaultFont.family - font.italic: Kirigami.Theme.defaultFont.italic - font.letterSpacing: Kirigami.Theme.defaultFont.letterSpacing - font.pointSize: Kirigami.Theme.defaultFont.pointSize - font.strikeout: Kirigami.Theme.defaultFont.strikeout - font.underline: Kirigami.Theme.defaultFont.underline - font.weight: Kirigami.Theme.defaultFont.weight - font.wordSpacing: Kirigami.Theme.defaultFont.wordSpacing color: Kirigami.Theme.textColor linkColor: Kirigami.Theme.linkColor - - opacity: enabled? 1 : 0.6 - - Accessible.role: Accessible.StaticText - Accessible.name: text } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.79.0/org.kde.desktop/Menu.qml new/qqc2-desktop-style-5.80.0/org.kde.desktop/Menu.qml --- old/qqc2-desktop-style-5.79.0/org.kde.desktop/Menu.qml 2021-01-30 18:44:34.000000000 +0100 +++ new/qqc2-desktop-style-5.80.0/org.kde.desktop/Menu.qml 2021-03-04 16:55:45.000000000 +0100 @@ -69,7 +69,7 @@ from: 0 to: 1 easing.type: Easing.InOutQuad - duration: 150 + duration: Kirigami.Units.shortDuration } } @@ -79,7 +79,7 @@ from: 1 to: 0 easing.type: Easing.InOutQuad - duration: 150 + duration: Kirigami.Units.shortDuration } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.79.0/org.kde.desktop/MenuBarItem.qml new/qqc2-desktop-style-5.80.0/org.kde.desktop/MenuBarItem.qml --- old/qqc2-desktop-style-5.79.0/org.kde.desktop/MenuBarItem.qml 2021-01-30 18:44:34.000000000 +0100 +++ new/qqc2-desktop-style-5.80.0/org.kde.desktop/MenuBarItem.qml 2021-03-04 16:55:45.000000000 +0100 @@ -55,7 +55,7 @@ anchors.fill: parent color: Kirigami.Theme.highlightColor opacity: controlRoot.down || controlRoot.highlighted ? 0.7 : 0 - Behavior on opacity { NumberAnimation { duration: 150 } } + Behavior on opacity { NumberAnimation { duration: Kirigami.Units.shortDuration } } } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.79.0/org.kde.desktop/Popup.qml new/qqc2-desktop-style-5.80.0/org.kde.desktop/Popup.qml --- old/qqc2-desktop-style-5.79.0/org.kde.desktop/Popup.qml 2021-01-30 18:44:34.000000000 +0100 +++ new/qqc2-desktop-style-5.80.0/org.kde.desktop/Popup.qml 2021-03-04 16:55:45.000000000 +0100 @@ -31,7 +31,7 @@ from: 0 to: 1 easing.type: Easing.InOutQuad - duration: 250 + duration: Kirigami.Units.longDuration } } @@ -41,7 +41,7 @@ from: 1 to: 0 easing.type: Easing.InOutQuad - duration: 250 + duration: Kirigami.Units.longDuration } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.79.0/org.kde.desktop/RadioButton.qml new/qqc2-desktop-style-5.80.0/org.kde.desktop/RadioButton.qml --- old/qqc2-desktop-style-5.79.0/org.kde.desktop/RadioButton.qml 2021-01-30 18:44:34.000000000 +0100 +++ new/qqc2-desktop-style-5.80.0/org.kde.desktop/RadioButton.qml 2021-03-04 16:55:45.000000000 +0100 @@ -63,6 +63,18 @@ FocusRect { control: controlRoot + + anchors { + leftMargin: (controlRoot.mirrored ? parent.rightPadding : parent.leftPadding ) - Kirigami.Units.smallSpacing / 2 + left: parent.left + top: parent.top + bottom: parent.bottom + topMargin: parent.topPadding - 1 + bottomMargin: parent.bottomPadding - 1 + } + + width: parent.paintedWidth + Kirigami.Units.smallSpacing + visible: control.activeFocus } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.79.0/org.kde.desktop/RoundButton.qml new/qqc2-desktop-style-5.80.0/org.kde.desktop/RoundButton.qml --- old/qqc2-desktop-style-5.79.0/org.kde.desktop/RoundButton.qml 2021-01-30 18:44:34.000000000 +0100 +++ new/qqc2-desktop-style-5.80.0/org.kde.desktop/RoundButton.qml 2021-03-04 16:55:45.000000000 +0100 @@ -10,58 +10,99 @@ import QtQuick.Templates @QQC2_VERSION@ as T import QtQuick.Controls @QQC2_VERSION@ as Controls import org.kde.qqc2desktopstyle.private 1.0 as StylePrivate -import org.kde.kirigami 2.4 as Kirigami +import org.kde.kirigami 2.16 as Kirigami T.RoundButton { id: controlRoot - palette: Kirigami.Theme.palette - Kirigami.Theme.colorSet: !flat && controlRoot.activeFocus ? Kirigami.Theme.Selection : Kirigami.Theme.Button - Kirigami.Theme.inherit: false - - implicitWidth: Math.max(background ? background.implicitWidth : 0, - contentItem.implicitWidth + leftPadding + rightPadding) - implicitHeight: Math.max(background ? background.implicitHeight : 0, - contentItem.implicitHeight + topPadding + bottomPadding) - baselineOffset: contentItem.y + contentItem.baselineOffset - hoverEnabled: !Kirigami.Settings.isMobile + Kirigami.Theme.colorSet: !flat && (controlRoot.activeFocus || controlRoot.highlighted) ? Kirigami.Theme.Selection : Kirigami.Theme.Button + Kirigami.Theme.inherit: flat && !down && !checked + + implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset, + implicitContentWidth + leftPadding + rightPadding) + implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset, + implicitContentHeight + topPadding + bottomPadding, + implicitIndicatorHeight + topPadding + bottomPadding) + + baselineOffset: contentItem.y + contentItem.baselineOffset transform: Translate { x: controlRoot.down || controlRoot.checked ? 1 : 0 y: controlRoot.down || controlRoot.checked ? 1 : 0 } - contentItem: Item { - implicitWidth: mainLayout.implicitWidth - implicitHeight: mainLayout.implicitHeight - RowLayout { - id: mainLayout - anchors.centerIn: parent - Kirigami.Icon { - Layout.preferredWidth: Kirigami.Units.iconSizes.smallMedium - Layout.preferredHeight: Kirigami.Units.iconSizes.smallMedium - Layout.fillWidth: true - Layout.fillHeight: true - visible: source.length > 0 - source: controlRoot.icon ? (controlRoot.icon.name || controlRoot.icon.source) : "" + + icon.width: Kirigami.Units.iconSizes.smallMedium + icon.height: Kirigami.Units.iconSizes.smallMedium + + padding: 6 // Matches the button margins of Breeze, Fusion, Oxygen and QCommonStyle + spacing: 4 // Matches the default/hardcoded icon+label spacing of Qt Widgets + + contentItem: GridLayout { + rowSpacing: controlRoot.spacing + columnSpacing: controlRoot.spacing + flow: iconContent.visible && labelContent.visible && controlRoot.display == T.AbstractButton.TextUnderIcon ? GridLayout.TopToBottom : GridLayout.LeftToRight + Kirigami.Icon { + id: iconContent + Layout.alignment: { + if (iconContent.visible && labelContent.visible) { + if (controlRoot.display == T.AbstractButton.TextBesideIcon) { + return Qt.AlignRight | Qt.AlignVCenter + } else if (controlRoot.display == T.AbstractButton.TextUnderIcon) { + return Qt.AlignHCenter | Qt.AlignBottom + } + } else { + return Qt.AlignCenter + } } - Controls.Label { - text: controlRoot.text - visible: text.length > 0 + color: controlRoot.icon.color // defaults to Qt::transparent + implicitWidth: controlRoot.icon.width + implicitHeight: controlRoot.icon.height + visible: source.length > 0 && controlRoot.display != T.AbstractButton.TextOnly + source: controlRoot.icon ? (controlRoot.icon.name || controlRoot.icon.source) : "" + } + Controls.Label { + id: labelContent + Layout.alignment: { + if (iconContent.visible && labelContent.visible) { + if (controlRoot.display == T.AbstractButton.TextBesideIcon) { + return Qt.AlignLeft | Qt.AlignVCenter + } else if (controlRoot.display == T.AbstractButton.TextUnderIcon) { + return Qt.AlignHCenter | Qt.AlignTop + } + } else { + return Qt.AlignCenter + } } + text: controlRoot.text + visible: text.length > 0 && controlRoot.display != T.AbstractButton.IconOnly } } background: Rectangle { - property color borderColor: Qt.tint(Kirigami.Theme.textColor, Qt.rgba(Kirigami.Theme.backgroundColor.r, Kirigami.Theme.backgroundColor.g, Kirigami.Theme.backgroundColor.b, 0.7)) + property color borderColor: Qt.tint(controlRoot.palette.buttonText, Qt.rgba(color.r, color.g, color.b, 0.7)) + + visible: !controlRoot.flat || controlRoot.hovered || controlRoot.activeFocus || controlRoot.highlighted || controlRoot.checked || controlRoot.down - implicitWidth: Kirigami.Units.gridUnit * 2 - implicitHeight: Kirigami.Units.gridUnit * 2 + implicitWidth: Kirigami.Units.gridUnit + 6 + 6 + implicitHeight: Kirigami.Units.gridUnit + 6 + 6 radius: controlRoot.radius - color: (controlRoot.activeFocus && (controlRoot.hovered || controlRoot.highlighted)) || controlRoot.down || controlRoot.checked ? Qt.lighter(borderColor, 1.1) : Kirigami.Theme.backgroundColor + color: { + if (controlRoot.checked || controlRoot.down) { + return Qt.tint(Kirigami.Theme.textColor, Qt.rgba(Kirigami.Theme.backgroundColor.r, Kirigami.Theme.backgroundColor.g, Kirigami.Theme.backgroundColor.b, 0.8)) + } else if (controlRoot.flat) { + return Qt.rgba( + Kirigami.Theme.backgroundColor.r, + Kirigami.Theme.backgroundColor.g, + Kirigami.Theme.backgroundColor.b, 0) + } else { + return Kirigami.Theme.backgroundColor + } + } - border.color: (controlRoot.hovered || controlRoot.highlighted) ? Qt.lighter(Kirigami.Theme.highlightColor, 1.2) : borderColor - border.width: 1 + border.color: controlRoot.flat ? Kirigami.Theme.highlightColor : borderColor + border.width: controlRoot.flat && !(controlRoot.hovered || controlRoot.activeFocus || controlRoot.highlighted) ? 0 : 1 Rectangle { + id: gradientRect radius: controlRoot.radius anchors.fill: parent visible: !controlRoot.flat @@ -71,6 +112,7 @@ } } Rectangle { + id: shadowRect z: -1 radius: controlRoot.radius visible: !controlRoot.down && !controlRoot.checked && !controlRoot.flat diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.79.0/org.kde.desktop/SpinBox.qml new/qqc2-desktop-style-5.80.0/org.kde.desktop/SpinBox.qml --- old/qqc2-desktop-style-5.79.0/org.kde.desktop/SpinBox.qml 2021-01-30 18:44:34.000000000 +0100 +++ new/qqc2-desktop-style-5.80.0/org.kde.desktop/SpinBox.qml 2021-03-04 16:55:45.000000000 +0100 @@ -35,6 +35,17 @@ top: Math.max(controlRoot.from, controlRoot.to) } + // SpinBox does not update its value during editing, see QTBUG-91281 + Connections { + target: controlRoot.contentItem + function onTextEdited() { + if (controlRoot.contentItem.text) { + controlRoot.value = controlRoot.valueFromText(controlRoot.contentItem.text, controlRoot.locale) + controlRoot.valueModified() + } + } + } + contentItem: TextInput { z: 2 text: controlRoot.textFromValue(controlRoot.value, controlRoot.locale) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.79.0/org.kde.desktop/ToolButton.qml new/qqc2-desktop-style-5.80.0/org.kde.desktop/ToolButton.qml --- old/qqc2-desktop-style-5.79.0/org.kde.desktop/ToolButton.qml 2021-01-30 18:44:34.000000000 +0100 +++ new/qqc2-desktop-style-5.80.0/org.kde.desktop/ToolButton.qml 2021-03-04 16:55:45.000000000 +0100 @@ -21,7 +21,7 @@ implicitWidth: text.length > 0 ? background.implicitWidth : implicitHeight implicitHeight: background.implicitHeight - hoverEnabled: true //Qt.styleHints.useHoverEffects TODO: how to make this work in 5.7? + hoverEnabled: Qt.styleHints.useHoverEffects flat: true contentItem: Item {} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqc2-desktop-style-5.79.0/org.kde.desktop/private/FocusRect.qml new/qqc2-desktop-style-5.80.0/org.kde.desktop/private/FocusRect.qml --- old/qqc2-desktop-style-5.79.0/org.kde.desktop/private/FocusRect.qml 2021-01-30 18:44:34.000000000 +0100 +++ new/qqc2-desktop-style-5.80.0/org.kde.desktop/private/FocusRect.qml 2021-03-04 16:55:45.000000000 +0100 @@ -11,16 +11,4 @@ StylePrivate.StyleItem { elementType: "focusrect" - // those random numbers come from QQC1 desktop style - anchors { - top: parent.top - bottom: parent.bottom - topMargin: parent.topPadding - 1 - bottomMargin: parent.bottomPadding - 1 - } - // this is explicitly not using left anchor for auto mirroring - // since the label's leftPadding/rightPadding already accounts for that - x: parent.leftPadding - 2 - width: parent.implicitWidth - parent.leftPadding - parent.rightPadding + 3 - visible: control.activeFocus }
