- Timestamp:
- Aug 24, 2021 5:34:35 PM (3 years ago)
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src/wizards
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/wizards/clonevd/UIWizardCloneVDPageExpert.cpp
r90827 r90854 34 34 , m_pVariantGroupBox(0) 35 35 , m_pMediumSizePathGroupBox(0) 36 36 , m_enmDeviceType(enmDeviceType) 37 37 { 38 38 prepare(enmDeviceType, uSourceDiskLogicaSize); … … 77 77 if (cloneWizard() && m_pFormatGroupBox) 78 78 cloneWizard()->setMediumFormat(m_pFormatGroupBox->mediumFormat()); 79 updateDiskWidgetsAfterMediumFormatChange(); 79 80 emit completeChanged(); 80 81 } … … 134 135 135 136 pWizard->setMediumVariant(m_pVariantGroupBox->mediumVariant()); 136 m_pVariantGroupBox-> setWidgetVisibility(pWizard->mediumFormat());137 m_pVariantGroupBox->updateMediumVariantWidgetsAfterFormatChange(pWizard->mediumFormat()); 137 138 138 139 /* Initialize medium size widget and wizard's medium size parameter: */ … … 188 189 return qobject_cast<UIWizardCloneVD*>(wizard()); 189 190 } 191 192 void UIWizardCloneVDPageExpert::updateDiskWidgetsAfterMediumFormatChange() 193 { 194 UIWizardCloneVD *pWizard = qobject_cast<UIWizardCloneVD*>(wizard()); 195 AssertReturnVoid(pWizard && m_pVariantGroupBox && m_pMediumSizePathGroupBox && m_pFormatGroupBox); 196 const CMediumFormat &comMediumFormat = pWizard->mediumFormat(); 197 AssertReturnVoid(!comMediumFormat.isNull()); 198 199 m_pVariantGroupBox->blockSignals(true); 200 m_pVariantGroupBox->updateMediumVariantWidgetsAfterFormatChange(comMediumFormat); 201 m_pVariantGroupBox->blockSignals(false); 202 203 m_pMediumSizePathGroupBox->blockSignals(true); 204 m_pMediumSizePathGroupBox->updateMediumPath(comMediumFormat, m_pFormatGroupBox->formatExtensions(), m_enmDeviceType); 205 m_pMediumSizePathGroupBox->blockSignals(false); 206 /* Update the wizard parameters explicitly since we blocked th signals: */ 207 pWizard->setMediumPath(m_pMediumSizePathGroupBox->mediumPath()); 208 pWizard->setMediumVariant(m_pVariantGroupBox->mediumVariant()); 209 } -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/clonevd/UIWizardCloneVDPageExpert.h
r90827 r90854 76 76 void setTargetLocation(); 77 77 UIWizardCloneVD *cloneWizard(); 78 void updateDiskWidgetsAfterMediumFormatChange(); 78 79 79 80 UIDiskFormatsGroupBox *m_pFormatGroupBox; 80 81 UIDiskVariantGroupBox *m_pVariantGroupBox; 81 82 UIMediumSizeAndPathGroupBox *m_pMediumSizePathGroupBox; 83 KDeviceType m_enmDeviceType; 82 84 }; 83 85 -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/clonevd/UIWizardCloneVDPageVariant.cpp
r90827 r90854 116 116 AssertReturnVoid(m_pVariantGroupBox); 117 117 118 m_pVariantGroupBox->updateMediumVariantWidgetsAfterFormatChange(mediumFormat , true /* hide disabled widgets*/);118 m_pVariantGroupBox->updateMediumVariantWidgetsAfterFormatChange(mediumFormat); 119 119 120 120 if (m_pDynamicLabel) -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/editors/UIWizardDiskEditors.cpp
r90800 r90854 350 350 { 351 351 m_pSplitBox->setText(tr("&Split into files of less than 2GB")); 352 m_pSplitBox->setToolTip(tr("&When checked the virtual disk file will be splitted into 2GB parts in the host storage.")); 352 m_pSplitBox->setToolTip(tr("<p>Possible only for some hard disk file types. When checked the virtual disk file will " 353 "be splitted into 2GB parts in the host storage.</p>")); 353 354 } 354 355 } … … 386 387 } 387 388 388 void UIDiskVariantGroupBox::setWidgetVisibility(const CMediumFormat &mediumFormat) 389 { 389 void UIDiskVariantGroupBox::updateMediumVariantWidgetsAfterFormatChange(const CMediumFormat &mediumFormat) 390 { 391 AssertReturnVoid(m_pFixedCheckBox && m_pSplitBox); 390 392 ULONG uCapabilities = 0; 391 393 QVector<KMediumFormatCapabilities> capabilities; … … 394 396 uCapabilities |= capabilities[i]; 395 397 396 bool m_fIsCreateDynamicPossible = uCapabilities & KMediumFormatCapabilities_CreateDynamic;397 bool m_fIsCreateFixedPossible = uCapabilities & KMediumFormatCapabilities_CreateFixed;398 bool m_fIsCreateSplitPossible = uCapabilities & KMediumFormatCapabilities_CreateSplit2G;399 if (m_pFixedCheckBox)400 {401 if (!m_fIsCreateDynamicPossible)402 {403 m_pFixedCheckBox->setChecked(true);404 m_pFixedCheckBox->setEnabled(false);405 }406 if (!m_fIsCreateFixedPossible)407 {408 m_pFixedCheckBox->setChecked(false);409 m_pFixedCheckBox->setEnabled(false);410 }411 }412 if (m_pFixedCheckBox)413 m_pFixedCheckBox->setHidden(!m_fIsCreateFixedPossible);414 if (m_pSplitBox)415 {416 m_pSplitBox->setHidden(!m_fIsCreateSplitPossible);417 if (!m_fIsCreateSplitPossible)418 m_pSplitBox->setChecked(false);419 }420 }421 422 void UIDiskVariantGroupBox::updateMediumVariantWidgetsAfterFormatChange(const CMediumFormat &mediumFormat,423 bool fHideDisabled /* = false */)424 {425 ULONG uCapabilities = 0;426 QVector<KMediumFormatCapabilities> capabilities;427 capabilities = mediumFormat.GetCapabilities();428 for (int i = 0; i < capabilities.size(); i++)429 uCapabilities |= capabilities[i];430 431 398 m_fIsCreateDynamicPossible = uCapabilities & KMediumFormatCapabilities_CreateDynamic; 432 399 m_fIsCreateFixedPossible = uCapabilities & KMediumFormatCapabilities_CreateFixed; 433 400 m_fIsCreateSplitPossible = uCapabilities & KMediumFormatCapabilities_CreateSplit2G; 434 401 435 if (m_pFixedCheckBox) 436 { 437 m_pFixedCheckBox->setEnabled(m_fIsCreateDynamicPossible || m_fIsCreateFixedPossible); 438 if (!m_fIsCreateDynamicPossible) 439 m_pFixedCheckBox->setChecked(true); 440 if (!m_fIsCreateFixedPossible) 441 m_pFixedCheckBox->setChecked(false); 442 } 402 m_pFixedCheckBox->setEnabled(true); 403 if (!m_fIsCreateDynamicPossible) 404 { 405 m_pFixedCheckBox->setChecked(true); 406 m_pFixedCheckBox->setEnabled(false); 407 } 408 if (!m_fIsCreateFixedPossible) 409 { 410 m_pFixedCheckBox->setChecked(false); 411 m_pFixedCheckBox->setEnabled(false); 412 } 413 443 414 m_pSplitBox->setEnabled(m_fIsCreateSplitPossible); 444 445 if (fHideDisabled) 446 { 447 m_pFixedCheckBox->setHidden(!m_pFixedCheckBox->isEnabled()); 448 m_pSplitBox->setHidden(!m_pSplitBox->isEnabled()); 449 } 450 /* Deselect split box if it is disabled: */ 451 if (!m_pSplitBox->isEnabled()) 415 if (!m_fIsCreateSplitPossible) 452 416 m_pSplitBox->setChecked(false); 453 417 emit sigMediumVariantChanged(mediumVariant()); -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/editors/UIWizardDiskEditors.h
r90800 r90854 112 112 113 113 UIDiskVariantGroupBox(bool fExpertMode, QWidget *pParent = 0); 114 void updateMediumVariantWidgetsAfterFormatChange(const CMediumFormat &mediumFormat , bool fHideDisabled = false);114 void updateMediumVariantWidgetsAfterFormatChange(const CMediumFormat &mediumFormat); 115 115 qulonglong mediumVariant() const; 116 116 void setMediumVariant(qulonglong uMediumVariant); 117 void setWidgetVisibility(const CMediumFormat &mediumFormat);118 117 bool isComplete() const; 119 118 -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageVariant.cpp
r90413 r90854 104 104 AssertReturnVoid(m_pVariantGroupBox); 105 105 106 m_pVariantGroupBox->updateMediumVariantWidgetsAfterFormatChange(mediumFormat , true /* hide disabled widgets*/);106 m_pVariantGroupBox->updateMediumVariantWidgetsAfterFormatChange(mediumFormat); 107 107 108 108 if (m_pDynamicLabel)
Note:
See TracChangeset
for help on using the changeset viewer.