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

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

Issue 10066032: Enable user resizing for docked Panels (GTK and Mac). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix tests Created 8 years, 8 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/docked_panel_strip.h" 5 #include "chrome/browser/ui/panels/docked_panel_strip.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/auto_reset.h" 10 #include "base/auto_reset.h"
(...skipping 416 matching lines...) Expand 10 before | Expand all | Expand 10 after
427 427
428 // Calls RefreshLayout to update the dragging panel to its final position 428 // Calls RefreshLayout to update the dragging panel to its final position
429 // when the drag ends normally. Otherwise, the drag within this strip is 429 // when the drag ends normally. Otherwise, the drag within this strip is
430 // aborted because either the drag enters other strip or the drag is 430 // aborted because either the drag enters other strip or the drag is
431 // cancelled. Either way, we don't need to do anything here and let the drag 431 // cancelled. Either way, we don't need to do anything here and let the drag
432 // controller handle the inter-strip transition or the drag cancellation. 432 // controller handle the inter-strip transition or the drag cancellation.
433 if (!aborted) 433 if (!aborted)
434 RefreshLayout(); 434 RefreshLayout();
435 } 435 }
436 436
437 bool DockedPanelStrip::CanResizePanel(const Panel* panel) const { 437 panel::Resizability DockedPanelStrip::GetPanelResizability(
438 return false; 438 const Panel* panel) const {
439 return (!panel->has_temporary_layout() &&
440 panel->expansion_state() == Panel::EXPANDED) ?
441 panel::RESIZABLE_ALL_SIDES_EXCEPT_BOTTOM : panel::NOT_RESIZABLE;
439 } 442 }
440 443
441 void DockedPanelStrip::OnPanelResizedByMouse(Panel* panel, 444 void DockedPanelStrip::OnPanelResizedByMouse(Panel* panel,
442 const gfx::Rect& new_bounds) { 445 const gfx::Rect& new_bounds) {
443 DCHECK_EQ(this, panel->panel_strip()); 446 DCHECK_EQ(this, panel->panel_strip());
444 NOTREACHED(); 447 panel->SetPanelBoundsInstantly(new_bounds);
445 } 448 }
446 449
447 450
448 void DockedPanelStrip::OnPanelExpansionStateChanged(Panel* panel) { 451 void DockedPanelStrip::OnPanelExpansionStateChanged(Panel* panel) {
449 gfx::Size size = panel->restored_size(); 452 gfx::Size size = panel->restored_size();
450 Panel::ExpansionState expansion_state = panel->expansion_state(); 453 Panel::ExpansionState expansion_state = panel->expansion_state();
451 switch (expansion_state) { 454 switch (expansion_state) {
452 case Panel::EXPANDED: 455 case Panel::EXPANDED:
453 456
454 break; 457 break;
(...skipping 424 matching lines...) Expand 10 before | Expand all | Expand 10 after
879 // Always update limits, even on existing panels, in case the limits changed 882 // Always update limits, even on existing panels, in case the limits changed
880 // while panel was out of the strip. 883 // while panel was out of the strip.
881 int max_panel_width = GetMaxPanelWidth(); 884 int max_panel_width = GetMaxPanelWidth();
882 int max_panel_height = GetMaxPanelHeight(); 885 int max_panel_height = GetMaxPanelHeight();
883 panel->SetSizeRange(gfx::Size(kPanelMinWidth, kPanelMinHeight), 886 panel->SetSizeRange(gfx::Size(kPanelMinWidth, kPanelMinHeight),
884 gfx::Size(max_panel_width, max_panel_height)); 887 gfx::Size(max_panel_width, max_panel_height));
885 888
886 panel->set_attention_mode(Panel::USE_PANEL_ATTENTION); 889 panel->set_attention_mode(Panel::USE_PANEL_ATTENTION);
887 panel->SetAppIconVisibility(true); 890 panel->SetAppIconVisibility(true);
888 panel->SetAlwaysOnTop(true); 891 panel->SetAlwaysOnTop(true);
889 panel->EnableResizeByMouse(false); 892 panel->EnableResizeByMouse(true);
890 } 893 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/panels/docked_panel_strip.h ('k') | chrome/browser/ui/panels/overflow_panel_strip.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698