Ł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
