summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2017-10-18 15:31:57 +0100
committerCaolán McNamara <caolanm@redhat.com>2017-10-18 21:43:09 +0200
commit3db8059cd92545a618e6ec349b090b569c60847d (patch)
treeb5ebf4d9d6f18eff130af632c75e8da6875969d4 /desktop
parent7ff293f2d2793b30f30d2f499b332e5329d4ddb4 (diff)
Resolves: tdf#112891 give restart dialog a parent
Change-Id: Iaeb0060f390035bb214b9d1d8d090e7b933c9f77 Reviewed-on: https://gerrit.libreoffice.org/43509 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'desktop')
-rw-r--r--desktop/source/deployment/gui/dp_gui_dialog2.cxx8
-rw-r--r--desktop/source/deployment/gui/dp_gui_dialog2.hxx1
2 files changed, 6 insertions, 3 deletions
diff --git a/desktop/source/deployment/gui/dp_gui_dialog2.cxx b/desktop/source/deployment/gui/dp_gui_dialog2.cxx
index 59138ad44214..9612957b8908 100644
--- a/desktop/source/deployment/gui/dp_gui_dialog2.cxx
+++ b/desktop/source/deployment/gui/dp_gui_dialog2.cxx
@@ -451,6 +451,7 @@ void DialogHelper::PostUserEvent( const Link<void*,void>& rLink, void* pCaller )
ExtMgrDialog::ExtMgrDialog(vcl::Window *pParent, TheExtensionManager *pManager, Dialog::InitFlag eFlag)
: ModelessDialog(pParent, "ExtensionManagerDialog", "desktop/ui/extensionmanager.ui", eFlag)
, DialogHelper(pManager->getContext(), static_cast<Dialog*>(this))
+ , m_xRestartParent(pParent ? pParent : Application::GetDefDialogParent())
, m_sAddPackages(DpResId(RID_STR_ADD_PACKAGES))
, m_bHasProgress(false)
, m_bProgressChanged(false)
@@ -546,6 +547,7 @@ void ExtMgrDialog::dispose()
m_pProgressText.clear();
m_pProgressBar.clear();
m_pCancelBtn.clear();
+ m_xRestartParent.clear();
ModelessDialog::dispose();
}
@@ -1022,11 +1024,11 @@ bool ExtMgrDialog::EventNotify( NotifyEvent& rNEvt )
return true;
}
-IMPL_STATIC_LINK_NOARG(ExtMgrDialog, Restart, void*, void)
+IMPL_STATIC_LINK(ExtMgrDialog, Restart, void*, pParent, void)
{
SolarMutexGuard aGuard;
::svtools::executeRestartDialog(comphelper::getProcessComponentContext(),
- nullptr, svtools::RESTART_REASON_EXTENSION_INSTALL);
+ static_cast<vcl::Window*>(pParent), svtools::RESTART_REASON_EXTENSION_INSTALL);
}
bool ExtMgrDialog::Close()
@@ -1040,7 +1042,7 @@ bool ExtMgrDialog::Close()
if (!m_bClosed && m_pManager->isModified())
{
m_pManager->clearModified();
- Application::PostUserEvent(LINK(nullptr, ExtMgrDialog, Restart));
+ Application::PostUserEvent(LINK(nullptr, ExtMgrDialog, Restart), m_xRestartParent);
}
m_bClosed = true;
}
diff --git a/desktop/source/deployment/gui/dp_gui_dialog2.hxx b/desktop/source/deployment/gui/dp_gui_dialog2.hxx
index cf4f423b83f7..2daae7c20e52 100644
--- a/desktop/source/deployment/gui/dp_gui_dialog2.hxx
+++ b/desktop/source/deployment/gui/dp_gui_dialog2.hxx
@@ -99,6 +99,7 @@ public:
class ExtMgrDialog : public ModelessDialog,
public DialogHelper
{
+ VclPtr<vcl::Window> m_xRestartParent;
VclPtr<ExtBoxWithBtns_Impl> m_pExtensionBox;
VclPtr<PushButton> m_pOptionsBtn;
VclPtr<PushButton> m_pAddBtn;