OLD | NEW |
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 "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/base_paths_linux.h" | 8 #include "base/base_paths_linux.h" |
9 #include "base/path_service.h" | 9 #include "base/path_service.h" |
10 #include "chrome/browser/browser.h" | 10 #include "chrome/browser/browser.h" |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
133 gtk_window_set_title(window_, "Chromium"); | 133 gtk_window_set_title(window_, "Chromium"); |
134 gtk_window_set_default_size(window_, 640, 480); | 134 gtk_window_set_default_size(window_, 640, 480); |
135 g_signal_connect(G_OBJECT(window_), "destroy", | 135 g_signal_connect(G_OBJECT(window_), "destroy", |
136 G_CALLBACK(MainWindowDestroyed), this); | 136 G_CALLBACK(MainWindowDestroyed), this); |
137 g_signal_connect(G_OBJECT(window_), "configure-event", | 137 g_signal_connect(G_OBJECT(window_), "configure-event", |
138 G_CALLBACK(MainWindowConfigured), this); | 138 G_CALLBACK(MainWindowConfigured), this); |
139 g_signal_connect(G_OBJECT(window_), "window-state-event", | 139 g_signal_connect(G_OBJECT(window_), "window-state-event", |
140 G_CALLBACK(MainWindowStateChanged), this); | 140 G_CALLBACK(MainWindowStateChanged), this); |
141 bounds_ = GetInitialWindowBounds(window_); | 141 bounds_ = GetInitialWindowBounds(window_); |
142 | 142 |
| 143 GtkAccelGroup* accel_group = gtk_accel_group_new(); |
| 144 gtk_window_add_accel_group(window_, accel_group); |
| 145 |
143 GdkPixbuf* images[9] = { | 146 GdkPixbuf* images[9] = { |
144 LoadThemeImage(IDR_CONTENT_TOP_LEFT_CORNER), | 147 LoadThemeImage(IDR_CONTENT_TOP_LEFT_CORNER), |
145 LoadThemeImage(IDR_CONTENT_TOP_CENTER), | 148 LoadThemeImage(IDR_CONTENT_TOP_CENTER), |
146 LoadThemeImage(IDR_CONTENT_TOP_RIGHT_CORNER), | 149 LoadThemeImage(IDR_CONTENT_TOP_RIGHT_CORNER), |
147 LoadThemeImage(IDR_CONTENT_LEFT_SIDE), | 150 LoadThemeImage(IDR_CONTENT_LEFT_SIDE), |
148 NULL, | 151 NULL, |
149 LoadThemeImage(IDR_CONTENT_RIGHT_SIDE), | 152 LoadThemeImage(IDR_CONTENT_RIGHT_SIDE), |
150 LoadThemeImage(IDR_CONTENT_BOTTOM_LEFT_CORNER), | 153 LoadThemeImage(IDR_CONTENT_BOTTOM_LEFT_CORNER), |
151 LoadThemeImage(IDR_CONTENT_BOTTOM_CENTER), | 154 LoadThemeImage(IDR_CONTENT_BOTTOM_CENTER), |
152 LoadThemeImage(IDR_CONTENT_BOTTOM_RIGHT_CORNER) | 155 LoadThemeImage(IDR_CONTENT_BOTTOM_RIGHT_CORNER) |
153 }; | 156 }; |
154 content_area_ninebox_.reset(new NineBox(images)); | 157 content_area_ninebox_.reset(new NineBox(images)); |
155 | 158 |
156 // This vbox is intended to surround the "content": toolbar+page. | 159 // This vbox is intended to surround the "content": toolbar+page. |
157 // When we add the tab strip, it should go in a vbox surrounding this one. | 160 // When we add the tab strip, it should go in a vbox surrounding this one. |
158 vbox_ = gtk_vbox_new(FALSE, 0); | 161 vbox_ = gtk_vbox_new(FALSE, 0); |
159 gtk_widget_set_app_paintable(vbox_, TRUE); | 162 gtk_widget_set_app_paintable(vbox_, TRUE); |
160 gtk_widget_set_double_buffered(vbox_, FALSE); | 163 gtk_widget_set_double_buffered(vbox_, FALSE); |
161 g_signal_connect(G_OBJECT(vbox_), "expose-event", | 164 g_signal_connect(G_OBJECT(vbox_), "expose-event", |
162 G_CALLBACK(&OnContentAreaExpose), this); | 165 G_CALLBACK(&OnContentAreaExpose), this); |
163 | 166 |
164 toolbar_.reset(new BrowserToolbarGtk(browser_.get())); | 167 toolbar_.reset(new BrowserToolbarGtk(browser_.get())); |
165 toolbar_->Init(browser_->profile()); | 168 toolbar_->Init(browser_->profile(), accel_group); |
166 toolbar_->AddToolbarToBox(vbox_); | 169 toolbar_->AddToolbarToBox(vbox_); |
167 | 170 |
168 contents_container_.reset(new TabContentsContainerGtk()); | 171 contents_container_.reset(new TabContentsContainerGtk()); |
169 contents_container_->AddContainerToBox(vbox_); | 172 contents_container_->AddContainerToBox(vbox_); |
170 | 173 |
171 // Note that calling this the first time is necessary to get the | 174 // Note that calling this the first time is necessary to get the |
172 // proper control layout. | 175 // proper control layout. |
173 // TODO(port): make this a pref. | 176 // TODO(port): make this a pref. |
174 SetCustomFrame(false); | 177 SetCustomFrame(false); |
175 | 178 |
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
389 void BrowserWindowGtk::SetCustomFrame(bool custom_frame) { | 392 void BrowserWindowGtk::SetCustomFrame(bool custom_frame) { |
390 custom_frame_ = custom_frame; | 393 custom_frame_ = custom_frame; |
391 if (custom_frame_) { | 394 if (custom_frame_) { |
392 gtk_container_set_border_width(GTK_CONTAINER(vbox_), 2); | 395 gtk_container_set_border_width(GTK_CONTAINER(vbox_), 2); |
393 // TODO(port): all the crazy blue title bar, etc. | 396 // TODO(port): all the crazy blue title bar, etc. |
394 NOTIMPLEMENTED(); | 397 NOTIMPLEMENTED(); |
395 } else { | 398 } else { |
396 gtk_container_set_border_width(GTK_CONTAINER(vbox_), 0); | 399 gtk_container_set_border_width(GTK_CONTAINER(vbox_), 0); |
397 } | 400 } |
398 } | 401 } |
OLD | NEW |