diff options
author | altimofeev@chromium.org <altimofeev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-24 08:39:36 +0000 |
---|---|---|
committer | altimofeev@chromium.org <altimofeev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-24 08:39:36 +0000 |
commit | eb09ecdb0825f0ef5d96b7cb65abffcbf0a7acd6 (patch) | |
tree | 90907143afbdb78bc172708c72d5883f7ae95f1f /chrome/browser | |
parent | ecaa9a994484961d3868a3c0bf9b5ca46d989719 (diff) | |
download | chromium_src-eb09ecdb0825f0ef5d96b7cb65abffcbf0a7acd6.zip chromium_src-eb09ecdb0825f0ef5d96b7cb65abffcbf0a7acd6.tar.gz chromium_src-eb09ecdb0825f0ef5d96b7cb65abffcbf0a7acd6.tar.bz2 |
Adds accelerators for BWSI(guest) mode.
BUG=chromium-os:6028
TEST=In login screen press ALT+B, - BWSI session starts.
Review URL: http://codereview.chromium.org/3443015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60440 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser')
-rw-r--r-- | chrome/browser/chromeos/login/existing_user_view.cc | 19 | ||||
-rw-r--r-- | chrome/browser/chromeos/login/existing_user_view.h | 11 | ||||
-rw-r--r-- | chrome/browser/chromeos/login/new_user_view.cc | 19 | ||||
-rw-r--r-- | chrome/browser/chromeos/login/new_user_view.h | 3 |
4 files changed, 38 insertions, 14 deletions
diff --git a/chrome/browser/chromeos/login/existing_user_view.cc b/chrome/browser/chromeos/login/existing_user_view.cc index 04e69ca..423fdfc 100644 --- a/chrome/browser/chromeos/login/existing_user_view.cc +++ b/chrome/browser/chromeos/login/existing_user_view.cc @@ -69,6 +69,15 @@ class UserEntryTextfield : public views::Textfield { DISALLOW_COPY_AND_ASSIGN(UserEntryTextfield); }; +ExistingUserView::ExistingUserView(UserController* uc) + : accel_login_off_the_record_( + views::Accelerator(app::VKEY_B, false, false, true)), + password_field_(NULL), + submit_button_(NULL), + user_controller_(uc) { + AddAccelerator(accel_login_off_the_record_); +} + void ExistingUserView::RecreateFields() { if (password_field_ == NULL) { password_field_ = new UserEntryTextfield(user_controller_, @@ -111,4 +120,14 @@ void ExistingUserView::OnLocaleChanged() { RecreateFields(); } + +bool ExistingUserView::AcceleratorPressed( + const views::Accelerator& accelerator) { + if (accelerator == accel_login_off_the_record_) { + user_controller_->OnLoginOffTheRecord(); + return true; + } + return false; +} + } // namespace chromeos diff --git a/chrome/browser/chromeos/login/existing_user_view.h b/chrome/browser/chromeos/login/existing_user_view.h index 5a70e02..a304496 100644 --- a/chrome/browser/chromeos/login/existing_user_view.h +++ b/chrome/browser/chromeos/login/existing_user_view.h @@ -16,10 +16,7 @@ class UserController; class ExistingUserView : public views::View { public: - explicit ExistingUserView(UserController* uc) - : password_field_(NULL), - submit_button_(NULL), - user_controller_(uc) {} + explicit ExistingUserView(UserController* uc); void RecreateFields(); @@ -29,10 +26,15 @@ class ExistingUserView : public views::View { void FocusPasswordField(); + // views::View + virtual bool AcceleratorPressed(const views::Accelerator& accelerator); + protected: // views::View overrides: virtual void OnLocaleChanged(); + views::Accelerator accel_login_off_the_record_; + // For editing the password. views::Textfield* password_field_; @@ -47,4 +49,3 @@ class ExistingUserView : public views::View { } // chromeos #endif // CHROME_BROWSER_CHROMEOS_LOGIN_EXISTING_USER_VIEW_H_ - diff --git a/chrome/browser/chromeos/login/new_user_view.cc b/chrome/browser/chromeos/login/new_user_view.cc index cf1f803..3d162093 100644 --- a/chrome/browser/chromeos/login/new_user_view.cc +++ b/chrome/browser/chromeos/login/new_user_view.cc @@ -84,8 +84,10 @@ NewUserView::NewUserView(Delegate* delegate, browse_without_signin_link_(NULL), languages_menubutton_(NULL), throbber_(NULL), - accel_focus_user_(views::Accelerator(app::VKEY_U, false, false, true)), accel_focus_pass_(views::Accelerator(app::VKEY_P, false, false, true)), + accel_focus_user_(views::Accelerator(app::VKEY_U, false, false, true)), + accel_login_off_the_record_( + views::Accelerator(app::VKEY_B, false, false, true)), delegate_(delegate), ALLOW_THIS_IN_INITIALIZER_LIST(focus_grabber_factory_(this)), focus_delayed_(false), @@ -142,8 +144,10 @@ void NewUserView::Init() { languages_menubutton_->SetFocusable(true); AddChildView(languages_menubutton_); + // Set up accelerators. AddAccelerator(accel_focus_user_); AddAccelerator(accel_focus_pass_); + AddAccelerator(accel_login_off_the_record_); UpdateLocalizedStrings(); RequestFocus(); @@ -159,15 +163,14 @@ void NewUserView::Init() { bool NewUserView::AcceleratorPressed(const views::Accelerator& accelerator) { if (accelerator == accel_focus_user_) { username_field_->RequestFocus(); - return true; - } - - if (accelerator == accel_focus_pass_) { + } else if (accelerator == accel_focus_pass_) { password_field_->RequestFocus(); - return true; + } else if (accelerator == accel_login_off_the_record_) { + delegate_->OnLoginOffTheRecord(); + } else { + return false; } - - return false; + return true; } void NewUserView::RecreateNativeControls() { diff --git a/chrome/browser/chromeos/login/new_user_view.h b/chrome/browser/chromeos/login/new_user_view.h index 1a841ad..3b6dd60 100644 --- a/chrome/browser/chromeos/login/new_user_view.h +++ b/chrome/browser/chromeos/login/new_user_view.h @@ -145,8 +145,9 @@ class NewUserView : public views::View, views::MenuButton* languages_menubutton_; views::Throbber* throbber_; - views::Accelerator accel_focus_user_; views::Accelerator accel_focus_pass_; + views::Accelerator accel_focus_user_; + views::Accelerator accel_login_off_the_record_; // Notifications receiver. Delegate* delegate_; |