diff options
28 files changed, 191 insertions, 1 deletions
diff --git a/basctl/uiconfig/basicide/menubar/menubar.xml b/basctl/uiconfig/basicide/menubar/menubar.xml index 66bcfa5b6c4c..62c7ded06394 100644 --- a/basctl/uiconfig/basicide/menubar/menubar.xml +++ b/basctl/uiconfig/basicide/menubar/menubar.xml @@ -100,6 +100,8 @@ <menu:menuitem menu:id=".uno:QuestionAnswers"/> <menu:menuitem menu:id=".uno:SendFeedback"/> <menu:menuseparator/> + <menu:menuitem menu:id=".uno:SafeMode"/> + <menu:menuseparator/> <menu:menuitem menu:id=".uno:ShowLicense"/> <menu:menuitem menu:id=".uno:About"/> </menu:menupopup> diff --git a/chart2/uiconfig/menubar/menubar.xml b/chart2/uiconfig/menubar/menubar.xml index 98c5aabdd54e..ddf7af15bac3 100644 --- a/chart2/uiconfig/menubar/menubar.xml +++ b/chart2/uiconfig/menubar/menubar.xml @@ -171,6 +171,8 @@ <menu:menuitem menu:id=".uno:QuestionAnswers"/> <menu:menuitem menu:id=".uno:SendFeedback"/> <menu:menuseparator/> + <menu:menuitem menu:id=".uno:SafeMode"/> + <menu:menuseparator/> <menu:menuitem menu:id=".uno:ShowLicense"/> <menu:menuitem menu:id=".uno:About"/> </menu:menupopup> diff --git a/dbaccess/uiconfig/dbapp/menubar/menubar.xml b/dbaccess/uiconfig/dbapp/menubar/menubar.xml index 13da527b2c18..97cad1c753cf 100644 --- a/dbaccess/uiconfig/dbapp/menubar/menubar.xml +++ b/dbaccess/uiconfig/dbapp/menubar/menubar.xml @@ -156,6 +156,8 @@ <menu:menuitem menu:id=".uno:QuestionAnswers"/> <menu:menuitem menu:id=".uno:SendFeedback"/> <menu:menuseparator/> + <menu:menuitem menu:id=".uno:SafeMode"/> + <menu:menuseparator/> <menu:menuitem menu:id=".uno:ShowLicense"/> <menu:menuitem menu:id=".uno:About"/> </menu:menupopup> diff --git a/dbaccess/uiconfig/dbquery/menubar/menubar.xml b/dbaccess/uiconfig/dbquery/menubar/menubar.xml index 7ee3833a8642..14d1acf6492f 100644 --- a/dbaccess/uiconfig/dbquery/menubar/menubar.xml +++ b/dbaccess/uiconfig/dbquery/menubar/menubar.xml @@ -97,6 +97,8 @@ <menu:menuitem menu:id=".uno:QuestionAnswers"/> <menu:menuitem menu:id=".uno:SendFeedback"/> <menu:menuseparator/> + <menu:menuitem menu:id=".uno:SafeMode"/> + <menu:menuseparator/> <menu:menuitem menu:id=".uno:ShowLicense"/> <menu:menuitem menu:id=".uno:About"/> </menu:menupopup> diff --git a/dbaccess/uiconfig/dbrelation/menubar/menubar.xml b/dbaccess/uiconfig/dbrelation/menubar/menubar.xml index fc6aaa76e294..3df7607efe87 100644 --- a/dbaccess/uiconfig/dbrelation/menubar/menubar.xml +++ b/dbaccess/uiconfig/dbrelation/menubar/menubar.xml @@ -80,6 +80,8 @@ <menu:menuitem menu:id=".uno:QuestionAnswers"/> <menu:menuitem menu:id=".uno:SendFeedback"/> <menu:menuseparator/> + <menu:menuitem menu:id=".uno:SafeMode"/> + <menu:menuseparator/> <menu:menuitem menu:id=".uno:ShowLicense"/> <menu:menuitem menu:id=".uno:About"/> </menu:menupopup> diff --git a/dbaccess/uiconfig/dbtable/menubar/menubar.xml b/dbaccess/uiconfig/dbtable/menubar/menubar.xml index 077f4552ea15..fa4aefc47609 100644 --- a/dbaccess/uiconfig/dbtable/menubar/menubar.xml +++ b/dbaccess/uiconfig/dbtable/menubar/menubar.xml @@ -81,6 +81,8 @@ <menu:menuitem menu:id=".uno:QuestionAnswers"/> <menu:menuitem menu:id=".uno:SendFeedback"/> <menu:menuseparator/> + <menu:menuitem menu:id=".uno:SafeMode"/> + <menu:menuseparator/> <menu:menuitem menu:id=".uno:ShowLicense"/> <menu:menuitem menu:id=".uno:About"/> </menu:menupopup> diff --git a/dbaccess/uiconfig/dbtdata/menubar/menubar.xml b/dbaccess/uiconfig/dbtdata/menubar/menubar.xml index 805e968ce286..9624cc5c0276 100644 --- a/dbaccess/uiconfig/dbtdata/menubar/menubar.xml +++ b/dbaccess/uiconfig/dbtdata/menubar/menubar.xml @@ -89,6 +89,8 @@ <menu:menuitem menu:id=".uno:QuestionAnswers"/> <menu:menuitem menu:id=".uno:SendFeedback"/> <menu:menuseparator/> + <menu:menuitem menu:id=".uno:SafeMode"/> + <menu:menuseparator/> <menu:menuitem menu:id=".uno:ShowLicense"/> <menu:menuitem menu:id=".uno:About"/> </menu:menupopup> diff --git a/extensions/uiconfig/sbibliography/menubar/menubar.xml b/extensions/uiconfig/sbibliography/menubar/menubar.xml index 3e16a788e65d..f111b1a864fa 100644 --- a/extensions/uiconfig/sbibliography/menubar/menubar.xml +++ b/extensions/uiconfig/sbibliography/menubar/menubar.xml @@ -82,6 +82,8 @@ <menu:menuitem menu:id=".uno:QuestionAnswers"/> <menu:menuitem menu:id=".uno:SendFeedback"/> <menu:menuseparator/> + <menu:menuitem menu:id=".uno:SafeMode"/> + <menu:menuseparator/> <menu:menuitem menu:id=".uno:ShowLicense"/> <menu:menuitem menu:id=".uno:About"/> </menu:menupopup> diff --git a/framework/uiconfig/startmodule/menubar/menubar.xml b/framework/uiconfig/startmodule/menubar/menubar.xml index 427194dcad5f..2cdff8021552 100644 --- a/framework/uiconfig/startmodule/menubar/menubar.xml +++ b/framework/uiconfig/startmodule/menubar/menubar.xml @@ -52,6 +52,8 @@ <menu:menuitem menu:id=".uno:QuestionAnswers"/> <menu:menuitem menu:id=".uno:SendFeedback"/> <menu:menuseparator/> + <menu:menuitem menu:id=".uno:SafeMode"/> + <menu:menuseparator/> <menu:menuitem menu:id=".uno:ShowLicense"/> <menu:menuitem menu:id=".uno:About"/> </menu:menupopup> diff --git a/include/sfx2/sfxsids.hrc b/include/sfx2/sfxsids.hrc index f5561feb2ba8..395829b1c7ba 100644 --- a/include/sfx2/sfxsids.hrc +++ b/include/sfx2/sfxsids.hrc @@ -44,6 +44,7 @@ #define SID_QUITAPP (SID_SFX_START + 300) #define SID_ABOUT (SID_SFX_START + 301) #define SID_SETUPPRINTER (SID_SFX_START + 302) +#define SID_SAFE_MODE (SID_SFX_START + 303) #define SID_CONTEXT (SID_SFX_START + 310) diff --git a/include/svtools/restartdialog.hxx b/include/svtools/restartdialog.hxx index 74aba87500d1..6b3791ebd282 100644 --- a/include/svtools/restartdialog.hxx +++ b/include/svtools/restartdialog.hxx @@ -53,9 +53,10 @@ enum RestartReason { RESTART_REASON_EXTENSION_INSTALL, // "For the extension to work properly, // %PRODUCTNAME must be restarted." - RESTART_REASON_OPENGL + RESTART_REASON_OPENGL, // "For the OpenGL changes to take effect, // %PRODUCTNAME must be restarted." + RESTART_REASON_SAFE_MODE }; // Must be called with the solar mutex locked: diff --git a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu index 470daaab96a0..88704174e390 100644 --- a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu +++ b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu @@ -6388,6 +6388,11 @@ <value xml:lang="en-US">Description...</value> </prop> </node> + <node oor:name=".uno:SafeMode" oor:op="replace"> + <prop oor:name="Label" oor:type="xs:string"> + <value xml:lang="en-US">Restart in Safe Mode...</value> + </prop> + </node> </node> </node> </oor:component-data> diff --git a/reportdesign/uiconfig/dbreport/menubar/menubar.xml b/reportdesign/uiconfig/dbreport/menubar/menubar.xml index ce70f4ad9e62..ad19bbd5cc06 100644 --- a/reportdesign/uiconfig/dbreport/menubar/menubar.xml +++ b/reportdesign/uiconfig/dbreport/menubar/menubar.xml @@ -286,6 +286,8 @@ <menu:menuitem menu:id=".uno:QuestionAnswers"/> <menu:menuitem menu:id=".uno:SendFeedback"/> <menu:menuseparator/> + <menu:menuitem menu:id=".uno:SafeMode"/> + <menu:menuseparator/> <menu:menuitem menu:id=".uno:ShowLicense"/> <menu:menuitem menu:id=".uno:About"/> </menu:menupopup> diff --git a/sc/uiconfig/scalc/menubar/menubar.xml b/sc/uiconfig/scalc/menubar/menubar.xml index 0bbf97cd41b1..216b3c792291 100644 --- a/sc/uiconfig/scalc/menubar/menubar.xml +++ b/sc/uiconfig/scalc/menubar/menubar.xml @@ -709,6 +709,8 @@ <menu:menuitem menu:id=".uno:QuestionAnswers"/> <menu:menuitem menu:id=".uno:SendFeedback"/> <menu:menuseparator/> + <menu:menuitem menu:id=".uno:SafeMode"/> + <menu:menuseparator/> <menu:menuitem menu:id=".uno:ShowLicense"/> <menu:menuitem menu:id=".uno:About"/> </menu:menupopup> diff --git a/sd/uiconfig/sdraw/menubar/menubar.xml b/sd/uiconfig/sdraw/menubar/menubar.xml index e8f1a06df671..18138a5df5a8 100644 --- a/sd/uiconfig/sdraw/menubar/menubar.xml +++ b/sd/uiconfig/sdraw/menubar/menubar.xml @@ -373,6 +373,8 @@ <menu:menuitem menu:id=".uno:QuestionAnswers"/> <menu:menuitem menu:id=".uno:SendFeedback"/> <menu:menuseparator/> + <menu:menuitem menu:id=".uno:SafeMode"/> + <menu:menuseparator/> <menu:menuitem menu:id=".uno:ShowLicense"/> <menu:menuitem menu:id=".uno:About"/> </menu:menupopup> diff --git a/sd/uiconfig/simpress/menubar/menubar.xml b/sd/uiconfig/simpress/menubar/menubar.xml index 20c52ccf0494..d8e911f34b16 100644 --- a/sd/uiconfig/simpress/menubar/menubar.xml +++ b/sd/uiconfig/simpress/menubar/menubar.xml @@ -611,6 +611,8 @@ <menu:menuitem menu:id=".uno:QuestionAnswers"/> <menu:menuitem menu:id=".uno:SendFeedback"/> <menu:menuseparator/> + <menu:menuitem menu:id=".uno:SafeMode"/> + <menu:menuseparator/> <menu:menuitem menu:id=".uno:ShowLicense"/> <menu:menuitem menu:id=".uno:About"/> </menu:menupopup> diff --git a/sfx2/UIConfig_sfx.mk b/sfx2/UIConfig_sfx.mk index c55e3c6fb992..554bf63785ed 100644 --- a/sfx2/UIConfig_sfx.mk +++ b/sfx2/UIConfig_sfx.mk @@ -41,6 +41,7 @@ $(eval $(call gb_UIConfig_add_uifiles,sfx,\ sfx2/uiconfig/ui/notebookbarpopup \ sfx2/uiconfig/ui/printeroptionsdialog \ sfx2/uiconfig/ui/querysavedialog \ + sfx2/uiconfig/ui/safemodequerydialog \ sfx2/uiconfig/ui/searchdialog \ sfx2/uiconfig/ui/securityinfopage \ sfx2/uiconfig/ui/singletabdialog \ diff --git a/sfx2/sdi/appslots.sdi b/sfx2/sdi/appslots.sdi index 4921f27e0d3e..5df800d52389 100644 --- a/sfx2/sdi/appslots.sdi +++ b/sfx2/sdi/appslots.sdi @@ -225,6 +225,11 @@ interface Application ExecMethod = MiscExec_Impl ; StateMethod = MiscState_Impl ; ] + SID_SAFE_MODE + [ + ExecMethod = MiscExec_Impl ; + StateMethod = MiscState_Impl ; + ] } diff --git a/sfx2/sdi/sfx.sdi b/sfx2/sdi/sfx.sdi index 7c24c75f65d7..edf0ea2b0382 100644 --- a/sfx2/sdi/sfx.sdi +++ b/sfx2/sdi/sfx.sdi @@ -5784,3 +5784,20 @@ SfxStringItem Insert3DModel SID_INSERT_3DMODEL ToolBoxConfig = TRUE, GroupId = GID_APPLICATION; ] + +SfxVoidItem SafeMode SID_SAFE_MODE +() +[ + AutoUpdate = FALSE, + FastCall = FALSE, + ReadOnlyDoc = TRUE, + Toggle = FALSE, + Container = FALSE, + RecordAbsolute = FALSE, + RecordPerSet; + + AccelConfig = TRUE, + MenuConfig = TRUE, + ToolBoxConfig = TRUE, + GroupId = GID_APPLICATION; +] diff --git a/sfx2/source/appl/appserv.cxx b/sfx2/source/appl/appserv.cxx index 5adbc7cad70e..b09613e081e6 100644 --- a/sfx2/source/appl/appserv.cxx +++ b/sfx2/source/appl/appserv.cxx @@ -37,6 +37,8 @@ #include <com/sun/star/system/SystemShellExecuteException.hpp> #include <com/sun/star/task/XJobExecutor.hpp> #include <com/sun/star/text/ModuleDispatcher.hpp> +#include <com/sun/star/task/OfficeRestartManager.hpp> +#include <com/sun/star/task/XInteractionHandler.hpp> #include <com/sun/star/ui/dialogs/AddressBookSourcePilot.hpp> #include <com/sun/star/ui/UIElementType.hpp> #include <com/sun/star/ui/XUIElement.hpp> @@ -291,6 +293,28 @@ namespace EndDialog(RET_OK); showDocument("LICENSE"); } + + class SafeModeQueryDialog : public ModalDialog + { + private: + DECL_LINK(RestartHdl, Button*, void); + public: + explicit SafeModeQueryDialog(); + }; + + SafeModeQueryDialog::SafeModeQueryDialog() + : ModalDialog(nullptr, "SafeModeQueryDialog", "sfx/ui/safemodequerydialog.ui") + { + get<PushButton>("restart")->SetClickHdl(LINK(this, SafeModeQueryDialog, RestartHdl)); + } + + IMPL_LINK_NOARG(SafeModeQueryDialog, RestartHdl, Button*, void) + { + EndDialog(RET_OK); + uno::Reference< uno::XComponentContext > xContext = comphelper::getProcessComponentContext(); + css::task::OfficeRestartManager::get(xContext)->requestRestart( + css::uno::Reference< css::task::XInteractionHandler >()); + } } void SfxApplication::MiscExec_Impl( SfxRequest& rReq ) @@ -975,6 +999,12 @@ void SfxApplication::MiscExec_Impl( SfxRequest& rReq ) bDone = true; break; } + case SID_SAFE_MODE: + { + ScopedVclPtrInstance< SafeModeQueryDialog > aDialog; + aDialog->Execute(); + break; + } default: break; @@ -1148,6 +1178,10 @@ void SfxApplication::MiscState_Impl(SfxItemSet &rSet) } break; } + case SID_SAFE_MODE: + { + break; + } default: break; diff --git a/sfx2/uiconfig/ui/safemodequerydialog.ui b/sfx2/uiconfig/ui/safemodequerydialog.ui new file mode 100644 index 000000000000..8a246910dd9f --- /dev/null +++ b/sfx2/uiconfig/ui/safemodequerydialog.ui @@ -0,0 +1,84 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Generated with glade 3.18.3 --> +<interface> + <requires lib="gtk+" version="3.0"/> + <object class="GtkDialog" id="SafeModeQueryDialog"> + <property name="can_focus">False</property> + <property name="border_width">6</property> + <property name="title" translatable="yes">Enter Safe Mode</property> + <property name="resizable">False</property> + <property name="type_hint">dialog</property> + <child internal-child="vbox"> + <object class="GtkBox" id="dialog-vbox1"> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <property name="spacing">12</property> + <child internal-child="action_area"> + <object class="GtkButtonBox" id="dialog-action_area1"> + <property name="can_focus">False</property> + <property name="layout_style">end</property> + <child> + <object class="GtkButton" id="cancel"> + <property name="label">gtk-cancel</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="has_default">True</property> + <property name="receives_default">True</property> + <property name="use_underline">True</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + <property name="secondary">True</property> + </packing> + </child> + <child> + <object class="GtkButton" id="restart"> + <property name="label">_Restart</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">end</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Are you sure you want to restart %PRODUCTNAME and enter the Safe Mode?</property> + <property name="wrap">True</property> + <property name="max_width_chars">80</property> + <property name="lines">2</property> + <property name="xalign">0</property> + <property name="yalign">0</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + </child> + <action-widgets> + <action-widget response="0">cancel</action-widget> + <action-widget response="0">restart</action-widget> + </action-widgets> + </object> +</interface> diff --git a/starmath/uiconfig/smath/menubar/menubar.xml b/starmath/uiconfig/smath/menubar/menubar.xml index b7fe639dd8c6..9f273f84a76f 100644 --- a/starmath/uiconfig/smath/menubar/menubar.xml +++ b/starmath/uiconfig/smath/menubar/menubar.xml @@ -146,6 +146,8 @@ <menu:menuitem menu:id=".uno:QuestionAnswers"/> <menu:menuitem menu:id=".uno:SendFeedback"/> <menu:menuseparator/> + <menu:menuitem menu:id=".uno:SafeMode"/> + <menu:menuseparator/> <menu:menuitem menu:id=".uno:ShowLicense"/> <menu:menuitem menu:id=".uno:About"/> </menu:menupopup> diff --git a/sw/uiconfig/sglobal/menubar/menubar.xml b/sw/uiconfig/sglobal/menubar/menubar.xml index 2287f81f96a0..6d2c0509477c 100644 --- a/sw/uiconfig/sglobal/menubar/menubar.xml +++ b/sw/uiconfig/sglobal/menubar/menubar.xml @@ -489,6 +489,8 @@ <menu:menuitem menu:id=".uno:QuestionAnswers"/> <menu:menuitem menu:id=".uno:SendFeedback"/> <menu:menuseparator/> + <menu:menuitem menu:id=".uno:SafeMode"/> + <menu:menuseparator/> <menu:menuitem menu:id=".uno:ShowLicense"/> <menu:menuitem menu:id=".uno:About"/> </menu:menupopup> diff --git a/sw/uiconfig/sweb/menubar/menubar.xml b/sw/uiconfig/sweb/menubar/menubar.xml index e6b5fed4cd24..cd61f44e464c 100644 --- a/sw/uiconfig/sweb/menubar/menubar.xml +++ b/sw/uiconfig/sweb/menubar/menubar.xml @@ -419,6 +419,8 @@ <menu:menuitem menu:id=".uno:QuestionAnswers"/> <menu:menuitem menu:id=".uno:SendFeedback"/> <menu:menuseparator/> + <menu:menuitem menu:id=".uno:SafeMode"/> + <menu:menuseparator/> <menu:menuitem menu:id=".uno:ShowLicense"/> <menu:menuitem menu:id=".uno:About"/> </menu:menupopup> diff --git a/sw/uiconfig/swform/menubar/menubar.xml b/sw/uiconfig/swform/menubar/menubar.xml index ae5ac51e8109..ae961e724f38 100644 --- a/sw/uiconfig/swform/menubar/menubar.xml +++ b/sw/uiconfig/swform/menubar/menubar.xml @@ -483,6 +483,8 @@ <menu:menuitem menu:id=".uno:QuestionAnswers"/> <menu:menuitem menu:id=".uno:SendFeedback"/> <menu:menuseparator/> + <menu:menuitem menu:id=".uno:SafeMode"/> + <menu:menuseparator/> <menu:menuitem menu:id=".uno:ShowLicense"/> <menu:menuitem menu:id=".uno:About"/> </menu:menupopup> diff --git a/sw/uiconfig/swreport/menubar/menubar.xml b/sw/uiconfig/swreport/menubar/menubar.xml index f63c1de5449b..00506298ac2f 100644 --- a/sw/uiconfig/swreport/menubar/menubar.xml +++ b/sw/uiconfig/swreport/menubar/menubar.xml @@ -485,6 +485,8 @@ <menu:menuitem menu:id=".uno:QuestionAnswers"/> <menu:menuitem menu:id=".uno:SendFeedback"/> <menu:menuseparator/> + <menu:menuitem menu:id=".uno:SafeMode"/> + <menu:menuseparator/> <menu:menuitem menu:id=".uno:ShowLicense"/> <menu:menuitem menu:id=".uno:About"/> </menu:menupopup> diff --git a/sw/uiconfig/swriter/menubar/menubar.xml b/sw/uiconfig/swriter/menubar/menubar.xml index 1a758e396f6f..fefaf80383a2 100644 --- a/sw/uiconfig/swriter/menubar/menubar.xml +++ b/sw/uiconfig/swriter/menubar/menubar.xml @@ -746,6 +746,10 @@ <menu:menuitem menu:id=".uno:QuestionAnswers"/> <menu:menuitem menu:id=".uno:SendFeedback"/> <menu:menuseparator/> + <menu:menuitem menu:id=".uno:SafeMode"/> + <menu:menuseparator/> + <menu:menuitem menu:id=".uno:SafeMode"/> + <menu:menuseparator/> <menu:menuitem menu:id=".uno:ShowLicense"/> <menu:menuitem menu:id=".uno:About"/> </menu:menupopup> diff --git a/sw/uiconfig/swxform/menubar/menubar.xml b/sw/uiconfig/swxform/menubar/menubar.xml index 1b7a155c195f..c2eb910cb2f0 100644 --- a/sw/uiconfig/swxform/menubar/menubar.xml +++ b/sw/uiconfig/swxform/menubar/menubar.xml @@ -485,6 +485,8 @@ <menu:menuitem menu:id=".uno:QuestionAnswers"/> <menu:menuitem menu:id=".uno:SendFeedback"/> <menu:menuseparator/> + <menu:menuitem menu:id=".uno:SafeMode"/> + <menu:menuseparator/> <menu:menuitem menu:id=".uno:ShowLicense"/> <menu:menuitem menu:id=".uno:About"/> </menu:menupopup> |