VirtualBox

Changeset 44954 in vbox


Ignore:
Timestamp:
Mar 7, 2013 1:34:21 PM (12 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
84164
Message:

FE/Qt: Runtime UI: Mac OS multi-screen menu-bar support.

Location:
trunk/src/VBox/Frontends/VirtualBox/src/runtime
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineLogic.cpp

    r44865 r44954  
    2525#include <QPainter>
    2626#include <QTimer>
     27#ifdef Q_WS_MAC
     28# include <QMenuBar>
     29#endif /* Q_WS_MAC */
    2730
    2831/* GUI includes: */
     
    173176
    174177#ifdef Q_WS_MAC
     178    /* Prepare menu-bar: */
     179    prepareMenuBar();
    175180    /* Prepare dock: */
    176181    prepareDock();
     
    204209    /* Cleanup dock: */
    205210    cleanupDock();
     211    /* Cleanup menu-bar: */
     212    cleanupMenuBar();
    206213#endif /* Q_WS_MAC */
    207214
     
    467474#endif /* VBOX_WITH_DEBUGGER_GUI */
    468475#ifdef Q_WS_MAC
     476    , m_pMenuBar(0)
    469477    , m_fIsDockIconEnabled(true)
    470478    , m_pDockIconPreview(0)
     
    721729
    722730#ifdef Q_WS_MAC
     731void UIMachineLogic::prepareMenuBar()
     732{
     733    m_pMenuBar = uisession()->newMenuBar();
     734}
     735
    723736void UIMachineLogic::prepareDock()
    724737{
     
    833846        m_pDockIconPreview = 0;
    834847    }
     848}
     849
     850void UIMachineLogic::cleanupMenuBar()
     851{
     852    delete m_pMenuBar;
     853    m_pMenuBar = 0;
    835854}
    836855#endif /* Q_WS_MAC */
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineLogic.h

    r44865 r44954  
    4444class CUSBDevice;
    4545class CVirtualBoxErrorInfo;
     46#ifdef Q_WS_MAC
     47class QMenuBar;
     48#endif /* Q_WS_MAC */
    4649
    4750/* Machine logic interface: */
     
    130133    virtual void prepareMachineWindows() = 0;
    131134#ifdef Q_WS_MAC
     135    virtual void prepareMenuBar();
    132136    virtual void prepareDock();
    133137#endif /* Q_WS_MAC */
     
    142146#ifdef Q_WS_MAC
    143147    virtual void cleanupDock();
     148    virtual void cleanupMenuBar();
    144149#endif /* Q_WS_MAC */
    145150    virtual void cleanupMachineWindows() = 0;
     
    235240
    236241#ifdef Q_WS_MAC
     242    QMenuBar *m_pMenuBar;
    237243    bool m_fIsDockIconEnabled;
    238244    UIDockIconPreview *m_pDockIconPreview;
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineWindowFullscreen.cpp

    r44859 r44954  
    7070
    7171    /* Prepare menu: */
    72 #ifdef Q_WS_MAC
    73     setMenuBar(uisession()->newMenuBar());
    74 #endif /* Q_WS_MAC */
    7572    m_pMainMenu = uisession()->newMenu();
    7673}
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineWindowNormal.cpp

    r44561 r44954  
    198198    UIMachineWindow::prepareMenu();
    199199
     200#ifndef Q_WS_MAC
    200201    /* Prepare menu-bar: */
    201202    setMenuBar(uisession()->newMenuBar());
     203#endif /* !Q_WS_MAC */
    202204}
    203205
     
    425427    {
    426428        VBoxGlobalSettings settings = vboxGlobal().settings();
     429#ifndef Q_WS_MAC
    427430        menuBar()->setHidden(settings.isFeatureActive("noMenuBar"));
     431#endif /* !Q_WS_MAC */
    428432        statusBar()->setHidden(settings.isFeatureActive("noStatusBar"));
    429433        if (statusBar()->isHidden())
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/scale/UIMachineWindowScale.cpp

    r41689 r44954  
    7878    UIMachineWindow::prepareMenu();
    7979
    80 #ifdef Q_WS_MAC
    81     setMenuBar(uisession()->newMenuBar());
    82 #endif /* Q_WS_MAC */
     80    /* Prepare menu: */
    8381    m_pMainMenu = uisession()->newMenu();
    8482}
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/seamless/UIMachineWindowSeamless.cpp

    r44909 r44954  
    8787
    8888    /* Prepare menu: */
    89 #ifdef Q_WS_MAC
    90     setMenuBar(uisession()->newMenuBar());
    91 #endif /* Q_WS_MAC */
    9289    m_pMainMenu = uisession()->newMenu();
    9390}
     
    155152}
    156153#endif /* !Q_WS_MAC */
    157 
    158 #ifdef Q_WS_MAC
    159 void UIMachineWindowSeamless::loadSettings()
    160 {
    161     /* Call to base-class: */
    162     UIMachineWindow::loadSettings();
    163 
    164     /* Load global settings: */
    165     {
    166         VBoxGlobalSettings settings = vboxGlobal().settings();
    167         menuBar()->setHidden(settings.isFeatureActive("noMenuBar"));
    168     }
    169 }
    170 #endif /* Q_WS_MAC */
    171154
    172155#ifndef Q_WS_MAC
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/seamless/UIMachineWindowSeamless.h

    r44859 r44954  
    6464    void prepareMiniToolbar();
    6565#endif /* !Q_WS_MAC */
    66 #ifdef Q_WS_MAC
    67     void loadSettings();
    68 #endif /* Q_WS_MAC */
    6966
    7067    /* Cleanup helpers: */
    71 #ifdef Q_WS_MAC
    72     //void saveSettings() {}
    73 #endif /* Q_WS_MAC */
    7468#ifndef Q_WS_MAC
    7569    void cleanupMiniToolbar();
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