[qet] [4488] Auto Folio Numbering - Create specific number of new folios with a folio autonumbering or Auto Number selected Folios

[ Thread Index | Date Index | More lists.tuxfamily.org/qet Archives ]


Revision: 4488
Author:   dfochi
Date:     2016-05-17 21:19:11 +0200 (Tue, 17 May 2016)
Log Message:
-----------
Auto Folio Numbering - Create specific number of new folios with a folio autonumbering or Auto Number selected Folios

Modified Paths:
--------------
    trunk/sources/configpages.h
    trunk/sources/numerotationcontext.cpp
    trunk/sources/numerotationcontextcommands.cpp
    trunk/sources/numerotationcontextcommands.h
    trunk/sources/projectconfigpages.cpp
    trunk/sources/projectconfigpages.h
    trunk/sources/projectview.cpp
    trunk/sources/ui/folioautonumbering.cpp
    trunk/sources/ui/folioautonumbering.ui
    trunk/sources/ui/numparteditorw.cpp
    trunk/sources/ui/numparteditorw.h
    trunk/sources/ui/numparteditorw.ui
    trunk/sources/ui/selectautonumw.cpp
    trunk/sources/ui/selectautonumw.ui

Modified: trunk/sources/configpages.h
===================================================================
--- trunk/sources/configpages.h	2016-05-17 15:29:46 UTC (rev 4487)
+++ trunk/sources/configpages.h	2016-05-17 19:19:11 UTC (rev 4488)
@@ -19,8 +19,8 @@
 #define CONFIG_PAGES_H
 #include <QtWidgets>
 #include "configpage.h"
-#include "projectpropertiesdialog.h" //davi
-#include "titleblockpropertieswidget.h" //davi
+#include "projectpropertiesdialog.h"
+#include "titleblockpropertieswidget.h"
 class BorderPropertiesWidget;
 class ConductorPropertiesWidget;
 class TitleBlockPropertiesWidget;

Modified: trunk/sources/numerotationcontext.cpp
===================================================================
--- trunk/sources/numerotationcontext.cpp	2016-05-17 15:29:46 UTC (rev 4487)
+++ trunk/sources/numerotationcontext.cpp	2016-05-17 19:19:11 UTC (rev 4488)
@@ -99,7 +99,7 @@
  * @return all type use to numerotation
  */
 QString NumerotationContext::validRegExpNum () const {
-	return ("unit|ten|hundred|string|folio");
+	return ("unit|ten|hundred|string|idfolio|folio");
 }
 
 /**

Modified: trunk/sources/numerotationcontextcommands.cpp
===================================================================
--- trunk/sources/numerotationcontextcommands.cpp	2016-05-17 15:29:46 UTC (rev 4487)
+++ trunk/sources/numerotationcontextcommands.cpp	2016-05-17 19:19:11 UTC (rev 4488)
@@ -104,7 +104,11 @@
 		strategy_ = new StringNum (diagram_);
 		return;
 	}
-	else if (str == "folio") {
+	else if (str == "idfolio") {
+		strategy_ = new IdFolioNum (diagram_);
+		return;
+	}
+	else if (str=="folio"){
 		strategy_ = new FolioNum (diagram_);
 		return;
 	}
@@ -291,8 +295,39 @@
 	return (nextString(nc, i));
 }
 
+/**
+ * Constructor
+ */
+IdFolioNum::IdFolioNum (Diagram *d):
+	NumStrategy (d)
+{}
 
 /**
+ * @brief IdFolioNum::toRepresentedString
+ * @return the represented string of num
+ */
+QString IdFolioNum::toRepresentedString(const QString str) const {
+	Q_UNUSED(str);
+	return (QString::number(diagram_ -> folioIndex() + 1));
+}
+
+/**
+ * @brief IdFolioNum::next
+ * @return the next NumerotationContext nc at position i
+ */
+NumerotationContext IdFolioNum::next (const NumerotationContext &nc, const int i) const {
+	return (nextString(nc, i));
+}
+
+/**
+ * @brief IdFolioNum::previous
+ * @return the previous NumerotationContext nc at posiiton i
+ */
+NumerotationContext IdFolioNum::previous(const NumerotationContext &nc, const int i) const {
+	return (nextString(nc, i));
+}
+
+/**
  * Constructor
  */
 FolioNum::FolioNum (Diagram *d):
@@ -301,11 +336,11 @@
 
 /**
  * @brief FolioNum::toRepresentedString
- * @return the represented string of num
+ * @return the represented string of folio
  */
 QString FolioNum::toRepresentedString(const QString str) const {
 	Q_UNUSED(str);
-	return (QString::number(diagram_ -> folioIndex() + 1));
+	return (diagram_->border_and_titleblock.folio());
 }
 
 /**

Modified: trunk/sources/numerotationcontextcommands.h
===================================================================
--- trunk/sources/numerotationcontextcommands.h	2016-05-17 15:29:46 UTC (rev 4487)
+++ trunk/sources/numerotationcontextcommands.h	2016-05-17 19:19:11 UTC (rev 4488)
@@ -96,6 +96,15 @@
 	NumerotationContext previous (const NumerotationContext &, const int) const;
 };
 
+class IdFolioNum: public NumStrategy
+{
+	public:
+	IdFolioNum (Diagram *);
+	QString toRepresentedString(const QString) const;
+	NumerotationContext next     (const NumerotationContext &, const int) const;
+	NumerotationContext previous (const NumerotationContext &, const int) const;
+};
+
 class FolioNum: public NumStrategy
 {
 	public:
@@ -104,5 +113,4 @@
 	NumerotationContext next     (const NumerotationContext &, const int) const;
 	NumerotationContext previous (const NumerotationContext &, const int) const;
 };
-
 #endif // NUMEROTATIONCONTEXTCOMMANDS_H

Modified: trunk/sources/projectconfigpages.cpp
===================================================================
--- trunk/sources/projectconfigpages.cpp	2016-05-17 15:29:46 UTC (rev 4487)
+++ trunk/sources/projectconfigpages.cpp	2016-05-17 19:19:11 UTC (rev 4488)
@@ -159,10 +159,10 @@
 void ProjectMainConfigPage::initWidgets() {
 	title_label_ = new QLabel(tr("Titre du projet :", "label when configuring"));
 	title_value_ = new QLineEdit();
-    title_information_ = new QLabel(tr("Ce titre sera disponible pour tous les folios de ce projet en tant que %projecttitle.", "informative label"));
+	title_information_ = new QLabel(tr("Ce titre sera disponible pour tous les folios de ce projet en tant que %projecttitle.", "informative label"));
 	project_variables_label_ = new QLabel(
 		tr(
-            "Vous pouvez définir ci-dessous des propriétés personnalisées qui seront disponibles pour tous les folios de ce projet (typiquement pour les cartouches).",
+			"Vous pouvez définir ci-dessous des propriétés personnalisées qui seront disponibles pour tous les folios de ce projet (typiquement pour les cartouches).",
 			 "informative label"
 		)
 	);
@@ -252,43 +252,42 @@
  */
 void ProjectAutoNumConfigPage::initWidgets() {
 
-    tab_widget = new QTabWidget(this);
-    tab_widget->setMinimumWidth(440);
+	tab_widget = new QTabWidget(this);
 
-    //Conductor Tab
-    conductor_tab_widget = new QWidget(this);
+	//Conductor Tab
+	conductor_tab_widget = new QWidget(this);
 
-    m_label = new QLabel(tr("Numérotations disponibles :", "availables numerotations"), conductor_tab_widget);
+	m_label = new QLabel(tr("Numérotations disponibles :", "availables numerotations"), conductor_tab_widget);
 
-    m_context_cb = new QComboBox(conductor_tab_widget);
+	m_context_cb = new QComboBox(conductor_tab_widget);
 	m_context_cb->setEditable(true);
 	m_context_cb->lineEdit()->setClearButtonEnabled(true);
 	m_context_cb->addItem(tr("Nom de la nouvelle numérotation"));
 
-    m_remove_pb = new QPushButton(QET::Icons::EditDelete, QString(), conductor_tab_widget);
+	m_remove_pb = new QPushButton(QET::Icons::EditDelete, QString(), conductor_tab_widget);
 	m_remove_pb -> setToolTip(tr("Supprimer la numérotation"));
 
-    m_saw = new SelectAutonumW(conductor_tab_widget);
+	m_saw = new SelectAutonumW(conductor_tab_widget);
 
-    //Folio Tab
-    folio_tab_widget = new QWidget(this);
+	//Folio Tab
+	folio_tab_widget = new QWidget(this);
+	folio_tab_widget->setObjectName("FolioTab");
 
-    m_label_2 = new QLabel(tr("Numérotations disponibles :", "availables numerotations"), folio_tab_widget);
+	m_label_2 = new QLabel(tr("Numérotations disponibles :", "availables numerotations"), folio_tab_widget);
 
-    m_context_cb_2 = new QComboBox(folio_tab_widget);
-    m_context_cb_2->setEditable(true);
-    m_context_cb_2->lineEdit()->setClearButtonEnabled(true);
-    m_context_cb_2->addItem(tr("Nom de la nouvelle numérotation"));
+	m_context_cb_2 = new QComboBox(folio_tab_widget);
+	m_context_cb_2->setEditable(true);
+	m_context_cb_2->lineEdit()->setClearButtonEnabled(true);
+	m_context_cb_2->addItem(tr("Nom de la nouvelle numérotation"));
 
-    m_remove_pb_2 = new QPushButton(QET::Icons::EditDelete, QString(), folio_tab_widget);
-    m_remove_pb_2 -> setToolTip(tr("Supprimer la numérotation"));
+	m_remove_pb_2 = new QPushButton(QET::Icons::EditDelete, QString(), folio_tab_widget);
+	m_remove_pb_2 -> setToolTip(tr("Supprimer la numérotation"));
 
-    m_saw_2 = new SelectAutonumW(folio_tab_widget);
+	m_saw_2 = new SelectAutonumW(folio_tab_widget);
 
-/*    //AutoNumbering Tab - Needs Further Testing
-    autoNumbering_tab_widget = new QWidget(this);
-    m_faw = new FolioAutonumberingW(project(),autoNumbering_tab_widget);
-*/
+	//AutoNumbering Tab
+	autoNumbering_tab_widget = new QWidget(this);
+	m_faw = new FolioAutonumberingW(project(),autoNumbering_tab_widget);
 }
 
 /**
@@ -296,40 +295,43 @@
  * Init the layout of this page
  */
 void ProjectAutoNumConfigPage::initLayout() {
-    //Conductor tab
-    tab_widget->addTab(conductor_tab_widget, tr("Conductor"));
 
-    QHBoxLayout *context_layout = new QHBoxLayout();
+	//Conductor tab
+	tab_widget->addTab(conductor_tab_widget, tr("Conductor"));
+
+	QHBoxLayout *context_layout = new QHBoxLayout();
 	context_layout -> addWidget (m_label);
 	context_layout -> addWidget (m_context_cb);
 	context_layout -> addWidget (m_remove_pb);
 
-    QVBoxLayout *main_layout = new QVBoxLayout();
-    QVBoxLayout *aux_layout = new QVBoxLayout();
-    aux_layout->addLayout(context_layout);
-    aux_layout->addWidget(m_saw);
+	QVBoxLayout *main_layout = new QVBoxLayout();
+	QVBoxLayout *aux_layout = new QVBoxLayout();
+	aux_layout->addLayout(context_layout);
+	aux_layout->addWidget(m_saw);
 
-    main_layout->addLayout(aux_layout);
-    conductor_tab_widget -> setLayout (main_layout);
+	main_layout->addLayout(aux_layout);
+	conductor_tab_widget -> setLayout (main_layout);
 
-    // Folio Tab
-    tab_widget->addTab(folio_tab_widget, tr("Folio"));
+	// Folio Tab
+	tab_widget->addTab(folio_tab_widget, tr("Folio"));
 
-    QHBoxLayout *context_layout_2 = new QHBoxLayout();
-    context_layout_2 -> addWidget (m_label_2);
-    context_layout_2 -> addWidget (m_context_cb_2);
-    context_layout_2 -> addWidget (m_remove_pb_2);
+	QHBoxLayout *context_layout_2 = new QHBoxLayout();
+	context_layout_2 -> addWidget (m_label_2);
+	context_layout_2 -> addWidget (m_context_cb_2);
+	context_layout_2 -> addWidget (m_remove_pb_2);
 
-    QVBoxLayout *main_layout_2 = new QVBoxLayout();
-    QVBoxLayout *aux_layout_2 = new QVBoxLayout();
-    aux_layout_2->addLayout(context_layout_2);
-    aux_layout_2->addWidget(m_saw_2);
+	QVBoxLayout *main_layout_2 = new QVBoxLayout();
+	QVBoxLayout *aux_layout_2 = new QVBoxLayout();
+	aux_layout_2->addLayout(context_layout_2);
+	aux_layout_2->addWidget(m_saw_2);
 
-    main_layout_2->addLayout(aux_layout_2);
-    folio_tab_widget -> setLayout (main_layout_2);
+	main_layout_2->addLayout(aux_layout_2);
+	folio_tab_widget -> setLayout (main_layout_2);
 
-	//Auto Numbering Tab - Needs Further Testing
-//    tab_widget->addTab(autoNumbering_tab_widget,tr ("Folio Auto Numbering"));
+	//Auto Numbering Tab
+	tab_widget->addTab(autoNumbering_tab_widget,tr ("Folio Auto Numbering"));
+
+	tab_widget->resize(440,590);
 }
 
 /**
@@ -337,7 +339,7 @@
  * Read value stored on project, and update display
  */
 void ProjectAutoNumConfigPage::readValuesFromProject() {
-    //Conductor Tab
+	//Conductor Tab
 	QList <QString> keys = project_->conductorAutoNum().keys();
 	if (!keys.isEmpty()){
 	foreach (QString str, keys) { m_context_cb -> addItem(str); }
@@ -349,8 +351,8 @@
 	foreach (QString str, keys_2) { m_context_cb_2 -> addItem(str);}
 	}
 
-	//Folio AutoNumbering Tab - Needs Further Testing
-//	m_faw->setContext(keys_2);
+	//Folio AutoNumbering Tab
+	m_faw->setContext(keys_2);
 }
 
 /**
@@ -370,18 +372,17 @@
 
 	//Conductor Tab
 	connect (m_context_cb, SIGNAL (currentIndexChanged(QString)), this, SLOT (updateContext(QString)));
-	connect (m_saw,        SIGNAL (applyPressed()),               this, SLOT (saveContext()));
-	connect (m_remove_pb,  SIGNAL (clicked()),                    this, SLOT(removeContext()));
+	connect (m_saw, SIGNAL (applyPressed()), this, SLOT (saveContext()));
+	connect (m_remove_pb, SIGNAL (clicked()), this, SLOT(removeContext()));
 
 	//Folio Tab
 	connect (m_context_cb_2, SIGNAL (currentIndexChanged(QString)), this, SLOT (updateContext_2(QString)));
-	connect (m_saw_2,        SIGNAL (applyPressed()),               this, SLOT (saveContext_2()));
-	connect (m_remove_pb_2,  SIGNAL (clicked()),                     this, SLOT (removeContext_2()));
+	connect (m_saw_2, SIGNAL (applyPressed()), this, SLOT (saveContext_2()));
+	connect (m_remove_pb_2, SIGNAL (clicked()), this, SLOT (removeContext_2()));
 
-/*	//Auto Folio Numbering - Needs Further Testing
-	connect (m_faw, SIGNAL (applyPressed()),                 this, SLOT (applyAutoNum()));
+	//	Auto Folio Numbering
+	connect (m_faw, SIGNAL (applyPressed()),				 this, SLOT (applyAutoNum()));
 	connect (m_faw, SIGNAL (m_autonumber_tabs_rb_clicked()), this, SLOT (tabChanged(int)));
-*/
 }
 
 /**
@@ -400,8 +401,8 @@
  * @param str, key of context stored in project
  */
 void ProjectAutoNumConfigPage::updateContext_2(QString str) {
-    if (str == tr("Nom de la nouvelle numérotation")) m_saw_2 -> setContext(NumerotationContext());
-    else m_saw_2 ->setContext(project_->folioAutoNum(str));
+	if (str == tr("Nom de la nouvelle numérotation")) m_saw_2 -> setContext(NumerotationContext());
+	else m_saw_2 ->setContext(project_->folioAutoNum(str));
 }
 
 /**
@@ -431,48 +432,47 @@
  * Save the current displayed folio context in project
  */
 void ProjectAutoNumConfigPage::saveContext_2() {
-    // If the text is the default text "Name of new numerotation" save the edited context
-    // With the the name "No name"
-    if (m_context_cb_2 -> currentText() == tr("Nom de la nouvelle numérotation")) {
-        project_->addFolioAutoNum (tr("Sans nom"), m_saw_2 -> toNumContext());
-        m_context_cb_2 -> addItem(tr("Sans nom"));
-    }
-    // If the text isn't yet to the autonum of the project, add this new item to the combo box.
-    else if ( !project_ -> folioAutoNum().keys().contains( m_context_cb_2->currentText())) {
-        project()->addFolioAutoNum(m_context_cb_2->currentText(), m_saw_2->toNumContext());
-        m_context_cb_2 -> addItem(m_context_cb_2->currentText());
-    }
-    // Else, the text already exist in the autonum of the project, just update the context
-    else {
-        project_->addFolioAutoNum (m_context_cb_2 -> currentText(), m_saw_2 -> toNumContext());
-    }
+	// If the text is the default text "Name of new numerotation" save the edited context
+	// With the the name "No name"
+	if (m_context_cb_2 -> currentText() == tr("Nom de la nouvelle numérotation")) {
+		project_->addFolioAutoNum (tr("Sans nom"), m_saw_2 -> toNumContext());
+		m_context_cb_2 -> addItem(tr("Sans nom"));
+	}
+	// If the text isn't yet to the autonum of the project, add this new item to the combo box.
+	else if ( !project_ -> folioAutoNum().keys().contains( m_context_cb_2->currentText())) {
+		project()->addFolioAutoNum(m_context_cb_2->currentText(), m_saw_2->toNumContext());
+		m_context_cb_2 -> addItem(m_context_cb_2->currentText());
+	}
+	// Else, the text already exist in the autonum of the project, just update the context
+	else {
+		project_->addFolioAutoNum (m_context_cb_2 -> currentText(), m_saw_2 -> toNumContext());
+	}
 }
 
 /**
  * @brief ProjectAutoNumConfigPage::applyAutoNum
  * Apply auto folio numbering, New Folios or Selected Folios
  */
-/*
 void ProjectAutoNumConfigPage::applyAutoNum() {
 
-    if (m_faw->newFolios){
-        int foliosRemaining = m_faw->newFoliosNumber();
-        emit (saveCurrentTbp());
-        emit (setAutoNum(m_faw->autoNumSelected()));
-        while (foliosRemaining > 0){
-            project()->autoFolioNumberingNewFolios();
-            foliosRemaining = foliosRemaining-1;
-        }
-        emit (loadSavedTbp());
-    }
-    else{
+	if (m_faw->newFolios){
+		int foliosRemaining = m_faw->newFoliosNumber();
+		emit (saveCurrentTbp());
+		emit (setAutoNum(m_faw->autoNumSelected()));
+		while (foliosRemaining > 0){
+					qDebug() << foliosRemaining;
+			project()->autoFolioNumberingNewFolios();
+			foliosRemaining = foliosRemaining-1;
+		}
+		emit (loadSavedTbp());
+	}
+	else{
 		QString autoNum   = m_faw->autoNumSelected();
 		int fromFolio = m_faw->fromFolio();
 		int toFolio   = m_faw->toFolio();
 		project_->autoFolioNumberingSelectedFolios(fromFolio,toFolio,autoNum);		
-    }
+	}
 }
-*/
 
 /**
  * @brief ProjectAutoNumConfigPage::removeContext
@@ -481,18 +481,18 @@
 void ProjectAutoNumConfigPage::removeContext() {
 	//if default text, return
 	if ( m_context_cb -> currentText() == tr("Nom de la nouvelle numérotation") ) return;
-	project_     -> removeConductorAutonum (m_context_cb -> currentText() );
-	m_context_cb -> removeItem             (m_context_cb -> currentIndex() );
+	project_	 -> removeConductorAutonum	(m_context_cb -> currentText() );
+	m_context_cb -> removeItem				(m_context_cb -> currentIndex() );
 }
 /**
  * @brief ProjectAutoNumConfigPage::removeContext_2
  * Remove from project the current folio numerotation context
  */
 void ProjectAutoNumConfigPage::removeContext_2() {
-    //if default text, return
-    if ( m_context_cb_2 -> currentText() == tr("Nom de la nouvelle numérotation") ) return;
-	project_       -> removeFolioAutoNum     (m_context_cb_2 -> currentText() );
-	m_context_cb_2 -> removeItem             (m_context_cb_2 -> currentIndex() );
+	//if default text, return
+	if ( m_context_cb_2 -> currentText() == tr("Nom de la nouvelle numérotation") ) return;
+	project_	   -> removeFolioAutoNum	 (m_context_cb_2 -> currentText() );
+	m_context_cb_2 -> removeItem			 (m_context_cb_2 -> currentIndex() );
 }
 /**
  * @brief ProjectAutoNumConfigPage::changeToTab
@@ -500,7 +500,7 @@
  * Change to Selected Tab
  */
 void ProjectAutoNumConfigPage::changeToTab(int i){
-        tab_widget->setCurrentIndex(i);
+		tab_widget->setCurrentIndex(i);
 }
 
 /**
@@ -514,7 +514,7 @@
 			tab_widget->resize(470,tab_widget->height());
 		}
 		else {
-			tab_widget->adjustSize();
+			tab_widget->resize(440,tab_widget->height());
 		}
 	}
 }

Modified: trunk/sources/projectconfigpages.h
===================================================================
--- trunk/sources/projectconfigpages.h	2016-05-17 15:29:46 UTC (rev 4487)
+++ trunk/sources/projectconfigpages.h	2016-05-17 19:19:11 UTC (rev 4488)
@@ -147,7 +147,7 @@
 		void saveContext_2();
 		void removeContext_2();
 
-//		void applyAutoNum(); - Needs Further Testing
+		void applyAutoNum();
 
 		void tabChanged(int);
 

Modified: trunk/sources/projectview.cpp
===================================================================
--- trunk/sources/projectview.cpp	2016-05-17 15:29:46 UTC (rev 4487)
+++ trunk/sources/projectview.cpp	2016-05-17 19:19:11 UTC (rev 4488)
@@ -77,11 +77,10 @@
 void ProjectView::setProject(QETProject *project) {
 	if (!project_) {
 		project_ = project;
-		connect(project_, SIGNAL(projectTitleChanged(QETProject *, const QString &)), this, SLOT(updateWindowTitle()));
-		connect(project_, SIGNAL(projectModified	(QETProject *, bool)),			this, SLOT(updateWindowTitle()));
-		connect(project_, SIGNAL(readOnlyChanged	(QETProject *, bool)),			this, SLOT(adjustReadOnlyState()));
-		connect(project_, SIGNAL(addAutoNumDiagram()),   this, SLOT(addNewDiagram()));
-		connect(project_, SIGNAL(addAutoNumDiagram()),   this, SLOT(addNewDiagram()));
+		connect(project_, SIGNAL(projectTitleChanged(QETProject *, const QString &)),	this, SLOT(updateWindowTitle()));
+		connect(project_, SIGNAL(projectModified	(QETProject *, bool)),				this, SLOT(updateWindowTitle()));
+		connect(project_, SIGNAL(readOnlyChanged	(QETProject *, bool)),				this, SLOT(adjustReadOnlyState()));
+		connect(project_, SIGNAL(addAutoNumDiagram()),									this, SLOT(addNewDiagram()));
 		adjustReadOnlyState();
 		loadDiagrams();
 	}

Modified: trunk/sources/ui/folioautonumbering.cpp
===================================================================
--- trunk/sources/ui/folioautonumbering.cpp	2016-05-17 15:29:46 UTC (rev 4487)
+++ trunk/sources/ui/folioautonumbering.cpp	2016-05-17 19:19:11 UTC (rev 4488)
@@ -20,23 +20,22 @@
 #include <QMessageBox>
 #include <QPushButton>
 #include <QtWidgets>
-#include "qdebug.h"
 #include "qetproject.h"
 #include "diagram.h"
 /**
  * Constructor
  */
 FolioAutonumberingW::FolioAutonumberingW(QETProject *project, QWidget *parent) :
-    QWidget(parent),
-    project_(project),
-    ui(new Ui::FolioAutonumberingW)
+	QWidget(parent),
+	project_(project),
+	ui(new Ui::FolioAutonumberingW)
 
 {
-    ui->setupUi(this);
-    applyEnable(false);
-    ui->m_from_cb->setEnabled(false);
-    ui->m_new_tabs_sb->setEnabled(false);
-    ui->m_to_cb->setEnabled(false);
+	ui->setupUi(this);
+	applyEnable(false);
+	ui->m_from_cb->setEnabled(false);
+	ui->m_new_tabs_sb->setEnabled(false);
+	ui->m_to_cb->setEnabled(false);
 }
 
 /**
@@ -52,7 +51,7 @@
  * construct autonums in the comboBox selected in the @autonum_chooser QcomboBox
  */
 void FolioAutonumberingW::setContext(QList <QString> autonums) {
-    foreach (QString str, autonums) { ui->m_autonums_cb->addItem(str);}
+	foreach (QString str, autonums) { ui->m_autonums_cb->addItem(str);}
 }
 
 /**
@@ -60,7 +59,7 @@
  * returns the current autonum selected
  */
 QString FolioAutonumberingW::autoNumSelected(){
-    return ui->m_autonums_cb->currentText();
+	return ui->m_autonums_cb->currentText();
 }
 
 /**
@@ -84,7 +83,7 @@
  * returns the number of folios to create
  */
 int FolioAutonumberingW::newFoliosNumber(){
-    return ui->m_new_tabs_sb->value();
+	return ui->m_new_tabs_sb->value();
 }
 
 /**
@@ -92,9 +91,9 @@
  * update Folio List in From and To ComboBox
  */
 void FolioAutonumberingW::updateFolioList(){
-    ui   -> m_from_cb->clear();
-    ui   -> m_to_cb->clear();
-    if (newFolios){
+	ui   -> m_from_cb->clear();
+	ui   -> m_to_cb->clear();
+	if (newFolios){
 		this -> on_m_create_new_tabs_rb_clicked();
 	} else {
 		this -> on_m_autonumber_tabs_rb_clicked();
@@ -106,11 +105,11 @@
  *	Enable New Tabs SpinBox
  */
 void FolioAutonumberingW::on_m_create_new_tabs_rb_clicked() {
-    ui->m_from_cb->setEnabled(false);
-    ui->m_to_cb->setEnabled(false);
-    ui->m_new_tabs_sb->setEnabled(true);
-    applyEnable();
-    newFolios = true;
+	ui->m_from_cb->setEnabled(false);
+	ui->m_to_cb->setEnabled(false);
+	ui->m_new_tabs_sb->setEnabled(true);
+	applyEnable();
+	newFolios = true;
 }
 
 /**
@@ -118,18 +117,18 @@
  *	Enable From ComboBox, fill From ComboBox
  */
 void FolioAutonumberingW::on_m_autonumber_tabs_rb_clicked() {
-    ui->m_new_tabs_sb->setEnabled(false);
-    ui->m_from_cb->setEnabled(true);
-    ui->m_to_cb->setEnabled(true);
-    if (ui->m_from_cb->count()<=0){
-        ui->m_from_cb->clear();
-        ui->m_from_cb->addItem("");
-        foreach (Diagram *diagram, project_->diagrams()){
-            ui->m_from_cb->addItem(diagram->title());
-        }
-    }
-    applyEnable();
-    newFolios = false;
+	ui->m_new_tabs_sb->setEnabled(false);
+	ui->m_from_cb->setEnabled(true);
+	ui->m_to_cb->setEnabled(true);
+	if (ui->m_from_cb->count()<=0){
+		ui->m_from_cb->clear();
+		ui->m_from_cb->addItem("");
+		foreach (Diagram *diagram, project_->diagrams()){
+			ui->m_from_cb->addItem(diagram->title());
+		}
+	}
+	applyEnable();
+	newFolios = false;
 }
 
 /**
@@ -137,8 +136,8 @@
  *	Enable Apply if any new folio is to be created
  */
 void FolioAutonumberingW::on_m_new_tabs_sb_valueChanged(){
-    if (ui->m_new_tabs_sb->value()>0) applyEnable(true);
-    else applyEnable(false);
+	if (ui->m_new_tabs_sb->value()>0) applyEnable(true);
+	else applyEnable(false);
 }
 
 /**
@@ -146,17 +145,17 @@
  *	Enable To ComboBox
  */
 void FolioAutonumberingW::on_m_from_cb_currentIndexChanged(){
-    int index = ui->m_from_cb->currentIndex();
-    ui->m_to_cb->clear();
-    if (index > 0){
-        ui->m_to_cb->setEnabled(true);
-        for (int i=index;i<project_->diagrams().size();i++)
-            ui->m_to_cb->addItem(project_->diagrams().at(i)->title());
-        applyEnable(true);
-    }
-    else{
-        applyEnable();
-    }
+	int index = ui->m_from_cb->currentIndex();
+	ui->m_to_cb->clear();
+	if (index > 0){
+		ui->m_to_cb->setEnabled(true);
+		for (int i=index;i<project_->diagrams().size();i++)
+			ui->m_to_cb->addItem(project_->diagrams().at(i)->title());
+		applyEnable(true);
+	}
+	else{
+		applyEnable();
+	}
 
 }
 
@@ -165,35 +164,34 @@
  * Action on @buttonBox clicked
  */
 void FolioAutonumberingW::on_buttonBox_clicked(QAbstractButton *button) {
-    //transform button to int
+	//transform button to int
 	int answer = ui -> buttonBox -> buttonRole(button);
 
-    switch (answer) {
+	switch (answer) {
 			//help dialog - not implemented yet -
 		case QDialogButtonBox::HelpRole:
-			break;
-			/*QMessageBox::information (this, tr("Folio Autonumbering", "title window"),
-																	tr("C'est ici que vous pouvez définir la manière dont sera numéroté les nouveaux conducteurs.\n"
+			QMessageBox::information (this, tr("Folio Autonumbering", "title window"),
+																	tr("C'est ici que vous pouvez définir la manière dont sera numéroté les nouveaux folios.\n"
 																	   "-Une numérotation est composée d'une variable minimum.\n"
 																	   "-Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +.\n"
 																	   "-Une variable de numérotation comprant: un type, une valeur et une incrémentation.\n"
 
 																	   "\n-les types \"Chiffre 1\", \"Chiffre 01\" et \"Chiffre 001\", représente un type numérique définie dans le champs \"Valeur\", "
-																	   "qui s'incrémente à chaque nouveau conducteur de la valeur du champ \"Incrémentation\".\n"
+																	   "qui s'incrémente à chaque nouveau folio de la valeur du champ \"Incrémentation\".\n"
 																	   "-\"Chiffre 01\" et \"Chiffre 001\", sont respectivement représenté sur le schéma par deux et trois digits minimum.\n"
 																	   "Si le chiffre définie dans le champs Valeur posséde moins de digits que le type choisit,"
 																	   "celui-ci sera précédé par un ou deux 0 afin de respecter son type.\n"
 
-																	   "\n-Le type \"Texte\", représente un texte fixe.\nLe champs \"Incrémentation\" n'est pas utilisé.\n"
-
-																	   "\n-Le type \"N° folio\" représente le n° du folio en cours.\nLes autres champs ne sont pas utilisés.",
-																	   "help dialog about the autonumerotation"));	*/		
-        case QDialogButtonBox::ApplyRole:
-            applyEnable(true);
+																	   "\n-Le type \"Texte\", représente un texte fixe.\nLe champs \"Incrémentation\" n'est pas utilisé.\n",
+																	   "help dialog about the folio autonumerotation"
+																	   ));
+			break;
+		case QDialogButtonBox::ApplyRole:
+			applyEnable(true);
 			emit applyPressed();
-            updateFolioList();
+			updateFolioList();
 			break;
-    }
+	}
 }
 
 /**
@@ -201,18 +199,18 @@
  * enable/disable the apply button
  */
 void FolioAutonumberingW::applyEnable(bool b) {
-   if (b){
-        bool valid = true;
-        if (ui->m_create_new_tabs_rb->isChecked()){
-            if (ui->m_new_tabs_sb->value()==0) valid = false;
-            ui->buttonBox->button(QDialogButtonBox::Apply)->setEnabled(valid);
-        }
-        else{
-            if (ui->m_to_cb->currentText()=="") valid = false;
-            ui->buttonBox->button(QDialogButtonBox::Apply)->setEnabled(valid);
-        }
-   }
-    else{
-        ui -> buttonBox -> button(QDialogButtonBox::Apply) -> setEnabled(b);
-        }
+	if (b){
+		bool valid = true;
+		if (ui->m_create_new_tabs_rb->isChecked()){
+			if (ui->m_new_tabs_sb->value()==0) valid = false;
+			ui->buttonBox->button(QDialogButtonBox::Apply)->setEnabled(valid);
+		}
+		else{
+			if (ui->m_to_cb->currentText()=="") valid = false;
+			ui->buttonBox->button(QDialogButtonBox::Apply)->setEnabled(valid);
+		}
+	}
+	else{
+		ui -> buttonBox -> button(QDialogButtonBox::Apply) -> setEnabled(b);
+		}
 }

Modified: trunk/sources/ui/folioautonumbering.ui
===================================================================
--- trunk/sources/ui/folioautonumbering.ui	2016-05-17 15:29:46 UTC (rev 4487)
+++ trunk/sources/ui/folioautonumbering.ui	2016-05-17 19:19:11 UTC (rev 4488)
@@ -129,7 +129,7 @@
              </sizepolicy>
             </property>
             <property name="text">
-             <string>New Tabs</string>
+             <string>New Folios</string>
             </property>
            </widget>
           </item>
@@ -212,7 +212,7 @@
              </sizepolicy>
             </property>
             <property name="text">
-             <string>Create New Tabs</string>
+             <string>Create New Folios</string>
             </property>
            </widget>
           </item>
@@ -225,7 +225,7 @@
              </sizepolicy>
             </property>
             <property name="text">
-             <string>Autonumber Selected Tabs</string>
+             <string>Autonumber Selected Folios</string>
             </property>
            </widget>
           </item>
@@ -284,7 +284,7 @@
       </sizepolicy>
      </property>
      <property name="standardButtons">
-      <set>QDialogButtonBox::Apply|QDialogButtonBox::Help|QDialogButtonBox::Reset</set>
+      <set>QDialogButtonBox::Apply</set>
      </property>
     </widget>
    </item>

Modified: trunk/sources/ui/numparteditorw.cpp
===================================================================
--- trunk/sources/ui/numparteditorw.cpp	2016-05-17 15:29:46 UTC (rev 4487)
+++ trunk/sources/ui/numparteditorw.cpp	2016-05-17 19:19:11 UTC (rev 4488)
@@ -28,6 +28,7 @@
 	intValidator (new QIntValidator(0,99999,this))
 {
 	ui -> setupUi(this);
+	if (parentWidget()->parentWidget()->objectName()=="FolioTab") ui->type_combo->setMaxCount(4);
 	setType(NumPartEditorW::unit, true);
 }
 
@@ -41,7 +42,7 @@
 	intValidator (new QIntValidator(0,99999,this))
 {
 	ui -> setupUi(this);
-
+	if (parentWidget()->parentWidget()->objectName()=="FolioTab") ui->type_combo->setMaxCount(5);
 	//if @context contains nothing build with default value
 	if(context.size()==0) setType(NumPartEditorW::unit, true);
 
@@ -51,7 +52,8 @@
 		else if (strl.at(0)=="ten") setType(NumPartEditorW::ten, true);
 		else if (strl.at(0)=="hundred") setType(NumPartEditorW::hundred, true);
 		else if (strl.at(0)=="string") setType(NumPartEditorW::string);
-		else if (strl.at(0)== "folio") setType(NumPartEditorW::folio);
+		else if (strl.at(0)=="idfolio") setType(NumPartEditorW::idfolio);
+		else if (strl.at(0)=="folio") setType(NumPartEditorW::folio);
 		ui -> value_field -> setText(strl.at(1));
 		ui -> increase_spinBox -> setValue(strl.at(2).toInt());
 	}
@@ -86,6 +88,9 @@
 		case string:
 			type_str = "string";
 			break;
+		case idfolio:
+			type_str = "idfolio";
+			break;
 		case folio:
 			type_str = "folio";
 			break;
@@ -99,8 +104,9 @@
  * @return true if value field isn't empty or if type is folio
  */
 bool NumPartEditorW::isValid() {
-	if (type_ != folio && ui -> value_field -> text().isEmpty()) return false;
-	return true;
+	if (type_ == folio||type_ == idfolio) {return true;}
+	else if(ui -> value_field -> text().isEmpty()) {return false;}
+	else return true;
 }
 
 /**
@@ -121,6 +127,9 @@
 		case string:
 			setType(string);
 			break;
+		case idfolio:
+			setType(idfolio);
+			break;
 		case folio:
 			setType(folio);
 			break;
@@ -155,7 +164,7 @@
 
 	//if @t is a numeric type and preview type @type_ isn't a numeric type
 	//or @fnum is true, we set numeric behavior
-	if ( ((t==unit || t==ten || t==hundred) && (type_==string || type_==folio)) || fnum) {
+	if ( ((t==unit || t==ten || t==hundred) && (type_==string || type_==folio || type_==idfolio)) || fnum) {
 		ui -> value_field -> clear();
 		ui -> value_field -> setEnabled(true);
 		ui -> value_field -> setValidator(intValidator);
@@ -163,7 +172,7 @@
 		ui -> increase_spinBox -> setValue(1);
 	}
 	//@t isn't a numeric type
-	else if (t==string || t==folio) {
+	else if (t==string || t==folio || t==idfolio) {
 		ui -> value_field -> clear();
 		ui -> increase_spinBox -> setDisabled(true);
 		if (t==string) {
@@ -174,6 +183,10 @@
 			ui -> value_field -> setDisabled(true);
 			ui -> increase_spinBox -> setDisabled(true);
 		}
+		else if (t==idfolio) {
+			ui -> value_field -> setDisabled(true);
+			ui -> increase_spinBox -> setDisabled(true);
+		}
 	}
 	type_= t;
 }

Modified: trunk/sources/ui/numparteditorw.h
===================================================================
--- trunk/sources/ui/numparteditorw.h	2016-05-17 15:29:46 UTC (rev 4487)
+++ trunk/sources/ui/numparteditorw.h	2016-05-17 19:19:11 UTC (rev 4488)
@@ -41,7 +41,7 @@
 	NumPartEditorW (NumerotationContext &, int, QWidget *parent=0);
 	~NumPartEditorW();
 
-	enum type {unit,ten,hundred,string,folio};
+	enum type {unit,ten,hundred,string,idfolio,folio};
 	NumerotationContext toNumContext();
 	bool isValid ();
 

Modified: trunk/sources/ui/numparteditorw.ui
===================================================================
--- trunk/sources/ui/numparteditorw.ui	2016-05-17 15:29:46 UTC (rev 4487)
+++ trunk/sources/ui/numparteditorw.ui	2016-05-17 19:19:11 UTC (rev 4488)
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>259</width>
-    <height>42</height>
+    <width>308</width>
+    <height>45</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -28,6 +28,9 @@
        <verstretch>0</verstretch>
       </sizepolicy>
      </property>
+     <property name="editable">
+      <bool>true</bool>
+     </property>
      <item>
       <property name="text">
        <string>Chiffre 1</string>
@@ -53,6 +56,11 @@
        <string>N° folio</string>
       </property>
      </item>
+     <item>
+      <property name="text">
+       <string>Folio</string>
+      </property>
+     </item>
     </widget>
    </item>
    <item>

Modified: trunk/sources/ui/selectautonumw.cpp
===================================================================
--- trunk/sources/ui/selectautonumw.cpp	2016-05-17 15:29:46 UTC (rev 4487)
+++ trunk/sources/ui/selectautonumw.cpp	2016-05-17 19:19:11 UTC (rev 4488)
@@ -19,7 +19,6 @@
 #include "ui_selectautonumw.h"
 #include "numparteditorw.h"
 #include <QMessageBox>
-#include "qdebug.h"
 #include "numerotationcontextcommands.h"
 
 /**
@@ -125,7 +124,6 @@
 void SelectAutonumW::on_buttonBox_clicked(QAbstractButton *button) {
 	//transform button to int
 	int answer = ui -> buttonBox -> buttonRole(button);
-
 	switch (answer) {
 			//Reset the curent context
 		case QDialogButtonBox::ResetRole:
@@ -133,23 +131,46 @@
 			break;
 			//help dialog
 		case QDialogButtonBox::HelpRole:
-			QMessageBox::information (this, tr("Autonumérotation", "title window"),
-																	tr("C'est ici que vous pouvez définir la manière dont sera numéroté les nouveaux conducteurs.\n"
-																	   "-Une numérotation est composée d'une variable minimum.\n"
-																	   "-Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +.\n"
-																	   "-Une variable de numérotation comprant: un type, une valeur et une incrémentation.\n"
+			if (this->parentWidget() -> objectName()=="FolioTab"){
+				QMessageBox::information (this, tr("Folio Autonumérotation", "title window"),
+																		tr("C'est ici que vous pouvez définir la manière dont sera numéroté les nouveaux folios.\n"
+																		   "-Une numérotation est composée d'une variable minimum.\n"
+																		   "-Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +.\n"
+																		   "-Une variable de numérotation comprant: un type, une valeur et une incrémentation.\n"
 
-																	   "\n-les types \"Chiffre 1\", \"Chiffre 01\" et \"Chiffre 001\", représente un type numérique définie dans le champs \"Valeur\", "
-																	   "qui s'incrémente à chaque nouveau conducteur de la valeur du champ \"Incrémentation\".\n"
-																	   "-\"Chiffre 01\" et \"Chiffre 001\", sont respectivement représenté sur le schéma par deux et trois digits minimum.\n"
-																	   "Si le chiffre définie dans le champs Valeur posséde moins de digits que le type choisit,"
-																	   "celui-ci sera précédé par un ou deux 0 afin de respecter son type.\n"
+																		   "\n-les types \"Chiffre 1\", \"Chiffre 01\" et \"Chiffre 001\", représente un type numérique définie dans le champs \"Valeur\", "
+																		   "qui s'incrémente à chaque nouveau folio de la valeur du champ \"Incrémentation\".\n"
+																		   "-\"Chiffre 01\" et \"Chiffre 001\", sont respectivement représenté sur le schéma par deux et trois digits minimum.\n"
+																		   "Si le chiffre définie dans le champs Valeur posséde moins de digits que le type choisit,"
+																		   "celui-ci sera précédé par un ou deux 0 afin de respecter son type.\n"
 
-																	   "\n-Le type \"Texte\", représente un texte fixe.\nLe champs \"Incrémentation\" n'est pas utilisé.\n"
+																		   "\n-Le type \"Texte\", représente un texte fixe.\nLe champs \"Incrémentation\" n'est pas utilisé.\n",
+																		   "help dialog about the folio autonumerotation"
+																		   ));
+				break;
+			}
+			else{
+				QMessageBox::information (this, tr("Conductor Autonumérotation", "title window"),
+																		tr("C'est ici que vous pouvez définir la manière dont sera numéroté les nouveaux conducteurs.\n"
+																		   "-Une numérotation est composée d'une variable minimum.\n"
+																		   "-Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +.\n"
+																		   "-Une variable de numérotation comprant: un type, une valeur et une incrémentation.\n"
 
-																	   "\n-Le type \"N° folio\" représente le n° du folio en cours.\nLes autres champs ne sont pas utilisés.",
-																	   "help dialog about the autonumerotation"));
+																		   "\n-les types \"Chiffre 1\", \"Chiffre 01\" et \"Chiffre 001\", représente un type numérique définie dans le champs \"Valeur\", "
+																		   "qui s'incrémente à chaque nouveau conducteur de la valeur du champ \"Incrémentation\".\n"
+																		   "-\"Chiffre 01\" et \"Chiffre 001\", sont respectivement représenté sur le schéma par deux et trois digits minimum.\n"
+																		   "Si le chiffre définie dans le champs Valeur posséde moins de digits que le type choisit,"
+																		   "celui-ci sera précédé par un ou deux 0 afin de respecter son type.\n"
 
+																		   "\n-Le type \"Texte\", représente un texte fixe.\nLe champs \"Incrémentation\" n'est pas utilisé.\n"
+
+																		   "\n-Le type \"N° folio\" représente le n° du folio en cours.\nLes autres champs ne sont pas utilisés.\n"
+
+																		   "\n-Le type \"Folio\" représente le nom du folio en cours.\nLes autres champs ne sont pas utilisés.",
+																		   "help dialog about the conductor autonumerotation"
+																		   ));
+				break;
+			}
 			//apply the context in the diagram displayed by @diagram_chooser.
 		case QDialogButtonBox::ApplyRole:
 			applyEnable(false);

Modified: trunk/sources/ui/selectautonumw.ui
===================================================================
--- trunk/sources/ui/selectautonumw.ui	2016-05-17 15:29:46 UTC (rev 4487)
+++ trunk/sources/ui/selectautonumw.ui	2016-05-17 19:19:11 UTC (rev 4488)
@@ -6,12 +6,12 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>466</width>
+    <width>418</width>
     <height>506</height>
    </rect>
   </property>
   <property name="sizePolicy">
-   <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+   <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
     <horstretch>0</horstretch>
     <verstretch>0</verstretch>
    </sizepolicy>
@@ -23,14 +23,14 @@
    <item>
     <widget class="QScrollArea" name="scrollArea">
      <property name="sizePolicy">
-      <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
+      <sizepolicy hsizetype="Minimum" vsizetype="MinimumExpanding">
        <horstretch>0</horstretch>
        <verstretch>0</verstretch>
       </sizepolicy>
      </property>
      <property name="minimumSize">
       <size>
-       <width>430</width>
+       <width>400</width>
        <height>455</height>
       </size>
      </property>
@@ -66,19 +66,19 @@
        <rect>
         <x>0</x>
         <y>0</y>
-        <width>460</width>
+        <width>400</width>
         <height>453</height>
        </rect>
       </property>
       <property name="sizePolicy">
-       <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+       <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
         <horstretch>0</horstretch>
         <verstretch>0</verstretch>
        </sizepolicy>
       </property>
       <property name="minimumSize">
        <size>
-        <width>460</width>
+        <width>400</width>
         <height>450</height>
        </size>
       </property>
@@ -89,7 +89,7 @@
        <item>
         <widget class="QGroupBox" name="definition_groupe">
          <property name="sizePolicy">
-          <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
+          <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
            <horstretch>0</horstretch>
            <verstretch>0</verstretch>
           </sizepolicy>


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/