VirtualBox

Changeset 81255 in vbox


Ignore:
Timestamp:
Oct 14, 2019 12:15:33 PM (5 years ago)
Author:
vboxsync
Message:

FE/Qt: QIMainWindow: Move geometry loading/saving code from children like VirtualBox Manager, Extra-data Manager and Session Information dialog to base-class.

Location:
trunk/src/VBox/Frontends/VirtualBox/src
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/extensions/QIMainWindow.cpp

    r81248 r81255  
    2121/* GUI includes: */
    2222#include "QIMainWindow.h"
     23#ifdef VBOX_WS_MAC
     24# include "VBoxUtils-darwin.h"
     25#endif
    2326#ifdef VBOX_WS_X11
    2427# include "UICommon.h"
     
    7578}
    7679
    77 void QIMainWindow::restoreGeometry()
     80void QIMainWindow::restoreGeometry(const QRect &rect)
    7881{
     82    m_geometry = rect;
    7983#if defined(VBOX_WS_MAC) || defined(VBOX_WS_WIN)
    8084    /* Use the old approach for OSX/Win: */
     
    9094        showMaximized();
    9195}
     96
     97QRect QIMainWindow::currentGeometry() const
     98{
     99    return m_geometry;
     100}
     101
     102bool QIMainWindow::isCurrentlyMaximized() const
     103{
     104#ifdef VBOX_WS_MAC
     105    return ::darwinIsWindowMaximized(this);
     106#else
     107    return isMaximized();
     108#endif
     109}
  • trunk/src/VBox/Frontends/VirtualBox/src/extensions/QIMainWindow.h

    r81248 r81255  
    5353    virtual bool shouldBeMaximized() const { return false; }
    5454
    55     /** Restores the cached window geometry. */
    56     void restoreGeometry();
     55    /** Restores the window geometry to passed @a rect. */
     56    void restoreGeometry(const QRect &rect);
     57
     58    /** Returns current window geometry. */
     59    QRect currentGeometry() const;
     60    /** Returns whether the window is currently maximized. */
     61    bool isCurrentlyMaximized() const;
     62
     63private:
    5764
    5865    /** Holds the cached window geometry. */
  • trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp

    r81248 r81255  
    16821682    /* Load window geometry: */
    16831683    {
    1684         /* Load geometry: */
    1685         m_geometry = gEDataManager->extraDataManagerGeometry(this);
    1686 
    1687         /* Restore geometry: */
     1684        const QRect geo = gEDataManager->extraDataManagerGeometry(this);
    16881685        LogRel2(("GUI: UIExtraDataManagerWindow: Restoring geometry to: Origin=%dx%d, Size=%dx%d\n",
    1689                  m_geometry.x(), m_geometry.y(), m_geometry.width(), m_geometry.height()));
    1690         restoreGeometry();
     1686                 geo.x(), geo.y(), geo.width(), geo.height()));
     1687        restoreGeometry(geo);
    16911688    }
    16921689
     
    17061703    /* Save window geometry: */
    17071704    {
    1708         /* Save geometry: */
    1709 #ifdef VBOX_WS_MAC
    1710         gEDataManager->setExtraDataManagerGeometry(m_geometry, ::darwinIsWindowMaximized(this));
    1711 #else /* VBOX_WS_MAC */
    1712         gEDataManager->setExtraDataManagerGeometry(m_geometry, isMaximized());
    1713 #endif /* !VBOX_WS_MAC */
    1714         LogRel2(("GUI: UIExtraDataManagerWindow: Geometry saved as: Origin=%dx%d, Size=%dx%d\n",
    1715                  m_geometry.x(), m_geometry.y(), m_geometry.width(), m_geometry.height()));
     1705        const QRect geo = currentGeometry();
     1706        LogRel2(("GUI: UIExtraDataManagerWindow: Saving geometry as: Origin=%dx%d, Size=%dx%d\n",
     1707                 geo.x(), geo.y(), geo.width(), geo.height()));
     1708        gEDataManager->setExtraDataManagerGeometry(geo, isCurrentlyMaximized());
    17161709    }
    17171710}
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp

    r81248 r81255  
    225225
    226226    /* Restore the geometry cached by the window: */
    227     resize(m_geometry.size());
    228     move(m_geometry.topLeft());
     227    const QRect geo = currentGeometry();
     228    resize(geo.size());
     229    move(geo.topLeft());
    229230}
    230231#endif /* VBOX_WS_X11 */
     
    14901491    /* Load window geometry: */
    14911492    {
    1492         /* Load geometry: */
    1493         m_geometry = gEDataManager->selectorWindowGeometry(this);
    1494 
    1495         /* Restore geometry: */
     1493        const QRect geo = gEDataManager->selectorWindowGeometry(this);
    14961494        LogRel2(("GUI: UIVirtualBoxManager: Restoring geometry to: Origin=%dx%d, Size=%dx%d\n",
    1497                  m_geometry.x(), m_geometry.y(), m_geometry.width(), m_geometry.height()));
    1498         restoreGeometry();
     1495                 geo.x(), geo.y(), geo.width(), geo.height()));
     1496        restoreGeometry(geo);
    14991497    }
    15001498}
     
    15041502    /* Save window geometry: */
    15051503    {
    1506 #ifdef VBOX_WS_MAC
    1507         gEDataManager->setSelectorWindowGeometry(m_geometry, ::darwinIsWindowMaximized(this));
    1508 #else /* VBOX_WS_MAC */
    1509         gEDataManager->setSelectorWindowGeometry(m_geometry, isMaximized());
    1510 #endif /* !VBOX_WS_MAC */
    1511         LogRel2(("GUI: UIVirtualBoxManager: Geometry saved as: Origin=%dx%d, Size=%dx%d\n",
    1512                  m_geometry.x(), m_geometry.y(), m_geometry.width(), m_geometry.height()));
     1504        const QRect geo = currentGeometry();
     1505        LogRel2(("GUI: UIVirtualBoxManager: Saving geometry as: Origin=%dx%d, Size=%dx%d\n",
     1506                 geo.x(), geo.y(), geo.width(), geo.height()));
     1507        gEDataManager->setSelectorWindowGeometry(geo, isCurrentlyMaximized());
    15131508    }
    15141509}
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIVMInformationDialog.cpp

    r81248 r81255  
    254254    /* Load window geometry: */
    255255    {
    256         /* Load geometry: */
    257         m_geometry = gEDataManager->sessionInformationDialogGeometry(this, m_pMachineWindow);
    258 
    259         /* Restore geometry: */
     256        const QRect geo = gEDataManager->sessionInformationDialogGeometry(this, m_pMachineWindow);
    260257        LogRel2(("GUI: UIVMInformationDialog: Restoring geometry to: Origin=%dx%d, Size=%dx%d\n",
    261                  m_geometry.x(), m_geometry.y(), m_geometry.width(), m_geometry.height()));
    262         restoreGeometry();
     258                 geo.x(), geo.y(), geo.width(), geo.height()));
     259        restoreGeometry(geo);
    263260    }
    264261}
     
    268265    /* Save window geometry: */
    269266    {
    270         /* Save geometry: */
    271 #ifdef VBOX_WS_MAC
    272         gEDataManager->setSessionInformationDialogGeometry(m_geometry, ::darwinIsWindowMaximized(this));
    273 #else /* VBOX_WS_MAC */
    274         gEDataManager->setSessionInformationDialogGeometry(m_geometry, isMaximized());
    275 #endif /* !VBOX_WS_MAC */
    276         LogRel2(("GUI: UIVMInformationDialog: Geometry saved as: Origin=%dx%d, Size=%dx%d\n",
    277                  m_geometry.x(), m_geometry.y(), m_geometry.width(), m_geometry.height()));
     267        const QRect geo = currentGeometry();
     268        LogRel2(("GUI: UIVMInformationDialog: Saving geometry as: Origin=%dx%d, Size=%dx%d\n",
     269                 geo.x(), geo.y(), geo.width(), geo.height()));
     270        gEDataManager->setSessionInformationDialogGeometry(geo, isCurrentlyMaximized());
    278271    }
    279272}
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette