diff --git a/sources/projectview.cpp b/sources/projectview.cpp
index f5420dbfa..7edbb67e7 100644
--- a/sources/projectview.cpp
+++ b/sources/projectview.cpp
@@ -810,30 +810,39 @@ void ProjectView::loadDiagrams()
setDisplayFallbackWidget(m_project -> diagrams().isEmpty());
- DialogWaiting *dialog = nullptr;
- if(DialogWaiting::hasInstance())
+ auto dialog = DialogWaiting::instance();
+ if(dialog)
{
- dialog = DialogWaiting::instance();
dialog->setTitle( tr("
"
"Ouverture du projet en cours...
"
"Création des onglets de folio :"
"
"));
}
- for(Diagram *diagram : m_project->diagrams())
+
+ for(auto diagram : m_project->diagrams())
{
if(dialog)
{
dialog->setDetail(diagram->title());
dialog->setProgressBar(dialog->progressBarValue()+1);
}
- diagramAdded(diagram);
+
+ auto dv = new DiagramView(diagram);
+ dv->setFrameStyle(QFrame::Plain | QFrame::NoFrame);
+
+ auto index = m_project->folioIndex(diagram);
+ m_tab->insertTab(index, dv, QET::Icons::Diagram, dv->title());
+ m_diagram_view_list.insert(index, dv);
+
+ connect(dv, &DiagramView::showDiagram, this, QOverload::of(&ProjectView::showDiagram));
+ connect(dv, &DiagramView::titleChanged, this, &ProjectView::updateTabTitle);
+ connect(dv, &DiagramView::findElementRequired, this, &ProjectView::findElementRequired);
+ connect(&dv->diagram()->border_and_titleblock , &BorderTitleBlock::titleBlockFolioChanged, [this, dv]() {this->updateTabTitle(dv);});
}
- if (DiagramView *dv = currentDiagram())
- {
- dv->diagram()->loadElmtFolioSeq();
- dv->diagram()->loadCndFolioSeq();
- }
+ rebuildDiagramsMap();
+ updateAllTabsTitle();
+
m_tab->setCurrentWidget(firstDiagram());
}
diff --git a/sources/projectview.h b/sources/projectview.h
index ba037761b..01f312e2a 100644
--- a/sources/projectview.h
+++ b/sources/projectview.h
@@ -87,10 +87,14 @@ class ProjectView : public QWidget
private:
ProjectView(const ProjectView &);
+ //Method related to construction of this class
+ void setProject(QETProject *project);
+
+
+
// methods
public:
QETProject *project();
- void setProject(QETProject *);
QList diagram_views() const;
DiagramView *currentDiagram() const;
void closeEvent(QCloseEvent *) override;