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

Unified Diff: chrome/browser/chromeos/login/user_image_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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/chromeos/login/user_image_view.h ('k') | chrome/browser/chromeos/login/username_view.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/chromeos/login/user_image_view.cc
diff --git a/chrome/browser/chromeos/login/user_image_view.cc b/chrome/browser/chromeos/login/user_image_view.cc
deleted file mode 100644
index 5b1adfe868dbaafa8129140ad39200fe5150dcd9..0000000000000000000000000000000000000000
--- a/chrome/browser/chromeos/login/user_image_view.cc
+++ /dev/null
@@ -1,294 +0,0 @@
-// 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.
-
-#include "chrome/browser/chromeos/login/user_image_view.h"
-
-#include <string>
-
-#include "base/utf_string_conversions.h"
-#include "chrome/browser/browser_process.h"
-#include "chrome/browser/chromeos/login/default_images_view.h"
-#include "chrome/browser/chromeos/login/default_user_images.h"
-#include "chrome/browser/chromeos/login/helper.h"
-#include "chrome/browser/chromeos/login/rounded_rect_painter.h"
-#include "chrome/browser/chromeos/login/user_manager.h"
-#include "chrome/browser/policy/browser_policy_connector.h"
-#include "grit/generated_resources.h"
-#include "grit/theme_resources.h"
-#include "ui/base/l10n/l10n_util.h"
-#include "ui/base/resource/resource_bundle.h"
-#include "ui/gfx/canvas.h"
-#include "views/background.h"
-#include "views/controls/button/text_button.h"
-#include "views/controls/label.h"
-#include "views/layout/grid_layout.h"
-
-namespace {
-
-// The delay of triggering initialization of the user policy subsystem
-// after the user image selection screen is initialized. This makes sure that
-// user policy network requests are made while the system is idle waiting for
-// user input.
-const int64 kPolicyServiceInitializationDelayMilliseconds = 400;
-
-// Margin in pixels from the left and right borders of screen's contents.
-const int kHorizontalMargin = 10;
-// Margin in pixels from the top and bottom borders of screen's contents.
-const int kVerticalMargin = 10;
-// Padding between horizontally neighboring elements.
-const int kHorizontalPadding = 10;
-// Padding between vertically neighboring elements.
-const int kVerticalPadding = 10;
-// Color for splitter separating contents from OK button.
-const SkColor kSplitterColor = SkColorSetRGB(187, 195, 200);
-// Height for the splitter.
-const int kSplitterHeight = 1;
-
-// IDs of column sets for grid layout manager.
-enum ColumnSets {
- kTitleRow, // Column set for screen title.
- kImagesRow, // Column set for image from camera and snapshot button.
- kSplitterRow, // Place for the splitter.
- kButtonsRow, // Column set for OK button.
-};
-
-views::View* CreateSplitter(const SkColor& color) {
- views::View* splitter = new views::View();
- splitter->set_background(views::Background::CreateSolidBackground(color));
- return splitter;
-}
-
-} // namespace
-
-namespace chromeos {
-
-UserImageView::UserImageView(Delegate* delegate)
- : title_label_(NULL),
- default_images_view_(NULL),
- take_photo_view_(NULL),
- splitter_(NULL),
- ok_button_(NULL),
- delegate_(delegate) {
-}
-
-UserImageView::~UserImageView() {
-}
-
-void UserImageView::Init() {
- // Use rounded rect background.
- set_border(CreateWizardBorder(&BorderDefinition::kScreenBorder));
- views::Painter* painter = CreateWizardPainter(
- &BorderDefinition::kScreenBorder);
- set_background(views::Background::CreateBackgroundPainter(true, painter));
-
- title_label_ = new views::Label(
- l10n_util::GetStringUTF16(IDS_OPTIONS_CHANGE_PICTURE_DIALOG_TEXT));
- title_label_->SetHorizontalAlignment(views::Label::ALIGN_LEFT);
- title_label_->SetMultiLine(true);
- CorrectLabelFontSize(title_label_);
-
- default_images_view_ = new DefaultImagesView(this);
- take_photo_view_ = new TakePhotoView(this);
- take_photo_view_->set_show_title(false);
-
- splitter_ = CreateSplitter(kSplitterColor);
-
- ok_button_ = new login::WideButton(this, l10n_util::GetStringUTF16(IDS_OK));
- ok_button_->set_focusable(true);
- ok_button_->SetEnabled(false);
-
- accel_ok_ = views::Accelerator(ui::VKEY_RETURN, false, false, false);
- accel_up_ = views::Accelerator(ui::VKEY_UP, false, false, false);
- accel_down_ = views::Accelerator(ui::VKEY_DOWN, false, false, false);
- accel_left_ = views::Accelerator(ui::VKEY_LEFT, false, false, false);
- accel_right_ = views::Accelerator(ui::VKEY_RIGHT, false, false, false);
-
- AddAccelerator(accel_ok_);
- AddAccelerator(accel_up_);
- AddAccelerator(accel_down_);
- AddAccelerator(accel_left_);
- AddAccelerator(accel_right_);
-
- InitLayout();
-
- default_images_view_->Init();
- take_photo_view_->Init();
-
- UserManager* user_manager = UserManager::Get();
- const std::string& logged_in_user = user_manager->logged_in_user().email();
- int image_index = user_manager->GetUserDefaultImageIndex(logged_in_user);
-
- default_images_view_->SetDefaultImageIndex(image_index);
-
- // Notify the policy subsystem that the system is idle enough now for a
- // policy fetch. (The policy fetch will happen after some delay, see
- // implementation.)
- g_browser_process->browser_policy_connector()->ScheduleServiceInitialization(
- kPolicyServiceInitializationDelayMilliseconds);
-}
-
-void UserImageView::InitLayout() {
- views::GridLayout* layout = new views::GridLayout(this);
- layout->SetInsets(GetInsets());
- SetLayoutManager(layout);
-
- // The title, left-top aligned.
- views::ColumnSet* column_set = layout->AddColumnSet(kTitleRow);
- column_set->AddPaddingColumn(0, kHorizontalMargin);
- column_set->AddColumn(views::GridLayout::FILL,
- views::GridLayout::LEADING,
- 1,
- views::GridLayout::USE_PREF, 0, 0);
- column_set->AddPaddingColumn(0, kHorizontalMargin);
-
- // The view with default images and the one with image from camera and label.
- column_set = layout->AddColumnSet(kImagesRow);
- column_set->AddPaddingColumn(0, kHorizontalMargin);
- column_set->AddColumn(views::GridLayout::LEADING,
- views::GridLayout::LEADING,
- 0,
- views::GridLayout::USE_PREF, 0, 0);
- column_set->AddPaddingColumn(0, kHorizontalPadding);
- column_set->AddColumn(views::GridLayout::FILL,
- views::GridLayout::LEADING,
- 1,
- views::GridLayout::USE_PREF, 0, 0);
- column_set->AddPaddingColumn(0, kHorizontalMargin);
-
- // Splitter.
- column_set = layout->AddColumnSet(kSplitterRow);
- column_set->AddColumn(views::GridLayout::FILL,
- views::GridLayout::TRAILING,
- 1,
- views::GridLayout::USE_PREF, 0, 0);
-
- // OK button is in the right bottom corner of the view.
- column_set = layout->AddColumnSet(kButtonsRow);
- column_set->AddPaddingColumn(0, kHorizontalMargin);
- column_set->AddColumn(views::GridLayout::TRAILING,
- views::GridLayout::TRAILING,
- 1,
- views::GridLayout::USE_PREF, 0, 0);
- column_set->AddPaddingColumn(0, kHorizontalMargin);
-
- // Fill the layout with rows and views now.
- layout->StartRowWithPadding(0, kTitleRow, 0, kVerticalMargin);
- layout->AddView(title_label_);
- layout->StartRowWithPadding(0, kImagesRow, 0, kVerticalPadding);
- layout->AddView(default_images_view_);
- layout->AddView(take_photo_view_);
- layout->StartRowWithPadding(1, kSplitterRow, 0, kVerticalPadding);
- // Set height for splitter view explicitly otherwise it's set to 0
- // by default.
- layout->AddView(splitter_,
- 1, 1,
- views::GridLayout::FILL,
- views::GridLayout::TRAILING,
- 0,
- kSplitterHeight);
- layout->StartRowWithPadding(0, kButtonsRow, 0, kVerticalPadding);
- layout->AddView(ok_button_);
- layout->AddPaddingRow(0, kVerticalMargin);
-}
-
-void UserImageView::UpdateVideoFrame(const SkBitmap& frame) {
- DCHECK(take_photo_view_);
- take_photo_view_->UpdateVideoFrame(frame);
-}
-
-void UserImageView::ShowCameraInitializing() {
- DCHECK(take_photo_view_);
- take_photo_view_->ShowCameraInitializing();
-}
-
-void UserImageView::ShowCameraError() {
- DCHECK(take_photo_view_);
- take_photo_view_->ShowCameraError();
-}
-
-bool UserImageView::IsCapturing() const {
- DCHECK(default_images_view_);
- DCHECK(take_photo_view_);
- return default_images_view_->GetDefaultImageIndex() == -1 &&
- take_photo_view_->is_capturing();
-}
-
-gfx::Size UserImageView::GetPreferredSize() {
- return gfx::Size(width(), height());
-}
-
-void UserImageView::NotifyDelegateOfImageSelected() {
- DCHECK(delegate_);
- DCHECK(default_images_view_);
- DCHECK(take_photo_view_);
- if (default_images_view_->GetDefaultImageIndex() == -1) {
- delegate_->OnPhotoTaken(take_photo_view_->GetImage());
- } else {
- delegate_->OnDefaultImageSelected(
- default_images_view_->GetDefaultImageIndex());
- }
-}
-
-void UserImageView::ButtonPressed(
- views::Button* sender, const views::Event& event) {
- DCHECK(delegate_);
- if (sender == ok_button_)
- NotifyDelegateOfImageSelected();
- else
- NOTREACHED();
-}
-
-bool UserImageView::AcceleratorPressed(const views::Accelerator& accel) {
- if (accel == accel_ok_) {
- if (IsCapturing())
- take_photo_view_->CaptureImage();
- else
- NotifyDelegateOfImageSelected();
- } else if (accel == accel_up_) {
- default_images_view_->SelectPreviousRowImage();
- } else if (accel == accel_down_) {
- default_images_view_->SelectNextRowImage();
- } else if (accel == accel_left_) {
- default_images_view_->SelectPreviousImage();
- } else if (accel == accel_right_) {
- default_images_view_->SelectNextImage();
- } else {
- return false;
- }
-
- return true;
-}
-
-void UserImageView::OnCapturingStarted() {
- delegate_->StartCamera();
- default_images_view_->ClearSelection();
- ok_button_->SetEnabled(false);
- ShowCameraInitializing();
-}
-
-void UserImageView::OnCapturingStopped() {
- delegate_->StopCamera();
- default_images_view_->ClearSelection();
- ok_button_->SetEnabled(true);
- ok_button_->RequestFocus();
-}
-
-void UserImageView::OnCaptureButtonClicked() {
- if (!IsCapturing())
- OnCapturingStarted();
-}
-
-void UserImageView::OnImageSelected(int image_index) {
- // Can happen when user is not known, i.e. in tests.
- if (image_index < 0 || image_index >= kDefaultImagesCount)
- return;
- delegate_->StopCamera();
- ok_button_->SetEnabled(true);
- ok_button_->RequestFocus();
- take_photo_view_->SetImage(
- ResourceBundle::GetSharedInstance().GetBitmapNamed(
- kDefaultImageResources[image_index]));
-}
-
-} // namespace chromeos
« no previous file with comments | « chrome/browser/chromeos/login/user_image_view.h ('k') | chrome/browser/chromeos/login/username_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698