LOK: don't recreate the dialogs of an old view when loading new views
follow up for f5ebf512ccd3d5ae3af5fe706b411a85fa19182d now same actions are performed on all the dialogs Change-Id: I6531a766327dda106770a2c513ebd492dea7c655 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176933 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> (cherry picked from commit 2fba6df7242586870988b62909156538b42c2bc0) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177892 Tested-by: Jenkins
This commit is contained in:
parent
eea90af52e
commit
c9763a9f16
6 changed files with 8 additions and 10 deletions
|
@ -29,6 +29,7 @@
|
||||||
|
|
||||||
#include <sfx2/chalign.hxx>
|
#include <sfx2/chalign.hxx>
|
||||||
#include <sfx2/basedlgs.hxx>
|
#include <sfx2/basedlgs.hxx>
|
||||||
|
#include <comphelper/lok.hxx>
|
||||||
|
|
||||||
namespace com::sun::star::frame { class XFrame; }
|
namespace com::sun::star::frame { class XFrame; }
|
||||||
|
|
||||||
|
@ -184,6 +185,8 @@ const int nCloseResponseToJustHide = -42;
|
||||||
{ \
|
{ \
|
||||||
SfxChildWinFactory aFact( \
|
SfxChildWinFactory aFact( \
|
||||||
Class::CreateImpl, MyID, Pos ); \
|
Class::CreateImpl, MyID, Pos ); \
|
||||||
|
if (comphelper::LibreOfficeKit::isActive() && nFlags == SfxChildWindowFlags::NONE) \
|
||||||
|
nFlags |= SfxChildWindowFlags::NEVERCLONE; \
|
||||||
aFact.aInfo.nFlags |= nFlags; \
|
aFact.aInfo.nFlags |= nFlags; \
|
||||||
aFact.aInfo.bVisible = bVis; \
|
aFact.aInfo.bVisible = bVis; \
|
||||||
SfxChildWindow::RegisterChildWindow(pMod, aFact); \
|
SfxChildWindow::RegisterChildWindow(pMod, aFact); \
|
||||||
|
|
|
@ -223,9 +223,7 @@ void ScDLL::Init()
|
||||||
SvxHlinkDlgWrapper ::RegisterChildWindow(false, pMod);
|
SvxHlinkDlgWrapper ::RegisterChildWindow(false, pMod);
|
||||||
SvxFontWorkChildWindow ::RegisterChildWindow(false, pMod);
|
SvxFontWorkChildWindow ::RegisterChildWindow(false, pMod);
|
||||||
SvxIMapDlgChildWindow ::RegisterChildWindow(false, pMod);
|
SvxIMapDlgChildWindow ::RegisterChildWindow(false, pMod);
|
||||||
ScSpellDialogChildWindow::RegisterChildWindow(
|
ScSpellDialogChildWindow ::RegisterChildWindow(false, pMod);
|
||||||
false, pMod, comphelper::LibreOfficeKit::isActive() ? SfxChildWindowFlags::NEVERCLONE
|
|
||||||
: SfxChildWindowFlags::NONE);
|
|
||||||
|
|
||||||
ScValidityRefChildWin::RegisterChildWindow(false, pMod);
|
ScValidityRefChildWin::RegisterChildWindow(false, pMod);
|
||||||
sc::SearchResultsDlgWrapper::RegisterChildWindow(false, pMod);
|
sc::SearchResultsDlgWrapper::RegisterChildWindow(false, pMod);
|
||||||
|
|
|
@ -128,7 +128,7 @@ std::shared_ptr<SfxModelessDialogController> ScTabViewShell::CreateRefDialogCont
|
||||||
|
|
||||||
if ( nCurRefDlgId != nSlotId )
|
if ( nCurRefDlgId != nSlotId )
|
||||||
{
|
{
|
||||||
if (!(comphelper::LibreOfficeKit::isActive() && nSlotId == SID_OPENDLG_FUNCTION))
|
if (!comphelper::LibreOfficeKit::isActive())
|
||||||
{
|
{
|
||||||
// the dialog has been opened in a different view
|
// the dialog has been opened in a different view
|
||||||
// -> lock the dispatcher for this view (modal mode)
|
// -> lock the dispatcher for this view (modal mode)
|
||||||
|
|
|
@ -172,9 +172,7 @@ void SdDLL::RegisterControllers(SdModule* pMod)
|
||||||
SvxBmpMaskChildWindow::RegisterChildWindow(false, pMod);
|
SvxBmpMaskChildWindow::RegisterChildWindow(false, pMod);
|
||||||
SvxIMapDlgChildWindow::RegisterChildWindow(false, pMod);
|
SvxIMapDlgChildWindow::RegisterChildWindow(false, pMod);
|
||||||
SvxHlinkDlgWrapper::RegisterChildWindow(false, pMod);
|
SvxHlinkDlgWrapper::RegisterChildWindow(false, pMod);
|
||||||
::sd::SpellDialogChildWindow::RegisterChildWindow(
|
::sd::SpellDialogChildWindow::RegisterChildWindow(false, pMod);
|
||||||
false, pMod, comphelper::LibreOfficeKit::isActive() ? SfxChildWindowFlags::NEVERCLONE
|
|
||||||
: SfxChildWindowFlags::NONE);
|
|
||||||
#if HAVE_FEATURE_AVMEDIA
|
#if HAVE_FEATURE_AVMEDIA
|
||||||
::avmedia::MediaPlayer::RegisterChildWindow(false, pMod);
|
::avmedia::MediaPlayer::RegisterChildWindow(false, pMod);
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -312,9 +312,7 @@ void SwDLL::RegisterControls()
|
||||||
SwInsertAuthMarkWrapper::RegisterChildWindow( false, pMod );
|
SwInsertAuthMarkWrapper::RegisterChildWindow( false, pMod );
|
||||||
SwWordCountWrapper::RegisterChildWindow( false, pMod );
|
SwWordCountWrapper::RegisterChildWindow( false, pMod );
|
||||||
SvxRubyChildWindow::RegisterChildWindow( false, pMod);
|
SvxRubyChildWindow::RegisterChildWindow( false, pMod);
|
||||||
SwSpellDialogChildWindow::RegisterChildWindow(
|
SwSpellDialogChildWindow::RegisterChildWindow(false, pMod);
|
||||||
false, pMod, comphelper::LibreOfficeKit::isActive() ? SfxChildWindowFlags::NEVERCLONE
|
|
||||||
: SfxChildWindowFlags::NONE);
|
|
||||||
DevelopmentToolChildWindow::RegisterChildWindow(false, pMod);
|
DevelopmentToolChildWindow::RegisterChildWindow(false, pMod);
|
||||||
|
|
||||||
SvxGrafRedToolBoxControl::RegisterControl( SID_ATTR_GRAF_RED, pMod );
|
SvxGrafRedToolBoxControl::RegisterControl( SID_ATTR_GRAF_RED, pMod );
|
||||||
|
|
|
@ -197,6 +197,7 @@ SfxChildWindow* TestLokCallbackWrapper::InitializeSidebar()
|
||||||
assert(pViewShell);
|
assert(pViewShell);
|
||||||
|
|
||||||
SfxViewFrame& rViewFrame = pViewShell->GetViewFrame();
|
SfxViewFrame& rViewFrame = pViewShell->GetViewFrame();
|
||||||
|
rViewFrame.ShowChildWindow(SID_SIDEBAR);
|
||||||
SfxChildWindow* pSideBar = rViewFrame.GetChildWindow(SID_SIDEBAR);
|
SfxChildWindow* pSideBar = rViewFrame.GetChildWindow(SID_SIDEBAR);
|
||||||
assert(pSideBar);
|
assert(pSideBar);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue