VirtualBox

Changeset 56736 in vbox


Ignore:
Timestamp:
Jul 1, 2015 3:25:08 PM (10 years ago)
Author:
vboxsync
Message:

FE/Qt: Machine settings: Interface page: Do not apply menu-bar/status-bar visibility changes on-the-fly, use common approach instead.

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

Legend:

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

    r56037 r56736  
    8181}
    8282
     83#ifndef Q_WS_MAC
     84bool UIMenuBarEditorWidget::isMenuBarEnabled() const
     85{
     86    /* For VM settings only: */
     87    AssertReturn(m_fStartedFromVMSettings, false);
     88
     89    /* Acquire enable-checkbox if possible: */
     90    AssertPtrReturn(m_pCheckBoxEnable, false);
     91    return m_pCheckBoxEnable->isChecked();
     92}
     93
     94void UIMenuBarEditorWidget::setMenuBarEnabled(bool fEnabled)
     95{
     96    /* For VM settings only: */
     97    AssertReturnVoid(m_fStartedFromVMSettings);
     98
     99    /* Update enable-checkbox if possible: */
     100    AssertPtrReturnVoid(m_pCheckBoxEnable);
     101    m_pCheckBoxEnable->setChecked(fEnabled);
     102}
     103#endif /* !Q_WS_MAC */
     104
    83105void UIMenuBarEditorWidget::sltHandleConfigurationChange(const QString &strMachineID)
    84106{
     
    87109        return;
    88110
    89 #ifndef Q_WS_MAC
    90     /* Update enable-checkbox: */
    91     updateEnableCheckbox();
    92 #endif /* !Q_WS_MAC */
    93 
    94111    /* Update menus: */
    95112    updateMenus();
    96113}
    97 
    98 #ifndef RT_OS_DARWIN
    99 void UIMenuBarEditorWidget::sltHandleMenuBarEnableToggle(bool fEnabled)
    100 {
    101     /* Toggle enable-checkbox if necessary: */
    102     if (m_fStartedFromVMSettings && m_pCheckBoxEnable)
    103     {
    104         /* Check whether this value is really changed: */
    105         const bool fMenuBarEnabled = gEDataManager->menuBarEnabled(machineID());
    106         if (fMenuBarEnabled != fEnabled)
    107         {
    108             /* Set new value: */
    109             gEDataManager->setMenuBarEnabled(fEnabled, machineID());
    110         }
    111     }
    112 }
    113 #endif /* !RT_OS_DARWIN */
    114114
    115115void UIMenuBarEditorWidget::sltHandleMenuBarMenuClick()
     
    315315                /* Configure enable-checkbox: */
    316316                m_pCheckBoxEnable->setFocusPolicy(Qt::StrongFocus);
    317                 connect(m_pCheckBoxEnable, SIGNAL(toggled(bool)), this, SLOT(sltHandleMenuBarEnableToggle(bool)));
    318317                /* Add enable-checkbox into main-layout: */
    319318                m_pMainLayout->addWidget(m_pCheckBoxEnable);
    320                 /* Update enable-checkbox: */
    321                 updateEnableCheckbox();
    322319            }
    323320        }
     
    348345    prepareMenuHelp();
    349346
    350     /* Listen for the menu-bar configuration changes: */
    351     connect(gEDataManager, SIGNAL(sigMenuBarConfigurationChange(const QString&)),
    352             this, SLOT(sltHandleConfigurationChange(const QString&)));
     347    /* Listen for the menu-bar configuration changes if necessary: */
     348    if (!m_fStartedFromVMSettings)
     349    {
     350        connect(gEDataManager, SIGNAL(sigMenuBarConfigurationChange(const QString&)),
     351                this, SLOT(sltHandleConfigurationChange(const QString&)));
     352    }
    353353
    354354    /* Update menus: */
     
    656656}
    657657
    658 #ifndef Q_WS_MAC
    659 void UIMenuBarEditorWidget::updateEnableCheckbox()
    660 {
    661     /* Update enable-checkbox if necessary: */
    662     if (m_fStartedFromVMSettings && m_pCheckBoxEnable)
    663     {
    664         m_pCheckBoxEnable->blockSignals(true);
    665         m_pCheckBoxEnable->setChecked(gEDataManager->menuBarEnabled(machineID()));
    666         m_pCheckBoxEnable->blockSignals(false);
    667     }
    668 }
    669 #endif /* !Q_WS_MAC */
    670 
    671658void UIMenuBarEditorWidget::updateMenus()
    672659{
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMenuBarEditorWindow.h

    r55401 r56736  
    8585    void setActionPool(UIActionPool *pActionPool);
    8686
     87#ifndef Q_WS_MAC
     88    /** Returns whether the menu-bar enabled. */
     89    bool isMenuBarEnabled() const;
     90    /** Defines whether the menu-bar @a fEnabled. */
     91    void setMenuBarEnabled(bool fEnabled);
     92#endif /* !Q_WS_MAC */
     93
    8794private slots:
    8895
     
    9097    void sltHandleConfigurationChange(const QString &strMachineID);
    9198
    92 #ifndef RT_OS_DARWIN
    93     /** Non Mac OS X: Handles menu-bar enable toggle. */
    94     void sltHandleMenuBarEnableToggle(bool fEnabled);
    95 #endif /* !RT_OS_DARWIN */
    9699    /** Handles menu-bar menu click. */
    97100    void sltHandleMenuBarMenuClick();
     
    141144    void prepareMenuHelp();
    142145
    143 #ifndef Q_WS_MAC
    144     /** Non Mac OS X: Update enable-checkbox routine. */
    145     void updateEnableCheckbox();
    146 #endif /* !Q_WS_MAC */
    147146    /** Update menus routine. */
    148147    void updateMenus();
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIStatusBarEditorWindow.cpp

    r56162 r56736  
    283283}
    284284
     285bool UIStatusBarEditorWidget::isStatusBarEnabled() const
     286{
     287    /* For VM settings only: */
     288    AssertReturn(m_fStartedFromVMSettings, false);
     289
     290    /* Acquire enable-checkbox if possible: */
     291    AssertPtrReturn(m_pCheckBoxEnable, false);
     292    return m_pCheckBoxEnable->isChecked();
     293}
     294
     295void UIStatusBarEditorWidget::setStatusBarEnabled(bool fEnabled)
     296{
     297    /* For VM settings only: */
     298    AssertReturnVoid(m_fStartedFromVMSettings);
     299
     300    /* Update enable-checkbox if possible: */
     301    AssertPtrReturnVoid(m_pCheckBoxEnable);
     302    m_pCheckBoxEnable->setChecked(fEnabled);
     303}
     304
    285305void UIStatusBarEditorWidget::sltHandleConfigurationChange(const QString &strMachineID)
    286306{
     
    289309        return;
    290310
    291     /* Update enable-checkbox: */
    292     updateEnableCheckbox();
    293 
    294311    /* Update status buttons: */
    295312    updateStatusButtons();
    296 }
    297 
    298 void UIStatusBarEditorWidget::sltHandleStatusBarEnableToggle(bool fEnabled)
    299 {
    300     /* Toggle enable-checkbox if necessary: */
    301     if (m_fStartedFromVMSettings && m_pCheckBoxEnable)
    302     {
    303         /* Check whether this value is really changed: */
    304         const bool fStatusBarEnabled = gEDataManager->statusBarEnabled(machineID());
    305         if (fStatusBarEnabled != fEnabled)
    306         {
    307             /* Set new value: */
    308             gEDataManager->setStatusBarEnabled(fEnabled, machineID());
    309         }
    310     }
    311313}
    312314
     
    400402                /* Configure enable-checkbox: */
    401403                m_pCheckBoxEnable->setFocusPolicy(Qt::StrongFocus);
    402                 connect(m_pCheckBoxEnable, SIGNAL(toggled(bool)), this, SLOT(sltHandleStatusBarEnableToggle(bool)));
    403404                /* Add enable-checkbox into main-layout: */
    404405                m_pMainLayout->addWidget(m_pCheckBoxEnable);
    405                 /* Update enable-checkbox: */
    406                 updateEnableCheckbox();
    407406            }
    408407        }
     
    444443    }
    445444
    446     /* Listen for the status-bar configuration changes: */
    447     connect(gEDataManager, SIGNAL(sigStatusBarConfigurationChange(const QString&)),
    448             this, SLOT(sltHandleConfigurationChange(const QString&)));
     445    /* Listen for the status-bar configuration changes if necessary: */
     446    if (!m_fStartedFromVMSettings)
     447    {
     448        connect(gEDataManager, SIGNAL(sigStatusBarConfigurationChange(const QString&)),
     449                this, SLOT(sltHandleConfigurationChange(const QString&)));
     450    }
    449451
    450452    /* Update status buttons: */
     
    465467        /* Insert status button into map: */
    466468        m_buttons.insert(type, pButton);
    467     }
    468 }
    469 
    470 void UIStatusBarEditorWidget::updateEnableCheckbox()
    471 {
    472     /* Update enable-checkbox if necessary: */
    473     if (m_fStartedFromVMSettings && m_pCheckBoxEnable)
    474     {
    475         m_pCheckBoxEnable->blockSignals(true);
    476         m_pCheckBoxEnable->setChecked(gEDataManager->statusBarEnabled(machineID()));
    477         m_pCheckBoxEnable->blockSignals(false);
    478469    }
    479470}
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIStatusBarEditorWindow.h

    r55401 r56736  
    7373    void setMachineID(const QString &strMachineID);
    7474
     75    /** Returns whether the status-bar enabled. */
     76    bool isStatusBarEnabled() const;
     77    /** Defines whether the status-bar @a fEnabled. */
     78    void setStatusBarEnabled(bool fEnabled);
     79
    7580private slots:
    7681
     
    7883    void sltHandleConfigurationChange(const QString &strMachineID);
    7984
    80     /** Handles status-bar enable toggle. */
    81     void sltHandleStatusBarEnableToggle(bool fEnabled);
    8285    /** Handles button click. */
    8386    void sltHandleButtonClick();
     
    9598    void prepareStatusButton(IndicatorType type);
    9699
    97     /** Update enable-checkbox routine. */
    98     void updateEnableCheckbox();
    99100    /** Update status buttons routine. */
    100101    void updateStatusButtons();
  • trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsInterface.cpp

    r55719 r56736  
    5555
    5656    /* Cache interface data: */
     57    interfaceData.m_fStatusBarEnabled = gEDataManager->statusBarEnabled(m_machine.GetId());
    5758#ifndef Q_WS_MAC
     59    interfaceData.m_fMenuBarEnabled = gEDataManager->menuBarEnabled(m_machine.GetId());
    5860    interfaceData.m_fShowMiniToolBar = gEDataManager->miniToolbarEnabled(m_machine.GetId());
    5961    interfaceData.m_fMiniToolBarAtTop = gEDataManager->miniToolbarAlignment(m_machine.GetId()) == Qt::AlignTop;
     
    7577
    7678    /* Prepare interface data: */
     79    m_pStatusBarEditor->setStatusBarEnabled(interfaceData.m_fStatusBarEnabled);
    7780#ifndef Q_WS_MAC
     81    m_pMenuBarEditor->setMenuBarEnabled(interfaceData.m_fMenuBarEnabled);
    7882    m_pCheckBoxShowMiniToolBar->setChecked(interfaceData.m_fShowMiniToolBar);
    7983    m_pComboToolBarAlignment->setChecked(interfaceData.m_fMiniToolBarAtTop);
    80 #else /* Q_WS_MAC */
    81     Q_UNUSED(interfaceData);
    82 #endif /* Q_WS_MAC */
     84#endif /* !Q_WS_MAC */
    8385
    8486    /* Polish page finally: */
     
    9799
    98100    /* Gather interface data from page: */
     101    interfaceData.m_fStatusBarEnabled = m_pStatusBarEditor->isStatusBarEnabled();
    99102#ifndef Q_WS_MAC
     103    interfaceData.m_fMenuBarEnabled = m_pMenuBarEditor->isMenuBarEnabled();
    100104    interfaceData.m_fShowMiniToolBar = m_pCheckBoxShowMiniToolBar->isChecked();
    101105    interfaceData.m_fMiniToolBarAtTop = m_pComboToolBarAlignment->isChecked();
     
    122126        if (isMachineInValidMode())
    123127        {
     128            gEDataManager->setStatusBarEnabled(interfaceData.m_fStatusBarEnabled, m_machine.GetId());
    124129#ifndef Q_WS_MAC
     130            gEDataManager->setMenuBarEnabled(interfaceData.m_fMenuBarEnabled, m_machine.GetId());
    125131            gEDataManager->setMiniToolbarEnabled(interfaceData.m_fShowMiniToolBar, m_machine.GetId());
    126132            gEDataManager->setMiniToolbarAlignment(interfaceData.m_fMiniToolBarAtTop ? Qt::AlignTop : Qt::AlignBottom, m_machine.GetId());
    127 #else /* Q_WS_MAC */
    128             Q_UNUSED(interfaceData);
    129 #endif /* Q_WS_MAC */
     133#endif /* !Q_WS_MAC */
    130134        }
    131135    }
  • trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsInterface.h

    r55719 r56736  
    3131    /* Constructor: */
    3232    UIDataSettingsMachineInterface()
     33        : m_fStatusBarEnabled(false)
    3334#ifndef Q_WS_MAC
    34         : m_fShowMiniToolBar(false)
     35        , m_fMenuBarEnabled(false)
     36        , m_fShowMiniToolBar(false)
    3537        , m_fMiniToolBarAtTop(false)
    3638#endif /* !Q_WS_MAC */
     
    4042    bool equal(const UIDataSettingsMachineInterface &other) const
    4143    {
     44        return    (m_fStatusBarEnabled == other.m_fStatusBarEnabled)
    4245#ifndef Q_WS_MAC
    43         return (m_fShowMiniToolBar == other.m_fShowMiniToolBar) &&
    44                (m_fMiniToolBarAtTop == other.m_fMiniToolBarAtTop);
    45 #else /* Q_WS_MAC */
    46         Q_UNUSED(other);
    47         return true;
    48 #endif /* Q_WS_MAC */
     46               && (m_fMenuBarEnabled == other.m_fMenuBarEnabled)
     47               && (m_fShowMiniToolBar == other.m_fShowMiniToolBar)
     48               && (m_fMiniToolBarAtTop == other.m_fMiniToolBarAtTop)
     49#endif /* !Q_WS_MAC */
     50               ;
    4951    }
    5052
     
    5456
    5557    /* Variables: */
     58    bool m_fStatusBarEnabled;
    5659#ifndef Q_WS_MAC
     60    bool m_fMenuBarEnabled;
    5761    bool m_fShowMiniToolBar;
    5862    bool m_fMiniToolBarAtTop;
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