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

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

Issue 10187021: Add key modifier to minimize/restore button click to minimize/restore-all panels for Windows. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 7 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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_frame_view.h" 5 #include "chrome/browser/ui/panels/panel_browser_frame_view.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/utf_string_conversions.h" 9 #include "base/utf_string_conversions.h"
10 #include "chrome/browser/themes/theme_service.h" 10 #include "chrome/browser/themes/theme_service.h"
(...skipping 524 matching lines...) Expand 10 before | Expand all | Expand 10 after
535 top_height, 535 top_height,
536 std::max(0, width() - (2 * border_thickness)), 536 std::max(0, width() - (2 * border_thickness)),
537 std::max(0, height() - top_height - border_thickness)); 537 std::max(0, height() - top_height - border_thickness));
538 } 538 }
539 539
540 void PanelBrowserFrameView::GetAccessibleState(ui::AccessibleViewState* state) { 540 void PanelBrowserFrameView::GetAccessibleState(ui::AccessibleViewState* state) {
541 state->role = ui::AccessibilityTypes::ROLE_TITLEBAR; 541 state->role = ui::AccessibilityTypes::ROLE_TITLEBAR;
542 } 542 }
543 543
544 bool PanelBrowserFrameView::OnMousePressed(const views::MouseEvent& event) { 544 bool PanelBrowserFrameView::OnMousePressed(const views::MouseEvent& event) {
545 gfx::Point mouse_location = event.location();
546
547 if (CanResize() && 545 if (CanResize() &&
548 IsHitTestValueForResizing(NonClientHitTest(mouse_location))) 546 IsHitTestValueForResizing(NonClientHitTest(event.location())))
549 return BrowserNonClientFrameView::OnMousePressed(event); 547 return BrowserNonClientFrameView::OnMousePressed(event);
550 548
551 // |event.location| is in the view's coordinate system. Convert it to the
552 // screen coordinate system.
553 views::View::ConvertPointToScreen(this, &mouse_location);
554
555 if (event.IsOnlyLeftMouseButton() && 549 if (event.IsOnlyLeftMouseButton() &&
556 panel_browser_view_->OnTitlebarMousePressed(mouse_location)) { 550 panel_browser_view_->OnTitlebarMousePressed(event)) {
557 return true; 551 return true;
558 } 552 }
559 return BrowserNonClientFrameView::OnMousePressed(event); 553 return BrowserNonClientFrameView::OnMousePressed(event);
560 } 554 }
561 555
562 bool PanelBrowserFrameView::OnMouseDragged(const views::MouseEvent& event) { 556 bool PanelBrowserFrameView::OnMouseDragged(const views::MouseEvent& event) {
563 // |event.location| is in the view's coordinate system. Convert it to the 557 if (panel_browser_view_->OnTitlebarMouseDragged(event))
564 // screen coordinate system.
565 gfx::Point mouse_location = event.location();
566 views::View::ConvertPointToScreen(this, &mouse_location);
567
568 if (panel_browser_view_->OnTitlebarMouseDragged(mouse_location))
569 return true; 558 return true;
570 return BrowserNonClientFrameView::OnMouseDragged(event); 559 return BrowserNonClientFrameView::OnMouseDragged(event);
571 } 560 }
572 561
573 void PanelBrowserFrameView::OnMouseReleased(const views::MouseEvent& event) { 562 void PanelBrowserFrameView::OnMouseReleased(const views::MouseEvent& event) {
574 if (panel_browser_view_->OnTitlebarMouseReleased()) 563 if (panel_browser_view_->OnTitlebarMouseReleased(event))
575 return; 564 return;
576 BrowserNonClientFrameView::OnMouseReleased(event); 565 BrowserNonClientFrameView::OnMouseReleased(event);
577 } 566 }
578 567
579 void PanelBrowserFrameView::OnMouseCaptureLost() { 568 void PanelBrowserFrameView::OnMouseCaptureLost() {
580 if (panel_browser_view_->OnTitlebarMouseCaptureLost()) 569 if (panel_browser_view_->OnTitlebarMouseCaptureLost())
581 return; 570 return;
582 BrowserNonClientFrameView::OnMouseCaptureLost(); 571 BrowserNonClientFrameView::OnMouseCaptureLost();
583 } 572 }
584 573
585 void PanelBrowserFrameView::ButtonPressed(views::Button* sender, 574 void PanelBrowserFrameView::ButtonPressed(views::Button* sender,
586 const views::Event& event) { 575 const views::Event& event) {
587 if (sender == close_button_) 576 if (sender == close_button_)
588 frame()->Close(); 577 frame()->Close();
589 else if (sender == minimize_button_) 578 else if (sender == minimize_button_)
590 panel_browser_view_->panel()->Minimize(); 579 panel_browser_view_->MinimizeButtonPressed(event);
591 else if (sender == restore_button_) 580 else if (sender == restore_button_)
592 panel_browser_view_->panel()->Restore(); 581 panel_browser_view_->RestoreButtonPressed(event);
593 } 582 }
594 583
595 bool PanelBrowserFrameView::ShouldTabIconViewAnimate() const { 584 bool PanelBrowserFrameView::ShouldTabIconViewAnimate() const {
596 // This function is queried during the creation of the window as the 585 // This function is queried during the creation of the window as the
597 // TabIconView we host is initialized, so we need to NULL check the selected 586 // TabIconView we host is initialized, so we need to NULL check the selected
598 // WebContents because in this condition there is not yet a selected tab. 587 // WebContents because in this condition there is not yet a selected tab.
599 WebContents* current_tab = browser_view()->GetSelectedWebContents(); 588 WebContents* current_tab = browser_view()->GetSelectedWebContents();
600 return current_tab ? current_tab->IsLoading() : false; 589 return current_tab ? current_tab->IsLoading() : false;
601 } 590 }
602 591
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
811 } 800 }
812 801
813 bool PanelBrowserFrameView::CanResize() const { 802 bool PanelBrowserFrameView::CanResize() const {
814 return panel_browser_view_->panel()->CanResizeByMouse() != 803 return panel_browser_view_->panel()->CanResizeByMouse() !=
815 panel::NOT_RESIZABLE; 804 panel::NOT_RESIZABLE;
816 } 805 }
817 806
818 bool PanelBrowserFrameView::IsShowingTitlebarOnly() const { 807 bool PanelBrowserFrameView::IsShowingTitlebarOnly() const {
819 return height() <= kTitlebarHeight; 808 return height() <= kTitlebarHeight;
820 } 809 }
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/ui/panels/panel_browser_view.h » ('j') | chrome/browser/ui/panels/panel_browser_view.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698