diff options
author | Zolnai Tamás <tamas.zolnai@collabora.com> | 2014-01-29 21:07:42 +0100 |
---|---|---|
committer | Jan Holesovsky <kendy@collabora.com> | 2014-01-31 12:06:46 +0000 |
commit | 5b1e68bd852cac4534c5ce2e548187dce1d4561a (patch) | |
tree | 2f03db39ff8ed9807d27d8330708ff3271e0d1aa /include/vcl | |
parent | 82300f367dda20e3e83477dae9dd37124ac9831b (diff) |
fdo#71763: F6 key moves focus on this trip: Menu -> Sidebar -> Thumbnail view
Sidebar and thumbnail View are actually not separate windows
but F6 key traversal should simulate it as they would be.
Define a new getfocus flag called GETFOCUS_F6 which means focus
were grabed as a result of pressing F6 key. Use this and other two
(GETFOCUS_FORWARD, GETFOCUS_BACKWARD) flags to indicate the focus were
grabbed along subwindow relation (define a new ImplGrabFocusToDocument
method with a flag parameter on the analogy of GrabFocus() <-> ImplGrabFocus()).
Handle F6, Shift+F6 inside BackingWindow as it would have
two subwindow (sidebar and thumbnail view).
Plus Ctrl+F6 -> grab focus to the thumbnail view.
Change-Id: Ie43d761e7cb0269afb79481a81947a4b96e1dde0
Reviewed-on: https://gerrit.libreoffice.org/7486
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
Diffstat (limited to 'include/vcl')
-rw-r--r-- | include/vcl/window.hxx | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/vcl/window.hxx b/include/vcl/window.hxx index 32dccde009cc..0a3cf4588493 100644 --- a/include/vcl/window.hxx +++ b/include/vcl/window.hxx @@ -253,6 +253,7 @@ typedef sal_uInt16 StateChangedType; #define GETFOCUS_TAB ((sal_uInt16)0x0001) #define GETFOCUS_CURSOR ((sal_uInt16)0x0002) #define GETFOCUS_MNEMONIC ((sal_uInt16)0x0004) +#define GETFOCUS_F6 ((sal_uInt16)0x0008) #define GETFOCUS_FORWARD ((sal_uInt16)0x0010) #define GETFOCUS_BACKWARD ((sal_uInt16)0x0020) #define GETFOCUS_AROUND ((sal_uInt16)0x0040) @@ -260,6 +261,7 @@ typedef sal_uInt16 StateChangedType; #define GETFOCUS_INIT ((sal_uInt16)0x0200) #define GETFOCUS_FLOATWIN_POPUPMODEEND_CANCEL ((sal_uInt16)0x0400) + // Draw-Flags fuer Draw() #define WINDOW_DRAW_MONO ((sal_uLong)0x00000001) #define WINDOW_DRAW_NOBORDER ((sal_uLong)0x00000002) @@ -481,6 +483,7 @@ public: SAL_DLLPRIVATE void ImplCallMouseMove( sal_uInt16 nMouseCode, sal_Bool bModChanged = sal_False ); SAL_DLLPRIVATE void ImplGenerateMouseMove(); SAL_DLLPRIVATE void ImplGrabFocus( sal_uInt16 nFlags ); + SAL_DLLPRIVATE void ImplGrabFocusToDocument( sal_uInt16 nFlags ); SAL_DLLPRIVATE void ImplInvertFocus( const Rectangle& rRect ); SAL_DLLPRIVATE void ImplControlFocus( sal_uInt16 nFlags = 0 ); SAL_DLLPRIVATE Window* ImplGetDlgWindow( sal_uInt16 n, sal_uInt16 nType, sal_uInt16 nStart = 0, sal_uInt16 nEnd = 0xFFFF, sal_uInt16* pIndex = NULL ); |