From 0c9251446411a577c16a762258f923ab0bf49472 Mon Sep 17 00:00:00 2001 From: Roy-043 <70520633+Roy-043@users.noreply.github.com> Date: Thu, 23 Sep 2021 20:16:53 +0200 Subject: [PATCH 1/2] Draft: fix 2 edit mode issues --- src/Mod/Draft/draftviewproviders/view_base.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/Mod/Draft/draftviewproviders/view_base.py b/src/Mod/Draft/draftviewproviders/view_base.py index 43751820b0..452fee3f4c 100644 --- a/src/Mod/Draft/draftviewproviders/view_base.py +++ b/src/Mod/Draft/draftviewproviders/view_base.py @@ -388,15 +388,15 @@ class ViewProviderDraft(object): None if mode is not zero. It is `False` otherwise. """ - if mode == 0 and App.GuiUp: #remove guard after splitting every viewprovider + if mode != 0: + return None + elif App.GuiUp and "Draft_Edit" in Gui.listCommands(): # remove App.GuiUp guard after splitting every viewprovider Gui.runCommand("Draft_Edit") return True - elif mode != 0: - # Act like this function doesn't even exist, so the command falls back to Part (e.g. in the - # case of an unrecognized context menu action) - return None - - return False + else: + _wrn = "Please load the Draft Workbench to enable editing this object" + App.Console.PrintWarning(QT_TRANSLATE_NOOP("Draft", _wrn)) + return False def unsetEdit(self, vobj, mode=0): """Terminate the edit mode of the object. @@ -423,7 +423,7 @@ class ViewProviderDraft(object): This is `obj.ViewObject`. mode : int, optional - It defaults to 0. It is not used. + It defaults to 0. It indicates the type of edit in the underlying C++ code. Returns @@ -432,6 +432,8 @@ class ViewProviderDraft(object): This method always returns `False` so it passes control to the base class to finish the edit mode. """ + if mode != 0: + return False if App.activeDraftCommand: App.activeDraftCommand.finish() if App.GuiUp: # remove guard after splitting every viewprovider From 6babbda88d482f28d30e1ee2e06f67c5a39116bc Mon Sep 17 00:00:00 2001 From: Roy-043 <70520633+Roy-043@users.noreply.github.com> Date: Thu, 23 Sep 2021 20:24:35 +0200 Subject: [PATCH 2/2] Update view_base.py --- src/Mod/Draft/draftviewproviders/view_base.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Mod/Draft/draftviewproviders/view_base.py b/src/Mod/Draft/draftviewproviders/view_base.py index 452fee3f4c..622cd4be13 100644 --- a/src/Mod/Draft/draftviewproviders/view_base.py +++ b/src/Mod/Draft/draftviewproviders/view_base.py @@ -389,6 +389,8 @@ class ViewProviderDraft(object): It is `False` otherwise. """ if mode != 0: + # Act like this function doesn't even exist, so the command falls back to Part (e.g. in the + # case of an unrecognized context menu action) return None elif App.GuiUp and "Draft_Edit" in Gui.listCommands(): # remove App.GuiUp guard after splitting every viewprovider Gui.runCommand("Draft_Edit")