From 6b80fbb08d7e5b8c3d43f36293b21112233eec03 Mon Sep 17 00:00:00 2001 From: Kellermorph Date: Sat, 28 Mar 2026 14:48:18 +0100 Subject: [PATCH 1/6] Change access modifier of elements_panel to public --- sources/elementspanelwidget.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/elementspanelwidget.h b/sources/elementspanelwidget.h index 6f3a7c4e1..ee7226221 100644 --- a/sources/elementspanelwidget.h +++ b/sources/elementspanelwidget.h @@ -38,7 +38,7 @@ class ElementsPanelWidget : public QWidget { ElementsPanelWidget(const ElementsPanelWidget &); // attributes - private: + public: ElementsPanel *elements_panel; QAction *open_directory, *copy_path; QAction *prj_activate, From 9693df4252bc517011dbe0f15c7fe916bd3c3f58 Mon Sep 17 00:00:00 2001 From: Kellermorph Date: Sat, 28 Mar 2026 14:49:00 +0100 Subject: [PATCH 2/6] Highlight current page in ProjectView on diagram activation --- sources/qetdiagrameditor.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sources/qetdiagrameditor.cpp b/sources/qetdiagrameditor.cpp index 590650a64..fad6d0e95 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 && pa->elements_panel) { + // 1. Find the item in the tree that corresponds to this diagram + QTreeWidgetItem *item = pa->elements_panel->getItemForDiagram(dv->diagram()); + + // 2. If you find it, select it + if (item) { + pa->elements_panel->setCurrentItem(item); + } + } + }); addProjectView(project_view); undo_group.addStack(project -> undoStack()); From 277fa087bc26644e40788e1cd0effb07dc499cae Mon Sep 17 00:00:00 2001 From: Kellermorph Date: Sat, 28 Mar 2026 14:49:31 +0100 Subject: [PATCH 3/6] Fix formatting in genericpanel.h method signatures --- sources/genericpanel.h | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/sources/genericpanel.h b/sources/genericpanel.h index 2b5498bca..0aa929d27 100644 --- a/sources/genericpanel.h +++ b/sources/genericpanel.h @@ -93,14 +93,15 @@ class GenericPanel : public QTreeWidget { // diagram-related methods public: virtual QTreeWidgetItem *addDiagram(Diagram *, - QTreeWidgetItem * = nullptr, - PanelOptions = AddAllChild); - protected: + QTreeWidgetItem * = nullptr, + PanelOptions = AddAllChild); virtual QTreeWidgetItem *getItemForDiagram(Diagram *, bool * = nullptr); + + protected: virtual QTreeWidgetItem *updateDiagramItem(QTreeWidgetItem *, - Diagram *, - PanelOptions = AddAllChild, - bool = false); + Diagram *, + PanelOptions = AddAllChild, + bool = false); virtual QTreeWidgetItem *fillDiagramItem( QTreeWidgetItem *, PanelOptions = AddAllChild, From 2f69716e3c1cf97eeabf0ebef11d0de260841cae Mon Sep 17 00:00:00 2001 From: Kellermorph Date: Sun, 29 Mar 2026 18:12:17 +0200 Subject: [PATCH 4/6] Change access modifier to private for attributes Changed access modifier of elements_panel and QAction attributes from public to private. --- sources/elementspanelwidget.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/elementspanelwidget.h b/sources/elementspanelwidget.h index ee7226221..6f3a7c4e1 100644 --- a/sources/elementspanelwidget.h +++ b/sources/elementspanelwidget.h @@ -38,7 +38,7 @@ class ElementsPanelWidget : public QWidget { ElementsPanelWidget(const ElementsPanelWidget &); // attributes - public: + private: ElementsPanel *elements_panel; QAction *open_directory, *copy_path; QAction *prj_activate, From bea1fb4353074766bd28b879ac9d32d4dd9691a8 Mon Sep 17 00:00:00 2001 From: Kellermorph Date: Sun, 29 Mar 2026 18:13:14 +0200 Subject: [PATCH 5/6] Refactor elements_panel to elementsPanel --- sources/qetdiagrameditor.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sources/qetdiagrameditor.cpp b/sources/qetdiagrameditor.cpp index fad6d0e95..f9cfbd7d0 100644 --- a/sources/qetdiagrameditor.cpp +++ b/sources/qetdiagrameditor.cpp @@ -1170,13 +1170,13 @@ bool QETDiagramEditor::addProject(QETProject *project, bool update_panel) ProjectView *project_view = new ProjectView(project); //Highlight the current page connect(project_view, &ProjectView::diagramActivated, this, [this](DiagramView *dv) { - if (dv && dv->diagram() && pa && pa->elements_panel) { + if (dv && dv->diagram() && pa) { // 1. Find the item in the tree that corresponds to this diagram - QTreeWidgetItem *item = pa->elements_panel->getItemForDiagram(dv->diagram()); + QTreeWidgetItem *item = pa->elementsPanel().getItemForDiagram(dv->diagram()); // 2. If you find it, select it if (item) { - pa->elements_panel->setCurrentItem(item); + pa->elementsPanel().setCurrentItem(item); } } }); From 1af0c1ca8bb3b7c5ef4e4963dd06f88815c2b2f0 Mon Sep 17 00:00:00 2001 From: Kellermorph Date: Sun, 29 Mar 2026 18:14:10 +0200 Subject: [PATCH 6/6] Refactor addDiagram and updateDiagramItem signatures --- sources/genericpanel.h | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/sources/genericpanel.h b/sources/genericpanel.h index 0aa929d27..52e8ea98f 100644 --- a/sources/genericpanel.h +++ b/sources/genericpanel.h @@ -93,15 +93,14 @@ class GenericPanel : public QTreeWidget { // diagram-related methods public: virtual QTreeWidgetItem *addDiagram(Diagram *, - QTreeWidgetItem * = nullptr, - PanelOptions = AddAllChild); + QTreeWidgetItem * = nullptr, + PanelOptions = AddAllChild); virtual QTreeWidgetItem *getItemForDiagram(Diagram *, bool * = nullptr); - protected: virtual QTreeWidgetItem *updateDiagramItem(QTreeWidgetItem *, - Diagram *, - PanelOptions = AddAllChild, - bool = false); + Diagram *, + PanelOptions = AddAllChild, + bool = false); virtual QTreeWidgetItem *fillDiagramItem( QTreeWidgetItem *, PanelOptions = AddAllChild,