Allow blank selection in Auto Numbering Dock

git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4580 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
dfochi
2016-07-18 15:23:30 +00:00
parent 5cd00517c5
commit cd3723920e
4 changed files with 45 additions and 25 deletions

View File

@@ -114,6 +114,7 @@ void NewDiagramPage::applyConf() {
if (m_project -> defaultTitleBlockProperties() != new_tbt_prop) { if (m_project -> defaultTitleBlockProperties() != new_tbt_prop) {
m_project -> setDefaultTitleBlockProperties(ipw -> properties()); m_project -> setDefaultTitleBlockProperties(ipw -> properties());
modified_project = true; modified_project = true;
emit (m_project->defaultTitleBlockPropertiesChanged());
} }
ConductorProperties new_conductor_prop = cpw -> properties(); ConductorProperties new_conductor_prop = cpw -> properties();
@@ -161,7 +162,7 @@ void NewDiagramPage::applyConf() {
xrp.toSettings(settings, str += key); xrp.toSettings(settings, str += key);
} }
} }
emit (m_project->defaultTitleBlockPropertiesChanged());
} }
/** /**

View File

@@ -309,7 +309,7 @@ void CustomElement::parseLabels() {
prefix = rxml.readElementText(); prefix = rxml.readElementText();
DiagramContext &dc = this->rElementInformations(); DiagramContext &dc = this->rElementInformations();
//if there is a formula to assign, assign it //if there is a formula to assign, assign it
if (!location().project()->elementAutoNumFormula().isEmpty() && this->linkType()!=Element::Slave) { if (!(location().project()->elementAutoNumFormula().isEmpty()) && (location().project()->elementAutoNumFormula() != "") && (this->linkType()!=Element::Slave)) {
QString formula = location().project()->elementAutoNumFormula(); QString formula = location().project()->elementAutoNumFormula();
this->setPrefix(prefix); this->setPrefix(prefix);
dc.addValue("label", formula); dc.addValue("label", formula);

View File

@@ -1416,10 +1416,12 @@ void QETProject::writeDefaultPropertiesXml(QDomElement &xml_element) {
element_autonums.setAttribute("current_formula", m_current_element_formula); element_autonums.setAttribute("current_formula", m_current_element_formula);
foreach (QString key, elementAutoNum().keys()) { foreach (QString key, elementAutoNum().keys()) {
QDomElement element_autonum = elementAutoNum(key).toXml(xml_document, "element_autonum"); QDomElement element_autonum = elementAutoNum(key).toXml(xml_document, "element_autonum");
if (key != "" && elementAutoNumFormula(key) != "") {
element_autonum.setAttribute("title", key); element_autonum.setAttribute("title", key);
element_autonum.setAttribute("formula", elementAutoNumFormula(key)); element_autonum.setAttribute("formula", elementAutoNumFormula(key));
element_autonums.appendChild(element_autonum); element_autonums.appendChild(element_autonum);
} }
}
xml_element.appendChild(element_autonums); xml_element.appendChild(element_autonums);
} }

View File

@@ -103,18 +103,21 @@ void AutoNumberingDockWidget::setContext() {
this->clear(); this->clear();
//Conductor Combobox //Conductor Combobox
ui->m_conductor_cb->addItem("");
QList <QString> keys_conductor = project_->conductorAutoNum().keys(); QList <QString> keys_conductor = project_->conductorAutoNum().keys();
if (!keys_conductor.isEmpty()) { if (!keys_conductor.isEmpty()) {
foreach (QString str, keys_conductor) { ui->m_conductor_cb-> addItem(str); } foreach (QString str, keys_conductor) { ui->m_conductor_cb-> addItem(str); }
} }
//Element Combobox //Element Combobox
ui->m_element_cb->addItem("");
QList <QString> keys_element = project_->elementAutoNum().keys(); QList <QString> keys_element = project_->elementAutoNum().keys();
if (!keys_element.isEmpty()) { if (!keys_element.isEmpty()) {
foreach (QString str, keys_element) {ui->m_element_cb -> addItem(str);} foreach (QString str, keys_element) {ui->m_element_cb -> addItem(str);}
} }
//Folio Combobox //Folio Combobox
ui->m_folio_cb->addItem("");
QList <QString> keys_folio = project_->folioAutoNum().keys(); QList <QString> keys_folio = project_->folioAutoNum().keys();
if (!keys_folio.isEmpty()) { if (!keys_folio.isEmpty()) {
foreach (QString str, keys_folio) { ui->m_folio_cb -> addItem(str);} foreach (QString str, keys_folio) { ui->m_folio_cb -> addItem(str);}
@@ -155,10 +158,12 @@ void AutoNumberingDockWidget::setActive() {
ui->m_element_cb->setCurrentIndex(el_index); ui->m_element_cb->setCurrentIndex(el_index);
//Folio //Folio
if (project_->defaultTitleBlockProperties().folio == "%autonum") {
QString page_autonum = project_->defaultTitleBlockProperties().auto_page_num; QString page_autonum = project_->defaultTitleBlockProperties().auto_page_num;
int folio_index = ui->m_folio_cb->findText(page_autonum); int folio_index = ui->m_folio_cb->findText(page_autonum);
ui->m_folio_cb->setCurrentIndex(folio_index); ui->m_folio_cb->setCurrentIndex(folio_index);
} }
}
} }
/** /**
@@ -170,6 +175,7 @@ void AutoNumberingDockWidget::conductorAutoNumChanged() {
ui->m_conductor_cb->clear(); ui->m_conductor_cb->clear();
//Conductor Combobox //Conductor Combobox
ui->m_conductor_cb->addItem("");
QList <QString> keys_conductor = project_->conductorAutoNum().keys(); QList <QString> keys_conductor = project_->conductorAutoNum().keys();
if (!keys_conductor.isEmpty()) { if (!keys_conductor.isEmpty()) {
foreach (QString str, keys_conductor) { ui->m_conductor_cb-> addItem(str); } foreach (QString str, keys_conductor) { ui->m_conductor_cb-> addItem(str); }
@@ -196,6 +202,7 @@ void AutoNumberingDockWidget::elementAutoNumChanged() {
ui->m_element_cb->clear(); ui->m_element_cb->clear();
//Element Combobox //Element Combobox
ui->m_element_cb->addItem("");
QList <QString> keys_element = project_->elementAutoNum().keys(); QList <QString> keys_element = project_->elementAutoNum().keys();
if (!keys_element.isEmpty()) { if (!keys_element.isEmpty()) {
foreach (QString str, keys_element) {ui->m_element_cb -> addItem(str);} foreach (QString str, keys_element) {ui->m_element_cb -> addItem(str);}
@@ -210,10 +217,12 @@ void AutoNumberingDockWidget::elementAutoNumChanged() {
*/ */
void AutoNumberingDockWidget::on_m_element_cb_activated(int) { void AutoNumberingDockWidget::on_m_element_cb_activated(int) {
QString current_autonum = ui->m_element_cb->currentText(); QString current_autonum = ui->m_element_cb->currentText();
QString current_formula = project_->elementAutoNumFormula(); QString current_formula = project_->elementAutoNumFormula(current_autonum);
if (current_formula!=NULL) { if (current_autonum != "") {
project_->setElementAutoNumCurrentFormula(current_formula, current_autonum); project_->setElementAutoNumCurrentFormula(current_formula, current_autonum);
} }
else
project_->setElementAutoNumCurrentFormula("","");
} }
/** /**
@@ -225,6 +234,7 @@ void AutoNumberingDockWidget::folioAutoNumChanged() {
ui->m_folio_cb->clear(); ui->m_folio_cb->clear();
//Folio Combobox //Folio Combobox
ui->m_folio_cb->addItem("");
QList <QString> keys_folio = project_->folioAutoNum().keys(); QList <QString> keys_folio = project_->folioAutoNum().keys();
if (!keys_folio.isEmpty()) { if (!keys_folio.isEmpty()) {
foreach (QString str, keys_folio) { ui->m_folio_cb -> addItem(str);} foreach (QString str, keys_folio) { ui->m_folio_cb -> addItem(str);}
@@ -239,8 +249,15 @@ void AutoNumberingDockWidget::folioAutoNumChanged() {
*/ */
void AutoNumberingDockWidget::on_m_folio_cb_activated(int) { void AutoNumberingDockWidget::on_m_folio_cb_activated(int) {
QString current_autonum = ui->m_folio_cb->currentText(); QString current_autonum = ui->m_folio_cb->currentText();
TitleBlockProperties ip = project_->defaultTitleBlockProperties(); TitleBlockProperties ip = project_ -> defaultTitleBlockProperties();
if (current_autonum != "") {
ip.setAutoPageNum(current_autonum); ip.setAutoPageNum(current_autonum);
ip.folio = "%autonum";
project_->setDefaultTitleBlockProperties(ip); project_->setDefaultTitleBlockProperties(ip);
}
else {
ip.folio = "%id/%total";
project_->setDefaultTitleBlockProperties(ip);
}
emit(folioAutoNumChanged(current_autonum)); emit(folioAutoNumChanged(current_autonum));
} }