new settings class
This commit is contained in:
@@ -20,6 +20,11 @@ class Settings(QtWidgets.QDialog, Ui_Dialog):
|
||||
self.database_path.textChanged.connect(self.enableButtonBox)
|
||||
self.database_name.textChanged.connect(self.enableButtonBox)
|
||||
self.database_name.textChanged.connect(self.enableButtonBox)
|
||||
self.delete_inactive_user_duration.textChanged.connect(self.enableButtonBox)
|
||||
self.report_path.textChanged.connect(self.enableButtonBox)
|
||||
self.report_day.currentIndexChanged.connect(self.enableButtonBox)
|
||||
self.check_generate_report.stateChanged.connect(self.enableButtonBox)
|
||||
|
||||
|
||||
# buttonbox
|
||||
self.buttonBox.accepted.connect(self.saveSettings)
|
||||
@@ -41,6 +46,10 @@ class Settings(QtWidgets.QDialog, Ui_Dialog):
|
||||
)
|
||||
self.btn_select_database_path.clicked.connect(self.selectDatabasePath)
|
||||
self.btn_select_database_name.clicked.connect(self.selectDatabaseName)
|
||||
self.btn_select_report_path.clicked.connect(self.selectReportPath)
|
||||
#variables
|
||||
|
||||
self.settingschanged = False
|
||||
|
||||
def enableButtonBox(self):
|
||||
self.buttonBox.button(QtWidgets.QDialogButtonBox.StandardButton.Ok).setEnabled(
|
||||
@@ -63,6 +72,18 @@ class Settings(QtWidgets.QDialog, Ui_Dialog):
|
||||
self.buttonBox.button(QtWidgets.QDialogButtonBox.StandardButton.Ok).setEnabled(
|
||||
True
|
||||
)
|
||||
|
||||
def selectReportPath(self):
|
||||
reportPath = QtWidgets.QFileDialog.getExistingDirectory(
|
||||
self, "Select Report Path", self.originalSettings.report.path
|
||||
)
|
||||
self.report_path.setText(reportPath)
|
||||
self.buttonBox.button(
|
||||
QtWidgets.QDialogButtonBox.StandardButton.Discard
|
||||
).setEnabled(True)
|
||||
self.buttonBox.button(QtWidgets.QDialogButtonBox.StandardButton.Ok).setEnabled(
|
||||
True
|
||||
)
|
||||
|
||||
def selectDatabasePath(self):
|
||||
databasePath = QtWidgets.QFileDialog.getExistingDirectory(
|
||||
@@ -97,18 +118,26 @@ class Settings(QtWidgets.QDialog, Ui_Dialog):
|
||||
# save settings to config file
|
||||
institution_name = self.institution_name.text()
|
||||
default_loan_duration = int(self.default_loan_duration.text())
|
||||
delete_inactive_users = int(self.delete_inactive_user_duration.text())
|
||||
database_backupLocation = self.database_backupLocation.text()
|
||||
database_path = self.database_path.text()
|
||||
database_name = self.database_name.text()
|
||||
report_day = self.report_day.currentIndex()
|
||||
report_generate = self.check_generate_report.isChecked()
|
||||
report_path = self.report_path.text()
|
||||
# overwrite the original settings
|
||||
self.originalSettings.institution_name = institution_name
|
||||
self.originalSettings.default_loan_duration = default_loan_duration
|
||||
self.originalSettings.loan_duration = default_loan_duration
|
||||
self.originalSettings.database.backupLocation = database_backupLocation
|
||||
self.originalSettings.database.path = database_path
|
||||
self.originalSettings.database.name = database_name
|
||||
self.originalSettings.delete_inactive_user_duration = delete_inactive_users
|
||||
self.originalSettings.report.report_day = report_day
|
||||
self.originalSettings.report.path = report_path
|
||||
self.originalSettings.report.generate_report = report_generate
|
||||
# save the new settings
|
||||
OmegaConf.save(self.originalSettings, "config/settings.yaml")
|
||||
|
||||
config.save()
|
||||
self.settingschanged = True
|
||||
self.close()
|
||||
|
||||
def DiscardSettings(self):
|
||||
@@ -117,14 +146,20 @@ class Settings(QtWidgets.QDialog, Ui_Dialog):
|
||||
|
||||
def loadSettings(self):
|
||||
self.institution_name.setText(self.originalSettings.institution_name)
|
||||
self.default_loan_duration.setText(
|
||||
str(self.originalSettings.default_loan_duration)
|
||||
self.default_loan_duration.setValue(
|
||||
int(self.originalSettings.loan_duration)
|
||||
)
|
||||
self.delete_inactive_user_duration.setValue(
|
||||
int(self.originalSettings.delete_inactive_user_duration)
|
||||
)
|
||||
self.database_backupLocation.setText(
|
||||
self.originalSettings.database.backupLocation
|
||||
)
|
||||
self.database_path.setText(self.originalSettings.database.path)
|
||||
self.database_name.setText(self.originalSettings.database.name)
|
||||
self.report_day.setCurrentIndex(self.originalSettings.report.report_day -1)
|
||||
self.check_generate_report.setChecked(self.originalSettings.report.generate_report)
|
||||
self.report_path.setText(self.originalSettings.report.path)
|
||||
pass
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user