[Libreoffice-commits] core.git: 2 commits - sfx2/source vcl/source

Ashod Nakashian (via logerrit) logerrit at kemper.freedesktop.org
Fri Jul 26 09:47:19 UTC 2019


 sfx2/source/sidebar/SidebarChildWindow.cxx   |    8 ++++++--
 sfx2/source/sidebar/SidebarController.cxx    |    4 ++++
 sfx2/source/sidebar/SidebarDockingWindow.cxx |    2 +-
 vcl/source/window/window.cxx                 |    2 ++
 4 files changed, 13 insertions(+), 3 deletions(-)

New commits:
commit e6c62ff1361ac5b9b430ddd5dae729a8b10aadff
Author:     Ashod Nakashian <ashod.nakashian at collabora.co.uk>
AuthorDate: Tue Nov 20 12:04:58 2018 -0500
Commit:     Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Fri Jul 26 11:46:26 2019 +0200

    LOK: sidebar: start collapsed
    
    Change-Id: I589fce5ee207da0e0ac113b7ccc1ed1edd06c5da
    Reviewed-on: https://gerrit.libreoffice.org/73513
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>

diff --git a/sfx2/source/sidebar/SidebarChildWindow.cxx b/sfx2/source/sidebar/SidebarChildWindow.cxx
index e84d2fb4b379..ac0a68852ea9 100644
--- a/sfx2/source/sidebar/SidebarChildWindow.cxx
+++ b/sfx2/source/sidebar/SidebarChildWindow.cxx
@@ -62,8 +62,12 @@ SidebarChildWindow::SidebarChildWindow (vcl::Window* pParentWindow, sal_uInt16 n
 
         if (comphelper::LibreOfficeKit::isActive())
         {
-            // Undock for Lok.
-            pDockingParent->SetFloatingSize(Size(400, 600));
+            // Undock sidebar in LOK to allow for resizing freely
+            // (i.e. when the client window is resized) and collapse
+            // it so the client can open it on demand.
+            pDockingParent->SetFloatingSize(
+                Size(TabBar::GetDefaultWidth() * GetWindow()->GetDPIScaleFactor(),
+                     pDockingParent->GetSizePixel().Height()));
             pDockingParent->SetFloatingMode(true);
         }
     }
commit a1b718044dadc46388bff0e20a7e50bf9d514596
Author:     Ashod Nakashian <ashod.nakashian at collabora.co.uk>
AuthorDate: Sun Nov 11 16:51:05 2018 -0500
Commit:     Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Fri Jul 26 11:46:14 2019 +0200

    LOK: sidebar: release LOKNotifier on destruction
    
    And enable sidebar routing only while we have a
    valid SidebarController instance (i.e. not disposed).
    
    Change-Id: I665f934f762c0ce9efdce5489ec9babe006376a8
    Reviewed-on: https://gerrit.libreoffice.org/73512
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>

diff --git a/sfx2/source/sidebar/SidebarController.cxx b/sfx2/source/sidebar/SidebarController.cxx
index 6b3bcc025e0d..bbdb1a4c8c67 100644
--- a/sfx2/source/sidebar/SidebarController.cxx
+++ b/sfx2/source/sidebar/SidebarController.cxx
@@ -205,6 +205,10 @@ void SidebarController::unregisterSidebarForFrame(SidebarController* pController
 void SidebarController::disposeDecks()
 {
     SolarMutexGuard aSolarMutexGuard;
+
+    if (comphelper::LibreOfficeKit::isActive())
+        mpParentWindow->ReleaseLOKNotifier();
+
     mpCurrentDeck.clear();
     maFocusManager.Clear();
     mpResourceManager->disposeDecks();
diff --git a/sfx2/source/sidebar/SidebarDockingWindow.cxx b/sfx2/source/sidebar/SidebarDockingWindow.cxx
index 834bb59f26bb..a12bb6f4d12e 100644
--- a/sfx2/source/sidebar/SidebarDockingWindow.cxx
+++ b/sfx2/source/sidebar/SidebarDockingWindow.cxx
@@ -113,7 +113,7 @@ void SidebarDockingWindow::NotifyResize()
 {
     if (comphelper::LibreOfficeKit::isActive() && SfxViewShell::Current() && mbSidebarVisibleInLOK)
     {
-        if (!GetLOKNotifier())
+        if (mpSidebarController.is() && !GetLOKNotifier())
             SetLOKNotifier(SfxViewShell::Current());
 
         if (const vcl::ILibreOfficeKitNotifier* pNotifier = GetLOKNotifier())
diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx
index 3b26f70d7040..2ac475725996 100644
--- a/vcl/source/window/window.cxx
+++ b/vcl/source/window/window.cxx
@@ -3173,6 +3173,8 @@ void Window::SetLOKNotifier(const vcl::ILibreOfficeKitNotifier* pNotifier, bool
     // don't allow setting this twice
     assert(mpWindowImpl->mpLOKNotifier == nullptr);
     assert(pNotifier);
+    // never use this in the desktop case
+    assert(comphelper::LibreOfficeKit::isActive());
 
     if (!bParent)
     {


More information about the Libreoffice-commits mailing list