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

Side by Side Diff: chrome/browser/chromeos/setting_level_bubble.cc

Issue 7294024: Sound volume and bightness bubbles doesn't grab focus anymore. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge branch 'trunk' of http://git.chromium.org/git/chromium into 16867 Created 9 years, 5 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/chromeos/setting_level_bubble.h" 5 #include "chrome/browser/chromeos/setting_level_bubble.h"
6 6
7 #include <gdk/gdk.h> 7 #include <gdk/gdk.h>
8 8
9 #include "base/timer.h" 9 #include "base/timer.h"
10 #include "chrome/browser/chromeos/login/background_view.h" 10 #include "chrome/browser/chromeos/login/background_view.h"
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 DCHECK(view_ == NULL); 105 DCHECK(view_ == NULL);
106 view_ = new SettingLevelBubbleView; 106 view_ = new SettingLevelBubbleView;
107 view_->Init(icon, previous_percent_); 107 view_->Init(icon, previous_percent_);
108 // Calculate position of the bubble. 108 // Calculate position of the bubble.
109 gfx::Rect bounds = widget->GetClientAreaScreenBounds(); 109 gfx::Rect bounds = widget->GetClientAreaScreenBounds();
110 const gfx::Size view_size = view_->GetPreferredSize(); 110 const gfx::Size view_size = view_->GetPreferredSize();
111 // Note that (x, y) is the point of the center of the bubble. 111 // Note that (x, y) is the point of the center of the bubble.
112 const int x = view_size.width() / 2 + 112 const int x = view_size.width() / 2 +
113 kBubbleXRatio * (bounds.width() - view_size.width()); 113 kBubbleXRatio * (bounds.width() - view_size.width());
114 const int y = bounds.height() - view_size.height() / 2 - kBubbleBottomGap; 114 const int y = bounds.height() - view_size.height() / 2 - kBubbleBottomGap;
115
116 // ShowFocusless doesn't set ESC accelerator. The Esc key is handled in
117 // SystemKeyEventListener instead.
115 bubble_ = Bubble::ShowFocusless(widget, // parent 118 bubble_ = Bubble::ShowFocusless(widget, // parent
116 gfx::Rect(x, y, 0, 20), 119 gfx::Rect(x, y, 0, 20),
117 BubbleBorder::FLOAT, 120 BubbleBorder::FLOAT,
118 view_, // contents 121 view_, // contents
119 this, // delegate 122 this, // delegate
120 true); // show while screen is locked 123 true); // show while screen is locked
121 } else { 124 } else {
122 DCHECK(view_); 125 DCHECK(view_);
123 timeout_timer_.Stop(); 126 timeout_timer_.Stop();
124 view_->SetIcon(icon); 127 view_->SetIcon(icon);
125 } 128 }
126 if (animation_.is_animating()) 129 if (animation_.is_animating())
127 animation_.End(); 130 animation_.End();
128 animation_.Reset(); 131 animation_.Reset();
129 animation_.Show(); 132 animation_.Show();
130 timeout_timer_.Start(base::TimeDelta::FromSeconds(kBubbleShowTimeoutSec), 133 timeout_timer_.Start(base::TimeDelta::FromSeconds(kBubbleShowTimeoutSec),
131 this, &SettingLevelBubble::OnTimeout); 134 this, &SettingLevelBubble::OnTimeout);
132 } 135 }
133 136
134 void SettingLevelBubble::HideBubble() { 137 void SettingLevelBubble::HideBubble() {
135 if (bubble_) 138 if (bubble_)
136 bubble_->Close(); 139 bubble_->Close();
137 } 140 }
138 141
142 bool SettingLevelBubble::IsShown() const {
143 return bubble_ != NULL;
144 }
145
139 void SettingLevelBubble::UpdateWithoutShowingBubble(int percent) { 146 void SettingLevelBubble::UpdateWithoutShowingBubble(int percent) {
140 percent = LimitPercent(percent); 147 percent = LimitPercent(percent);
141 148
142 previous_percent_ = 149 previous_percent_ =
143 animation_.is_animating() ? 150 animation_.is_animating() ?
144 animation_.GetCurrentValue() : 151 animation_.GetCurrentValue() :
145 current_percent_; 152 current_percent_;
146 if (previous_percent_ < 0) 153 if (previous_percent_ < 0)
147 previous_percent_ = percent; 154 previous_percent_ = percent;
148 current_percent_ = percent; 155 current_percent_ = percent;
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 void SettingLevelBubble::AnimationProgressed(const ui::Animation* animation) { 187 void SettingLevelBubble::AnimationProgressed(const ui::Animation* animation) {
181 if (view_) { 188 if (view_) {
182 view_->Update( 189 view_->Update(
183 ui::Tween::ValueBetween(animation->GetCurrentValue(), 190 ui::Tween::ValueBetween(animation->GetCurrentValue(),
184 previous_percent_, 191 previous_percent_,
185 current_percent_)); 192 current_percent_));
186 } 193 }
187 } 194 }
188 195
189 } // namespace chromeos 196 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698