| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "ui/app_list/views/folder_header_view.h" | 5 #include "ui/app_list/views/folder_header_view.h" |
| 6 | 6 |
| 7 #include "base/strings/utf_string_conversions.h" | 7 #include "base/strings/utf_string_conversions.h" |
| 8 #include "grit/ui_resources.h" | 8 #include "grit/ui_resources.h" |
| 9 #include "grit/ui_strings.h" | 9 #include "grit/ui_strings.h" |
| 10 #include "ui/app_list/app_list_constants.h" | 10 #include "ui/app_list/app_list_constants.h" |
| (...skipping 29 matching lines...) Expand all Loading... |
| 40 SetBorder(views::Border::CreateEmptyBorder(1, 1, 1, 1)); | 40 SetBorder(views::Border::CreateEmptyBorder(1, 1, 1, 1)); |
| 41 const SkColor kFocusBorderColor = SkColorSetRGB(64, 128, 250); | 41 const SkColor kFocusBorderColor = SkColorSetRGB(64, 128, 250); |
| 42 SetFocusPainter(views::Painter::CreateSolidFocusPainter( | 42 SetFocusPainter(views::Painter::CreateSolidFocusPainter( |
| 43 kFocusBorderColor, | 43 kFocusBorderColor, |
| 44 gfx::Insets(0, 0, 1, 1))); | 44 gfx::Insets(0, 0, 1, 1))); |
| 45 } | 45 } |
| 46 | 46 |
| 47 virtual ~FolderNameView() { | 47 virtual ~FolderNameView() { |
| 48 } | 48 } |
| 49 | 49 |
| 50 void Update() { | |
| 51 SetBackgroundColor(text().size() <= kMaxFolderNameChars | |
| 52 ? kContentsBackgroundColor | |
| 53 : SK_ColorRED); | |
| 54 } | |
| 55 | |
| 56 private: | 50 private: |
| 57 DISALLOW_COPY_AND_ASSIGN(FolderNameView); | 51 DISALLOW_COPY_AND_ASSIGN(FolderNameView); |
| 58 }; | 52 }; |
| 59 | 53 |
| 60 FolderHeaderView::FolderHeaderView(FolderHeaderViewDelegate* delegate) | 54 FolderHeaderView::FolderHeaderView(FolderHeaderViewDelegate* delegate) |
| 61 : folder_item_(NULL), | 55 : folder_item_(NULL), |
| 62 back_button_(new views::ImageButton(this)), | 56 back_button_(new views::ImageButton(this)), |
| 63 folder_name_view_(new FolderNameView), | 57 folder_name_view_(new FolderNameView), |
| 64 folder_name_placeholder_text_( | 58 folder_name_placeholder_text_( |
| 65 ui::ResourceBundle::GetSharedInstance().GetLocalizedString( | 59 ui::ResourceBundle::GetSharedInstance().GetLocalizedString( |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 113 folder_item_ = NULL; | 107 folder_item_ = NULL; |
| 114 } | 108 } |
| 115 | 109 |
| 116 void FolderHeaderView::Update() { | 110 void FolderHeaderView::Update() { |
| 117 if (!folder_item_) | 111 if (!folder_item_) |
| 118 return; | 112 return; |
| 119 | 113 |
| 120 folder_name_view_->SetVisible(folder_name_visible_); | 114 folder_name_view_->SetVisible(folder_name_visible_); |
| 121 if (folder_name_visible_) { | 115 if (folder_name_visible_) { |
| 122 folder_name_view_->SetText(base::UTF8ToUTF16(folder_item_->name())); | 116 folder_name_view_->SetText(base::UTF8ToUTF16(folder_item_->name())); |
| 123 folder_name_view_->Update(); | |
| 124 } | 117 } |
| 125 | 118 |
| 126 Layout(); | 119 Layout(); |
| 127 } | 120 } |
| 128 | 121 |
| 129 const base::string16& FolderHeaderView::GetFolderNameForTest() { | 122 const base::string16& FolderHeaderView::GetFolderNameForTest() { |
| 130 return folder_name_view_->text(); | 123 return folder_name_view_->text(); |
| 131 } | 124 } |
| 132 | 125 |
| 133 void FolderHeaderView::SetFolderNameForTest(const base::string16& name) { | 126 void FolderHeaderView::SetFolderNameForTest(const base::string16& name) { |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 186 rect.set_height(kBottomSeparatorHeight); | 179 rect.set_height(kBottomSeparatorHeight); |
| 187 canvas->FillRect(rect, kTopSeparatorColor); | 180 canvas->FillRect(rect, kTopSeparatorColor); |
| 188 } | 181 } |
| 189 | 182 |
| 190 void FolderHeaderView::ContentsChanged(views::Textfield* sender, | 183 void FolderHeaderView::ContentsChanged(views::Textfield* sender, |
| 191 const base::string16& new_contents) { | 184 const base::string16& new_contents) { |
| 192 // Temporarily remove from observer to ignore data change caused by us. | 185 // Temporarily remove from observer to ignore data change caused by us. |
| 193 if (!folder_item_) | 186 if (!folder_item_) |
| 194 return; | 187 return; |
| 195 | 188 |
| 196 folder_name_view_->Update(); | |
| 197 folder_item_->RemoveObserver(this); | 189 folder_item_->RemoveObserver(this); |
| 198 // Enforce the maximum folder name length in UI. | 190 // Enforce the maximum folder name length in UI. |
| 199 std::string name = base::UTF16ToUTF8( | 191 std::string name = base::UTF16ToUTF8( |
| 200 folder_name_view_->text().substr(0, kMaxFolderNameChars)); | 192 folder_name_view_->text().substr(0, kMaxFolderNameChars)); |
| 201 if (name != folder_item_->name()) | 193 if (name != folder_item_->name()) |
| 202 delegate_->SetItemName(folder_item_, name); | 194 delegate_->SetItemName(folder_item_, name); |
| 203 folder_item_->AddObserver(this); | 195 folder_item_->AddObserver(this); |
| 204 | 196 |
| 205 Layout(); | 197 Layout(); |
| 206 } | 198 } |
| (...skipping 14 matching lines...) Expand all Loading... |
| 221 void FolderHeaderView::ItemHighlightedChanged() { | 213 void FolderHeaderView::ItemHighlightedChanged() { |
| 222 } | 214 } |
| 223 | 215 |
| 224 void FolderHeaderView::ItemIsInstallingChanged() { | 216 void FolderHeaderView::ItemIsInstallingChanged() { |
| 225 } | 217 } |
| 226 | 218 |
| 227 void FolderHeaderView::ItemPercentDownloadedChanged() { | 219 void FolderHeaderView::ItemPercentDownloadedChanged() { |
| 228 } | 220 } |
| 229 | 221 |
| 230 } // namespace app_list | 222 } // namespace app_list |
| OLD | NEW |