VirtualBox

Changeset 85396 in vbox for trunk/src


Ignore:
Timestamp:
Jul 21, 2020 9:43:03 AM (5 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
139430
Message:

FE/Qt: bugref:9686, bugref:9510. Copying performance monitor widget to manager ui as a machine tool. not complete.

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackendGlobal.cpp

    r84910 r85396  
    15131513    switch (enmToolType)
    15141514    {
    1515         case UIToolType_Welcome:           strResult =  "Welcome"; break;
    1516         case UIToolType_Media:             strResult = "Media"; break;
    1517         case UIToolType_Network:           strResult = "Network"; break;
    1518         case UIToolType_Cloud:             strResult = "Cloud"; break;
    1519         case UIToolType_VMResourceMonitor: strResult = "VM Resource Monitor"; break;
    1520         case UIToolType_Details:           strResult = "Details"; break;
    1521         case UIToolType_Snapshots:         strResult = "Snapshots"; break;
    1522         case UIToolType_Logs:              strResult = "Logs"; break;
     1515        case UIToolType_Welcome:            strResult =  "Welcome"; break;
     1516        case UIToolType_Media:              strResult = "Media"; break;
     1517        case UIToolType_Network:            strResult = "Network"; break;
     1518        case UIToolType_Cloud:              strResult = "Cloud"; break;
     1519        case UIToolType_VMResourceMonitor:  strResult = "VM Resource Monitor"; break;
     1520        case UIToolType_Details:            strResult = "Details"; break;
     1521        case UIToolType_Snapshots:          strResult = "Snapshots"; break;
     1522        case UIToolType_Logs:               strResult = "Logs"; break;
     1523        case UIToolType_PerformanceMonitor: strResult = "Performance Monitor"; break;
    15231524        default:
    15241525        {
     
    15441545    keys << "Snapshots";             values << UIToolType_Snapshots;
    15451546    keys << "Logs";                  values << UIToolType_Logs;
     1547    keys << "Performance Monitor";   values << UIToolType_PerformanceMonitor;
    15461548    /* Invalid type for unknown words: */
    15471549    if (!keys.contains(strToolType, Qt::CaseInsensitive))
  • trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.cpp

    r85389 r85396  
    279279                case UIToolType_Snapshots:
    280280                case UIToolType_Logs:
     281                case UIToolType_PerformanceMonitor:
    281282                    return true;
    282283                default:
  • trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h

    r85389 r85396  
    903903    UIToolType_Snapshots,
    904904    UIToolType_Logs,
     905    UIToolType_PerformanceMonitor
    905906};
    906907Q_DECLARE_METATYPE(UIToolType);
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.cpp

    r85393 r85396  
    17261726};
    17271727
     1728/** Simple action extension, used as 'Show Performance Monitor' action class. */
     1729class UIActionToggleSelectorToolsMachineShowPerformanceMonitor : public UIActionToggle
     1730{
     1731    Q_OBJECT;
     1732
     1733public:
     1734
     1735    /** Constructs action passing @a pParent to the base-class. */
     1736    UIActionToggleSelectorToolsMachineShowPerformanceMonitor(UIActionPool *pParent)
     1737        : UIActionToggle(pParent)
     1738    {
     1739        setProperty("UIToolType", QVariant::fromValue(UIToolType_PerformanceMonitor));
     1740        /// @todo use icons with check-boxes
     1741        setIcon(UIIconPool::iconSetFull(":/resources_monitor_32px.png", ":/resources_monitor_16px.png",
     1742                                        ":/resources_monitor_disabled_32px.png", ":/resources_monitor_disabled_16px.png"));
     1743    }
     1744
     1745protected:
     1746
     1747    /** Returns shortcut extra-data ID. */
     1748    virtual QString shortcutExtraDataID() const /* override */
     1749    {
     1750        return QString("ToolsMachinePerformanceMonitor");
     1751    }
     1752
     1753    /** Handles translation event. */
     1754    virtual void retranslateUi() /* override */
     1755    {
     1756        setName(QApplication::translate("UIActionPool", "&PerformanceMonitor"));
     1757        setStatusTip(QApplication::translate("UIActionPool", "Open the machine performance monitor pane"));
     1758    }
     1759};
    17281760
    17291761/** Menu action extension, used as 'Global Tools' menu class. */
     
    33343366    m_pool[UIActionIndexST_M_Group_M_Tools_T_Snapshots] = new UIActionToggleSelectorToolsMachineShowSnapshots(this);
    33353367    m_pool[UIActionIndexST_M_Group_M_Tools_T_Logs] = new UIActionToggleSelectorToolsMachineShowLogs(this);
     3368    m_pool[UIActionIndexST_M_Group_M_Tools_T_PerformanceMonitor] = new UIActionToggleSelectorToolsMachineShowPerformanceMonitor(this);
    33363369    m_pool[UIActionIndexST_M_Group_S_Discard] = new UIActionSimpleSelectorCommonPerformDiscard(this);
     3370    m_pool[UIActionIndexST_M_Group_S_ShowLogDialog] = new UIActionSimpleSelectorCommonShowMachineLogs(this);
    33373371    m_pool[UIActionIndexST_M_Group_S_ShowLogDialog] = new UIActionSimpleSelectorCommonShowMachineLogs(this);
    33383372    m_pool[UIActionIndexST_M_Group_S_Refresh] = new UIActionSimpleSelectorCommonPerformRefresh(this);
     
    34453479    m_groupPool[UIActionIndexST_M_Group_M_Tools]->addAction(m_pool.value(UIActionIndexST_M_Group_M_Tools_T_Snapshots));
    34463480    m_groupPool[UIActionIndexST_M_Group_M_Tools]->addAction(m_pool.value(UIActionIndexST_M_Group_M_Tools_T_Logs));
     3481    m_groupPool[UIActionIndexST_M_Group_M_Tools]->addAction(m_pool.value(UIActionIndexST_M_Group_M_Tools_T_PerformanceMonitor));
    34473482
    34483483    /* 'Machine' action groups: */
     
    38343869    pMenu->addAction(action(UIActionIndexST_M_Group_M_Tools_T_Snapshots));
    38353870    pMenu->addAction(action(UIActionIndexST_M_Group_M_Tools_T_Logs));
     3871    pMenu->addAction(action(UIActionIndexST_M_Group_M_Tools_T_PerformanceMonitor));
    38363872
    38373873    /* Mark menu as valid: */
     
    41654201                    << action(UIActionIndexST_M_Group_M_Tools_T_Details)
    41664202                    << action(UIActionIndexST_M_Group_M_Tools_T_Snapshots)
    4167                     << action(UIActionIndexST_M_Group_M_Tools_T_Logs);
     4203                    << action(UIActionIndexST_M_Group_M_Tools_T_Logs)
     4204                    << action(UIActionIndexST_M_Group_M_Tools_T_PerformanceMonitor);
    41684205            break;
    41694206        }
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.h

    r85393 r85396  
    8383    UIActionIndexST_M_Group_M_Tools_T_Snapshots,
    8484    UIActionIndexST_M_Group_M_Tools_T_Logs,
     85    UIActionIndexST_M_Group_M_Tools_T_PerformanceMonitor,
    8586    UIActionIndexST_M_Group_S_Discard,
    8687    UIActionIndexST_M_Group_S_ShowLogDialog,
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/UIToolPaneMachine.cpp

    r84335 r85396  
    2828#include "UIDetails.h"
    2929#include "UIIconPool.h"
     30#include "UIPerformanceMonitor.h"
    3031#include "UISnapshotPane.h"
    3132#include "UIToolPaneMachine.h"
     
    4647    , m_pPaneSnapshots(0)
    4748    , m_pPaneLogViewer(0)
     49    , m_pPanePerformanceMonitor(0)
    4850    , m_fActive(false)
    4951{
     
    189191                break;
    190192            }
     193            case UIToolType_PerformanceMonitor:
     194            {
     195                m_pPanePerformanceMonitor = new UIPerformanceMonitor(0, m_comMachine);
     196                AssertPtrReturnVoid(m_pPanePerformanceMonitor);
     197#ifndef VBOX_WS_MAC
     198                const int iMargin = qApp->style()->pixelMetric(QStyle::PM_LayoutLeftMargin) / 4;
     199                m_pPanePerformanceMonitor->setContentsMargins(iMargin, 0, iMargin, 0);
     200#endif
     201
     202                /* Configure pane: */
     203                m_pPanePerformanceMonitor->setProperty("ToolType", QVariant::fromValue(UIToolType_PerformanceMonitor));
     204
     205                /* Add into layout: */
     206                m_pLayout->addWidget(m_pPanePerformanceMonitor);
     207                m_pLayout->setCurrentWidget(m_pPanePerformanceMonitor);
     208
     209                break;
     210            }
    191211            default:
    192212                AssertFailedReturnVoid();
     
    212232        switch (enmType)
    213233        {
    214             case UIToolType_Error:     m_pPaneError = 0; break;
    215             case UIToolType_Details:   m_pPaneDetails = 0; break;
    216             case UIToolType_Snapshots: m_pPaneSnapshots = 0; break;
    217             case UIToolType_Logs:      m_pPaneLogViewer = 0; break;
     234            case UIToolType_Error:                m_pPaneError = 0; break;
     235            case UIToolType_Details:              m_pPaneDetails = 0; break;
     236            case UIToolType_Snapshots:            m_pPaneSnapshots = 0; break;
     237            case UIToolType_Logs:                 m_pPaneLogViewer = 0; break;
     238            case UIToolType_PerformanceMonitor:   m_pPanePerformanceMonitor = 0; break;
    218239            default: break;
    219240        }
     
    274295        m_pPaneLogViewer->setMachine(m_comMachine);
    275296    }
     297    /* Update performance monitor pane is it is open: */
     298    if (isToolOpened(UIToolType_PerformanceMonitor))
     299    {
     300        // AssertPtrReturnVoid(m_pPanePerformanceMonitor);
     301        // // CSession comSession = uiCommon().openSession(m_comMachine.GetId(), KLockType_Shared);
     302        // // AssertReturnVoid(!comSession.isNull());
     303        // // CConsole comConsole = comSession.GetConsole();
     304        // AssertReturnVoid(!comConsole.isNull());
     305
     306        //m_pPaneLogViewer->setMachine(m_comMachine);
     307    }
    276308}
    277309
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/UIToolPaneMachine.h

    r83482 r85396  
    3939class UIDetails;
    4040class UIErrorPane;
     41class UIPerformanceMonitor;
    4142class UISnapshotPane;
    4243class UIVirtualMachineItem;
     
    125126    /** Holds the Logviewer pane instance. */
    126127    UIVMLogViewerWidget *m_pPaneLogViewer;
     128    /** Holds the Performance Monitor pane instance. */
     129    UIPerformanceMonitor *m_pPanePerformanceMonitor;
    127130
    128131    /** Holds whether this pane is active. */
     
    136139
    137140#endif /* !FEQT_INCLUDED_SRC_manager_UIToolPaneMachine_h */
    138 
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp

    r85393 r85396  
    492492    switch (m_pWidget->toolsType())
    493493    {
    494         case UIToolType_Media:   sltCloseVirtualMediumManagerWindow(); break;
    495         case UIToolType_Network: sltCloseHostNetworkManagerWindow(); break;
    496         case UIToolType_Cloud:   sltCloseCloudProfileManagerWindow(); break;
    497         case UIToolType_Logs:    sltCloseLogViewerWindow(); break;
     494        case UIToolType_Media:              sltCloseVirtualMediumManagerWindow(); break;
     495        case UIToolType_Network:            sltCloseHostNetworkManagerWindow(); break;
     496        case UIToolType_Cloud:              sltCloseCloudProfileManagerWindow(); break;
     497        case UIToolType_Logs:               sltCloseLogViewerWindow(); break;
     498        case UIToolType_PerformanceMonitor: sltClosePerformanceMonitorWindow(); break;
    498499        default: break;
    499500    }
     
    17861787        }
    17871788    }
     1789}
     1790
     1791void UIVirtualBoxManager::sltOpenPerformanceMonitorWindow()
     1792{
     1793}
     1794
     1795void UIVirtualBoxManager::sltClosePerformanceMonitorWindow()
     1796{
    17881797}
    17891798
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.h

    r85393 r85396  
    285285        /** Handles call to close machine Log Viewer window. */
    286286        void sltCloseLogViewerWindow();
     287
     288        /** Handles call to open machine Performance Monitor window. */
     289        void sltOpenPerformanceMonitorWindow();
     290
     291        /** Handles call to close machine Performance Monitor window. */
     292        void sltClosePerformanceMonitorWindow();
    287293
    288294        /** Handles call to refresh machine. */
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.cpp

    r84595 r85396  
    828828                    break;
    829829                }
     830                case UIToolType_PerformanceMonitor:
     831                {
     832                    break;
     833                }
    830834                case UIToolType_Error:
    831835                {
     
    935939    const bool fCurrentItemIsOk = pItem && pItem->accessible();
    936940
    937     /* Update machine tools restrictions: */
     941    /* Update machine 1tools restrictions: */
    938942    QList<UIToolType> retrictedTypes;
    939943    if (pItem && pItem->itemType() != UIVirtualMachineItemType_Local)
    940944    {
    941         retrictedTypes << UIToolType_Snapshots << UIToolType_Logs;
     945        retrictedTypes << UIToolType_Snapshots << UIToolType_Logs << UIToolType_PerformanceMonitor;
    942946        if (retrictedTypes.contains(m_pPaneTools->toolsType()))
    943947            m_pPaneTools->setToolsType(UIToolType_Details);
     948    }
     949    if (pItem && !pItem->isItemRunning())
     950    {
     951        retrictedTypes << UIToolType_PerformanceMonitor;
    944952    }
    945953    m_pPaneTools->setRestrictedToolTypes(retrictedTypes);
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsModel.cpp

    r84305 r85396  
    440440        switch (pItem->itemType())
    441441        {
    442             case UIToolType_Welcome:            pItem->reconfigure(tr("Welcome")); break;
    443             case UIToolType_Media:              pItem->reconfigure(tr("Media")); break;
    444             case UIToolType_Network:            pItem->reconfigure(tr("Network")); break;
    445             case UIToolType_Cloud:              pItem->reconfigure(tr("Cloud")); break;
    446             case UIToolType_VMResourceMonitor:  pItem->reconfigure(tr("Resources")); break;
    447             case UIToolType_Details:            pItem->reconfigure(tr("Details")); break;
    448             case UIToolType_Snapshots:          pItem->reconfigure(tr("Snapshots")); break;
    449             case UIToolType_Logs:               pItem->reconfigure(tr("Logs")); break;
     442            case UIToolType_Welcome:             pItem->reconfigure(tr("Welcome")); break;
     443            case UIToolType_Media:               pItem->reconfigure(tr("Media")); break;
     444            case UIToolType_Network:             pItem->reconfigure(tr("Network")); break;
     445            case UIToolType_Cloud:               pItem->reconfigure(tr("Cloud")); break;
     446            case UIToolType_VMResourceMonitor:   pItem->reconfigure(tr("Resources")); break;
     447            case UIToolType_Details:             pItem->reconfigure(tr("Details")); break;
     448            case UIToolType_Snapshots:           pItem->reconfigure(tr("Snapshots")); break;
     449            case UIToolType_Logs:                pItem->reconfigure(tr("Logs")); break;
     450            case UIToolType_PerformanceMonitor:  pItem->reconfigure(tr("Performance Monitor")); break;
    450451            default: break;
    451452        }
     
    521522    m_items << new UIToolsItem(scene(), UIToolClass_Machine, UIToolType_Logs, QString(),
    522523                               UIIconPool::iconSet(":/vm_show_logs_24px.png", ":/vm_show_logs_disabled_24px.png"));
     524    /* Performance Monitor: */
     525    m_items << new UIToolsItem(scene(), UIToolClass_Machine, UIToolType_PerformanceMonitor, QString(),
     526                               UIIconPool::iconSet(":/resource_monitor_24px.png", ":/vm_resource_monitor_24px.png"));
    523527}
    524528
  • trunk/src/VBox/Frontends/VirtualBox/src/monitor/performance/UIPerformanceMonitor.cpp

    r85328 r85396  
    3232
    3333/* COM includes: */
     34#include "CConsole.h"
    3435#include "CGuest.h"
    3536#include "CPerformanceCollector.h"
     
    698699*********************************************************************************************************************************/
    699700
    700 UIPerformanceMonitor::UIPerformanceMonitor(QWidget *pParent, const CMachine &machine, const CConsole &console)
     701UIPerformanceMonitor::UIPerformanceMonitor(QWidget *pParent, const CMachine &machine)
    701702    : QIWithRetranslateUI<QWidget>(pParent)
    702703    , m_fGuestAdditionsAvailable(false)
    703     , m_machine(machine)
    704     , m_console(console)
    705704    , m_pMainLayout(0)
    706705    , m_pTimer(0)
     
    713712    , m_iTimeStep(0)
    714713{
    715     if (!m_console.isNull())
    716         m_comGuest = m_console.GetGuest();
     714    setMachine(machine);
    717715    m_fGuestAdditionsAvailable = guestAdditionsAvailable(6 /* minimum major version */);
    718716
     
    725723UIPerformanceMonitor::~UIPerformanceMonitor()
    726724{
     725}
     726
     727void UIPerformanceMonitor::setMachine(const CMachine &comMachine)
     728{
     729    if (comMachine.isNull())
     730        return;
     731
     732    if (!m_comSession.isNull() && m_comSession.GetState() == KSessionState_Locked)
     733        m_comSession.UnlockMachine();
     734
     735    m_comMachine = comMachine;
     736    m_comSession = uiCommon().openSession(m_comMachine.GetId(), KLockType_Shared);
     737    AssertReturnVoid(!m_comSession.isNull());
     738
     739    CConsole comConsole = m_comSession.GetConsole();
     740    AssertReturnVoid(!comConsole.isNull());
     741    m_comGuest = comConsole.GetGuest();
     742
     743    m_comMachineDebugger = comConsole.GetDebugger();
    727744}
    728745
     
    878895        ULONG aPctHalted;
    879896        ULONG aPctOther;
    880         m_machineDebugger.GetCPULoad(0x7fffffff, aPctExecuting, aPctHalted, aPctOther);
     897        m_comMachineDebugger.GetCPULoad(0x7fffffff, aPctExecuting, aPctHalted, aPctOther);
    881898        updateCPUGraphsAndMetric(aPctExecuting, aPctOther);
    882899    }
     
    886903        quint64 cbNetworkTotalReceived = 0;
    887904        quint64 cbNetworkTotalTransmitted = 0;
    888         UIMonitorCommon::getNetworkLoad(m_machineDebugger, cbNetworkTotalReceived, cbNetworkTotalTransmitted);
     905        UIMonitorCommon::getNetworkLoad(m_comMachineDebugger, cbNetworkTotalReceived, cbNetworkTotalTransmitted);
    889906        updateNetworkGraphsAndMetric(cbNetworkTotalReceived, cbNetworkTotalTransmitted);
    890907    }
     
    894911        quint64 cbDiskIOTotalWritten = 0;
    895912        quint64 cbDiskIOTotalRead = 0;
    896         UIMonitorCommon::getDiskLoad(m_machineDebugger, cbDiskIOTotalWritten, cbDiskIOTotalRead);
     913        UIMonitorCommon::getDiskLoad(m_comMachineDebugger, cbDiskIOTotalWritten, cbDiskIOTotalRead);
    897914        updateDiskIOGraphsAndMetric(cbDiskIOTotalWritten, cbDiskIOTotalRead);
    898915    }
     
    901918    {
    902919        quint64 cTotalVMExits = 0;
    903         UIMonitorCommon::getVMMExitCount(m_machineDebugger, cTotalVMExits);
     920        UIMonitorCommon::getVMMExitCount(m_comMachineDebugger, cTotalVMExits);
    904921        updateVMExitMetric(cTotalVMExits);
    905922    }
     
    918935{
    919936    m_performanceMonitor = uiCommon().virtualBox().GetPerformanceCollector();
    920     m_machineDebugger = m_console.GetDebugger();
    921937    if (m_performanceMonitor.isNull())
    922938        return;
  • trunk/src/VBox/Frontends/VirtualBox/src/monitor/performance/UIPerformanceMonitor.h

    r85328 r85396  
    2929/* COM includes: */
    3030#include "COMEnums.h"
    31 #include "CConsole.h"
    3231#include "CGuest.h"
    3332#include "CMachine.h"
    3433#include "CMachineDebugger.h"
    3534#include "CPerformanceCollector.h"
     35#include "CSession.h"
    3636
    3737/* GUI includes: */
     
    109109
    110110    /** Constructs information-tab passing @a pParent to the QWidget base-class constructor.
    111       * @param machine is machine reference.
    112       * @param console is machine console reference. */
    113     UIPerformanceMonitor(QWidget *pParent, const CMachine &machine, const CConsole &console);
     111      * @param machine is machine reference. */
     112    UIPerformanceMonitor(QWidget *pParent, const CMachine &machine);
    114113    ~UIPerformanceMonitor();
     114    void setMachine(const CMachine &machine);
    115115
    116116 public slots:
     
    150150
    151151    bool m_fGuestAdditionsAvailable;
    152     CMachine m_machine;
    153     CConsole m_console;
     152    CMachine m_comMachine;
     153    CSession m_comSession;
    154154    CGuest m_comGuest;
    155155
    156156    CPerformanceCollector m_performanceMonitor;
    157     CMachineDebugger      m_machineDebugger;
     157    CMachineDebugger      m_comMachineDebugger;
    158158    /** Holds the instance of layout we create. */
    159159    QVBoxLayout *m_pMainLayout;
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIVMInformationDialog.cpp

    r85297 r85396  
    200200        /* Create Performance Monitor tab: */
    201201        UIPerformanceMonitor *pPerformanceMonitorWidget =
    202             new UIPerformanceMonitor(this, m_pMachineWindow->machine(), m_pMachineWindow->console());
     202            new UIPerformanceMonitor(this, m_pMachineWindow->machine());
    203203        if (pPerformanceMonitorWidget)
    204204        {
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