Changeset 102729 in vbox for trunk/src/VBox/Frontends
- Timestamp:
- Dec 29, 2023 3:50:33 PM (16 months ago)
- svn:sync-xref-src-repo-rev:
- 160901
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src/widgets
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIPaneContainer.cpp
r102727 r102729 27 27 28 28 /* Qt includes: */ 29 #include <QAbstractButton> 29 30 #include <QComboBox> 30 31 #include <QLabel> … … 78 79 pLayout->addWidget(m_pTabWidget); 79 80 80 /* Add the button-box: */ 81 QWidget *pContainer = new QWidget; 82 AssertReturnVoid(pContainer); 83 pContainer->setVisible(m_enmEmbedTo == EmbedTo_Stack && m_fDetachAllowed); 84 QHBoxLayout *pSubLayout = new QHBoxLayout(pContainer); 85 AssertReturnVoid(pSubLayout); 86 const int iL = qApp->style()->pixelMetric(QStyle::PM_LayoutLeftMargin); 87 const int iR = qApp->style()->pixelMetric(QStyle::PM_LayoutRightMargin); 88 const int iB = qApp->style()->pixelMetric(QStyle::PM_LayoutBottomMargin); 89 pSubLayout->setContentsMargins(iL, 0, iR, iB); 90 m_pButtonBox = new QIDialogButtonBox; 91 AssertReturnVoid(m_pButtonBox); 92 m_pButtonBox->setStandardButtons(QDialogButtonBox::Cancel); 93 connect(m_pButtonBox->button(QIDialogButtonBox::Cancel), &QPushButton::pressed, 94 this, &UIPaneContainer::sigDetach); 95 pSubLayout->addWidget(m_pButtonBox); 96 pLayout->addWidget(pContainer); 81 /* If parent embedded into stack: */ 82 if (m_enmEmbedTo == EmbedTo_Stack && m_fDetachAllowed) 83 { 84 /* Add the button-box: */ 85 QWidget *pContainer = new QWidget; 86 AssertReturnVoid(pContainer); 87 QHBoxLayout *pSubLayout = new QHBoxLayout(pContainer); 88 AssertReturnVoid(pSubLayout); 89 const int iL = qApp->style()->pixelMetric(QStyle::PM_LayoutLeftMargin); 90 const int iR = qApp->style()->pixelMetric(QStyle::PM_LayoutRightMargin); 91 const int iB = qApp->style()->pixelMetric(QStyle::PM_LayoutBottomMargin); 92 pSubLayout->setContentsMargins(iL, 0, iR, iB); 93 m_pButtonBox = new QIDialogButtonBox; 94 AssertReturnVoid(m_pButtonBox); 95 m_pButtonBox->setStandardButtons(QDialogButtonBox::Cancel); 96 connect(m_pButtonBox, &QIDialogButtonBox::clicked, this, &UIPaneContainer::sltHandleButtonBoxClick); 97 pSubLayout->addWidget(m_pButtonBox); 98 pLayout->addWidget(pContainer); 99 } 97 100 } 98 101 … … 101 104 hide(); 102 105 emit sigHidden(); 106 } 107 108 void UIPaneContainer::sltHandleButtonBoxClick(QAbstractButton *pButton) 109 { 110 /* Make sure button-box exists: */ 111 AssertPtrReturnVoid(m_pButtonBox); 112 113 /* Disable buttons first of all: */ 114 m_pButtonBox->button(QDialogButtonBox::Cancel)->setEnabled(false); 115 116 /* Compare with known buttons: */ 117 if (pButton == m_pButtonBox->button(QDialogButtonBox::Cancel)) 118 emit sigDetach(); 103 119 } 104 120 -
trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIPaneContainer.h
r102727 r102729 41 41 42 42 /* Forward declarations: */ 43 class QAbstractButton; 43 44 class QHBoxLayout; 44 45 class QIDialogButtonBox; … … 72 73 void sltHide(); 73 74 75 void sltHandleButtonBoxClick(QAbstractButton *pButton); 76 74 77 private: 75 78
Note:
See TracChangeset
for help on using the changeset viewer.