From ce99d383fb6c655e08b5fbe64a75bec68ec2e576 Mon Sep 17 00:00:00 2001 From: wandererfan Date: Sat, 26 May 2018 20:40:09 -0400 Subject: [PATCH] Ignore selection changes while closing Page --- src/Mod/TechDraw/Gui/MDIViewPage.cpp | 8 +++++++- src/Mod/TechDraw/Gui/MDIViewPage.h | 3 ++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/Mod/TechDraw/Gui/MDIViewPage.cpp b/src/Mod/TechDraw/Gui/MDIViewPage.cpp index 4cb0a73607..d48c74d3e6 100644 --- a/src/Mod/TechDraw/Gui/MDIViewPage.cpp +++ b/src/Mod/TechDraw/Gui/MDIViewPage.cpp @@ -223,13 +223,19 @@ void MDIViewPage::setDocumentObject(const std::string& name) m_objectName = name; } +void MDIViewPage::setDocumentName(const std::string& name) +{ + m_documentName = name; +} + void MDIViewPage::closeEvent(QCloseEvent* ev) { MDIView::closeEvent(ev); if (!ev->isAccepted()) return; - + detachSelection(); + blockSelection(true); // when closing the view from GUI notify the view provider to mark it invisible if (_pcDocument && !m_objectName.empty()) { App::Document* doc = _pcDocument->getDocument(); diff --git a/src/Mod/TechDraw/Gui/MDIViewPage.h b/src/Mod/TechDraw/Gui/MDIViewPage.h index 699f613bc4..4baa422bf6 100644 --- a/src/Mod/TechDraw/Gui/MDIViewPage.h +++ b/src/Mod/TechDraw/Gui/MDIViewPage.h @@ -86,6 +86,7 @@ public: bool getFrameState(void) {return m_frameState;}; void setDocumentObject(const std::string&); + void setDocumentName(const std::string&); PyObject* getPyObject(); QGVPage* getQGVPage(void) {return m_view;}; @@ -98,7 +99,6 @@ public: void redrawAllViews(void); void redraw1View(TechDraw::DrawView* dv); - public Q_SLOTS: void setRenderer(QAction *action); void viewAll(); @@ -135,6 +135,7 @@ private: QAction *m_highQualityAntialiasingAction; std::string m_objectName; + std::string m_documentName; bool isSelectionBlocked; QGVPage *m_view;