Artemis 4 RC1

This commit is contained in:
Marco Dalla Tiezza
2024-05-28 22:40:45 +02:00
parent acc44c93b3
commit 528c816508
254 changed files with 14757 additions and 30137 deletions

View File

@@ -0,0 +1,67 @@
from PySide6.QtQml import QQmlApplicationEngine
from PySide6.QtCore import QObject, Signal, Slot
from artemis.utils.path_utils import *
from artemis.utils.generic_utils import *
class UIcategoryeditor(QObject):
# Python > QML Signals
show_ui = Signal()
load = Signal(list)
def __init__(self, parent):
super().__init__()
self._parent = parent
self._engine = QQmlApplicationEngine()
self._engine.load('qrc:/ui/CategoryEditor.qml')
self._window = self._engine.rootObjects()[0]
self._connect()
def _connect(self):
# QML > Python connections
self._window.saveParam.connect(self.save)
self._window.deleteParam.connect(self.delete)
# Python > QML connections
self.show_ui.connect(self._window.show)
self.load.connect(self._window.loadList)
def load_cateditor_ui(self):
""" Load the list with existing category tags and show the UI
"""
all_cat = self._parent.loaded_db.all_category_labels
self.load.emit(all_cat)
self.show_ui.emit()
@Slot(list, bool)
def save(self, data, is_new):
""" Save new category tag or update the existing ones.
"""
data = data.toVariant()
if is_new:
self._parent.loaded_db.insert_category_label(data[0])
else:
self._parent.loaded_db.update_category_label(data[1], data[0])
self._parent.load_db(self._parent.loaded_db.db_dir_name)
self.load_cateditor_ui()
@Slot(int)
def delete(self, clb_id):
""" Delete a database category tag.
All the entries in the documents table are automatically beign deleted due to
foreign-key cascade propagation
"""
self._parent.loaded_db.delete_category_label(clb_id)
self._parent.load_db(self._parent.loaded_db.db_dir_name)
self.load_cateditor_ui()