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

Unified Diff: ash/system/audio/tray_volume.cc

Issue 10825264: Consolidate volume control code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase + Fix virutal function name. Created 8 years, 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ash/accelerators/accelerator_controller_unittest.cc ('k') | ash/system/status_area_widget.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/system/audio/tray_volume.cc
diff --git a/ash/system/audio/tray_volume.cc b/ash/system/audio/tray_volume.cc
index 7b32718f5935f09fb899c502b673b00d09fe4602..e2025a5443726feb0e9c05e078b295bacc885178 100644
--- a/ash/system/audio/tray_volume.cc
+++ b/ash/system/audio/tray_volume.cc
@@ -10,6 +10,7 @@
#include "ash/system/tray/system_tray_delegate.h"
#include "ash/system/tray/tray_constants.h"
#include "ash/system/tray/tray_views.h"
+#include "ash/volume_control_delegate.h"
#include "base/utf_string_conversions.h"
#include "grit/ash_strings.h"
#include "grit/ui_resources.h"
@@ -39,8 +40,19 @@ const int kVolumeImageHeight = 25;
// The one for mute is at the 0 index and the other
// four are used for ascending volume levels.
const int kVolumeLevels = 4;
+
+bool IsAudioMuted() {
+ return Shell::GetInstance()->tray_delegate()->
+ GetVolumeControlDelegate()->IsAudioMuted();
+}
+
+float GetVolumeLevel() {
+ return Shell::GetInstance()->tray_delegate()->
+ GetVolumeControlDelegate()->GetVolumeLevel();
}
+} // namespace
+
namespace tray {
class VolumeButton : public views::ToggleImageButton {
@@ -58,10 +70,8 @@ class VolumeButton : public views::ToggleImageButton {
virtual ~VolumeButton() {}
void Update() {
- ash::SystemTrayDelegate* delegate =
- ash::Shell::GetInstance()->tray_delegate();
- float level = delegate->GetVolumeLevel();
- int image_index = delegate->IsAudioMuted() ?
+ float level = GetVolumeLevel();
+ int image_index = IsAudioMuted() ?
0 : (level == 1.0 ?
kVolumeLevels :
std::max(1, int(std::ceil(level * (kVolumeLevels - 1)))));
@@ -101,9 +111,7 @@ class MuteButton : public ash::internal::TrayBarButtonWithTitle {
virtual ~MuteButton() {}
void Update() {
- ash::SystemTrayDelegate* delegate =
- ash::Shell::GetInstance()->tray_delegate();
- UpdateButton(delegate->IsAudioMuted());
+ UpdateButton(IsAudioMuted());
SchedulePaint();
}
@@ -115,7 +123,7 @@ class VolumeSlider : public views::Slider {
explicit VolumeSlider(views::SliderListener* listener)
: views::Slider(listener, views::Slider::HORIZONTAL) {
set_focus_border_color(kFocusBorderColor);
- SetValue(ash::Shell::GetInstance()->tray_delegate()->GetVolumeLevel());
+ SetValue(GetVolumeLevel());
SetAccessibleName(
ui::ResourceBundle::GetSharedInstance().GetLocalizedString(
IDS_ASH_STATUS_TRAY_VOLUME));
@@ -124,7 +132,7 @@ class VolumeSlider : public views::Slider {
virtual ~VolumeSlider() {}
void Update() {
- UpdateState(!ash::Shell::GetInstance()->tray_delegate()->IsAudioMuted());
+ UpdateState(!IsAudioMuted());
}
DISALLOW_COPY_AND_ASSIGN(VolumeSlider);
@@ -179,9 +187,8 @@ class VolumeView : public views::View,
virtual void ButtonPressed(views::Button* sender,
const ui::Event& event) OVERRIDE {
CHECK(sender == icon_ || sender == mute_);
- ash::SystemTrayDelegate* delegate =
- ash::Shell::GetInstance()->tray_delegate();
- delegate->SetAudioMuted(!delegate->IsAudioMuted());
+ ash::Shell::GetInstance()->tray_delegate()->
+ GetVolumeControlDelegate()->SetAudioMuted(!IsAudioMuted());
}
// Overridden from views:SliderListener.
@@ -190,9 +197,8 @@ class VolumeView : public views::View,
float old_value,
views::SliderChangeReason reason) OVERRIDE {
if (reason == views::VALUE_CHANGED_BY_USER) {
- ash::SystemTrayDelegate* delegate =
- ash::Shell::GetInstance()->tray_delegate();
- delegate->SetVolumeLevel(value);
+ ash::Shell::GetInstance()->tray_delegate()->
+ GetVolumeControlDelegate()->SetVolumeLevel(value);
}
icon_->Update();
}
@@ -216,9 +222,7 @@ TrayVolume::~TrayVolume() {
}
bool TrayVolume::GetInitialVisibility() {
- ash::SystemTrayDelegate* delegate =
- ash::Shell::GetInstance()->tray_delegate();
- return delegate->IsAudioMuted();
+ return IsAudioMuted();
}
views::View* TrayVolume::CreateDefaultView(user::LoginStatus status) {
@@ -248,7 +252,7 @@ void TrayVolume::OnVolumeChanged(float percent) {
tray_view()->SetVisible(GetInitialVisibility());
if (volume_view_) {
- if (ash::Shell::GetInstance()->tray_delegate()->IsAudioMuted())
+ if (IsAudioMuted())
percent = 0.0;
volume_view_->SetVolumeLevel(percent);
SetDetailedViewCloseDelay(kTrayPopupAutoCloseDelayInSeconds);
« no previous file with comments | « ash/accelerators/accelerator_controller_unittest.cc ('k') | ash/system/status_area_widget.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698