Reset edit after dialogs

This commit is contained in:
WandererFan 2017-01-03 20:13:15 -05:00
parent 9e7d56d4da
commit 429c32bdde
4 changed files with 23 additions and 3 deletions

View File

@ -285,10 +285,10 @@ bool TaskSectionView::accept()
{ {
if (strcmp(sectionDir,"unset") == 0) { if (strcmp(sectionDir,"unset") == 0) {
Base::Console().Message("No direction selected!\n"); Base::Console().Message("No direction selected!\n");
reject(); return reject();
return false;
} else { } else {
updateValues(); updateValues();
Gui::Command::doCommand(Gui::Command::Gui,"Gui.ActiveDocument.resetEdit()");
return true; return true;
} }
} }
@ -301,6 +301,7 @@ bool TaskSectionView::reject()
Gui::Command::doCommand(Gui::Command::Gui,"App.activeDocument().%s.removeView(App.activeDocument().%s)", Gui::Command::doCommand(Gui::Command::Gui,"App.activeDocument().%s.removeView(App.activeDocument().%s)",
PageName.c_str(),SectionName.c_str()); PageName.c_str(),SectionName.c_str());
Gui::Command::doCommand(Gui::Command::Gui,"App.activeDocument().removeObject('%s')",SectionName.c_str()); Gui::Command::doCommand(Gui::Command::Gui,"App.activeDocument().removeObject('%s')",SectionName.c_str());
Gui::Command::doCommand(Gui::Command::Gui,"Gui.ActiveDocument.resetEdit()");
return false; return false;
} }

View File

@ -37,6 +37,8 @@
#include <App/DocumentObject.h> #include <App/DocumentObject.h>
#include <Gui/Application.h> #include <Gui/Application.h>
#include <Gui/Command.h>
#include <Gui/Control.h>
#include <Gui/Document.h> #include <Gui/Document.h>
#include <Gui/Selection.h> #include <Gui/Selection.h>
#include <Gui/MainWindow.h> #include <Gui/MainWindow.h>
@ -190,6 +192,17 @@ void ViewProviderDrawingView::updateData(const App::Property* prop)
Gui::ViewProviderDocumentObject::updateData(prop); Gui::ViewProviderDocumentObject::updateData(prop);
} }
void ViewProviderDrawingView::unsetEdit(int ModNum)
{
if (ModNum == ViewProvider::Default) {
Gui::Control().closeDialog();
}
else {
Gui::ViewProviderDocumentObject::unsetEdit(ModNum);
}
}
MDIViewPage* ViewProviderDrawingView::getMDIViewPage() const MDIViewPage* ViewProviderDrawingView::getMDIViewPage() const
{ {
MDIViewPage* result = nullptr; MDIViewPage* result = nullptr;

View File

@ -59,6 +59,7 @@ public:
virtual void onChanged(const App::Property *prop); virtual void onChanged(const App::Property *prop);
virtual void updateData(const App::Property*); virtual void updateData(const App::Property*);
virtual void unsetEdit(int ModNum);
QGIView* getQView(void); QGIView* getQView(void);
MDIViewPage* getMDIViewPage() const; MDIViewPage* getMDIViewPage() const;

View File

@ -153,7 +153,12 @@ bool ViewProviderProjGroup::setEdit(int ModNum)
void ViewProviderProjGroup::unsetEdit(int ModNum) void ViewProviderProjGroup::unsetEdit(int ModNum)
{ {
Q_UNUSED(ModNum); Q_UNUSED(ModNum);
if (ModNum == ViewProvider::Default) {
Gui::Control().closeDialog(); Gui::Control().closeDialog();
}
else {
ViewProviderDrawingView::unsetEdit(ModNum);
}
} }
bool ViewProviderProjGroup::doubleClicked(void) bool ViewProviderProjGroup::doubleClicked(void)