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) {
m_project -> setDefaultTitleBlockProperties(ipw -> properties());
modified_project = true;
emit (m_project->defaultTitleBlockPropertiesChanged());
}
ConductorProperties new_conductor_prop = cpw -> properties();
@@ -161,7 +162,7 @@ void NewDiagramPage::applyConf() {
xrp.toSettings(settings, str += key);
}
}
emit (m_project->defaultTitleBlockPropertiesChanged());
}
/**

View File

@@ -309,7 +309,7 @@ void CustomElement::parseLabels() {
prefix = rxml.readElementText();
DiagramContext &dc = this->rElementInformations();
//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();
this->setPrefix(prefix);
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);
foreach (QString key, elementAutoNum().keys()) {
QDomElement element_autonum = elementAutoNum(key).toXml(xml_document, "element_autonum");
if (key != "" && elementAutoNumFormula(key) != "") {
element_autonum.setAttribute("title", key);
element_autonum.setAttribute("formula", elementAutoNumFormula(key));
element_autonums.appendChild(element_autonum);
}
}
xml_element.appendChild(element_autonums);
}

View File

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