Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/gtk/browser_actions_toolbar_gtk.h" | 5 #include "chrome/browser/ui/gtk/browser_actions_toolbar_gtk.h" |
| 6 | 6 |
| 7 #include <gtk/gtk.h> | 7 #include <gtk/gtk.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 230 SkBitmap image = extension_->browser_action()->GetIcon(tab_id); | 230 SkBitmap image = extension_->browser_action()->GetIcon(tab_id); |
| 231 if (!image.isNull()) { | 231 if (!image.isNull()) { |
| 232 GdkPixbuf* previous_gdk_icon = tab_specific_icon_; | 232 GdkPixbuf* previous_gdk_icon = tab_specific_icon_; |
| 233 tab_specific_icon_ = gfx::GdkPixbufFromSkBitmap(image); | 233 tab_specific_icon_ = gfx::GdkPixbufFromSkBitmap(image); |
| 234 SetImage(tab_specific_icon_); | 234 SetImage(tab_specific_icon_); |
| 235 if (previous_gdk_icon) | 235 if (previous_gdk_icon) |
| 236 g_object_unref(previous_gdk_icon); | 236 g_object_unref(previous_gdk_icon); |
| 237 } else if (default_icon_) { | 237 } else if (default_icon_) { |
| 238 SetImage(default_icon_); | 238 SetImage(default_icon_); |
| 239 } | 239 } |
| 240 bool enabled = extension_->browser_action()->GetIsVisible(tab_id); | |
| 241 gtk_widget_set_sensitive(button(), enabled ? TRUE : FALSE); | |
|
Evan Stade
2012/07/13 08:42:44
just enabled is fine.
Yoyo Zhou
2012/07/16 17:45:45
Done.
| |
| 242 | |
| 240 gtk_widget_queue_draw(button()); | 243 gtk_widget_queue_draw(button()); |
| 241 } | 244 } |
| 242 | 245 |
| 243 SkBitmap GetIcon() { | 246 SkBitmap GetIcon() { |
| 244 const SkBitmap& image = extension_->browser_action()->GetIcon( | 247 const SkBitmap& image = extension_->browser_action()->GetIcon( |
| 245 toolbar_->GetCurrentTabId()); | 248 toolbar_->GetCurrentTabId()); |
| 246 if (!image.isNull()) { | 249 if (!image.isNull()) { |
| 247 return image; | 250 return image; |
| 248 } else { | 251 } else { |
| 249 return default_skbitmap_; | 252 return default_skbitmap_; |
| (...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 574 theme_service_->InitThemesFor(this); | 577 theme_service_->InitThemesFor(this); |
| 575 } | 578 } |
| 576 | 579 |
| 577 BrowserActionsToolbarGtk::~BrowserActionsToolbarGtk() { | 580 BrowserActionsToolbarGtk::~BrowserActionsToolbarGtk() { |
| 578 if (model_) | 581 if (model_) |
| 579 model_->RemoveObserver(this); | 582 model_->RemoveObserver(this); |
| 580 button_hbox_.Destroy(); | 583 button_hbox_.Destroy(); |
| 581 hbox_.Destroy(); | 584 hbox_.Destroy(); |
| 582 } | 585 } |
| 583 | 586 |
| 584 int BrowserActionsToolbarGtk::GetCurrentTabId() { | 587 int BrowserActionsToolbarGtk::GetCurrentTabId() const { |
| 585 TabContents* active_tab = chrome::GetActiveTabContents(browser_); | 588 TabContents* active_tab = chrome::GetActiveTabContents(browser_); |
| 586 if (!active_tab) | 589 if (!active_tab) |
| 587 return -1; | 590 return -1; |
| 588 | 591 |
| 589 return active_tab->restore_tab_helper()->session_id().id(); | 592 return active_tab->restore_tab_helper()->session_id().id(); |
| 590 } | 593 } |
| 591 | 594 |
| 592 void BrowserActionsToolbarGtk::Update() { | 595 void BrowserActionsToolbarGtk::Update() { |
| 593 for (ExtensionButtonMap::iterator iter = extension_button_map_.begin(); | 596 for (ExtensionButtonMap::iterator iter = extension_button_map_.begin(); |
| 594 iter != extension_button_map_.end(); ++iter) { | 597 iter != extension_button_map_.end(); ++iter) { |
| (...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 781 void BrowserActionsToolbarGtk::AnimationEnded(const ui::Animation* animation) { | 784 void BrowserActionsToolbarGtk::AnimationEnded(const ui::Animation* animation) { |
| 782 gtk_widget_set_size_request(button_hbox_.get(), desired_width_, -1); | 785 gtk_widget_set_size_request(button_hbox_.get(), desired_width_, -1); |
| 783 UpdateChevronVisibility(); | 786 UpdateChevronVisibility(); |
| 784 } | 787 } |
| 785 | 788 |
| 786 bool BrowserActionsToolbarGtk::IsCommandIdChecked(int command_id) const { | 789 bool BrowserActionsToolbarGtk::IsCommandIdChecked(int command_id) const { |
| 787 return false; | 790 return false; |
| 788 } | 791 } |
| 789 | 792 |
| 790 bool BrowserActionsToolbarGtk::IsCommandIdEnabled(int command_id) const { | 793 bool BrowserActionsToolbarGtk::IsCommandIdEnabled(int command_id) const { |
| 791 return true; | 794 const Extension* extension = model_->GetExtensionByIndex(command_id); |
| 795 return extension->browser_action()->GetIsVisible(GetCurrentTabId()); | |
| 792 } | 796 } |
| 793 | 797 |
| 794 bool BrowserActionsToolbarGtk::GetAcceleratorForCommandId( | 798 bool BrowserActionsToolbarGtk::GetAcceleratorForCommandId( |
| 795 int command_id, | 799 int command_id, |
| 796 ui::Accelerator* accelerator) { | 800 ui::Accelerator* accelerator) { |
| 797 return false; | 801 return false; |
| 798 } | 802 } |
| 799 | 803 |
| 800 void BrowserActionsToolbarGtk::ExecuteCommand(int command_id) { | 804 void BrowserActionsToolbarGtk::ExecuteCommand(int command_id) { |
| 801 const Extension* extension = model_->GetExtensionByIndex(command_id); | 805 const Extension* extension = model_->GetExtensionByIndex(command_id); |
| (...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1083 | 1087 |
| 1084 menu->PopupAsContext(gfx::Point(event->x_root, event->y_root), | 1088 menu->PopupAsContext(gfx::Point(event->x_root, event->y_root), |
| 1085 event->time); | 1089 event->time); |
| 1086 return TRUE; | 1090 return TRUE; |
| 1087 } | 1091 } |
| 1088 | 1092 |
| 1089 void BrowserActionsToolbarGtk::OnButtonShowOrHide(GtkWidget* sender) { | 1093 void BrowserActionsToolbarGtk::OnButtonShowOrHide(GtkWidget* sender) { |
| 1090 if (!resize_animation_.is_animating()) | 1094 if (!resize_animation_.is_animating()) |
| 1091 UpdateChevronVisibility(); | 1095 UpdateChevronVisibility(); |
| 1092 } | 1096 } |
| OLD | NEW |