VirtualBox

Changeset 83610 in vbox for trunk


Ignore:
Timestamp:
Apr 7, 2020 1:06:11 PM (5 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
137016
Message:

FE/Qt: bugref:9686. Working on the dialog menu. take 2

Location:
trunk/src/VBox/Frontends/VirtualBox/src/monitor/resource
Files:
2 edited

Legend:

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

    r83601 r83610  
    12711271    , m_pProxyModel(0)
    12721272    , m_pModel(0)
     1273    , m_pColumnVisibilityToggleMenu(0)
    12731274    , m_pHostStatsWidget(0)
    1274     , m_pColumnSelectionMenu(0)
    12751275    , m_fIsCurrentTool(true)
    12761276{
     
    12871287{
    12881288    return NULL;
     1289}
     1290
     1291QMenu *UIResourceMonitorWidget::columnVisiblityToggleMenu() const
     1292{
     1293    return m_pColumnVisibilityToggleMenu;
    12891294}
    12901295
     
    14031408void UIResourceMonitorWidget::prepareActions()
    14041409{
     1410    m_pColumnVisibilityToggleMenu = new QMenu(this);
     1411    for (int i = 0; i < VMResourceMonitorColumn_Max; ++i)
     1412    {
     1413        QAction *pAction = m_pColumnVisibilityToggleMenu->addAction(m_columnCaptions[i]);
     1414        pAction->setCheckable(true);
     1415    }
     1416
    14051417    connect(m_pActionPool->action(UIActionIndexST_M_VMResourceMonitor_T_Columns), &QAction::toggled,
    14061418            this, &UIResourceMonitorWidget::sltToggleColumnSelectionMenu);
    1407     m_pColumnSelectionMenu  = new QFrame(this);
    1408     m_pColumnSelectionMenu->setAutoFillBackground(true);
    1409     m_pColumnSelectionMenu->setFrameStyle(QFrame::Panel | QFrame::Plain);
    1410     m_pColumnSelectionMenu->hide();
    1411     QVBoxLayout* pLayout = new QVBoxLayout(m_pColumnSelectionMenu);
    1412     int iLength = 0;
    1413     for (int i = 0; i < VMResourceMonitorColumn_Max; ++i)
    1414     {
    1415         UIVMResourceMonitorCheckBox* pCheckBox = new UIVMResourceMonitorCheckBox;
    1416         QString strCaption = m_columnCaptions.value((VMResourceMonitorColumn)i, QString());
    1417         pCheckBox->setText(strCaption);
    1418         iLength = strCaption.length() > iLength ? strCaption.length() : iLength;
    1419         if (!pCheckBox)
    1420             continue;
    1421         pLayout->addWidget(pCheckBox);
    1422         pCheckBox->setData(i);
    1423         pCheckBox->setChecked(columnVisible(i));
    1424         if (i == (int)VMResourceMonitorColumn_Name)
    1425             pCheckBox->setEnabled(false);
    1426         connect(pCheckBox, &UIVMResourceMonitorCheckBox::toggled, this, &UIResourceMonitorWidget::sltHandleColumnAction);
    1427     }
    1428     QFontMetrics fontMetrics(m_pColumnSelectionMenu->font());
    1429     int iWidth = iLength * fontMetrics.width('x') +
    1430         QApplication::style()->pixelMetric(QStyle::PM_IndicatorWidth) +
    1431         2 * QApplication::style()->pixelMetric(QStyle::PM_LayoutLeftMargin) +
    1432         2 * QApplication::style()->pixelMetric(QStyle::PM_LayoutRightMargin);
    1433     m_pColumnSelectionMenu->setFixedWidth(iWidth);
     1419    return;
     1420//     m_pColumnSelectionMenu->setAutoFillBackground(true);
     1421//     m_pColumnSelectionMenu->setFrameStyle(QFrame::Panel | QFrame::Plain);
     1422//     m_pColumnSelectionMenu->hide();
     1423//     QVBoxLayout* pLayout = new QVBoxLayout(m_pColumnSelectionMenu);
     1424//     int iLength = 0;
     1425//     for (int i = 0; i < VMResourceMonitorColumn_Max; ++i)
     1426//     {
     1427//         UIVMResourceMonitorCheckBox* pCheckBox = new UIVMResourceMonitorCheckBox;
     1428//         QString strCaption = m_columnCaptions.value((VMResourceMonitorColumn)i, QString());
     1429//         pCheckBox->setText(strCaption);
     1430//         iLength = strCaption.length() > iLength ? strCaption.length() : iLength;
     1431//         if (!pCheckBox)
     1432//             continue;
     1433//         pLayout->addWidget(pCheckBox);
     1434//         pCheckBox->setData(i);
     1435//         pCheckBox->setChecked(columnVisible(i));
     1436//         if (i == (int)VMResourceMonitorColumn_Name)
     1437//             pCheckBox->setEnabled(false);
     1438//         connect(pCheckBox, &UIVMResourceMonitorCheckBox::toggled, this, &UIResourceMonitorWidget::sltHandleColumnAction);
     1439//     }
     1440//     QFontMetrics fontMetrics(m_pColumnSelectionMenu->font());
     1441//     int iWidth = iLength * fontMetrics.width('x') +
     1442//         QApplication::style()->pixelMetric(QStyle::PM_IndicatorWidth) +
     1443//         2 * QApplication::style()->pixelMetric(QStyle::PM_LayoutLeftMargin) +
     1444//         2 * QApplication::style()->pixelMetric(QStyle::PM_LayoutRightMargin);
     1445//     m_pColumnSelectionMenu->setFixedWidth(iWidth);
    14341446}
    14351447
     
    14851497void UIResourceMonitorWidget::sltToggleColumnSelectionMenu(bool fChecked)
    14861498{
    1487     if (!m_pColumnSelectionMenu)
     1499    (void)fChecked;
     1500    if (!m_pColumnVisibilityToggleMenu)
    14881501        return;
    1489     m_pColumnSelectionMenu->setVisible(fChecked);
    1490 
    1491     if (fChecked)
    1492     {
    1493         m_pColumnSelectionMenu->move(0, 0);
    1494         m_pColumnSelectionMenu->raise();
    1495         m_pColumnSelectionMenu->resize(400, 400);
    1496         m_pColumnSelectionMenu->show();
    1497         m_pColumnSelectionMenu->setFocus();
    1498     }
    1499     else
    1500         m_pColumnSelectionMenu->hide();
    1501     update();
     1502    m_pColumnVisibilityToggleMenu->exec(this->mapToGlobal(QPoint(0,0)));
     1503
     1504    // if (!m_pColumnSelectionMenu)
     1505    //     return;
     1506    // m_pColumnSelectionMenu->setVisible(fChecked);
     1507
     1508    // if (fChecked)
     1509    // {
     1510    //     m_pColumnSelectionMenu->move(0, 0);
     1511    //     m_pColumnSelectionMenu->raise();
     1512    //     m_pColumnSelectionMenu->resize(400, 400);
     1513    //     m_pColumnSelectionMenu->show();
     1514    //     m_pColumnSelectionMenu->setFocus();
     1515    // }
     1516    // else
     1517    //     m_pColumnSelectionMenu->hide();
     1518    //update();
    15021519}
    15031520
  • trunk/src/VBox/Frontends/VirtualBox/src/monitor/resource/UIResourceMonitor.h

    r83600 r83610  
    5757                               bool fShowToolbar = true, QWidget *pParent = 0);
    5858    ~UIResourceMonitorWidget();
     59    QMenu *columnVisiblityToggleMenu() const;
    5960    QMenu *menu() const;
    6061
     
    115116        UIResourceMonitorProxyModel        *m_pProxyModel;
    116117        UIResourceMonitorModel             *m_pModel;
     118        QMenu                              *m_pColumnVisibilityToggleMenu;
    117119        /* The key is the column id (VMResourceMonitorColumn) and value is column title. */
    118120        QMap<int, QString>                  m_columnCaptions;
     
    123125
    124126    /** @} */
    125     QFrame *m_pColumnSelectionMenu;
    126127    /** Indicates if this widget's host tool is current tool. */
    127128    bool    m_fIsCurrentTool;
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