From f4a7d02c0929fe5d1e3fe1549614bbd00eca6726 Mon Sep 17 00:00:00 2001 From: Jochen Becher Date: Fri, 10 Aug 2018 10:49:05 +0200 Subject: ModelEditor: Reload documents Task-number: QTCREATORBUG-20612 Change-Id: Ie4a89f17e9f062ab273b58f19b8c5d6193cedacc Reviewed-by: Tobias Hunger --- src/plugins/modeleditor/modeldocument.cpp | 13 +++++++++++-- src/plugins/modeleditor/modeleditor.cpp | 6 +++--- 2 files changed, 14 insertions(+), 5 deletions(-) (limited to 'src/plugins/modeleditor') diff --git a/src/plugins/modeleditor/modeldocument.cpp b/src/plugins/modeleditor/modeldocument.cpp index eef5ce60dc..e47c0d1a97 100644 --- a/src/plugins/modeleditor/modeldocument.cpp +++ b/src/plugins/modeleditor/modeldocument.cpp @@ -127,8 +127,17 @@ bool ModelDocument::reload(QString *errorString, Core::IDocument::ReloadFlag fla emit changed(); return true; } - *errorString = tr("Cannot reload model file."); - return false; + try { + d->documentController->loadProject(filePath().toString()); + } catch (const qmt::FileNotFoundException &ex) { + *errorString = ex.errorMessage(); + return false; + } catch (const qmt::Exception &ex) { + *errorString = tr("Could not open \"%1\" for reading: %2.").arg(filePath().toString()).arg(ex.errorMessage()); + return false; + } + emit contentSet(); + return true; } ExtDocumentController *ModelDocument::documentController() const diff --git a/src/plugins/modeleditor/modeleditor.cpp b/src/plugins/modeleditor/modeleditor.cpp index a95737c68c..d18ebec17c 100644 --- a/src/plugins/modeleditor/modeleditor.cpp +++ b/src/plugins/modeleditor/modeleditor.cpp @@ -369,16 +369,16 @@ void ModelEditor::init(QWidget *parent) void ModelEditor::initDocument() { + if (d->diagramsViewManager) + return; + initToolbars(); ExtDocumentController *documentController = d->document->documentController(); d->diagramView->setPxNodeController(documentController->pxNodeController()); - QMT_CHECK(!d->diagramsViewManager); d->diagramsViewManager = new DiagramsViewManager(this); - //connect(diagramsViewManager, &DiagramsViewManager::someDiagramOpened, - // documentController->diagramsManager(), &qmt::DiagramsManager::someDiagramOpened); connect(d->diagramsViewManager, &DiagramsViewManager::openNewDiagram, this, &ModelEditor::showDiagram); connect(d->diagramsViewManager, &DiagramsViewManager::closeOpenDiagram, -- cgit v1.2.1