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

Side by Side Diff: chrome/browser/ui/views/toolbar/toolbar_view.cc

Issue 62873007: [Toolbar] Base toolbar button class with background images for button states (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add home button Created 7 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 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 "chrome/browser/ui/views/toolbar/toolbar_view.h" 5 #include "chrome/browser/ui/views/toolbar/toolbar_view.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/debug/trace_event.h" 8 #include "base/debug/trace_event.h"
9 #include "base/i18n/number_formatting.h" 9 #include "base/i18n/number_formatting.h"
10 #include "base/prefs/pref_service.h" 10 #include "base/prefs/pref_service.h"
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 content::Source<Profile>(browser_->profile())); 156 content::Source<Profile>(browser_->profile()));
157 } 157 }
158 158
159 ToolbarView::~ToolbarView() { 159 ToolbarView::~ToolbarView() {
160 // NOTE: Don't remove the command observers here. This object gets destroyed 160 // NOTE: Don't remove the command observers here. This object gets destroyed
161 // after the Browser (which owns the CommandUpdater), so the CommandUpdater is 161 // after the Browser (which owns the CommandUpdater), so the CommandUpdater is
162 // already gone. 162 // already gone.
163 } 163 }
164 164
165 void ToolbarView::Init() { 165 void ToolbarView::Init() {
166 back_ = new ButtonDropDown(this, new BackForwardMenuModel( 166 back_ = new ToolbarButton(this, new BackForwardMenuModel(
167 browser_, BackForwardMenuModel::BACKWARD_MENU)); 167 browser_, BackForwardMenuModel::BACKWARD_MENU));
168 back_->set_triggerable_event_flags( 168 back_->set_triggerable_event_flags(
169 ui::EF_LEFT_MOUSE_BUTTON | ui::EF_MIDDLE_MOUSE_BUTTON); 169 ui::EF_LEFT_MOUSE_BUTTON | ui::EF_MIDDLE_MOUSE_BUTTON);
170 back_->set_tag(IDC_BACK); 170 back_->set_tag(IDC_BACK);
171 back_->SetImageAlignment(views::ImageButton::ALIGN_RIGHT,
172 views::ImageButton::ALIGN_TOP);
Peter Kasting 2013/11/19 02:28:50 This alignment statement was necessary in maximize
Greg Billock 2013/11/20 00:59:03 I'll check on that. OK, it looks like what's happ
Peter Kasting 2013/11/20 01:10:20 Yeah, we'll need some way of drawing the border na
Greg Billock 2013/11/20 01:30:46 We ought to be able to sense that and just add a t
Peter Kasting 2013/11/20 01:42:20 Yes, we're intentionally extending the button hit
Greg Billock 2013/11/20 23:13:23 OK, the latest patch addresses this. I ended up ne
173 back_->SetTooltipText(l10n_util::GetStringUTF16(IDS_TOOLTIP_BACK)); 171 back_->SetTooltipText(l10n_util::GetStringUTF16(IDS_TOOLTIP_BACK));
174 back_->SetAccessibleName(l10n_util::GetStringUTF16(IDS_ACCNAME_BACK)); 172 back_->SetAccessibleName(l10n_util::GetStringUTF16(IDS_ACCNAME_BACK));
175 back_->set_id(VIEW_ID_BACK_BUTTON); 173 back_->set_id(VIEW_ID_BACK_BUTTON);
176 174
177 forward_ = new ButtonDropDown(this, new BackForwardMenuModel( 175 forward_ = new ToolbarButton(this, new BackForwardMenuModel(
178 browser_, BackForwardMenuModel::FORWARD_MENU)); 176 browser_, BackForwardMenuModel::FORWARD_MENU));
179 forward_->set_triggerable_event_flags( 177 forward_->set_triggerable_event_flags(
180 ui::EF_LEFT_MOUSE_BUTTON | ui::EF_MIDDLE_MOUSE_BUTTON); 178 ui::EF_LEFT_MOUSE_BUTTON | ui::EF_MIDDLE_MOUSE_BUTTON);
181 forward_->set_tag(IDC_FORWARD); 179 forward_->set_tag(IDC_FORWARD);
182 forward_->SetTooltipText(l10n_util::GetStringUTF16(IDS_TOOLTIP_FORWARD)); 180 forward_->SetTooltipText(l10n_util::GetStringUTF16(IDS_TOOLTIP_FORWARD));
183 forward_->SetAccessibleName(l10n_util::GetStringUTF16(IDS_ACCNAME_FORWARD)); 181 forward_->SetAccessibleName(l10n_util::GetStringUTF16(IDS_ACCNAME_FORWARD));
184 forward_->set_id(VIEW_ID_FORWARD_BUTTON); 182 forward_->set_id(VIEW_ID_FORWARD_BUTTON);
185 183
186 // Have to create this before |reload_| as |reload_|'s constructor needs it. 184 // Have to create this before |reload_| as |reload_|'s constructor needs it.
187 location_bar_ = new LocationBarView( 185 location_bar_ = new LocationBarView(
(...skipping 507 matching lines...) Expand 10 before | Expand all | Expand 10 after
695 } 693 }
696 694
697 int ToolbarView::PopupTopSpacing() const { 695 int ToolbarView::PopupTopSpacing() const {
698 const int kPopupTopSpacingNonGlass = 3; 696 const int kPopupTopSpacingNonGlass = 3;
699 return GetWidget()->ShouldUseNativeFrame() ? 0 : kPopupTopSpacingNonGlass; 697 return GetWidget()->ShouldUseNativeFrame() ? 0 : kPopupTopSpacingNonGlass;
700 } 698 }
701 699
702 void ToolbarView::LoadImages() { 700 void ToolbarView::LoadImages() {
703 ui::ThemeProvider* tp = GetThemeProvider(); 701 ui::ThemeProvider* tp = GetThemeProvider();
704 702
705 back_->SetImage(views::CustomButton::STATE_NORMAL, 703 back_->SetImage(views::CustomButton::STATE_NORMAL,
Peter Kasting 2013/11/19 02:28:50 Nit: Qualify with Button:: instead of CustomButton
Greg Billock 2013/11/20 00:59:03 Done.
706 tp->GetImageSkiaNamed(IDR_BACK)); 704 *(tp->GetImageSkiaNamed(IDR_BACK)));
Peter Kasting 2013/11/19 02:28:50 Nit: All lines of args should be aligned (5 places
Greg Billock 2013/11/20 00:59:03 Done.
Peter Kasting 2013/11/20 01:10:20 OK, I was mostly worried that we'd get two borders
Greg Billock 2013/11/20 01:30:46 This change stops using all the images with border
Greg Billock 2013/11/20 23:13:23 Still need to deal with this. (Chrome store crashi
707 back_->SetImage(views::CustomButton::STATE_HOVERED,
708 tp->GetImageSkiaNamed(IDR_BACK_H));
709 back_->SetImage(views::CustomButton::STATE_PRESSED,
710 tp->GetImageSkiaNamed(IDR_BACK_P));
711 back_->SetImage(views::CustomButton::STATE_DISABLED, 705 back_->SetImage(views::CustomButton::STATE_DISABLED,
712 tp->GetImageSkiaNamed(IDR_BACK_D)); 706 *(tp->GetImageSkiaNamed(IDR_BACK_D)));
713 707
714 forward_->SetImage(views::CustomButton::STATE_NORMAL, 708 forward_->SetImage(views::CustomButton::STATE_NORMAL,
715 tp->GetImageSkiaNamed(IDR_FORWARD)); 709 *(tp->GetImageSkiaNamed(IDR_FORWARD)));
716 forward_->SetImage(views::CustomButton::STATE_HOVERED,
717 tp->GetImageSkiaNamed(IDR_FORWARD_H));
718 forward_->SetImage(views::CustomButton::STATE_PRESSED,
719 tp->GetImageSkiaNamed(IDR_FORWARD_P));
720 forward_->SetImage(views::CustomButton::STATE_DISABLED, 710 forward_->SetImage(views::CustomButton::STATE_DISABLED,
721 tp->GetImageSkiaNamed(IDR_FORWARD_D)); 711 *(tp->GetImageSkiaNamed(IDR_FORWARD_D)));
722 712
723 reload_->LoadImages(); 713 reload_->LoadImages();
724 714
725 home_->SetImage(views::CustomButton::STATE_NORMAL, 715 home_->SetImage(views::CustomButton::STATE_NORMAL,
726 tp->GetImageSkiaNamed(IDR_HOME)); 716 *(tp->GetImageSkiaNamed(IDR_HOME)));
727 home_->SetImage(views::CustomButton::STATE_HOVERED,
728 tp->GetImageSkiaNamed(IDR_HOME_H));
729 home_->SetImage(views::CustomButton::STATE_PRESSED,
730 tp->GetImageSkiaNamed(IDR_HOME_P));
731 } 717 }
732 718
733 void ToolbarView::ShowCriticalNotification() { 719 void ToolbarView::ShowCriticalNotification() {
734 #if defined(OS_WIN) 720 #if defined(OS_WIN)
735 CriticalNotificationBubbleView* bubble_delegate = 721 CriticalNotificationBubbleView* bubble_delegate =
736 new CriticalNotificationBubbleView(app_menu_); 722 new CriticalNotificationBubbleView(app_menu_);
737 views::BubbleDelegateView::CreateBubble(bubble_delegate); 723 views::BubbleDelegateView::CreateBubble(bubble_delegate);
738 bubble_delegate->StartFade(true); 724 bubble_delegate->StartFade(true);
739 #endif 725 #endif
740 } 726 }
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
802 788
803 void ToolbarView::OnShowHomeButtonChanged() { 789 void ToolbarView::OnShowHomeButtonChanged() {
804 Layout(); 790 Layout();
805 SchedulePaint(); 791 SchedulePaint();
806 } 792 }
807 793
808 int ToolbarView::content_shadow_height() const { 794 int ToolbarView::content_shadow_height() const {
809 return browser_->host_desktop_type() == chrome::HOST_DESKTOP_TYPE_ASH ? 795 return browser_->host_desktop_type() == chrome::HOST_DESKTOP_TYPE_ASH ?
810 kContentShadowHeightAsh : kContentShadowHeight; 796 kContentShadowHeightAsh : kContentShadowHeight;
811 } 797 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698