diff --git a/sources/autoNum/ui/autonumberingdockwidget.cpp b/sources/autoNum/ui/autonumberingdockwidget.cpp
index 528616139..574687a59 100644
--- a/sources/autoNum/ui/autonumberingdockwidget.cpp
+++ b/sources/autoNum/ui/autonumberingdockwidget.cpp
@@ -22,18 +22,19 @@
#include "diagram.h"
#include "titleblockproperties.h"
#include "numerotationcontext.h"
+#include "projectpropertiesdialog.h"
/**
* @brief AutoNumberingDockWidget::AutoNumberingDockWidget
* Constructor
* @param parent : parent widget
*/
-AutoNumberingDockWidget::AutoNumberingDockWidget(QWidget *parent, QETProject *project) :
+AutoNumberingDockWidget::AutoNumberingDockWidget(QWidget *parent) :
QDockWidget(parent),
- ui(new Ui::AutoNumberingDockWidget),
- m_project(project)
+ ui(new Ui::AutoNumberingDockWidget)
{
ui->setupUi(this);
+ this->setDisabled(true);
}
/**
@@ -57,28 +58,63 @@ void AutoNumberingDockWidget::clear()
ui->m_folio_cb->clear();
}
+void AutoNumberingDockWidget::projectClosed()
+{
+ m_project = nullptr;
+ m_project_view = nullptr;
+ clear();
+ this->setDisabled(true);
+}
+
/**
* @brief AutoNumberingDockWidget::setProject
* @param project: project to be setted
* @param projectview: projectview to be setted
* assign Project and ProjectView, connect all signals and setContext
*/
-void AutoNumberingDockWidget::setProject(QETProject *project, ProjectView *projectview) {
-
+void AutoNumberingDockWidget::setProject(QETProject *project, ProjectView *projectview)
+{
+ //Disconnect previous project
+ if (m_project && m_project_view)
+ {
+ //Conductor Signals
+ disconnect(m_project, SIGNAL(conductorAutoNumChanged()),this,SLOT(conductorAutoNumChanged()));
+ disconnect (m_project,SIGNAL(conductorAutoNumRemoved()), this,SLOT(conductorAutoNumChanged()));
+ disconnect (m_project,SIGNAL(conductorAutoNumAdded()), this,SLOT(conductorAutoNumChanged()));
+ disconnect(m_project_view,SIGNAL(diagramActivated(DiagramView*)),this,SLOT(setConductorActive(DiagramView*)));
+
+ //Element Signals
+ disconnect (m_project,SIGNAL(elementAutoNumRemoved(QString)), this,SLOT(elementAutoNumChanged()));
+ disconnect (m_project,SIGNAL(elementAutoNumAdded(QString)), this,SLOT(elementAutoNumChanged()));
+
+ //Folio Signals
+ disconnect (m_project,SIGNAL(folioAutoNumRemoved()), this,SLOT(folioAutoNumChanged()));
+ disconnect (m_project,SIGNAL(folioAutoNumAdded()), this,SLOT(folioAutoNumChanged()));
+ disconnect (this,
+ SIGNAL(folioAutoNumChanged(QString)),
+ &m_project_view->currentDiagram()->diagram()->border_and_titleblock,
+ SLOT (slot_setAutoPageNum(QString)));
+ disconnect(m_project, SIGNAL(defaultTitleBlockPropertiesChanged()),this,SLOT(setActive()));
+
+ //Conductor, Element and Folio Signals
+ disconnect(m_project, &QETProject::destroyed, this, &AutoNumberingDockWidget::projectClosed);
+ }
+
m_project = project;
m_project_view = projectview;
+ this->setEnabled(true);
- //Conductor Signals
+ //Conductor Signals
connect(m_project, SIGNAL(conductorAutoNumChanged()),this,SLOT(conductorAutoNumChanged()));
- connect (m_project,SIGNAL(conductorAutoNumRemoved()), this,SLOT(conductorAutoNumChanged()));
- connect (m_project,SIGNAL(conductorAutoNumAdded()), this,SLOT(conductorAutoNumChanged()));
+ connect(m_project,SIGNAL(conductorAutoNumRemoved()), this,SLOT(conductorAutoNumChanged()));
+ connect(m_project,SIGNAL(conductorAutoNumAdded()), this,SLOT(conductorAutoNumChanged()));
connect(m_project_view,SIGNAL(diagramActivated(DiagramView*)),this,SLOT(setConductorActive(DiagramView*)));
- //Element Signals
+ //Element Signals
connect (m_project,SIGNAL(elementAutoNumRemoved(QString)), this,SLOT(elementAutoNumChanged()));
connect (m_project,SIGNAL(elementAutoNumAdded(QString)), this,SLOT(elementAutoNumChanged()));
- //Folio Signals
+ //Folio Signals
connect (m_project,SIGNAL(folioAutoNumRemoved()), this,SLOT(folioAutoNumChanged()));
connect (m_project,SIGNAL(folioAutoNumAdded()), this,SLOT(folioAutoNumChanged()));
connect (this,
@@ -87,10 +123,10 @@ void AutoNumberingDockWidget::setProject(QETProject *project, ProjectView *proje
SLOT (slot_setAutoPageNum(QString)));
connect(m_project, SIGNAL(defaultTitleBlockPropertiesChanged()),this,SLOT(setActive()));
- //Conductor, Element and Folio Signals
- connect(m_project_view,SIGNAL(projectClosed(ProjectView*)),this,SLOT(clear()));
+ //Conductor, Element and Folio Signals
+ connect(m_project, &QETProject::destroyed, this, &AutoNumberingDockWidget::projectClosed);
- //Set Combobox Context
+ //Set Combobox Context
setContext();
}
@@ -261,3 +297,13 @@ void AutoNumberingDockWidget::on_m_folio_cb_activated(int) {
}
emit(folioAutoNumChanged(current_autonum));
}
+
+void AutoNumberingDockWidget::on_m_configure_pb_clicked()
+{
+ if (m_project)
+ {
+ ProjectPropertiesDialog ppd (m_project, this);
+ ppd.setCurrentPage(ProjectPropertiesDialog::Autonum);
+ ppd.exec();
+ }
+}
diff --git a/sources/autoNum/ui/autonumberingdockwidget.h b/sources/autoNum/ui/autonumberingdockwidget.h
index 51c5d566a..76dae7b6f 100644
--- a/sources/autoNum/ui/autonumberingdockwidget.h
+++ b/sources/autoNum/ui/autonumberingdockwidget.h
@@ -31,7 +31,7 @@ class AutoNumberingDockWidget : public QDockWidget
Q_OBJECT
public:
- explicit AutoNumberingDockWidget(QWidget *parent = 0, QETProject *project = nullptr);
+ explicit AutoNumberingDockWidget(QWidget *parent = 0);
~AutoNumberingDockWidget();
void setContext();
@@ -49,14 +49,17 @@ class AutoNumberingDockWidget : public QDockWidget
void elementAutoNumChanged();
void folioAutoNumChanged();
void clear();
+ void projectClosed();
+ void on_m_configure_pb_clicked();
+
signals:
void folioAutoNumChanged(QString);
private:
Ui::AutoNumberingDockWidget *ui;
- QETProject* m_project;
- ProjectView* m_project_view;
+ QETProject* m_project = nullptr;
+ ProjectView* m_project_view = nullptr;
};
diff --git a/sources/autoNum/ui/autonumberingdockwidget.ui b/sources/autoNum/ui/autonumberingdockwidget.ui
index 9e599dcf2..c7597c813 100644
--- a/sources/autoNum/ui/autonumberingdockwidget.ui
+++ b/sources/autoNum/ui/autonumberingdockwidget.ui
@@ -6,89 +6,77 @@
0
0
- 400
- 300
+ 334
+ 335
Autonumerotation Séléction
-
-
- QLayout::SetMaximumSize
-
-
- 0
-
-
- 0
-
-
- 0
-
-
- 0
-
- -
-
-
-
+
+
-
+
+
+ -
+
+
+ Folio
+
+
+
+ -
+
+
+ -
+
+
+ Element
+
+
+
+ -
+
+
+ Conductor
+
+
+
+ -
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 40
+
+
+
+
+ -
+
+
+ Configurer les règles d'auto numérotation
+
+
+ Configurer
+
+
+
+ :/ico/16x16/configure.png:/ico/16x16/configure.png
-
-
-
-
-
-
-
-
- Element
-
-
-
- -
-
-
- -
-
-
- -
-
-
- Conductor
-
-
-
- -
-
-
- Folio
-
-
-
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 40
-
-
-
-
- -
-
-
-
-
-
-
+
+
+