VirtualBox

Changeset 83375 in vbox for trunk


Ignore:
Timestamp:
Mar 23, 2020 6:40:37 PM (5 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
136584
Message:

FE/Qt: bugref:9686. Some bug fixing

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/monitor/UIMonitorCommon.cpp

    r83347 r83375  
    4747void UIMonitorCommon::getDiskLoad(CMachineDebugger &debugger, quint64 &uOutDiskWritten, quint64 &uOutDiskRead)
    4848{
     49    uOutDiskWritten = 0;
     50    uOutDiskRead = 0;
    4951    QVector<UIDebuggerMetricData> xmlData = getAndParseStatsFromDebugger(debugger, "/Public/Storage/*/Port*/Bytes*");
    5052    foreach (const UIDebuggerMetricData &data, xmlData)
     
    6264void UIMonitorCommon::getVMMExitCount(CMachineDebugger &debugger, quint64 &uOutVMMExitCount)
    6365{
     66    uOutVMMExitCount = 0;
    6467    QVector<UIDebuggerMetricData> xmlData = getAndParseStatsFromDebugger(debugger, "/PROF/CPU*/EM/RecordedExits");
    6568    foreach (const UIDebuggerMetricData &data, xmlData)
  • trunk/src/VBox/Frontends/VirtualBox/src/monitor/resource/UIResourceMonitor.cpp

    r83365 r83375  
    1919#include <QAbstractTableModel>
    2020#include <QHeaderView>
     21#include <QItemDelegate>
    2122#include <QMenuBar>
    2223#include <QPushButton>
     
    147148};
    148149
     150
     151/*********************************************************************************************************************************
     152*   UIVMResouceMonitorDelegate definition.                                                                                       *
     153*********************************************************************************************************************************/
     154/** A QItemDelegate child class to disable dashed lines drawn around selected cells in QTableViews */
     155class UIVMResouceMonitorDelegate : public QItemDelegate
     156{
     157
     158    Q_OBJECT;
     159
     160protected:
     161
     162    virtual void drawFocus ( QPainter * /*painter*/, const QStyleOptionViewItem & /*option*/, const QRect & /*rect*/ ) const {}
     163};
     164
    149165/*********************************************************************************************************************************
    150166*   Class UIVMResouceMonitorItem implementation.                                                                           *
     
    373389            m_itemList[i].m_uCPUGuestLoad = aPctExecuting;
    374390            m_itemList[i].m_uCPUVMMLoad = aPctVMM;
     391            /* Network rate: */
     392            quint64 uPrevDownTotal = m_itemList[i].m_uNetworkDownTotal;
     393            quint64 uPrevUpTotal = m_itemList[i].m_uNetworkUpTotal;
    375394            UIMonitorCommon::getNetworkLoad(m_itemList[i].m_comDebugger,
    376                                             m_itemList[i].m_uNetworkDownRate, m_itemList[i].m_uNetworkUpRate);
    377             m_itemList[i].m_uNetworkDownTotal += m_itemList[i].m_uNetworkDownRate;
    378             m_itemList[i].m_uNetworkUpTotal += m_itemList[i].m_uNetworkUpRate;
    379 
     395                                            m_itemList[i].m_uNetworkDownTotal, m_itemList[i].m_uNetworkUpTotal);
     396            m_itemList[i].m_uNetworkDownRate = m_itemList[i].m_uNetworkDownTotal - uPrevDownTotal;
     397            m_itemList[i].m_uNetworkUpRate = m_itemList[i].m_uNetworkUpTotal - uPrevUpTotal;
     398
     399            /* IO rate: */
     400            quint64 uPrevWriteTotal = m_itemList[i].m_uDiskWriteTotal;
     401            quint64 uPrevReadTotal = m_itemList[i].m_uDiskReadTotal;
    380402            UIMonitorCommon::getDiskLoad(m_itemList[i].m_comDebugger,
    381                                          m_itemList[i].m_uDiskWriteRate, m_itemList[i].m_uDiskReadRate);
    382             m_itemList[i].m_uDiskWriteTotal += m_itemList[i].m_uDiskWriteRate;
    383             m_itemList[i].m_uDiskReadTotal += m_itemList[i].m_uDiskReadRate;
     403                                         m_itemList[i].m_uDiskWriteTotal, m_itemList[i].m_uDiskReadTotal);
     404            m_itemList[i].m_uDiskWriteRate = m_itemList[i].m_uDiskWriteTotal - uPrevWriteTotal;
     405            m_itemList[i].m_uDiskReadRate = m_itemList[i].m_uDiskReadTotal - uPrevReadTotal;
    384406        }
    385407    }
    386     //emit layoutChanged();
    387     /* dataChanged signal result in view update when there is a proxy model in between. */
    388     //emit dataChanged(index(0,0), index(rowCount(), columnCount()));
    389408    emit sigDataUpdate();
    390409}
     
    402421    , m_fShowToolbar(fShowToolbar)
    403422    , m_pToolBar(0)
    404     , m_pTableWidget(0)
     423    , m_pTableView(0)
    405424{
    406425    /* Prepare: */
     
    459478    m_pProxyModel = new UIResourceMonitorProxyModel(this);
    460479
    461     m_pTableWidget = new QTableView();
    462     if (m_pTableWidget && m_pModel && m_pProxyModel)
    463     {
    464         layout()->addWidget(m_pTableWidget);
     480    m_pTableView = new QTableView();
     481    if (m_pTableView && m_pModel && m_pProxyModel)
     482    {
     483        layout()->addWidget(m_pTableView);
    465484        m_pProxyModel->setSourceModel(m_pModel);
    466         m_pTableWidget->setModel(m_pProxyModel);
    467         m_pTableWidget->setSelectionMode(QAbstractItemView::NoSelection);
    468 
    469         /* m_pTableWidget->setSelectionMode(QAbstractItemView::SingleSelection);
    470            m_pTableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);*/
    471         m_pTableWidget->setShowGrid(false);
    472         m_pTableWidget->horizontalHeader()->setHighlightSections(false);
    473         m_pTableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
    474         m_pTableWidget->horizontalHeader()->setStretchLastSection(true);
    475 
    476         m_pTableWidget->verticalHeader()->setVisible(false);
    477         m_pTableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
     485        m_pTableView->setModel(m_pProxyModel);
     486        m_pTableView->setItemDelegate(new UIVMResouceMonitorDelegate);
     487        m_pTableView->setSelectionMode(QAbstractItemView::NoSelection);
     488
     489        /* m_pTableView->setSelectionMode(QAbstractItemView::SingleSelection);
     490           m_pTableView->setSelectionBehavior(QAbstractItemView::SelectRows);*/
     491        m_pTableView->setShowGrid(false);
     492        m_pTableView->horizontalHeader()->setHighlightSections(false);
     493        m_pTableView->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
     494        m_pTableView->horizontalHeader()->setStretchLastSection(true);
     495
     496        m_pTableView->verticalHeader()->setVisible(false);
     497        m_pTableView->setEditTriggers(QAbstractItemView::NoEditTriggers);
    478498        /* Minimize the row height: */
    479         m_pTableWidget->verticalHeader()->setDefaultSectionSize(m_pTableWidget->verticalHeader()->minimumSectionSize());
    480         m_pTableWidget->setAlternatingRowColors(true);
    481         m_pTableWidget->setSortingEnabled(true);
    482         m_pTableWidget->sortByColumn(0, Qt::AscendingOrder);
     499        m_pTableView->verticalHeader()->setDefaultSectionSize(m_pTableView->verticalHeader()->minimumSectionSize());
     500        m_pTableView->setAlternatingRowColors(true);
     501        m_pTableView->setSortingEnabled(true);
     502        m_pTableView->sortByColumn(0, Qt::AscendingOrder);
    483503        connect(m_pModel, &UIResourceMonitorModel::sigDataUpdate, this, &UIResourceMonitorWidget::sltHandleDataUpdate);
    484504    }
  • trunk/src/VBox/Frontends/VirtualBox/src/monitor/resource/UIResourceMonitor.h

    r83365 r83375  
    9595      * @{ */
    9696        UIToolBar *m_pToolBar;
    97         QTableView *m_pTableWidget;
     97        QTableView *m_pTableView;
    9898        UIResourceMonitorProxyModel *m_pProxyModel;
    9999        UIResourceMonitorModel      *m_pModel;
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