VirtualBox

Changeset 103119 in vbox for trunk


Ignore:
Timestamp:
Jan 30, 2024 9:59:59 AM (13 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
161366
Message:

FE/Qt: bugref:10501. Refactoring item classes. part 4.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/activity/overview/UIVMActivityOverviewWidget.cpp

    r103110 r103119  
    237237    virtual ~UIActivityOverviewItem();
    238238    bool operator==(const UIActivityOverviewItem& other) const;
     239    virtual QString machineStateString() const = 0;
    239240    virtual bool isRunning() const = 0;
    240241    virtual bool isCloudVM() const = 0;
    241242    virtual void updateColumnData() = 0;
     243
     244    QString columnData(int iColumnIndex) const;
     245
    242246    QUuid         m_VMuid;
    243247    QString       m_strVMName;
     
    290294    virtual bool isCloudVM() const override;
    291295    virtual void updateColumnData() override;
     296    virtual QString machineStateString() const override;
    292297    void setMachineState(KMachineState enmState);
    293 
    294     quint64  m_uCPUVMMLoad;
    295 
    296     quint64 m_uVMExitRate;
    297     quint64 m_uVMExitTotal;
    298 
    299     CMachineDebugger m_comDebugger;
    300298
    301299protected:
     
    308306    CGuest   m_comGuest;
    309307    KMachineState m_enmMachineState;
     308
     309    quint64  m_uCPUVMMLoad;
     310    quint64 m_uVMExitRate;
     311    quint64 m_uVMExitTotal;
     312    CMachineDebugger m_comDebugger;
    310313};
    311314
     
    325328    virtual bool isCloudVM() const override;
    326329    virtual void updateColumnData() override;
     330    virtual QString machineStateString() const override;
    327331
    328332protected:
     
    398402    void sltMachineStateChanged(const QUuid &uId, const KMachineState state);
    399403    void sltMachineRegistered(const QUuid &uId, bool fRegistered);
    400     void sltTimeout();
     404    void sltLocalUpdateTimeout();
     405    void sltCloudUpdateTimeout();
    401406
    402407private:
     
    412417    QVector<UIActivityOverviewItem*> m_itemList;
    413418    QMap<int, QString> m_columnTitles;
    414     QTimer *m_pTimer;
     419    QTimer *m_pLocalUpdateTimer;
     420    QTimer *m_pCloudUpdateTimer;
    415421    /** @name The following are used during UIPerformanceCollector::QueryMetricsData(..)
    416422     * @{ */
     
    890896}
    891897
     898QString UIActivityOverviewItem::columnData(int iColumnIndex) const
     899{
     900    return m_columnData.value(iColumnIndex, QString());
     901}
     902
    892903
    893904/*********************************************************************************************************************************
     
    945956}
    946957
     958QString UIActivityOverviewItemCloud::machineStateString() const
     959{
     960    if (!m_comCloudMachine.isOk())
     961        return QString();
     962    return gpConverter->toString(m_comCloudMachine.GetState());
     963}
     964
    947965
    948966/*********************************************************************************************************************************
     
    10061024{
    10071025    m_enmMachineState = enmState;
     1026    if (m_enmMachineState == KMachineState_Running)
     1027        resetDebugger();
    10081028}
    10091029
     
    10971117        QString("%1/%2").arg(UITranslator::addMetricSuffixToNumber(m_uVMExitRate)).
    10981118        arg(UITranslator::addMetricSuffixToNumber(m_uVMExitTotal));
     1119}
     1120
     1121QString UIActivityOverviewItemLocal::machineStateString() const
     1122{
     1123    return gpConverter->toString(m_enmMachineState);
    10991124}
    11001125
     
    11761201UIActivityOverviewModel::UIActivityOverviewModel(QObject *parent /*= 0*/)
    11771202    :QAbstractTableModel(parent)
    1178     , m_pTimer(new QTimer(this))
     1203    , m_pLocalUpdateTimer(new QTimer(this))
     1204    , m_pCloudUpdateTimer(new QTimer(this))
    11791205{
    11801206    initialize();
     
    11911217    connect(gVBoxEvents, &UIVirtualBoxEventHandler::sigMachineRegistered,
    11921218            this, &UIActivityOverviewModel::sltMachineRegistered);
    1193     if (m_pTimer)
    1194     {
    1195         connect(m_pTimer, &QTimer::timeout, this, &UIActivityOverviewModel::sltTimeout);
    1196         m_pTimer->start(1000);
     1219    if (m_pLocalUpdateTimer)
     1220    {
     1221        connect(m_pLocalUpdateTimer, &QTimer::timeout, this, &UIActivityOverviewModel::sltLocalUpdateTimeout);
     1222        m_pLocalUpdateTimer->start(1000);
     1223    }
     1224    if (m_pCloudUpdateTimer)
     1225    {
     1226        connect(m_pCloudUpdateTimer, &QTimer::timeout, this, &UIActivityOverviewModel::sltCloudUpdateTimeout);
     1227        m_pCloudUpdateTimer->start(60 * 1000);
    11971228    }
    11981229}
     
    12121243void UIActivityOverviewModel::setShouldUpdate(bool fShouldUpdate)
    12131244{
    1214     if (m_pTimer)
     1245    if (m_pLocalUpdateTimer)
    12151246    {
    12161247        if (fShouldUpdate)
    1217             m_pTimer->start();
     1248            m_pLocalUpdateTimer->start();
    12181249        else
    1219             m_pTimer->stop();
     1250            m_pLocalUpdateTimer->stop();
    12201251    }
    12211252}
     
    12641295QVariant UIActivityOverviewModel::data(const QModelIndex &index, int role) const
    12651296{
    1266     Q_UNUSED(index);
    1267     Q_UNUSED(role);
    1268     return QVariant();
    1269 #if 0
    1270     if (machineState(index.row()) != KMachineState_Running)
     1297    if (!isVMRunning(index.row()))
    12711298    {
    12721299        if (role == Qt::FontRole)
     
    12811308    if (!index.isValid() || role != Qt::DisplayRole || index.row() >= rowCount())
    12821309        return QVariant();
     1310
     1311    UIActivityOverviewItem *pItem = m_itemList[index.row()];
     1312    AssertPtrReturn(pItem, QVariant());
     1313
    12831314    if (index.column() == VMActivityOverviewColumn_Name)
    1284         return m_itemList[index.row()].m_columnData[index.column()];
    1285     if (m_itemList[index.row()].m_enmMachineState != KMachineState_Running)
    1286         return gpConverter->toString(m_itemList[index.row()].m_enmMachineState);
    1287     return m_itemList[index.row()].m_columnData[index.column()];
    1288 #endif
     1315        return pItem->columnData(index.column());
     1316
     1317    if (!pItem->isRunning())
     1318        return pItem->machineStateString();
     1319
     1320    return pItem->columnData(index.column());
    12891321}
    12901322
     
    13581390}
    13591391
    1360 void UIActivityOverviewModel::sltTimeout()
    1361 {
    1362 
    1363 
     1392void UIActivityOverviewModel::sltCloudUpdateTimeout()
     1393{
     1394}
     1395
     1396void UIActivityOverviewModel::sltLocalUpdateTimeout()
     1397{
    13641398    /* Host's RAM usage is obtained from IHost not from IPerformanceCollector: */
    13651399    getHostRAMStats();
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