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.QtWidgets import QMainWindow, QPushButton, QHBoxLayout, QLabel, \
|
||||
QVBoxLayout, QMenu, QApplication, QTableView, QListView, QInputDialog, \
|
||||
QMessageBox, QFileDialog
|
||||
QMessageBox, QFileDialog, QListWidget
|
||||
|
||||
|
||||
#
|
||||
@ -91,7 +91,7 @@ class MainWindow(QMainWindow):
|
||||
self._apply_button \
|
||||
= self.findChild(QPushButton, "applyCategoryButton")
|
||||
self._list_widget \
|
||||
= self.findChild(QListView, "categoryListWidget")
|
||||
= self.findChild(QListWidget, "categoryListWidget")
|
||||
self._table_view \
|
||||
= self.findChild(QTableView, "transactionTableView")
|
||||
self._action_save \
|
||||
@ -257,16 +257,40 @@ class MainWindow(QMainWindow):
|
||||
self.set_statement_data(df)
|
||||
|
||||
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):
|
||||
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):
|
||||
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):
|
||||
print(item.text())
|
||||
self._assign_category(item.text())
|
||||
|
||||
def _handle_save(self):
|
||||
filename, _ = QFileDialog.getSaveFileName(self, 'Save File')
|
||||
|
||||
Loading…
Reference in New Issue
Block a user