From 80b5fe6d5e69b9c4a3de03f7df49d7d75578e66d Mon Sep 17 00:00:00 2001 From: dismine Date: Thu, 10 Oct 2013 13:00:04 +0300 Subject: [PATCH] Fixed bug with change name of drawing. --HG-- branch : develop --- mainwindow.cpp | 8 ++++++-- xml/vdomdocument.cpp | 15 ++++++++++++--- xml/vdomdocument.h | 2 +- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/mainwindow.cpp b/mainwindow.cpp index 2f0fb98b4..84ebd4500 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -198,8 +198,12 @@ void MainWindow::OptionDraw(){ } delete dlg; index = comboBoxDraws->findText(doc->GetNameActivDraw()); - doc->SetNameDraw(nameDraw); - comboBoxDraws->setItemText(index, nameDraw); + if(doc->SetNameDraw(nameDraw)){ + comboBoxDraws->setItemText(index, nameDraw); + } else { + QMessageBox::warning(this, tr("Error saving change!!!"), tr("Can't save new name of drawing")); + } + } template diff --git a/xml/vdomdocument.cpp b/xml/vdomdocument.cpp index cc8d87e01..f99b846f7 100644 --- a/xml/vdomdocument.cpp +++ b/xml/vdomdocument.cpp @@ -169,11 +169,20 @@ void VDomDocument::ChangeActivDraw(const QString& name, Document::Documents pars } } -void VDomDocument::SetNameDraw(const QString& name){ +bool VDomDocument::SetNameDraw(const QString& name){ Q_ASSERT_X(!name.isEmpty(), "SetNameDraw", "name draw is empty"); QString oldName = nameActivDraw; - nameActivDraw = name; - emit ChangedNameDraw(oldName, nameActivDraw); + QDomElement element; + if(GetActivDrawElement(element)){ + nameActivDraw = name; + element.setAttribute("name", nameActivDraw); + emit haveChange(); + emit ChangedNameDraw(oldName, nameActivDraw); + return true; + } else { + qWarning()<<"Can't find activ draw"<* getTools(); QVector *getHistory();