// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_EXISTING_USER_VIEW_H_ #define CHROME_BROWSER_CHROMEOS_LOGIN_EXISTING_USER_VIEW_H_ #pragma once #include "chrome/browser/chromeos/login/helper.h" #include "chrome/browser/chromeos/login/user_input.h" #include "views/accelerator.h" #include "views/controls/button/native_button.h" #include "views/controls/textfield/textfield_controller.h" #include "views/view.h" namespace chromeos { class UserController; class ExistingUserView : public ThrobberHostView, public UserInput, public views::TextfieldController { public: explicit ExistingUserView(UserController* user_controller); void RecreateFields(); void FocusPasswordField(); // views::View: virtual bool AcceleratorPressed(const views::Accelerator& accelerator); // views::TextfieldController: virtual void ContentsChanged(views::Textfield* sender, const string16& new_contents); virtual bool HandleKeyEvent(views::Textfield* sender, const views::KeyEvent& keystroke); virtual void RequestFocus(); // UserInput: virtual void EnableInputControls(bool enabled); virtual void ClearAndFocusControls(); virtual void ClearAndFocusPassword(); virtual gfx::Rect GetMainInputScreenBounds() const; protected: // views::View: virtual void OnLocaleChanged(); private: UserController* user_controller_; // For editing the password. views::Textfield* password_field_; views::Accelerator accel_enterprise_enrollment_; views::Accelerator accel_login_off_the_record_; views::Accelerator accel_toggle_accessibility_; DISALLOW_COPY_AND_ASSIGN(ExistingUserView); }; } // chromeos #endif // CHROME_BROWSER_CHROMEOS_LOGIN_EXISTING_USER_VIEW_H_