diff options
author | jcampan@chromium.org <jcampan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-29 00:33:35 +0000 |
---|---|---|
committer | jcampan@chromium.org <jcampan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-29 00:33:35 +0000 |
commit | bc1407f95bae3d7472ee0c85ef83ee10610b3f1f (patch) | |
tree | eeb1e01423fefc13afe5738d809df200b5e50623 /base | |
parent | 62525634a6f5727216828f8e05a4f563be90dfeb (diff) | |
download | chromium_src-bc1407f95bae3d7472ee0c85ef83ee10610b3f1f.zip chromium_src-bc1407f95bae3d7472ee0c85ef83ee10610b3f1f.tar.gz chromium_src-bc1407f95bae3d7472ee0c85ef83ee10610b3f1f.tar.bz2 |
Relanding keyboard code refactoring:
http://codereview.chromium.org/248010/show
Changing the KeyboardEvent to use a KeyboardCode instead of a w_char. Led to several places where I had to switch from VK_ to VKEY_.
Also cleaned-up the table view OnKeyDown method. Since TableView is a NativeControl it can use the NativeControl::OnKeyDown directly.
BUG=None
TEST=Make sure short-cuts works as expected, especially in the omnibox.
Review URL: http://codereview.chromium.org/251020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27444 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base')
-rwxr-xr-x | base/keyboard_code_conversion_gtk.cc | 8 | ||||
-rwxr-xr-x | base/keyboard_code_conversion_gtk.h | 4 | ||||
-rw-r--r-- | base/win_util.cc | 8 | ||||
-rw-r--r-- | base/win_util.h | 6 |
4 files changed, 20 insertions, 6 deletions
diff --git a/base/keyboard_code_conversion_gtk.cc b/base/keyboard_code_conversion_gtk.cc index b280d40..b56461f 100755 --- a/base/keyboard_code_conversion_gtk.cc +++ b/base/keyboard_code_conversion_gtk.cc @@ -44,7 +44,7 @@ namespace base { -int WindowsKeyCodeForGdkKeyCode(int keycode) { +base::KeyboardCode WindowsKeyCodeForGdkKeyCode(int keycode) { switch (keycode) { case GDK_KP_0: return VKEY_NUMPAD0; // (60) Numeric keypad 0 key @@ -404,14 +404,14 @@ int WindowsKeyCodeForGdkKeyCode(int keycode) { case GDK_F22: case GDK_F23: case GDK_F24: - return VKEY_F1 + (keycode - GDK_F1); + return static_cast<base::KeyboardCode>(VKEY_F1 + (keycode - GDK_F1)); default: - return 0; + return VKEY_UNKNOWN; } } // TODO(jcampan): this method might be incomplete. -int GdkKeyCodeForWindowsKeyCode(int keycode) { +int GdkKeyCodeForWindowsKeyCode(base::KeyboardCode keycode) { switch (keycode) { case VKEY_NUMPAD0: return GDK_KP_0; diff --git a/base/keyboard_code_conversion_gtk.h b/base/keyboard_code_conversion_gtk.h index 9fd3b11..1f1e3b6 100755 --- a/base/keyboard_code_conversion_gtk.h +++ b/base/keyboard_code_conversion_gtk.h @@ -40,9 +40,9 @@ namespace base { -int WindowsKeyCodeForGdkKeyCode(int keycode); +base::KeyboardCode WindowsKeyCodeForGdkKeyCode(int keycode); -int GdkKeyCodeForWindowsKeyCode(int keycode); +int GdkKeyCodeForWindowsKeyCode(base::KeyboardCode keycode); } // namespace diff --git a/base/win_util.cc b/base/win_util.cc index 37fc1ae..4fa1df0 100644 --- a/base/win_util.cc +++ b/base/win_util.cc @@ -373,6 +373,14 @@ std::wstring FormatLastWin32Error() { return FormatMessage(GetLastError()); } +WORD KeyboardCodeToWin(base::KeyboardCode keycode) { + return static_cast<WORD>(keycode); +} + +base::KeyboardCode WinToKeyboardCode(WORD keycode) { + return static_cast<base::KeyboardCode>(keycode); +} + } // namespace win_util #ifdef _MSC_VER diff --git a/base/win_util.h b/base/win_util.h index e628bd7..307eddb 100644 --- a/base/win_util.h +++ b/base/win_util.h @@ -10,6 +10,8 @@ #include <string> +#include "base/keyboard_codes.h" + namespace win_util { // NOTE: Keep these in order so callers can do things like @@ -104,6 +106,10 @@ std::wstring FormatMessage(unsigned messageid); // Uses the last Win32 error to generate a human readable message string. std::wstring FormatLastWin32Error(); +// Methods to convert base::KeyboardCode/Windows virtual key type methods. +WORD KeyboardCodeToWin(base::KeyboardCode keycode); +base::KeyboardCode WinToKeyboardCode(WORD keycode); + } // namespace win_util #endif // BASE_WIN_UTIL_H__ |