Index: /trunk/src/VBox/Frontends/VirtualBox/src/UIVMLogViewer.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/UIVMLogViewer.cpp	(revision 57590)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/UIVMLogViewer.cpp	(revision 57591)
@@ -29,5 +29,4 @@
 # include <QScrollBar>
 # include <QTextEdit>
-# include <QDesktopWidget>
 
 /* GUI includes: */
@@ -649,5 +648,5 @@
     {
         /* Getting available geometry to calculate default geometry: */
-        const QRect desktopRect = QApplication::desktop()->availableGeometry(this);
+        const QRect desktopRect = vboxGlobal().availableGeometry(this);
         int iDefaultWidth = desktopRect.width() * 0.5;
         int iDefaultHeight = desktopRect.height() * 0.75;
Index: /trunk/src/VBox/Frontends/VirtualBox/src/extensions/QIArrowSplitter.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extensions/QIArrowSplitter.cpp	(revision 57590)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extensions/QIArrowSplitter.cpp	(revision 57591)
@@ -22,5 +22,4 @@
 /* Qt includes: */
 # include <QApplication>
-# include <QDesktopWidget>
 # include <QStyle>
 # include <QHBoxLayout>
@@ -32,4 +31,5 @@
 # include "QIArrowButtonPress.h"
 # include "UIIconPool.h"
+# include "VBoxGlobal.h"
 
 /* Other VBox includes: */
@@ -83,5 +83,5 @@
 
     /* Get 40% of the screen-area to limit the resulting hint: */
-    const QSize screenGeometryDot4 = QApplication::desktop()->screenGeometry(this).size() * .4;
+    const QSize screenGeometryDot4 = vboxGlobal().screenGeometry(this).size() * .4;
 
     /* Calculate minimum size-hint which is document-size limited by screen-area: */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp	(revision 57590)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp	(revision 57591)
@@ -23,5 +23,4 @@
 # include <QMutex>
 # include <QMetaEnum>
-# include <QDesktopWidget>
 # ifdef DEBUG
 #  include <QMainWindow>
@@ -2232,13 +2231,13 @@
 
     /* Get screen-geometry [of screen with point (iX, iY) if possible]: */
-    const QRect screenGeometry = fOk ? QApplication::desktop()->availableGeometry(QPoint(iX, iY)) :
-                                       QApplication::desktop()->availableGeometry();
+    const QRect availableGeometry = fOk ? vboxGlobal().availableGeometry(QPoint(iX, iY)) :
+                                          vboxGlobal().availableGeometry();
 
     /* Make sure resulting geometry is within current bounds: */
-    geometry = geometry.intersected(screenGeometry);
+    geometry = geometry.intersected(availableGeometry);
 
     /* Move default-geometry to screen-geometry' center: */
     if (!fOk)
-        geometry.moveCenter(screenGeometry.center());
+        geometry.moveCenter(availableGeometry.center());
 
     /* Return result: */
@@ -3428,9 +3427,9 @@
 
     /* Get screen-geometry [of screen with point (iX, iY) if possible]: */
-    const QRect screenGeometry = fOk ? QApplication::desktop()->availableGeometry(QPoint(iX, iY)) :
-                                       QApplication::desktop()->availableGeometry();
+    const QRect availableGeometry = fOk ? vboxGlobal().availableGeometry(QPoint(iX, iY)) :
+                                          vboxGlobal().availableGeometry();
 
     /* Make sure resulting geometry is within current bounds: */
-    geometry = geometry.intersected(screenGeometry);
+    geometry = geometry.intersected(availableGeometry);
 
     /* Move default-geometry to pParentWidget' geometry center: */
@@ -3538,13 +3537,13 @@
 
     /* Get screen-geometry [of screen with point (iX, iY) if possible]: */
-    const QRect screenGeometry = fOk ? QApplication::desktop()->availableGeometry(QPoint(iX, iY)) :
-                                       QApplication::desktop()->availableGeometry();
+    const QRect availableGeometry = fOk ? vboxGlobal().availableGeometry(QPoint(iX, iY)) :
+                                          vboxGlobal().availableGeometry();
 
     /* Make sure resulting geometry is within current bounds: */
-    geometry = geometry.intersected(screenGeometry);
+    geometry = geometry.intersected(availableGeometry);
 
     /* Move default-geometry to current screen center: */
     if (!fOk)
-        geometry.moveCenter(screenGeometry.center());
+        geometry.moveCenter(availableGeometry.center());
 
     /* Return result: */
@@ -3653,8 +3652,8 @@
 #ifdef Q_WS_WIN
     /* Get screen-geometry [of screen with point (iX, iY) if possible]: */
-    const QRect screenGeometry = QApplication::desktop()->availableGeometry(QPoint(iX, iY));
+    const QRect availableGeometry = vboxGlobal().availableGeometry(QPoint(iX, iY));
 
     /* Make sure resulting geometry is within current bounds: */
-    if (!screenGeometry.contains(geometry, true))
+    if (!availableGeometry.contains(geometry, true))
         geometry.moveCenter(defaultGeometry.center());
 #endif /* Q_WS_WIN */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp	(revision 57590)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp	(revision 57591)
@@ -22,5 +22,4 @@
 /* Qt includes: */
 # include <QDir>
-# include <QDesktopWidget>
 # include <QFileInfo>
 # include <QLocale>
Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp	(revision 57590)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp	(revision 57591)
@@ -2985,6 +2985,7 @@
      * open the guest windows, this is the best assumption we can do, cause it
      * is the worst case. */
-    QVector<int> screenSize(qMax(cMonitors, pDW->numScreens()), 0);
-    for (int i = 0; i < pDW->numScreens(); ++i)
+    const int cHostScreens = pDW->screenCount();
+    QVector<int> screenSize(qMax(cMonitors, cHostScreens), 0);
+    for (int i = 0; i < cHostScreens; ++i)
     {
         QRect r = pDW->screenGeometry(i);
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineLogic.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineLogic.cpp	(revision 57590)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineLogic.cpp	(revision 57591)
@@ -21,5 +21,4 @@
 
 /* Qt includes: */
-# include <QDesktopWidget>
 # include <QDir>
 # include <QFileInfo>
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMouseHandler.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMouseHandler.cpp	(revision 57590)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMouseHandler.cpp	(revision 57591)
@@ -21,5 +21,4 @@
 
 /* Qt includes: */
-# include <QDesktopWidget>
 # include <QMouseEvent>
 # include <QTimer>
@@ -188,5 +187,5 @@
         QPoint visibleRectanglePos = m_views[m_iMouseCaptureViewIndex]->mapToGlobal(m_viewports[m_iMouseCaptureViewIndex]->pos());
         visibleRectangle.translate(visibleRectanglePos);
-        visibleRectangle = visibleRectangle.intersected(QApplication::desktop()->availableGeometry(machineLogic()->machineWindows()[m_iMouseCaptureViewIndex]));
+        visibleRectangle = visibleRectangle.intersected(vboxGlobal().availableGeometry(machineLogic()->machineWindows()[m_iMouseCaptureViewIndex]));
 
 #ifdef Q_WS_WIN
@@ -1121,5 +1120,5 @@
         viewportRectangle.translate(viewportRectangleGlobalPos);
         /* Trim full-viewport-rectangle by available geometry: */
-        viewportRectangle = viewportRectangle.intersected(QApplication::desktop()->availableGeometry(machineLogic()->machineWindows()[m_iMouseCaptureViewIndex]));
+        viewportRectangle = viewportRectangle.intersected(vboxGlobal().availableGeometry(machineLogic()->machineWindows()[m_iMouseCaptureViewIndex]));
         /* Trim partial-viewport-rectangle by top-most windows: */
         QRegion viewportRegion(viewportRectangle);
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMultiScreenLayout.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMultiScreenLayout.cpp	(revision 57590)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMultiScreenLayout.cpp	(revision 57591)
@@ -22,5 +22,4 @@
 /* Qt includes: */
 # include <QApplication>
-# include <QDesktopWidget>
 # include <QMenu>
 
@@ -72,5 +71,4 @@
     bool fShouldWeAutoMountGuestScreens = gEDataManager->autoMountGuestScreensEnabled(vboxGlobal().managedVMUuid());
     LogRel(("GUI: UIMultiScreenLayout::update: GUI/AutomountGuestScreens is %s\n", fShouldWeAutoMountGuestScreens ? "enabled" : "disabled"));
-    QDesktopWidget *pDW = QApplication::desktop();
     foreach (int iGuestScreen, m_guestScreens)
     {
@@ -101,5 +99,5 @@
                 QPoint topLeftPosition(geo.topLeft());
                 /* Check which host-screen the position belongs to: */
-                iHostScreen = pDW->screenNumber(topLeftPosition);
+                iHostScreen = vboxGlobal().screenNumber(topLeftPosition);
                 /* Revalidate: */
                 fValid =    iHostScreen >= 0 && iHostScreen < m_cHostScreens /* In the host screen bounds? */
@@ -257,5 +255,5 @@
 void UIMultiScreenLayout::calculateHostMonitorCount()
 {
-    m_cHostScreens = QApplication::desktop()->screenCount();
+    m_cHostScreens = vboxGlobal().screenCount();
 }
 
@@ -296,7 +294,7 @@
         QRect screen;
         if (m_pMachineLogic->visualStateType() == UIVisualStateType_Seamless)
-            screen = QApplication::desktop()->availableGeometry(screenLayout.value(iGuestScreen, 0));
+            screen = vboxGlobal().availableGeometry(screenLayout.value(iGuestScreen, 0));
         else
-            screen = QApplication::desktop()->screenGeometry(screenLayout.value(iGuestScreen, 0));
+            screen = vboxGlobal().screenGeometry(screenLayout.value(iGuestScreen, 0));
         KGuestMonitorStatus monitorStatus = KGuestMonitorStatus_Enabled;
         display.GetScreenResolution(iGuestScreen, width, height, guestBpp, xOrigin, yOrigin, monitorStatus);
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UISession.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UISession.cpp	(revision 57590)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UISession.cpp	(revision 57591)
@@ -799,9 +799,6 @@
     LogRelFlow(("GUI: UISession::sltCheckIfHostDisplayChanged()\n"));
 
-    /* Acquire desktop wrapper: */
-    QDesktopWidget *pDesktop = QApplication::desktop();
-
     /* Check if display count changed: */
-    if (pDesktop->screenCount() != m_hostScreens.size())
+    if (vboxGlobal().screenCount() != m_hostScreens.size())
     {
         /* Reset watchdog: */
@@ -813,7 +810,7 @@
     {
         /* Check if at least one display geometry changed: */
-        for (int iScreenIndex = 0; iScreenIndex < pDesktop->screenCount(); ++iScreenIndex)
-        {
-            if (pDesktop->screenGeometry(iScreenIndex) != m_hostScreens.at(iScreenIndex))
+        for (int iScreenIndex = 0; iScreenIndex < vboxGlobal().screenCount(); ++iScreenIndex)
+        {
+            if (vboxGlobal().screenGeometry(iScreenIndex) != m_hostScreens.at(iScreenIndex))
             {
                 /* Reset watchdog: */
@@ -1972,7 +1969,6 @@
 {
     m_hostScreens.clear();
-    QDesktopWidget *pDesktop = QApplication::desktop();
-    for (int iScreenIndex = 0; iScreenIndex < pDesktop->screenCount(); ++iScreenIndex)
-        m_hostScreens << pDesktop->screenGeometry(iScreenIndex);
+    for (int iScreenIndex = 0; iScreenIndex < vboxGlobal().screenCount(); ++iScreenIndex)
+        m_hostScreens << vboxGlobal().screenGeometry(iScreenIndex);
 }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineLogicFullscreen.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineLogicFullscreen.cpp	(revision 57590)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineLogicFullscreen.cpp	(revision 57591)
@@ -21,5 +21,4 @@
 
 /* Qt includes: */
-# include <QDesktopWidget>
 # include <QTimer>
 
@@ -757,7 +756,7 @@
             /* Variables to compare: */
             const int iWantedHostScreenIndex = hostScreenForGuestScreen((int)uScreenID);
-            const int iCurrentHostScreenIndex = QApplication::desktop()->screenNumber(pMachineWindow);
+            const int iCurrentHostScreenIndex = vboxGlobal().screenNumber(pMachineWindow);
             const QSize frameBufferSize((int)uisession()->frameBuffer(uScreenID)->width(), (int)uisession()->frameBuffer(uScreenID)->height());
-            const QSize screenSize = QApplication::desktop()->screenGeometry(iWantedHostScreenIndex).size();
+            const QSize screenSize = vboxGlobal().screenGeometry(iWantedHostScreenIndex).size();
 
             /* If that window
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineViewFullscreen.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineViewFullscreen.cpp	(revision 57590)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineViewFullscreen.cpp	(revision 57591)
@@ -22,5 +22,4 @@
 /* Qt includes: */
 # include <QApplication>
-# include <QDesktopWidget>
 # include <QMainWindow>
 # include <QTimer>
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineWindowFullscreen.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineWindowFullscreen.cpp	(revision 57590)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineWindowFullscreen.cpp	(revision 57591)
@@ -21,5 +21,4 @@
 
 /* Qt includes: */
-# include <QDesktopWidget>
 # include <QMenu>
 # include <QTimer>
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineViewNormal.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineViewNormal.cpp	(revision 57590)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineViewNormal.cpp	(revision 57591)
@@ -22,5 +22,4 @@
 /* Qt includes: */
 # include <QApplication>
-# include <QDesktopWidget>
 # include <QMainWindow>
 # include <QMenuBar>
@@ -220,5 +219,5 @@
 QRect UIMachineViewNormal::workingArea() const
 {
-    return QApplication::desktop()->availableGeometry(this);
+    return vboxGlobal().availableGeometry(this);
 }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineWindowNormal.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineWindowNormal.cpp	(revision 57590)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineWindowNormal.cpp	(revision 57591)
@@ -21,5 +21,4 @@
 
 /* Qt includes: */
-# include <QDesktopWidget>
 # include <QMenuBar>
 # include <QTimer>
@@ -359,6 +358,6 @@
         {
             /* Get available geometry, for screen with (x,y) coords if possible: */
-            QRect availableGeo = !geo.isNull() ? QApplication::desktop()->availableGeometry(QPoint(geo.x(), geo.y())) :
-                                                 QApplication::desktop()->availableGeometry(this);
+            QRect availableGeo = !geo.isNull() ? vboxGlobal().availableGeometry(QPoint(geo.x(), geo.y())) :
+                                                 vboxGlobal().availableGeometry(this);
 
             /* Normalize to the optimal size: */
@@ -500,9 +499,5 @@
     /* Adjust position if necessary: */
     if (fAdjustPosition)
-    {
-        const QDesktopWidget *pDesktopWidget = QApplication::desktop();
-        const QRegion availableGeo = pDesktopWidget->availableGeometry(pos());
-        frameGeo = VBoxGlobal::normalizeGeometry(frameGeo, availableGeo);
-    }
+        frameGeo = VBoxGlobal::normalizeGeometry(frameGeo, vboxGlobal().availableGeometry(pos()));
 
     /* Finally, set the frame geometry: */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/scale/UIMachineViewScale.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/scale/UIMachineViewScale.cpp	(revision 57590)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/scale/UIMachineViewScale.cpp	(revision 57591)
@@ -21,5 +21,4 @@
 
 /* Qt includes: */
-# include <QDesktopWidget>
 # include <QMainWindow>
 # include <QTimer>
@@ -176,5 +175,5 @@
 QRect UIMachineViewScale::workingArea() const
 {
-    return QApplication::desktop()->availableGeometry(this);
+    return vboxGlobal().availableGeometry(this);
 }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/scale/UIMachineWindowScale.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/scale/UIMachineWindowScale.cpp	(revision 57590)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/scale/UIMachineWindowScale.cpp	(revision 57591)
@@ -21,5 +21,4 @@
 
 /* Qt includes: */
-# include <QDesktopWidget>
 # include <QMenu>
 # include <QTimer>
@@ -101,6 +100,6 @@
         {
             /* Get available geometry, for screen with (x,y) coords if possible: */
-            QRect availableGeo = !geo.isNull() ? QApplication::desktop()->availableGeometry(QPoint(geo.x(), geo.y())) :
-                                                 QApplication::desktop()->availableGeometry(this);
+            QRect availableGeo = !geo.isNull() ? vboxGlobal().availableGeometry(QPoint(geo.x(), geo.y())) :
+                                                 vboxGlobal().availableGeometry(this);
 
             /* Resize to default size: */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/seamless/UIMachineLogicSeamless.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/seamless/UIMachineLogicSeamless.cpp	(revision 57590)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/seamless/UIMachineLogicSeamless.cpp	(revision 57591)
@@ -21,5 +21,4 @@
 
 /* Qt includes: */
-# include <QDesktopWidget>
 # ifndef Q_WS_MAC
 #  include <QTimer>
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/seamless/UIMachineViewSeamless.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/seamless/UIMachineViewSeamless.cpp	(revision 57590)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/seamless/UIMachineViewSeamless.cpp	(revision 57591)
@@ -22,5 +22,4 @@
 /* Qt includes: */
 # include <QApplication>
-# include <QDesktopWidget>
 # include <QMainWindow>
 # include <QTimer>
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/seamless/UIMachineWindowSeamless.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/seamless/UIMachineWindowSeamless.cpp	(revision 57590)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/seamless/UIMachineWindowSeamless.cpp	(revision 57591)
@@ -21,5 +21,4 @@
 
 /* Qt includes: */
-# include <QDesktopWidget>
 # include <QMenu>
 # include <QTimer>
Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsDisplay.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsDisplay.cpp	(revision 57590)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsDisplay.cpp	(revision 57591)
@@ -19,7 +19,4 @@
 # include <precomp.h>
 #else  /* !VBOX_WITH_PRECOMPILED_HEADERS */
-
-/* Qt includes: */
-# include <QDesktopWidget>
 
 /* GUI includes: */
@@ -771,5 +768,5 @@
     m_iMaxVRAM = sys.GetMaxGuestVRAM();
     m_iMaxVRAMVisible = m_iMaxVRAM;
-    const uint cHostScreens = QApplication::desktop()->screenCount();
+    const uint cHostScreens = vboxGlobal().screenCount();
     m_pSliderVideoMemorySize->setMinimum(m_iMinVRAM);
     m_pSliderVideoMemorySize->setMaximum(m_iMaxVRAMVisible);
Index: /trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIMiniToolBar.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIMiniToolBar.cpp	(revision 57590)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIMiniToolBar.cpp	(revision 57591)
@@ -25,5 +25,4 @@
 # include <QMdiArea>
 # include <QMdiSubWindow>
-# include <QDesktopWidget>
 # include <QLabel>
 # include <QMenu>
