diff --git a/gui/gui.ui b/gui/gui.ui index 1c5d9cc..3d38c57 100644 --- a/gui/gui.ui +++ b/gui/gui.ui @@ -267,6 +267,13 @@ QSpinBox::up-button { QSpinBox::down-button { border: none; background: none; +} + +QToolBox::tab { + border-style: solid; + border-width: 1px; + border-radius: 5px; + border-color: #303030; } diff --git a/gui/modules/core/items_list.py b/gui/modules/core/items_list.py index 34a63f2..899319d 100644 --- a/gui/modules/core/items_list.py +++ b/gui/modules/core/items_list.py @@ -34,7 +34,7 @@ def refill_list(ui: Ui_MainWindow): continue list_item = QtWidgets.QListWidgetItem() - if Config.get().profile: + if Config.get().profile in list(Database.get().profiles): ui.own_button.setEnabled(True) if item.item_name in Database.get_profile().owned_items: @@ -47,7 +47,7 @@ def refill_list(ui: Ui_MainWindow): list_item.setText( f'' - f'{"☑" if Config.get().profile and item.item_name in Database.get_profile().owned_items else ""}' + f'{"☑" if Config.get().profile in list(Database.get().profiles) and item.item_name in Database.get_profile().owned_items else ""}' f'{item.item_name} - ${"{:,}".format(item.price)}' ) pixmap = QtGui.QPixmap() diff --git a/gui/modules/handlers/fill_info.py b/gui/modules/handlers/fill_info.py index e1b461a..c709803 100644 --- a/gui/modules/handlers/fill_info.py +++ b/gui/modules/handlers/fill_info.py @@ -18,7 +18,7 @@ def on_item_click(ui: Ui_MainWindow, mode: str): ui.properties_image.clear() print(f"Failed to load {item.image}, {e}") - if Config.get().profile: + if Config.get().profile in list(Database.get().profiles): ui.own_button.setEnabled(True) if item.item_name in Database.get_profile().owned_items: diff --git a/gui/modules/initialize/styles.py b/gui/modules/initialize/styles.py index f448a17..ca9e429 100644 --- a/gui/modules/initialize/styles.py +++ b/gui/modules/initialize/styles.py @@ -280,6 +280,13 @@ QSpinBox::down-button { border: none; background: none; } + +QToolBox::tab { + border-style: solid; + border-width: 1px; + border-radius: 5px; + border-color: rgba(48, 48, 48, 0); +} """ menupage_b = """ @@ -545,6 +552,13 @@ QSpinBox::down-button { border: none; background: none; } + +QToolBox::tab { + border-style: solid; + border-width: 1px; + border-radius: 5px; + border-color: #303030; +} """ menupage_g = """ diff --git a/gui/modules/settings/__init__.py b/gui/modules/settings/__init__.py index 1f9d8e0..0e991d0 100644 --- a/gui/modules/settings/__init__.py +++ b/gui/modules/settings/__init__.py @@ -1,2 +1,4 @@ from .on_settings_open import * -from .handlers import * \ No newline at end of file +from .db import * +from .visual import * +from .handlers import * diff --git a/gui/modules/settings/db.py b/gui/modules/settings/db.py new file mode 100644 index 0000000..be6a5b7 --- /dev/null +++ b/gui/modules/settings/db.py @@ -0,0 +1,12 @@ +from gui.gui import Ui_MainWindow +from modules.config import Config +from gui.modules.core import items_list + + +def on_load_another_db_click(ui: Ui_MainWindow): + Config.update("database", ui.database_list_box.currentText()) + 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)) diff --git a/gui/modules/settings/handlers.py b/gui/modules/settings/handlers.py index 834418c..61bb786 100644 --- a/gui/modules/settings/handlers.py +++ b/gui/modules/settings/handlers.py @@ -1,6 +1,11 @@ from . import * +from gui.gui import Ui_MainWindow def register_handlers(ui: Ui_MainWindow): - ui.open_settings_button.clicked.connect(lambda: on_settings_button_click(ui)) + ui.open_settings_button.clicked.connect(lambda: on_settings_open.on_settings_button_click(ui)) ui.cancel_settings_button.clicked.connect(lambda: ui.content.setCurrentWidget(ui.main_page)) + + ui.save_gui_setting_button.clicked.connect(lambda: visual.on_save_visual_click(ui)) + + db.register_db_handlers(ui) diff --git a/gui/modules/settings/visual.py b/gui/modules/settings/visual.py new file mode 100644 index 0000000..0b46227 --- /dev/null +++ b/gui/modules/settings/visual.py @@ -0,0 +1,6 @@ +from gui.gui import Ui_MainWindow +from modules.config import Config + + +def on_save_visual_click(ui: Ui_MainWindow): + Config.update("theme", ui.app_theme_box.currentText()) diff --git a/modules/database/database.py b/modules/database/database.py index fc3bb5e..7aca17b 100644 --- a/modules/database/database.py +++ b/modules/database/database.py @@ -12,6 +12,8 @@ class Database: print(f"Cannot load database: {e}. Writing default database") print("Old data:") print(open(Config.get().database).read()) + with open("error.baseback", 'w') as f: + f.write(open(Config.get().database).read()) with open(Config.get().database, 'w') as f: json.dump(default_database, f, indent=4) return DatabaseModel.from_dict(default_database)