Changeset 50505 in vbox for trunk/src/VBox/Frontends/VirtualBox
- Timestamp:
- Feb 19, 2014 3:03:24 PM (11 years ago)
- svn:sync-xref-src-repo-rev:
- 92347
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/platform/darwin/VBoxUtils-darwin-cocoa.mm
r50479 r50505 190 190 } 191 191 192 void darwinEnableTransienceSupport(NativeNSWindowRef pWindow) 193 { 194 [pWindow setCollectionBehavior :NSWindowCollectionBehaviorTransient]; 195 } 196 192 197 void darwinToggleFullscreenMode(NativeNSWindowRef pWindow) 193 198 { … … 196 201 if ([pWindow respondsToSelector: @selector(toggleFullScreen:)]) 197 202 [pWindow performSelector: @selector(toggleFullScreen:) withObject: (id)nil]; 203 } 204 205 bool darwinScreensHaveSeparateSpaces() 206 { 207 /* Check whether screens have separate spaces. 208 * This method is available since 10.9 only. */ 209 if ([NSScreen respondsToSelector: @selector(screensHaveSeparateSpaces)]) 210 return [NSScreen performSelector: @selector(screensHaveSeparateSpaces)]; 211 else 212 return false; 198 213 } 199 214 -
trunk/src/VBox/Frontends/VirtualBox/src/platform/darwin/VBoxUtils-darwin.cpp
r50479 r50505 142 142 { 143 143 return ::darwinEnableFullscreenSupport(::darwinToNativeWindow(pWidget)); 144 } 145 146 void darwinEnableTransienceSupport(QWidget *pWidget) 147 { 148 return ::darwinEnableTransienceSupport(::darwinToNativeWindow(pWidget)); 144 149 } 145 150 -
trunk/src/VBox/Frontends/VirtualBox/src/platform/darwin/VBoxUtils-darwin.h
r50479 r50505 80 80 void darwinMinaturizeWindow(NativeNSWindowRef pWindow); 81 81 void darwinEnableFullscreenSupport(NativeNSWindowRef pWindow); 82 void darwinEnableTransienceSupport(NativeNSWindowRef pWindow); 82 83 void darwinToggleFullscreenMode(NativeNSWindowRef pWindow); 84 bool darwinScreensHaveSeparateSpaces(); 83 85 84 86 bool darwinOpenFile(NativeNSStringRef pstrFile); … … 243 245 void darwinMinaturizeWindow(QWidget *pWidget); 244 246 void darwinEnableFullscreenSupport(QWidget *pWidget); 247 void darwinEnableTransienceSupport(QWidget *pWidget); 245 248 void darwinToggleFullscreenMode(QWidget *pWidget); 246 249 bool darwinOpenFile(const QString &strFile); -
trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineWindow.cpp
r50498 r50505 506 506 { 507 507 case UIVisualStateType_Normal: return Qt::Window; 508 #ifdef Q_WS_MAC509 /* We want normal window for native fullscreen mode on ML and next: */510 case UIVisualStateType_Fullscreen: return vboxGlobal().osRelease() > MacOSXRelease_Lion ? Qt::Window : Qt::FramelessWindowHint;511 #else /* !Q_WS_MAC */512 508 case UIVisualStateType_Fullscreen: return Qt::FramelessWindowHint; 513 #endif /* !Q_WS_MAC */514 509 case UIVisualStateType_Seamless: return Qt::FramelessWindowHint; 515 510 case UIVisualStateType_Scale: return Qt::Window; -
trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineWindowFullscreen.cpp
r50498 r50505 134 134 if (vboxGlobal().osRelease() > MacOSXRelease_Lion) 135 135 { 136 /* Enable native fullscreen support: */ 137 darwinEnableFullscreenSupport(this); 136 /* Enable fullscreen support for every screen which requires it: */ 137 if (darwinScreensHaveSeparateSpaces() || m_uScreenId == 0) 138 darwinEnableFullscreenSupport(this); 139 /* Enable transience support for other screens: */ 140 else 141 darwinEnableTransienceSupport(this); 138 142 /* Register to native fullscreen notifications: */ 139 143 UICocoaApplication::instance()->registerToNativeNotification("NSWindowDidEnterFullScreenNotification", this, … … 141 145 UICocoaApplication::instance()->registerToNativeNotification("NSWindowDidExitFullScreenNotification", this, 142 146 UIMachineWindow::handleNativeNotification); 143 /* Asynchronously toggle native fullscreen mode: */ 144 QTimer::singleShot(0, this, SLOT(sltToggleNativeFullscreenMode())); 147 /* Asynchronously toggle fullscreen mode for every screen which requires it: */ 148 if (darwinScreensHaveSeparateSpaces() || m_uScreenId == 0) 149 QTimer::singleShot(0, this, SLOT(sltToggleNativeFullscreenMode())); 145 150 } 146 151 #endif /* Q_WS_MAC */
Note:
See TracChangeset
for help on using the changeset viewer.