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

Side by Side Diff: chrome/browser/chromeos/frame/panel_controller.cc

Issue 8221027: Make views::Label and views::Link auto-color themselves to be readable over their background colo... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 2 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
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "chrome/browser/chromeos/frame/panel_controller.h" 5 #include "chrome/browser/chromeos/frame/panel_controller.h"
6 6
7 #if defined(TOUCH_UI) 7 #if defined(TOUCH_UI)
8 #include <X11/Xlib.h> 8 #include <X11/Xlib.h>
9 #include <X11/extensions/XInput2.h> 9 #include <X11/extensions/XInput2.h>
10 #endif 10 #endif
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
231 urgent_cleared_time_ = base::TimeTicks::Now(); 231 urgent_cleared_time_ = base::TimeTicks::Now();
232 if (urgent == urgent_) 232 if (urgent == urgent_)
233 return; 233 return;
234 if (urgent && focused_) 234 if (urgent && focused_)
235 return; // Don't set urgency for focused panels. 235 return; // Don't set urgency for focused panels.
236 if (urgent && base::TimeTicks::Now() < urgent_cleared_time_ + kSetUrgentDelay) 236 if (urgent && base::TimeTicks::Now() < urgent_cleared_time_ + kSetUrgentDelay)
237 return; // Don't set urgency immediately after clearing it. 237 return; // Don't set urgency immediately after clearing it.
238 urgent_ = urgent; 238 urgent_ = urgent;
239 if (title_window_) { 239 if (title_window_) {
240 gtk_window_set_urgency_hint(panel_, urgent ? TRUE : FALSE); 240 gtk_window_set_urgency_hint(panel_, urgent ? TRUE : FALSE);
241 title_content_->title_label()->SetDisabledColor(urgent ?
242 kTitleUrgentTextColor : kTitleInactiveTextColor);
241 title_content_->SchedulePaint(); 243 title_content_->SchedulePaint();
242 if (urgent)
243 title_content_->title_label()->SetColor(kTitleUrgentTextColor);
244 else
245 title_content_->title_label()->SetColor(kTitleInactiveTextColor);
246 } 244 }
247 } 245 }
248 246
249 bool PanelController::TitleMousePressed(const views::MouseEvent& event) { 247 bool PanelController::TitleMousePressed(const views::MouseEvent& event) {
250 if (!event.IsOnlyLeftMouseButton()) 248 if (!event.IsOnlyLeftMouseButton())
251 return false; 249 return false;
252 if (event.type() != ui::ET_MOUSE_PRESSED) { 250 if (event.type() != ui::ET_MOUSE_PRESSED) {
253 NOTREACHED(); 251 NOTREACHED();
254 return false; 252 return false;
255 } 253 }
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
434 close_button_->SetImage(views::CustomButton::BS_HOT, close_button_h); 432 close_button_->SetImage(views::CustomButton::BS_HOT, close_button_h);
435 close_button_->SetImage(views::CustomButton::BS_PUSHED, close_button_p); 433 close_button_->SetImage(views::CustomButton::BS_PUSHED, close_button_p);
436 close_button_->SetBackground( 434 close_button_->SetBackground(
437 kTitleCloseButtonColor, close_button_n, close_button_m); 435 kTitleCloseButtonColor, close_button_n, close_button_m);
438 AddChildView(close_button_); 436 AddChildView(close_button_);
439 437
440 title_icon_ = new views::ImageView(); 438 title_icon_ = new views::ImageView();
441 AddChildView(title_icon_); 439 AddChildView(title_icon_);
442 title_label_ = new views::Label(string16()); 440 title_label_ = new views::Label(string16());
443 title_label_->SetHorizontalAlignment(views::Label::ALIGN_LEFT); 441 title_label_->SetHorizontalAlignment(views::Label::ALIGN_LEFT);
442 title_label_->SetAutoColorReadabilityEnabled(false);
443 title_label_->SetEnabledColor(kTitleActiveTextColor);
444 title_label_->SetDisabledColor(kTitleInactiveTextColor);
445 title_label_->SetEnabled(false);
444 AddChildView(title_label_); 446 AddChildView(title_label_);
445 447
446 set_background( 448 set_background(
447 views::Background::CreateBackgroundPainter( 449 views::Background::CreateBackgroundPainter(
448 true, new TitleBackgroundPainter(panel_controller))); 450 true, new TitleBackgroundPainter(panel_controller)));
449 OnFocusOut(); 451 OnFocusOut();
450 } 452 }
451 453
452 void PanelController::TitleContentView::Layout() { 454 void PanelController::TitleContentView::Layout() {
453 int close_button_x = bounds().width() - 455 int close_button_x = bounds().width() -
(...skipping 29 matching lines...) Expand all
483 void PanelController::TitleContentView::OnMouseCaptureLost() { 485 void PanelController::TitleContentView::OnMouseCaptureLost() {
484 panel_controller_->TitleMouseCaptureLost(); 486 panel_controller_->TitleMouseCaptureLost();
485 } 487 }
486 488
487 bool PanelController::TitleContentView::OnMouseDragged( 489 bool PanelController::TitleContentView::OnMouseDragged(
488 const views::MouseEvent& event) { 490 const views::MouseEvent& event) {
489 return panel_controller_->TitleMouseDragged(event); 491 return panel_controller_->TitleMouseDragged(event);
490 } 492 }
491 493
492 void PanelController::TitleContentView::OnFocusIn() { 494 void PanelController::TitleContentView::OnFocusIn() {
493 title_label_->SetColor(kTitleActiveTextColor); 495 title_label_->SetEnabled(true);
494 title_label_->SetFont(*active_font); 496 title_label_->SetFont(*active_font);
495 Layout(); 497 Layout();
496 SchedulePaint(); 498 SchedulePaint();
497 } 499 }
498 500
499 void PanelController::TitleContentView::OnFocusOut() { 501 void PanelController::TitleContentView::OnFocusOut() {
500 title_label_->SetColor(kTitleInactiveTextColor); 502 title_label_->SetEnabled(false);
501 title_label_->SetFont(*inactive_font); 503 title_label_->SetFont(*inactive_font);
502 Layout(); 504 Layout();
503 SchedulePaint(); 505 SchedulePaint();
504 } 506 }
505 507
506 void PanelController::TitleContentView::OnClose() { 508 void PanelController::TitleContentView::OnClose() {
507 panel_controller_ = NULL; 509 panel_controller_ = NULL;
508 } 510 }
509 511
510 void PanelController::TitleContentView::ButtonPressed( 512 void PanelController::TitleContentView::ButtonPressed(
511 views::Button* sender, const views::Event& event) { 513 views::Button* sender, const views::Event& event) {
512 if (panel_controller_ && sender == close_button_) 514 if (panel_controller_ && sender == close_button_)
513 panel_controller_->OnCloseButtonPressed(); 515 panel_controller_->OnCloseButtonPressed();
514 } 516 }
515 517
516 PanelController::TitleContentView::~TitleContentView() { 518 PanelController::TitleContentView::~TitleContentView() {
517 VLOG(1) << "panel: delete " << this; 519 VLOG(1) << "panel: delete " << this;
518 } 520 }
519 521
520 } // namespace chromeos 522 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/drop_shadow_label.cc ('k') | chrome/browser/chromeos/input_method/candidate_window.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698