summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2021-08-15 21:10:27 +0200
committerAndreas Sturmlechner <asturm@gentoo.org>2021-08-15 21:11:20 +0200
commita69ea70b1f7c6b56cde64cc2dc2604ecc19c4355 (patch)
tree29e1e4d0738413795ce89b751756c8f61c4a1ab4 /kde-apps/konsole
parentsys-fs/eudev: stabilise 3.2.10-r1 with intltool dep dropped (diff)
downloadgentoo-a69ea70b1f7c6b56cde64cc2dc2604ecc19c4355.tar.gz
gentoo-a69ea70b1f7c6b56cde64cc2dc2604ecc19c4355.tar.bz2
gentoo-a69ea70b1f7c6b56cde64cc2dc2604ecc19c4355.zip
kde-apps/konsole: Fix KXmlGUI toolbars and MainWindow size
Upstream commit fb7f838fd3138a39aea3bcb2e91f923741587137 See also: https://invent.kde.org/utilities/konsole/-/merge_requests/457 KDE-bug: https://bugs.kde.org/show_bug.cgi?id=430036 KDE-bug: https://bugs.kde.org/show_bug.cgi?id=436471 KDE-bug: https://bugs.kde.org/show_bug.cgi?id=439339 Reported-by: Lars Wendler <polynomial-c@gentoo.org> Tested-by: Lars Wendler <polynomial-c@gentoo.org> Package-Manager: Portage-3.0.20, Repoman-3.0.3 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'kde-apps/konsole')
-rw-r--r--kde-apps/konsole/files/konsole-21.08.0-fix-KXmlGUI-toolbars-and-MainWindow-size.patch73
-rw-r--r--kde-apps/konsole/konsole-21.08.0-r2.ebuild (renamed from kde-apps/konsole/konsole-21.08.0-r1.ebuild)2
2 files changed, 75 insertions, 0 deletions
diff --git a/kde-apps/konsole/files/konsole-21.08.0-fix-KXmlGUI-toolbars-and-MainWindow-size.patch b/kde-apps/konsole/files/konsole-21.08.0-fix-KXmlGUI-toolbars-and-MainWindow-size.patch
new file mode 100644
index 000000000000..fc62466ea627
--- /dev/null
+++ b/kde-apps/konsole/files/konsole-21.08.0-fix-KXmlGUI-toolbars-and-MainWindow-size.patch
@@ -0,0 +1,73 @@
+From fb7f838fd3138a39aea3bcb2e91f923741587137 Mon Sep 17 00:00:00 2001
+From: Ahmad Samir <a.samirh78@gmail.com>
+Date: Thu, 29 Jul 2021 18:44:07 +0200
+Subject: [PATCH] Fix KXmlGUI toolbars; and Konsole MainWindow size
+
+Call setupGUI(), which will call createGUI (since we set the
+KXmlGuiWindow::Create flag), omit the StatusBar flag since we don't have a
+statusbar and don't want the "Show StatusBar" menu action.
+
+TabbedViewContainer::sizeHint() calculates an optimum size for itself,
+including the sizes of its child widgets; added in efb621d091c05f11 by
+Mariusz Glebocki; following the code:
+MainWindow creates a ViewManager
+ViewManager creates a TabbedViewContainer and then a TerminalDisplay
+
+which means that the first time TabbedViewContainer::sizeHint() is called
+the TerminalDisplay widget size is 0, then TabbedViewContainer::sizeHint()
+would return 0.
+
+Which is why calling resize() in MainWindow was delayed to the showEvent(),
+(and even delayed more by a QTimer::singleShot() call in Application),
+at which point all the child widgets have been created and
+MainWindow::sizeHint() (which logically takes into account the sizeHint()
+of its child widgets) would return a sensible size.
+
+CCBUG: 430036
+CCBUG: 439339
+BUG: 436471
+
+
+(cherry picked from commit 090356661c92bfedeeeaf6f4f77d294facb3d8c6)
+---
+ src/MainWindow.cpp | 17 ++++++++++++-----
+ 1 file changed, 12 insertions(+), 5 deletions(-)
+
+diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp
+index c67acf8b9..a4b36b61d 100644
+--- a/src/MainWindow.cpp
++++ b/src/MainWindow.cpp
+@@ -131,8 +131,10 @@ MainWindow::MainWindow() :
+ // in terminal applications
+ KAcceleratorManager::setNoAccel(menuBar());
+
+- // create menus
+- createGUI();
++ constexpr KXmlGuiWindow::StandardWindowOptions guiOpts = ToolBar | Keys | Save | Create;
++ const QString xmlFile = componentName() + QLatin1String("ui.rc"); // Typically "konsoleui.rc"
++ // The "Create" flag will make it call createGUI()
++ setupGUI(guiOpts, xmlFile);
+
+ // remember the original menu accelerators for later use
+ rememberMenuAccelerators();
+@@ -945,9 +947,14 @@ void MainWindow::showEvent(QShowEvent *event)
+ menuBar()->setVisible(_menuBarInitialVisibility);
+ _toggleMenuBarAction->setChecked(_menuBarInitialVisibility);
+ _menuBarInitialVisibilityApplied = true;
+- if (!KonsoleSettings::saveGeometryOnExit()) {
+- resize(sizeHint());
+- }
++ }
++
++ if (!KonsoleSettings::saveGeometryOnExit()) {
++ // Delay resizing to here, so that the other parts of the UI
++ // (ViewManager, TabbedViewContainer, TerminalDisplay ... etc)
++ // have been created and TabbedViewContainer::sizeHint() returns
++ // a usuable size.
++ resize(sizeHint());
+ }
+
+ // Call parent method
+--
+GitLab
+
diff --git a/kde-apps/konsole/konsole-21.08.0-r1.ebuild b/kde-apps/konsole/konsole-21.08.0-r2.ebuild
index 4095d9ac5f9e..00032973af8f 100644
--- a/kde-apps/konsole/konsole-21.08.0-r1.ebuild
+++ b/kde-apps/konsole/konsole-21.08.0-r2.ebuild
@@ -53,6 +53,8 @@ RDEPEND="${DEPEND}"
PATCHES=(
"${FILESDIR}/${PN}-21.04.3-no-flash-on-session-close.patch" # bug 807933
"${FILESDIR}/${P}-fix-crash-w-blur.patch" # bug 807905, fixed in 21.08.1
+ # KDE-bugs 430036, 439339; backport pending for 21.08 branch
+ "${FILESDIR}/${P}-fix-KXmlGUI-toolbars-and-MainWindow-size.patch"
)
src_configure() {