Project view : prepend the positon number or the folio label (acording the configuration of qet) in the title of each diagram view tabs.

git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4918 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
blacksun
2017-02-18 13:30:38 +00:00
parent 5d52605b38
commit a4d213e8f4
4 changed files with 157 additions and 117 deletions

View File

@@ -32,6 +32,7 @@
#include "diagramfoliolist.h" #include "diagramfoliolist.h"
#include "projectpropertiesdialog.h" #include "projectpropertiesdialog.h"
#include "xmlelementcollection.h" #include "xmlelementcollection.h"
#include "autoNum/assignvariables.h"
/** /**
Constructeur Constructeur
@@ -55,8 +56,8 @@ ProjectView::ProjectView(QETProject *project, QWidget *parent) :
*/ */
ProjectView::~ProjectView() { ProjectView::~ProjectView() {
// qDebug() << "Suppression du ProjectView" << ((void *)this); // qDebug() << "Suppression du ProjectView" << ((void *)this);
foreach(int id, diagram_ids_.keys()) { foreach(int id, m_diagram_ids.keys()) {
DiagramView *diagram_view = diagram_ids_.take(id); DiagramView *diagram_view = m_diagram_ids.take(id);
delete diagram_view; delete diagram_view;
} }
} }
@@ -88,7 +89,7 @@ void ProjectView::setProject(QETProject *project) {
/** /**
@return la liste des schemas ouverts dans le projet @return la liste des schemas ouverts dans le projet
*/ */
QList<DiagramView *> ProjectView::diagrams() const { QList<DiagramView *> ProjectView::diagram_views() const {
return(m_diagram_view_list); return(m_diagram_view_list);
} }
@@ -123,7 +124,7 @@ DiagramView *ProjectView::currentDiagram() const {
int current_tab_index = m_tab -> currentIndex(); int current_tab_index = m_tab -> currentIndex();
if (current_tab_index == -1) if (current_tab_index == -1)
return nullptr; return nullptr;
return(diagram_ids_[current_tab_index]); return(m_diagram_ids[current_tab_index]);
} }
/** /**
@@ -157,8 +158,8 @@ void ProjectView::changeTabDown(){
DiagramView *ProjectView::nextDiagram() { DiagramView *ProjectView::nextDiagram() {
int current_tab_index = m_tab -> currentIndex(); int current_tab_index = m_tab -> currentIndex();
int next_tab_index = current_tab_index + 1; //get next tab index int next_tab_index = current_tab_index + 1; //get next tab index
if (next_tab_index<diagram_ids_.count()) //if next tab index >= greatest tab the last tab is activated so no need to change tab. if (next_tab_index<m_diagram_ids.count()) //if next tab index >= greatest tab the last tab is activated so no need to change tab.
return(diagram_ids_[next_tab_index]); return(m_diagram_ids[next_tab_index]);
else else
return NULL; return NULL;
} }
@@ -181,7 +182,7 @@ DiagramView *ProjectView::previousDiagram() {
int current_tab_index = m_tab -> currentIndex(); int current_tab_index = m_tab -> currentIndex();
int previous_tab_index = current_tab_index - 1; //get previous tab index int previous_tab_index = current_tab_index - 1; //get previous tab index
if (previous_tab_index>=0) //if previous tab index = 0 then the first tab is activated so no need to change tab. if (previous_tab_index>=0) //if previous tab index = 0 then the first tab is activated so no need to change tab.
return(diagram_ids_[previous_tab_index]); return(m_diagram_ids[previous_tab_index]);
else else
return NULL; return NULL;
} }
@@ -198,7 +199,7 @@ void ProjectView::changeLastTab(){
@return last folio of current project @return last folio of current project
*/ */
DiagramView *ProjectView::lastDiagram(){ DiagramView *ProjectView::lastDiagram(){
return(diagram_ids_.last()); return(m_diagram_ids.last());
} }
/** /**
@@ -213,7 +214,7 @@ void ProjectView::changeFirstTab(){
@return first folio of current project @return first folio of current project
*/ */
DiagramView *ProjectView::firstDiagram(){ DiagramView *ProjectView::firstDiagram(){
return(diagram_ids_.first()); return(m_diagram_ids.first());
} }
@@ -393,41 +394,41 @@ void ProjectView::addNewDiagramFolioList() {
DiagramView *new_diagram_view = new DiagramView(d); DiagramView *new_diagram_view = new DiagramView(d);
addDiagram(new_diagram_view); addDiagram(new_diagram_view);
showDiagram(new_diagram_view); showDiagram(new_diagram_view);
m_tab->tabBar()->moveTab(diagrams().size()-1, i); m_tab->tabBar()->moveTab(diagram_views().size()-1, i);
i++; i++;
} }
} }
/**
Ajoute un schema au ProjectView
@param diagram Schema a ajouter
*/
/** /**
* @brief ProjectView::addDiagram * @brief ProjectView::addDiagram
* Add new digram to this project view * Add diagram view to this project view
* @param diagram added diagram * @param diagram_view
* @param front: true add page at front
* false add page at back
*/ */
void ProjectView::addDiagram(DiagramView *diagram_view) { void ProjectView::addDiagram(DiagramView *diagram_view)
if (!diagram_view) return; {
if (!diagram_view)
return;
// check diagram isn't present in the project //Check if diagram isn't present in the project
if (diagram_ids_.values().contains(diagram_view)) return; if (m_diagram_ids.values().contains(diagram_view))
return;
// Add new tab for the diagram // Add new tab for the diagram
m_tab -> addTab(diagram_view, QET::Icons::Diagram, diagram_view -> title()); m_tab->addTab(diagram_view, QET::Icons::Diagram, diagram_view -> title());
diagram_view -> setFrameStyle(QFrame::Plain | QFrame::NoFrame); diagram_view->setFrameStyle(QFrame::Plain | QFrame::NoFrame);
m_diagram_view_list << diagram_view; m_diagram_view_list << diagram_view;
rebuildDiagramsMap(); rebuildDiagramsMap();
updateTabTitle(diagram_view);
connect(diagram_view, SIGNAL(showDiagram(Diagram*)), this, SLOT(showDiagram(Diagram*))); connect(diagram_view, SIGNAL(showDiagram(Diagram*)), this, SLOT(showDiagram(Diagram*)));
connect(diagram_view, SIGNAL(titleChanged(DiagramView *, const QString &)), this, SLOT(updateTabTitle(DiagramView *, const QString &))); connect(diagram_view, SIGNAL(titleChanged(DiagramView *, const QString &)), this, SLOT(updateTabTitle(DiagramView *)));
connect(diagram_view, SIGNAL(findElementRequired(const ElementsLocation &)), this, SIGNAL(findElementRequired(const ElementsLocation &))); connect(diagram_view, SIGNAL(findElementRequired(const ElementsLocation &)), this, SIGNAL(findElementRequired(const ElementsLocation &)));
connect(diagram_view, SIGNAL(editElementRequired(const ElementsLocation &)), this, SIGNAL(editElementRequired(const ElementsLocation &))); connect(diagram_view, SIGNAL(editElementRequired(const ElementsLocation &)), this, SIGNAL(editElementRequired(const ElementsLocation &)));
connect(&diagram_view->diagram()->border_and_titleblock , &BorderTitleBlock::titleBlockFolioChanged, [this, diagram_view]() {this->updateTabTitle(diagram_view);});
// signal diagram was added // signal diagram view was added
emit(diagramAdded(diagram_view)); emit(diagramAdded(diagram_view));
} }
@@ -440,7 +441,7 @@ void ProjectView::removeDiagram(DiagramView *diagram_view) {
if (m_project -> isReadOnly()) return; if (m_project -> isReadOnly()) return;
// verifie que le schema est bien present dans le projet // verifie que le schema est bien present dans le projet
if (!diagram_ids_.values().contains(diagram_view)) return; if (!m_diagram_ids.values().contains(diagram_view)) return;
//Ask confirmation to user. //Ask confirmation to user.
@@ -456,7 +457,7 @@ void ProjectView::removeDiagram(DiagramView *diagram_view) {
} }
// enleve le DiagramView des onglets // enleve le DiagramView des onglets
int diagram_tab_id = diagram_ids_.key(diagram_view); int diagram_tab_id = m_diagram_ids.key(diagram_view);
m_tab -> removeTab(diagram_tab_id); m_tab -> removeTab(diagram_tab_id);
m_diagram_view_list.removeAll(diagram_view); m_diagram_view_list.removeAll(diagram_view);
rebuildDiagramsMap(); rebuildDiagramsMap();
@@ -543,7 +544,7 @@ void ProjectView::editDiagramProperties(Diagram *diagram) {
void ProjectView::moveDiagramUp(DiagramView *diagram_view) { void ProjectView::moveDiagramUp(DiagramView *diagram_view) {
if (!diagram_view) return; if (!diagram_view) return;
int diagram_view_position = diagram_ids_.key(diagram_view); int diagram_view_position = m_diagram_ids.key(diagram_view);
if (!diagram_view_position) { if (!diagram_view_position) {
// le schema est le premier du projet // le schema est le premier du projet
return; return;
@@ -564,8 +565,8 @@ void ProjectView::moveDiagramUp(Diagram *diagram) {
void ProjectView::moveDiagramDown(DiagramView *diagram_view) { void ProjectView::moveDiagramDown(DiagramView *diagram_view) {
if (!diagram_view) return; if (!diagram_view) return;
int diagram_view_position = diagram_ids_.key(diagram_view); int diagram_view_position = m_diagram_ids.key(diagram_view);
if (diagram_view_position + 1 == diagram_ids_.count()) { if (diagram_view_position + 1 == m_diagram_ids.count()) {
// le schema est le dernier du projet // le schema est le dernier du projet
return; return;
} }
@@ -586,12 +587,12 @@ void ProjectView::moveDiagramUpTop(DiagramView *diagram_view)
{ {
if (!diagram_view) return; if (!diagram_view) return;
int diagram_view_position = diagram_ids_.key(diagram_view); int diagram_view_position = m_diagram_ids.key(diagram_view);
if (!diagram_view_position) { if (!diagram_view_position) {
// le schema est le premier du projet // le schema est le premier du projet
return; return;
} }
m_tab -> tabBar() -> moveTab(diagram_view_position, (diagrams().size(), 0)); m_tab -> tabBar() -> moveTab(diagram_view_position, (diagram_views().size(), 0));
} }
/* /*
@@ -608,7 +609,7 @@ void ProjectView::moveDiagramUpTop(Diagram *diagram)
void ProjectView::moveDiagramUpx10(DiagramView *diagram_view) { void ProjectView::moveDiagramUpx10(DiagramView *diagram_view) {
if (!diagram_view) return; if (!diagram_view) return;
int diagram_view_position = diagram_ids_.key(diagram_view); int diagram_view_position = m_diagram_ids.key(diagram_view);
if (!diagram_view_position) { if (!diagram_view_position) {
// le schema est le premier du projet // le schema est le premier du projet
return; return;
@@ -629,8 +630,8 @@ void ProjectView::moveDiagramUpx10(Diagram *diagram) {
void ProjectView::moveDiagramDownx10(DiagramView *diagram_view) { void ProjectView::moveDiagramDownx10(DiagramView *diagram_view) {
if (!diagram_view) return; if (!diagram_view) return;
int diagram_view_position = diagram_ids_.key(diagram_view); int diagram_view_position = m_diagram_ids.key(diagram_view);
if (diagram_view_position + 1 == diagram_ids_.count()) { if (diagram_view_position + 1 == m_diagram_ids.count()) {
// le schema est le dernier du projet // le schema est le dernier du projet
return; return;
} }
@@ -903,7 +904,7 @@ void ProjectView::loadDiagrams() {
// If project have the folios list, move it at the beginning of the project // If project have the folios list, move it at the beginning of the project
if (m_project -> getFolioSheetsQuantity()) { if (m_project -> getFolioSheetsQuantity()) {
for (int i = 0; i < m_project->getFolioSheetsQuantity(); i++) for (int i = 0; i < m_project->getFolioSheetsQuantity(); i++)
m_tab -> tabBar() -> moveTab(diagrams().size()-1, + 1); m_tab -> tabBar() -> moveTab(diagram_views().size()-1, + 1);
} }
} }
@@ -938,32 +939,63 @@ void ProjectView::adjustReadOnlyState() {
} }
/** /**
Met a jour le titre d'un onglet * @brief ProjectView::updateTabTitle
@param diagram Schema * Update the title of the tab which display the diagram view @diagram_view.
@param diagram_title Titre du schema * @param diagram : The diagram view.
*/ */
void ProjectView::updateTabTitle(DiagramView *diagram, const QString &diagram_title) { void ProjectView::updateTabTitle(DiagramView *diagram_view)
int diagram_tab_id = diagram_ids_.key(diagram, -1); {
if (diagram_tab_id != -1) { int diagram_tab_id = m_diagram_ids.key(diagram_view, -1);
m_tab -> setTabText(diagram_tab_id, diagram_title);
if (diagram_tab_id != -1)
{
QSettings settings;
QString title;
Diagram *diagram = diagram_view->diagram();
if (settings.value("genericpanel/folio", false).toBool())
{
QString formula = diagram->border_and_titleblock.folio();
autonum::sequentialNumbers seq;
title = autonum::AssignVariables::formulaToLabel(formula, seq, diagram);
}
else
title = QString::number(diagram->folioIndex() + 1);
title += " - ";
title += diagram->title();
m_tab->setTabText(diagram_tab_id ,title);
} }
} }
/**
* @brief ProjectView::updateAllTabsTitle
* Update all tabs title
*/
void ProjectView::updateAllTabsTitle()
{
for (DiagramView *dv : m_diagram_ids.values())
updateTabTitle(dv);
}
/** /**
@param from Index de l'onglet avant le deplacement @param from Index de l'onglet avant le deplacement
@param to Index de l'onglet apres le deplacement @param to Index de l'onglet apres le deplacement
*/ */
void ProjectView::tabMoved(int from, int to) { void ProjectView::tabMoved(int from, int to)
if (!m_project) return; {
if (!m_project)
// signale au QETProject le changement d'ordre des schemas return;
m_project -> diagramOrderChanged(from, to);
m_project->diagramOrderChanged(from, to);
// reconstruit la liste associant les index des onglets aux schemas
rebuildDiagramsMap(); rebuildDiagramsMap();
// emet un signal pour informer le reste du monde que l'ordre des schemas a change //Rebuild the title of each diagram in range from - to
emit(diagramOrderChanged(this, from, to)); for (int i= qMin(from,to) ; i< qMax(from,to)+1 ; ++i)
{
DiagramView *dv = m_diagram_ids.value(i);
updateTabTitle(dv);
}
} }
/** /**
@@ -972,7 +1004,7 @@ void ProjectView::tabMoved(int from, int to) {
le schema n'est pas trouve le schema n'est pas trouve
*/ */
DiagramView *ProjectView::findDiagram(Diagram *diagram) { DiagramView *ProjectView::findDiagram(Diagram *diagram) {
foreach(DiagramView *diagram_view, diagrams()) { foreach(DiagramView *diagram_view, diagram_views()) {
if (diagram_view -> diagram() == diagram) { if (diagram_view -> diagram() == diagram) {
return(diagram_view); return(diagram_view);
} }
@@ -985,12 +1017,12 @@ DiagramView *ProjectView::findDiagram(Diagram *diagram) {
*/ */
void ProjectView::rebuildDiagramsMap() { void ProjectView::rebuildDiagramsMap() {
// vide la map // vide la map
diagram_ids_.clear(); m_diagram_ids.clear();
foreach(DiagramView *diagram_view, m_diagram_view_list) { foreach(DiagramView *diagram_view, m_diagram_view_list) {
int dv_idx = m_tab -> indexOf(diagram_view); int dv_idx = m_tab -> indexOf(diagram_view);
if (dv_idx == -1) continue; if (dv_idx == -1) continue;
diagram_ids_.insert(dv_idx, diagram_view); m_diagram_ids.insert(dv_idx, diagram_view);
} }
} }
@@ -1007,9 +1039,9 @@ void ProjectView::tabChanged(int tab_id) {
else if(m_tab->count() == 1) else if(m_tab->count() == 1)
setDisplayFallbackWidget(false); setDisplayFallbackWidget(false);
emit(diagramActivated(diagram_ids_[tab_id])); emit(diagramActivated(m_diagram_ids[tab_id]));
if (diagram_ids_[tab_id] != nullptr) if (m_diagram_ids[tab_id] != nullptr)
diagram_ids_[tab_id]->diagram()->diagramActivated(); m_diagram_ids[tab_id]->diagram()->diagramActivated();
} }
/** /**
@@ -1018,7 +1050,7 @@ void ProjectView::tabChanged(int tab_id) {
*/ */
void ProjectView::tabDoubleClicked(int tab_id) { void ProjectView::tabDoubleClicked(int tab_id) {
// repere le schema concerne // repere le schema concerne
DiagramView *diagram_view = diagram_ids_[tab_id]; DiagramView *diagram_view = m_diagram_ids[tab_id];
if (!diagram_view) return; if (!diagram_view) return;
diagram_view -> editDiagramProperties(); diagram_view -> editDiagramProperties();

View File

@@ -58,7 +58,7 @@ class ProjectView : public QWidget {
public: public:
QETProject *project(); QETProject *project();
void setProject(QETProject *); void setProject(QETProject *);
QList<DiagramView *> diagrams() const; QList<DiagramView *> diagram_views() const;
QList<Diagram *> getDiagrams(ProjectSaveOptions options); QList<Diagram *> getDiagrams(ProjectSaveOptions options);
DiagramView *currentDiagram() const; DiagramView *currentDiagram() const;
void closeEvent(QCloseEvent *); void closeEvent(QCloseEvent *);
@@ -68,48 +68,48 @@ class ProjectView : public QWidget {
void changeLastTab(); void changeLastTab();
public slots: public slots:
void addNewDiagram(); void addNewDiagram();
void addNewDiagramFolioList(); void addNewDiagramFolioList();
void addDiagram(DiagramView *); void addDiagram(DiagramView *);
void removeDiagram(DiagramView *); void removeDiagram(DiagramView *);
void removeDiagram(Diagram *); void removeDiagram(Diagram *);
void showDiagram(DiagramView *); void showDiagram(DiagramView *);
void showDiagram(Diagram *); void showDiagram(Diagram *);
void editProjectProperties(); void editProjectProperties();
void editCurrentDiagramProperties(); void editCurrentDiagramProperties();
void editDiagramProperties(DiagramView *); void editDiagramProperties(DiagramView *);
void editDiagramProperties(Diagram *); void editDiagramProperties(Diagram *);
void moveDiagramUp(DiagramView *); void moveDiagramUp(DiagramView *);
void moveDiagramUp(Diagram *); void moveDiagramUp(Diagram *);
void moveDiagramDown(DiagramView *); void moveDiagramDown(DiagramView *);
void moveDiagramDown(Diagram *); void moveDiagramDown(Diagram *);
void moveDiagramUpTop(DiagramView *); void moveDiagramUpTop(DiagramView *);
void moveDiagramUpTop(Diagram *); void moveDiagramUpTop(Diagram *);
void moveDiagramUpx10(DiagramView *); void moveDiagramUpx10(DiagramView *);
void moveDiagramUpx10(Diagram *); void moveDiagramUpx10(Diagram *);
void moveDiagramDownx10(DiagramView *); void moveDiagramDownx10(DiagramView *);
void moveDiagramDownx10(Diagram *); void moveDiagramDownx10(Diagram *);
void printProject(); void printProject();
void exportProject(); void exportProject();
QETResult save(); QETResult save();
QETResult saveAs(ProjectSaveOptions = ProjectSaveOptions(AllDiagrams)); QETResult saveAs(ProjectSaveOptions = ProjectSaveOptions(AllDiagrams));
QETResult doSave(ProjectSaveOptions); QETResult doSave(ProjectSaveOptions);
void saveDiagrams(const QList<Diagram *> &); void saveDiagrams(const QList<Diagram *> &);
int cleanProject(); int cleanProject();
void updateWindowTitle(); void updateWindowTitle();
void updateTabTitle(DiagramView *, const QString &); void updateTabTitle(DiagramView *);
void tabMoved(int, int); void updateAllTabsTitle();
void tabMoved(int, int);
signals: signals:
void diagramAdded(DiagramView *); void diagramAdded(DiagramView *);
void diagramRemoved(DiagramView *); void diagramRemoved(DiagramView *);
void diagramActivated(DiagramView *); void diagramActivated(DiagramView *);
void diagramOrderChanged(ProjectView *, int, int); void projectClosed(ProjectView *);
void projectClosed(ProjectView *); void errorEncountered(const QString &);
void errorEncountered(const QString &); // relayed signals
// relayed signals void findElementRequired(const ElementsLocation &);
void findElementRequired(const ElementsLocation &); void editElementRequired(const ElementsLocation &);
void editElementRequired(const ElementsLocation &);
private: private:
void initActions(); void initActions();
@@ -142,7 +142,7 @@ class ProjectView : public QWidget {
QWidget *fallback_widget_; QWidget *fallback_widget_;
QLabel *fallback_label_; QLabel *fallback_label_;
QTabWidget *m_tab; QTabWidget *m_tab;
QMap<int, DiagramView *> diagram_ids_; QMap<int, DiagramView *> m_diagram_ids;
QList<DiagramView *> m_diagram_view_list; QList<DiagramView *> m_diagram_view_list;
}; };
Q_DECLARE_OPERATORS_FOR_FLAGS(ProjectView::ProjectSaveOptions) Q_DECLARE_OPERATORS_FOR_FLAGS(ProjectView::ProjectSaveOptions)

View File

@@ -1055,7 +1055,7 @@ CustomElement *QETDiagramEditor::currentCustomElement() const {
*/ */
ProjectView *QETDiagramEditor::findProject(DiagramView *diagram_view) const { ProjectView *QETDiagramEditor::findProject(DiagramView *diagram_view) const {
foreach(ProjectView *project_view, openedProjects()) { foreach(ProjectView *project_view, openedProjects()) {
if (project_view -> diagrams().contains(diagram_view)) { if (project_view -> diagram_views().contains(diagram_view)) {
return(project_view); return(project_view);
} }
} }
@@ -1069,7 +1069,7 @@ ProjectView *QETDiagramEditor::findProject(DiagramView *diagram_view) const {
*/ */
ProjectView *QETDiagramEditor::findProject(Diagram *diagram) const { ProjectView *QETDiagramEditor::findProject(Diagram *diagram) const {
foreach(ProjectView *project_view, openedProjects()) { foreach(ProjectView *project_view, openedProjects()) {
foreach(DiagramView *diagram_view, project_view -> diagrams()) { foreach(DiagramView *diagram_view, project_view -> diagram_views()) {
if (diagram_view -> diagram() == diagram) { if (diagram_view -> diagram() == diagram) {
return(project_view); return(project_view);
} }
@@ -1284,7 +1284,7 @@ void QETDiagramEditor::rowColumnGroupTriggered(QAction *action)
void QETDiagramEditor::slot_setSelectionMode() void QETDiagramEditor::slot_setSelectionMode()
{ {
if (ProjectView *pv = currentProject()) if (ProjectView *pv = currentProject())
foreach(DiagramView *dv, pv -> diagrams()) foreach(DiagramView *dv, pv -> diagram_views())
dv -> setSelectionMode(); dv -> setSelectionMode();
} }
@@ -1295,7 +1295,7 @@ void QETDiagramEditor::slot_setSelectionMode()
void QETDiagramEditor::slot_setVisualisationMode() void QETDiagramEditor::slot_setVisualisationMode()
{ {
if (ProjectView *pv = currentProject()) if (ProjectView *pv = currentProject())
foreach(DiagramView *dv, pv -> diagrams()) foreach(DiagramView *dv, pv -> diagram_views())
dv -> setVisualisationMode(); dv -> setVisualisationMode();
} }
@@ -1506,7 +1506,7 @@ void QETDiagramEditor::addProjectView(ProjectView *project_view)
{ {
if (!project_view) return; if (!project_view) return;
foreach(DiagramView *dv, project_view -> diagrams()) foreach(DiagramView *dv, project_view -> diagram_views())
diagramWasAdded(dv); diagramWasAdded(dv);
//Manage the close event of project //Manage the close event of project
@@ -2035,7 +2035,7 @@ void QETDiagramEditor::removeDiagramFromProject() {
// if the removed diagram was a folio sheet, then delete all the remaining folio sheets also. // if the removed diagram was a folio sheet, then delete all the remaining folio sheets also.
if (isFolioList) { if (isFolioList) {
foreach (DiagramView *diag, current_project -> diagrams()) { foreach (DiagramView *diag, current_project -> diagram_views()) {
if (dynamic_cast<DiagramFolioList *>(diag -> diagram())) { if (dynamic_cast<DiagramFolioList *>(diag -> diagram())) {
current_project -> removeDiagram(diag); current_project -> removeDiagram(diag);
} }
@@ -2043,8 +2043,8 @@ void QETDiagramEditor::removeDiagramFromProject() {
// else if after diagram removal, the total diagram quantity becomes a factor of 58, then // else if after diagram removal, the total diagram quantity becomes a factor of 58, then
// remove one (last) folio sheet. // remove one (last) folio sheet.
} else if (current_project -> diagrams().size() % 58 == 0) { } else if (current_project -> diagram_views().size() % 58 == 0) {
foreach (DiagramView *diag, current_project -> diagrams()) { foreach (DiagramView *diag, current_project -> diagram_views()) {
DiagramFolioList *ptr = dynamic_cast<DiagramFolioList *>(diag -> diagram()); DiagramFolioList *ptr = dynamic_cast<DiagramFolioList *>(diag -> diagram());
if (ptr && ptr -> getId() == current_project -> project() -> getFolioSheetsQuantity() - 1) { if (ptr && ptr -> getId() == current_project -> project() -> getFolioSheetsQuantity() - 1) {
current_project -> removeDiagram(diag); current_project -> removeDiagram(diag);

View File

@@ -26,6 +26,7 @@
#include "qeticons.h" #include "qeticons.h"
#include "qetapp.h" #include "qetapp.h"
#include "qetdiagrameditor.h" #include "qetdiagrameditor.h"
#include "projectview.h"
/** /**
Constructor Constructor
@@ -55,12 +56,19 @@ void QETMainWindow::initCommonActions() {
configure_action_ = new QAction(QET::Icons::Configure, tr("&Configurer QElectroTech"), this); configure_action_ = new QAction(QET::Icons::Configure, tr("&Configurer QElectroTech"), this);
configure_action_ -> setStatusTip(tr("Permet de régler différents paramètres de QElectroTech", "status bar tip")); configure_action_ -> setStatusTip(tr("Permet de régler différents paramètres de QElectroTech", "status bar tip"));
connect(configure_action_, &QAction::triggered, [qet_app]() { connect(configure_action_, &QAction::triggered, [qet_app]()
{
qet_app->configureQET(); qet_app->configureQET();
//TODO we use reloadOldElementPanel only to keep up to date the string of the folio in the old element panel. //TODO we use reloadOldElementPanel only to keep up to date the string of the folio in the old element panel.
//then, if user change the option "Use labels of folio instead of their ID" the string of folio in the old element panel is up to date //then, if user change the option "Use labels of folio instead of their ID" the string of folio in the old element panel is up to date
foreach (QETDiagramEditor *qde, qet_app->diagramEditors()) for (QETDiagramEditor *qde : qet_app->diagramEditors())
{
qde->reloadOldElementPanel(); qde->reloadOldElementPanel();
for (ProjectView *pv : qde->openedProjects())
{
pv->updateAllTabsTitle();
}
}
}); });
fullscreen_action_ = new QAction(this); fullscreen_action_ = new QAction(this);