Łukasz Zemczak has proposed merging 
lp:~sil2100/kubuntu-packaging/qtbase-opensource-src_appmenu-qt5_support into 
lp:~kubuntu-packagers/kubuntu-packaging/qtbase-opensource-src.

Commit message:
Add two patches needed by appmenu-qt5 which are submitted and approved upstream

Requested reviews:
  Kubuntu Packagers (kubuntu-packagers)

For more details, see:
https://code.launchpad.net/~sil2100/kubuntu-packaging/qtbase-opensource-src_appmenu-qt5_support/+merge/199642

The following proposed patches are proposed upstream and approved:

https://codereview.qt-project.org/#change,73942
https://codereview.qt-project.org/#change,73829

Since the release of Qt5.2 is near, these are required for working appmenu-qt5 
support (that's using the QPlatformThemePlugin QPA approach)
-- 
https://code.launchpad.net/~sil2100/kubuntu-packaging/qtbase-opensource-src_appmenu-qt5_support/+merge/199642
Your team Kubuntu Packagers is requested to review the proposed merge of 
lp:~sil2100/kubuntu-packaging/qtbase-opensource-src_appmenu-qt5_support into 
lp:~kubuntu-packagers/kubuntu-packaging/qtbase-opensource-src.
=== added file 'debian/patches/make_qkdetheme_constructor_public.diff'
--- debian/patches/make_qkdetheme_constructor_public.diff	1970-01-01 00:00:00 +0000
+++ debian/patches/make_qkdetheme_constructor_public.diff	2013-12-19 11:27:16 +0000
@@ -0,0 +1,19 @@
+Author: Łukasz 'sil2100' Zemczak <[email protected]>
+Description: Make QKdeTheme constructor public to enable inheritance
+ Make QKdeTheme constructor public, allowing for custom inheritance.
+ There was no particular reason for the constructor being private, and
+ we need it public for appmenu-qt5.
+Bug-Upstream: https://bugreports.qt-project.org/browse/QTBUG-35566
+
+--- qtbase-opensource-src-5.2.0+dfsg.orig/src/platformsupport/themes/genericunix/qgenericunixthemes_p.h	2013-12-08 18:09:47.000000000 +0100
++++ qtbase-opensource-src-5.2.0+dfsg/src/platformsupport/themes/genericunix/qgenericunixthemes_p.h	2013-12-19 11:44:33.262248200 +0100
+@@ -86,8 +86,8 @@
+ class QKdeTheme : public QPlatformTheme
+ {
+     Q_DECLARE_PRIVATE(QKdeTheme)
+-    QKdeTheme(const QString &kdeHome, int kdeVersion);
+ public:
++    QKdeTheme(const QString &kdeHome, int kdeVersion);
+ 
+     static QPlatformTheme *createKdeTheme();
+     virtual QVariant themeHint(ThemeHint hint) const;

=== added file 'debian/patches/platformtheme_env.diff'
--- debian/patches/platformtheme_env.diff	1970-01-01 00:00:00 +0000
+++ debian/patches/platformtheme_env.diff	2013-12-19 11:27:16 +0000
@@ -0,0 +1,80 @@
+Author: Łukasz 'sil2100' Zemczak <[email protected]>
+Description: Add environment control on which platform theme to use
+ Introduce a way of explicit selection of the platform theme to be used,
+ either through a new environment variable - QT_QPA_PLATFORMTHEME, or by
+ the optional -platformtheme command line argument.
+Bug-Upstream: https://bugreports.qt-project.org/browse/QTBUG-30091
+
+--- qtbase-opensource-src-5.2.0+dfsg.orig/src/gui/kernel/qguiapplication.cpp	2013-12-08 18:09:52.000000000 +0100
++++ qtbase-opensource-src-5.2.0+dfsg/src/gui/kernel/qguiapplication.cpp	2013-12-19 11:53:36.550232148 +0100
+@@ -887,7 +887,7 @@
+            *QGuiApplicationPrivate::platform_name : QString();
+ }
+ 
+-static void init_platform(const QString &pluginArgument, const QString &platformPluginPath, int &argc, char **argv)
++static void init_platform(const QString &pluginArgument, const QString &platformPluginPath, const QString &platformThemeName, int &argc, char **argv)
+ {
+     // Split into platform name and arguments
+     QStringList arguments = pluginArgument.split(QLatin1Char(':'));
+@@ -918,15 +918,21 @@
+     }
+ 
+     // Create the platform theme:
+-    // 1) Ask the platform integration for a list of names.
+-    const QStringList themeNames = QGuiApplicationPrivate::platform_integration->themeNames();
++
++    // 1) Fetch the platform name from the environment if present.
++    QStringList themeNames;
++    if (!platformThemeName.isEmpty())
++        themeNames.append(platformThemeName);
++
++    // 2) Ask the platform integration for a list of names and try loading them.
++    themeNames += QGuiApplicationPrivate::platform_integration->themeNames();
+     foreach (const QString &themeName, themeNames) {
+         QGuiApplicationPrivate::platform_theme = QPlatformThemeFactory::create(themeName, platformPluginPath);
+         if (QGuiApplicationPrivate::platform_theme)
+             break;
+     }
+ 
+-    // 2) If none found, look for a theme plugin. Theme plugins are located in the
++    // 3) If none found, look for a theme plugin. Theme plugins are located in the
+     // same directory as platform plugins.
+     if (!QGuiApplicationPrivate::platform_theme) {
+         foreach (const QString &themeName, themeNames) {
+@@ -937,7 +943,7 @@
+         // No error message; not having a theme plugin is allowed.
+     }
+ 
+-    // 3) Fall back on the built-in "null" platform theme.
++    // 4) Fall back on the built-in "null" platform theme.
+     if (!QGuiApplicationPrivate::platform_theme)
+         QGuiApplicationPrivate::platform_theme = new QPlatformTheme;
+ 
+@@ -997,6 +1003,8 @@
+         platformName = platformNameEnv;
+     }
+ 
++    QString platformThemeName = QString::fromLocal8Bit(qgetenv("QT_QPA_PLATFORMTHEME"));
++
+     // Get command line params
+ 
+     int j = argc ? 1 : 0;
+@@ -1012,6 +1020,9 @@
+         } else if (arg == "-platform") {
+             if (++i < argc)
+                 platformName = argv[i];
++        } else if (arg == "-platformtheme") {
++            if (++i < argc)
++                platformThemeName = QString::fromLocal8Bit(argv[i]);
+         } else if (arg == "-qwindowgeometry" || (platformName == "xcb" && arg == "-geometry")) {
+             if (++i < argc)
+                 windowGeometrySpecification = QWindowGeometrySpecification::fromArgument(argv[i]);
+@@ -1025,7 +1036,7 @@
+         argc = j;
+     }
+ 
+-    init_platform(QLatin1String(platformName), platformPluginPath, argc, argv);
++    init_platform(QLatin1String(platformName), platformPluginPath, platformThemeName, argc, argv);
+ 
+ }
+ 

=== modified file 'debian/patches/series'
--- debian/patches/series	2013-12-13 08:21:09 +0000
+++ debian/patches/series	2013-12-19 11:27:16 +0000
@@ -12,3 +12,6 @@
 load_testability_from_env_var.patch
 aarch64.patch
 aarch64_fix_atomic_set.patch
+
+make_qkdetheme_constructor_public.diff
+platformtheme_env.diff

-- 
kubuntu-devel mailing list
[email protected]
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/kubuntu-devel

Reply via email to