VirtualBox

Changeset 83608 in vbox


Ignore:
Timestamp:
Apr 7, 2020 12:18:46 PM (5 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
137013
Message:

FE/Qt: bugref:9686. Working on the dialog menu.

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.cpp

    r83439 r83608  
    27992799};
    28002800
     2801/** Menu action extension, used as 'Resources' menu class. */
     2802class UIActionMenuVMResourceMonitor : public UIActionMenu
     2803{
     2804    Q_OBJECT;
     2805
     2806public:
     2807
     2808    /** Constructs action passing @a pParent to the base-class. */
     2809    UIActionMenuVMResourceMonitor(UIActionPool *pParent)
     2810        : UIActionMenu(pParent)
     2811    {}
     2812
     2813protected:
     2814
     2815    /** Returns shortcut extra-data ID. */
     2816    virtual QString shortcutExtraDataID() const /* override */
     2817    {
     2818        return QString("VMResourceMonitorMenu");
     2819    }
     2820
     2821    /** Handles translation event. */
     2822    virtual void retranslateUi() /* override */
     2823    {
     2824        setName(QApplication::translate("UIActionPool", "&Resources"));
     2825    }
     2826};
     2827
    28012828/** Toggle action extension, used as 'Toggle Columns' action class. */
    2802 class UIActionMenuSelectorVMResourceManagerToggleColumns : public UIActionToggle
    2803 {
    2804     Q_OBJECT;
    2805 
    2806 public:
    2807 
    2808     /** Constructs action passing @a pParent to the base-class. */
    2809     UIActionMenuSelectorVMResourceManagerToggleColumns(UIActionPool *pParent)
     2829class UIActionMenuSelectorVMResourceMonitorToggleColumns : public UIActionToggle
     2830{
     2831    Q_OBJECT;
     2832
     2833public:
     2834
     2835    /** Constructs action passing @a pParent to the base-class. */
     2836    UIActionMenuSelectorVMResourceMonitorToggleColumns(UIActionPool *pParent)
    28102837        : UIActionToggle(pParent)
    28112838    {
     
    29793006
    29803007    /* VM resource Monitor actions: */
    2981     m_pool[UIActionIndexST_M_VMResourceMonitor_T_Columns] = new UIActionMenuSelectorVMResourceManagerToggleColumns(this);
     3008    m_pool[UIActionIndexST_M_VMResourceMonitor] = new UIActionMenuVMResourceMonitor(this);
     3009    m_pool[UIActionIndexST_M_VMResourceMonitor_T_Columns] = new UIActionMenuSelectorVMResourceMonitorToggleColumns(this);
    29823010
    29833011    /* 'Group' action groups: */
     
    30103038    m_menuUpdateHandlers[UIActionIndexST_M_CloudWindow].ptfm =           &UIActionPoolManager::updateMenuCloudWindow;
    30113039    m_menuUpdateHandlers[UIActionIndexST_M_Cloud].ptfm =                 &UIActionPoolManager::updateMenuCloud;
     3040    m_menuUpdateHandlers[UIActionIndexST_M_VMResourceMonitor].ptfm =     &UIActionPoolManager::updateMenuVMResourceMonitor;
    30123041    m_menuUpdateHandlers[UIActionIndexST_M_Snapshot].ptfm =              &UIActionPoolManager::updateMenuSnapshot;
    30133042
     
    30843113    updateMenuCloudWindow();
    30853114    updateMenuCloud();
     3115
     3116    /* 'VM Resource Monitor' menu: */
     3117    addMenu(m_mainMenus, action(UIActionIndexST_M_VMResourceMonitor));
     3118    updateMenuVMResourceMonitor();
    30863119
    30873120    /* 'Snapshot' menu: */
     
    35573590    /* 'Help' action: */
    35583591    fSeparator = addAction(pMenu, action(UIActionIndexST_M_Cloud_S_Help)) || fSeparator;
     3592}
     3593
     3594void UIActionPoolManager::updateMenuVMResourceMonitor()
     3595{
     3596    /* Update corresponding menu: */
     3597    updateMenuVMResourceMonitorWrapper(action(UIActionIndexST_M_VMResourceMonitor)->menu());
     3598
     3599    /* Mark menu as valid: */
     3600    m_invalidations.remove(UIActionIndexST_M_VMResourceMonitor);
     3601}
     3602
     3603void UIActionPoolManager::updateMenuVMResourceMonitorWrapper(UIMenu *pMenu)
     3604{
     3605    /* Clear contents: */
     3606    pMenu->clear();
     3607
     3608    addAction(pMenu, action(UIActionIndexST_M_VMResourceMonitor_T_Columns));
    35593609}
    35603610
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.h

    r83439 r83608  
    165165
    166166    /* VM resource Monitor actions: */
     167    UIActionIndexST_M_VMResourceMonitor,
    167168    UIActionIndexST_M_VMResourceMonitor_T_Columns,
    168169
     
    237238    void updateMenuCloudWrapper(UIMenu *pMenu);
    238239
     240   /** Updates 'VM Resource Monitor' menu. */
     241    void updateMenuVMResourceMonitor();
     242    /** Updates 'VM Resource Monitor' @a pMenu. */
     243    void updateMenuVMResourceMonitorWrapper(UIMenu *pMenu);
     244
    239245    /** Updates 'Snapshot' menu. */
    240246    void updateMenuSnapshot();
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp

    r83290 r83608  
    16881688    actionPool()->action(UIActionIndexST_M_Cloud)->setVisible(fCloudMenuShown);
    16891689
     1690    /* Determine whether Resources menu should be visible: */
     1691    const bool fResourcesMenuShown = fGlobalMenuShown && m_pWidget->currentGlobalTool() == UIToolType_VMResourceMonitor;
     1692    actionPool()->action(UIActionIndexST_M_VMResourceMonitor)->setVisible(fResourcesMenuShown);
     1693
    16901694    /* Determine whether Snapshots menu should be visible: */
    16911695    const bool fSnapshotMenuShown = (fMachineMenuShown || fGroupMenuShown) &&
Note: See TracChangeset for help on using the changeset viewer.

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