safemode: Add uno command and menu entry
Change-Id: I1843767160b79041c42e506eff0cf39399c74f26 Reviewed-on: https://gerrit.libreoffice.org/29668 Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
This commit is contained in:
parent
7433ba52d3
commit
ae94c223e2
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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:
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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 \
|
||||
|
@ -225,6 +225,11 @@ interface Application
|
||||
ExecMethod = MiscExec_Impl ;
|
||||
StateMethod = MiscState_Impl ;
|
||||
]
|
||||
SID_SAFE_MODE
|
||||
[
|
||||
ExecMethod = MiscExec_Impl ;
|
||||
StateMethod = MiscState_Impl ;
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
|
@ -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;
|
||||
]
|
||||
|
@ -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;
|
||||
|
84
sfx2/uiconfig/ui/safemodequerydialog.ui
Normal file
84
sfx2/uiconfig/ui/safemodequerydialog.ui
Normal file
@ -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>
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
Loading…
x
Reference in New Issue
Block a user