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

Side by Side Diff: chrome/browser/ui/panels/panel_browser_view.cc

Issue 7633034: Use Titlebar instead of TitleBar consistently in panels code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Code review feedback. Created 9 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 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/ui/panels/panel_browser_view.h" 5 #include "chrome/browser/ui/panels/panel_browser_view.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "chrome/browser/ui/panels/panel.h" 8 #include "chrome/browser/ui/panels/panel.h"
9 #include "chrome/browser/ui/panels/panel_browser_frame_view.h" 9 #include "chrome/browser/ui/panels/panel_browser_frame_view.h"
10 #include "chrome/browser/ui/panels/panel_manager.h" 10 #include "chrome/browser/ui/panels/panel_manager.h"
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 GetFrameView()->OnFocusChanged(focused); 136 GetFrameView()->OnFocusChanged(focused);
137 137
138 // Clear the attention state if the panel is on focus. 138 // Clear the attention state if the panel is on focus.
139 if (is_drawing_attention_ && focused_) 139 if (is_drawing_attention_ && focused_)
140 StopDrawingAttention(); 140 StopDrawingAttention();
141 } 141 }
142 142
143 bool PanelBrowserView::AcceleratorPressed( 143 bool PanelBrowserView::AcceleratorPressed(
144 const views::Accelerator& accelerator) { 144 const views::Accelerator& accelerator) {
145 if (mouse_pressed_ && accelerator.key_code() == ui::VKEY_ESCAPE) { 145 if (mouse_pressed_ && accelerator.key_code() == ui::VKEY_ESCAPE) {
146 OnTitleBarMouseCaptureLost(); 146 OnTitlebarMouseCaptureLost();
147 return true; 147 return true;
148 } 148 }
149 return BrowserView::AcceleratorPressed(accelerator); 149 return BrowserView::AcceleratorPressed(accelerator);
150 } 150 }
151 151
152 void PanelBrowserView::AnimationProgressed(const ui::Animation* animation) { 152 void PanelBrowserView::AnimationProgressed(const ui::Animation* animation) {
153 gfx::Rect new_bounds = bounds_animator_->CurrentValueBetween( 153 gfx::Rect new_bounds = bounds_animator_->CurrentValueBetween(
154 animation_start_bounds_, bounds_); 154 animation_start_bounds_, bounds_);
155 ::BrowserView::SetBounds(new_bounds); 155 ::BrowserView::SetBounds(new_bounds);
156 } 156 }
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
209 height = original_height_; 209 height = original_height_;
210 break; 210 break;
211 } 211 }
212 212
213 gfx::Rect bounds = bounds_; 213 gfx::Rect bounds = bounds_;
214 bounds.set_y(bounds.y() + bounds.height() - height); 214 bounds.set_y(bounds.y() + bounds.height() - height);
215 bounds.set_height(height); 215 bounds.set_height(height);
216 SetBounds(bounds); 216 SetBounds(bounds);
217 } 217 }
218 218
219 bool PanelBrowserView::ShouldBringUpPanelTitleBar(int mouse_x, 219 bool PanelBrowserView::ShouldBringUpPanelTitlebar(int mouse_x,
220 int mouse_y) const { 220 int mouse_y) const {
221 // We do not want to bring up other minimized panels if the mouse is over the 221 // We do not want to bring up other minimized panels if the mouse is over the
222 // panel that pops up the title-bar to attract attention. 222 // panel that pops up the title-bar to attract attention.
223 if (is_drawing_attention_) 223 if (is_drawing_attention_)
224 return false; 224 return false;
225 225
226 return bounds_.x() <= mouse_x && mouse_x <= bounds_.right() && 226 return bounds_.x() <= mouse_x && mouse_x <= bounds_.right() &&
227 mouse_y >= bounds_.y(); 227 mouse_y >= bounds_.y();
228 } 228 }
229 229
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
262 void PanelBrowserView::NotifyPanelOnUserChangedTheme() { 262 void PanelBrowserView::NotifyPanelOnUserChangedTheme() {
263 UserChangedTheme(); 263 UserChangedTheme();
264 } 264 }
265 265
266 void PanelBrowserView::DrawAttention() { 266 void PanelBrowserView::DrawAttention() {
267 // Don't draw attention for active panel. 267 // Don't draw attention for active panel.
268 if (is_drawing_attention_ || focused_) 268 if (is_drawing_attention_ || focused_)
269 return; 269 return;
270 is_drawing_attention_ = true; 270 is_drawing_attention_ = true;
271 271
272 // Bring up the title bar to get people's attention. 272 // Bring up the titlebar to get people's attention.
273 if (panel_->expansion_state() == Panel::MINIMIZED) 273 if (panel_->expansion_state() == Panel::MINIMIZED)
274 panel_->SetExpansionState(Panel::TITLE_ONLY); 274 panel_->SetExpansionState(Panel::TITLE_ONLY);
275 275
276 GetFrameView()->SchedulePaint(); 276 GetFrameView()->SchedulePaint();
277 } 277 }
278 278
279 bool PanelBrowserView::IsDrawingAttention() const { 279 bool PanelBrowserView::IsDrawingAttention() const {
280 return is_drawing_attention_; 280 return is_drawing_attention_;
281 } 281 }
282 282
283 void PanelBrowserView::StopDrawingAttention() { 283 void PanelBrowserView::StopDrawingAttention() {
284 if (!is_drawing_attention_) 284 if (!is_drawing_attention_)
285 return; 285 return;
286 is_drawing_attention_ = false; 286 is_drawing_attention_ = false;
287 287
288 // This function is called from OnWidgetActivationChanged to clear the 288 // This function is called from OnWidgetActivationChanged to clear the
289 // attention, per one of the following user interactions: 289 // attention, per one of the following user interactions:
290 // 1) clicking on the title-bar 290 // 1) clicking on the title-bar
291 // 2) clicking on the client area 291 // 2) clicking on the client area
292 // 3) switching to the panel via keyboard 292 // 3) switching to the panel via keyboard
293 // For case 1, we do not want the expanded panel to be minimized since the 293 // For case 1, we do not want the expanded panel to be minimized since the
294 // user clicks on it to mean to clear the attention. 294 // user clicks on it to mean to clear the attention.
295 attention_cleared_time_ = base::TimeTicks::Now(); 295 attention_cleared_time_ = base::TimeTicks::Now();
296 296
297 // Bring up the title bar. 297 // Bring up the titlebar.
298 if (panel_->expansion_state() == Panel::TITLE_ONLY) 298 if (panel_->expansion_state() == Panel::TITLE_ONLY)
299 panel_->SetExpansionState(Panel::EXPANDED); 299 panel_->SetExpansionState(Panel::EXPANDED);
300 300
301 GetFrameView()->SchedulePaint(); 301 GetFrameView()->SchedulePaint();
302 } 302 }
303 303
304 Browser* PanelBrowserView::GetPanelBrowser() const { 304 Browser* PanelBrowserView::GetPanelBrowser() const {
305 return browser(); 305 return browser();
306 } 306 }
307 307
308 void PanelBrowserView::DestroyPanelBrowser() { 308 void PanelBrowserView::DestroyPanelBrowser() {
309 DestroyBrowser(); 309 DestroyBrowser();
310 } 310 }
311 311
312 PanelBrowserFrameView* PanelBrowserView::GetFrameView() const { 312 PanelBrowserFrameView* PanelBrowserView::GetFrameView() const {
313 return static_cast<PanelBrowserFrameView*>(frame()->GetFrameView()); 313 return static_cast<PanelBrowserFrameView*>(frame()->GetFrameView());
314 } 314 }
315 315
316 bool PanelBrowserView::OnTitleBarMousePressed(const gfx::Point& location) { 316 bool PanelBrowserView::OnTitlebarMousePressed(const gfx::Point& location) {
317 mouse_pressed_ = true; 317 mouse_pressed_ = true;
318 mouse_pressed_point_ = location; 318 mouse_pressed_point_ = location;
319 mouse_dragging_ = false; 319 mouse_dragging_ = false;
320 return true; 320 return true;
321 } 321 }
322 322
323 bool PanelBrowserView::OnTitleBarMouseDragged(const gfx::Point& location) { 323 bool PanelBrowserView::OnTitlebarMouseDragged(const gfx::Point& location) {
324 if (!mouse_pressed_) 324 if (!mouse_pressed_)
325 return false; 325 return false;
326 326
327 // We do not allow dragging vertically. 327 // We do not allow dragging vertically.
328 int delta_x = location.x() - mouse_pressed_point_.x(); 328 int delta_x = location.x() - mouse_pressed_point_.x();
329 if (!mouse_dragging_ && ExceededDragThreshold(delta_x, 0)) { 329 if (!mouse_dragging_ && ExceededDragThreshold(delta_x, 0)) {
330 panel_->manager()->StartDragging(panel_.get()); 330 panel_->manager()->StartDragging(panel_.get());
331 mouse_dragging_ = true; 331 mouse_dragging_ = true;
332 } 332 }
333 if (mouse_dragging_) 333 if (mouse_dragging_)
334 panel_->manager()->Drag(delta_x); 334 panel_->manager()->Drag(delta_x);
335 return true; 335 return true;
336 } 336 }
337 337
338 bool PanelBrowserView::OnTitleBarMouseReleased() { 338 bool PanelBrowserView::OnTitlebarMouseReleased() {
339 if (mouse_dragging_) 339 if (mouse_dragging_)
340 return EndDragging(false); 340 return EndDragging(false);
341 341
342 // Do not minimize the panel when we just clear the attention state. This is 342 // Do not minimize the panel when we just clear the attention state. This is
343 // a hack to prevent the panel from being minimized when the user clicks on 343 // a hack to prevent the panel from being minimized when the user clicks on
344 // the title-bar to clear the attention. 344 // the title-bar to clear the attention.
345 if (panel_->expansion_state() == Panel::EXPANDED && 345 if (panel_->expansion_state() == Panel::EXPANDED &&
346 base::TimeTicks::Now() < attention_cleared_time_ + 346 base::TimeTicks::Now() < attention_cleared_time_ +
347 kSuspendMinimizeOnClickIntervalMs) { 347 kSuspendMinimizeOnClickIntervalMs) {
348 return true; 348 return true;
349 } 349 }
350 350
351 Panel::ExpansionState new_expansion_state = 351 Panel::ExpansionState new_expansion_state =
352 (panel_->expansion_state() != Panel::EXPANDED) ? Panel::EXPANDED 352 (panel_->expansion_state() != Panel::EXPANDED) ? Panel::EXPANDED
353 : Panel::MINIMIZED; 353 : Panel::MINIMIZED;
354 panel_->SetExpansionState(new_expansion_state); 354 panel_->SetExpansionState(new_expansion_state);
355 return true; 355 return true;
356 } 356 }
357 357
358 bool PanelBrowserView::OnTitleBarMouseCaptureLost() { 358 bool PanelBrowserView::OnTitlebarMouseCaptureLost() {
359 return EndDragging(true); 359 return EndDragging(true);
360 } 360 }
361 361
362 bool PanelBrowserView::EndDragging(bool cancelled) { 362 bool PanelBrowserView::EndDragging(bool cancelled) {
363 // Only handle clicks that started in our window. 363 // Only handle clicks that started in our window.
364 if (!mouse_pressed_) 364 if (!mouse_pressed_)
365 return false; 365 return false;
366 mouse_pressed_ = false; 366 mouse_pressed_ = false;
367 367
368 if (!mouse_dragging_) 368 if (!mouse_dragging_)
(...skipping 25 matching lines...) Expand all
394 native_panel)); 394 native_panel));
395 } 395 }
396 396
397 NativePanelTestingWin::NativePanelTestingWin( 397 NativePanelTestingWin::NativePanelTestingWin(
398 PanelBrowserView* panel_browser_view) : 398 PanelBrowserView* panel_browser_view) :
399 panel_browser_view_(panel_browser_view) { 399 panel_browser_view_(panel_browser_view) {
400 } 400 }
401 401
402 void NativePanelTestingWin::PressLeftMouseButtonTitlebar( 402 void NativePanelTestingWin::PressLeftMouseButtonTitlebar(
403 const gfx::Point& point) { 403 const gfx::Point& point) {
404 panel_browser_view_->OnTitleBarMousePressed(point); 404 panel_browser_view_->OnTitlebarMousePressed(point);
405 } 405 }
406 406
407 void NativePanelTestingWin::ReleaseMouseButtonTitlebar() { 407 void NativePanelTestingWin::ReleaseMouseButtonTitlebar() {
408 panel_browser_view_->OnTitleBarMouseReleased(); 408 panel_browser_view_->OnTitlebarMouseReleased();
409 } 409 }
410 410
411 void NativePanelTestingWin::DragTitlebar(int delta_x, int delta_y) { 411 void NativePanelTestingWin::DragTitlebar(int delta_x, int delta_y) {
412 gfx::Rect current_bounds = panel_browser_view_->panel()->GetRestoredBounds(); 412 gfx::Rect current_bounds = panel_browser_view_->panel()->GetRestoredBounds();
413 panel_browser_view_->OnTitleBarMouseDragged(gfx::Point( 413 panel_browser_view_->OnTitlebarMouseDragged(gfx::Point(
414 current_bounds.x() + delta_x, current_bounds.y() + delta_y)); 414 current_bounds.x() + delta_x, current_bounds.y() + delta_y));
415 } 415 }
416 416
417 void NativePanelTestingWin::CancelDragTitlebar() { 417 void NativePanelTestingWin::CancelDragTitlebar() {
418 panel_browser_view_->OnTitleBarMouseCaptureLost(); 418 panel_browser_view_->OnTitlebarMouseCaptureLost();
419 } 419 }
420 420
421 void NativePanelTestingWin::FinishDragTitlebar() { 421 void NativePanelTestingWin::FinishDragTitlebar() {
422 panel_browser_view_->OnTitleBarMouseReleased(); 422 panel_browser_view_->OnTitlebarMouseReleased();
423 } 423 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/panels/panel_browser_view.h ('k') | chrome/browser/ui/panels/panel_browser_view_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698