diff --git a/gui/application-export.png b/gui/application-export.png deleted file mode 100644 index 555887a..0000000 Binary files a/gui/application-export.png and /dev/null differ diff --git a/gui/application-import.png b/gui/application-import.png deleted file mode 100644 index 922cb07..0000000 Binary files a/gui/application-import.png and /dev/null differ diff --git a/gui/arrow-circle-double.png b/gui/arrow-circle-double.png deleted file mode 100644 index ba5ebd1..0000000 Binary files a/gui/arrow-circle-double.png and /dev/null differ diff --git a/gui/cross.png b/gui/cross.png deleted file mode 100644 index 6b9fa6d..0000000 Binary files a/gui/cross.png and /dev/null differ diff --git a/gui/kontor.py b/gui/kontor.py index 620a35b..fcdeb82 100644 --- a/gui/kontor.py +++ b/gui/kontor.py @@ -6,8 +6,7 @@ from pathlib import Path import yaml from PySide6.QtGui import QAction, QIcon -from PySide6.QtSql import QSqlDatabase -from PySide6.QtWidgets import QWidget, QVBoxLayout, QMenu, QMessageBox, QTabWidget, QTableView +from PySide6.QtWidgets import QWidget, QVBoxLayout, QMenu, QMessageBox, QTabWidget, QTableView, QHBoxLayout, QCheckBox from PySide6.QtWidgets import QApplication, QLabel, QMainWindow from platformdirs import PlatformDirs diff --git a/gui/media_file_model.py b/gui/media_file_model.py index f06d94f..e34ad26 100644 --- a/gui/media_file_model.py +++ b/gui/media_file_model.py @@ -11,7 +11,6 @@ class MediaFileTableModel(QAbstractTableModel): super().__init__() self.main_window = main_window self._data = [] - self.status_bar = main_window.statusBar self.mariadb_conn = mariadb.connect( host=db_config['mariadb']['host'], port=db_config['mariadb']['port'], @@ -24,12 +23,37 @@ class MediaFileTableModel(QAbstractTableModel): def refresh(self): data = [] cursor = self.mariadb_conn.cursor() - cursor.execute("SELECT id, url, review, should_download, file_name, cloud_link FROM media_file") + filter_rule = "" + print(self.main_window.filter["download"].isChecked()) + if self.main_window.filter["download"].isChecked(): + print(self.main_window.filter["download"].isChecked()) + filter_rule = "WHERE should_download is true" + if self.main_window.filter["review"].isChecked(): + if len(filter_rule) > 0: + filter_rule += " AND " + else: + filter_rule += "WHERE " + filter_rule += "review is true" + print(f"{filter_rule=}") + try: + cursor.execute(f"SELECT id, url, review, should_download, file_name, cloud_link FROM media_file {filter_rule}") + except mariadb.Error as error: + print(error) rows = cursor.fetchall() - for row in rows: - data.append(list(row)) - self.status_bar.showMessage(f"{len(rows)} Einträge geladen", 3000) - self._data = data + print(len(rows)) + if len(rows) > 0: + self.beginResetModel() + for row in rows: + data.append(list(row)) + self._data = data + self.endResetModel() + else: + self._data = None + try: + self.layoutChanged.emit() + except: + + self.main_window.statusBar.showMessage(f"{len(rows)} Einträge geladen", 3000) def rowCount(self, parent=QModelIndex()): # The length of the outer list. diff --git a/gui/tick.png b/gui/tick.png deleted file mode 100644 index 2414885..0000000 Binary files a/gui/tick.png and /dev/null differ