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