Kaydet (Commit) 67e3e8bd authored tarafından Thorsten Behrens's avatar Thorsten Behrens

Fix fdo#51943 - prevent lose focus event to close popup.

This is a follow-up bandaid for fdo#48096 side-effects, which in
turn was a band-aid for side-effects caused by ooo-build's
toolbar-decorations-svx.diff.

Fix instructs vcl to not auto-close the floater on losefocus events,
which at least on OSX comes _before_ we even see the mouse button
down event.

Change-Id: I21896c4169addffdf2af920a37e0e3786438cc4e
üst 1360309e
...@@ -741,7 +741,10 @@ SfxPopupWindow* SvxLineEndToolBoxControl::CreatePopupWindow() ...@@ -741,7 +741,10 @@ SfxPopupWindow* SvxLineEndToolBoxControl::CreatePopupWindow()
{ {
SvxLineEndWindow* pLineEndWin = SvxLineEndWindow* pLineEndWin =
new SvxLineEndWindow( GetId(), m_xFrame, &GetToolBox(), SVX_RESSTR( RID_SVXSTR_LINEEND ) ); new SvxLineEndWindow( GetId(), m_xFrame, &GetToolBox(), SVX_RESSTR( RID_SVXSTR_LINEEND ) );
pLineEndWin->StartPopupMode( &GetToolBox(), FLOATWIN_POPUPMODE_GRABFOCUS | FLOATWIN_POPUPMODE_ALLOWTEAROFF ); pLineEndWin->StartPopupMode( &GetToolBox(),
FLOATWIN_POPUPMODE_GRABFOCUS |
FLOATWIN_POPUPMODE_ALLOWTEAROFF |
FLOATWIN_POPUPMODE_NOAPPFOCUSCLOSE );
pLineEndWin->StartSelection(); pLineEndWin->StartSelection();
SetPopupWindow( pLineEndWin ); SetPopupWindow( pLineEndWin );
return pLineEndWin; return pLineEndWin;
......
...@@ -2118,7 +2118,7 @@ SfxPopupWindow* SvxFontColorToolBoxControl::CreatePopupWindow() ...@@ -2118,7 +2118,7 @@ SfxPopupWindow* SvxFontColorToolBoxControl::CreatePopupWindow()
mLastColor); mLastColor);
pColorWin->StartPopupMode( &GetToolBox(), pColorWin->StartPopupMode( &GetToolBox(),
FLOATWIN_POPUPMODE_GRABFOCUS|FLOATWIN_POPUPMODE_ALLOWTEAROFF ); FLOATWIN_POPUPMODE_GRABFOCUS|FLOATWIN_POPUPMODE_ALLOWTEAROFF|FLOATWIN_POPUPMODE_NOAPPFOCUSCLOSE );
pColorWin->StartSelection(); pColorWin->StartSelection();
SetPopupWindow( pColorWin ); SetPopupWindow( pColorWin );
return pColorWin; return pColorWin;
...@@ -2194,7 +2194,7 @@ SfxPopupWindow* SvxColorToolBoxControl::CreatePopupWindow() ...@@ -2194,7 +2194,7 @@ SfxPopupWindow* SvxColorToolBoxControl::CreatePopupWindow()
mLastColor); mLastColor);
pColorWin->StartPopupMode( &GetToolBox(), pColorWin->StartPopupMode( &GetToolBox(),
FLOATWIN_POPUPMODE_GRABFOCUS|FLOATWIN_POPUPMODE_ALLOWTEAROFF ); FLOATWIN_POPUPMODE_GRABFOCUS|FLOATWIN_POPUPMODE_ALLOWTEAROFF|FLOATWIN_POPUPMODE_NOAPPFOCUSCLOSE );
pColorWin->StartSelection(); pColorWin->StartSelection();
SetPopupWindow( pColorWin ); SetPopupWindow( pColorWin );
return pColorWin; return pColorWin;
...@@ -2322,7 +2322,7 @@ SfxPopupWindow* SvxColorExtToolBoxControl::CreatePopupWindow() ...@@ -2322,7 +2322,7 @@ SfxPopupWindow* SvxColorExtToolBoxControl::CreatePopupWindow()
} }
pColorWin->StartPopupMode( &GetToolBox(), pColorWin->StartPopupMode( &GetToolBox(),
FLOATWIN_POPUPMODE_GRABFOCUS|FLOATWIN_POPUPMODE_ALLOWTEAROFF ); FLOATWIN_POPUPMODE_GRABFOCUS|FLOATWIN_POPUPMODE_ALLOWTEAROFF|FLOATWIN_POPUPMODE_NOAPPFOCUSCLOSE );
pColorWin->StartSelection(); pColorWin->StartSelection();
SetPopupWindow( pColorWin ); SetPopupWindow( pColorWin );
bChoiceFromPalette = sal_True; bChoiceFromPalette = sal_True;
...@@ -2450,7 +2450,10 @@ SfxPopupWindow* SvxFrameToolBoxControl::CreatePopupWindow() ...@@ -2450,7 +2450,10 @@ SfxPopupWindow* SvxFrameToolBoxControl::CreatePopupWindow()
SvxFrameWindow_Impl* pFrameWin = new SvxFrameWindow_Impl( SvxFrameWindow_Impl* pFrameWin = new SvxFrameWindow_Impl(
GetSlotId(), m_xFrame, &GetToolBox() ); GetSlotId(), m_xFrame, &GetToolBox() );
pFrameWin->StartPopupMode( &GetToolBox(), FLOATWIN_POPUPMODE_GRABFOCUS | FLOATWIN_POPUPMODE_ALLOWTEAROFF ); pFrameWin->StartPopupMode( &GetToolBox(),
FLOATWIN_POPUPMODE_GRABFOCUS |
FLOATWIN_POPUPMODE_ALLOWTEAROFF |
FLOATWIN_POPUPMODE_NOAPPFOCUSCLOSE );
pFrameWin->StartSelection(); pFrameWin->StartSelection();
SetPopupWindow( pFrameWin ); SetPopupWindow( pFrameWin );
...@@ -2499,7 +2502,10 @@ SfxPopupWindowType SvxFrameLineStyleToolBoxControl::GetPopupWindowType() const ...@@ -2499,7 +2502,10 @@ SfxPopupWindowType SvxFrameLineStyleToolBoxControl::GetPopupWindowType() const
SfxPopupWindow* SvxFrameLineStyleToolBoxControl::CreatePopupWindow() SfxPopupWindow* SvxFrameLineStyleToolBoxControl::CreatePopupWindow()
{ {
SvxLineWindow_Impl* pLineWin = new SvxLineWindow_Impl( GetSlotId(), m_xFrame, &GetToolBox() ); SvxLineWindow_Impl* pLineWin = new SvxLineWindow_Impl( GetSlotId(), m_xFrame, &GetToolBox() );
pLineWin->StartPopupMode( &GetToolBox(), FLOATWIN_POPUPMODE_GRABFOCUS | FLOATWIN_POPUPMODE_ALLOWTEAROFF ); pLineWin->StartPopupMode( &GetToolBox(),
FLOATWIN_POPUPMODE_GRABFOCUS |
FLOATWIN_POPUPMODE_ALLOWTEAROFF |
FLOATWIN_POPUPMODE_NOAPPFOCUSCLOSE );
SetPopupWindow( pLineWin ); SetPopupWindow( pLineWin );
return pLineWin; return pLineWin;
...@@ -2564,7 +2570,7 @@ SfxPopupWindow* SvxFrameLineColorToolBoxControl::CreatePopupWindow() ...@@ -2564,7 +2570,7 @@ SfxPopupWindow* SvxFrameLineColorToolBoxControl::CreatePopupWindow()
mLastColor); mLastColor);
pColorWin->StartPopupMode( &GetToolBox(), pColorWin->StartPopupMode( &GetToolBox(),
FLOATWIN_POPUPMODE_GRABFOCUS|FLOATWIN_POPUPMODE_ALLOWTEAROFF ); FLOATWIN_POPUPMODE_GRABFOCUS|FLOATWIN_POPUPMODE_ALLOWTEAROFF|FLOATWIN_POPUPMODE_NOAPPFOCUSCLOSE );
pColorWin->StartSelection(); pColorWin->StartSelection();
SetPopupWindow( pColorWin ); SetPopupWindow( pColorWin );
return pColorWin; return pColorWin;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment