diff --git a/Gui/firststart.qml b/Gui/firststart.qml index 823c1da..8cfc3fa 100644 --- a/Gui/firststart.qml +++ b/Gui/firststart.qml @@ -101,6 +101,19 @@ Item Layout.fillWidth: true property string name: "PYQCRM_ADMIN_PASS" } + Label + { + text: qsTr("Info:") + Layout.alignment: Qt.AlignRight + } + + TextField + { + id: gecos + placeholderText: qsTr("Zusätzliche Info") + Layout.fillWidth: true + property string name: "PYQCRM_ADMIN_INFO" + } Item { diff --git a/Gui/main.qml b/Gui/main.qml index 8228ea4..52c39ae 100644 --- a/Gui/main.qml +++ b/Gui/main.qml @@ -2,6 +2,8 @@ import QtQuick import QtQuick.Layouts import QtQuick.Controls import Gui +import QtQuick.Dialogs +import QtCore ApplicationWindow { @@ -43,7 +45,36 @@ ApplicationWindow leftMargin: 9 } - source: bad_config? "firststart.qml": "Dashboard.qml" property alias window: appWindow } + Component.onCompleted: + { + if(bad_config) + { + importDialog.open() + } + else appLoader.source= "Dashboard.qml" + + } + Dialog + { + id: importDialog + modal: true + anchors.centerIn: parent + standardButtons: Dialog.Yes | Dialog.No + onAccepted: settingsFiledialog.open() + onRejected: appLoader.source= "firststart.qml" + title: qsTr("Einstellungen importieren") + + } + FileDialog + { + + id: settingsFiledialog + title: qsTr("pyqcrm Einstellungen") + currentFolder: StandardPaths.standardLocations(StandardPaths.DocumentsLocation)[0] + modality: "ApplicationModal" + nameFilters: ["pyqcrm Einstellungen (*.toml)"] + onAccepted: config.importConfig(selectedFile) + } } diff --git a/doc/Programmstart Diagramm.drawio b/doc/Programmstart Diagramm.drawio index 7c43580..40a9842 100644 --- a/doc/Programmstart Diagramm.drawio +++ b/doc/Programmstart Diagramm.drawio @@ -4,160 +4,255 @@ - - + + - - - - + + - - - - + - - + + - - - - - - - - - - - - - + - - + + - + - - + + - + - - + + - - + + - + - - + + - - + + - - + + - - + + - - - - + - - + + + - + - - + + - - + + - + - - + + - + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - - + + - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/Programmstart Diagramm.pdf b/doc/Programmstart Diagramm.pdf index 212072d..787eb50 100644 Binary files a/doc/Programmstart Diagramm.pdf and b/doc/Programmstart Diagramm.pdf differ diff --git a/lib/ConfigLoader.py b/lib/ConfigLoader.py index b7548c6..3f06e15 100644 --- a/lib/ConfigLoader.py +++ b/lib/ConfigLoader.py @@ -4,6 +4,7 @@ from platformdirs import user_config_dir from pathlib import Path from PySide6.QtCore import QObject, Slot from .Vermasseln import Vermasseln +import shutil class ConfigLoader(QObject): @@ -19,6 +20,12 @@ class ConfigLoader(QObject): else: config_dir.mkdir(0o750, True, True) + @Slot(str) + def importConfig(self, confile): + print(confile) + confile= confile.replace('file:///','') + shutil.copyfile(confile, self.config_dir+ '/pyqcrm.toml') + @Slot(dict) def setConfig(self, app_config): try: