documentation, settings change
This commit is contained in:
@@ -2,6 +2,7 @@ from .sources.Ui_dialog_settings import Ui_Dialog
|
||||
from PyQt6 import QtWidgets, QtCore
|
||||
from src.utils import Icon
|
||||
from src import config
|
||||
from src.utils import debugMessage as dbg
|
||||
from omegaconf import OmegaConf
|
||||
import os
|
||||
|
||||
@@ -15,6 +16,7 @@ class Settings(QtWidgets.QDialog, Ui_Dialog):
|
||||
self.originalSettings = config.to_Omegaconf()
|
||||
self.changedSettings = config.to_Omegaconf()
|
||||
self.shortcuts = config.shortcuts
|
||||
self.shortcuts = self.sortShortcuts(self.shortcuts)
|
||||
self.settingschanged = False
|
||||
self.restart_required = False
|
||||
|
||||
@@ -92,8 +94,6 @@ class Settings(QtWidgets.QDialog, Ui_Dialog):
|
||||
)
|
||||
self.settingschanged = True
|
||||
|
||||
|
||||
|
||||
def selectDatabasePath(self):
|
||||
databasePath = QtWidgets.QFileDialog.getExistingDirectory(
|
||||
self, "Select Database Path", self.originalSettings.database.path
|
||||
@@ -108,7 +108,6 @@ class Settings(QtWidgets.QDialog, Ui_Dialog):
|
||||
self.settingschanged = True
|
||||
self.restart_required = True
|
||||
|
||||
|
||||
def selectDatabaseName(self):
|
||||
# filepicker with filter to select only .db files if a file is selected, set name to the lineedit and set database_path
|
||||
databaseName = QtWidgets.QFileDialog.getOpenFileName(
|
||||
@@ -141,6 +140,13 @@ class Settings(QtWidgets.QDialog, Ui_Dialog):
|
||||
}
|
||||
)
|
||||
return shortcuts
|
||||
|
||||
def sortShortcuts(self, shortcuts):
|
||||
short = []
|
||||
for shortcut in shortcuts:
|
||||
short.append(shortcut)
|
||||
short.sort(key=lambda x: x["name"])
|
||||
return short
|
||||
|
||||
def saveSettings(self):
|
||||
# save settings to config file
|
||||
@@ -162,8 +168,6 @@ class Settings(QtWidgets.QDialog, Ui_Dialog):
|
||||
if database_path != self.originalSettings.database.path :
|
||||
os.makedirs(database_path, exist_ok=True)
|
||||
self.restart_required = True
|
||||
if shortcuts != self.originalSettings.shortcuts:
|
||||
self.restart_required = True
|
||||
|
||||
|
||||
|
||||
@@ -182,18 +186,22 @@ class Settings(QtWidgets.QDialog, Ui_Dialog):
|
||||
|
||||
changed = self.changedSettings
|
||||
original = self.originalSettings
|
||||
|
||||
|
||||
|
||||
if changed == original:
|
||||
print("No changes")
|
||||
self.settingschanged = False
|
||||
self.restart_required = False
|
||||
dbg("Settings not changed")
|
||||
else:
|
||||
print("Changes detected")
|
||||
self.settingschanged = True
|
||||
if original.database.path != changed.database.path or original.shortcuts != changed.shortcuts:
|
||||
#compare if database or shortcuts were changed
|
||||
database = original.database == changed.database
|
||||
shortcuts = self.shortcuts == self.sortShortcuts(changed.shortcuts)
|
||||
if not database or not shortcuts:
|
||||
self.restart_required = True
|
||||
dbg(f"Settings changed, restart required: {self.restart_required}",database=database,shortcuts=shortcuts)
|
||||
|
||||
|
||||
|
||||
# save the new settings
|
||||
if self.settingschanged:
|
||||
# save the settings
|
||||
@@ -202,7 +210,7 @@ class Settings(QtWidgets.QDialog, Ui_Dialog):
|
||||
config.updateValue("database.backupLocation", self.changedSettings.database.backupLocation)
|
||||
config.updateValue("database.path", self.changedSettings.database.path)
|
||||
config.updateValue("database.name", self.changedSettings.database.name)
|
||||
config.updateValue("delete_inactive_user_duration", self.changedSettings.delete_inactive_user_duration)
|
||||
config.updateValue("inactive_user_deletion", self.changedSettings.inactive_user_deletion)
|
||||
config.updateValue("report.report_day", self.changedSettings.report.report_day)
|
||||
config.updateValue("report.generate_report", self.changedSettings.report.generate_report)
|
||||
config.updateValue("report.path", self.changedSettings.report.path)
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
from pyramid.config import Configurator
|
||||
from wsgiref.simple_server import make_server
|
||||
from src import docport
|
||||
import os
|
||||
def website():
|
||||
config = Configurator()
|
||||
@@ -13,7 +14,7 @@ def website():
|
||||
def launch_documentation():
|
||||
app = website()
|
||||
server = make_server('localhost', 6543, app)
|
||||
print("Serving MkDocs documentation on http://0.0.0.0:6543")
|
||||
print("Serving MkDocs documentation on http://0.0.0.0:{}".format(docport))
|
||||
server.serve_forever()
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
Reference in New Issue
Block a user