VirtualBox

Changeset 102111 in vbox


Ignore:
Timestamp:
Nov 15, 2023 4:01:07 PM (17 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
160232
Message:

FE/Qt: bugref:10513: VBox Manager: Make sure Chooser pane let Tool menu know which machine item (if any) caused popup-menu to be shown; That is useful as a hint to determine machine status while updating machine Tool popup-menu.

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.cpp

    r102110 r102111  
    535535}
    536536
    537 void UIVirtualBoxManagerWidget::sltHandleToolMenuRequested(UIToolClass enmClass, const QPoint &position)
    538 {
    539     /* Determine tools menu: */
    540     UITools *pMenu = 0;
    541     switch (enmClass)
    542     {
    543         case UIToolClass_Global: pMenu = m_pMenuToolsGlobal; break;
    544         case UIToolClass_Machine: pMenu = m_pMenuToolsMachine; updateToolsMenuMachine(); break;
    545         default: break;
    546     }
     537void UIVirtualBoxManagerWidget::sltHandleToolMenuRequested(const QPoint &position, UIVirtualMachineItem *pItem)
     538{
     539    /* Update tools menu beforehand: */
     540    UITools *pMenu = pItem ? m_pMenuToolsMachine : m_pMenuToolsGlobal;
    547541    AssertPtrReturnVoid(pMenu);
     542    if (pItem)
     543        updateToolsMenuMachine(pItem);
    548544
    549545    /* Compose popup-menu geometry first of all: */
     
    11171113}
    11181114
    1119 void UIVirtualBoxManagerWidget::updateToolsMenuMachine()
    1120 {
    1121     /* Get current item: */
    1122     UIVirtualMachineItem *pItem = currentItem();
     1115void UIVirtualBoxManagerWidget::updateToolsMenuMachine(UIVirtualMachineItem *pItem)
     1116{
     1117    /* Get current item state: */
    11231118    const bool fCurrentItemIsOk = pItem && pItem->accessible();
    11241119
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.h

    r102110 r102111  
    303303    /** @name Tools pane stuff.
    304304      * @{ */
    305         /** Handles tool menu request. */
    306         void sltHandleToolMenuRequested(UIToolClass enmClass, const QPoint &position);
     305        /** Handles tool popup-menu request. */
     306        void sltHandleToolMenuRequested(const QPoint &position, UIVirtualMachineItem *pItem);
    307307
    308308        /** Handles signal about Tools-pane index change. */
     
    341341    /** @name Tools / Common stuff.
    342342      * @{ */
    343         /** Updates Machine tools menu. */
    344         void updateToolsMenuMachine();
     343        /** Updates Machine tools menu for @a pItem specified. */
     344        void updateToolsMenuMachine(UIVirtualMachineItem *pItem);
    345345
    346346        /** Recaches current item information.
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooser.cpp

    r98103 r102111  
    3434#include "UIChooserModel.h"
    3535#include "UIChooserView.h"
     36#include "UIVirtualMachineItem.h"
    3637
    3738
     
    212213}
    213214
    214 void UIChooser::sltToolMenuRequested(UIToolClass enmClass, const QPoint &position)
     215void UIChooser::sltToolMenuRequested(const QPoint &position, UIVirtualMachineItem *pItem)
    215216{
    216217    /* Translate scene coordinates to global one: */
    217218    AssertPtrReturnVoid(view());
    218     emit sigToolMenuRequested(enmClass, mapToGlobal(view()->mapFromScene(position)));
     219    emit sigToolMenuRequested(mapToGlobal(view()->mapFromScene(position)), pItem);
    219220}
    220221
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooser.h

    r98103 r102111  
    7171    /** @name Tool stuff.
    7272      * @{ */
    73         /** Notifies listeners about tool popup-menu request for certain @a enmClass and @a position. */
    74         void sigToolMenuRequested(UIToolClass enmClass, const QPoint &position);
     73        /** Notifies listeners about tool popup-menu request for certain @a position and optionally machine @a pItem. */
     74        void sigToolMenuRequested(const QPoint &position, UIVirtualMachineItem *pItem);
    7575    /** @} */
    7676
     
    198198    /** @name General stuff.
    199199      * @{ */
    200         /** Handles signal about tool popup-menu request for certain tool @a enmClass and in specified @a position. */
    201         void sltToolMenuRequested(UIToolClass enmClass, const QPoint &position);
     200        /** Handles signal about tool popup-menu request for certain @a position and optionally machine @a pItem. */
     201        void sltToolMenuRequested(const QPoint &position, UIVirtualMachineItem *pItem);
    202202    /** @} */
    203203
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.cpp

    r101571 r102111  
    126126void UIChooserModel::handleToolButtonClick(UIChooserItem *pItem)
    127127{
    128     switch (pItem->type())
    129     {
    130         case UIChooserNodeType_Global:
    131             emit sigToolMenuRequested(UIToolClass_Global, pItem->mapToScene(QPointF(pItem->size().width(), 0)).toPoint());
    132             break;
    133         case UIChooserNodeType_Machine:
    134             emit sigToolMenuRequested(UIToolClass_Machine, pItem->mapToScene(QPointF(pItem->size().width(), 0)).toPoint());
    135             break;
    136         default:
    137             break;
    138     }
     128    emit sigToolMenuRequested(pItem->mapToScene(QPointF(pItem->size().width(), 0)).toPoint(),
     129                              pItem->type() == UIChooserNodeType_Machine ? pItem->toMachineItem()->cache() : 0);
    139130}
    140131
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.h

    r98103 r102111  
    6767    /** @name Tool stuff.
    6868      * @{ */
    69         /** Notifies listeners about tool popup-menu request for certain @a enmClass and @a position. */
    70         void sigToolMenuRequested(UIToolClass enmClass, const QPoint &position);
     69        /** Notifies listeners about tool popup-menu request for certain @a position and optionally machine @a pItem. */
     70        void sigToolMenuRequested(const QPoint &position, UIVirtualMachineItem *pItem);
    7171    /** @} */
    7272
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