diff --git a/sources/genericpanel.h b/sources/genericpanel.h index 2b5498bca..52e8ea98f 100644 --- a/sources/genericpanel.h +++ b/sources/genericpanel.h @@ -95,8 +95,8 @@ class GenericPanel : public QTreeWidget { virtual QTreeWidgetItem *addDiagram(Diagram *, QTreeWidgetItem * = nullptr, PanelOptions = AddAllChild); - protected: virtual QTreeWidgetItem *getItemForDiagram(Diagram *, bool * = nullptr); + protected: virtual QTreeWidgetItem *updateDiagramItem(QTreeWidgetItem *, Diagram *, PanelOptions = AddAllChild, diff --git a/sources/qetdiagrameditor.cpp b/sources/qetdiagrameditor.cpp index 590650a64..f9cfbd7d0 100644 --- a/sources/qetdiagrameditor.cpp +++ b/sources/qetdiagrameditor.cpp @@ -1168,6 +1168,18 @@ bool QETDiagramEditor::addProject(QETProject *project, bool update_panel) // cree un ProjectView pour visualiser le projet ProjectView *project_view = new ProjectView(project); + //Highlight the current page + connect(project_view, &ProjectView::diagramActivated, this, [this](DiagramView *dv) { + if (dv && dv->diagram() && pa) { + // 1. Find the item in the tree that corresponds to this diagram + QTreeWidgetItem *item = pa->elementsPanel().getItemForDiagram(dv->diagram()); + + // 2. If you find it, select it + if (item) { + pa->elementsPanel().setCurrentItem(item); + } + } + }); addProjectView(project_view); undo_group.addStack(project -> undoStack());