[SCM] kconfigwidgets packaging branch, master, updated. debian/5.28.0-1-4-g7b2031e
Maximiliano Curia
maxy at moszumanska.debian.org
Fri Mar 31 13:35:22 UTC 2017
Gitweb-URL: http://git.debian.org/?p=pkg-kde/frameworks/kconfigwidgets.git;a=commitdiff;h=36f026f
The following commit has been merged in the master branch:
commit 36f026fd1da5b485c347ee2fda5e302e3fad1689
Author: Maximiliano Curia <maxy at gnuservers.com.ar>
Date: Fri Mar 31 15:25:55 2017 +0200
Add new upstream patch: KColorScheme-default-to-application-scheme-if-set-by-KCol.patch
---
...ault-to-application-scheme-if-set-by-KCol.patch | 181 +++++++++++++++++++++
debian/patches/series | 1 +
2 files changed, 182 insertions(+)
diff --git a/debian/patches/KColorScheme-default-to-application-scheme-if-set-by-KCol.patch b/debian/patches/KColorScheme-default-to-application-scheme-if-set-by-KCol.patch
new file mode 100644
index 0000000..84b091a
--- /dev/null
+++ b/debian/patches/KColorScheme-default-to-application-scheme-if-set-by-KCol.patch
@@ -0,0 +1,181 @@
+From: Francis Herne <mail at flherne.uk>
+Date: Sun, 19 Feb 2017 20:01:38 +0000
+Subject: KColorScheme: default to application scheme if set by
+ KColorSchemeManager
+
+KColorSchemeManager::activateScheme() sets a custom path for the
+application's color scheme, with
+`qApp->setProperty("KDE_COLOR_SCHEME_PATH", index.data(Qt::UserRole));`
+
+Currently, the KColorScheme() and KStatefulBrush() constructors will
+ ignore this and use only the system color scheme, unless an
+ application-specific config is explicitly loaded and passed in by the
+ caller.
+This is problematic, because most callers assume that the default is to
+ match the *application* scheme - usually this is equivalent, but it
+ differs when KColorSchemeManager is used.
+
+For example, when the application of a KTextEditor widget or
+ KonsolePart has an opposite color scheme to the system, the Find bars
+ are unreadable.
+BUG: 373764
+
+This patch makes KColorScheme() match the application scheme by default
+ when this differs from the system scheme, which seems preferable to
+ adding the same code in hundreds of callers.
+
+Differential Revision: https://phabricator.kde.org/D4637
+---
+ src/kcolorscheme.cpp | 13 ++++++++++---
+ src/kcolorscheme.h | 30 ++++++++++++++++--------------
+ 2 files changed, 26 insertions(+), 17 deletions(-)
+
+diff --git a/src/kcolorscheme.cpp b/src/kcolorscheme.cpp
+index ba18d8e..9405b72 100644
+--- a/src/kcolorscheme.cpp
++++ b/src/kcolorscheme.cpp
+@@ -26,6 +26,7 @@
+ #include <QColor>
+ #include <QBrush>
+ #include <QWidget>
++#include <QCoreApplication>
+
+ //BEGIN StateEffects
+ class StateEffects
+@@ -250,6 +251,12 @@ static const DecoDefaultColors defaultDecorationColors = {
+ };
+ //END default colors
+
++KSharedConfigPtr defaultConfig() {
++ // Read from the application's color scheme file (as set by KColorSchemeManager).
++ // If unset, this is equivalent to openConfig() and the system scheme is used.
++ return KSharedConfig::openConfig(qApp->property("KDE_COLOR_SCHEME_PATH").toString());
++}
++
+ //BEGIN KColorSchemePrivate
+ class KColorSchemePrivate : public QSharedData
+ {
+@@ -431,7 +438,7 @@ KColorScheme::~KColorScheme()
+ KColorScheme::KColorScheme(QPalette::ColorGroup state, ColorSet set, KSharedConfigPtr config)
+ {
+ if (!config) {
+- config = KSharedConfig::openConfig();
++ config = defaultConfig();
+ }
+
+ switch (set) {
+@@ -662,7 +669,7 @@ KStatefulBrush::KStatefulBrush(KColorScheme::ColorSet set, KColorScheme::Decorat
+ KStatefulBrush::KStatefulBrush(const QBrush &brush, KSharedConfigPtr config)
+ {
+ if (!config) {
+- config = KSharedConfig::openConfig();
++ config = defaultConfig();
+ }
+ d = new KStatefulBrushPrivate[3];
+ d[0] = brush;
+@@ -674,7 +681,7 @@ KStatefulBrush::KStatefulBrush(const QBrush &brush, const QBrush &background,
+ KSharedConfigPtr config)
+ {
+ if (!config) {
+- config = KSharedConfig::openConfig();
++ config = defaultConfig();
+ }
+ d = new KStatefulBrushPrivate[3];
+ d[0] = brush;
+diff --git a/src/kcolorscheme.h b/src/kcolorscheme.h
+index 2dced8e..fe636d5 100644
+--- a/src/kcolorscheme.h
++++ b/src/kcolorscheme.h
+@@ -312,8 +312,9 @@ public:
+ KColorScheme &operator=(const KColorScheme &);
+
+ /**
+- * Construct a palette from given color set and state, using the colors
+- * from the given KConfig (if null, the system colors are used).
++ * Construct a palette from given color set and state. Colors are taken
++ * from the given KConfig. If null, the application's color scheme is used
++ * (either the system default or one set by KColorSchemeManager).
+ *
+ * @note KColorScheme provides direct access to the color scheme for users
+ * that deal directly with widget states. Unless you are a low-level user
+@@ -342,8 +343,7 @@ public:
+ * Retrieve the requested shade color, using
+ * KColorScheme::background(KColorScheme::NormalBackground)
+ * as the base color and the contrast setting from the KConfig used to
+- * create this KColorScheme instance (the system contrast setting, if no
+- * KConfig was specified).
++ * create this KColorScheme instance.
+ *
+ * @note Shades are chosen such that all shades would contrast with the
+ * base color. This means that if base is very dark, the 'dark' shades will
+@@ -363,7 +363,8 @@ public:
+ /**
+ * Returns the contrast for borders as a floating point value.
+ * @param config pointer to the config from which to read the contrast
+- * setting (the default is to use KSharedConfig::openConfig())
++ * setting. If null, the application's color scheme will be used
++ * (either the system default or one set by KColorSchemeManager).
+ * @return the contrast (between 0.0 for minimum and 1.0 for maximum
+ * contrast)
+ */
+@@ -371,7 +372,7 @@ public:
+
+ /**
+ * Retrieve the requested shade color, using the specified color as the
+- * base color and the system contrast setting.
++ * base color and the application's contrast setting.
+ *
+ * @note Shades are chosen such that all shades would contrast with the
+ * base color. This means that if base is very dark, the 'dark' shades will
+@@ -483,8 +484,9 @@ public:
+
+ /**
+ * Construct a stateful brush from given color set and foreground role,
+- * using the colors from the given KConfig (if null, the system colors are
+- * used).
++ * using the colors from the given KConfig.
++ * If null, the application's color scheme is used (either the system
++ * default, or one set by KColorSchemeManager).
+ */
+ explicit KStatefulBrush(KColorScheme::ColorSet,
+ KColorScheme::ForegroundRole,
+@@ -492,8 +494,8 @@ public:
+
+ /**
+ * Construct a stateful brush from given color set and background role,
+- * using the colors from the given KConfig (if null, the system colors are
+- * used).
++ * using the colors from the given KConfig (if null, the application's
++ * colors are used).
+ */
+ explicit KStatefulBrush(KColorScheme::ColorSet,
+ KColorScheme::BackgroundRole,
+@@ -501,8 +503,8 @@ public:
+
+ /**
+ * Construct a stateful brush from given color set and decoration role,
+- * using the colors from the given KConfig (if null, the system colors are
+- * used).
++ * using the colors from the given KConfig (if null, the application's
++ * colors are used).
+ */
+ explicit KStatefulBrush(KColorScheme::ColorSet,
+ KColorScheme::DecorationRole,
+@@ -514,7 +516,7 @@ public:
+ * determined from the base QBrush (which fills in the Active state)
+ * according to the same rules used to build stateful color schemes from
+ * the system color scheme. The state effects from the given KConfig are
+- * used (if null, the system state effects are used).
++ * used (if null, the application's state effects are used).
+ */
+ explicit KStatefulBrush(const QBrush &, KSharedConfigPtr = KSharedConfigPtr());
+
+@@ -524,7 +526,7 @@ public:
+ * states are determined from the base QBrush (which fills in the Active
+ * state) according to the same rules used to build stateful color schemes
+ * from the system color scheme. The state effects from the given KConfig
+- * are used (if null, the system state effects are used).
++ * are used (if null, the application's state effects are used).
+ *
+ * @param background The background brush (or color) corresponding to the
+ * KColorScheme::NormalBackground role and QPalette::Active state for this
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..6b860ab
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+KColorScheme-default-to-application-scheme-if-set-by-KCol.patch
--
kconfigwidgets packaging
More information about the pkg-kde-commits
mailing list