| 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 <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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |