filters system
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
from modules.database import Database
|
||||
from modules.database.model import Item
|
||||
from gui.modules.core import items_list
|
||||
from gui.modules.filters.menu import refill_filters
|
||||
from gui.gui import Ui_MainWindow
|
||||
|
||||
|
||||
@@ -21,3 +22,4 @@ def add_item_if_can(ui: Ui_MainWindow):
|
||||
))
|
||||
|
||||
items_list.refill_list(ui)
|
||||
refill_filters(ui)
|
||||
|
||||
@@ -2,7 +2,7 @@ import requests
|
||||
from gui.gui import Ui_MainWindow
|
||||
from modules.database import Database
|
||||
from PyQt5 import QtWidgets, QtGui
|
||||
from gui.modules.filters.menu import refill_filters
|
||||
from gui.modules.handlers import fill_info
|
||||
|
||||
|
||||
def refill_list(ui: Ui_MainWindow):
|
||||
@@ -10,9 +10,18 @@ def refill_list(ui: Ui_MainWindow):
|
||||
if Database.get().items:
|
||||
ui.logo_if_empty.hide()
|
||||
ui.items_list.show()
|
||||
refill_filters(ui)
|
||||
for item in Database.get().items:
|
||||
item = Database.get().items[item]
|
||||
|
||||
if not ui.filter_min_price_box.value() <= item.price <= ui.filter_max_price_box.value():
|
||||
continue
|
||||
|
||||
if not (ui.filter_type_box.currentText() == 'All' or item.item_type == ui.filter_type_box.currentText()):
|
||||
continue
|
||||
|
||||
if not (ui.filter_class_box.currentText() == 'All' or item.item_class == ui.filter_class_box.currentText()):
|
||||
continue
|
||||
|
||||
list_item = QtWidgets.QListWidgetItem()
|
||||
list_item.setText(f'{item.item_name} - ${"{:,}".format(item.price)}')
|
||||
pixmap = QtGui.QPixmap()
|
||||
@@ -24,6 +33,8 @@ def refill_list(ui: Ui_MainWindow):
|
||||
|
||||
ui.items_list.addItem(list_item)
|
||||
|
||||
fill_info.on_item_click(ui, 'close')
|
||||
|
||||
else:
|
||||
ui.logo_if_empty.show()
|
||||
ui.items_list.hide()
|
||||
|
||||
@@ -31,6 +31,9 @@ def refill_types(ui: Ui_MainWindow):
|
||||
if type_ in string_db:
|
||||
ui.filter_type_box.addItem(type_)
|
||||
|
||||
case 'Other':
|
||||
ui.filter_type_box.addItem('Other')
|
||||
|
||||
|
||||
def refill_filters(ui: Ui_MainWindow):
|
||||
ui.filter_class_box.clear()
|
||||
|
||||
@@ -27,7 +27,7 @@ def on_item_click(ui: Ui_MainWindow, mode: str):
|
||||
Ui_MainWindow.animation = QtCore.QPropertyAnimation(ui.item_properties_lay, b"minimumWidth")
|
||||
Ui_MainWindow.animation.setDuration(300)
|
||||
|
||||
if width == 0:
|
||||
if width == 0 and mode != 'close':
|
||||
Ui_MainWindow.animation.setStartValue(0)
|
||||
Ui_MainWindow.animation.setEndValue(480)
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
from gui.gui import Ui_MainWindow
|
||||
from modules.database import Database
|
||||
from gui.modules.core import items_list
|
||||
from gui.modules.filters.menu import refill_filters
|
||||
|
||||
|
||||
def on_rm_click(ui: Ui_MainWindow):
|
||||
@@ -10,4 +11,5 @@ def on_rm_click(ui: Ui_MainWindow):
|
||||
ui.items_list.currentItem().text().removesuffix(' - ' + ui.items_list.currentItem().text().split(' - ')[-1])
|
||||
)
|
||||
items_list.refill_list(ui)
|
||||
refill_filters(ui)
|
||||
fill_info.on_item_click(ui, 'close')
|
||||
|
||||
@@ -3,10 +3,11 @@ from gui.modules.handlers import fill_info
|
||||
from gui.modules.handlers import on_item_remove
|
||||
from gui.modules.adding_item import on_add_click
|
||||
from gui.modules.filters import menu
|
||||
from gui.modules.core import items_list
|
||||
|
||||
|
||||
def register_handlers(ui: Ui_MainWindow):
|
||||
ui.items_list.currentItemChanged.connect(lambda: fill_info.on_item_click(ui, 'open'))
|
||||
ui.items_list.itemClicked.connect(lambda: fill_info.on_item_click(ui, 'open'))
|
||||
ui.items_list.itemDoubleClicked.connect(lambda: fill_info.on_item_click(ui, 'close'))
|
||||
|
||||
ui.delete_item_button.clicked.connect(lambda: on_item_remove.on_rm_click(ui))
|
||||
@@ -16,5 +17,6 @@ def register_handlers(ui: Ui_MainWindow):
|
||||
ui.open_filter_button.clicked.connect(lambda: menu.on_open_close_click(ui))
|
||||
|
||||
ui.filter_class_box.currentIndexChanged.connect(lambda: menu.refill_types(ui))
|
||||
ui.filters_apply_button.clicked.connect(lambda: items_list.refill_list(ui))
|
||||
|
||||
on_add_click.register_add_handlers(ui)
|
||||
|
||||
@@ -5,6 +5,7 @@ from PyQt5.QtWidgets import QMainWindow
|
||||
from modules.config import Config
|
||||
from gui.modules.core import items_list
|
||||
from gui.modules.handlers.register import register_handlers
|
||||
from gui.modules.filters.menu import refill_filters
|
||||
|
||||
|
||||
def on_load(ui: Ui_MainWindow, MainWindow: QMainWindow):
|
||||
@@ -17,6 +18,7 @@ def on_load(ui: Ui_MainWindow, MainWindow: QMainWindow):
|
||||
if 'acrylic' in Config.get().theme:
|
||||
GlobalBlur(MainWindow.winId(), acrylic=True)
|
||||
|
||||
refill_filters(ui)
|
||||
items_list.refill_list(ui)
|
||||
|
||||
register_handlers(ui)
|
||||
|
||||
Reference in New Issue
Block a user