| OLD | NEW |
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/gtk/browser_window_gtk.h" | 5 #include "chrome/browser/gtk/browser_window_gtk.h" |
| 6 | 6 |
| 7 #include <gdk/gdkkeysyms.h> | 7 #include <gdk/gdkkeysyms.h> |
| 8 #include <X11/XF86keysym.h> |
| 8 | 9 |
| 9 #include "app/resource_bundle.h" | 10 #include "app/resource_bundle.h" |
| 10 #include "app/theme_provider.h" | 11 #include "app/theme_provider.h" |
| 11 #include "base/base_paths_linux.h" | 12 #include "base/base_paths_linux.h" |
| 12 #include "base/gfx/gtk_util.h" | 13 #include "base/gfx/gtk_util.h" |
| 13 #include "base/logging.h" | 14 #include "base/logging.h" |
| 14 #include "base/message_loop.h" | 15 #include "base/message_loop.h" |
| 15 #include "base/path_service.h" | 16 #include "base/path_service.h" |
| 16 #include "base/string_util.h" | 17 #include "base/string_util.h" |
| 17 #include "base/time.h" | 18 #include "base/time.h" |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 110 return gfx::Rect(x, y, width, height); | 111 return gfx::Rect(x, y, width, height); |
| 111 } | 112 } |
| 112 | 113 |
| 113 const struct AcceleratorMapping { | 114 const struct AcceleratorMapping { |
| 114 guint keyval; | 115 guint keyval; |
| 115 int command_id; | 116 int command_id; |
| 116 GdkModifierType modifier_type; | 117 GdkModifierType modifier_type; |
| 117 } kAcceleratorMap[] = { | 118 } kAcceleratorMap[] = { |
| 118 // Focus. | 119 // Focus. |
| 119 { GDK_k, IDC_FOCUS_SEARCH, GDK_CONTROL_MASK }, | 120 { GDK_k, IDC_FOCUS_SEARCH, GDK_CONTROL_MASK }, |
| 121 { XF86XK_Search, IDC_FOCUS_SEARCH, GdkModifierType(0) }, |
| 120 { GDK_l, IDC_FOCUS_LOCATION, GDK_CONTROL_MASK }, | 122 { GDK_l, IDC_FOCUS_LOCATION, GDK_CONTROL_MASK }, |
| 121 { GDK_d, IDC_FOCUS_LOCATION, GDK_MOD1_MASK }, | 123 { GDK_d, IDC_FOCUS_LOCATION, GDK_MOD1_MASK }, |
| 122 { GDK_F6, IDC_FOCUS_LOCATION, GdkModifierType(0) }, | 124 { GDK_F6, IDC_FOCUS_LOCATION, GdkModifierType(0) }, |
| 125 { XF86XK_OpenURL, IDC_FOCUS_LOCATION, GdkModifierType(0) }, |
| 126 { XF86XK_Go, IDC_FOCUS_LOCATION, GdkModifierType(0) }, |
| 123 | 127 |
| 124 // Tab/window controls. | 128 // Tab/window controls. |
| 125 { GDK_Page_Down, IDC_SELECT_NEXT_TAB, GDK_CONTROL_MASK }, | 129 { GDK_Page_Down, IDC_SELECT_NEXT_TAB, GDK_CONTROL_MASK }, |
| 126 { GDK_Page_Up, IDC_SELECT_PREVIOUS_TAB, GDK_CONTROL_MASK }, | 130 { GDK_Page_Up, IDC_SELECT_PREVIOUS_TAB, GDK_CONTROL_MASK }, |
| 127 { GDK_w, IDC_CLOSE_TAB, GDK_CONTROL_MASK }, | 131 { GDK_w, IDC_CLOSE_TAB, GDK_CONTROL_MASK }, |
| 128 { GDK_t, IDC_RESTORE_TAB, | 132 { GDK_t, IDC_RESTORE_TAB, |
| 129 GdkModifierType(GDK_CONTROL_MASK | GDK_SHIFT_MASK) }, | 133 GdkModifierType(GDK_CONTROL_MASK | GDK_SHIFT_MASK) }, |
| 130 { GDK_1, IDC_SELECT_TAB_0, GDK_CONTROL_MASK }, | 134 { GDK_1, IDC_SELECT_TAB_0, GDK_CONTROL_MASK }, |
| 131 { GDK_2, IDC_SELECT_TAB_1, GDK_CONTROL_MASK }, | 135 { GDK_2, IDC_SELECT_TAB_1, GDK_CONTROL_MASK }, |
| 132 { GDK_3, IDC_SELECT_TAB_2, GDK_CONTROL_MASK }, | 136 { GDK_3, IDC_SELECT_TAB_2, GDK_CONTROL_MASK }, |
| 133 { GDK_4, IDC_SELECT_TAB_3, GDK_CONTROL_MASK }, | 137 { GDK_4, IDC_SELECT_TAB_3, GDK_CONTROL_MASK }, |
| 134 { GDK_5, IDC_SELECT_TAB_4, GDK_CONTROL_MASK }, | 138 { GDK_5, IDC_SELECT_TAB_4, GDK_CONTROL_MASK }, |
| 135 { GDK_6, IDC_SELECT_TAB_5, GDK_CONTROL_MASK }, | 139 { GDK_6, IDC_SELECT_TAB_5, GDK_CONTROL_MASK }, |
| 136 { GDK_7, IDC_SELECT_TAB_6, GDK_CONTROL_MASK }, | 140 { GDK_7, IDC_SELECT_TAB_6, GDK_CONTROL_MASK }, |
| 137 { GDK_8, IDC_SELECT_TAB_7, GDK_CONTROL_MASK }, | 141 { GDK_8, IDC_SELECT_TAB_7, GDK_CONTROL_MASK }, |
| 138 { GDK_9, IDC_SELECT_LAST_TAB, GDK_CONTROL_MASK }, | 142 { GDK_9, IDC_SELECT_LAST_TAB, GDK_CONTROL_MASK }, |
| 139 { GDK_F4, IDC_CLOSE_TAB, GDK_CONTROL_MASK }, | 143 { GDK_F4, IDC_CLOSE_TAB, GDK_CONTROL_MASK }, |
| 140 { GDK_F4, IDC_CLOSE_WINDOW, GDK_MOD1_MASK }, | 144 { GDK_F4, IDC_CLOSE_WINDOW, GDK_MOD1_MASK }, |
| 141 | 145 |
| 142 // Zoom level. | 146 // Zoom level. |
| 143 { GDK_plus, IDC_ZOOM_PLUS, | 147 { GDK_plus, IDC_ZOOM_PLUS, |
| 144 GdkModifierType(GDK_CONTROL_MASK | GDK_SHIFT_MASK) }, | 148 GdkModifierType(GDK_CONTROL_MASK | GDK_SHIFT_MASK) }, |
| 145 { GDK_equal, IDC_ZOOM_PLUS, GDK_CONTROL_MASK }, | 149 { GDK_equal, IDC_ZOOM_PLUS, GDK_CONTROL_MASK }, |
| 150 { XF86XK_ZoomIn, IDC_ZOOM_PLUS, GdkModifierType(0) }, |
| 146 { GDK_0, IDC_ZOOM_NORMAL, GDK_CONTROL_MASK }, | 151 { GDK_0, IDC_ZOOM_NORMAL, GDK_CONTROL_MASK }, |
| 147 { GDK_minus, IDC_ZOOM_MINUS, GDK_CONTROL_MASK }, | 152 { GDK_minus, IDC_ZOOM_MINUS, GDK_CONTROL_MASK }, |
| 148 { GDK_underscore, IDC_ZOOM_MINUS, | 153 { GDK_underscore, IDC_ZOOM_MINUS, |
| 149 GdkModifierType(GDK_CONTROL_MASK | GDK_SHIFT_MASK) }, | 154 GdkModifierType(GDK_CONTROL_MASK | GDK_SHIFT_MASK) }, |
| 155 { XF86XK_ZoomOut, IDC_ZOOM_MINUS, GdkModifierType(0) }, |
| 150 | 156 |
| 151 // Find in page. | 157 // Find in page. |
| 152 { GDK_g, IDC_FIND_NEXT, GDK_CONTROL_MASK }, | 158 { GDK_g, IDC_FIND_NEXT, GDK_CONTROL_MASK }, |
| 153 { GDK_F3, IDC_FIND_NEXT, GdkModifierType(0) }, | 159 { GDK_F3, IDC_FIND_NEXT, GdkModifierType(0) }, |
| 154 { GDK_g, IDC_FIND_PREVIOUS, | 160 { GDK_g, IDC_FIND_PREVIOUS, |
| 155 GdkModifierType(GDK_CONTROL_MASK | GDK_SHIFT_MASK) }, | 161 GdkModifierType(GDK_CONTROL_MASK | GDK_SHIFT_MASK) }, |
| 156 { GDK_F3, IDC_FIND_PREVIOUS, GDK_SHIFT_MASK }, | 162 { GDK_F3, IDC_FIND_PREVIOUS, GDK_SHIFT_MASK }, |
| 157 | 163 |
| 158 // Navigation. | 164 // Navigation. |
| 159 { GDK_Home, IDC_HOME, GDK_MOD1_MASK }, | 165 { GDK_Home, IDC_HOME, GDK_MOD1_MASK }, |
| 166 { XF86XK_HomePage, IDC_HOME, GdkModifierType(0) }, |
| 160 { GDK_Escape, IDC_STOP, GdkModifierType(0) }, | 167 { GDK_Escape, IDC_STOP, GdkModifierType(0) }, |
| 168 { XF86XK_Stop, IDC_STOP, GdkModifierType(0) }, |
| 161 | 169 |
| 162 // Miscellany. | 170 // Miscellany. |
| 163 { GDK_d, IDC_STAR, GDK_CONTROL_MASK }, | 171 { GDK_d, IDC_STAR, GDK_CONTROL_MASK }, |
| 172 { XF86XK_AddFavorite, IDC_STAR, GdkModifierType(0) }, |
| 173 { XF86XK_Favorites, IDC_SHOW_BOOKMARK_BAR, GdkModifierType(0) }, |
| 174 { XF86XK_History, IDC_SHOW_HISTORY, GdkModifierType(0) }, |
| 164 { GDK_o, IDC_OPEN_FILE, GDK_CONTROL_MASK }, | 175 { GDK_o, IDC_OPEN_FILE, GDK_CONTROL_MASK }, |
| 165 { GDK_F11, IDC_FULLSCREEN, GdkModifierType(0) }, | 176 { GDK_F11, IDC_FULLSCREEN, GdkModifierType(0) }, |
| 166 { GDK_u, IDC_VIEW_SOURCE, GDK_CONTROL_MASK }, | 177 { GDK_u, IDC_VIEW_SOURCE, GDK_CONTROL_MASK }, |
| 167 { GDK_p, IDC_PRINT, GDK_CONTROL_MASK }, | 178 { GDK_p, IDC_PRINT, GDK_CONTROL_MASK }, |
| 168 { GDK_Escape, IDC_TASK_MANAGER, GDK_SHIFT_MASK }, | 179 { GDK_Escape, IDC_TASK_MANAGER, GDK_SHIFT_MASK }, |
| 169 }; | 180 }; |
| 170 | 181 |
| 171 int GetCommandId(guint accel_key, GdkModifierType modifier) { | 182 int GetCommandId(guint accel_key, GdkModifierType modifier) { |
| 172 // Bug 9806: If capslock is on, we will get a capital letter as accel_key. | 183 // Bug 9806: If capslock is on, we will get a capital letter as accel_key. |
| 173 accel_key = gdk_keyval_to_lower(accel_key); | 184 accel_key = gdk_keyval_to_lower(accel_key); |
| (...skipping 896 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1070 } | 1081 } |
| 1071 | 1082 |
| 1072 bool BrowserWindowGtk::IsToolbarSupported() { | 1083 bool BrowserWindowGtk::IsToolbarSupported() { |
| 1073 return browser_->SupportsWindowFeature(Browser::FEATURE_TOOLBAR) || | 1084 return browser_->SupportsWindowFeature(Browser::FEATURE_TOOLBAR) || |
| 1074 browser_->SupportsWindowFeature(Browser::FEATURE_LOCATIONBAR); | 1085 browser_->SupportsWindowFeature(Browser::FEATURE_LOCATIONBAR); |
| 1075 } | 1086 } |
| 1076 | 1087 |
| 1077 bool BrowserWindowGtk::IsBookmarkBarSupported() { | 1088 bool BrowserWindowGtk::IsBookmarkBarSupported() { |
| 1078 return browser_->SupportsWindowFeature(Browser::FEATURE_BOOKMARKBAR); | 1089 return browser_->SupportsWindowFeature(Browser::FEATURE_BOOKMARKBAR); |
| 1079 } | 1090 } |
| OLD | NEW |