Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(251)

Side by Side Diff: chrome/browser/chromeos/login/guest_user_view.cc

Issue 8436002: [cros] Remove Views implementation for login/OOBE. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: merge Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "chrome/browser/chromeos/login/guest_user_view.h"
6
7 #include "base/utf_string_conversions.h"
8 #include "chrome/browser/chromeos/login/user_controller.h"
9 #include "chrome/browser/chromeos/login/wizard_accessibility_helper.h"
10 #include "grit/generated_resources.h"
11 #include "ui/base/l10n/l10n_util.h"
12
13 namespace chromeos {
14
15 // Button with custom processing for Tab/Shift+Tab to select entries.
16 class UserEntryButton : public login::WideButton {
17 public:
18 UserEntryButton(views::ButtonListener* button_listener,
19 UserController* user_controller,
20 const string16& label)
21 : WideButton(button_listener, label),
22 user_controller_(user_controller) {}
23
24 // Overridden from views::View:
25 virtual bool OnKeyPressed(const views::KeyEvent& e) {
26 if (e.key_code() == ui::VKEY_TAB) {
27 user_controller_->SelectUserRelative(e.IsShiftDown() ? -1 : 1);
28 return true;
29 }
30 return WideButton::OnKeyPressed(e);
31 }
32
33 virtual bool SkipDefaultKeyEventProcessing(const views::KeyEvent& e) {
34 if (e.key_code() == ui::VKEY_TAB)
35 return true;
36 return WideButton::SkipDefaultKeyEventProcessing(e);
37 }
38
39 private:
40 UserController* user_controller_;
41
42 DISALLOW_COPY_AND_ASSIGN(UserEntryButton);
43 };
44
45
46 GuestUserView::GuestUserView(UserController* uc)
47 : submit_button_(NULL),
48 user_controller_(uc),
49 accel_toggle_accessibility_(
50 WizardAccessibilityHelper::GetAccelerator()),
51 accel_login_off_the_record_(
52 views::Accelerator(ui::VKEY_B, false, false, true)),
53 accel_previous_pod_by_arrow_(
54 views::Accelerator(ui::VKEY_LEFT, false, false, false)),
55 accel_next_pod_by_arrow_(
56 views::Accelerator(ui::VKEY_RIGHT, false, false, false)) {
57 AddAccelerator(accel_toggle_accessibility_);
58 AddAccelerator(accel_login_off_the_record_);
59 AddAccelerator(accel_previous_pod_by_arrow_);
60 AddAccelerator(accel_next_pod_by_arrow_);
61 }
62
63 GuestUserView::~GuestUserView() {}
64
65 void GuestUserView::RecreateFields() {
66 delete submit_button_;
67 submit_button_ = new UserEntryButton(
68 this,
69 user_controller_,
70 l10n_util::GetStringUTF16(IDS_ENTER_GUEST_SESSION_BUTTON));
71 AddChildView(submit_button_);
72 Layout();
73 SchedulePaint();
74 }
75
76 bool GuestUserView::AcceleratorPressed(
77 const views::Accelerator& accelerator) {
78 if (accelerator == accel_login_off_the_record_)
79 user_controller_->OnLoginAsGuest();
80 else if (accelerator == accel_toggle_accessibility_)
81 WizardAccessibilityHelper::GetInstance()->ToggleAccessibility();
82 else if (accelerator == accel_previous_pod_by_arrow_)
83 user_controller_->SelectUserRelative(-1);
84 else if (accelerator == accel_next_pod_by_arrow_)
85 user_controller_->SelectUserRelative(1);
86 else
87 return false;
88 return true;
89 }
90
91 void GuestUserView::RequestFocus() {
92 submit_button_->RequestFocus();
93 }
94
95 void GuestUserView::ButtonPressed(
96 views::Button* sender, const views::Event& event) {
97 DCHECK(sender == submit_button_);
98 user_controller_->OnLoginAsGuest();
99 }
100
101 void GuestUserView::EnableInputControls(bool enabled) {
102 submit_button_->SetEnabled(enabled);
103 }
104
105 void GuestUserView::OnLocaleChanged() {
106 RecreateFields();
107 }
108
109 void GuestUserView::Layout() {
110 gfx::Size submit_button_size = submit_button_->GetPreferredSize();
111 int submit_button_x = (width() - submit_button_size.width()) / 2;
112 int submit_button_y = (height() - submit_button_size.height()) / 2;
113 submit_button_->SetBounds(submit_button_x,
114 submit_button_y,
115 submit_button_size.width(),
116 submit_button_size.height());
117 }
118
119 void GuestUserView::ClearAndFocusControls() {
120 }
121
122 void GuestUserView::ClearAndFocusPassword() {
123 }
124
125 gfx::Rect GuestUserView::GetMainInputScreenBounds() const {
126 NOTREACHED();
127 return gfx::Rect();
128 }
129
130 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/guest_user_view.h ('k') | chrome/browser/chromeos/login/network_screen.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698