kxmlgui: rework patch for session-less qtbase

fixes warning:

| QObject::connect: No such signal QApplication::saveStateRequest(QSessionManager&)

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
This commit is contained in:
Andreas Müller
2015-02-10 14:39:18 +01:00
parent f2960e75b5
commit 510b7b5935
2 changed files with 30 additions and 19 deletions

View File

@@ -1,8 +1,8 @@
From b296208cc206a502b462452b6b5bc5b2c6f64feb Mon Sep 17 00:00:00 2001
From ec4fa422d845e2de33b6392a8fdb4ae76ddcfac2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Thu, 4 Dec 2014 09:34:39 +0100
Subject: [PATCH] workaround session-less qtbase - required for pure wayland
environments
Date: Tue, 10 Feb 2015 14:31:50 +0100
Subject: [PATCH] no session management if not supported by qtbase - indicated
by QT_NO_SESSIONMANAGER
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@@ -11,14 +11,25 @@ Upstream-Status: pending
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
src/kmainwindow.cpp | 12 ++++++++++++
1 file changed, 12 insertions(+)
src/kmainwindow.cpp | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/src/kmainwindow.cpp b/src/kmainwindow.cpp
index 9562318..b40d18e 100644
index 0c285f8..96a28b8 100644
--- a/src/kmainwindow.cpp
+++ b/src/kmainwindow.cpp
@@ -127,6 +127,7 @@ KMWSessionManager::~KMWSessionManager()
@@ -119,8 +119,10 @@ bool DockResizeListener::eventFilter(QObject *watched, QEvent *event)
KMWSessionManager::KMWSessionManager()
{
+#ifndef QT_NO_SESSIONMANAGER
connect(qApp, SIGNAL(saveStateRequest(QSessionManager&)),
this, SLOT(saveState(QSessionManager&)));
+#endif
}
KMWSessionManager::~KMWSessionManager()
@@ -129,6 +131,7 @@ KMWSessionManager::~KMWSessionManager()
bool KMWSessionManager::saveState(QSessionManager &)
{
@@ -26,7 +37,7 @@ index 9562318..b40d18e 100644
KConfig *config = KConfigGui::sessionConfig();
if (KMainWindow::memberList().count()) {
// According to Jochen Wilhelmy <digisnap@cs.tu-berlin.de>, this
@@ -142,6 +143,7 @@ bool KMWSessionManager::saveState(QSessionManager &)
@@ -144,6 +147,7 @@ bool KMWSessionManager::saveState(QSessionManager &)
KConfigGroup group(config, "Number");
group.writeEntry("NumberOfWindows", n);
@@ -34,19 +45,19 @@ index 9562318..b40d18e 100644
return true;
}
@@ -370,6 +372,9 @@ QMenu *KMainWindow::customHelpMenu(bool showWhatsThis)
@@ -372,6 +376,9 @@ QMenu *KMainWindow::customHelpMenu(bool showWhatsThis)
bool KMainWindow::canBeRestored(int number)
{
+#ifdef QT_NO_SESSIONMANAGER
+ return false;
+#else
+#else
if (!qApp->isSessionRestored()) {
return false;
}
@@ -381,10 +386,14 @@ bool KMainWindow::canBeRestored(int number)
KConfigGroup group(config, QStringLiteral("Number"));
const int n = group.readEntry(QStringLiteral("NumberOfWindows"), 1);
@@ -383,10 +390,14 @@ bool KMainWindow::canBeRestored(int number)
KConfigGroup group(config, "Number");
const int n = group.readEntry("NumberOfWindows", 1);
return number >= 1 && number <= n;
+#endif
}
@@ -59,9 +70,9 @@ index 9562318..b40d18e 100644
if (!qApp->isSessionRestored()) {
return QString();
}
@@ -402,10 +411,12 @@ const QString KMainWindow::classNameOfToplevel(int number)
@@ -401,10 +412,12 @@ const QString KMainWindow::classNameOfToplevel(int number)
} else {
return group.readEntry(QStringLiteral("ClassName"));
return group.readEntry("ClassName");
}
+#endif
}
@@ -72,7 +83,7 @@ index 9562318..b40d18e 100644
if (!canBeRestored(number)) {
return false;
}
@@ -416,6 +427,7 @@ bool KMainWindow::restore(int number, bool show)
@@ -415,6 +428,7 @@ bool KMainWindow::restore(int number, bool show)
}
return false;
}
@@ -81,5 +92,5 @@ index 9562318..b40d18e 100644
}
--
1.8.3.1
1.9.3

View File

@@ -26,7 +26,7 @@ S = "${WORKDIR}/git"
# REVISIT remove ugly hack for wayland-only environments
SRC_URI += " \
file://0001-workaround-session-less-qtbase-required-for-pure-way.patch \
file://0001-no-session-management-if-not-supported-by-qtbase-ind.patch \
file://0002-fix-path-to-ksendbugmail.patch \
"