Feat: Suchfilter für TreeNodes und XSL-Dateien im Hauptfenster (v1.3.0)

Neues Suchfeld über dem Baum filtert Knoten und XSL-Dateien per
case-insensitive Textsuche. Übergeordnete Knoten bleiben bei
Kind-Treffern sichtbar und werden automatisch expandiert. Der
gespeicherte Expand-Status wird beim Leeren der Suche wiederhergestellt.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-03 19:54:20 +02:00
parent 0560dbafe4
commit d1def05607
9 changed files with 136 additions and 11 deletions
+11 -4
View File
@@ -17,10 +17,10 @@ from PySide6.QtGui import (QAction, QBrush, QColor, QConicalGradient,
QPainter, QPalette, QPixmap, QRadialGradient,
QTransform)
from PySide6.QtWidgets import (QApplication, QFrame, QHBoxLayout, QHeaderView,
QLabel, QMainWindow, QMenu, QMenuBar,
QPushButton, QScrollArea, QSizePolicy, QSlider,
QSpacerItem, QSplitter, QStatusBar, QTreeWidget,
QTreeWidgetItem, QVBoxLayout, QWidget)
QLabel, QLineEdit, QMainWindow, QMenu,
QMenuBar, QPushButton, QScrollArea, QSizePolicy,
QSlider, QSpacerItem, QSplitter, QStatusBar,
QTreeWidget, QTreeWidgetItem, QVBoxLayout, QWidget)
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
@@ -83,6 +83,12 @@ class Ui_MainWindow(object):
self.verticalLayout.addWidget(self.projectPath)
self.searchEdit = QLineEdit(self.frame)
self.searchEdit.setObjectName(u"searchEdit")
self.searchEdit.setClearButtonEnabled(True)
self.verticalLayout.addWidget(self.searchEdit)
self.treeWidget = QTreeWidget(self.frame)
__qtreewidgetitem = QTreeWidgetItem()
__qtreewidgetitem.setText(2, u"3");
@@ -295,6 +301,7 @@ class Ui_MainWindow(object):
self.actionFN2.setText(QCoreApplication.translate("MainWindow", u"FN2", None))
self.actionAus_Datenbank_laden.setText(QCoreApplication.translate("MainWindow", u"Aus Datenbank laden", None))
self.projectPath.setText(QCoreApplication.translate("MainWindow", u"Kein Projekt geladen", None))
self.searchEdit.setPlaceholderText(QCoreApplication.translate("MainWindow", u"Knoten oder XSL-Datei filtern...", None))
self.label.setText("")
self.label_2.setText("")
self.view_ref_pdf.setText(QCoreApplication.translate("MainWindow", u"Vorher (Referenz)", None))