diff options
Diffstat (limited to 'ui/app_list/views/folder_header_view.cc')
-rw-r--r-- | ui/app_list/views/folder_header_view.cc | 179 |
1 files changed, 0 insertions, 179 deletions
diff --git a/ui/app_list/views/folder_header_view.cc b/ui/app_list/views/folder_header_view.cc deleted file mode 100644 index 6874e86..0000000 --- a/ui/app_list/views/folder_header_view.cc +++ /dev/null @@ -1,179 +0,0 @@ -// Copyright 2013 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 "ui/app_list/views/folder_header_view.h" - -#include "base/strings/utf_string_conversions.h" -#include "grit/ui_resources.h" -#include "grit/ui_strings.h" -#include "ui/app_list/app_list_constants.h" -#include "ui/app_list/app_list_folder_item.h" -#include "ui/app_list/views/app_list_folder_view.h" -#include "ui/base/resource/resource_bundle.h" -#include "ui/gfx/canvas.h" -#include "ui/views/controls/button/image_button.h" -#include "ui/views/controls/textfield/textfield.h" - -namespace app_list { - -namespace { - -const int kPreferredWidth = 360; -const int kPreferredHeight = 48; -const int kIconDimension = 32; -const int kPadding = 14; -const int kFolderNameWidth = 150; -const int kFolderNameHeight = 30; -const int kBottomSeparatorWidth = 380; -const int kBottomSeparatorHeight = 1; - -const SkColor kHintTextColor = SkColorSetRGB(0xA0, 0xA0, 0xA0); - -} // namespace - -class FolderHeaderView::FolderNameView : public views::Textfield { - public: - FolderNameView() { - set_border(views::Border::CreateEmptyBorder(1, 1, 1, 1)); - } - - virtual ~FolderNameView() { - } - - // Overridden from views::View: - virtual gfx::Size GetPreferredSize() OVERRIDE { - return gfx::Size(kFolderNameWidth, kFolderNameHeight); - } - - virtual void OnPaintFocusBorder(gfx::Canvas* canvas) OVERRIDE { - const SkColor kFocusBorderColor = SkColorSetRGB(64, 128, 250); - if (HasFocus() && focusable()) { - gfx::Rect rect = GetLocalBounds(); - rect.Inset(0, 0, 1, 1); - canvas->DrawRect(rect, kFocusBorderColor); - } - } - - private: - DISALLOW_COPY_AND_ASSIGN(FolderNameView); -}; - -FolderHeaderView::FolderHeaderView(FolderHeaderViewDelegate* delegate) - : folder_item_(NULL), - back_button_(new views::ImageButton(this)), - folder_name_view_(new FolderNameView), - delegate_(delegate) { - ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); - back_button_->SetImage(views::ImageButton::STATE_NORMAL, - rb.GetImageSkiaNamed(IDR_APP_LIST_FOLDER_BACK_NORMAL)); - back_button_->SetImageAlignment(views::ImageButton::ALIGN_CENTER, - views::ImageButton::ALIGN_MIDDLE); - AddChildView(back_button_); - - folder_name_view_->SetFont(rb.GetFont(ui::ResourceBundle::MediumFont)); - folder_name_view_->set_placeholder_text_color(kHintTextColor); - folder_name_view_->set_placeholder_text( - rb.GetLocalizedString(IDS_APP_LIST_FOLDER_NAME_PLACEHOLDER)); - folder_name_view_->RemoveBorder(); - folder_name_view_->SetBackgroundColor(kContentsBackgroundColor); - folder_name_view_->SetController(this); - AddChildView(folder_name_view_); -} - -FolderHeaderView::~FolderHeaderView() { - if (folder_item_) - folder_item_->RemoveObserver(this); -} - -void FolderHeaderView::SetFolderItem(AppListFolderItem* folder_item) { - if (folder_item_) - folder_item_->RemoveObserver(this); - - folder_item_ = folder_item; - if (!folder_item_) - return; - folder_item_->AddObserver(this); - - Update(); -} - -void FolderHeaderView::Update() { - if (!folder_item_) - return; - - folder_name_view_->SetText(UTF8ToUTF16(folder_item_->title())); -} - -gfx::Size FolderHeaderView::GetPreferredSize() { - return gfx::Size(kPreferredWidth, kPreferredHeight); -} - -void FolderHeaderView::Layout() { - gfx::Rect rect(GetContentsBounds()); - if (rect.IsEmpty()) - return; - - gfx::Rect back_bounds(rect); - back_bounds.set_width(kIconDimension + 2 * kPadding); - back_button_->SetBoundsRect(back_bounds); - - gfx::Rect text_bounds(rect); - int text_width = folder_name_view_->GetPreferredSize().width(); - text_bounds.set_x(back_bounds.x() + (rect.width() - text_width) / 2); - text_bounds.set_width(text_width); - text_bounds.ClampToCenteredSize(gfx::Size(text_bounds.width(), - folder_name_view_->GetPreferredSize().height())); - folder_name_view_->SetBoundsRect(text_bounds); -} - -void FolderHeaderView::OnPaint(gfx::Canvas* canvas) { - views::View::OnPaint(canvas); - - gfx::Rect rect(GetContentsBounds()); - if (rect.IsEmpty()) - return; - - // Draw bottom separator line. - rect.set_x((rect.width() - kBottomSeparatorWidth) / 2 + rect.x()); - rect.set_y(rect.y() + rect.height() - kBottomSeparatorHeight); - rect.set_width(kBottomSeparatorWidth); - rect.set_height(kBottomSeparatorHeight); - canvas->FillRect(rect, kTopSeparatorColor); -} - -void FolderHeaderView::ContentsChanged(views::Textfield* sender, - const base::string16& new_contents) { - // Temporarily remove from observer to ignore data change caused by us. - if (!folder_item_) - return; - - folder_item_->RemoveObserver(this); - std::string name = UTF16ToUTF8(folder_name_view_->text()); - folder_item_->SetTitleAndFullName(name, name); - folder_item_->AddObserver(this); -} - -void FolderHeaderView::ButtonPressed(views::Button* sender, - const ui::Event& event) { - delegate_->NavigateBack(folder_item_, event); -} - -void FolderHeaderView::ItemIconChanged() { -} - -void FolderHeaderView::ItemTitleChanged() { - Update(); -} - -void FolderHeaderView::ItemHighlightedChanged() { -} - -void FolderHeaderView::ItemIsInstallingChanged() { -} - -void FolderHeaderView::ItemPercentDownloadedChanged() { -} - -} // namespace app_list - |