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

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

Issue 100106: Fullscreen mode for Linux. (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') | chrome/browser/gtk/tabs/tab_strip_gtk.h » ('j') | 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 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 { GDK_equal, IDC_ZOOM_PLUS, GDK_CONTROL_MASK }, 118 { GDK_equal, IDC_ZOOM_PLUS, GDK_CONTROL_MASK },
119 { GDK_0, IDC_ZOOM_NORMAL, GDK_CONTROL_MASK }, 119 { GDK_0, IDC_ZOOM_NORMAL, GDK_CONTROL_MASK },
120 { GDK_minus, IDC_ZOOM_MINUS, GDK_CONTROL_MASK }, 120 { GDK_minus, IDC_ZOOM_MINUS, GDK_CONTROL_MASK },
121 { GDK_underscore, IDC_ZOOM_MINUS, 121 { GDK_underscore, IDC_ZOOM_MINUS,
122 GdkModifierType(GDK_CONTROL_MASK | GDK_SHIFT_MASK) }, 122 GdkModifierType(GDK_CONTROL_MASK | GDK_SHIFT_MASK) },
123 { GDK_g, IDC_FIND_NEXT, GDK_CONTROL_MASK }, 123 { GDK_g, IDC_FIND_NEXT, GDK_CONTROL_MASK },
124 { GDK_F3, IDC_FIND_NEXT, GdkModifierType(0) }, 124 { GDK_F3, IDC_FIND_NEXT, GdkModifierType(0) },
125 { GDK_g, IDC_FIND_PREVIOUS, 125 { GDK_g, IDC_FIND_PREVIOUS,
126 GdkModifierType(GDK_CONTROL_MASK | GDK_SHIFT_MASK) }, 126 GdkModifierType(GDK_CONTROL_MASK | GDK_SHIFT_MASK) },
127 { GDK_F3, IDC_FIND_PREVIOUS, GDK_SHIFT_MASK }, 127 { GDK_F3, IDC_FIND_PREVIOUS, GDK_SHIFT_MASK },
128 { GDK_F11, IDC_FULLSCREEN, GdkModifierType(0) },
128 }; 129 };
129 130
130 int GetCommandId(guint accel_key, GdkModifierType modifier) { 131 int GetCommandId(guint accel_key, GdkModifierType modifier) {
131 // Bug 9806: If capslock is on, we will get a capital letter as accel_key. 132 // Bug 9806: If capslock is on, we will get a capital letter as accel_key.
132 accel_key = gdk_keyval_to_lower(accel_key); 133 accel_key = gdk_keyval_to_lower(accel_key);
133 // Filter modifier to only include accelerator modifiers. 134 // Filter modifier to only include accelerator modifiers.
134 modifier = static_cast<GdkModifierType>( 135 modifier = static_cast<GdkModifierType>(
135 modifier & gtk_accelerator_get_default_mod_mask()); 136 modifier & gtk_accelerator_get_default_mod_mask());
136 for (size_t i = 0; i < arraysize(kAcceleratorMap); ++i) { 137 for (size_t i = 0; i < arraysize(kAcceleratorMap); ++i) {
137 if (kAcceleratorMap[i].keyval == accel_key && 138 if (kAcceleratorMap[i].keyval == accel_key &&
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
195 } 196 }
196 197
197 } // namespace 198 } // namespace
198 199
199 // TODO(estade): Break up this constructor into helper functions to improve 200 // TODO(estade): Break up this constructor into helper functions to improve
200 // readability. 201 // readability.
201 BrowserWindowGtk::BrowserWindowGtk(Browser* browser) 202 BrowserWindowGtk::BrowserWindowGtk(Browser* browser)
202 : browser_(browser), 203 : browser_(browser),
203 // TODO(port): make this a pref. 204 // TODO(port): make this a pref.
204 custom_frame_(false), 205 custom_frame_(false),
206 full_screen_(false),
205 method_factory_(this) { 207 method_factory_(this) {
206 window_ = GTK_WINDOW(gtk_window_new(GTK_WINDOW_TOPLEVEL)); 208 window_ = GTK_WINDOW(gtk_window_new(GTK_WINDOW_TOPLEVEL));
207 gtk_window_set_default_size(window_, 640, 480); 209 gtk_window_set_default_size(window_, 640, 480);
208 g_object_set_data(G_OBJECT(window_), "browser_window_gtk", this); 210 g_object_set_data(G_OBJECT(window_), "browser_window_gtk", this);
209 g_signal_connect(window_, "delete-event", 211 g_signal_connect(window_, "delete-event",
210 G_CALLBACK(MainWindowDeleteEvent), this); 212 G_CALLBACK(MainWindowDeleteEvent), this);
211 g_signal_connect(window_, "destroy", 213 g_signal_connect(window_, "destroy",
212 G_CALLBACK(MainWindowDestroy), this); 214 G_CALLBACK(MainWindowDestroy), this);
213 g_signal_connect(window_, "configure-event", 215 g_signal_connect(window_, "configure-event",
214 G_CALLBACK(MainWindowConfigured), this); 216 G_CALLBACK(MainWindowConfigured), this);
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
423 425
424 gfx::Rect BrowserWindowGtk::GetNormalBounds() const { 426 gfx::Rect BrowserWindowGtk::GetNormalBounds() const {
425 return bounds_; 427 return bounds_;
426 } 428 }
427 429
428 bool BrowserWindowGtk::IsMaximized() const { 430 bool BrowserWindowGtk::IsMaximized() const {
429 return (state_ & GDK_WINDOW_STATE_MAXIMIZED); 431 return (state_ & GDK_WINDOW_STATE_MAXIMIZED);
430 } 432 }
431 433
432 void BrowserWindowGtk::SetFullscreen(bool fullscreen) { 434 void BrowserWindowGtk::SetFullscreen(bool fullscreen) {
433 // Need to implement full screen mode. 435 if (fullscreen) {
434 // http://code.google.com/p/chromium/issues/detail?id=8405 436 full_screen_ = true;
437 tabstrip_->Hide();
438 toolbar_->Hide();
439 gtk_window_fullscreen(window_);
440 } else {
441 full_screen_ = false;
442 gtk_window_unfullscreen(window_);
443 toolbar_->Show();
444 tabstrip_->Show();
445 }
435 } 446 }
436 447
437 bool BrowserWindowGtk::IsFullscreen() const { 448 bool BrowserWindowGtk::IsFullscreen() const {
438 // Need to implement full screen mode. 449 return full_screen_;
439 // http://code.google.com/p/chromium/issues/detail?id=8405
440 return false;
441 } 450 }
442 451
443 LocationBar* BrowserWindowGtk::GetLocationBar() const { 452 LocationBar* BrowserWindowGtk::GetLocationBar() const {
444 return toolbar_->GetLocationBar(); 453 return toolbar_->GetLocationBar();
445 } 454 }
446 455
447 void BrowserWindowGtk::SetFocusToLocationBar() { 456 void BrowserWindowGtk::SetFocusToLocationBar() {
448 GetLocationBar()->FocusLocation(); 457 GetLocationBar()->FocusLocation();
449 } 458 }
450 459
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after
700 } else { 709 } else {
701 browser_window->ExecuteBrowserCommand(command_id); 710 browser_window->ExecuteBrowserCommand(command_id);
702 } 711 }
703 712
704 return TRUE; 713 return TRUE;
705 } 714 }
706 715
707 void BrowserWindowGtk::ExecuteBrowserCommand(int id) { 716 void BrowserWindowGtk::ExecuteBrowserCommand(int id) {
708 browser_->ExecuteCommand(id); 717 browser_->ExecuteCommand(id);
709 } 718 }
OLDNEW
« no previous file with comments | « chrome/browser/gtk/browser_window_gtk.h ('k') | chrome/browser/gtk/tabs/tab_strip_gtk.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698