VirtualBox

Changeset 103107 in vbox


Ignore:
Timestamp:
Jan 29, 2024 2:50:20 PM (10 months ago)
Author:
vboxsync
Message:

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

File:
1 edited

Legend:

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

    r103105 r103107  
    286286    virtual bool isRunning() const override;
    287287    virtual bool isCloudVM() const override;
    288 
    289     KMachineState m_enmMachineState;
     288    void setMachineState(KMachineState enmState);
     289
    290290    quint64  m_uCPUVMMLoad;
    291291
     
    299299    CSession m_comSession;
    300300    CGuest   m_comGuest;
     301    KMachineState m_enmMachineState;
    301302};
    302303
     
    376377    QUuid itemUid(int iIndex);
    377378    int itemIndex(const QUuid &uid);
    378     /* Return the state of the machine represented by the item at @rowIndex. */
    379     KMachineState machineState(int rowIndex) const;
     379    bool isVMRunning(int rowIndex) const;
    380380    void setDefaultViewFont(const QFont &font);
    381381    void setDefaultViewFontColor(const QColor &color);
     
    397397    void getHostRAMStats();
    398398
    399     QVector<UIActivityOverviewItemLocal> m_itemList;
     399    QVector<UIActivityOverviewItem*> m_itemList;
    400400    QMap<int, QString> m_columnTitles;
    401401    QTimer *m_pTimer;
     
    982982}
    983983
     984void UIActivityOverviewItemLocal::setMachineState(KMachineState enmState)
     985{
     986    m_enmMachineState = enmState;
     987}
     988
    984989
    985990/*********************************************************************************************************************************
     
    10191024    if (pModel)
    10201025    {
    1021         KMachineState enmLeftState = pModel->machineState(sourceLeftIndex.row());
    1022         KMachineState enmRightState = pModel->machineState(sourceRightIndex.row());
    1023         if ((enmLeftState == KMachineState_Running) && (enmRightState != KMachineState_Running))
     1026        bool fLeftRunning = pModel->isVMRunning(sourceLeftIndex.row());
     1027        bool fRightRunning = pModel->isVMRunning(sourceRightIndex.row());
     1028        if (fLeftRunning && fRightRunning)
    10241029        {
    10251030            if (sortOrder() == Qt::AscendingOrder)
     
    10281033                return false;
    10291034        }
    1030         if ((enmLeftState != KMachineState_Running) && (enmRightState == KMachineState_Running))
     1035        if (!fLeftRunning && fRightRunning)
    10311036        {
    10321037            if (sortOrder() == Qt::AscendingOrder)
     
    10481053    if (!pModel)
    10491054        return true;
    1050     if (pModel->machineState(iSourceRow) != KMachineState_Running)
     1055    if (!pModel->isVMRunning(iSourceRow))
    10511056        return false;
    10521057    return true;
     
    11111116QUuid UIActivityOverviewModel::itemUid(int iIndex)
    11121117{
    1113     if (iIndex >= m_itemList.size())
     1118    if (iIndex >= m_itemList.size() || !m_itemList[iIndex])
    11141119        return QUuid();
    1115     return m_itemList[iIndex].m_VMuid;
     1120    return m_itemList[iIndex]->m_VMuid;
    11161121}
    11171122
     
    11201125    for (int i = 0; i < m_itemList.size(); ++i)
    11211126    {
    1122         if (m_itemList[i].m_VMuid == uid)
     1127        if (!m_itemList[i])
     1128            continue;
     1129        if (m_itemList[i]->m_VMuid == uid)
    11231130            return i;
    11241131    }
     
    11261133}
    11271134
    1128 KMachineState UIActivityOverviewModel::machineState(int rowIndex) const
    1129 {
    1130     if (rowIndex >= m_itemList.size() || rowIndex < 0)
    1131         return KMachineState_Null;
    1132     return m_itemList[rowIndex].m_enmMachineState;
     1135bool UIActivityOverviewModel::isVMRunning(int rowIndex) const
     1136{
     1137    if (rowIndex >= m_itemList.size() || rowIndex < 0 || !m_itemList[rowIndex])
     1138        return false;
     1139    return m_itemList[rowIndex]->isRunning();
    11331140}
    11341141
     
    11451152QVariant UIActivityOverviewModel::data(const QModelIndex &index, int role) const
    11461153{
     1154    Q_UNUSED(index);
     1155    Q_UNUSED(role);
     1156    return QVariant();
     1157#if 0
    11471158    if (machineState(index.row()) != KMachineState_Running)
    11481159    {
     
    11631174        return gpConverter->toString(m_itemList[index.row()].m_enmMachineState);
    11641175    return m_itemList[index.row()].m_columnData[index.column()];
     1176#endif
    11651177}
    11661178
     
    11701182     * first of all we are removing all the items,
    11711183     * this will detach COM wrappers implicitly: */
     1184    qDeleteAll(m_itemList);
    11721185    m_itemList.clear();
    11731186    /* Detaching perf. collector finally,
     
    12031216    if (iIndex != -1 && iIndex < m_itemList.size())
    12041217    {
    1205         m_itemList[iIndex].m_enmMachineState = state;
    1206         if (state == KMachineState_Running)
    1207             m_itemList[iIndex].resetDebugger();
     1218        UIActivityOverviewItemLocal *pItem = dynamic_cast<UIActivityOverviewItemLocal*>(m_itemList[iIndex]);
     1219        if (pItem)
     1220        {
     1221            pItem->setMachineState(state);
     1222            if (state == KMachineState_Running)
     1223                pItem->resetDebugger();
     1224        }
    12081225    }
    12091226}
     
    12311248void UIActivityOverviewModel::sltTimeout()
    12321249{
     1250#if 0
    12331251    ULONG aPctExecuting;
    12341252    ULONG aPctHalted;
     
    13491367                m_columnDataMaxLength[i] = m_itemList[j].m_columnData[i].length();
    13501368    }
     1369#endif
    13511370    emit sigDataUpdate();
    13521371    emit sigHostStatsUpdate(m_hostStats);
     
    13731392void UIActivityOverviewModel::queryPerformanceCollector()
    13741393{
     1394#if 0
    13751395    QVector<QString>  aReturnNames;
    13761396    QVector<CUnknown>  aReturnObjects;
     
    14561476            m_itemList[i].m_fRAMUsagePercentage = 100.f * (m_itemList[i].m_uUsedRAM / (float)m_itemList[i].m_uTotalRAM);
    14571477    }
     1478#endif
    14581479}
    14591480
    14601481void UIActivityOverviewModel::addItem(const QUuid& uMachineId, const QString& strMachineName, KMachineState enmState)
    14611482{
    1462     UIActivityOverviewItemLocal newItem(uMachineId, strMachineName);
    1463     newItem.m_enmMachineState = enmState;
    1464     m_itemList.append(newItem);
     1483    UIActivityOverviewItemLocal *pItem = new UIActivityOverviewItemLocal(uMachineId, strMachineName);
     1484    pItem->setMachineState(enmState);
     1485    m_itemList.append(pItem);
    14651486}
    14661487
     
    14701491    if (iIndex == -1)
    14711492        return;
     1493    delete m_itemList[iIndex];
    14721494    m_itemList.remove(iIndex);
    14731495}
     
    18041826    }
    18051827    int iMachineIndex = m_pProxyModel->mapToSource(selected.indexes()[0]).row();
    1806     if (m_pModel->machineState(iMachineIndex) != KMachineState_Running)
     1828    if (!m_pModel->isVMRunning(iMachineIndex))
    18071829    {
    18081830        m_pVMActivityMonitorAction->setEnabled(false);
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