Changeset 88262 in vbox for trunk/src/VBox/Frontends/VirtualBox
- Timestamp:
- Mar 23, 2021 2:17:57 PM (4 years ago)
- svn:sync-xref-src-repo-rev:
- 143466
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIToolBox.cpp
r88066 r88262 19 19 #include <QCheckBox> 20 20 #include <QLabel> 21 #include <QPainter> 21 22 #include <QStyle> 22 23 #include <QVBoxLayout> 24 #include <QStyle> 25 #include <QStyleOptionToolBox> 23 26 24 27 /* GUI includes: */ … … 29 32 #include "UIToolBox.h" 30 33 #include "UIWizardNewVM.h" 34 35 class UIToolBoxPageButton : public QAbstractButton 36 { 37 Q_OBJECT; 38 public: 39 UIToolBoxPageButton(QWidget *pParent = 0); 40 virtual void paintEvent(QPaintEvent *pEvent) /* override */; 41 QSize sizeHint() const /* override */; 42 43 }; 44 45 UIToolBoxPageButton::UIToolBoxPageButton(QWidget *pParent /* = 0 */) 46 : QAbstractButton(pParent) 47 { 48 setBackgroundRole(QPalette::Window); 49 //setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Minimum); 50 setFocusPolicy(Qt::NoFocus); 51 52 } 53 54 void UIToolBoxPageButton::paintEvent(QPaintEvent *pEvent) 55 { 56 57 Q_UNUSED(pEvent); 58 QPainter painter(this); 59 60 // QFontMetrics metrics = fontMetrics(); 61 // painter.drawText(QRect(0, 0, metrics.averageCharWidth() * text().length(), metrics.height()), 62 // Qt::TextShowMnemonic, 63 // text()); 64 65 QStyleOptionToolBox opt; 66 opt.initFrom(this); 67 opt.text = text(); 68 opt.state |= QStyle::State_Selected; 69 style()->drawControl(QStyle::CE_ToolBoxTabLabel, &opt, &painter, parentWidget()); 70 } 71 72 QSize UIToolBoxPageButton::sizeHint() const 73 { 74 QFontMetrics metrics = fontMetrics(); 75 return QSize(metrics.averageCharWidth() * text().length(), metrics.height()); 76 } 31 77 32 78 /********************************************************************************************************************************* … … 65 111 66 112 void sltHandleEnableToggle(int iState); 67 113 void sltTitleButtonClicked(); 68 114 private: 69 115 … … 74 120 QVBoxLayout *m_pLayout; 75 121 QWidget *m_pTitleContainerWidget; 76 QLabel *m_pTitleLabel;77 122 QLabel *m_pIconLabel; 78 123 QLabel *m_pExpandCollapseIconLabel; … … 83 128 bool m_fExpandCollapseIconVisible; 84 129 QIcon m_expandCollapseIcon; 130 UIToolBoxPageButton *m_pTitleButton; 85 131 }; 86 132 … … 94 140 , m_pLayout(0) 95 141 , m_pTitleContainerWidget(0) 96 , m_pTitleLabel(0)97 142 , m_pIconLabel(0) 98 143 , m_pExpandCollapseIconLabel(0) … … 101 146 , m_iIndex(0) 102 147 , m_fExpandCollapseIconVisible(true) 148 , m_pTitleButton(0) 103 149 { 104 150 prepare(fEnableCheckBoxEnabled); … … 107 153 void UIToolBoxPage::setTitle(const QString &strTitle) 108 154 { 109 if (!m_pTitleLabel) 110 return; 111 m_pTitleLabel->setText(strTitle); 155 if (m_pTitleButton) 156 m_pTitleButton->setText(strTitle); 112 157 } 113 158 … … 138 183 } 139 184 140 m_pTitle Label = new QLabel;141 m_pTitleLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);142 143 pTitleLayout->addWidget(m_pTitleLabel);185 m_pTitleButton = new UIToolBoxPageButton; 186 pTitleLayout->addWidget(m_pTitleButton); 187 connect(m_pTitleButton, &UIToolBoxPageButton::clicked, 188 this, &UIToolBoxPage::sltTitleButtonClicked); 144 189 m_pIconLabel = new QLabel; 145 190 pTitleLayout->addWidget(m_pIconLabel, Qt::AlignLeft); … … 166 211 void UIToolBoxPage::setTitleBackgroundColor(const QColor &color) 167 212 { 168 if (!m_pTitleLabel)169 return;170 213 QPalette palette = m_pTitleContainerWidget->palette(); 171 214 palette.setColor(QPalette::Window, color); … … 240 283 if (m_pWidget) 241 284 m_pWidget->setEnabled(iState == Qt::Checked); 285 } 286 287 void UIToolBoxPage::sltTitleButtonClicked() 288 { 289 emit sigShowPageWidget(); 242 290 } 243 291 -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageExpert.cpp
r88250 r88262 164 164 if (m_pToolBox) 165 165 { 166 m_pToolBox->setPageTitle(ExpertToolboxItems_NameAndOSType, QString(UIWizardNewVM::tr("Name and Operating System")));167 m_pToolBox->setPageTitle(ExpertToolboxItems_Unattended, UIWizardNewVM::tr("Unatt ended Install"));168 m_pToolBox->setPageTitle(ExpertToolboxItems_Disk, UIWizardNewVM::tr("Hard Disk"));169 m_pToolBox->setPageTitle(ExpertToolboxItems_Hardware, UIWizardNewVM::tr(" Hardware"));166 m_pToolBox->setPageTitle(ExpertToolboxItems_NameAndOSType, QString(UIWizardNewVM::tr("Name and &Operating System"))); 167 m_pToolBox->setPageTitle(ExpertToolboxItems_Unattended, UIWizardNewVM::tr("Unatt&ended Install")); 168 m_pToolBox->setPageTitle(ExpertToolboxItems_Disk, UIWizardNewVM::tr("Hard &Disk")); 169 m_pToolBox->setPageTitle(ExpertToolboxItems_Hardware, UIWizardNewVM::tr("&Hardware")); 170 170 } 171 171
Note:
See TracChangeset
for help on using the changeset viewer.