hide and show owned items

This commit is contained in:
BarsTiger
2022-08-09 17:25:45 +03:00
parent 12cc20175e
commit f5c0f677cb
5 changed files with 48 additions and 1 deletions

View File

@@ -137,6 +137,10 @@ class Ui_MainWindow(object):
self.filter_max_price_box.setProperty("value", 10000000) self.filter_max_price_box.setProperty("value", 10000000)
self.filter_max_price_box.setObjectName("filter_max_price_box") self.filter_max_price_box.setObjectName("filter_max_price_box")
self.verticalLayout_3.addWidget(self.filter_max_price_box) self.verticalLayout_3.addWidget(self.filter_max_price_box)
self.filter_show_owned_items_check = QtWidgets.QCheckBox(self.filter_lay)
self.filter_show_owned_items_check.setChecked(True)
self.filter_show_owned_items_check.setObjectName("filter_show_owned_items_check")
self.verticalLayout_3.addWidget(self.filter_show_owned_items_check)
spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.verticalLayout_3.addItem(spacerItem1) self.verticalLayout_3.addItem(spacerItem1)
self.filters_apply_button = QtWidgets.QPushButton(self.filter_lay) self.filters_apply_button = QtWidgets.QPushButton(self.filter_lay)
@@ -485,6 +489,7 @@ class Ui_MainWindow(object):
self.filter_min_price_box.setPrefix(_translate("MainWindow", "$")) self.filter_min_price_box.setPrefix(_translate("MainWindow", "$"))
self.filter_max_price_label.setText(_translate("MainWindow", "Max price:")) self.filter_max_price_label.setText(_translate("MainWindow", "Max price:"))
self.filter_max_price_box.setPrefix(_translate("MainWindow", "$")) self.filter_max_price_box.setPrefix(_translate("MainWindow", "$"))
self.filter_show_owned_items_check.setText(_translate("MainWindow", "Show owned items"))
self.filters_apply_button.setText(_translate("MainWindow", "Apply filters")) self.filters_apply_button.setText(_translate("MainWindow", "Apply filters"))
self.properties_name.setText(_translate("MainWindow", "item_name")) self.properties_name.setText(_translate("MainWindow", "item_name"))
self.properties_price.setText(_translate("MainWindow", "item_price")) self.properties_price.setText(_translate("MainWindow", "item_price"))

View File

@@ -593,6 +593,16 @@ p, li { white-space: pre-wrap; }
</property> </property>
</widget> </widget>
</item> </item>
<item>
<widget class="QCheckBox" name="filter_show_owned_items_check">
<property name="text">
<string>Show owned items</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item> <item>
<spacer name="verticalSpacer_2"> <spacer name="verticalSpacer_2">
<property name="orientation"> <property name="orientation">

View File

@@ -1,6 +1,7 @@
import requests import requests
from gui.gui import Ui_MainWindow from gui.gui import Ui_MainWindow
from modules.database import Database from modules.database import Database
from modules.config import Config
from PyQt5 import QtWidgets, QtGui from PyQt5 import QtWidgets, QtGui
from gui.modules.handlers import fill_info from gui.modules.handlers import fill_info
@@ -22,8 +23,25 @@ def refill_list(ui: Ui_MainWindow):
if not (ui.filter_class_box.currentText() == 'All' or item.item_class == ui.filter_class_box.currentText()): if not (ui.filter_class_box.currentText() == 'All' or item.item_class == ui.filter_class_box.currentText()):
continue continue
if (not ui.filter_show_owned_items_check.isChecked()) and item.item_name in \
Database.get().profiles[Config.get().profile].owned_items:
continue
list_item = QtWidgets.QListWidgetItem() list_item = QtWidgets.QListWidgetItem()
list_item.setText(f'{item.item_name} - ${"{:,}".format(item.price)}') if Config.get().profile:
ui.own_button.setEnabled(True)
if item.item_name in Database.get().profiles[Config.get().profile].owned_items:
ui.own_button.setText("Mark this item as unowned")
else:
ui.own_button.setText("Mark this item as owned")
else:
ui.own_button.setEnabled(False)
ui.own_button.setText("Select profile first")
list_item.setText(f''
f'{"" if Config.get().profile and item.item_name in Database.get().profiles[Config.get().profile].owned_items else ""}'
f'{item.item_name} - ${"{:,}".format(item.price)}')
pixmap = QtGui.QPixmap() pixmap = QtGui.QPixmap()
try: try:
pixmap.loadFromData(requests.get(item.image).content) pixmap.loadFromData(requests.get(item.image).content)

View File

@@ -2,12 +2,14 @@ import requests
from PyQt5 import QtWidgets, QtGui, QtCore from PyQt5 import QtWidgets, QtGui, QtCore
from gui.gui import Ui_MainWindow from gui.gui import Ui_MainWindow
from modules.database import Database from modules.database import Database
from modules.config import Config
def on_item_click(ui: Ui_MainWindow, mode: str): def on_item_click(ui: Ui_MainWindow, mode: str):
if ui.items_list.currentItem(): if ui.items_list.currentItem():
item = Database.get().items[ item = Database.get().items[
ui.items_list.currentItem().text().removesuffix(' - ' + ui.items_list.currentItem().text().split(' - ')[-1]) ui.items_list.currentItem().text().removesuffix(' - ' + ui.items_list.currentItem().text().split(' - ')[-1])
.replace("", "")
] ]
pixmap = QtGui.QPixmap() pixmap = QtGui.QPixmap()
@@ -18,6 +20,17 @@ def on_item_click(ui: Ui_MainWindow, mode: str):
ui.properties_image.clear() ui.properties_image.clear()
print(f"Failed to load {item.image}, {e}") print(f"Failed to load {item.image}, {e}")
if Config.get().profile:
ui.own_button.setEnabled(True)
if item.item_name in Database.get().profiles[Config.get().profile].owned_items:
ui.own_button.setText("Mark this item as unowned")
else:
ui.own_button.setText("Mark this item as owned")
else:
ui.own_button.setEnabled(False)
ui.own_button.setText("Select profile first")
ui.properties_name.setText(item.item_name) ui.properties_name.setText(item.item_name)
ui.properties_price.setText(f'${"{:,}".format(item.price)}') ui.properties_price.setText(f'${"{:,}".format(item.price)}')
ui.properties_class_type.setText(f'{item.item_class} - {item.item_type}') ui.properties_class_type.setText(f'{item.item_class} - {item.item_type}')

View File

@@ -9,6 +9,7 @@ def on_rm_click(ui: Ui_MainWindow):
if ui.items_list.currentItem(): if ui.items_list.currentItem():
Database.remove_item( Database.remove_item(
ui.items_list.currentItem().text().removesuffix(' - ' + ui.items_list.currentItem().text().split(' - ')[-1]) ui.items_list.currentItem().text().removesuffix(' - ' + ui.items_list.currentItem().text().split(' - ')[-1])
.replace("", "")
) )
items_list.refill_list(ui) items_list.refill_list(ui)
refill_filters(ui) refill_filters(ui)