summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cui/inc/strings.hrc2
-rw-r--r--cui/source/options/optopencl.cxx17
2 files changed, 15 insertions, 4 deletions
diff --git a/cui/inc/strings.hrc b/cui/inc/strings.hrc
index 66da2d39506d..99e0b1b69030 100644
--- a/cui/inc/strings.hrc
+++ b/cui/inc/strings.hrc
@@ -384,7 +384,7 @@
#define RID_SVXSTR_SHADOW_STYLE_BOTTOMLEFT NC_("RID_SVXSTR_SHADOW_STYLE_BOTTOMLEFT", "Cast Shadow to Bottom Left")
#define RID_SVXSTR_SHADOW_STYLE_TOPLEFT NC_("RID_SVXSTR_SHADOW_STYLE_TOPLEFT", "Cast Shadow to Top Left")
#define RID_SVXSTR_SIGNATURELINE_SIGNED_BY NC_("RID_SVXSTR_SIGNATURELINE_SIGNED_BY", "Signed by: %1")
-
+#define RID_SVXSTR_OPENCL_RESTART NC_("RID_SVXSTR_OPENCL_RESTART", "For the OpenCL changes to take effect, %PRODUCTNAME must be restarted.")
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/cui/source/options/optopencl.cxx b/cui/source/options/optopencl.cxx
index cefd3b2cd71c..4448ed99405c 100644
--- a/cui/source/options/optopencl.cxx
+++ b/cui/source/options/optopencl.cxx
@@ -34,6 +34,9 @@
#include <com/sun/star/ui/dialogs/FolderPicker.hpp>
#include <com/sun/star/ui/dialogs/ExecutableDialogResults.hpp>
#include <com/sun/star/util/XChangesBatch.hpp>
+#include <com/sun/star/task/OfficeRestartManager.hpp>
+#include <com/sun/star/task/XInteractionHandler.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
#include <strings.hrc>
#include <dialmgr.hxx>
@@ -103,10 +106,18 @@ bool SvxOpenCLTabPage::FillItemSet( SfxItemSet* )
if (bModified)
{
std::unique_ptr<weld::MessageDialog> xWarnBox(Application::CreateMessageDialog(GetFrameWeld(),
- VclMessageType::Info, VclButtonsType::Ok,
- CuiResId(RID_SVXSTR_OPTIONS_RESTART)));
- xWarnBox->run();
+ VclMessageType::Question, VclButtonsType::NONE,
+ CuiResId(RID_SVXSTR_OPENCL_RESTART)));
+ xWarnBox->add_button("Restart Now",RET_YES);
+ xWarnBox->add_button("Restart Later",RET_NO);
+ sal_uInt16 nRet = xWarnBox->run();
batch->commit();
+ if (nRet == RET_YES)
+ {
+ css::task::OfficeRestartManager::get(comphelper::getProcessComponentContext())->requestRestart(
+ css::uno::Reference< css::task::XInteractionHandler >());
+ }
+
}
return bModified;