add tab witg table and details

This commit is contained in:
Thomas Peetz
2025-02-11 10:39:07 +01:00
parent d8eecb4dab
commit 0d1b2e416e
+23 -1
View File
@@ -1,5 +1,5 @@
from PySide6.QtCore import Signal, QSortFilterProxyModel from PySide6.QtCore import Signal, QSortFilterProxyModel
from PySide6.QtWidgets import QMdiSubWindow, QWidget, QVBoxLayout, QTabWidget, QTableView, QHeaderView from PySide6.QtWidgets import QMdiSubWindow, QWidget, QVBoxLayout, QTabWidget, QTableView, QHeaderView, QLabel
from gui.model_config import KontorModelConfig from gui.model_config import KontorModelConfig
from gui.table_model import KontorTableModel from gui.table_model import KontorTableModel
@@ -25,6 +25,7 @@ class MediaWindow(QMdiSubWindow):
self.tabs.addTab(self.generate_data_tab("media_file"), "Media File") self.tabs.addTab(self.generate_data_tab("media_file"), "Media File")
self.tabs.addTab(self.generate_data_tab("media_video"), "Media Video") self.tabs.addTab(self.generate_data_tab("media_video"), "Media Video")
self.tabs.addTab(self.generate_data_tab("media_article"), "Media Article") self.tabs.addTab(self.generate_data_tab("media_article"), "Media Article")
self.tabs.addTab(self.generate_data_tab_with_details("media_actor"), "Media Actor")
self.tabs.currentChanged.connect(self._tab_changed) self.tabs.currentChanged.connect(self._tab_changed)
layout.addWidget(self.tabs) layout.addWidget(self.tabs)
self.setLayout(layout) self.setLayout(layout)
@@ -63,3 +64,24 @@ class MediaWindow(QMdiSubWindow):
model.refresh() model.refresh()
table_view.resizeColumnToContents(0) table_view.resizeColumnToContents(0)
return data_tab return data_tab
def generate_data_tab_with_details(self, table_name):
data_tab = QWidget()
table_config = KontorModelConfig(self._main_window.kontor_db, self, table_name)
model = KontorTableModel(table_config)
layout = QVBoxLayout()
self.data_views.append(model)
data_tab.setLayout(layout)
table_view = QTableView()
proxy_model = QSortFilterProxyModel()
proxy_model.setSourceModel(model)
table_view.setSortingEnabled(True)
table_view.setModel(proxy_model)
layout.addLayout(table_config.get_filter_layout())
layout.addWidget(table_view)
layout.addWidget(QLabel("test test"))
model.refresh()
table_view.resizeColumnToContents(0)
return data_tab