diff options
author | Noel Grandin <noel@peralex.com> | 2016-05-10 12:54:24 +0200 |
---|---|---|
committer | Noel Grandin <noelgrandin@gmail.com> | 2016-05-11 07:54:40 +0000 |
commit | 10cc455580b2349e99ac48732cc451f7e2126953 (patch) | |
tree | 40c7225a054740cdf4462116b46d9fd3e960d482 /vcl | |
parent | 4e8a0a75f46356639ac9e00086e2ec9b9f333c77 (diff) |
convert SAL_FRAME_TOTOP to scoped enum
Change-Id: Id996e1e6fc29f6323bd4e82785386de26d075cae
Reviewed-on: https://gerrit.libreoffice.org/24834
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/headless/svpframe.cxx | 2 | ||||
-rw-r--r-- | vcl/inc/headless/svpframe.hxx | 2 | ||||
-rw-r--r-- | vcl/inc/osx/salframe.h | 2 | ||||
-rw-r--r-- | vcl/inc/salframe.hxx | 17 | ||||
-rw-r--r-- | vcl/inc/unx/gtk/gtkframe.hxx | 2 | ||||
-rw-r--r-- | vcl/inc/unx/salframe.h | 2 | ||||
-rw-r--r-- | vcl/inc/win/salframe.h | 2 | ||||
-rw-r--r-- | vcl/osx/salframe.cxx | 6 | ||||
-rw-r--r-- | vcl/osx/salframeview.mm | 2 | ||||
-rw-r--r-- | vcl/source/window/mouse.cxx | 2 | ||||
-rw-r--r-- | vcl/source/window/stacking.cxx | 10 | ||||
-rw-r--r-- | vcl/unx/generic/window/salframe.cxx | 12 | ||||
-rw-r--r-- | vcl/unx/gtk/gtksalframe.cxx | 6 | ||||
-rw-r--r-- | vcl/unx/gtk3/gtk3gtkframe.cxx | 6 | ||||
-rw-r--r-- | vcl/win/window/salframe.cxx | 14 |
15 files changed, 47 insertions, 40 deletions
diff --git a/vcl/headless/svpframe.cxx b/vcl/headless/svpframe.cxx index f8b29f676592..7a6add25a1d1 100644 --- a/vcl/headless/svpframe.cxx +++ b/vcl/headless/svpframe.cxx @@ -364,7 +364,7 @@ void SvpSalFrame::SetAlwaysOnTop( bool ) { } -void SvpSalFrame::ToTop( sal_uInt16 ) +void SvpSalFrame::ToTop( SalFrameToTop ) { GetFocus(); } diff --git a/vcl/inc/headless/svpframe.hxx b/vcl/inc/headless/svpframe.hxx index 4b0be15c332e..bcf504ef2e98 100644 --- a/vcl/inc/headless/svpframe.hxx +++ b/vcl/inc/headless/svpframe.hxx @@ -90,7 +90,7 @@ public: virtual void ShowFullScreen( bool bFullScreen, sal_Int32 nDisplay ) override; virtual void StartPresentation( bool bStart ) override; virtual void SetAlwaysOnTop( bool bOnTop ) override; - virtual void ToTop( sal_uInt16 nFlags ) override; + virtual void ToTop( SalFrameToTop nFlags ) override; virtual void SetPointer( PointerStyle ePointerStyle ) override; virtual void CaptureMouse( bool bMouse ) override; virtual void SetPointerPos( long nX, long nY ) override; diff --git a/vcl/inc/osx/salframe.h b/vcl/inc/osx/salframe.h index f6520d471e76..d2593d95abda 100644 --- a/vcl/inc/osx/salframe.h +++ b/vcl/inc/osx/salframe.h @@ -125,7 +125,7 @@ public: virtual void ShowFullScreen( bool bFullScreen, sal_Int32 nDisplay ) override; virtual void StartPresentation( bool bStart ) override; virtual void SetAlwaysOnTop( bool bOnTop ) override; - virtual void ToTop( sal_uInt16 nFlags ) override; + virtual void ToTop( SalFrameToTop nFlags ) override; virtual void SetPointer( PointerStyle ePointerStyle ) override; virtual void CaptureMouse( bool bMouse ) override; virtual void SetPointerPos( long nX, long nY ) override; diff --git a/vcl/inc/salframe.hxx b/vcl/inc/salframe.hxx index 8bf79f35bb9e..16a8f85211fe 100644 --- a/vcl/inc/salframe.hxx +++ b/vcl/inc/salframe.hxx @@ -26,6 +26,7 @@ #include <vcl/help.hxx> #include <vcl/window.hxx> +#include <o3tl/typed_flags_set.hxx> // complete vcl::Window for SalFrame::CallCallback under -fsanitize=function @@ -39,10 +40,16 @@ struct SalInputContext; struct SystemEnvData; // SalFrame types -#define SAL_FRAME_TOTOP_RESTOREWHENMIN ((sal_uInt16)0x0001) -#define SAL_FRAME_TOTOP_FOREGROUNDTASK ((sal_uInt16)0x0002) -#define SAL_FRAME_TOTOP_GRABFOCUS ((sal_uInt16)0x0004) -#define SAL_FRAME_TOTOP_GRABFOCUS_ONLY ((sal_uInt16)0x0008) +enum class SalFrameToTop { + NONE = 0x00, + RestoreWhenMin = 0x01, + ForegroundTask = 0x02, + GrabFocus = 0x04, + GrabFocusOnly = 0x08 +}; +namespace o3tl { + template<> struct typed_flags<SalFrameToTop> : is_typed_flags<SalFrameToTop, 0x0f> {}; +}; // SalFrame styles enum class SalFrameStyleFlags @@ -160,7 +167,7 @@ public: virtual void SetAlwaysOnTop( bool bOnTop ) = 0; // Window to top and grab focus - virtual void ToTop( sal_uInt16 nFlags ) = 0; + virtual void ToTop( SalFrameToTop nFlags ) = 0; // this function can call with the same // pointer style diff --git a/vcl/inc/unx/gtk/gtkframe.hxx b/vcl/inc/unx/gtk/gtkframe.hxx index 6e08818d25fa..38b6c1b7ed71 100644 --- a/vcl/inc/unx/gtk/gtkframe.hxx +++ b/vcl/inc/unx/gtk/gtkframe.hxx @@ -461,7 +461,7 @@ public: virtual void SetAlwaysOnTop( bool bOnTop ) override; // Window to top and grab focus - virtual void ToTop( sal_uInt16 nFlags ) override; + virtual void ToTop( SalFrameToTop nFlags ) override; // this function can call with the same // pointer style diff --git a/vcl/inc/unx/salframe.h b/vcl/inc/unx/salframe.h index 036e7f2f89af..f5773c0e8fa8 100644 --- a/vcl/inc/unx/salframe.h +++ b/vcl/inc/unx/salframe.h @@ -228,7 +228,7 @@ public: virtual void ShowFullScreen( bool bFullScreen, sal_Int32 nMonitor ) override; virtual void StartPresentation( bool bStart ) override; virtual void SetAlwaysOnTop( bool bOnTop ) override; - virtual void ToTop( sal_uInt16 nFlags ) override; + virtual void ToTop( SalFrameToTop nFlags ) override; virtual void SetPointer( PointerStyle ePointerStyle ) override; virtual void CaptureMouse( bool bMouse ) override; virtual void SetPointerPos( long nX, long nY ) override; diff --git a/vcl/inc/win/salframe.h b/vcl/inc/win/salframe.h index 5b8edcb0c67c..2d19ccf23dd1 100644 --- a/vcl/inc/win/salframe.h +++ b/vcl/inc/win/salframe.h @@ -106,7 +106,7 @@ public: virtual void ShowFullScreen( bool bFullScreen, sal_Int32 nDisplay ) override; virtual void StartPresentation( bool bStart ) override; virtual void SetAlwaysOnTop( bool bOnTop ) override; - virtual void ToTop( sal_uInt16 nFlags ) override; + virtual void ToTop( SalFrameToTop nFlags ) override; virtual void SetPointer( PointerStyle ePointerStyle ) override; virtual void CaptureMouse( bool bMouse ) override; virtual void SetPointerPos( long nX, long nY ) override; diff --git a/vcl/osx/salframe.cxx b/vcl/osx/salframe.cxx index ff25e3436973..dae0aef2f55d 100644 --- a/vcl/osx/salframe.cxx +++ b/vcl/osx/salframe.cxx @@ -797,7 +797,7 @@ void AquaSalFrame::SetAlwaysOnTop( bool ) { } -void AquaSalFrame::ToTop(sal_uInt16 nFlags) +void AquaSalFrame::ToTop(SalFrameToTop nFlags) { if ( !mpNSWindow ) return; @@ -805,12 +805,12 @@ void AquaSalFrame::ToTop(sal_uInt16 nFlags) // #i113170# may not be the main thread if called from UNO API SalData::ensureThreadAutoreleasePool(); - if( ! (nFlags & SAL_FRAME_TOTOP_RESTOREWHENMIN) ) + if( ! (nFlags & SalFrameToTop::RestoreWhenMin) ) { if( ! [mpNSWindow isVisible] || [mpNSWindow isMiniaturized] ) return; } - if( nFlags & SAL_FRAME_TOTOP_GRABFOCUS ) + if( nFlags & SalFrameToTop::GrabFocus ) [mpNSWindow makeKeyAndOrderFront: NSApp]; else [mpNSWindow orderFront: NSApp]; diff --git a/vcl/osx/salframeview.mm b/vcl/osx/salframeview.mm index 0da1737e7629..219c6814a70e 100644 --- a/vcl/osx/salframeview.mm +++ b/vcl/osx/salframeview.mm @@ -394,7 +394,7 @@ static AquaSalFrame* getMouseContainerFrame() SolarMutexGuard aGuard; if( mpFrame && AquaSalFrame::isAlive( mpFrame ) ) - mpFrame->ToTop( SAL_FRAME_TOTOP_RESTOREWHENMIN | SAL_FRAME_TOTOP_GRABFOCUS ); + mpFrame->ToTop( SalFrameToTop::RestoreWhenMin | SalFrameToTop::GrabFocus ); } -(css::uno::Reference < css::accessibility::XAccessibleContext >)accessibleContext diff --git a/vcl/source/window/mouse.cxx b/vcl/source/window/mouse.cxx index 4782c15aa5ac..516b6ed7e9fc 100644 --- a/vcl/source/window/mouse.cxx +++ b/vcl/source/window/mouse.cxx @@ -305,7 +305,7 @@ void Window::ImplGrabFocus( GetFocusFlags nFlags ) { // here we already switch focus as ToTop() // should not give focus to another window - mpWindowImpl->mpFrame->ToTop( SAL_FRAME_TOTOP_GRABFOCUS | SAL_FRAME_TOTOP_GRABFOCUS_ONLY ); + mpWindowImpl->mpFrame->ToTop( SalFrameToTop::GrabFocus | SalFrameToTop::GrabFocusOnly ); return; } } diff --git a/vcl/source/window/stacking.cxx b/vcl/source/window/stacking.cxx index 8418919b8b67..cb51c6d03e31 100644 --- a/vcl/source/window/stacking.cxx +++ b/vcl/source/window/stacking.cxx @@ -252,13 +252,13 @@ void Window::ImplToTop( ToTopFlags nFlags ) // do not bring floating windows on the client to top if( !ImplGetClientWindow() || !(ImplGetClientWindow()->GetStyle() & WB_SYSTEMFLOATWIN) ) { - sal_uInt16 nSysFlags = 0; + SalFrameToTop nSysFlags = SalFrameToTop::NONE; if ( nFlags & ToTopFlags::RestoreWhenMin ) - nSysFlags |= SAL_FRAME_TOTOP_RESTOREWHENMIN; + nSysFlags |= SalFrameToTop::RestoreWhenMin; if ( nFlags & ToTopFlags::ForegroundTask ) - nSysFlags |= SAL_FRAME_TOTOP_FOREGROUNDTASK; + nSysFlags |= SalFrameToTop::ForegroundTask; if ( nFlags & ToTopFlags::GrabFocusOnly ) - nSysFlags |= SAL_FRAME_TOTOP_GRABFOCUS_ONLY; + nSysFlags |= SalFrameToTop::GrabFocusOnly; mpWindowImpl->mpFrame->ToTop( nSysFlags ); } } @@ -985,7 +985,7 @@ void Window::SetParent( vcl::Window* pNewParent ) mpWindowImpl->mpFrameData->mpFocusWin = Application::GetFocusWindow(); if ( !mpWindowImpl->mpFrameData->mbHasFocus ) { - mpWindowImpl->mpFrame->ToTop( 0 ); + mpWindowImpl->mpFrame->ToTop( SalFrameToTop::NONE ); } } diff --git a/vcl/unx/generic/window/salframe.cxx b/vcl/unx/generic/window/salframe.cxx index 947ca79cdd93..0b10f17560bb 100644 --- a/vcl/unx/generic/window/salframe.cxx +++ b/vcl/unx/generic/window/salframe.cxx @@ -1359,9 +1359,9 @@ void X11SalFrame::Show( bool bVisible, bool bNoActivate ) } } -void X11SalFrame::ToTop( sal_uInt16 nFlags ) +void X11SalFrame::ToTop( SalFrameToTop nFlags ) { - if( ( nFlags & SAL_FRAME_TOTOP_RESTOREWHENMIN ) + if( ( nFlags & SalFrameToTop::RestoreWhenMin ) && ! ( nStyle_ & SalFrameStyleFlags::FLOAT ) && nShowState_ != SHOWSTATE_HIDDEN && nShowState_ != SHOWSTATE_UNKNOWN @@ -1374,16 +1374,16 @@ void X11SalFrame::ToTop( sal_uInt16 nFlags ) } ::Window aToTopWindow = IsSysChildWindow() ? GetWindow() : GetShellWindow(); - if( ! (nFlags & SAL_FRAME_TOTOP_GRABFOCUS_ONLY) ) + if( ! (nFlags & SalFrameToTop::GrabFocusOnly) ) { XRaiseWindow( GetXDisplay(), aToTopWindow ); if( ! GetDisplay()->getWMAdaptor()->isTransientBehaviourAsExpected() ) for( std::list< X11SalFrame* >::const_iterator it = maChildren.begin(); it != maChildren.end(); ++it ) - (*it)->ToTop( nFlags & ~SAL_FRAME_TOTOP_GRABFOCUS ); + (*it)->ToTop( nFlags & ~SalFrameToTop::GrabFocus ); } - if( ( ( nFlags & SAL_FRAME_TOTOP_GRABFOCUS ) || ( nFlags & SAL_FRAME_TOTOP_GRABFOCUS_ONLY ) ) + if( ( ( nFlags & SalFrameToTop::GrabFocus ) || ( nFlags & SalFrameToTop::GrabFocusOnly ) ) && bMapped_ ) { if( m_bXEmbed ) @@ -3565,7 +3565,7 @@ long X11SalFrame::HandleSizeEvent( XConfigureEvent *pEvent ) IMPL_LINK_NOARG_TYPED(X11SalFrame, HandleAlwaysOnTopRaise, Timer *, void) { if( bMapped_ ) - ToTop( 0 ); + ToTop( SalFrameToTop::NONE ); } long X11SalFrame::HandleReparentEvent( XReparentEvent *pEvent ) diff --git a/vcl/unx/gtk/gtksalframe.cxx b/vcl/unx/gtk/gtksalframe.cxx index daf064d884e8..7e118f099e54 100644 --- a/vcl/unx/gtk/gtksalframe.cxx +++ b/vcl/unx/gtk/gtksalframe.cxx @@ -2164,7 +2164,7 @@ void GtkSalFrame::SetAlwaysOnTop( bool bOnTop ) gtk_window_set_keep_above( GTK_WINDOW( m_pWindow ), bOnTop ); } -void GtkSalFrame::ToTop( sal_uInt16 nFlags ) +void GtkSalFrame::ToTop( SalFrameToTop nFlags ) { if( m_pWindow ) { @@ -2172,7 +2172,7 @@ void GtkSalFrame::ToTop( sal_uInt16 nFlags ) gtk_widget_grab_focus( m_pWindow ); else if( IS_WIDGET_MAPPED( m_pWindow ) ) { - if( ! (nFlags & SAL_FRAME_TOTOP_GRABFOCUS_ONLY) ) + if( ! (nFlags & SalFrameToTop::GrabFocusOnly) ) gtk_window_present( GTK_WINDOW(m_pWindow) ); else { @@ -2197,7 +2197,7 @@ void GtkSalFrame::ToTop( sal_uInt16 nFlags ) } else { - if( nFlags & SAL_FRAME_TOTOP_RESTOREWHENMIN ) + if( nFlags & SalFrameToTop::RestoreWhenMin ) gtk_window_present( GTK_WINDOW(m_pWindow) ); } } diff --git a/vcl/unx/gtk3/gtk3gtkframe.cxx b/vcl/unx/gtk3/gtk3gtkframe.cxx index b6352c694ca5..ada90e76cb5f 100644 --- a/vcl/unx/gtk3/gtk3gtkframe.cxx +++ b/vcl/unx/gtk3/gtk3gtkframe.cxx @@ -1999,7 +1999,7 @@ void GtkSalFrame::SetAlwaysOnTop( bool bOnTop ) gtk_window_set_keep_above( GTK_WINDOW( m_pWindow ), bOnTop ); } -void GtkSalFrame::ToTop( sal_uInt16 nFlags ) +void GtkSalFrame::ToTop( SalFrameToTop nFlags ) { if( m_pWindow ) { @@ -2007,7 +2007,7 @@ void GtkSalFrame::ToTop( sal_uInt16 nFlags ) gtk_widget_grab_focus( m_pWindow ); else if( IS_WIDGET_MAPPED( m_pWindow ) ) { - if( ! (nFlags & SAL_FRAME_TOTOP_GRABFOCUS_ONLY) ) + if( ! (nFlags & SalFrameToTop::GrabFocusOnly) ) gtk_window_present( GTK_WINDOW(m_pWindow) ); else { @@ -2017,7 +2017,7 @@ void GtkSalFrame::ToTop( sal_uInt16 nFlags ) } else { - if( nFlags & SAL_FRAME_TOTOP_RESTOREWHENMIN ) + if( nFlags & SalFrameToTop::RestoreWhenMin ) gtk_window_present( GTK_WINDOW(m_pWindow) ); } } diff --git a/vcl/win/window/salframe.cxx b/vcl/win/window/salframe.cxx index 5ac0cbd5bae6..fd5d2076d05c 100644 --- a/vcl/win/window/salframe.cxx +++ b/vcl/win/window/salframe.cxx @@ -1960,13 +1960,13 @@ void WinSalFrame::SetAlwaysOnTop( bool bOnTop ) SetWindowPos( mhWnd, hWnd, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE ); } -static void ImplSalToTop( HWND hWnd, sal_uInt16 nFlags ) +static void ImplSalToTop( HWND hWnd, SalFrameToTop nFlags ) { WinSalFrame* pToTopFrame = GetWindowPtr( hWnd ); if( pToTopFrame && (pToTopFrame->mnStyle & SalFrameStyleFlags::SYSTEMCHILD) ) BringWindowToTop( hWnd ); - if ( nFlags & SAL_FRAME_TOTOP_FOREGROUNDTASK ) + if ( nFlags & SalFrameToTop::ForegroundTask ) { // This magic code is necessary to connect the input focus of the // current window thread and the thread which owns the window that @@ -1979,7 +1979,7 @@ static void ImplSalToTop( HWND hWnd, sal_uInt16 nFlags ) AttachThreadInput(myThreadID,currThreadID,FALSE); } - if ( nFlags & SAL_FRAME_TOTOP_RESTOREWHENMIN ) + if ( nFlags & SalFrameToTop::RestoreWhenMin ) { HWND hIconicWnd = hWnd; while ( hIconicWnd ) @@ -2013,15 +2013,15 @@ static void ImplSalToTop( HWND hWnd, sal_uInt16 nFlags ) } } -void WinSalFrame::ToTop( sal_uInt16 nFlags ) +void WinSalFrame::ToTop( SalFrameToTop nFlags ) { - nFlags &= ~SAL_FRAME_TOTOP_GRABFOCUS; // this flag is not needed on win32 + nFlags &= ~SalFrameToTop::GrabFocus; // this flag is not needed on win32 // Post this Message to the window, because this only works // in the thread of the window, which has create this window. // We post this message to avoid deadlocks if ( GetSalData()->mnAppThreadId != GetCurrentThreadId() ) { - BOOL const ret = PostMessageW( mhWnd, SAL_MSG_TOTOP, nFlags, 0 ); + BOOL const ret = PostMessageW( mhWnd, SAL_MSG_TOTOP, (WPARAM)nFlags, 0 ); SAL_WARN_IF(0 == ret, "vcl", "ERROR: PostMessage() failed!"); } else @@ -5782,7 +5782,7 @@ LRESULT CALLBACK SalFrameWndProc( HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lP rDef = FALSE; break; case SAL_MSG_TOTOP: - ImplSalToTop( hWnd, (sal_uInt16)wParam ); + ImplSalToTop( hWnd, (SalFrameToTop)wParam ); rDef = FALSE; break; case SAL_MSG_SHOW: |