diff --git a/src/OneDriveGUI.py b/src/OneDriveGUI.py
index c45d09c..121978f 100644
--- a/src/OneDriveGUI.py
+++ b/src/OneDriveGUI.py
@@ -54,6 +54,7 @@ from ui.ui_create_new_profile import Ui_create_new_profile
PROFILES_FILE = os.path.expanduser("~/.config/onedrive-gui/profiles")
+GUI_SETTINGS_FILE = os.path.expanduser("~/.config/onedrive-gui/gui_settings")
dir_path = os.path.dirname(os.path.realpath(__file__))
# Logging
@@ -1368,7 +1369,13 @@ class MainWindow(QMainWindow, Ui_MainWindow):
#
# Menu
- self.menubar.hide()
+ # self.menubar.hide()
+ self.actionStart_Minimized.triggered.connect(self.set_check_box_state)
+ if gui_settings["SETTINGS"]["start_minimized"] == "True":
+ self.actionStart_Minimized.setChecked(True)
+
+ self.actionQuit.triggered.connect(sys.exit)
+
# Update OneDrive Status
self.actionRefresh_Service_Status.triggered.connect(lambda: self.onedrive_process_status())
@@ -1443,6 +1450,20 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.auto_sync.timeout.connect(self.autostart_monitor)
self.auto_sync.start(1000)
+ def set_check_box_state(self, state):
+ _property = self.sender().objectName()
+ logging.info(f"[GUI] {_property} changed to '{state}'")
+
+ if state == True:
+ logging.info(f"is checked")
+ gui_settings["SETTINGS"]["start_minimized"] = "True"
+ else:
+ logging.info(f"is unchecked")
+ gui_settings["SETTINGS"]["start_minimized"] = "False"
+
+ with open(GUI_SETTINGS_FILE, "w") as f:
+ gui_settings.write(f)
+
def closeEvent(self, event):
event.ignore()
self.hide()
@@ -1707,6 +1728,22 @@ def read_config(config_file):
return config
+def read_gui_settings():
+ default_gui_settings = {
+ "SETTINGS": {
+ "start_minimized": "False",
+ }
+ }
+
+ gui_settings = ConfigParser()
+ gui_settings.read_dict(default_gui_settings) # Read default settings and use them when config file does not exist.
+ gui_settings.read(GUI_SETTINGS_FILE) # Read user settings from file and overwrite defaults.
+
+ logging.debug(f"GUI SETTINGS: {gui_settings._sections}")
+
+ return gui_settings
+
+
def create_global_config():
"""
Creates dict which is used as running global config.
@@ -1822,6 +1859,7 @@ def save_global_config():
if __name__ == "__main__":
global_config = create_global_config()
+ gui_settings = read_gui_settings()
app = QApplication(sys.argv)
app.setApplicationName("OneDriveGUI")
@@ -1831,5 +1869,9 @@ if __name__ == "__main__":
settings_window = SettingsWindow()
settings_window.hide()
- main_window.show()
+ if gui_settings["SETTINGS"]["start_minimized"] == "True":
+ main_window.hide()
+ else:
+ main_window.show()
+
app.exec()
diff --git a/src/ui/mainwindow.ui b/src/ui/mainwindow.ui
index b9e93f6..ed8e456 100644
--- a/src/ui/mainwindow.ui
+++ b/src/ui/mainwindow.ui
@@ -56,7 +56,6 @@
10
- 75
true
@@ -103,7 +102,7 @@ color: rgb(255, 255, 255);
0
0
420
- 30
+ 22
@@ -207,6 +208,19 @@ color: rgb(255, 255, 255);
start
+
+
+ true
+
+
+ Start Minimized
+
+
+
+
+ Quit
+
+
diff --git a/src/ui/ui_mainwindow.py b/src/ui/ui_mainwindow.py
index d9f13d6..e0e28c6 100644
--- a/src/ui/ui_mainwindow.py
+++ b/src/ui/ui_mainwindow.py
@@ -3,7 +3,7 @@
################################################################################
## Form generated from reading UI file 'mainwindow.ui'
##
-## Created by: Qt User Interface Compiler version 6.2.2
+## Created by: Qt User Interface Compiler version 6.2.3
##
## WARNING! All changes made in this file will be lost when recompiling UI file!
################################################################################
@@ -52,6 +52,11 @@ class Ui_MainWindow(object):
self.actionTest_Service.setObjectName(u"actionTest_Service")
self.actionstart = QAction(MainWindow)
self.actionstart.setObjectName(u"actionstart")
+ self.actionStart_Minimized = QAction(MainWindow)
+ self.actionStart_Minimized.setObjectName(u"actionStart_Minimized")
+ self.actionStart_Minimized.setCheckable(True)
+ self.actionQuit = QAction(MainWindow)
+ self.actionQuit.setObjectName(u"actionQuit")
self.centralwidget = QWidget(MainWindow)
self.centralwidget.setObjectName(u"centralwidget")
self.verticalLayout = QVBoxLayout(self.centralwidget)
@@ -93,24 +98,26 @@ class Ui_MainWindow(object):
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QMenuBar(MainWindow)
self.menubar.setObjectName(u"menubar")
- self.menubar.setGeometry(QRect(0, 0, 420, 30))
+ self.menubar.setGeometry(QRect(0, 0, 420, 22))
self.menuAdvanced = QMenu(self.menubar)
self.menuAdvanced.setObjectName(u"menuAdvanced")
self.menuDebug = QMenu(self.menuAdvanced)
self.menuDebug.setObjectName(u"menuDebug")
+ self.menuDebug.setEnabled(False)
self.menuService = QMenu(self.menuDebug)
self.menuService.setObjectName(u"menuService")
+ self.menuService.setEnabled(False)
self.menuMonitor = QMenu(self.menuDebug)
self.menuMonitor.setObjectName(u"menuMonitor")
self.menuStatus = QMenu(self.menuDebug)
self.menuStatus.setObjectName(u"menuStatus")
- self.menuaccount2 = QMenu(self.menuAdvanced)
- self.menuaccount2.setObjectName(u"menuaccount2")
MainWindow.setMenuBar(self.menubar)
self.menubar.addAction(self.menuAdvanced.menuAction())
self.menuAdvanced.addAction(self.menuDebug.menuAction())
- self.menuAdvanced.addAction(self.menuaccount2.menuAction())
+ self.menuAdvanced.addAction(self.actionStart_Minimized)
+ self.menuAdvanced.addSeparator()
+ self.menuAdvanced.addAction(self.actionQuit)
self.menuDebug.addAction(self.menuService.menuAction())
self.menuDebug.addAction(self.menuMonitor.menuAction())
self.menuDebug.addAction(self.menuStatus.menuAction())
@@ -122,7 +129,6 @@ class Ui_MainWindow(object):
self.menuMonitor.addAction(self.actionForce_Resync)
self.menuStatus.addAction(self.actionRefresh_Service_Status)
self.menuStatus.addAction(self.actionObtain_Sync_Status)
- self.menuaccount2.addAction(self.actionstart)
self.retranslateUi(MainWindow)
@@ -142,12 +148,13 @@ class Ui_MainWindow(object):
self.actionObtain_Sync_Status.setText(QCoreApplication.translate("MainWindow", u"Obtain Sync Status", None))
self.actionTest_Service.setText(QCoreApplication.translate("MainWindow", u"Test Service", None))
self.actionstart.setText(QCoreApplication.translate("MainWindow", u"start", None))
+ self.actionStart_Minimized.setText(QCoreApplication.translate("MainWindow", u"Start Minimized", None))
+ self.actionQuit.setText(QCoreApplication.translate("MainWindow", u"Quit", None))
self.pushButton_new_profile.setText(QCoreApplication.translate("MainWindow", u"Create/ Import OneDrive profile", None))
self.menuAdvanced.setTitle(QCoreApplication.translate("MainWindow", u"Advanced", None))
self.menuDebug.setTitle(QCoreApplication.translate("MainWindow", u"Debug", None))
self.menuService.setTitle(QCoreApplication.translate("MainWindow", u"Service", None))
self.menuMonitor.setTitle(QCoreApplication.translate("MainWindow", u"Monitor", None))
self.menuStatus.setTitle(QCoreApplication.translate("MainWindow", u"Status", None))
- self.menuaccount2.setTitle(QCoreApplication.translate("MainWindow", u"account2", None))
# retranslateUi