Changeset 90370 in vbox for trunk/src/VBox/Frontends
- Timestamp:
- Jul 28, 2021 2:18:54 PM (4 years ago)
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/globals/UICommon.cpp
r90352 r90370 3158 3158 QWidget *pDialogParent = windowManager().realParentWindow(pParent); 3159 3159 windowManager().registerNewParent(pWizard, pDialogParent); 3160 pWizard->prepare();3161 3160 pWizard->exec(); 3162 3161 delete pWizard; -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/editors/UIWizardDiskEditors.cpp
r90362 r90370 298 298 uCapabilities |= capabilities[i]; 299 299 300 bool fIsCreateDynamicPossible = uCapabilities & KMediumFormatCapabilities_CreateDynamic;301 bool fIsCreateFixedPossible = uCapabilities & KMediumFormatCapabilities_CreateFixed;302 bool fIsCreateSplitPossible = uCapabilities & KMediumFormatCapabilities_CreateSplit2G;300 bool m_fIsCreateDynamicPossible = uCapabilities & KMediumFormatCapabilities_CreateDynamic; 301 bool m_fIsCreateFixedPossible = uCapabilities & KMediumFormatCapabilities_CreateFixed; 302 bool m_fIsCreateSplitPossible = uCapabilities & KMediumFormatCapabilities_CreateSplit2G; 303 303 if (m_pFixedCheckBox) 304 304 { 305 if (! fIsCreateDynamicPossible)305 if (!m_fIsCreateDynamicPossible) 306 306 { 307 307 m_pFixedCheckBox->setChecked(true); 308 308 m_pFixedCheckBox->setEnabled(false); 309 309 } 310 if (! fIsCreateFixedPossible)310 if (!m_fIsCreateFixedPossible) 311 311 { 312 312 m_pFixedCheckBox->setChecked(false); … … 315 315 } 316 316 if (m_pFixedCheckBox) 317 m_pFixedCheckBox->setHidden(! fIsCreateFixedPossible);317 m_pFixedCheckBox->setHidden(!m_fIsCreateFixedPossible); 318 318 if (m_pSplitBox) 319 m_pSplitBox->setHidden(! fIsCreateSplitPossible);320 } 321 322 void UIDiskVariantGroupBox::updateMediumVariantWidgetsAfterFormatChange(const CMediumFormat &mediumFormat )323 { 324 /* Enable/disable widgets: */ 319 m_pSplitBox->setHidden(!m_fIsCreateSplitPossible); 320 } 321 322 void UIDiskVariantGroupBox::updateMediumVariantWidgetsAfterFormatChange(const CMediumFormat &mediumFormat, 323 bool fHideDisabled /* = false */) 324 { 325 325 ULONG uCapabilities = 0; 326 326 QVector<KMediumFormatCapabilities> capabilities; … … 329 329 uCapabilities |= capabilities[i]; 330 330 331 boolfIsCreateDynamicPossible = uCapabilities & KMediumFormatCapabilities_CreateDynamic;332 boolfIsCreateFixedPossible = uCapabilities & KMediumFormatCapabilities_CreateFixed;333 boolfIsCreateSplitPossible = uCapabilities & KMediumFormatCapabilities_CreateSplit2G;331 m_fIsCreateDynamicPossible = uCapabilities & KMediumFormatCapabilities_CreateDynamic; 332 m_fIsCreateFixedPossible = uCapabilities & KMediumFormatCapabilities_CreateFixed; 333 m_fIsCreateSplitPossible = uCapabilities & KMediumFormatCapabilities_CreateSplit2G; 334 334 335 335 if (m_pFixedCheckBox) 336 336 { 337 m_pFixedCheckBox->setEnabled( fIsCreateDynamicPossible ||fIsCreateFixedPossible);338 if (! fIsCreateDynamicPossible)337 m_pFixedCheckBox->setEnabled(m_fIsCreateDynamicPossible || m_fIsCreateFixedPossible); 338 if (!m_fIsCreateDynamicPossible) 339 339 m_pFixedCheckBox->setChecked(true); 340 if (! fIsCreateFixedPossible)340 if (!m_fIsCreateFixedPossible) 341 341 m_pFixedCheckBox->setChecked(false); 342 342 } 343 m_pSplitBox->setEnabled(fIsCreateSplitPossible); 343 m_pSplitBox->setEnabled(m_fIsCreateSplitPossible); 344 345 if (fHideDisabled) 346 { 347 m_pFixedCheckBox->setHidden(!m_pFixedCheckBox->isEnabled()); 348 m_pSplitBox->setHidden(!m_pSplitBox->isEnabled()); 349 } 344 350 emit sigMediumVariantChanged(mediumVariant()); 345 351 } … … 349 355 /* Make sure medium variant is correct: */ 350 356 return mediumVariant() != (qulonglong)KMediumVariant_Max; 357 } 358 359 bool UIDiskVariantGroupBox::isCreateDynamicPossible() const 360 { 361 return m_fIsCreateDynamicPossible; 362 } 363 364 bool UIDiskVariantGroupBox::isCreateFixedPossible() const 365 { 366 return m_fIsCreateFixedPossible; 367 } 368 369 bool UIDiskVariantGroupBox::isCreateSplitPossible() const 370 { 371 return m_fIsCreateSplitPossible; 351 372 } 352 373 -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/editors/UIWizardDiskEditors.h
r90362 r90370 105 105 106 106 UIDiskVariantGroupBox(bool fExpertMode, QWidget *pParent = 0); 107 void updateMediumVariantWidgetsAfterFormatChange(const CMediumFormat &mediumFormat );107 void updateMediumVariantWidgetsAfterFormatChange(const CMediumFormat &mediumFormat, bool fHideDisabled = false); 108 108 qulonglong mediumVariant() const; 109 109 void setMediumVariant(qulonglong uMediumVariant); 110 110 void setWidgetVisibility(CMediumFormat &mediumFormat); 111 111 bool isComplete() const; 112 113 bool isCreateDynamicPossible() const; 114 bool isCreateFixedPossible() const; 115 bool isCreateSplitPossible() const; 112 116 113 117 private slots: … … 122 126 QCheckBox *m_pFixedCheckBox; 123 127 QCheckBox *m_pSplitBox; 128 bool m_fIsCreateDynamicPossible; 129 bool m_fIsCreateFixedPossible; 130 bool m_fIsCreateSplitPossible; 124 131 }; 125 132 -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVD.cpp
r90362 r90370 54 54 } 55 55 56 qulonglong UIWizardNewVD::mediumVariant() const 57 { 58 return m_uMediumVariant; 59 } 60 61 void UIWizardNewVD::setMediumVariant(qulonglong uMediumVariant) 62 { 63 m_uMediumVariant = uMediumVariant; 64 } 65 66 const CMediumFormat &UIWizardNewVD::mediumFormat() 67 { 68 return m_comMediumFormat; 69 } 70 71 void UIWizardNewVD::setMediumFormat(const CMediumFormat &mediumFormat) 72 { 73 m_comMediumFormat = mediumFormat; 74 } 75 76 const QString &UIWizardNewVD::mediumPath() const 77 { 78 return m_strMediumPath; 79 } 80 81 void UIWizardNewVD::setMediumPath(const QString &strMediumPath) 82 { 83 m_strMediumPath = strMediumPath; 84 } 85 86 qulonglong UIWizardNewVD::mediumSize() const 87 { 88 return m_uMediumSize; 89 } 90 91 void UIWizardNewVD::setMediumSize(qulonglong uMediumSize) 92 { 93 m_uMediumSize = uMediumSize; 94 } 95 56 96 void UIWizardNewVD::populatePages() 57 97 { … … 68 108 69 109 // { 70 // //addPage(new UIWizardNewV MPageExpert);110 // //addPage(new UIWizardNewVDPageExpert); 71 111 // break; 72 112 // } … … 127 167 setWindowTitle(tr("Create Virtual Hard Disk")); 128 168 } 129 130 void UIWizardNewVD::prepare()131 {132 // /* Create corresponding pages: */133 // switch (mode())134 // {135 // case WizardMode_Basic:136 // {137 // setPage(Page1, new UIWizardNewVDPageFileType);138 // setPage(Page2, new UIWizardNewVDPageVariant);139 // setPage(Page3, new UIWizardNewVDPageSizeLocation(m_strDefaultName, m_strDefaultPath, m_uDefaultSize));140 // break;141 // }142 // case WizardMode_Expert:143 // {144 // setPage(PageExpert, new UIWizardNewVDPageExpert(m_strDefaultName, m_strDefaultPath, m_uDefaultSize));145 // break;146 // }147 // default:148 // {149 // AssertMsgFailed(("Invalid mode: %d", mode()));150 // break;151 // }152 // }153 154 } -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVD.h
r90356 r90370 28 28 #include "COMEnums.h" 29 29 #include "CMedium.h" 30 #include "CMediumFormat.h" 31 32 #define newVDWizardPropertySet(functionName, value) \ 33 do \ 34 { \ 35 UIWizardNewVD *pWizard = qobject_cast<UIWizardNewVD*>(wizard()); \ 36 if (pWizard) \ 37 pWizard->set##functionName(value); \ 38 } \ 39 while(0) 30 40 31 41 /* New Virtual Hard Drive wizard: */ … … 36 46 public: 37 47 38 /* Page IDs: */39 enum40 {41 Page1,42 Page2,43 Page344 };45 46 /* Page IDs: */47 enum48 {49 PageExpert50 };51 52 /* Constructor: */53 48 UIWizardNewVD(QWidget *pParent, 54 49 const QString &strDefaultName, const QString &strDefaultPath, 55 qulonglong uDefaultSize, 56 WizardMode mode = WizardMode_Auto); 50 qulonglong uDefaultSize, WizardMode mode = WizardMode_Auto); 57 51 58 /* Pages related stuff: */ 59 void prepare(); 52 53 qulonglong mediumVariant() const; 54 void setMediumVariant(qulonglong uMediumVariant); 55 56 const CMediumFormat &mediumFormat(); 57 void setMediumFormat(const CMediumFormat &mediumFormat); 58 59 const QString &mediumPath() const; 60 void setMediumPath(const QString &strMediumPath); 61 62 qulonglong mediumSize() const; 63 void setMediumSize(qulonglong mediumSize); 60 64 61 65 protected: … … 71 75 void retranslateUi(); 72 76 73 /* Variables: */ 77 qulonglong m_uMediumVariant; 78 CMediumFormat m_comMediumFormat; 79 QString m_strMediumPath; 80 qulonglong m_uMediumSize; 81 82 74 83 QString m_strDefaultName; 75 84 QString m_strDefaultPath; -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageFileType.cpp
r90356 r90370 33 33 #include "CSystemProperties.h" 34 34 35 // UIWizardNewVDPageBaseFileType::UIWizardNewVDPageBaseFileType()36 // : m_pFormatButtonGroup(0)37 // {38 // }39 40 // void UIWizardNewVDPageBaseFileType::addFormatButton(QWidget *pParent, QVBoxLayout *pFormatLayout, CMediumFormat medFormat, bool fPreferred /* = false */)41 // {42 // /* Check that medium format supports creation: */43 // ULONG uFormatCapabilities = 0;44 // QVector<KMediumFormatCapabilities> capabilities;45 // capabilities = medFormat.GetCapabilities();46 // for (int i = 0; i < capabilities.size(); i++)47 // uFormatCapabilities |= capabilities[i];48 49 // if (!(uFormatCapabilities & KMediumFormatCapabilities_CreateFixed ||50 // uFormatCapabilities & KMediumFormatCapabilities_CreateDynamic))51 // return;52 53 // /* Check that medium format supports creation of virtual hard-disks: */54 // QVector<QString> fileExtensions;55 // QVector<KDeviceType> deviceTypes;56 // medFormat.DescribeFileExtensions(fileExtensions, deviceTypes);57 // if (!deviceTypes.contains(KDeviceType_HardDisk))58 // return;59 60 // /* Create/add corresponding radio-button: */61 // QRadioButton *pFormatButton = new QRadioButton(pParent);62 // AssertPtrReturnVoid(pFormatButton);63 // {64 // /* Make the preferred button font bold: */65 // if (fPreferred)66 // {67 // QFont font = pFormatButton->font();68 // font.setBold(true);69 // pFormatButton->setFont(font);70 // }71 // pFormatLayout->addWidget(pFormatButton);72 // m_formats << medFormat;73 // m_formatNames << medFormat.GetName();74 // m_pFormatButtonGroup->addButton(pFormatButton, m_formatNames.size() - 1);75 // m_formatExtensions << UIWizardNewVDPageBaseSizeLocation::defaultExtension(medFormat);76 // }77 // }78 79 80 // CMediumFormat UIWizardNewVDPageBaseFileType::mediumFormat() const81 // {82 // return m_pFormatButtonGroup && m_pFormatButtonGroup->checkedButton() ? m_formats[m_pFormatButtonGroup->checkedId()] : CMediumFormat();83 // }84 85 35 // void UIWizardNewVDPageBaseFileType::setMediumFormat(const CMediumFormat &mediumFormat) 86 36 // { … … 93 43 // } 94 44 95 // void UIWizardNewVDPageBaseFileType::retranslateWidgets()96 // {97 // if (m_pFormatButtonGroup)98 // {99 // QList<QAbstractButton*> buttons = m_pFormatButtonGroup->buttons();100 // for (int i = 0; i < buttons.size(); ++i)101 // {102 // QAbstractButton *pButton = buttons[i];103 // UIMediumFormat enmFormat = gpConverter->fromInternalString<UIMediumFormat>(m_formatNames[m_pFormatButtonGroup->id(pButton)]);104 // pButton->setText(gpConverter->toString(enmFormat));105 // }106 // }107 // }108 45 109 46 UIWizardNewVDPageFileType::UIWizardNewVDPageFileType() … … 133 70 134 71 pMainLayout->addStretch(); 72 connect(m_pFormatButtonGroup, &UIDiskFormatsGroupBox::sigMediumFormatChanged, 73 this, &UIWizardNewVDPageFileType::sltMediumFormatChanged); 135 74 retranslateUi(); 75 } 76 77 void UIWizardNewVDPageFileType::sltMediumFormatChanged() 78 { 79 AssertReturnVoid(m_pFormatButtonGroup); 80 newVDWizardPropertySet(MediumFormat, m_pFormatButtonGroup->mediumFormat()); 136 81 } 137 82 … … 147 92 void UIWizardNewVDPageFileType::initializePage() 148 93 { 149 /* Translate page: */150 94 retranslateUi(); 95 if (m_pFormatButtonGroup) 96 newVDWizardPropertySet(MediumFormat, m_pFormatButtonGroup->mediumFormat()); 151 97 } 152 98 -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageFileType.h
r90356 r90370 38 38 namespace UIWizardNewVDFileType 39 39 { 40 // void addFormatButton(QWidget *pParent, QVBoxLayout *pFormatsLayout, CMediumFormat medFormat, bool fPreferred = false);41 42 // QWidget *createFormatButtonGroup(QButtonGroup *&pFormatButtonGroup, bool fExperMode);43 40 44 41 // CMediumFormat mediumFormat() const; … … 63 60 UIWizardNewVDPageFileType(); 64 61 62 private slots: 63 64 void sltMediumFormatChanged(); 65 65 66 private: 66 67 -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageVariant.cpp
r90362 r90370 92 92 93 93 94 // }95 96 // void UIWizardNewVDPageBaseVariant::setWidgetVisibility(CMediumFormat &mediumFormat)97 // {98 // ULONG uCapabilities = 0;99 // QVector<KMediumFormatCapabilities> capabilities;100 // capabilities = mediumFormat.GetCapabilities();101 // for (int i = 0; i < capabilities.size(); i++)102 // uCapabilities |= capabilities[i];103 104 // bool fIsCreateDynamicPossible = uCapabilities & KMediumFormatCapabilities_CreateDynamic;105 // bool fIsCreateFixedPossible = uCapabilities & KMediumFormatCapabilities_CreateFixed;106 // bool fIsCreateSplitPossible = uCapabilities & KMediumFormatCapabilities_CreateSplit2G;107 // if (m_pFixedCheckBox)108 // {109 // if (!fIsCreateDynamicPossible)110 // {111 // m_pFixedCheckBox->setChecked(true);112 // m_pFixedCheckBox->setEnabled(false);113 // }114 // if (!fIsCreateFixedPossible)115 // {116 // m_pFixedCheckBox->setChecked(false);117 // m_pFixedCheckBox->setEnabled(false);118 // }119 // }120 // if (m_pDynamicLabel)121 // m_pDynamicLabel->setHidden(!fIsCreateDynamicPossible);122 // if (m_pFixedLabel)123 // m_pFixedLabel->setHidden(!fIsCreateFixedPossible);124 // if (m_pFixedCheckBox)125 // m_pFixedCheckBox->setHidden(!fIsCreateFixedPossible);126 // if (m_pSplitLabel)127 // m_pSplitLabel->setHidden(!fIsCreateSplitPossible);128 // if (m_pSplitBox)129 // m_pSplitBox->setHidden(!fIsCreateSplitPossible);130 94 // } 131 95 … … 225 189 void UIWizardNewVDPageVariant::initializePage() 226 190 { 227 // retranslateUi(); 228 // CMediumFormat mediumFormat = field("mediumFormat").value<CMediumFormat>(); 229 // setWidgetVisibility(mediumFormat); 191 retranslateUi(); 192 UIWizardNewVD *pWizard = qobject_cast<UIWizardNewVD*>(wizard()); 193 AssertReturnVoid(pWizard); 194 setWidgetVisibility(pWizard->mediumFormat()); 230 195 } 231 196 … … 235 200 return true; 236 201 } 202 203 204 void UIWizardNewVDPageVariant::setWidgetVisibility(const CMediumFormat &mediumFormat) 205 { 206 AssertReturnVoid(m_pVariantGroupBox); 207 208 m_pVariantGroupBox->updateMediumVariantWidgetsAfterFormatChange(mediumFormat, true /* hide disabled widgets*/); 209 210 if (m_pDynamicLabel) 211 m_pDynamicLabel->setHidden(!m_pVariantGroupBox->isCreateDynamicPossible()); 212 if (m_pFixedLabel) 213 m_pFixedLabel->setHidden(!m_pVariantGroupBox->isCreateFixedPossible()); 214 if (m_pSplitLabel) 215 m_pSplitLabel->setHidden(!m_pVariantGroupBox->isCreateSplitPossible()); 216 } -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageVariant.h
r90356 r90370 64 64 bool isComplete() const; 65 65 void prepare(); 66 void setWidgetVisibility(const CMediumFormat &mediumFormat); 66 67 67 68 QIRichTextLabel *m_pDescriptionLabel; … … 72 73 }; 73 74 74 75 75 #endif /* !FEQT_INCLUDED_SRC_wizards_newvd_UIWizardNewVDPageVariant_h */
Note:
See TracChangeset
for help on using the changeset viewer.