removing items and developing adding items

This commit is contained in:
BarsTiger
2022-08-03 22:44:30 +03:00
parent 0820452e97
commit 7c27c8520e
15 changed files with 955 additions and 178 deletions

View File

View File

View File

@@ -0,0 +1,23 @@
import requests
from gui.gui import Ui_MainWindow
from modules.database import Database
from PyQt5 import QtWidgets, QtGui
def refill_list(ui: Ui_MainWindow):
ui.items_list.clear()
if Database.get().items:
ui.logo_if_empty.hide()
ui.items_list.show()
for item in Database.get().items:
item = Database.get().items[item]
list_item = QtWidgets.QListWidgetItem()
list_item.setText(f'{item.item_name} - ${"{:,}".format(item.price)}')
pixmap = QtGui.QPixmap()
pixmap.loadFromData(requests.get(item.image).content)
list_item.setIcon(QtGui.QIcon(pixmap))
ui.items_list.addItem(list_item)
else:
ui.logo_if_empty.show()
ui.items_list.hide()

View File

@@ -5,18 +5,19 @@ from modules.database import Database
def on_item_click(ui: Ui_MainWindow, mode: str):
item = Database.get().items[
ui.items_list.currentItem().text().removesuffix(' - ' + ui.items_list.currentItem().text().split(' - ')[-1])
]
if ui.items_list.currentItem():
item = Database.get().items[
ui.items_list.currentItem().text().removesuffix(' - ' + ui.items_list.currentItem().text().split(' - ')[-1])
]
pixmap = QtGui.QPixmap()
pixmap.loadFromData(requests.get(item.image).content)
ui.properties_image.setPixmap(pixmap)
pixmap = QtGui.QPixmap()
pixmap.loadFromData(requests.get(item.image).content)
ui.properties_image.setPixmap(pixmap)
ui.properties_name.setText(item.item_name)
ui.properties_price.setText(f'${"{:,}".format(item.price)}')
ui.properties_class_type.setText(f'{item.item_class} - {item.item_type}')
ui.properties_shop.setText(item.shop)
ui.properties_name.setText(item.item_name)
ui.properties_price.setText(f'${"{:,}".format(item.price)}')
ui.properties_class_type.setText(f'{item.item_class} - {item.item_type}')
ui.properties_shop.setText(item.shop)
width = ui.item_properties_lay.geometry().width()
Ui_MainWindow.animation = QtCore.QPropertyAnimation(ui.item_properties_lay, b"minimumWidth")

View File

@@ -0,0 +1,13 @@
from gui.gui import Ui_MainWindow
from modules.database import Database
from gui.modules.core import items_list
def on_rm_click(ui: Ui_MainWindow):
from gui.modules.handlers import fill_info
if ui.items_list.currentItem():
Database.remove_item(
ui.items_list.currentItem().text().removesuffix(' - ' + ui.items_list.currentItem().text().split(' - ')[-1])
)
items_list.refill_list(ui)
fill_info.on_item_click(ui, 'close')

View File

@@ -1,7 +1,10 @@
from gui.gui import Ui_MainWindow
from gui.modules.handlers import fill_info
from gui.modules.handlers import on_item_remove
def register_handlers(ui: Ui_MainWindow):
ui.items_list.currentItemChanged.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))

View File

@@ -1,15 +1,15 @@
import requests
from gui.gui import Ui_MainWindow
from gui.modules.core.blur import GlobalBlur
from gui.modules.initialize import styles
from PyQt5 import QtWidgets, QtGui
from PyQt5.QtWidgets import QMainWindow
from modules.config import Config
from gui.modules.core import items_list
from modules.database import Database
def on_load(ui: Ui_MainWindow, MainWindow: QMainWindow):
ui.logo_if_empty.hide()
ui.logo_if_empty.setMaximumSize(16777215, 16777215)
ui.content.setCurrentIndex(0)
@@ -17,16 +17,4 @@ def on_load(ui: Ui_MainWindow, MainWindow: QMainWindow):
if 'acrylic' in Config.get().theme:
GlobalBlur(MainWindow.winId(), acrylic=True)
if Database.get().items:
for item in Database.get().items:
item = Database.get().items[item]
list_item = QtWidgets.QListWidgetItem()
list_item.setText(f'{item.item_name} - ${"{:,}".format(item.price)}')
pixmap = QtGui.QPixmap()
pixmap.loadFromData(requests.get(item.image).content)
list_item.setIcon(QtGui.QIcon(pixmap))
ui.items_list.addItem(list_item)
else:
ui.logo_if_empty.show()
ui.items_list.hide()
items_list.refill_list(ui)