diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2021-08-24 14:20:34 +0200 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2021-08-24 15:37:18 +0200 |
commit | 6e8bd8fe46daf2e09b95c3abdeab0e2ad4ce6845 (patch) | |
tree | 929441795eb1f4ab8dd8156f28cd09e0f8b19bbc /kde-apps/konsole | |
parent | dev-libs/libwacom: Drop 1.9 (diff) | |
download | gentoo-6e8bd8fe46daf2e09b95c3abdeab0e2ad4ce6845.tar.gz gentoo-6e8bd8fe46daf2e09b95c3abdeab0e2ad4ce6845.tar.bz2 gentoo-6e8bd8fe46daf2e09b95c3abdeab0e2ad4ce6845.zip |
kde-apps/konsole: Don't close the whole window if there are splits
Closes: https://bugs.gentoo.org/808510
Package-Manager: Portage-3.0.22, 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.04.3-dont-close-window-while-split.patch | 76 | ||||
-rw-r--r-- | kde-apps/konsole/konsole-21.04.3-r2.ebuild (renamed from kde-apps/konsole/konsole-21.04.3-r1.ebuild) | 5 | ||||
-rw-r--r-- | kde-apps/konsole/konsole-21.08.0-r4.ebuild (renamed from kde-apps/konsole/konsole-21.08.0-r3.ebuild) | 1 |
3 files changed, 81 insertions, 1 deletions
diff --git a/kde-apps/konsole/files/konsole-21.04.3-dont-close-window-while-split.patch b/kde-apps/konsole/files/konsole-21.04.3-dont-close-window-while-split.patch new file mode 100644 index 000000000000..20762b109574 --- /dev/null +++ b/kde-apps/konsole/files/konsole-21.04.3-dont-close-window-while-split.patch @@ -0,0 +1,76 @@ +From 2591a9489a4d3a43c7a7f00764e9f84822d4946c Mon Sep 17 00:00:00 2001 +From: Ahmad Samir <a.samirh78@gmail.com> +Date: Sun, 15 Aug 2021 15:51:33 +0200 +Subject: [PATCH] When closing a session, don't close the whole window if there + are splits + +When closing a session, we check if that is the last tab, and make the code +close the whole window, but we also need to make sure it's the last view, +i.e. no split views. + +CCBUG: 440976 +FIXED-IN: 21.08.1 +(cherry picked from commit 4a3cab03f5d853f4dd48531979fc3fb57dde5e2e) +--- + src/ViewManager.cpp | 6 +++--- + src/widgets/ViewContainer.cpp | 9 +++++++++ + src/widgets/ViewContainer.h | 6 ++++++ + 3 files changed, 18 insertions(+), 3 deletions(-) + +diff --git a/src/ViewManager.cpp b/src/ViewManager.cpp +index 9c006e2bd..426040b78 100644 +--- a/src/ViewManager.cpp ++++ b/src/ViewManager.cpp +@@ -494,9 +494,9 @@ void ViewManager::sessionFinished() + return; + } + +- // The last session/tab? emit empty() so that close() is called in +- // MainWindow, fixes #432077 +- if (_viewContainer->count() == 1) { ++ // The last session/tab, and only one view (no splits), emit empty() ++ // so that close() is called in MainWindow, fixes #432077 ++ if (_viewContainer->count() == 1 && _viewContainer->currentTabViewCount() == 1) { + Q_EMIT empty(); + return; + } +diff --git a/src/widgets/ViewContainer.cpp b/src/widgets/ViewContainer.cpp +index 2d7bfd13b..b25c00cdd 100644 +--- a/src/widgets/ViewContainer.cpp ++++ b/src/widgets/ViewContainer.cpp +@@ -145,6 +145,15 @@ ViewSplitter *TabbedViewContainer::viewSplitterAt(int index) + return qobject_cast<ViewSplitter*>(widget(index)); + } + ++int TabbedViewContainer::currentTabViewCount() ++{ ++ if (auto *splitter = activeViewSplitter()) { ++ return splitter->findChildren<TerminalDisplay*>().count(); ++ } ++ ++ return 1; ++} ++ + void TabbedViewContainer::moveTabToWindow(int index, QWidget *window) + { + auto splitter = viewSplitterAt(index); +diff --git a/src/widgets/ViewContainer.h b/src/widgets/ViewContainer.h +index 3cbacf2cf..8e0a0986a 100644 +--- a/src/widgets/ViewContainer.h ++++ b/src/widgets/ViewContainer.h +@@ -135,6 +135,12 @@ public: + */ + ViewSplitter *viewSplitterAt(int index); + ++ /** ++ * Returns the number of split views (i.e. TerminalDisplay widgets) ++ * in this tab; if there are no split views, 1 is returned. ++ */ ++ int currentTabViewCount(); ++ + void connectTerminalDisplay(TerminalDisplay *display); + void disconnectTerminalDisplay(TerminalDisplay *display); + void moveTabLeft(); +-- +GitLab + diff --git a/kde-apps/konsole/konsole-21.04.3-r1.ebuild b/kde-apps/konsole/konsole-21.04.3-r2.ebuild index 42e9362243d2..c95192f968c4 100644 --- a/kde-apps/konsole/konsole-21.04.3-r1.ebuild +++ b/kde-apps/konsole/konsole-21.04.3-r2.ebuild @@ -51,7 +51,10 @@ DEPEND=" " RDEPEND="${DEPEND}" -PATCHES=( "${FILESDIR}/${P}-no-flash-on-session-close.patch" ) # bug 807933 +PATCHES=( + "${FILESDIR}/${P}-no-flash-on-session-close.patch" # bug 807933 + "${FILESDIR}/${P}-dont-close-window-while-split.patch" # bug 808510 +) src_prepare() { ecm_src_prepare diff --git a/kde-apps/konsole/konsole-21.08.0-r3.ebuild b/kde-apps/konsole/konsole-21.08.0-r4.ebuild index fe8cab4b97f8..d4600f096a87 100644 --- a/kde-apps/konsole/konsole-21.08.0-r3.ebuild +++ b/kde-apps/konsole/konsole-21.08.0-r4.ebuild @@ -52,6 +52,7 @@ RDEPEND="${DEPEND}" PATCHES=( "${FILESDIR}/${PN}-21.04.3-no-flash-on-session-close.patch" # bug 807933 + "${FILESDIR}/${PN}-21.04.3-dont-close-window-while-split.patch" # bug 808510 "${FILESDIR}/${P}-fix-crash-w-blur.patch" # bug 807905, fixed in 21.08.1 "${FILESDIR}/${P}-fix-KXmlGUI-toolbars-and-MainWindow-size.patch" # KDE-bugs 430036, 439339 "${FILESDIR}/${P}-fix-MainWindow-size-w-o-saved-size.patch" # KDE-bug 437791 |