- Timestamp:
- Jul 28, 2021 3:30:17 PM (4 years ago)
- svn:sync-xref-src-repo-rev:
- 145953
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src/wizards
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVD.cpp
r90370 r90372 44 44 , m_strDefaultPath(strDefaultPath) 45 45 , m_uDefaultSize(uDefaultSize) 46 , m_iMediumVariantPageIndex(-1) 46 47 { 47 48 #ifndef VBOX_WS_MAC … … 72 73 { 73 74 m_comMediumFormat = mediumFormat; 75 if (mode() == WizardMode_Basic) 76 setMediumVariantPageVisibility(); 74 77 } 75 78 … … 102 105 { 103 106 addPage(new UIWizardNewVDPageFileType); 104 addPage(new UIWizardNewVDPageVariant);107 m_iMediumVariantPageIndex = addPage(new UIWizardNewVDPageVariant); 105 108 addPage(new UIWizardNewVDPageSizeLocation(m_strDefaultName, m_strDefaultPath, m_uDefaultSize)); 106 109 break; … … 167 170 setWindowTitle(tr("Create Virtual Hard Disk")); 168 171 } 172 173 void UIWizardNewVD::setMediumVariantPageVisibility() 174 { 175 AssertReturnVoid(!m_comMediumFormat.isNull()); 176 ULONG uCapabilities = 0; 177 QVector<KMediumFormatCapabilities> capabilities; 178 capabilities = m_comMediumFormat.GetCapabilities(); 179 for (int i = 0; i < capabilities.size(); i++) 180 uCapabilities |= capabilities[i]; 181 182 int cTest = 0; 183 if (uCapabilities & KMediumFormatCapabilities_CreateDynamic) 184 ++cTest; 185 if (uCapabilities & KMediumFormatCapabilities_CreateFixed) 186 ++cTest; 187 if (uCapabilities & KMediumFormatCapabilities_CreateSplit2G) 188 ++cTest; 189 setPageVisible(m_iMediumVariantPageIndex, cTest > 1); 190 } -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVD.h
r90370 r90372 72 72 private: 73 73 74 /* Translation stuff: */75 74 void retranslateUi(); 76 75 /** Check medium capabilities and decide if medium variant page should be hidden. */ 76 void setMediumVariantPageVisibility(); 77 77 qulonglong m_uMediumVariant; 78 78 CMediumFormat m_comMediumFormat; … … 84 84 QString m_strDefaultPath; 85 85 qulonglong m_uDefaultSize; 86 int m_iMediumVariantPageIndex; 86 87 }; 87 88 -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageFileType.cpp
r90370 r90372 103 103 return true; 104 104 } 105 106 // int UIWizardNewVDPageFileType::nextId() const107 // {108 // /* Show variant page only if there is something to show: */109 // CMediumFormat mf = mediumFormat();110 // if (mf.isNull())111 // {112 // AssertMsgFailed(("No medium format set!"));113 // }114 // else115 // {116 // ULONG uCapabilities = 0;117 // QVector<KMediumFormatCapabilities> capabilities;118 // capabilities = mf.GetCapabilities();119 // for (int i = 0; i < capabilities.size(); i++)120 // uCapabilities |= capabilities[i];121 122 // int cTest = 0;123 // if (uCapabilities & KMediumFormatCapabilities_CreateDynamic)124 // ++cTest;125 // if (uCapabilities & KMediumFormatCapabilities_CreateFixed)126 // ++cTest;127 // if (uCapabilities & KMediumFormatCapabilities_CreateSplit2G)128 // ++cTest;129 // if (cTest > 1)130 // return UIWizardNewVD::Page2;131 // }132 // /* Skip otherwise: */133 // return UIWizardNewVD::Page3;134 // } -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageVariant.cpp
r90370 r90372 146 146 m_pVariantGroupBox = new UIDiskVariantGroupBox(false, 0); 147 147 pMainLayout->addWidget(m_pVariantGroupBox); 148 149 148 pMainLayout->addStretch(); 150 149 150 connect(m_pVariantGroupBox, &UIDiskVariantGroupBox::sigMediumVariantChanged, 151 this, &UIWizardNewVDPageVariant::sltMediumVariantChanged); 151 152 retranslateUi(); 152 153 … … 191 192 retranslateUi(); 192 193 UIWizardNewVD *pWizard = qobject_cast<UIWizardNewVD*>(wizard()); 193 AssertReturnVoid(pWizard );194 AssertReturnVoid(pWizard && m_pVariantGroupBox); 194 195 setWidgetVisibility(pWizard->mediumFormat()); 196 newVDWizardPropertySet(MediumVariant, m_pVariantGroupBox->mediumVariant()); 195 197 } 196 198 197 199 bool UIWizardNewVDPageVariant::isComplete() const 198 200 { 199 //return mediumVariant() != (qulonglong)KMediumVariant_Max;200 return true;201 } 202 201 if (m_pVariantGroupBox && m_pVariantGroupBox->mediumVariant() != (qulonglong)KMediumVariant_Max) 202 return true; 203 return false; 204 } 203 205 204 206 void UIWizardNewVDPageVariant::setWidgetVisibility(const CMediumFormat &mediumFormat) … … 215 217 m_pSplitLabel->setHidden(!m_pVariantGroupBox->isCreateSplitPossible()); 216 218 } 219 220 void UIWizardNewVDPageVariant::sltMediumVariantChanged(qulonglong uVariant) 221 { 222 newVDWizardPropertySet(MediumVariant, uVariant); 223 } -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageVariant.h
r90370 r90372 58 58 UIWizardNewVDPageVariant(); 59 59 60 private slots: 61 62 void sltMediumVariantChanged(qulonglong uVariant); 63 60 64 private: 61 65 -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVM.h
r90157 r90372 82 82 void deleteVirtualDisk(); 83 83 84 85 84 CMedium &virtualDisk(); 86 85 void setVirtualDisk(const CMedium &medium);
Note:
See TracChangeset
for help on using the changeset viewer.