Implement category creation and deletion
This commit is contained in:
parent
d8f571bf31
commit
7c72e59a99
@ -8,7 +8,7 @@ from PyQt6.QtCore import Qt, QSortFilterProxyModel
|
|||||||
from PyQt6.QtGui import QPixmap, QAction
|
from PyQt6.QtGui import QPixmap, QAction
|
||||||
from PyQt6.QtWidgets import QMainWindow, QPushButton, QHBoxLayout, QLabel, \
|
from PyQt6.QtWidgets import QMainWindow, QPushButton, QHBoxLayout, QLabel, \
|
||||||
QVBoxLayout, QMenu, QApplication, QTableView, QListView, QInputDialog, \
|
QVBoxLayout, QMenu, QApplication, QTableView, QListView, QInputDialog, \
|
||||||
QMessageBox, QFileDialog
|
QMessageBox, QFileDialog, QListWidget
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -91,7 +91,7 @@ class MainWindow(QMainWindow):
|
|||||||
self._apply_button \
|
self._apply_button \
|
||||||
= self.findChild(QPushButton, "applyCategoryButton")
|
= self.findChild(QPushButton, "applyCategoryButton")
|
||||||
self._list_widget \
|
self._list_widget \
|
||||||
= self.findChild(QListView, "categoryListWidget")
|
= self.findChild(QListWidget, "categoryListWidget")
|
||||||
self._table_view \
|
self._table_view \
|
||||||
= self.findChild(QTableView, "transactionTableView")
|
= self.findChild(QTableView, "transactionTableView")
|
||||||
self._action_save \
|
self._action_save \
|
||||||
@ -257,16 +257,40 @@ class MainWindow(QMainWindow):
|
|||||||
self.set_statement_data(df)
|
self.set_statement_data(df)
|
||||||
|
|
||||||
def _handle_create_click(self):
|
def _handle_create_click(self):
|
||||||
self.add_categories(['asdf'])
|
new_name, flag = QInputDialog.getText(self, "Create category",
|
||||||
|
"New category:",
|
||||||
|
text="Category")
|
||||||
|
if not flag:
|
||||||
|
return
|
||||||
|
|
||||||
|
current_items = [self._list_widget.item(x).text() for x
|
||||||
|
in range(self._list_widget.count())]
|
||||||
|
|
||||||
|
if new_name not in current_items:
|
||||||
|
self.add_categories([new_name])
|
||||||
|
else:
|
||||||
|
QMessageBox.warning(self, "No action performed",
|
||||||
|
f"Category '{new_name}' already exists.")
|
||||||
|
|
||||||
def _handle_delete_click(self):
|
def _handle_delete_click(self):
|
||||||
print(self._list_widget.selectedItems()[0].text())
|
selected_item = self._list_widget.selectedItems()[0]
|
||||||
|
|
||||||
|
button = QMessageBox.question(self, "Delete category",
|
||||||
|
f"Are you sure you want to delete"
|
||||||
|
f" category '{selected_item.text()}'?")
|
||||||
|
|
||||||
|
if button == QMessageBox.StandardButton.Yes:
|
||||||
|
self._list_widget.takeItem(self._list_widget.row(selected_item))
|
||||||
|
|
||||||
|
def _assign_category(self, category: str):
|
||||||
|
print(category)
|
||||||
|
|
||||||
def _handle_apply_click(self):
|
def _handle_apply_click(self):
|
||||||
print(self._list_widget.selectedItems()[0].text())
|
category = self._list_widget.selectedItems()[0].text()
|
||||||
|
self._assign_category(category)
|
||||||
|
|
||||||
def _handle_item_double_click(self, item):
|
def _handle_item_double_click(self, item):
|
||||||
print(item.text())
|
self._assign_category(item.text())
|
||||||
|
|
||||||
def _handle_save(self):
|
def _handle_save(self):
|
||||||
filename, _ = QFileDialog.getSaveFileName(self, 'Save File')
|
filename, _ = QFileDialog.getSaveFileName(self, 'Save File')
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user