editing item
This commit is contained in:
90
gui/gui.py
90
gui/gui.py
@@ -590,10 +590,92 @@ class Ui_MainWindow(object):
|
||||
self.horizontalLayout_8.addWidget(self.options_lay)
|
||||
self.verticalLayout_15.addWidget(self.settings_layout)
|
||||
self.content.addWidget(self.settings_page)
|
||||
self.edit_item_page = QtWidgets.QWidget()
|
||||
self.edit_item_page.setObjectName("edit_item_page")
|
||||
self.verticalLayout_19 = QtWidgets.QVBoxLayout(self.edit_item_page)
|
||||
self.verticalLayout_19.setContentsMargins(0, 0, 0, 0)
|
||||
self.verticalLayout_19.setObjectName("verticalLayout_19")
|
||||
self.topmenu_content = QtWidgets.QWidget(self.edit_item_page)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.topmenu_content.sizePolicy().hasHeightForWidth())
|
||||
self.topmenu_content.setSizePolicy(sizePolicy)
|
||||
self.topmenu_content.setObjectName("topmenu_content")
|
||||
self.horizontalLayout_11 = QtWidgets.QHBoxLayout(self.topmenu_content)
|
||||
self.horizontalLayout_11.setContentsMargins(0, 0, 0, 0)
|
||||
self.horizontalLayout_11.setObjectName("horizontalLayout_11")
|
||||
self.cancel_edit_button = QtWidgets.QPushButton(self.topmenu_content)
|
||||
self.cancel_edit_button.setMinimumSize(QtCore.QSize(48, 48))
|
||||
self.cancel_edit_button.setMaximumSize(QtCore.QSize(48, 48))
|
||||
self.cancel_edit_button.setText("")
|
||||
self.cancel_edit_button.setIcon(icon6)
|
||||
self.cancel_edit_button.setIconSize(QtCore.QSize(32, 32))
|
||||
self.cancel_edit_button.setObjectName("cancel_edit_button")
|
||||
self.horizontalLayout_11.addWidget(self.cancel_edit_button)
|
||||
spacerItem22 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout_11.addItem(spacerItem22)
|
||||
self.verticalLayout_19.addWidget(self.topmenu_content)
|
||||
self.edit_old_item_name = QtWidgets.QLabel(self.edit_item_page)
|
||||
self.edit_old_item_name.setText("")
|
||||
self.edit_old_item_name.setObjectName("edit_old_item_name")
|
||||
self.verticalLayout_19.addWidget(self.edit_old_item_name)
|
||||
self.edit_box_item_name_label = QtWidgets.QLabel(self.edit_item_page)
|
||||
self.edit_box_item_name_label.setObjectName("edit_box_item_name_label")
|
||||
self.verticalLayout_19.addWidget(self.edit_box_item_name_label)
|
||||
self.edit_box_item_name = QtWidgets.QLineEdit(self.edit_item_page)
|
||||
self.edit_box_item_name.setMinimumSize(QtCore.QSize(0, 30))
|
||||
self.edit_box_item_name.setObjectName("edit_box_item_name")
|
||||
self.verticalLayout_19.addWidget(self.edit_box_item_name)
|
||||
self.edit_box_price_label = QtWidgets.QLabel(self.edit_item_page)
|
||||
self.edit_box_price_label.setObjectName("edit_box_price_label")
|
||||
self.verticalLayout_19.addWidget(self.edit_box_price_label)
|
||||
self.edit_box_price = QtWidgets.QSpinBox(self.edit_item_page)
|
||||
self.edit_box_price.setMinimumSize(QtCore.QSize(0, 30))
|
||||
self.edit_box_price.setStyleSheet("")
|
||||
self.edit_box_price.setMaximum(10000000)
|
||||
self.edit_box_price.setObjectName("edit_box_price")
|
||||
self.verticalLayout_19.addWidget(self.edit_box_price)
|
||||
self.edit_box_item_class_label = QtWidgets.QLabel(self.edit_item_page)
|
||||
self.edit_box_item_class_label.setObjectName("edit_box_item_class_label")
|
||||
self.verticalLayout_19.addWidget(self.edit_box_item_class_label)
|
||||
self.edit_box_item_class = QtWidgets.QComboBox(self.edit_item_page)
|
||||
self.edit_box_item_class.setMinimumSize(QtCore.QSize(0, 30))
|
||||
self.edit_box_item_class.setObjectName("edit_box_item_class")
|
||||
self.verticalLayout_19.addWidget(self.edit_box_item_class)
|
||||
self.edit_box_item_type_label = QtWidgets.QLabel(self.edit_item_page)
|
||||
self.edit_box_item_type_label.setObjectName("edit_box_item_type_label")
|
||||
self.verticalLayout_19.addWidget(self.edit_box_item_type_label)
|
||||
self.edit_box_item_type = QtWidgets.QComboBox(self.edit_item_page)
|
||||
self.edit_box_item_type.setMinimumSize(QtCore.QSize(0, 30))
|
||||
self.edit_box_item_type.setObjectName("edit_box_item_type")
|
||||
self.verticalLayout_19.addWidget(self.edit_box_item_type)
|
||||
self.edit_box_shop_label = QtWidgets.QLabel(self.edit_item_page)
|
||||
self.edit_box_shop_label.setObjectName("edit_box_shop_label")
|
||||
self.verticalLayout_19.addWidget(self.edit_box_shop_label)
|
||||
self.edit_box_shop = QtWidgets.QComboBox(self.edit_item_page)
|
||||
self.edit_box_shop.setMinimumSize(QtCore.QSize(0, 30))
|
||||
self.edit_box_shop.setObjectName("edit_box_shop")
|
||||
self.verticalLayout_19.addWidget(self.edit_box_shop)
|
||||
self.edit_box_image_label = QtWidgets.QLabel(self.edit_item_page)
|
||||
self.edit_box_image_label.setObjectName("edit_box_image_label")
|
||||
self.verticalLayout_19.addWidget(self.edit_box_image_label)
|
||||
self.edit_box_image = QtWidgets.QLineEdit(self.edit_item_page)
|
||||
self.edit_box_image.setMinimumSize(QtCore.QSize(0, 30))
|
||||
self.edit_box_image.setObjectName("edit_box_image")
|
||||
self.verticalLayout_19.addWidget(self.edit_box_image)
|
||||
spacerItem23 = QtWidgets.QSpacerItem(20, 1, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.verticalLayout_19.addItem(spacerItem23)
|
||||
self.edit_save_button = QtWidgets.QPushButton(self.edit_item_page)
|
||||
self.edit_save_button.setMinimumSize(QtCore.QSize(0, 30))
|
||||
self.edit_save_button.setObjectName("edit_save_button")
|
||||
self.verticalLayout_19.addWidget(self.edit_save_button)
|
||||
self.content.addWidget(self.edit_item_page)
|
||||
self.verticalLayout_4.addWidget(self.content)
|
||||
MainWindow.setCentralWidget(self.centralwidget)
|
||||
|
||||
self.retranslateUi(MainWindow)
|
||||
self.content.setCurrentIndex(4)
|
||||
self.settings_toolbox.setCurrentIndex(0)
|
||||
QtCore.QMetaObject.connectSlotsByName(MainWindow)
|
||||
|
||||
@@ -650,6 +732,14 @@ class Ui_MainWindow(object):
|
||||
self.app_theme_box.setItemText(2, _translate("MainWindow", "Black acrylic"))
|
||||
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"))
|
||||
self.edit_box_price_label.setText(_translate("MainWindow", "Price"))
|
||||
self.edit_box_price.setPrefix(_translate("MainWindow", "$"))
|
||||
self.edit_box_item_class_label.setText(_translate("MainWindow", "Item class"))
|
||||
self.edit_box_item_type_label.setText(_translate("MainWindow", "Item type"))
|
||||
self.edit_box_shop_label.setText(_translate("MainWindow", "Shop website"))
|
||||
self.edit_box_image_label.setText(_translate("MainWindow", "Image URL"))
|
||||
self.edit_save_button.setText(_translate("MainWindow", "Save"))
|
||||
import gui.images_rc
|
||||
|
||||
|
||||
|
||||
237
gui/gui.ui
237
gui/gui.ui
@@ -295,6 +295,9 @@ QToolBox::tab {
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QStackedWidget" name="content">
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="main_page">
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<property name="leftMargin">
|
||||
@@ -1695,8 +1698,8 @@ p, li { white-space: pre-wrap; }
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>782</width>
|
||||
<height>349</height>
|
||||
<width>296</width>
|
||||
<height>144</height>
|
||||
</rect>
|
||||
</property>
|
||||
<attribute name="label">
|
||||
@@ -1862,8 +1865,8 @@ p, li { white-space: pre-wrap; }
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>782</width>
|
||||
<height>349</height>
|
||||
<width>166</width>
|
||||
<height>95</height>
|
||||
</rect>
|
||||
</property>
|
||||
<attribute name="label">
|
||||
@@ -1982,6 +1985,232 @@ p, li { white-space: pre-wrap; }
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="edit_item_page">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_19">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QWidget" name="topmenu_content" native="true">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_11">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QPushButton" name="cancel_edit_button">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>48</width>
|
||||
<height>48</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>48</width>
|
||||
<height>48</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="images.qrc">
|
||||
<normaloff>:/img/img/cancel.png</normaloff>:/img/img/cancel.png</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>32</width>
|
||||
<height>32</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_4">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="edit_old_item_name">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="edit_box_item_name_label">
|
||||
<property name="text">
|
||||
<string>Item name</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="edit_box_item_name">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="edit_box_price_label">
|
||||
<property name="text">
|
||||
<string>Price</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSpinBox" name="edit_box_price">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="prefix">
|
||||
<string>$</string>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>10000000</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="edit_box_item_class_label">
|
||||
<property name="text">
|
||||
<string>Item class</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="edit_box_item_class">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="edit_box_item_type_label">
|
||||
<property name="text">
|
||||
<string>Item type</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="edit_box_item_type">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="edit_box_shop_label">
|
||||
<property name="text">
|
||||
<string>Shop website</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="edit_box_shop">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="edit_box_image_label">
|
||||
<property name="text">
|
||||
<string>Image URL</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="edit_box_image">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_19">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>1</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="edit_save_button">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Save</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
|
||||
1
gui/modules/edit/__init__.py
Normal file
1
gui/modules/edit/__init__.py
Normal file
@@ -0,0 +1 @@
|
||||
from .on_edit import *
|
||||
64
gui/modules/edit/on_edit.py
Normal file
64
gui/modules/edit/on_edit.py
Normal file
@@ -0,0 +1,64 @@
|
||||
from gui.gui import Ui_MainWindow
|
||||
from data import common
|
||||
from gui.modules.core import items_list
|
||||
from modules.database import Database
|
||||
from modules.database.model import Item
|
||||
|
||||
|
||||
def fill_type_box(ui: Ui_MainWindow):
|
||||
if ui.edit_box_item_class.currentText() == "Vehicle":
|
||||
ui.edit_box_item_type.clear()
|
||||
ui.edit_box_item_type.addItems(common.vehicle_type)
|
||||
elif ui.edit_box_item_class.currentText() == "Property":
|
||||
ui.edit_box_item_type.clear()
|
||||
ui.edit_box_item_type.addItems(common.property_type)
|
||||
else:
|
||||
ui.edit_box_item_type.clear()
|
||||
ui.edit_box_item_type.addItem("Other")
|
||||
|
||||
|
||||
def on_edit_item_click(ui: Ui_MainWindow):
|
||||
item_to_edit_name = items_list.selected_item(ui)
|
||||
|
||||
if not item_to_edit_name:
|
||||
return
|
||||
|
||||
item_to_edit = Database.get().items[item_to_edit_name]
|
||||
|
||||
ui.edit_old_item_name.setText(item_to_edit_name)
|
||||
|
||||
ui.edit_box_item_name.setText(item_to_edit.item_name)
|
||||
ui.edit_box_price.setValue(item_to_edit.price)
|
||||
ui.edit_box_item_class.addItems(common.items_class)
|
||||
ui.edit_box_item_class.setCurrentText(item_to_edit.item_class)
|
||||
ui.edit_box_item_type.addItem("Other")
|
||||
ui.edit_box_item_type.addItem(item_to_edit.item_type)
|
||||
ui.edit_box_item_type.setCurrentText(item_to_edit.item_type)
|
||||
ui.edit_box_shop.addItems(common.shop_sites)
|
||||
ui.edit_box_shop.setCurrentText(item_to_edit.shop)
|
||||
ui.edit_box_image.setText(item_to_edit.image)
|
||||
|
||||
ui.content.setCurrentWidget(ui.edit_item_page)
|
||||
|
||||
|
||||
def on_save_edit(ui: Ui_MainWindow):
|
||||
if {"", 0} & {ui.edit_box_item_name.text(), ui.edit_box_price.value()}:
|
||||
return
|
||||
|
||||
db = Database.get()
|
||||
db.items[ui.edit_box_item_name.text()] = Item(
|
||||
ui.edit_box_item_name.text(),
|
||||
ui.edit_box_item_class.currentText(),
|
||||
ui.edit_box_item_type.currentText(),
|
||||
ui.edit_box_shop.currentText(),
|
||||
ui.edit_box_price.value(),
|
||||
ui.edit_box_image.text() if ui.edit_box_image.text() != "" else None
|
||||
)
|
||||
|
||||
if ui.edit_box_item_name.text() != ui.edit_old_item_name.text():
|
||||
db.items.pop(ui.edit_old_item_name.text())
|
||||
|
||||
Database.write(db)
|
||||
|
||||
ui.content.setCurrentWidget(ui.main_page)
|
||||
items_list.refill_list(ui)
|
||||
@@ -6,6 +6,7 @@ from gui.modules.filters import menu
|
||||
from gui.modules.core import items_list
|
||||
from gui.modules import account
|
||||
from gui.modules import settings
|
||||
from gui.modules import edit
|
||||
|
||||
|
||||
def register_handlers(ui: Ui_MainWindow):
|
||||
@@ -33,5 +34,11 @@ def register_handlers(ui: Ui_MainWindow):
|
||||
|
||||
ui.own_button.clicked.connect(lambda: account.owning.on_change_owning_clicked(ui))
|
||||
|
||||
ui.edit_item_button.clicked.connect(lambda: edit.on_edit.on_edit_item_click(ui))
|
||||
ui.cancel_edit_button.clicked.connect(lambda: (ui.content.setCurrentWidget(ui.main_page),
|
||||
items_list.refill_list(ui)))
|
||||
ui.edit_box_item_class.currentTextChanged.connect(lambda: edit.on_edit.fill_type_box(ui))
|
||||
ui.edit_save_button.clicked.connect(lambda: edit.on_edit.on_save_edit(ui))
|
||||
|
||||
on_add_click.register_add_handlers(ui)
|
||||
settings.register_handlers(ui)
|
||||
|
||||
Reference in New Issue
Block a user