VirtualBox

Changeset 104458 in vbox for trunk/src


Ignore:
Timestamp:
Apr 30, 2024 8:36:19 AM (13 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
162971
Message:

FE/Qt. bugref:9510. Some refactoring to add preferences pane to the widget in runtime UI as well.

Location:
trunk/src/VBox/Frontends/VirtualBox
Files:
4 edited
2 moved

Legend:

Unmodified
Added
Removed
  • TabularUnified trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk

    r104451 r104458  
    858858        src/logviewer/UIVMLogViewerWidget.h \
    859859        src/activity/vmactivity/UIVMActivityMonitor.h \
    860         src/activity/vmactivity/UIVMActivityMonitorPaneContainer.h \
     860        src/activity/vmactivity/UIVMActivityMonitorContainer.h \
    861861        src/activity/UIMonitorCommon.h \
    862862        src/medium/UIFDCreationDialog.h \
     
    14391439        src/activity/UIMonitorCommon.cpp \
    14401440        src/activity/vmactivity/UIVMActivityMonitor.cpp \
    1441         src/activity/vmactivity/UIVMActivityMonitorPaneContainer.cpp \
     1441        src/activity/vmactivity/UIVMActivityMonitorContainer.cpp \
    14421442        src/medium/UIFDCreationDialog.cpp \
    14431443        src/medium/UIMedium.cpp \
  • TabularUnified trunk/src/VBox/Frontends/VirtualBox/src/activity/vmactivity/UIVMActivityMonitor.cpp

    r104449 r104458  
    240240    m_pMouseOverLabel->hide();
    241241    m_pMouseOverLabel->setFrameStyle(QFrame::Box);
    242     m_pMouseOverLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
     242
    243243    m_pMouseOverLabel->setAutoFillBackground(true);
    244244    m_pMouseOverLabel->setMargin(0.1 * QStyle::PM_HeaderMargin);
     
    424424        else
    425425        {
     426
    426427            QString strToolTip = toolTipText();
    427428            QPoint pos = mapFromGlobal(QCursor::pos());
     
    432433                m_pMouseOverLabel->move(QPoint(pos.x(), pos.y() - m_pMouseOverLabel->height()));
    433434                m_pMouseOverLabel->setVisible(true);
     435                m_pMouseOverLabel->adjustSize();
    434436            }
    435437            else
  • TabularUnified trunk/src/VBox/Frontends/VirtualBox/src/activity/vmactivity/UIVMActivityMonitorContainer.cpp

    r104457 r104458  
    3737#include <QPushButton>
    3838#include <QStyle>
     39#include <QTabWidget>
    3940
    4041/* GUI includes: */
     42#include "UIActionPool.h"
     43#include "UIExtraDataManager.h"
     44#include "UIGlobalSession.h"
    4145#include "UITranslationEventListener.h"
    42 #include "UIVMActivityMonitorPaneContainer.h"
     46#include "UIVMActivityMonitor.h"
     47#include "UIVMActivityMonitorContainer.h"
    4348
    4449/* Other includes: */
    4550#include "iprt/assert.h"
    4651
    47 UIVMActivityMonitorPaneContainer::UIVMActivityMonitorPaneContainer(QWidget *pParent,
    48                                                                    EmbedTo enmEmbedTo /* = EmbedTo_Stack */)
    49     : UIPaneContainer(pParent, enmEmbedTo, false /* detach not allowed */)
     52
     53/*********************************************************************************************************************************
     54*   UIVMActivityMonitorPaneContainer implementation.                                                                             *
     55*********************************************************************************************************************************/
     56
     57
     58UIVMActivityMonitorPaneContainer::UIVMActivityMonitorPaneContainer(QWidget *pParent)
     59    : UIPaneContainer(pParent)
    5060    , m_pColorLabel{0, 0}
    5161    , m_pColorChangeButton{0, 0}
     
    93103    connect(&translationEventListener(), &UITranslationEventListener::sigRetranslateUI,
    94104            this, &UIVMActivityMonitorPaneContainer::sltRetranslateUI);
     105
    95106}
    96107
     
    166177    setDataSeriesColor(1, QApplication::palette().color(QPalette::Link));
    167178}
     179
     180/*********************************************************************************************************************************
     181*   UIVMActivityMonitorContainer implementation.                                                                            *
     182*********************************************************************************************************************************/
     183
     184UIVMActivityMonitorContainer::UIVMActivityMonitorContainer(QWidget *pParent, UIActionPool *pActionPool, EmbedTo enmEmbedding)
     185    :QWidget(pParent)
     186    , m_pPaneContainer(0)
     187    , m_pTabWidget(0)
     188    , m_pExportToFileAction(0)
     189    , m_pActionPool(pActionPool)
     190    , m_enmEmbedding(enmEmbedding)
     191{
     192    prepare();
     193    loadSettings();
     194    sltCurrentTabChanged(0);
     195}
     196
     197void UIVMActivityMonitorContainer::removeTabs(const QVector<QUuid> &machineIdsToRemove)
     198{
     199    AssertReturnVoid(m_pTabWidget);
     200    QVector<UIVMActivityMonitor*> removeList;
     201
     202    for (int i = m_pTabWidget->count() - 1; i >= 0; --i)
     203    {
     204        UIVMActivityMonitor *pMonitor = qobject_cast<UIVMActivityMonitor*>(m_pTabWidget->widget(i));
     205        if (!pMonitor)
     206            continue;
     207        if (machineIdsToRemove.contains(pMonitor->machineId()))
     208        {
     209            removeList << pMonitor;
     210            m_pTabWidget->removeTab(i);
     211        }
     212    }
     213    qDeleteAll(removeList.begin(), removeList.end());
     214}
     215
     216void UIVMActivityMonitorContainer::prepare()
     217{
     218    QVBoxLayout *pMainLayout = new QVBoxLayout(this);
     219    pMainLayout->setContentsMargins(0, 0, 0, 0);
     220
     221    m_pTabWidget = new QTabWidget(this);
     222    m_pTabWidget->setTabPosition(QTabWidget::East);
     223    m_pTabWidget->setTabBarAutoHide(true);
     224
     225    m_pPaneContainer = new UIVMActivityMonitorPaneContainer(this);
     226    m_pPaneContainer->hide();
     227
     228    pMainLayout->addWidget(m_pTabWidget);
     229    pMainLayout->addWidget(m_pPaneContainer);
     230
     231    connect(m_pTabWidget, &QTabWidget::currentChanged,
     232            this, &UIVMActivityMonitorContainer::sltCurrentTabChanged);
     233    connect(m_pPaneContainer, &UIVMActivityMonitorPaneContainer::sigColorChanged,
     234            this, &UIVMActivityMonitorContainer::sltDataSeriesColorChanged);
     235    m_pExportToFileAction = m_pActionPool->action(UIActionIndex_M_Activity_S_Export);
     236    if (m_pExportToFileAction)
     237        connect(m_pExportToFileAction, &QAction::triggered, this, &UIVMActivityMonitorContainer::sltExportToFile);
     238
     239    if (m_pActionPool->action(UIActionIndex_M_Activity_T_Preferences))
     240        connect(m_pActionPool->action(UIActionIndex_M_Activity_T_Preferences), &QAction::toggled,
     241                this, &UIVMActivityMonitorContainer::sltTogglePreferencesPane);
     242}
     243
     244void UIVMActivityMonitorContainer::loadSettings()
     245{
     246    if (m_pPaneContainer)
     247    {
     248        QStringList colorList = gEDataManager->VMActivityMonitorDataSeriesColors();
     249        if (colorList.size() == 2)
     250        {
     251            for (int i = 0; i < 2; ++i)
     252            {
     253                QColor color(colorList[i]);
     254                if (color.isValid())
     255                    m_pPaneContainer->setDataSeriesColor(i, color);
     256            }
     257        }
     258        if (!m_pPaneContainer->dataSeriesColor(0).isValid())
     259            m_pPaneContainer->setDataSeriesColor(0, QApplication::palette().color(QPalette::LinkVisited));
     260        if (!m_pPaneContainer->dataSeriesColor(1).isValid())
     261            m_pPaneContainer->setDataSeriesColor(1, QApplication::palette().color(QPalette::Link));
     262    }
     263}
     264
     265void UIVMActivityMonitorContainer::saveSettings()
     266{
     267    if (m_pPaneContainer)
     268    {
     269        QStringList colorList;
     270        colorList << m_pPaneContainer->dataSeriesColor(0).name(QColor::HexArgb);
     271        colorList << m_pPaneContainer->dataSeriesColor(1).name(QColor::HexArgb);
     272        gEDataManager->setVMActivityMonitorDataSeriesColors(colorList);
     273    }
     274}
     275
     276void UIVMActivityMonitorContainer::sltCurrentTabChanged(int iIndex)
     277{
     278    AssertReturnVoid(m_pTabWidget);
     279    Q_UNUSED(iIndex);
     280    UIVMActivityMonitor *pActivityMonitor = qobject_cast<UIVMActivityMonitor*>(m_pTabWidget->currentWidget());
     281    if (pActivityMonitor)
     282    {
     283        CMachine comMachine = gpGlobalSession->virtualBox().FindMachine(pActivityMonitor->machineId().toString());
     284        if (!comMachine.isNull())
     285        {
     286            setExportActionEnabled(comMachine.GetState() == KMachineState_Running);
     287        }
     288    }
     289}
     290
     291void UIVMActivityMonitorContainer::sltDataSeriesColorChanged(int iIndex, const QColor &color)
     292{
     293    for (int i = m_pTabWidget->count() - 1; i >= 0; --i)
     294    {
     295        UIVMActivityMonitor *pMonitor = qobject_cast<UIVMActivityMonitor*>(m_pTabWidget->widget(i));
     296        if (!pMonitor)
     297            continue;
     298        pMonitor->setDataSeriesColor(iIndex, color);
     299    }
     300    saveSettings();
     301}
     302
     303void UIVMActivityMonitorContainer::setExportActionEnabled(bool fEnabled)
     304{
     305    if (m_pExportToFileAction)
     306        m_pExportToFileAction->setEnabled(fEnabled);
     307}
     308
     309void UIVMActivityMonitorContainer::sltExportToFile()
     310{
     311    AssertReturnVoid(m_pTabWidget);
     312    UIVMActivityMonitor *pActivityMonitor = qobject_cast<UIVMActivityMonitor*>(m_pTabWidget->currentWidget());
     313    if (pActivityMonitor)
     314        pActivityMonitor->sltExportMetricsToFile();
     315}
     316
     317void UIVMActivityMonitorContainer::addLocalMachine(const CMachine &comMachine)
     318{
     319    AssertReturnVoid(m_pTabWidget);
     320    if (!comMachine.isOk())
     321        return;
     322    UIVMActivityMonitorLocal *pActivityMonitor = new UIVMActivityMonitorLocal(m_enmEmbedding, this, comMachine);
     323    if (m_pPaneContainer)
     324    {
     325        pActivityMonitor->setDataSeriesColor(0, m_pPaneContainer->dataSeriesColor(0));
     326        pActivityMonitor->setDataSeriesColor(1, m_pPaneContainer->dataSeriesColor(1));
     327    }
     328    m_pTabWidget->addTab(pActivityMonitor, comMachine.GetName());
     329}
     330
     331void UIVMActivityMonitorContainer::addCloudMachine(const CCloudMachine &comMachine)
     332{
     333    AssertReturnVoid(m_pTabWidget);
     334    if (!comMachine.isOk())
     335        return;
     336    UIVMActivityMonitorCloud *pActivityMonitor = new UIVMActivityMonitorCloud(m_enmEmbedding, this, comMachine);
     337    if (m_pPaneContainer)
     338    {
     339        pActivityMonitor->setDataSeriesColor(0, m_pPaneContainer->dataSeriesColor(0));
     340        pActivityMonitor->setDataSeriesColor(1, m_pPaneContainer->dataSeriesColor(1));
     341    }
     342    m_pTabWidget->addTab(pActivityMonitor, comMachine.GetName());
     343}
     344
     345void UIVMActivityMonitorContainer::sltTogglePreferencesPane(bool fChecked)
     346{
     347    AssertReturnVoid(m_pPaneContainer);
     348    m_pPaneContainer->setVisible(fChecked);
     349}
  • TabularUnified trunk/src/VBox/Frontends/VirtualBox/src/activity/vmactivity/UIVMActivityMonitorContainer.h

    r104457 r104458  
    2626 */
    2727
    28 #ifndef FEQT_INCLUDED_SRC_activity_vmactivity_UIVMActivityMonitorPaneContainer_h
    29 #define FEQT_INCLUDED_SRC_activity_vmactivity_UIVMActivityMonitorPaneContainer_h
     28#ifndef FEQT_INCLUDED_SRC_activity_vmactivity_UIVMActivityMonitorContainer_h
     29#define FEQT_INCLUDED_SRC_activity_vmactivity_UIVMActivityMonitorContainer_h
    3030#ifndef RT_WITHOUT_PRAGMA_ONCE
    3131# pragma once
    3232#endif
     33
     34/* Qt includes: */
     35#include <QUuid>
    3336
    3437/* GUI includes: */
     
    3639#include "UIPaneContainer.h"
    3740
     41class CCloudMachine;
     42class CMachine;
    3843class QColor;
    3944class QLabel;
    4045class QPushButton;
     46class QTabWidget;
     47class UIActionPool;
    4148
     49/** A pane container class for activity monitor widget. It hosts several controls
     50   for activity monitor settings. */
    4251class SHARED_LIBRARY_STUFF UIVMActivityMonitorPaneContainer : public UIPaneContainer
    4352{
     
    5160public:
    5261
    53     UIVMActivityMonitorPaneContainer(QWidget *pParent, EmbedTo enmEmbedTo = EmbedTo_Stack);
     62    UIVMActivityMonitorPaneContainer(QWidget *pParent);
    5463    void setDataSeriesColor(int iIndex, const QColor &color);
    5564    QColor dataSeriesColor(int iIndex) const;
     
    7988};
    8089
     90/** A QWidget extension to host a tab widget and UIVMActivityMonitorPaneContainer. The tab widget
     91 hosts possibly multiple pages of UIVMActivityMonitor. */
     92class SHARED_LIBRARY_STUFF UIVMActivityMonitorContainer : public QWidget
     93{
    8194
     95    Q_OBJECT;
    8296
     97public:
    8398
    84 #endif /* !FEQT_INCLUDED_SRC_activity_vmactivity_UIVMActivityMonitorPaneContainer_h */
     99    UIVMActivityMonitorContainer(QWidget *pParent, UIActionPool *pActionPool, EmbedTo enmEmbedding);
     100    void removeTabs(const QVector<QUuid> &machineIdsToRemove);
     101    void addLocalMachine(const CMachine &comMachine);
     102    void addCloudMachine(const CCloudMachine &comMachine);
     103
     104private slots:
     105
     106    void sltCurrentTabChanged(int iIndex);
     107    void sltDataSeriesColorChanged(int iIndex, const QColor &color);
     108    void sltExportToFile();
     109    void sltTogglePreferencesPane(bool fChecked);
     110
     111private:
     112
     113    void prepare();
     114    void loadSettings();
     115    void saveSettings();
     116    void setExportActionEnabled(bool fEnabled);
     117
     118    UIVMActivityMonitorPaneContainer *m_pPaneContainer;
     119    QTabWidget *m_pTabWidget;
     120    QAction *m_pExportToFileAction;
     121    UIActionPool *m_pActionPool;
     122    EmbedTo m_enmEmbedding;
     123};
     124
     125#endif /* !FEQT_INCLUDED_SRC_activity_vmactivity_UIVMActivityMonitorContainer_h */
  • TabularUnified trunk/src/VBox/Frontends/VirtualBox/src/activity/vmactivity/UIVMActivityToolWidget.cpp

    r104452 r104458  
    3030#include <QVBoxLayout>
    3131#include <QStyle>
    32 #include <QTabWidget>
    3332
    3433/* GUI includes: */
    3534#include "QIToolBar.h"
    3635#include "UIActionPoolManager.h"
    37 #include "UIExtraDataManager.h"
    38 #include "UIGlobalSession.h"
    3936#include "UIVMActivityMonitor.h"
    4037#include "UIVMActivityToolWidget.h"
     
    4340#include "UIVirtualMachineItemCloud.h"
    4441#include "UIVirtualMachineItemLocal.h"
    45 #include "UIVMActivityMonitorPaneContainer.h"
     42#include "UIVMActivityMonitorContainer.h"
    4643#ifdef VBOX_WS_MAC
    4744# include "UIWindowMenuManager.h"
     
    4946
    5047/* COM includes: */
    51 #include "assert.h"
    5248#include "CMachine.h"
    53 
    5449
    5550UIVMActivityToolWidget::UIVMActivityToolWidget(EmbedTo enmEmbedding, UIActionPool *pActionPool,
     
    6055    , m_fShowToolbar(fShowToolbar)
    6156    , m_pToolBar(0)
    62     , m_pExportToFileAction(0)
    63     , m_pPaneContainer(0)
    64     , m_pTabWidget(0)
     57    , m_pMonitorContainer(0)
    6558{
    6659    prepare();
    67     loadSettings();
    6860    prepareActions();
    6961    prepareToolBar();
    70     sltCurrentTabChanged(0);
    7162}
    7263
    73 void UIVMActivityToolWidget::loadSettings()
    74 {
    75     if (m_pPaneContainer)
    76     {
    77         QStringList colorList = gEDataManager->VMActivityMonitorDataSeriesColors();
    78         if (colorList.size() == 2)
    79         {
    80             for (int i = 0; i < 2; ++i)
    81             {
    82                 QColor color(colorList[i]);
    83                 if (color.isValid())
    84                     m_pPaneContainer->setDataSeriesColor(i, color);
    85             }
    86         }
    87         if (!m_pPaneContainer->dataSeriesColor(0).isValid())
    88             m_pPaneContainer->setDataSeriesColor(0, QApplication::palette().color(QPalette::LinkVisited));
    89         if (!m_pPaneContainer->dataSeriesColor(1).isValid())
    90             m_pPaneContainer->setDataSeriesColor(1, QApplication::palette().color(QPalette::Link));
    91     }
    92 }
    93 
    94 void UIVMActivityToolWidget::saveSettings()
    95 {
    96     if (m_pPaneContainer)
    97     {
    98         QStringList colorList;
    99         colorList << m_pPaneContainer->dataSeriesColor(0).name(QColor::HexArgb);
    100         colorList << m_pPaneContainer->dataSeriesColor(1).name(QColor::HexArgb);
    101         gEDataManager->setVMActivityMonitorDataSeriesColors(colorList);
    102     }
    103 }
    10464
    10565QMenu *UIVMActivityToolWidget::menu() const
     
    12181{
    12282    QVBoxLayout *pMainLayout = new QVBoxLayout(this);
    123 
    124     m_pTabWidget = new QTabWidget(this);
    125     m_pTabWidget->setTabPosition(QTabWidget::East);
    126     m_pTabWidget->setTabBarAutoHide(true);
    127 
    128     pMainLayout->addWidget(m_pTabWidget);
    129 
    130 
    131     m_pPaneContainer = new UIVMActivityMonitorPaneContainer(this, m_enmEmbedding);
    132     m_pPaneContainer->hide();
    133     pMainLayout->addWidget(m_pPaneContainer);
    134     connect(m_pTabWidget, &QTabWidget::currentChanged,
    135             this, &UIVMActivityToolWidget::sltCurrentTabChanged);
    136     connect(m_pPaneContainer, &UIVMActivityMonitorPaneContainer::sigColorChanged,
    137             this, &UIVMActivityToolWidget::sltDataSeriesColorChanged);
     83    pMainLayout->setContentsMargins(0, 0, 0, 0);
     84    m_pMonitorContainer = new UIVMActivityMonitorContainer(this, m_pActionPool, m_enmEmbedding);
     85    pMainLayout->addWidget(m_pMonitorContainer);
    13886}
    13987
     
    167115    m_machineIds = machineIds;
    168116
    169     removeTabs(unselectedMachines);
     117    m_pMonitorContainer->removeTabs(unselectedMachines);
    170118    addTabs(newSelections);
    171119}
     
    177125    if (pToResourcesAction)
    178126        connect(pToResourcesAction, &QAction::triggered, this, &UIVMActivityToolWidget::sigSwitchToActivityOverviewPane);
    179 
    180     m_pExportToFileAction =
    181         m_pActionPool->action(UIActionIndex_M_Activity_S_Export);
    182     if (m_pExportToFileAction)
    183         connect(m_pExportToFileAction, &QAction::triggered, this, &UIVMActivityToolWidget::sltExportToFile);
    184     if (m_pActionPool->action(UIActionIndex_M_Activity_T_Preferences))
    185         connect(m_pActionPool->action(UIActionIndex_M_Activity_T_Preferences), &QAction::toggled,
    186                 this, &UIVMActivityToolWidget::sltTogglePreferencesPane);
    187127}
    188128
     
    212152}
    213153
    214 void UIVMActivityToolWidget::removeTabs(const QVector<QUuid> &machineIdsToRemove)
    215 {
    216     AssertReturnVoid(m_pTabWidget);
    217     QVector<UIVMActivityMonitor*> removeList;
    218 
    219     for (int i = m_pTabWidget->count() - 1; i >= 0; --i)
    220     {
    221         UIVMActivityMonitor *pMonitor = qobject_cast<UIVMActivityMonitor*>(m_pTabWidget->widget(i));
    222         if (!pMonitor)
    223             continue;
    224         if (machineIdsToRemove.contains(pMonitor->machineId()))
    225         {
    226             removeList << pMonitor;
    227             m_pTabWidget->removeTab(i);
    228         }
    229     }
    230     qDeleteAll(removeList.begin(), removeList.end());
    231 }
    232 
    233154void UIVMActivityToolWidget::addTabs(const QList<UIVirtualMachineItem*> &machines)
    234155{
    235     AssertReturnVoid(m_pTabWidget);
     156    AssertReturnVoid(m_pMonitorContainer);
    236157    foreach (UIVirtualMachineItem* pMachine, machines)
    237158    {
     
    241162        {
    242163            CMachine comMachine = pMachine->toLocal()->machine();
    243             UIVMActivityMonitorLocal *pActivityMonitor = new UIVMActivityMonitorLocal(m_enmEmbedding, this, comMachine);
    244             if (m_pPaneContainer)
    245             {
    246                 pActivityMonitor->setDataSeriesColor(0, m_pPaneContainer->dataSeriesColor(0));
    247                 pActivityMonitor->setDataSeriesColor(1, m_pPaneContainer->dataSeriesColor(1));
    248             }
    249             m_pTabWidget->addTab(pActivityMonitor, comMachine.GetName());
     164            if (!comMachine.isOk())
     165                continue;
     166            m_pMonitorContainer->addLocalMachine(comMachine);
    250167            continue;
    251168        }
     
    255172            if (!comMachine.isOk())
    256173                continue;
    257             UIVMActivityMonitorCloud *pActivityMonitor = new UIVMActivityMonitorCloud(m_enmEmbedding, this, comMachine);
    258             if (m_pPaneContainer)
    259             {
    260                 pActivityMonitor->setDataSeriesColor(0, m_pPaneContainer->dataSeriesColor(0));
    261                 pActivityMonitor->setDataSeriesColor(1, m_pPaneContainer->dataSeriesColor(1));
    262             }
    263              m_pTabWidget->addTab(pActivityMonitor, comMachine.GetName());
     174            m_pMonitorContainer->addCloudMachine(comMachine);
    264175            continue;
    265176        }
    266177    }
    267178}
    268 
    269 void UIVMActivityToolWidget::sltExportToFile()
    270 {
    271     AssertReturnVoid(m_pTabWidget);
    272     UIVMActivityMonitor *pActivityMonitor = qobject_cast<UIVMActivityMonitor*>(m_pTabWidget->currentWidget());
    273     if (pActivityMonitor)
    274         pActivityMonitor->sltExportMetricsToFile();
    275 }
    276 
    277 void UIVMActivityToolWidget::sltCurrentTabChanged(int iIndex)
    278 {
    279     AssertReturnVoid(m_pTabWidget);
    280     Q_UNUSED(iIndex);
    281     UIVMActivityMonitor *pActivityMonitor = qobject_cast<UIVMActivityMonitor*>(m_pTabWidget->currentWidget());
    282     if (pActivityMonitor)
    283     {
    284         CMachine comMachine = gpGlobalSession->virtualBox().FindMachine(pActivityMonitor->machineId().toString());
    285         if (!comMachine.isNull())
    286         {
    287             setExportActionEnabled(comMachine.GetState() == KMachineState_Running);
    288         }
    289     }
    290 }
    291 
    292 void UIVMActivityToolWidget::sltTogglePreferencesPane(bool fChecked)
    293 {
    294     AssertReturnVoid(m_pPaneContainer);
    295     m_pPaneContainer->setVisible(fChecked);
    296 }
    297 
    298 void UIVMActivityToolWidget::sltDataSeriesColorChanged(int iIndex, const QColor &color)
    299 {
    300     for (int i = m_pTabWidget->count() - 1; i >= 0; --i)
    301     {
    302         UIVMActivityMonitor *pMonitor = qobject_cast<UIVMActivityMonitor*>(m_pTabWidget->widget(i));
    303         if (!pMonitor)
    304             continue;
    305         pMonitor->setDataSeriesColor(iIndex, color);
    306     }
    307     saveSettings();
    308 }
    309 
    310 void UIVMActivityToolWidget::setExportActionEnabled(bool fEnabled)
    311 {
    312     if (m_pExportToFileAction)
    313         m_pExportToFileAction->setEnabled(fEnabled);
    314 }
  • TabularUnified trunk/src/VBox/Frontends/VirtualBox/src/activity/vmactivity/UIVMActivityToolWidget.h

    r104452 r104458  
    4141
    4242/* Forward declarations: */
    43 class CMachine;
    4443class QIToolBar;
    45 class QTabWidget;
    4644class UIActionPool;
    4745class UIVirtualMachineItem;
    48 class UIVMActivityMonitorPaneContainer;
    49 
     46class UIVMActivityMonitorContainer;
    5047
    5148/** QTabWidget extension host machine activity widget(s) in the Manager UI. */
     
    7370#endif
    7471
    75 private slots:
    76 
    77     void sltExportToFile();
    78     void sltCurrentTabChanged(int iIndex);
    79     void sltTogglePreferencesPane(bool fChecked);
    80     void sltDataSeriesColorChanged(int iIndex, const QColor &color);
    81 
    8272private:
    8373
    84     void loadSettings();
    85     void saveSettings();
    8674    void setMachines(const QList<UIVirtualMachineItem*> &machines);
    8775    /** @name Prepare/cleanup cascade.
     
    9381    /** @} */
    9482
    95     /** Remove tabs conaining machine monitors with ids @machineIdsToRemove. */
    96     void removeTabs(const QVector<QUuid> &machineIdsToRemove);
    9783    /** Add new tabs for each QUuid in @machineIdsToAdd. Does not check for duplicates. */
    9884    void addTabs(const QList<UIVirtualMachineItem*> &machines);
     
    10793
    10894    QIToolBar *m_pToolBar;
    109 
    11095    /** Indicates if this widget's host tool is current tool. */
    11196    bool    m_fIsCurrentTool;
    11297    QVector<QUuid> m_machineIds;
    113     QAction *m_pExportToFileAction;
    114     UIVMActivityMonitorPaneContainer *m_pPaneContainer;
    115     QTabWidget *m_pTabWidget;
    116     //QColor m_dataSeriesColor[2];
     98    UIVMActivityMonitorContainer *m_pMonitorContainer;
    11799};
    118100
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