Resolves: #i122320# Show closer after docking sidebar.
Prevent sidebar from being docked above or below edit view. (cherry picked from commit ca7264d7ab7e8b70693362d60227c7dd7626df8b) Change-Id: I634e0b68c27039613054160b7add5d2d07b666cd (cherry picked from commit 3c451f893663c118201ccdd4688fe97f1524d21e)
This commit is contained in:
committed by
Caolán McNamara
parent
7d56c8d077
commit
2e52faf39b
@@ -1014,11 +1014,13 @@ bool SidebarController::CanModifyChildWindowWidth (void)
|
||||
|
||||
sal_uInt16 nRow (0xffff);
|
||||
sal_uInt16 nColumn (0xffff);
|
||||
pSplitWindow->GetWindowPos(mpParentWindow, nColumn, nRow);
|
||||
|
||||
sal_uInt16 nRowCount (pSplitWindow->GetWindowCount(nColumn));
|
||||
|
||||
return nRowCount==1;
|
||||
if (pSplitWindow->GetWindowPos(mpParentWindow, nColumn, nRow))
|
||||
{
|
||||
sal_uInt16 nRowCount (pSplitWindow->GetWindowCount(nColumn));
|
||||
return nRowCount==1;
|
||||
}
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -1069,17 +1071,23 @@ void SidebarController::RestrictWidth (void)
|
||||
|
||||
SfxSplitWindow* SidebarController::GetSplitWindow (void)
|
||||
{
|
||||
if (mpSplitWindow == NULL)
|
||||
if (mpParentWindow != NULL)
|
||||
{
|
||||
if (mpParentWindow != NULL)
|
||||
SfxSplitWindow* pSplitWindow = dynamic_cast<SfxSplitWindow*>(mpParentWindow->GetParent());
|
||||
if (pSplitWindow != mpSplitWindow)
|
||||
{
|
||||
mpSplitWindow = dynamic_cast<SfxSplitWindow*>(mpParentWindow->GetParent());
|
||||
if (mpSplitWindow != NULL)
|
||||
mpSplitWindow->RemoveEventListener(LINK(this, SidebarController, WindowEventHandler));
|
||||
|
||||
mpSplitWindow = pSplitWindow;
|
||||
|
||||
if (mpSplitWindow != NULL)
|
||||
mpSplitWindow->AddEventListener(LINK(this, SidebarController, WindowEventHandler));
|
||||
}
|
||||
return mpSplitWindow;
|
||||
}
|
||||
|
||||
return mpSplitWindow;
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
|
@@ -102,4 +102,34 @@ sal_Bool SidebarDockingWindow::Close (void)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
SfxChildAlignment SidebarDockingWindow::CheckAlignment (
|
||||
SfxChildAlignment eCurrentAlignment,
|
||||
SfxChildAlignment eRequestedAlignment)
|
||||
{
|
||||
switch (eRequestedAlignment)
|
||||
{
|
||||
case SFX_ALIGN_TOP:
|
||||
case SFX_ALIGN_HIGHESTTOP:
|
||||
case SFX_ALIGN_LOWESTTOP:
|
||||
case SFX_ALIGN_BOTTOM:
|
||||
case SFX_ALIGN_LOWESTBOTTOM:
|
||||
case SFX_ALIGN_HIGHESTBOTTOM:
|
||||
return eCurrentAlignment;
|
||||
|
||||
case SFX_ALIGN_LEFT:
|
||||
case SFX_ALIGN_RIGHT:
|
||||
case SFX_ALIGN_FIRSTLEFT:
|
||||
case SFX_ALIGN_LASTLEFT:
|
||||
case SFX_ALIGN_FIRSTRIGHT:
|
||||
case SFX_ALIGN_LASTRIGHT:
|
||||
return eRequestedAlignment;
|
||||
|
||||
default:
|
||||
return eRequestedAlignment;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
} } // end of namespace sfx2::sidebar
|
||||
|
@@ -49,6 +49,10 @@ protected:
|
||||
// Window overridables
|
||||
virtual void GetFocus (void);
|
||||
|
||||
virtual SfxChildAlignment CheckAlignment (
|
||||
SfxChildAlignment eCurrentAlignment,
|
||||
SfxChildAlignment eRequestedAlignment);
|
||||
|
||||
private:
|
||||
::rtl::Reference<sfx2::sidebar::SidebarController> mpSidebarController;
|
||||
|
||||
|
Reference in New Issue
Block a user