diff options
author | jennyz@chromium.org <jennyz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-14 23:34:24 +0000 |
---|---|---|
committer | jennyz@chromium.org <jennyz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-14 23:34:24 +0000 |
commit | 49a8253a362257647c9b8e86d30ae9aee1b2e400 (patch) | |
tree | 8d48eba2246f410b5319a65e9d985c729e6a77ee /ash/system/status_area_widget.cc | |
parent | 66056fb4231a5f762dc5bf2a7b040e377852a88a (diff) | |
download | chromium_src-49a8253a362257647c9b8e86d30ae9aee1b2e400.zip chromium_src-49a8253a362257647c9b8e86d30ae9aee1b2e400.tar.gz chromium_src-49a8253a362257647c9b8e86d30ae9aee1b2e400.tar.bz2 |
Consolidate volume_control_delegate and sysmte_tray_delegate
BUG=115936
Review URL: https://chromiumcodereview.appspot.com/10825264
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@151607 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/system/status_area_widget.cc')
-rw-r--r-- | ash/system/status_area_widget.cc | 69 |
1 files changed, 47 insertions, 22 deletions
diff --git a/ash/system/status_area_widget.cc b/ash/system/status_area_widget.cc index 4209f38..32f4871 100644 --- a/ash/system/status_area_widget.cc +++ b/ash/system/status_area_widget.cc @@ -14,6 +14,7 @@ #include "ash/system/tray/system_tray.h" #include "ash/system/tray/system_tray_delegate.h" #include "ash/system/web_notification/web_notification_tray.h" +#include "ash/volume_control_delegate.h" #include "base/i18n/time_formatting.h" #include "base/utf_string_conversions.h" #include "ui/aura/window.h" @@ -22,15 +23,46 @@ namespace ash { namespace { +class DummyVolumeControlDelegate : public VolumeControlDelegate { + public: + DummyVolumeControlDelegate() {} + virtual ~DummyVolumeControlDelegate() {} + + virtual bool HandleVolumeMute(const ui::Accelerator& accelerator) OVERRIDE { + return true; + } + virtual bool HandleVolumeDown(const ui::Accelerator& accelerator) OVERRIDE { + return true; + } + virtual bool HandleVolumeUp(const ui::Accelerator& accelerator) OVERRIDE { + return true; + } + virtual void SetVolumePercent(double percent) OVERRIDE { + } + virtual bool IsAudioMuted() const OVERRIDE { + return true; + } + virtual void SetAudioMuted(bool muted) OVERRIDE { + } + virtual float GetVolumeLevel() const OVERRIDE { + return 0.0; + } + virtual void SetVolumeLevel(float level) OVERRIDE { + } + + private: + DISALLOW_COPY_AND_ASSIGN(DummyVolumeControlDelegate); +}; + class DummySystemTrayDelegate : public SystemTrayDelegate { public: DummySystemTrayDelegate() - : muted_(false), - wifi_enabled_(true), + : wifi_enabled_(true), cellular_enabled_(true), bluetooth_enabled_(true), - volume_(0.5), - caps_lock_enabled_(false) { + caps_lock_enabled_(false), + volume_control_delegate_( + ALLOW_THIS_IN_INITIALIZER_LIST(new DummyVolumeControlDelegate)) { } virtual ~DummySystemTrayDelegate() {} @@ -91,22 +123,6 @@ class DummySystemTrayDelegate : public SystemTrayDelegate { virtual void ShowHelp() OVERRIDE { } - virtual bool IsAudioMuted() const OVERRIDE { - return muted_; - } - - virtual void SetAudioMuted(bool muted) OVERRIDE { - muted_ = muted; - } - - virtual float GetVolumeLevel() const OVERRIDE { - return volume_; - } - - virtual void SetVolumeLevel(float volume) OVERRIDE { - volume_ = volume; - } - virtual bool IsCapsLockOn() const OVERRIDE { return caps_lock_enabled_; } @@ -260,13 +276,22 @@ class DummySystemTrayDelegate : public SystemTrayDelegate { virtual void ChangeProxySettings() OVERRIDE { } - bool muted_; + virtual VolumeControlDelegate* GetVolumeControlDelegate() const OVERRIDE { + return volume_control_delegate_.get(); + } + + virtual void SetVolumeControlDelegate( + scoped_ptr<VolumeControlDelegate> delegate) OVERRIDE { + volume_control_delegate_.swap(delegate); + } + + bool wifi_enabled_; bool cellular_enabled_; bool bluetooth_enabled_; - float volume_; bool caps_lock_enabled_; gfx::ImageSkia null_image_; + scoped_ptr<VolumeControlDelegate> volume_control_delegate_; DISALLOW_COPY_AND_ASSIGN(DummySystemTrayDelegate); }; |