Bug fix : crash when edit the titleblock properties of an empty project (project without folio)

git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4636 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
blacksun
2016-08-17 13:00:32 +00:00
parent 12477553a8
commit ea7780540e
3 changed files with 13 additions and 10 deletions

View File

@@ -114,7 +114,6 @@ 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();

View File

@@ -116,10 +116,13 @@ QList<Diagram *> ProjectView::getDiagrams(ProjectSaveOptions options) {
} }
/** /**
@return le schema actuellement active * @brief ProjectView::currentDiagram
*/ * @return The current active diagram view or nullptr if there isn't diagramView in this project view.
*/
DiagramView *ProjectView::currentDiagram() const { DiagramView *ProjectView::currentDiagram() const {
int current_tab_index = m_tab -> currentIndex(); int current_tab_index = m_tab -> currentIndex();
if (current_tab_index == -1)
return nullptr;
return(diagram_ids_[current_tab_index]); return(diagram_ids_[current_tab_index]);
} }

View File

@@ -145,19 +145,20 @@ void AutoNumberingDockWidget::setConductorActive(DiagramView* dv) {
void AutoNumberingDockWidget::setActive() { void AutoNumberingDockWidget::setActive() {
if (projectview_!=NULL) { if (projectview_!=NULL) {
//Conductor //Conductor
QString conductor_autonum = projectview_->currentDiagram()->diagram()->conductorsAutonumName(); if (projectview_->currentDiagram()) {
int conductor_index = ui->m_conductor_cb->findText(conductor_autonum); QString conductor_autonum = projectview_->currentDiagram()->diagram()->conductorsAutonumName();
ui->m_conductor_cb->setCurrentIndex(conductor_index); int conductor_index = ui->m_conductor_cb->findText(conductor_autonum);
ui->m_conductor_cb->setCurrentIndex(conductor_index);
}
//Element //Element
QString current_element_autonum = project_->elementCurrentAutoNum();
QString element_formula = project_->elementAutoNumFormula(); QString element_formula = project_->elementAutoNumFormula();
QString active_element_autonum = project_->elementAutoNumHash().key(element_formula); QString active_element_autonum = project_->elementAutoNumHash().key(element_formula);
int el_index = ui->m_element_cb->findText(active_element_autonum); int el_index = ui->m_element_cb->findText(active_element_autonum);
ui->m_element_cb->setCurrentIndex(el_index); ui->m_element_cb->setCurrentIndex(el_index);
//Folio //Folio
if (project_->defaultTitleBlockProperties().folio == "%autonum") { 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);