OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/ui/views/keyboard_overlay_dialog_view.h" | 5 #include "chrome/browser/ui/views/keyboard_overlay_dialog_view.h" |
6 | 6 |
7 #include "base/utf_string_conversions.h" | 7 #include "base/utf_string_conversions.h" |
8 #include "chrome/browser/chromeos/frame/bubble_window.h" | 8 #include "chrome/browser/chromeos/frame/bubble_window.h" |
9 #include "chrome/browser/chromeos/input_method/input_method_manager.h" | 9 #include "chrome/browser/chromeos/input_method/input_method_manager.h" |
10 #include "chrome/browser/ui/browser_dialogs.h" | 10 #include "chrome/browser/ui/browser_dialogs.h" |
(...skipping 29 matching lines...) Expand all Loading... |
40 BrowserView* parent_view) | 40 BrowserView* parent_view) |
41 : HtmlDialogView(profile, delegate), | 41 : HtmlDialogView(profile, delegate), |
42 parent_view_(parent_view) { | 42 parent_view_(parent_view) { |
43 } | 43 } |
44 | 44 |
45 KeyboardOverlayDialogView::~KeyboardOverlayDialogView() { | 45 KeyboardOverlayDialogView::~KeyboardOverlayDialogView() { |
46 } | 46 } |
47 | 47 |
48 void KeyboardOverlayDialogView::RegisterDialogAccelerators() { | 48 void KeyboardOverlayDialogView::RegisterDialogAccelerators() { |
49 for (size_t i = 0; i < arraysize(kCloseAccelerators); ++i) { | 49 for (size_t i = 0; i < arraysize(kCloseAccelerators); ++i) { |
50 views::Accelerator accelerator(kCloseAccelerators[i].keycode, | 50 ui::Accelerator accelerator(kCloseAccelerators[i].keycode, |
51 kCloseAccelerators[i].shift_pressed, | 51 kCloseAccelerators[i].shift_pressed, |
52 kCloseAccelerators[i].ctrl_pressed, | 52 kCloseAccelerators[i].ctrl_pressed, |
53 kCloseAccelerators[i].alt_pressed); | 53 kCloseAccelerators[i].alt_pressed); |
54 close_accelerators_.insert(accelerator); | 54 close_accelerators_.insert(accelerator); |
55 AddAccelerator(accelerator); | 55 AddAccelerator(accelerator); |
56 } | 56 } |
57 | 57 |
58 for (size_t i = 0; i < browser::kAcceleratorMapLength; ++i) { | 58 for (size_t i = 0; i < browser::kAcceleratorMapLength; ++i) { |
59 views::Accelerator accelerator(browser::kAcceleratorMap[i].keycode, | 59 ui::Accelerator accelerator(browser::kAcceleratorMap[i].keycode, |
60 browser::kAcceleratorMap[i].shift_pressed, | 60 browser::kAcceleratorMap[i].shift_pressed, |
61 browser::kAcceleratorMap[i].ctrl_pressed, | 61 browser::kAcceleratorMap[i].ctrl_pressed, |
62 browser::kAcceleratorMap[i].alt_pressed); | 62 browser::kAcceleratorMap[i].alt_pressed); |
63 // Skip a sole ALT key since it's handled on the keyboard overlay. | 63 // Skip a sole ALT key since it's handled on the keyboard overlay. |
64 if (views::Accelerator(ui::VKEY_MENU, false, false, false) == accelerator) { | 64 if (ui::Accelerator(ui::VKEY_MENU, false, false, false) == accelerator) { |
65 continue; | 65 continue; |
66 } | 66 } |
67 // Skip accelerators for closing the dialog since they are already added. | 67 // Skip accelerators for closing the dialog since they are already added. |
68 if (IsCloseAccelerator(accelerator)) { | 68 if (IsCloseAccelerator(accelerator)) { |
69 continue; | 69 continue; |
70 } | 70 } |
71 AddAccelerator(accelerator); | 71 AddAccelerator(accelerator); |
72 } | 72 } |
73 } | 73 } |
74 | 74 |
75 bool KeyboardOverlayDialogView::AcceleratorPressed( | 75 bool KeyboardOverlayDialogView::AcceleratorPressed( |
76 const views::Accelerator& accelerator) { | 76 const ui::Accelerator& accelerator) { |
77 if (!IsCloseAccelerator(accelerator)) { | 77 if (!IsCloseAccelerator(accelerator)) { |
78 parent_view_->AcceleratorPressed(accelerator); | 78 parent_view_->AcceleratorPressed(accelerator); |
79 } | 79 } |
80 OnDialogClosed(std::string()); | 80 OnDialogClosed(std::string()); |
81 return true; | 81 return true; |
82 } | 82 } |
83 | 83 |
84 void KeyboardOverlayDialogView::ShowDialog( | 84 void KeyboardOverlayDialogView::ShowDialog( |
85 gfx::NativeWindow owning_window, BrowserView* parent_view) { | 85 gfx::NativeWindow owning_window, BrowserView* parent_view) { |
86 // Temporarily disable Shift+Alt. crosbug.com/17208. | 86 // Temporarily disable Shift+Alt. crosbug.com/17208. |
87 chromeos::input_method::InputMethodManager::GetInstance()->RemoveHotkeys(); | 87 chromeos::input_method::InputMethodManager::GetInstance()->RemoveHotkeys(); |
88 | 88 |
89 KeyboardOverlayDelegate* delegate = new KeyboardOverlayDelegate( | 89 KeyboardOverlayDelegate* delegate = new KeyboardOverlayDelegate( |
90 UTF16ToWide(l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_TITLE))); | 90 UTF16ToWide(l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_TITLE))); |
91 KeyboardOverlayDialogView* html_view = | 91 KeyboardOverlayDialogView* html_view = |
92 new KeyboardOverlayDialogView(parent_view->browser()->profile(), | 92 new KeyboardOverlayDialogView(parent_view->browser()->profile(), |
93 delegate, | 93 delegate, |
94 parent_view); | 94 parent_view); |
95 delegate->set_view(html_view); | 95 delegate->set_view(html_view); |
96 html_view->InitDialog(); | 96 html_view->InitDialog(); |
97 chromeos::BubbleWindow::Create(owning_window, | 97 chromeos::BubbleWindow::Create(owning_window, |
98 chromeos::STYLE_FLUSH, | 98 chromeos::STYLE_FLUSH, |
99 html_view); | 99 html_view); |
100 html_view->GetWidget()->Show(); | 100 html_view->GetWidget()->Show(); |
101 } | 101 } |
102 | 102 |
103 bool KeyboardOverlayDialogView::IsCloseAccelerator( | 103 bool KeyboardOverlayDialogView::IsCloseAccelerator( |
104 const views::Accelerator& accelerator) { | 104 const ui::Accelerator& accelerator) { |
105 return close_accelerators_.find(accelerator) != close_accelerators_.end(); | 105 return close_accelerators_.find(accelerator) != close_accelerators_.end(); |
106 } | 106 } |
OLD | NEW |