Feat: Doppelklick auf Netzwerkgraph-Knoten kopiert Dateiname ins Suchfeld (v1.2.3)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-22 18:46:45 +01:00
parent cdca38eb98
commit 84d0866f72
6 changed files with 23 additions and 5 deletions
+18
View File
@@ -638,6 +638,7 @@ class XslDependencyDialog(QDialog):
self._temp_html_file.write(html)
self._temp_html_file.close()
self._web_view.loadFinished.connect(self._on_graph_load_finished)
self._web_view.page().titleChanged.connect(self._on_graph_title_changed)
self._web_view.setUrl(QUrl.fromLocalFile(self._temp_html_file.name))
def _on_graph_load_finished(self, ok: bool):
@@ -648,6 +649,13 @@ class XslDependencyDialog(QDialog):
else:
logger.error("Netzwerkgraph konnte nicht geladen werden")
def _on_graph_title_changed(self, title: str):
"""Reagiert auf Doppelklick im Netzwerkgraph: Kopiert Knotenname ins Suchfeld."""
prefix = "nodeSearch:"
if title.startswith(prefix):
node_label = title[len(prefix):]
self.ui.searchEdit.setText(node_label)
def _build_graph_data(self) -> tuple[str, str]:
"""
Konvertiert den Abhängigkeitsgraph in vis.js-kompatible JSON-Strukturen.
@@ -866,6 +874,16 @@ class XslDependencyDialog(QDialog):
edges.update(edgeUpdates);
}});
network.on("doubleClick", function(params) {{
if (params.nodes.length > 0) {{
var nodeId = params.nodes[0];
var node = nodes.get(nodeId);
if (node) {{
document.title = "nodeSearch:" + node.label;
}}
}}
}});
network.on("deselectNode", function() {{
// Alle Knoten zurücksetzen
var updates = [];