diff src/main.cpp @ 272:d18f1a8cb4df

Add alt+enter key shortcut for toggling fullscreen window.
author Matti Hamalainen <ccr@tnsp.org>
date Fri, 17 Mar 2023 13:11:47 +0200
parents df3f902588af
children d8a32eb1f0e9
line wrap: on
line diff
--- a/src/main.cpp	Fri Mar 17 13:09:43 2023 +0200
+++ b/src/main.cpp	Fri Mar 17 13:11:47 2023 +0200
@@ -175,6 +175,7 @@
     settings.uiPos = tmpst.value("pos", QPoint(100, 100)).toPoint();
     settings.uiSize = tmpst.value("size", QSize(1000, 600)).toSize();
     settings.uiScale = tmpst.value("scale", 1.0f).toDouble();
+    settings.uiFullScreen = tmpst.value("fullscreen", false).toBool();
     settings.dbBackupMode = tmpst.value("dbBackupMode", BACKUP_NONE).toInt();
     settings.dbBackupURL = tmpst.value("dbBackupURL", QString()).toString();
     settings.dbBackupSecret = tmpst.value("dbBackupSecret", QString()).toString();
@@ -197,6 +198,7 @@
         settings.uiPos = QPoint(100, 100);
         settings.uiSize = QSize(1000, 600);
         settings.uiScale = 1.0f;
+        settings.uiFullScreen = false;
     }
 
     //
@@ -272,6 +274,9 @@
 
     slSetCommonStyleSheet(this);
 
+    if (settings.uiFullScreen)
+        showFullScreen();
+
     // Validator for amount input
     QRegExp vregex("\\d{0,4}[,.]\\d{0,2}|\\d{0,4}");
     ui->edit_Amount->setValidator(new QRegExpValidator(vregex, this));
@@ -331,6 +336,8 @@
     new QShortcut(QKeySequence(Qt::CTRL + Qt::KeypadModifier + Qt::Key_Minus), this, SLOT(changeUIZoomOut()));
     new QShortcut(QKeySequence(Qt::CTRL + Qt::KeypadModifier + Qt::Key_0), this, SLOT(changeUIZoomReset()));
 
+    new QShortcut(QKeySequence(Qt::ALT + Qt::Key_Return), this, SLOT(toggleFullScreen()));
+
     new QShortcut(QKeySequence(Qt::Key_PageUp), this, SLOT(selectRowPrev()));
     new QShortcut(QKeySequence(Qt::Key_PageDown), this, SLOT(selectRowNext()));
 
@@ -365,11 +372,10 @@
 {
     QSettings tmpst(APP_VENDOR, APP_ID);
 
-    // Save window size and position
+    // Save settings
     tmpst.setValue("pos", pos());
     tmpst.setValue("size", size());
-
-    // Other settings
+    tmpst.setValue("fullscreen", settings.uiFullScreen);
     tmpst.setValue("scale", settings.uiScale);
     tmpst.setValue("dbBackupMode", settings.dbBackupMode);
     tmpst.setValue("dbBackupURL", settings.dbBackupURL);
@@ -386,7 +392,9 @@
 
     // Back up the database
     if (settings.dbBackupMode != BACKUP_NONE)
+    {
         backupDatabase();
+    }
     else
     {
         slLog("INFO",
@@ -604,6 +612,25 @@
 
 
 //
+//
+//
+void SyntilistaMainWindow::toggleFullScreen()
+{
+    settings.uiFullScreen = !settings.uiFullScreen;
+
+    if (settings.uiFullScreen)
+    {
+        showFullScreen();
+    }
+    else
+    {
+        showMaximized();
+    }
+}
+
+
+
+//
 // Window scale / zoom changing
 //
 void SyntilistaMainWindow::changeUIZoomIn()