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

Side by Side Diff: ui/app_list/views/folder_header_view.cc

Issue 224503002: Remove the red background color when user enters a folder name that exceeds the maximum length. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 8 months 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
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
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698