summaryrefslogtreecommitdiff
path: root/sfx2
diff options
context:
space:
mode:
authorAshod Nakashian <ashod.nakashian@collabora.co.uk>2019-05-29 23:33:25 -0400
committerAshod Nakashian <ashnakash@gmail.com>2019-12-11 20:52:12 +0100
commitcde58f1726f8da36968eb8faba76aee83a9d3448 (patch)
treeaf37f180de247154d5471ef9f6d0cb997e5600eb /sfx2
parent85f3f8de19e63f41e9c304427e9f7a840480f21c (diff)
vcl: sfx2: LOK: Support per-view popup windows
While we do support multiple views, there is only one state for popup/floating windows, that also includes the dialogs open and related windows/data. This adds support to allow each view to have its own popups and state, thus allowing multiple users to interact with the dialogs independently of one another. (cherry picked from commit b50c341a53911f1d725947a4d8d3d2f782c94079) Change-Id: I3786a561ca6ca113ad12425bdb491e5a30bd1a28 Reviewed-on: https://gerrit.libreoffice.org/82440 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Diffstat (limited to 'sfx2')
-rw-r--r--sfx2/source/view/viewfrm.cxx7
1 files changed, 7 insertions, 0 deletions
diff --git a/sfx2/source/view/viewfrm.cxx b/sfx2/source/view/viewfrm.cxx
index 80573aa61fc8..25d8a5c4bf76 100644
--- a/sfx2/source/view/viewfrm.cxx
+++ b/sfx2/source/view/viewfrm.cxx
@@ -1482,6 +1482,7 @@ SfxViewFrame::SfxViewFrame
: m_pImpl( new SfxViewFrame_Impl( rFrame ) )
, m_pBindings( new SfxBindings )
, m_pHelpData(CreateSVHelpData())
+ , m_pWinData(CreateSVWinData())
, m_nAdjustPosPixelLock( 0 )
{
@@ -1527,6 +1528,9 @@ SfxViewFrame::~SfxViewFrame()
DestroySVHelpData(m_pHelpData);
m_pHelpData = nullptr;
+
+ DestroySVWinData(m_pWinData);
+ m_pWinData = nullptr;
}
// Remove and delete the Dispatcher.
@@ -3166,6 +3170,9 @@ void SfxViewFrame::SetViewFrame( SfxViewFrame* pFrame )
{
if(pFrame)
SetSVHelpData(pFrame->m_pHelpData);
+
+ SetSVWinData(pFrame ? pFrame->m_pWinData : nullptr);
+
SfxGetpApp()->SetViewFrame_Impl( pFrame );
}