filters menu works, filters system in development

This commit is contained in:
BarsTiger
2022-08-06 11:57:57 +03:00
parent 5d4601fd50
commit 79a46039a5
4 changed files with 88 additions and 0 deletions

View File

@@ -2,6 +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
def refill_list(ui: Ui_MainWindow):
@@ -9,6 +10,7 @@ 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]
list_item = QtWidgets.QListWidgetItem()

View File

View File

@@ -0,0 +1,81 @@
from PyQt5 import QtGui, QtCore
from gui.gui import Ui_MainWindow
from modules.database import Database
from data import common
def refill_types(ui: Ui_MainWindow):
ui.filter_type_box.clear()
ui.filter_type_box.addItem('All')
ui.filter_type_box.setCurrentIndex(0)
string_db = str(Database.get().to_json())
match ui.filter_class_box.currentText():
case 'All':
for type_ in common.vehicle_type:
if type_ in string_db:
ui.filter_type_box.addItem(type_)
for type_ in common.property_type:
if type_ in string_db:
ui.filter_type_box.addItem(type_)
case 'Vehicle':
for type_ in common.vehicle_type:
if type_ in string_db:
ui.filter_type_box.addItem(type_)
case 'Property':
for type_ in common.property_type:
if type_ in string_db:
ui.filter_type_box.addItem(type_)
def refill_filters(ui: Ui_MainWindow):
ui.filter_class_box.clear()
ui.filter_class_box.addItem('All')
ui.filter_class_box.setCurrentIndex(0)
ui.filter_type_box.clear()
ui.filter_type_box.addItem('All')
ui.filter_type_box.setCurrentIndex(0)
ui.filter_shop_box.clear()
ui.filter_shop_box.addItem('All')
ui.filter_shop_box.setCurrentIndex(0)
string_db = str(Database.get().to_json())
for class_ in common.items_class:
if class_ in string_db:
ui.filter_class_box.addItem(class_)
for type_ in common.vehicle_type:
if type_ in string_db:
ui.filter_type_box.addItem(type_)
for type_ in common.property_type:
if type_ in string_db:
ui.filter_type_box.addItem(type_)
for shop in common.shop_sites:
if shop in string_db:
ui.filter_shop_box.addItem(shop)
def on_open_close_click(ui: Ui_MainWindow):
width = ui.filter_lay.geometry().width()
Ui_MainWindow.animation = QtCore.QPropertyAnimation(ui.filter_lay, b"minimumWidth")
Ui_MainWindow.animation.setDuration(300)
if width == 0:
Ui_MainWindow.animation.setStartValue(0)
Ui_MainWindow.animation.setEndValue(250)
Ui_MainWindow.animation.setEasingCurve(QtCore.QEasingCurve.InOutQuart)
Ui_MainWindow.animation.start()
else:
Ui_MainWindow.animation.setStartValue(width)
Ui_MainWindow.animation.setEndValue(0)
Ui_MainWindow.animation.setEasingCurve(QtCore.QEasingCurve.InOutQuart)
Ui_MainWindow.animation.start()

View File

@@ -2,6 +2,7 @@ from gui.gui import Ui_MainWindow
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
def register_handlers(ui: Ui_MainWindow):
@@ -12,4 +13,8 @@ def register_handlers(ui: Ui_MainWindow):
ui.add_item_button.clicked.connect(lambda: on_add_click.on_add_button_click(ui))
ui.open_filter_button.clicked.connect(lambda: menu.on_open_close_click(ui))
ui.filter_class_box.currentIndexChanged.connect(lambda: menu.refill_types(ui))
on_add_click.register_add_handlers(ui)