- Timestamp:
- Apr 7, 2020 1:06:11 PM (5 years ago)
- svn:sync-xref-src-repo-rev:
- 137016
- 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 1271 1271 , m_pProxyModel(0) 1272 1272 , m_pModel(0) 1273 , m_pColumnVisibilityToggleMenu(0) 1273 1274 , m_pHostStatsWidget(0) 1274 , m_pColumnSelectionMenu(0)1275 1275 , m_fIsCurrentTool(true) 1276 1276 { … … 1287 1287 { 1288 1288 return NULL; 1289 } 1290 1291 QMenu *UIResourceMonitorWidget::columnVisiblityToggleMenu() const 1292 { 1293 return m_pColumnVisibilityToggleMenu; 1289 1294 } 1290 1295 … … 1403 1408 void UIResourceMonitorWidget::prepareActions() 1404 1409 { 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 1405 1417 connect(m_pActionPool->action(UIActionIndexST_M_VMResourceMonitor_T_Columns), &QAction::toggled, 1406 1418 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); 1434 1446 } 1435 1447 … … 1485 1497 void UIResourceMonitorWidget::sltToggleColumnSelectionMenu(bool fChecked) 1486 1498 { 1487 if (!m_pColumnSelectionMenu) 1499 (void)fChecked; 1500 if (!m_pColumnVisibilityToggleMenu) 1488 1501 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(); 1502 1519 } 1503 1520 -
trunk/src/VBox/Frontends/VirtualBox/src/monitor/resource/UIResourceMonitor.h
r83600 r83610 57 57 bool fShowToolbar = true, QWidget *pParent = 0); 58 58 ~UIResourceMonitorWidget(); 59 QMenu *columnVisiblityToggleMenu() const; 59 60 QMenu *menu() const; 60 61 … … 115 116 UIResourceMonitorProxyModel *m_pProxyModel; 116 117 UIResourceMonitorModel *m_pModel; 118 QMenu *m_pColumnVisibilityToggleMenu; 117 119 /* The key is the column id (VMResourceMonitorColumn) and value is column title. */ 118 120 QMap<int, QString> m_columnCaptions; … … 123 125 124 126 /** @} */ 125 QFrame *m_pColumnSelectionMenu;126 127 /** Indicates if this widget's host tool is current tool. */ 127 128 bool m_fIsCurrentTool;
Note:
See TracChangeset
for help on using the changeset viewer.