diff --git a/src/qtgui/guiutils.cpp b/src/qtgui/guiutils.cpp index 9590d964..8779f4c5 100644 --- a/src/qtgui/guiutils.cpp +++ b/src/qtgui/guiutils.cpp @@ -79,6 +79,7 @@ void rwSettings(bool writing) QSettings settings("Recoll.org", "recoll"); SETTING_RW(prefs.mainwidth, "/Recoll/geometry/width", Int, 0); SETTING_RW(prefs.mainheight, "/Recoll/geometry/height", Int, 0); + SETTING_RW(prefs.maximized, "/Recoll/geometry/maximized", Bool, 0); SETTING_RW(prefs.pvwidth, "/Recoll/geometry/pvwidth", Int, 0); SETTING_RW(prefs.pvheight, "/Recoll/geometry/pvheight", Int, 0); SETTING_RW(prefs.toolArea, "/Recoll/geometry/toolArea", Int, 0); diff --git a/src/qtgui/guiutils.h b/src/qtgui/guiutils.h index 78de5529..dfba2a3b 100644 --- a/src/qtgui/guiutils.h +++ b/src/qtgui/guiutils.h @@ -68,6 +68,7 @@ class PrefsPack { QString queryStemLang; int mainwidth; int mainheight; + bool maximized{false}; int pvwidth; // Preview window geom int pvheight; int toolArea; // Area for "tools" toolbar diff --git a/src/qtgui/main.cpp b/src/qtgui/main.cpp index 900a412e..ecfe2966 100644 --- a/src/qtgui/main.cpp +++ b/src/qtgui/main.cpp @@ -375,7 +375,11 @@ int main(int argc, char **argv) maybeOpenDb(reason); - mainWindow->show(); + if (prefs.maximized) { + mainWindow->showMaximized(); + } else { + mainWindow->show(); + } QTimer::singleShot(0, mainWindow, SLOT(initDbOpen())); // Connect exit handlers etc.. Beware, apparently this must come diff --git a/src/qtgui/rclmain_w.cpp b/src/qtgui/rclmain_w.cpp index d6ab200a..c744be3f 100644 --- a/src/qtgui/rclmain_w.cpp +++ b/src/qtgui/rclmain_w.cpp @@ -646,10 +646,12 @@ void RclMain::fileExit() { LOGDEB("RclMain: fileExit\n"); // Don't save geometry if we're currently fullscreened - if (!isFullScreen()) { + if (!isFullScreen() && !isMaximized()) { prefs.mainwidth = width(); prefs.mainheight = height(); } + prefs.maximized = isMaximized(); + prefs.toolArea = toolBarArea(m_toolsTB); prefs.resArea = toolBarArea(m_resTB); restable->saveColState();