From 65295e627f4ddbbd5dba567e38d8a5ac17247551 Mon Sep 17 00:00:00 2001 From: BarsTiger Date: Mon, 15 Aug 2022 21:35:46 +0300 Subject: [PATCH] Turn off images in settings --- gui/gui.py | 13 +++++++++---- gui/gui.ui | 22 ++++++++++++++++------ gui/modules/core/items_list.py | 13 +++++++------ gui/modules/settings/on_settings_open.py | 1 + gui/modules/settings/visual.py | 4 ++++ modules/config/model.py | 1 + modules/config/settings.py | 3 ++- 7 files changed, 40 insertions(+), 17 deletions(-) diff --git a/gui/gui.py b/gui/gui.py index ba9ed90..e713ce2 100644 --- a/gui/gui.py +++ b/gui/gui.py @@ -504,7 +504,7 @@ class Ui_MainWindow(object): self.settings_toolbox = QtWidgets.QToolBox(self.settings_page) self.settings_toolbox.setObjectName("settings_toolbox") self.database_options_page = QtWidgets.QWidget() - self.database_options_page.setGeometry(QtCore.QRect(0, 0, 296, 144)) + self.database_options_page.setGeometry(QtCore.QRect(0, 0, 782, 349)) self.database_options_page.setObjectName("database_options_page") self.verticalLayout_17 = QtWidgets.QVBoxLayout(self.database_options_page) self.verticalLayout_17.setContentsMargins(0, 0, 0, 0) @@ -554,7 +554,7 @@ class Ui_MainWindow(object): self.verticalLayout_17.addItem(spacerItem20) self.settings_toolbox.addItem(self.database_options_page, "") self.gui_options_page = QtWidgets.QWidget() - self.gui_options_page.setGeometry(QtCore.QRect(0, 0, 166, 95)) + self.gui_options_page.setGeometry(QtCore.QRect(0, 0, 782, 349)) self.gui_options_page.setObjectName("gui_options_page") self.verticalLayout_18 = QtWidgets.QVBoxLayout(self.gui_options_page) self.verticalLayout_18.setContentsMargins(0, 0, 0, 0) @@ -569,6 +569,10 @@ class Ui_MainWindow(object): self.app_theme_box.addItem("") self.app_theme_box.addItem("") self.verticalLayout_18.addWidget(self.app_theme_box) + self.show_images_check = QtWidgets.QCheckBox(self.gui_options_page) + self.show_images_check.setChecked(True) + self.show_images_check.setObjectName("show_images_check") + self.verticalLayout_18.addWidget(self.show_images_check) spacerItem21 = QtWidgets.QSpacerItem(20, 251, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout_18.addItem(spacerItem21) self.save_gui_setting_button = QtWidgets.QPushButton(self.gui_options_page) @@ -675,8 +679,8 @@ class Ui_MainWindow(object): MainWindow.setCentralWidget(self.centralwidget) self.retranslateUi(MainWindow) - self.content.setCurrentIndex(0) - self.settings_toolbox.setCurrentIndex(0) + self.content.setCurrentIndex(3) + self.settings_toolbox.setCurrentIndex(1) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): @@ -730,6 +734,7 @@ class Ui_MainWindow(object): self.app_theme_box.setItemText(0, _translate("MainWindow", "Dark gray")) self.app_theme_box.setItemText(1, _translate("MainWindow", "Black")) self.app_theme_box.setItemText(2, _translate("MainWindow", "Black acrylic")) + self.show_images_check.setText(_translate("MainWindow", "Render images in list (may cause long loading)")) self.save_gui_setting_button.setText(_translate("MainWindow", "Save visual settings")) self.settings_toolbox.setItemText(self.settings_toolbox.indexOf(self.gui_options_page), _translate("MainWindow", "Visual options")) self.edit_box_item_name_label.setText(_translate("MainWindow", "Item name")) diff --git a/gui/gui.ui b/gui/gui.ui index 6e4c79d..829aa5f 100644 --- a/gui/gui.ui +++ b/gui/gui.ui @@ -296,7 +296,7 @@ QToolBox::tab { - 0 + 3 @@ -1691,15 +1691,15 @@ p, li { white-space: pre-wrap; } - 0 + 1 0 0 - 296 - 144 + 782 + 349 @@ -1865,8 +1865,8 @@ p, li { white-space: pre-wrap; } 0 0 - 166 - 95 + 782 + 349 @@ -1917,6 +1917,16 @@ p, li { white-space: pre-wrap; } + + + + Render images in list (may cause long loading) + + + true + + + diff --git a/gui/modules/core/items_list.py b/gui/modules/core/items_list.py index 899319d..33ec1dd 100644 --- a/gui/modules/core/items_list.py +++ b/gui/modules/core/items_list.py @@ -50,12 +50,13 @@ def refill_list(ui: Ui_MainWindow): 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() - try: - pixmap.loadFromData(requests.get(item.image).content) - list_item.setIcon(QtGui.QIcon(pixmap)) - except Exception as e: - print(f"Failed to load {item.image}, {e}") + if Config.get().images: + pixmap = QtGui.QPixmap() + try: + pixmap.loadFromData(requests.get(item.image).content) + list_item.setIcon(QtGui.QIcon(pixmap)) + except Exception as e: + print(f"Failed to load {item.image}, {e}") ui.items_list.addItem(list_item) diff --git a/gui/modules/settings/on_settings_open.py b/gui/modules/settings/on_settings_open.py index 460c7d0..2eb50db 100644 --- a/gui/modules/settings/on_settings_open.py +++ b/gui/modules/settings/on_settings_open.py @@ -8,5 +8,6 @@ def on_settings_button_click(ui: Ui_MainWindow): ui.database_list_box.addItems(glob.glob("*.gtabase")) ui.database_list_box.setCurrentText(Config.get().database) ui.app_theme_box.setCurrentText(Config.get().theme) + ui.show_images_check.setChecked(Config.get().images) ui.content.setCurrentWidget(ui.settings_page) diff --git a/gui/modules/settings/visual.py b/gui/modules/settings/visual.py index 0b46227..75111a1 100644 --- a/gui/modules/settings/visual.py +++ b/gui/modules/settings/visual.py @@ -1,6 +1,10 @@ from gui.gui import Ui_MainWindow from modules.config import Config +from gui.modules.core import items_list def on_save_visual_click(ui: Ui_MainWindow): Config.update("theme", ui.app_theme_box.currentText()) + Config.update("images", ui.show_images_check.isChecked()) + + items_list.refill_list(ui) diff --git a/modules/config/model.py b/modules/config/model.py index 1073885..2e953de 100644 --- a/modules/config/model.py +++ b/modules/config/model.py @@ -8,3 +8,4 @@ class ConfigModel: database: str profile: str | None theme: str + images: bool diff --git a/modules/config/settings.py b/modules/config/settings.py index 48852c1..4b069fe 100644 --- a/modules/config/settings.py +++ b/modules/config/settings.py @@ -8,7 +8,8 @@ class Config: return { "database": "default.gtabase", "profile": None, - "theme": "Dark gray" + "theme": "Dark gray", + "images": True } @staticmethod