summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorThomas Tuegel <ttuegel@mailbox.org>2018-02-02 06:20:32 -0600
committerThomas Tuegel <ttuegel@mailbox.org>2018-02-04 13:31:04 -0600
commitd78f9f030b5dc197c90ef279cfa1f69214420d06 (patch)
tree75c108af55dcd64e1a6dfbef766285e7d17205eb /pkgs
parent65170e9404c4253b04a54ede419c5d99975344ee (diff)
downloadnixpkgs-d78f9f030b5dc197c90ef279cfa1f69214420d06.tar
nixpkgs-d78f9f030b5dc197c90ef279cfa1f69214420d06.tar.gz
nixpkgs-d78f9f030b5dc197c90ef279cfa1f69214420d06.tar.bz2
nixpkgs-d78f9f030b5dc197c90ef279cfa1f69214420d06.tar.lz
nixpkgs-d78f9f030b5dc197c90ef279cfa1f69214420d06.tar.xz
nixpkgs-d78f9f030b5dc197c90ef279cfa1f69214420d06.tar.zst
nixpkgs-d78f9f030b5dc197c90ef279cfa1f69214420d06.zip
plasma-integration: Upstream patch for Qt 5.8 font style names
Since Qt 5.8, font style names are handled in a way that prevents alternate
styles (bold, italic, etc.) from being selected for user interface fonts.

See also: https://phabricator.kde.org/D9070
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/desktops/plasma-5/default.nix2
-rw-r--r--pkgs/desktops/plasma-5/plasma-integration/D9070.patch24
-rw-r--r--pkgs/desktops/plasma-5/plasma-integration/default.nix (renamed from pkgs/desktops/plasma-5/plasma-integration.nix)7
3 files changed, 32 insertions, 1 deletions
diff --git a/pkgs/desktops/plasma-5/default.nix b/pkgs/desktops/plasma-5/default.nix
index 0972673b7b8..81f42a2adbe 100644
--- a/pkgs/desktops/plasma-5/default.nix
+++ b/pkgs/desktops/plasma-5/default.nix
@@ -125,7 +125,7 @@ let
       milou = callPackage ./milou.nix {};
       oxygen = callPackage ./oxygen.nix {};
       plasma-desktop = callPackage ./plasma-desktop {};
-      plasma-integration = callPackage ./plasma-integration.nix {};
+      plasma-integration = callPackage ./plasma-integration {};
       plasma-nm = callPackage ./plasma-nm {};
       plasma-pa = callPackage ./plasma-pa.nix { inherit gconf; };
       plasma-vault = callPackage ./plasma-vault {};
diff --git a/pkgs/desktops/plasma-5/plasma-integration/D9070.patch b/pkgs/desktops/plasma-5/plasma-integration/D9070.patch
new file mode 100644
index 00000000000..66fef4712a7
--- /dev/null
+++ b/pkgs/desktops/plasma-5/plasma-integration/D9070.patch
@@ -0,0 +1,24 @@
+Index: src/platformtheme/kfontsettingsdata.cpp
+===================================================================
+--- src/platformtheme/kfontsettingsdata.cpp
++++ src/platformtheme/kfontsettingsdata.cpp
+@@ -70,15 +70,18 @@
+         const KFontData &fontData = DefaultFontData[fontType];
+         cachedFont = new QFont(QLatin1String(fontData.FontName), fontData.Size, fontData.Weight);
+         cachedFont->setStyleHint(fontData.StyleHint);
+-        cachedFont->setStyleName(QLatin1String(fontData.StyleName));
+ 
+         const KConfigGroup configGroup(mKdeGlobals, fontData.ConfigGroupKey);
+         QString fontInfo = configGroup.readEntry(fontData.ConfigKey, QString());
+ 
+         //If we have serialized information for this font, restore it
+         //NOTE: We are not using KConfig directly because we can't call QFont::QFont from here
+         if (!fontInfo.isEmpty()) {
+             cachedFont->fromString(fontInfo);
++        } else {
++            // set the canonical stylename here, where it cannot override
++            // user-specific font attributes if those do not include a stylename.
++            cachedFont->setStyleName(QLatin1String(fontData.StyleName));
+         }
+ 
+         mFonts[fontType] = cachedFont;
diff --git a/pkgs/desktops/plasma-5/plasma-integration.nix b/pkgs/desktops/plasma-5/plasma-integration/default.nix
index f6964428762..d33ecf05024 100644
--- a/pkgs/desktops/plasma-5/plasma-integration.nix
+++ b/pkgs/desktops/plasma-5/plasma-integration/default.nix
@@ -14,4 +14,11 @@ mkDerivation {
     breeze-qt5 kconfig kconfigwidgets kiconthemes kio knotifications kwayland
     libXcursor qtquickcontrols2
   ];
+  patches = [
+    # See also: https://phabricator.kde.org/D9070
+    # ttuegel: The patch is checked into Nixpkgs because I could not get
+    # Phabricator to give me a stable link to it.
+    ./D9070.patch
+  ];
+  patchFlags = "-p0";
 }