diff --git a/src/Mod/Drawing/Gui/Command.cpp b/src/Mod/Drawing/Gui/Command.cpp index b4aa2640f..2dc1a4957 100644 --- a/src/Mod/Drawing/Gui/Command.cpp +++ b/src/Mod/Drawing/Gui/Command.cpp @@ -317,6 +317,44 @@ void CmdDrawingOrthoViews::activated(int iMsg) } +//=========================================================================== +// Drawing_OpenBrowserView +//=========================================================================== + +DEF_STD_CMD_A(CmdDrawingOpenBrowserView); + +CmdDrawingOpenBrowserView::CmdDrawingOpenBrowserView() + : Command("Drawing_OpenBrowserView") +{ + // seting the + sGroup = QT_TR_NOOP("Drawing"); + sMenuText = QT_TR_NOOP("Open &browser view"); + sToolTipText = QT_TR_NOOP("Opens the selected page in a browser view"); + sWhatsThis = "Drawing_OpenBrowserView"; + sStatusTip = QT_TR_NOOP("Opens the selected page in a browser view"); + sPixmap = "actions/drawing-openbrowser"; +} + +void CmdDrawingOpenBrowserView::activated(int iMsg) +{ + unsigned int n = getSelection().countObjectsOfType(Drawing::FeaturePage::getClassTypeId()); + if (n != 1) { + QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Wrong selection"), + QObject::tr("Select one Page object.")); + return; + } + std::vector Sel = getSelection().getSelection(); + doCommand(Doc,"PageName = App.activeDocument().%s.PageResult",Sel[0].FeatName); + doCommand(Doc,"import WebGui"); + doCommand(Doc,"WebGui.openBrowser(PageName)"); +} + +bool CmdDrawingOpenBrowserView::isActive(void) +{ + return (getActiveGuiDocument() ? true : false); +} + + //=========================================================================== // Drawing_ExportPage //=========================================================================== @@ -412,6 +450,7 @@ void CreateDrawingCommands(void) rcCmdMgr.addCommand(new CmdDrawingNewA3Landscape()); rcCmdMgr.addCommand(new CmdDrawingNewView()); rcCmdMgr.addCommand(new CmdDrawingOrthoViews()); + rcCmdMgr.addCommand(new CmdDrawingOpenBrowserView()); rcCmdMgr.addCommand(new CmdDrawingExportPage()); rcCmdMgr.addCommand(new CmdDrawingProjectShape()); } diff --git a/src/Mod/Drawing/Gui/Resources/Drawing.qrc b/src/Mod/Drawing/Gui/Resources/Drawing.qrc index 6eb1358e1..853d6aa5e 100644 --- a/src/Mod/Drawing/Gui/Resources/Drawing.qrc +++ b/src/Mod/Drawing/Gui/Resources/Drawing.qrc @@ -15,6 +15,7 @@ icons/actions/drawing-portrait-A4.svg icons/actions/drawing-view.svg icons/actions/drawing-orthoviews.svg + icons/actions/drawing-openbrowser.svg translations/Drawing_af.qm translations/Drawing_de.qm translations/Drawing_es.qm diff --git a/src/Mod/Drawing/Gui/Resources/Makefile.am b/src/Mod/Drawing/Gui/Resources/Makefile.am index 19f31fdb2..dbca09f2e 100644 --- a/src/Mod/Drawing/Gui/Resources/Makefile.am +++ b/src/Mod/Drawing/Gui/Resources/Makefile.am @@ -19,6 +19,7 @@ EXTRA_DIST = \ icons/actions/drawing-landscape-new.svg \ icons/actions/drawing-portrait-A4.svg \ icons/actions/drawing-orthoviews.svg \ + icons/actions/drawing-openbrowser.svg \ icons/Page.svg \ icons/Pages.svg \ icons/View.svg \ diff --git a/src/Mod/Drawing/Gui/Resources/icons/actions/drawing-openbrowser.svg b/src/Mod/Drawing/Gui/Resources/icons/actions/drawing-openbrowser.svg new file mode 100755 index 000000000..fa26b7eac --- /dev/null +++ b/src/Mod/Drawing/Gui/Resources/icons/actions/drawing-openbrowser.svg @@ -0,0 +1,727 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + diff --git a/src/Mod/Drawing/Gui/Workbench.cpp b/src/Mod/Drawing/Gui/Workbench.cpp index 993a77462..d4816ada2 100644 --- a/src/Mod/Drawing/Gui/Workbench.cpp +++ b/src/Mod/Drawing/Gui/Workbench.cpp @@ -61,6 +61,7 @@ Gui::MenuItem* Workbench::setupMenuBar() const *part << "Drawing_NewPage"; *part << "Drawing_NewView"; *part << "Drawing_OrthoViews"; + *part << "Drawing_OpenBrowserView"; *part << "Drawing_ExportPage"; return root; @@ -76,6 +77,7 @@ Gui::ToolBarItem* Workbench::setupToolBars() const *part << "Drawing_NewPage"; *part << "Drawing_NewView"; *part << "Drawing_OrthoViews"; + *part << "Drawing_OpenBrowserView"; *part << "Drawing_ExportPage"; return root; } @@ -92,6 +94,7 @@ Gui::ToolBarItem* Workbench::setupCommandBars() const //*img << "Drawing_NewA3Landscape"; *img << "Drawing_NewPage"; *img << "Drawing_OrthoViews"; + *img << "Drawing_OpenBrowserView"; img = new Gui::ToolBarItem(root); img->setCommand("Views"); *img << "Drawing_NewView";