diff --git a/src/Gui/Workbench.cpp b/src/Gui/Workbench.cpp index 71990367e1..7b4d27e559 100644 --- a/src/Gui/Workbench.cpp +++ b/src/Gui/Workbench.cpp @@ -725,7 +725,6 @@ MenuItem* StdWorkbench::setupMenuBar() const #endif *tool << "Std_Measure" << "Std_ClarifySelection" - << "Std_QuickMeasure" << "Std_UnitsCalculator" << "Separator" << "Std_ViewLoadImage" diff --git a/src/Mod/Measure/Gui/AppMeasureGui.cpp b/src/Mod/Measure/Gui/AppMeasureGui.cpp index 135126fbc0..245c953d6f 100644 --- a/src/Mod/Measure/Gui/AppMeasureGui.cpp +++ b/src/Mod/Measure/Gui/AppMeasureGui.cpp @@ -110,5 +110,8 @@ PyMOD_INIT_FUNC(MeasureGui) Base::Interpreter().addType(&MeasureGui::QuickMeasurePy::Type, mod, "QuickMeasure"); + // Create a QuickMeasure instance + new MeasureGui::QuickMeasure(QApplication::instance()); + PyMOD_Return(mod); } diff --git a/src/Mod/Measure/Gui/Command.cpp b/src/Mod/Measure/Gui/Command.cpp index 1cb8dd019f..996e832543 100644 --- a/src/Mod/Measure/Gui/Command.cpp +++ b/src/Mod/Measure/Gui/Command.cpp @@ -23,7 +23,6 @@ #include #include -#include #include #include #include @@ -32,7 +31,6 @@ #include #include -#include "QuickMeasure.h" #include "TaskMeasure.h" @@ -79,68 +77,6 @@ bool StdCmdMeasure::isActive() return false; } - -class StdCmdQuickMeasure: public Gui::Command -{ -public: - StdCmdQuickMeasure() - : Command("Std_QuickMeasure") - { - sGroup = "Measure"; - sMenuText = QT_TR_NOOP("&Quick measure"); - sToolTipText = QT_TR_NOOP("Toggle quick measure"); - sWhatsThis = "Std_QuickMeasure"; - sStatusTip = QT_TR_NOOP("Toggle quick measure"); - accessParameter(); - } - ~StdCmdQuickMeasure() override = default; - StdCmdQuickMeasure(const StdCmdQuickMeasure&) = delete; - StdCmdQuickMeasure(StdCmdQuickMeasure&&) = delete; - StdCmdQuickMeasure& operator=(const StdCmdQuickMeasure&) = delete; - StdCmdQuickMeasure& operator=(StdCmdQuickMeasure&&) = delete; - - const char* className() const override - { - return "StdCmdQuickMeasure"; - } - -protected: - void activated(int iMsg) override - { - if (parameter.isValid()) { - parameter->SetBool("EnableQuickMeasure", iMsg > 0); - } - - if (iMsg == 0) { - if (quickMeasure) { - quickMeasure->print(QString()); - } - quickMeasure.reset(); - } - else { - quickMeasure = std::make_unique(QApplication::instance()); - } - } - Gui::Action* createAction() override - { - Gui::Action* action = Gui::Command::createAction(); - action->setCheckable(true); - action->setChecked(parameter->GetBool("EnableQuickMeasure", true)); - return action; - } - void accessParameter() - { - // clang-format off - parameter = App::GetApplication().GetUserParameter(). - GetGroup("BaseApp/Preferences/Mod/Measure"); - // clang-format on - } - -private: - std::unique_ptr quickMeasure; - ParameterGrp::handle parameter; -}; - void CreateMeasureCommands() { Gui::CommandManager& rcCmdMgr = Gui::Application::Instance->commandManager(); @@ -148,5 +84,4 @@ void CreateMeasureCommands() auto cmd = new StdCmdMeasure(); cmd->initAction(); rcCmdMgr.addCommand(cmd); - rcCmdMgr.addCommand(new StdCmdQuickMeasure); }