From 6a643cd600a187bf472232b0d41ecfa7c932d1f9 Mon Sep 17 00:00:00 2001 From: Simon Quigley Date: Fri, 20 Jul 2018 05:24:51 -0500 Subject: [PATCH] Remember the maximization state of the window (LP: #1754496). --- debian/changelog | 6 ++ .../remember-window-maximization-state.patch | 78 +++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 85 insertions(+) create mode 100644 debian/patches/remember-window-maximization-state.patch diff --git a/debian/changelog b/debian/changelog index 6918574..b2471ee 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +qterminal (0.9.0-3ubuntu2) UNRELEASED; urgency=medium + + * Remember the maximization state of the window (LP: #1754496). + + -- Simon Quigley Fri, 20 Jul 2018 05:24:44 -0500 + qterminal (0.9.0-3ubuntu1) cosmic; urgency=medium * Update the maintainer and Vcs-* for maintaining in Lubuntu. diff --git a/debian/patches/remember-window-maximization-state.patch b/debian/patches/remember-window-maximization-state.patch new file mode 100644 index 0000000..ab39c88 --- /dev/null +++ b/debian/patches/remember-window-maximization-state.patch @@ -0,0 +1,78 @@ +Description: Remember the maximization state of the window. +Author: Simon Quigley +Origin: upstream +Bug: https://github.com/lxqt/qterminal/issues/450 +Bug-Ubuntu: https://launchpad.net/bugs/1754496 +Applied-Upstream: commit:14b1ee0 +Last-Update: 2018-07-20 +--- a/src/main.cpp ++++ b/src/main.cpp +@@ -193,6 +193,8 @@ MainWindow *QTerminalApp::newWindow(bool + else + { + window = new MainWindow(cfg, dropMode); ++ if (Properties::Instance()->windowMaximized) ++ window->setWindowState(Qt::WindowMaximized); + window->show(); + } + return window; +--- a/src/mainwindow.cpp ++++ b/src/mainwindow.cpp +@@ -542,6 +542,7 @@ void MainWindow::closeEvent(QCloseEvent + if (Properties::Instance()->saveSizeOnExit) { + Properties::Instance()->mainWindowSize = size(); + } ++ Properties::Instance()->windowMaximized = isMaximized(); + Properties::Instance()->mainWindowState = saveState(); + } + Properties::Instance()->saveSettings(); +@@ -575,6 +576,7 @@ void MainWindow::closeEvent(QCloseEvent + Properties::Instance()->mainWindowSize = size(); + Properties::Instance()->mainWindowState = saveState(); + Properties::Instance()->askOnExit = !dontAskCheck->isChecked(); ++ Properties::Instance()->windowMaximized = isMaximized(); + Properties::Instance()->saveSettings(); + for (int i = consoleTabulator->count(); i > 0; --i) { + consoleTabulator->removeTab(i - 1); +--- a/src/properties.cpp ++++ b/src/properties.cpp +@@ -147,6 +147,8 @@ void Properties::loadSettings() + + confirmMultilinePaste = m_settings->value("ConfirmMultilinePaste", false).toBool(); + trimPastedTrailingNewlines = m_settings->value("TrimPastedTrailingNewlines", false).toBool(); ++ ++ windowMaximized = m_settings->value("LastWindowMaximized", false).toBool(); + } + + void Properties::saveSettings() +@@ -240,9 +242,10 @@ void Properties::saveSettings() + m_settings->setValue("ChangeWindowIcon", changeWindowIcon); + m_settings->setValue("enabledBidiSupport", enabledBidiSupport); + +- + m_settings->setValue("ConfirmMultilinePaste", confirmMultilinePaste); + m_settings->setValue("TrimPastedTrailingNewlines", trimPastedTrailingNewlines); ++ ++ m_settings->setValue("LastWindowMaximized", windowMaximized); + } + + void Properties::migrate_settings() +@@ -312,6 +315,7 @@ void Properties::migrate_settings() + geom.restoreGeometry(settings.value("MainWindow/geometry").toByteArray()); + settings.setValue("MainWindow/size", geom.size()); + settings.setValue("MainWindow/pos", geom.pos()); ++ settings.setValue("MainWindow/isMaximized", geom.isMaximized()); + settings.remove("MainWindow/geometry"); + } + } +--- a/src/properties.h ++++ b/src/properties.h +@@ -106,6 +106,8 @@ class Properties + bool confirmMultilinePaste; + bool trimPastedTrailingNewlines; + ++ bool windowMaximized; ++ + + private: + diff --git a/debian/patches/series b/debian/patches/series index f9e1d23..a781e80 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,2 +1,3 @@ appdata.patch fix-memory-api.patch +remember-window-maximization-state.patch