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

Side by Side Diff: chrome/browser/gtk/browser_window_gtk.cc

Issue 100219: Allow the user to resize the chromium window as small as they like. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 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
« no previous file with comments | « chrome/browser/gtk/browser_window_gtk.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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/gtk/browser_window_gtk.h" 5 #include "chrome/browser/gtk/browser_window_gtk.h"
6 6
7 #include <gdk/gdkkeysyms.h> 7 #include <gdk/gdkkeysyms.h>
8 8
9 #include "base/base_paths_linux.h" 9 #include "base/base_paths_linux.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
199 199
200 // TODO(estade): Break up this constructor into helper functions to improve 200 // TODO(estade): Break up this constructor into helper functions to improve
201 // readability. 201 // readability.
202 BrowserWindowGtk::BrowserWindowGtk(Browser* browser) 202 BrowserWindowGtk::BrowserWindowGtk(Browser* browser)
203 : browser_(browser), 203 : browser_(browser),
204 // TODO(port): make this a pref. 204 // TODO(port): make this a pref.
205 custom_frame_(false), 205 custom_frame_(false),
206 full_screen_(false), 206 full_screen_(false),
207 method_factory_(this) { 207 method_factory_(this) {
208 window_ = GTK_WINDOW(gtk_window_new(GTK_WINDOW_TOPLEVEL)); 208 window_ = GTK_WINDOW(gtk_window_new(GTK_WINDOW_TOPLEVEL));
209 gtk_window_set_default_size(window_, 640, 480); 209 SetGeometryHints();
210 g_object_set_data(G_OBJECT(window_), "browser_window_gtk", this); 210 g_object_set_data(G_OBJECT(window_), "browser_window_gtk", this);
211 g_signal_connect(window_, "delete-event", 211 g_signal_connect(window_, "delete-event",
212 G_CALLBACK(MainWindowDeleteEvent), this); 212 G_CALLBACK(MainWindowDeleteEvent), this);
213 g_signal_connect(window_, "destroy", 213 g_signal_connect(window_, "destroy",
214 G_CALLBACK(MainWindowDestroy), this); 214 G_CALLBACK(MainWindowDestroy), this);
215 g_signal_connect(window_, "configure-event", 215 g_signal_connect(window_, "configure-event",
216 G_CALLBACK(MainWindowConfigured), this); 216 G_CALLBACK(MainWindowConfigured), this);
217 g_signal_connect(window_, "window-state-event", 217 g_signal_connect(window_, "window-state-event",
218 G_CALLBACK(MainWindowStateChanged), this); 218 G_CALLBACK(MainWindowStateChanged), this);
219 g_signal_connect(window_, "key-press-event", 219 g_signal_connect(window_, "key-press-event",
(...skipping 432 matching lines...) Expand 10 before | Expand all | Expand 10 after
652 return browser_->SupportsWindowFeature(Browser::FEATURE_TITLEBAR); 652 return browser_->SupportsWindowFeature(Browser::FEATURE_TITLEBAR);
653 } 653 }
654 654
655 void BrowserWindowGtk::AddFindBar(FindBarGtk* findbar) { 655 void BrowserWindowGtk::AddFindBar(FindBarGtk* findbar) {
656 contents_container_->set_find_bar(findbar); 656 contents_container_->set_find_bar(findbar);
657 gtk_box_pack_start(GTK_BOX(content_vbox_), findbar->widget(), 657 gtk_box_pack_start(GTK_BOX(content_vbox_), findbar->widget(),
658 FALSE, FALSE, 0); 658 FALSE, FALSE, 0);
659 gtk_box_reorder_child(GTK_BOX(content_vbox_), findbar->widget(), 2); 659 gtk_box_reorder_child(GTK_BOX(content_vbox_), findbar->widget(), 2);
660 } 660 }
661 661
662 void BrowserWindowGtk::SetGeometryHints() {
663 gtk_window_set_default_size(window_, 640, 480);
664
665 // Allow the user to resize us arbitrarily small.
666 GdkGeometry geometry;
667 geometry.min_width = 1;
668 geometry.min_height = 1;
669 gtk_window_set_geometry_hints(window_, NULL, &geometry, GDK_HINT_MIN_SIZE);
670 }
671
662 void BrowserWindowGtk::ConnectAccelerators() { 672 void BrowserWindowGtk::ConnectAccelerators() {
663 GtkAccelGroup* accel_group = gtk_accel_group_new(); 673 GtkAccelGroup* accel_group = gtk_accel_group_new();
664 gtk_window_add_accel_group(window_, accel_group); 674 gtk_window_add_accel_group(window_, accel_group);
665 // Drop the initial ref on |accel_group| so |window_| will own it. 675 // Drop the initial ref on |accel_group| so |window_| will own it.
666 g_object_unref(accel_group); 676 g_object_unref(accel_group);
667 677
668 for (size_t i = 0; i < arraysize(kAcceleratorMap); ++i) { 678 for (size_t i = 0; i < arraysize(kAcceleratorMap); ++i) {
669 gtk_accel_group_connect( 679 gtk_accel_group_connect(
670 accel_group, 680 accel_group,
671 kAcceleratorMap[i].keyval, 681 kAcceleratorMap[i].keyval,
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
705 } else { 715 } else {
706 browser_window->ExecuteBrowserCommand(command_id); 716 browser_window->ExecuteBrowserCommand(command_id);
707 } 717 }
708 718
709 return TRUE; 719 return TRUE;
710 } 720 }
711 721
712 void BrowserWindowGtk::ExecuteBrowserCommand(int id) { 722 void BrowserWindowGtk::ExecuteBrowserCommand(int id) {
713 browser_->ExecuteCommand(id); 723 browser_->ExecuteCommand(id);
714 } 724 }
OLDNEW
« no previous file with comments | « chrome/browser/gtk/browser_window_gtk.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698