Hello community, here is the log from the commit of package plasma-framework for openSUSE:Factory checked in at 2015-01-30 15:07:50 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/plasma-framework (Old) and /work/SRC/openSUSE:Factory/.plasma-framework.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "plasma-framework" Changes: -------- --- /work/SRC/openSUSE:Factory/plasma-framework/plasma-framework.changes 2015-01-23 15:47:15.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.plasma-framework.new/plasma-framework.changes 2015-01-30 15:08:02.000000000 +0100 @@ -1,0 +2,11 @@ +Thu Jan 29 12:53:38 UTC 2015 - [email protected] + +- Added patches from upstream: + 0001-collapse-tooltips-that-only-have-text.patch (kde#343390), + 0002-restore-hint-apply-color-scheme-support.patch (kde#343389), + 0003-restore-hint-apply-color-scheme-support.patch (kde#343389), + 0001-make-sure-animation-is-disabled-the-first-time.patch (kde#341933), + 0004-fix-tooltip-positioning.patch and + 0005-Fix-fallback-from-invalid-L-F-packages.patch (kde#343510) + +------------------------------------------------------------------- New: ---- 0001-collapse-tooltips-that-only-have-text.patch 0001-make-sure-animation-is-disabled-the-first-time.patch 0002-restore-hint-apply-color-scheme-support.patch 0003-restore-hint-apply-color-scheme-support.patch 0004-fix-tooltip-positioning.patch 0005-Fix-fallback-from-invalid-L-F-packages.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ plasma-framework.spec ++++++ --- /var/tmp/diff_new_pack.vTwv9C/_old 2015-01-30 15:08:03.000000000 +0100 +++ /var/tmp/diff_new_pack.vTwv9C/_new 2015-01-30 15:08:03.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package plasma-framework # -# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -36,6 +36,18 @@ Patch3: 0004-don-t-forward-events-if-not-visible-anymore.patch # PATCH-FIX-UPSTREAM 0005-a-check-more-on-centering.patch Patch4: 0005-a-check-more-on-centering.patch +# PATCH-FIX-UPSTREAM 0001-collapse-tooltips-that-only-have-text.patch +Patch5: 0001-collapse-tooltips-that-only-have-text.patch +# PATCH-FIX-UPSTREAM 0002-restore-hint-apply-color-scheme-support.patch +Patch6: 0002-restore-hint-apply-color-scheme-support.patch +# PATCH-FIX-UPSTREAM 0003-restore-hint-apply-color-scheme-support.patch +Patch7: 0003-restore-hint-apply-color-scheme-support.patch +# PATCH-FIX-UPSTREAM 0001-make-sure-animation-is-disabled-the-first-time.patch +Patch8: 0001-make-sure-animation-is-disabled-the-first-time.patch +# PATCH-FIX-UPSTREAM 0004-fix-tooltip-positioning.patch +Patch9: 0004-fix-tooltip-positioning.patch +# PATCH-FIX-UPSTREAM 0005-Fix-fallback-from-invalid-L-F-packages.patch +Patch10: 0005-Fix-fallback-from-invalid-L-F-packages.patch BuildRequires: extra-cmake-modules >= 1.6.0 BuildRequires: fdupes BuildRequires: kactivities5-devel >= %{kf5_version} @@ -127,6 +139,12 @@ %patch2 -p1 %patch3 -p1 %patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 +%patch9 -p1 +%patch10 -p1 %build %cmake_kf5 -d build ++++++ 0001-collapse-tooltips-that-only-have-text.patch ++++++ >From 993cdb54a66982f2984c49c6010b3f6ae5ca9131 Mon Sep 17 00:00:00 2001 From: Marco Martin <[email protected]> Date: Wed, 28 Jan 2015 12:41:34 +0100 Subject: [PATCH 1/5] collapse tooltips that only have text if a tooltip has only text, expecially only title or only subtitle, make it as small as possible BUG:343390 Change-Id: I5eff081613c9c64c78b8c5741bac67409a112c98 --- src/declarativeimports/core/private/DefaultToolTip.qml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/declarativeimports/core/private/DefaultToolTip.qml b/src/declarativeimports/core/private/DefaultToolTip.qml index 60105713e2858f90854dcbe9980ecb735facf0ed..d1be6ae42d1c093100201dd9e20670edd6381c57 100644 --- a/src/declarativeimports/core/private/DefaultToolTip.qml +++ b/src/declarativeimports/core/private/DefaultToolTip.qml @@ -32,7 +32,7 @@ Row { property Item toolTip property int preferredTextWidth: theme.mSize(theme.defaultFont).width * 40 - property int _s: units.largeSpacing / 2 + property int _s: imageContainer.visible || (toolTip.mainText != "" && toolTip.subText != "") ? units.largeSpacing / 2 : 0 Layout.minimumWidth: implicitWidth + _s Layout.minimumHeight: implicitHeight + _s * 2 @@ -45,7 +45,7 @@ Row { Item { id: imageContainer - visible: toolTip != null && (toolTip.image != null || toolTip.icon != null) + visible: toolTip != null && (toolTip.image != "" || toolTip.icon != "") width: Math.max(tooltipImage.width, tooltipIcon.width) height: Math.max(tooltipImage.height, tooltipIcon.height) x: _s -- 2.2.2 ++++++ 0001-make-sure-animation-is-disabled-the-first-time.patch ++++++ >From 05cea81fdd17157a184fb34b22d1ce076d5c28a6 Mon Sep 17 00:00:00 2001 From: Marco Martin <[email protected]> Date: Fri, 16 Jan 2015 18:01:17 +0100 Subject: [PATCH 1/1] make sure animation is disabled the first time make sure the animation is disabled when the tooltip appears for the first time. since the correct implicitsizes can be calculated only when the tooltip window is visible, we need to show the tooltip window then calculate the final size and position, and last move it *without animations* Change-Id: I2d0f653e860104f17a62203565d5002a16d0dfae reviewed-by: David Edmundson <[email protected]> BUG:341933 --- src/declarativeimports/core/tooltip.cpp | 4 +++- src/declarativeimports/core/tooltipdialog.cpp | 17 ++++++++++++++--- src/declarativeimports/core/tooltipdialog.h | 4 ++++ 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/src/declarativeimports/core/tooltip.cpp b/src/declarativeimports/core/tooltip.cpp index 2e19f0d06f6d71c4de182dd56858d1c8d1159c72..eb58bca92c9f65810c9f65c3fe2708d77410e608 100644 --- a/src/declarativeimports/core/tooltip.cpp +++ b/src/declarativeimports/core/tooltip.cpp @@ -143,11 +143,13 @@ void ToolTip::showToolTip() mainItem()->setVisible(true); } + //if the dialog is not currently visible, disable the animated repositioning + dlg->setAnimationsEnabled(dlg->isVisible()); + dlg->show(); dlg->setLocation(location); dlg->setMainItem(mainItem()); dlg->setVisualParent(this); dlg->setInteractive(m_interactive); - QMetaObject::invokeMethod(dlg, "show", Qt::QueuedConnection); } QString ToolTip::mainText() const diff --git a/src/declarativeimports/core/tooltipdialog.cpp b/src/declarativeimports/core/tooltipdialog.cpp index 872f9692f1f61bf16592ee712c3c1adb2752565f..4b16ee41f9b9cde6f8b2fa9343b8dc63850efd27 100644 --- a/src/declarativeimports/core/tooltipdialog.cpp +++ b/src/declarativeimports/core/tooltipdialog.cpp @@ -31,7 +31,8 @@ ToolTipDialog::ToolTipDialog(QQuickItem *parent) m_qmlObject(0), m_animation(0), m_hideTimeout(4000), - m_interactive(false) + m_interactive(false), + m_animationsEnabled(true) { setFlags(Qt::ToolTip | Qt::BypassWindowManagerHint); setLocation(Plasma::Types::Floating); @@ -77,9 +78,9 @@ void ToolTipDialog::showEvent(QShowEvent *event) { m_showTimer->start(m_hideTimeout); - setPosition(m_animation->endValue().toPoint()); m_animation->stop(); Dialog::showEvent(event); + setPosition(m_animation->endValue().toPoint()); } void ToolTipDialog::hideEvent(QHideEvent *event) @@ -112,7 +113,7 @@ bool ToolTipDialog::event(QEvent *e) void ToolTipDialog::adjustGeometry(const QRect &geom) { - if (isVisible()) { + if (m_animationsEnabled) { QRect startGeom(geometry()); switch (location()) { @@ -137,6 +138,16 @@ void ToolTipDialog::adjustGeometry(const QRect &geom) } } +bool ToolTipDialog::animationsEnabled() const +{ + return m_animationsEnabled; +} + +void ToolTipDialog::setAnimationsEnabled(bool enabled) +{ + m_animationsEnabled = enabled; +} + void ToolTipDialog::dismiss() { m_showTimer->start(m_hideTimeout / 20); // pretty short: 200ms diff --git a/src/declarativeimports/core/tooltipdialog.h b/src/declarativeimports/core/tooltipdialog.h index 02a9007d480fc6c2e8edce7b3ba108a51703bf91..7ae2c0b57924b66866cc9a5ab8d0d96ea0567a26 100644 --- a/src/declarativeimports/core/tooltipdialog.h +++ b/src/declarativeimports/core/tooltipdialog.h @@ -63,6 +63,9 @@ public: bool interactive(); void setInteractive(bool interactive); + bool animationsEnabled() const; + void setAnimationsEnabled(bool enabled); + protected: void showEvent(QShowEvent *event); void hideEvent(QHideEvent *event); @@ -78,6 +81,7 @@ private: QPropertyAnimation *m_animation; int m_hideTimeout; bool m_interactive; + bool m_animationsEnabled; }; #endif -- 2.2.2 ++++++ 0002-restore-hint-apply-color-scheme-support.patch ++++++ >From bdda85a40deef288b7e8c82212f9c9b50a4ee0aa Mon Sep 17 00:00:00 2001 From: Marco Martin <[email protected]> Date: Wed, 28 Jan 2015 14:45:37 +0100 Subject: [PATCH 2/5] restore hint-apply-color-scheme support make hint-apply-color-scheme work (kiconeffect based coloring), and make sure the kcolorschemes are reloaded when app palette changes and the theme follows system colors BUG:343389 Change-Id: I0a7a7eb0f89ed0948e618f1d608521f235aa1959 --- src/plasma/CMakeLists.txt | 1 + src/plasma/private/theme_p.cpp | 5 +++++ src/plasma/svg.cpp | 13 ++++++++++++- 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/plasma/CMakeLists.txt b/src/plasma/CMakeLists.txt index 160d09b5ebdbb7d73ebf73b43427cff1ce11b9d7..1cc9ae32901ca20f2cc772c8d4a96d4f6ca5a7ef 100644 --- a/src/plasma/CMakeLists.txt +++ b/src/plasma/CMakeLists.txt @@ -125,6 +125,7 @@ PRIVATE KF5::XmlGui #KActionCollection KF5::GlobalAccel #Applet::setGlobalShortcut KF5::Notifications + KF5::IconThemes ${PLASMA_EXTRA_LIBS} ) diff --git a/src/plasma/private/theme_p.cpp b/src/plasma/private/theme_p.cpp index 08c93fa5410293de5226a3fda1bdf09cc195c5dc..f3c1e89948b82774d2e98d6a81af1dfdc38e6e03 100644 --- a/src/plasma/private/theme_p.cpp +++ b/src/plasma/private/theme_p.cpp @@ -346,6 +346,11 @@ void ThemePrivate::scheduledCacheUpdate() void ThemePrivate::colorsChanged() { + // in the case the theme follows the desktop settings, refetch the colorschemes + // and discard the svg pixmap cache + if (!colors) { + KSharedConfig::openConfig()->reparseConfiguration(); + } colorScheme = KColorScheme(QPalette::Active, KColorScheme::Window, colors); buttonColorScheme = KColorScheme(QPalette::Active, KColorScheme::Button, colors); viewColorScheme = KColorScheme(QPalette::Active, KColorScheme::View, colors); diff --git a/src/plasma/svg.cpp b/src/plasma/svg.cpp index 3e609a50546876a3e853073588ab41e4c9f9b80e..68c912004668af8e8eb2cb695cc3cb033f66ef74 100644 --- a/src/plasma/svg.cpp +++ b/src/plasma/svg.cpp @@ -35,6 +35,7 @@ #include <kconfiggroup.h> #include <QDebug> #include <kfilterdev.h> +#include <kiconeffect.h> #include "applet.h" #include "package.h" @@ -382,6 +383,13 @@ QPixmap SvgPrivate::findInCache(const QString &elementId, const QSizeF &s) renderPainter.end(); + // Apply current color scheme if the svg asks for it + if (applyColors) { + QImage itmp = p.toImage(); + KIconEffect::colorize(itmp, cacheAndColorsTheme()->color(Theme::BackgroundColor), 1.0); + p = p.fromImage(itmp); + } + if (cacheRendering) { cacheAndColorsTheme()->insertIntoCache(id, p, QString::number((qint64)q, 16) % QLSEP % actualElementId); } @@ -550,7 +558,10 @@ QMatrix SvgPrivate::matrixForElement(const QString &elementId) void SvgPrivate::checkColorHints() { - if (elementRect("current-color-scheme").isValid()) { + if (elementRect("hint-apply-color-scheme").isValid()) { + applyColors = true; + usesColors = true; + } else if (elementRect("current-color-scheme").isValid()) { applyColors = false; usesColors = true; } else { -- 2.2.2 ++++++ 0003-restore-hint-apply-color-scheme-support.patch ++++++ >From 534733558c76572a191b21ebe065d335843e2855 Mon Sep 17 00:00:00 2001 From: Marco Martin <[email protected]> Date: Wed, 28 Jan 2015 14:45:37 +0100 Subject: [PATCH 3/5] restore hint-apply-color-scheme support make hint-apply-color-scheme work (kiconeffect based coloring), and make sure the kcolorschemes are reloaded when app palette changes and the theme follows system colors BUG:343389 Change-Id: I0a7a7eb0f89ed0948e618f1d608521f235aa1959 --- src/plasma/svg.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/plasma/svg.cpp b/src/plasma/svg.cpp index 68c912004668af8e8eb2cb695cc3cb033f66ef74..28393e583836168a05786402a9f35ff4a7a8c4d7 100644 --- a/src/plasma/svg.cpp +++ b/src/plasma/svg.cpp @@ -669,6 +669,17 @@ void SvgPrivate::colorsChanged() eraseRenderer(); //qDebug() << "repaint needed from colorsChanged"; + + // in the case the theme follows the desktop settings, refetch the colorschemes + // and discard the svg pixmap cache + if (!theme.data()->d->colors) { + KSharedConfig::openConfig()->reparseConfiguration(); + theme.data()->d->colorScheme = KColorScheme(QPalette::Active, KColorScheme::Window); + theme.data()->d->buttonColorScheme = KColorScheme(QPalette::Active, KColorScheme::Button); + theme.data()->d->viewColorScheme = KColorScheme(QPalette::Active, KColorScheme::View); + theme.data()->d->discardCache(PixmapCache | SvgElementsCache); + } + emit q->repaintNeeded(); } -- 2.2.2 ++++++ 0004-fix-tooltip-positioning.patch ++++++ >From 2d7dfd214789ec140306eb18971689909692deae Mon Sep 17 00:00:00 2001 From: Marco Martin <[email protected]> Date: Thu, 29 Jan 2015 13:13:34 +0100 Subject: [PATCH 4/5] fix tooltip positioning don't ever try to reposition the tooltip on showEvent Change-Id: Ie1c159c092baf480ab3cbb83e537b28e354973bf --- src/declarativeimports/core/tooltipdialog.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/declarativeimports/core/tooltipdialog.cpp b/src/declarativeimports/core/tooltipdialog.cpp index 4b16ee41f9b9cde6f8b2fa9343b8dc63850efd27..3ae79abe81d8bcb25026d2dd96d5ddbe980ccbda 100644 --- a/src/declarativeimports/core/tooltipdialog.cpp +++ b/src/declarativeimports/core/tooltipdialog.cpp @@ -77,10 +77,9 @@ QQuickItem *ToolTipDialog::loadDefaultItem() void ToolTipDialog::showEvent(QShowEvent *event) { m_showTimer->start(m_hideTimeout); - m_animation->stop(); + Dialog::showEvent(event); - setPosition(m_animation->endValue().toPoint()); } void ToolTipDialog::hideEvent(QHideEvent *event) -- 2.2.2 ++++++ 0005-Fix-fallback-from-invalid-L-F-packages.patch ++++++ >From b931c000313be7950022aa86907401d9f77c5b4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20K=C3=BCgler?= <[email protected]> Date: Thu, 29 Jan 2015 13:35:31 +0100 Subject: [PATCH 5/5] Fix fallback from invalid L&F packages The mechanism should have deleted the old key from the config if it was invalid and then try again in order to get the default. As we were deleting the wrong key (actually the value of the shell package key), this was turning into a recursive loop. Deleting the correct key obviously fixes this. Thanks Bille for reporting! Reviewed-by: Marco Martin BUG:343510 --- src/platformstatus/platformstatus.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/platformstatus/platformstatus.cpp b/src/platformstatus/platformstatus.cpp index ae4a502d3de98079a0112a1d571f5cac1e2d9e04..e03c16dfb8bd0562e51f18bb055637267456ec26 100644 --- a/src/platformstatus/platformstatus.cpp +++ b/src/platformstatus/platformstatus.cpp @@ -87,7 +87,7 @@ void PlatformStatus::findLookAndFeelPackage(bool sendSignal) QStandardPaths::LocateDirectory); if (path.isEmpty()) { if (package != defaultPackage) { - group.deleteEntry(m_shellPackage); + group.deleteEntry("LookAndFeel"); findLookAndFeelPackage(sendSignal); } -- 2.2.2 -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
