OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 #import "chrome/browser/cocoa/browser_window_controller.h" | 5 #import "chrome/browser/cocoa/browser_window_controller.h" |
6 | 6 |
7 #include <Carbon/Carbon.h> | 7 #include <Carbon/Carbon.h> |
8 | 8 |
9 #include "app/l10n_util_mac.h" | 9 #include "app/l10n_util_mac.h" |
10 #include "base/mac_util.h" | 10 #include "base/mac_util.h" |
(...skipping 26 matching lines...) Expand all Loading... |
37 #import "chrome/browser/cocoa/fullscreen_window.h" | 37 #import "chrome/browser/cocoa/fullscreen_window.h" |
38 #import "chrome/browser/cocoa/infobar_container_controller.h" | 38 #import "chrome/browser/cocoa/infobar_container_controller.h" |
39 #import "chrome/browser/cocoa/location_bar/autocomplete_text_field_editor.h" | 39 #import "chrome/browser/cocoa/location_bar/autocomplete_text_field_editor.h" |
40 #import "chrome/browser/cocoa/sad_tab_controller.h" | 40 #import "chrome/browser/cocoa/sad_tab_controller.h" |
41 #import "chrome/browser/cocoa/status_bubble_mac.h" | 41 #import "chrome/browser/cocoa/status_bubble_mac.h" |
42 #import "chrome/browser/cocoa/tab_contents_controller.h" | 42 #import "chrome/browser/cocoa/tab_contents_controller.h" |
43 #import "chrome/browser/cocoa/tab_strip_model_observer_bridge.h" | 43 #import "chrome/browser/cocoa/tab_strip_model_observer_bridge.h" |
44 #import "chrome/browser/cocoa/tab_strip_controller.h" | 44 #import "chrome/browser/cocoa/tab_strip_controller.h" |
45 #import "chrome/browser/cocoa/tab_strip_view.h" | 45 #import "chrome/browser/cocoa/tab_strip_view.h" |
46 #import "chrome/browser/cocoa/tab_view.h" | 46 #import "chrome/browser/cocoa/tab_view.h" |
| 47 #import "chrome/browser/cocoa/tabpose_window.h" |
47 #import "chrome/browser/cocoa/toolbar_controller.h" | 48 #import "chrome/browser/cocoa/toolbar_controller.h" |
48 #include "chrome/browser/renderer_host/render_widget_host_view.h" | 49 #include "chrome/browser/renderer_host/render_widget_host_view.h" |
49 #include "chrome/browser/sync/profile_sync_service.h" | 50 #include "chrome/browser/sync/profile_sync_service.h" |
50 #include "chrome/browser/sync/sync_ui_util_mac.h" | 51 #include "chrome/browser/sync/sync_ui_util_mac.h" |
51 #include "chrome/browser/tab_contents/tab_contents.h" | 52 #include "chrome/browser/tab_contents/tab_contents.h" |
52 #include "chrome/browser/tab_contents/tab_contents_view_mac.h" | 53 #include "chrome/browser/tab_contents/tab_contents_view_mac.h" |
53 #include "chrome/browser/tabs/tab_strip_model.h" | 54 #include "chrome/browser/tabs/tab_strip_model.h" |
54 #include "grit/generated_resources.h" | 55 #include "grit/generated_resources.h" |
55 #include "grit/locale_settings.h" | 56 #include "grit/locale_settings.h" |
56 | 57 |
(...skipping 1409 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1466 // Map forwards and backwards to history; left is positive, right is negative. | 1467 // Map forwards and backwards to history; left is positive, right is negative. |
1467 unsigned int command = 0; | 1468 unsigned int command = 0; |
1468 if ([event deltaX] > 0.5) { | 1469 if ([event deltaX] > 0.5) { |
1469 command = IDC_BACK; | 1470 command = IDC_BACK; |
1470 } else if ([event deltaX] < -0.5) { | 1471 } else if ([event deltaX] < -0.5) { |
1471 command = IDC_FORWARD; | 1472 command = IDC_FORWARD; |
1472 } else if ([event deltaY] > 0.5) { | 1473 } else if ([event deltaY] > 0.5) { |
1473 // TODO(pinkerton): figure out page-up, http://crbug.com/16305 | 1474 // TODO(pinkerton): figure out page-up, http://crbug.com/16305 |
1474 } else if ([event deltaY] < -0.5) { | 1475 } else if ([event deltaY] < -0.5) { |
1475 // TODO(pinkerton): figure out page-down, http://crbug.com/16305 | 1476 // TODO(pinkerton): figure out page-down, http://crbug.com/16305 |
| 1477 browser_->ExecuteCommand(IDC_TABPOSE); |
1476 } | 1478 } |
1477 | 1479 |
1478 // Ensure the command is valid first (ExecuteCommand() won't do that) and | 1480 // Ensure the command is valid first (ExecuteCommand() won't do that) and |
1479 // then make it so. | 1481 // then make it so. |
1480 if (browser_->command_updater()->IsCommandEnabled(command)) | 1482 if (browser_->command_updater()->IsCommandEnabled(command)) |
1481 browser_->ExecuteCommandWithDisposition(command, | 1483 browser_->ExecuteCommandWithDisposition(command, |
1482 event_utils::WindowOpenDispositionFromNSEvent(event)); | 1484 event_utils::WindowOpenDispositionFromNSEvent(event)); |
1483 } | 1485 } |
1484 | 1486 |
1485 // Documented in 10.6+, but present starting in 10.5. Called repeatedly during | 1487 // Documented in 10.6+, but present starting in 10.5. Called repeatedly during |
(...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1834 delay:delay]; | 1836 delay:delay]; |
1835 } | 1837 } |
1836 } | 1838 } |
1837 } | 1839 } |
1838 | 1840 |
1839 - (BOOL)floatingBarHasFocus { | 1841 - (BOOL)floatingBarHasFocus { |
1840 NSResponder* focused = [[self window] firstResponder]; | 1842 NSResponder* focused = [[self window] firstResponder]; |
1841 return [focused isKindOfClass:[AutocompleteTextFieldEditor class]]; | 1843 return [focused isKindOfClass:[AutocompleteTextFieldEditor class]]; |
1842 } | 1844 } |
1843 | 1845 |
| 1846 - (void)openTabpose { |
| 1847 NSUInteger modifierFlags = [[NSApp currentEvent] modifierFlags]; |
| 1848 BOOL slomo = (modifierFlags & NSShiftKeyMask) != 0; |
| 1849 |
| 1850 // Cover info bars, inspector window, and detached bookmark bar on NTP. |
| 1851 // Do not cover download shelf. |
| 1852 NSRect activeArea = [[self tabContentArea] frame]; |
| 1853 activeArea.size.height += |
| 1854 NSHeight([[infoBarContainerController_ view] frame]); |
| 1855 if ([self isBookmarkBarVisible] && [self placeBookmarkBarBelowInfoBar]) { |
| 1856 NSView* bookmarkBarView = [bookmarkBarController_ view]; |
| 1857 activeArea.size.height += NSHeight([bookmarkBarView frame]); |
| 1858 } |
| 1859 |
| 1860 [TabposeWindow openTabposeFor:[self window] rect:activeArea slomo:slomo]; |
| 1861 } |
| 1862 |
1844 @end // @implementation BrowserWindowController(Fullscreen) | 1863 @end // @implementation BrowserWindowController(Fullscreen) |
1845 | 1864 |
1846 | 1865 |
1847 @implementation BrowserWindowController(WindowType) | 1866 @implementation BrowserWindowController(WindowType) |
1848 | 1867 |
1849 - (BOOL)supportsWindowFeature:(int)feature { | 1868 - (BOOL)supportsWindowFeature:(int)feature { |
1850 return browser_->SupportsWindowFeature( | 1869 return browser_->SupportsWindowFeature( |
1851 static_cast<Browser::WindowFeature>(feature)); | 1870 static_cast<Browser::WindowFeature>(feature)); |
1852 } | 1871 } |
1853 | 1872 |
(...skipping 11 matching lines...) Expand all Loading... |
1865 | 1884 |
1866 - (BOOL)supportsBookmarkBar { | 1885 - (BOOL)supportsBookmarkBar { |
1867 return [self supportsWindowFeature:Browser::FEATURE_BOOKMARKBAR]; | 1886 return [self supportsWindowFeature:Browser::FEATURE_BOOKMARKBAR]; |
1868 } | 1887 } |
1869 | 1888 |
1870 - (BOOL)isNormalWindow { | 1889 - (BOOL)isNormalWindow { |
1871 return browser_->type() == Browser::TYPE_NORMAL; | 1890 return browser_->type() == Browser::TYPE_NORMAL; |
1872 } | 1891 } |
1873 | 1892 |
1874 @end // @implementation BrowserWindowController(WindowType) | 1893 @end // @implementation BrowserWindowController(WindowType) |
OLD | NEW |