VirtualBox

Changeset 102598 in vbox for trunk/src/VBox/Frontends


Ignore:
Timestamp:
Dec 14, 2023 3:25:30 PM (15 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
160751
Message:

FE/Qt: bugref:10501. Sharing the data index under the cursor with other charts.

Location:
trunk/src/VBox/Frontends/VirtualBox/src/activity/vmactivity
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/activity/vmactivity/UIVMActivityMonitor.cpp

    r102594 r102598  
    139139
    140140    void sigExportMetricsToFile();
     141    void sigDataIndexUnderCursor(int iIndex);
    141142
    142143public:
     
    172173
    173174    void setMouseOver(bool isOver);
     175
     176    void setDataIndexUnderCursor(int iIndex);
    174177
    175178protected:
     
    181184    virtual QSize sizeHint() const  RT_OVERRIDE;
    182185    virtual void retranslateUi()  RT_OVERRIDE;
     186    virtual bool event(QEvent *pEvent) RT_OVERRIDE;
    183187
    184188private slots:
     
    453457{
    454458    if (!isOver)
     459    {
    455460        m_iDataIndexUnderCursor = -1;
     461        emit sigDataIndexUnderCursor(m_iDataIndexUnderCursor);
     462    }
     463
     464}
     465
     466void UIChart::setDataIndexUnderCursor(int iIndex)
     467{
     468    m_iDataIndexUnderCursor = iIndex;
     469    update();
    456470}
    457471
     
    475489}
    476490
     491bool UIChart::event(QEvent *pEvent)
     492{
     493    if (pEvent->type() == QEvent::Leave)
     494    {
     495        m_iDataIndexUnderCursor = -1;
     496        emit sigDataIndexUnderCursor(m_iDataIndexUnderCursor);
     497    }
     498    return QIWithRetranslateUI<QWidget>::event(pEvent);
     499}
     500
    477501void UIChart::resizeEvent(QResizeEvent *pEvent)
    478502{
     
    494518        m_iDataIndexUnderCursor = m_iDataIndexUnderCursor - (m_iMaximumQueueSize - iDataSize);
    495519    }
     520
     521    emit sigDataIndexUnderCursor(m_iDataIndexUnderCursor);
    496522
    497523    update();
     
    10861112}
    10871113
    1088 bool UIVMActivityMonitor::eventFilter(QObject *pObj, QEvent *pEvent)
    1089 {
    1090     if (pEvent-> type() == QEvent::Enter ||
    1091         pEvent-> type() == QEvent::Leave)
    1092     {
    1093         UIChart *pChart = qobject_cast<UIChart*>(pObj);
    1094         if (pChart)
    1095             pChart->setMouseOver(pEvent-> type() == QEvent::Enter);
    1096     }
    1097     return false;
    1098 }
     1114// bool UIVMActivityMonitor::eventFilter(QObject *pObj, QEvent *pEvent)
     1115// {
     1116//     if (pEvent-> type() == QEvent::Enter ||
     1117//         pEvent-> type() == QEvent::Leave)
     1118//     {
     1119//         UIChart *pChart = qobject_cast<UIChart*>(pObj);
     1120//         if (pChart)
     1121//             pChart->setMouseOver(pEvent-> type() == QEvent::Enter);
     1122//     }
     1123//     return false;
     1124// }
    10991125
    11001126void UIVMActivityMonitor::prepareWidgets()
     
    11441170
    11451171        UIChart *pChart = new UIChart(this, &(m_metrics[strMetricName]), m_iMaximumQueueSize);
    1146         pChart->installEventFilter(this);
     1172        //pChart->installEventFilter(this);
    11471173        connect(pChart, &UIChart::sigExportMetricsToFile,
    11481174                this, &UIVMActivityMonitor::sltExportMetricsToFile);
     1175        connect(pChart, &UIChart::sigDataIndexUnderCursor,
     1176                this, &UIVMActivityMonitor::sltChatDataIndexUnderCursorChanged);
    11491177        m_charts.insert(strMetricName, pChart);
    11501178        pChart->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
     
    11931221    connect(pExportAction, &QAction::triggered, this, &UIVMActivityMonitor::sltExportMetricsToFile);
    11941222    menu.exec(mapToGlobal(point));
     1223}
     1224
     1225void UIVMActivityMonitor::sltChatDataIndexUnderCursorChanged(int iIndex)
     1226{
     1227    foreach (UIChart *chart, m_charts)
     1228    {
     1229        if (chart && chart != sender())
     1230        {
     1231            chart->setDataIndexUnderCursor(iIndex);
     1232        }
     1233
     1234    }
    11951235}
    11961236
  • trunk/src/VBox/Frontends/VirtualBox/src/activity/vmactivity/UIVMActivityMonitor.h

    r102273 r102598  
    147147
    148148    virtual void retranslateUi() RT_OVERRIDE;
    149     virtual bool eventFilter(QObject *pObj, QEvent *pEvent) RT_OVERRIDE;
     149    //virtual bool eventFilter(QObject *pObj, QEvent *pEvent) RT_OVERRIDE;
    150150    virtual void obtainDataAndUpdate() = 0;
    151151    virtual QString defaultMachineFolder() const = 0;
     
    230230    void sltTimeout();
    231231    void sltCreateContextMenu(const QPoint &point);
     232    void sltChatDataIndexUnderCursorChanged(int iIndex);
    232233
    233234private:
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