working settings

This commit is contained in:
BarsTiger
2022-08-11 16:10:12 +03:00
parent 641b4346bd
commit 12b0ac42b7
6 changed files with 65 additions and 9 deletions

View File

@@ -594,7 +594,7 @@ class Ui_MainWindow(object):
MainWindow.setCentralWidget(self.centralwidget)
self.retranslateUi(MainWindow)
self.settings_toolbox.setCurrentIndex(1)
self.settings_toolbox.setCurrentIndex(0)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
@@ -641,7 +641,7 @@ class Ui_MainWindow(object):
self.create_backup_button.setText(_translate("MainWindow", "Create backup"))
self.load_backup_button.setText(_translate("MainWindow", "Load backup"))
self.delete_db_button.setText(_translate("MainWindow", "Delete this database"))
self.new_db_name_box.setPlaceholderText(_translate("MainWindow", "New database name"))
self.new_db_name_box.setPlaceholderText(_translate("MainWindow", "New database name (without extension)"))
self.new_db_create_button.setText(_translate("MainWindow", "Create"))
self.settings_toolbox.setItemText(self.settings_toolbox.indexOf(self.database_options_page), _translate("MainWindow", "Database options"))
self.app_theme_label.setText(_translate("MainWindow", "App theme (requires restart)"))

View File

@@ -1688,7 +1688,7 @@ p, li { white-space: pre-wrap; }
<item>
<widget class="QToolBox" name="settings_toolbox">
<property name="currentIndex">
<number>1</number>
<number>0</number>
</property>
<widget class="QWidget" name="database_options_page">
<property name="geometry">
@@ -1822,7 +1822,7 @@ p, li { white-space: pre-wrap; }
</size>
</property>
<property name="placeholderText">
<string>New database name</string>
<string>New database name (without extension)</string>
</property>
</widget>
</item>

View File

@@ -1,3 +1,5 @@
import os
from gui.modules.core.popup import popup
from gui.gui import Ui_MainWindow
from modules.config import Config
from gui.modules.core import items_list
@@ -8,5 +10,50 @@ def on_load_another_db_click(ui: Ui_MainWindow):
items_list.refill_list(ui)
def create_backup():
with open(os.path.splitext(Config.get().database)[0] + '.gtaback', 'w') as f:
f.write(open(Config.get().database).read())
def load_backup(ui: Ui_MainWindow):
if os.path.isfile(os.path.splitext(Config.get().database)[0] + '.gtaback'):
if popup('Loading backup', 'Do you really want to rollback you database to newest backup state?', 4) == 6:
with open(Config.get().database, 'w') as f:
try:
f.write(open(os.path.splitext(Config.get().database)[0] + '.gtaback').read())
except Exception as e:
popup("Error", f"Error happened: {e}")
items_list.refill_list(ui)
else:
popup('Error', 'No backup found')
def remove_db(ui: Ui_MainWindow):
if popup('Removing database', 'Do you really want to remove selected database?', 4) != 6:
return
os.remove(ui.database_list_box.currentText())
ui.database_list_box.removeItem(ui.database_list_box.currentIndex())
if ui.database_list_box.currentText() != "":
Config.update("database", ui.database_list_box.currentText())
items_list.refill_list(ui)
else:
Config.update("database", "default.gtabase")
ui.database_list_box.addItem("default.gtabase")
items_list.refill_list(ui)
def create_db(ui: Ui_MainWindow):
Config.update("database", ui.new_db_name_box.text() + ".gtabase")
ui.database_list_box.addItem(Config.get().database)
ui.database_list_box.setCurrentText(Config.get().database)
items_list.refill_list(ui)
def register_db_handlers(ui: Ui_MainWindow):
ui.load_this_db_button.clicked.connect(lambda: on_load_another_db_click(ui))
ui.create_backup_button.clicked.connect(create_backup)
ui.load_backup_button.clicked.connect(lambda: load_backup(ui))
ui.delete_db_button.clicked.connect(lambda: remove_db(ui))
ui.new_db_create_button.clicked.connect(lambda: create_db(ui))