Chromium Code Reviews| Index: chrome/browser/chromeos/volume_bubble.cc |
| diff --git a/chrome/browser/chromeos/volume_bubble.cc b/chrome/browser/chromeos/volume_bubble.cc |
| index d5c8c9726c81f385343448fe4e5e88477c56596e..a91e13d2eb660b1a68819043c0b48ffb3edc8f51 100644 |
| --- a/chrome/browser/chromeos/volume_bubble.cc |
| +++ b/chrome/browser/chromeos/volume_bubble.cc |
| @@ -7,17 +7,42 @@ |
| #include "base/memory/singleton.h" |
| #include "grit/theme_resources.h" |
| #include "ui/base/resource/resource_bundle.h" |
| +#include "views/bubble/bubble_view.h" |
| +#include "views/widget/widget.h" |
| namespace chromeos { |
| -VolumeBubble::VolumeBubble() |
| - : SettingLevelBubble( |
| - ResourceBundle::GetSharedInstance().GetBitmapNamed( |
| - IDR_VOLUME_BUBBLE_UP_ICON), |
| - ResourceBundle::GetSharedInstance().GetBitmapNamed( |
| - IDR_VOLUME_BUBBLE_DOWN_ICON), |
| - ResourceBundle::GetSharedInstance().GetBitmapNamed( |
| - IDR_VOLUME_BUBBLE_MUTE_ICON)) { |
| +VolumeBubble::VolumeBubble() : widget_(NULL) {} |
| + |
| +VolumeBubble::~VolumeBubble() { |
| + if (widget_) |
| + delete widget_; |
| +} |
| + |
| +void VolumeBubble::ShowBubble(double percent, bool enabled) { |
| + if (!widget_) { |
| + widget_= SettingLevelBubble::CreateSettingLevelBubble( |
| + ResourceBundle::GetSharedInstance().GetBitmapNamed( |
| + IDR_VOLUME_BUBBLE_UP_ICON), |
| + ResourceBundle::GetSharedInstance().GetBitmapNamed( |
| + IDR_VOLUME_BUBBLE_DOWN_ICON), |
| + ResourceBundle::GetSharedInstance().GetBitmapNamed( |
| + IDR_VOLUME_BUBBLE_MUTE_ICON), |
| + percent, |
| + enabled); |
| + } else { |
| + static_cast<SettingLevelBubble*>(widget_->widget_delegate()) |
|
Daniel Erat
2011/10/20 15:43:39
i think that there's a decent amount of duplicated
alicet1
2011/10/20 22:36:30
moved.
|
| + ->UpdateSetting(percent, enabled); |
| + } |
| + // Starts a new fade out animation and show. |
| + widget_->client_view()->AsBubbleView()->StartFade(/*fade_in=*/false); |
| + static_cast<SettingLevelBubble*>(widget_->widget_delegate()) |
| + ->StartHideTimer(); |
| +} |
| + |
| +void VolumeBubble::HideBubble() { |
|
msw
2011/10/20 19:36:13
Is this used at all?
alicet1
2011/10/20 22:36:30
ya. in brightness_observer.cc BrightnessChanged. I
|
| + if (widget_) |
| + widget_->Close(); |
| } |
| // static |