- Timestamp:
- Jul 7, 2019 12:03:22 PM (6 years ago)
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVM.cpp
r79574 r79575 65 65 } 66 66 67 bool UIWizardNewCloudVM::createVSDForm() 68 { 69 /* Prepare result: */ 70 bool fResult = false; 71 72 /* Main API request sequence, can be interrupted after any step: */ 73 do 74 { 75 /* Acquire prepared client and description: */ 76 CCloudClient comClient = client(); 77 CVirtualSystemDescription comDescription = vsd(); 78 AssertReturn(comClient.isNotNull() && comDescription.isNotNull(), false); 79 80 /* Read Cloud Client description form: */ 81 CVirtualSystemDescriptionForm comForm; 82 CProgress comProgress = comClient.GetLaunchDescriptionForm(comDescription, comForm); 83 if (!comClient.isOk()) 84 { 85 msgCenter().cannotAcquireCloudClientParameter(comClient); 86 break; 87 } 88 89 /* Show "Acquire launch form" progress: */ 90 msgCenter().showModalProgressDialog(comProgress, tr("Acquire launch form..."), 91 ":/progress_refresh_90px.png", 0, 0); 92 if (!comProgress.isOk() || comProgress.GetResultCode() != 0) 93 { 94 msgCenter().cannotAcquireCloudClientParameter(comProgress); 95 break; 96 } 97 98 /* Remember Virtual System Description Form: */ 99 setVSDForm(comForm); 100 101 /* Finally, success: */ 102 fResult = true; 103 } 104 while (0); 105 106 /* Return result: */ 107 return fResult; 108 } 109 67 110 bool UIWizardNewCloudVM::createCloudVM() 68 111 { … … 74 117 { 75 118 /* Acquire prepared client and description: */ 76 CCloudClient comClient = field("client").value<CCloudClient>();77 CVirtualSystemDescription comDescription = field("vsd").value<CVirtualSystemDescription>();119 CCloudClient comClient = client(); 120 CVirtualSystemDescription comDescription = vsd(); 78 121 AssertReturn(comClient.isNotNull() && comDescription.isNotNull(), false); 79 122 -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVM.h
r79574 r79575 24 24 /* GUI includes: */ 25 25 #include "UIWizard.h" 26 27 /* COM includes: */ 28 #include "COMEnums.h" 29 #include "CCloudClient.h" 30 #include "CVirtualSystemDescription.h" 31 #include "CVirtualSystemDescriptionForm.h" 26 32 27 33 /** New Cloud VM wizard. */ … … 51 57 virtual void prepare() /* override */; 52 58 53 /** Create New Cloud VM. */ 59 /** Defines Cloud @a comClient object. */ 60 void setClient(const CCloudClient &comClient) { m_comClient = comClient; } 61 /** Returns Cloud Client object. */ 62 CCloudClient client() const { return m_comClient; } 63 64 /** Defines Virtual System @a comDescription object. */ 65 void setVSD(const CVirtualSystemDescription &comDescription) { m_comVSD = comDescription; } 66 /** Returns Virtual System Description object. */ 67 CVirtualSystemDescription vsd() const { return m_comVSD; } 68 69 /** Defines Virtual System Description @a comForm object. */ 70 void setVSDForm(const CVirtualSystemDescriptionForm &comForm) { m_comVSDForm = comForm; } 71 /** Returns Virtual System Description Form object. */ 72 CVirtualSystemDescriptionForm vsdForm() const { return m_comVSDForm; } 73 74 /** Creates VSD Form. */ 75 bool createVSDForm(); 76 77 /** Creates New Cloud VM. */ 54 78 bool createCloudVM(); 55 79 … … 58 82 /** Handles translation event. */ 59 83 virtual void retranslateUi() /* override */; 84 85 private: 86 87 /** Holds the Cloud Client object reference. */ 88 CCloudClient m_comClient; 89 /** Holds the Virtual System Description object reference. */ 90 CVirtualSystemDescription m_comVSD; 91 /** Holds the Virtual System Description Form object reference. */ 92 CVirtualSystemDescriptionForm m_comVSDForm; 60 93 }; 61 94 -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVMPageBasic1.cpp
r79365 r79575 277 277 m_pAccountImageList->clear(); 278 278 /* Clear Cloud Client: */ 279 m_comCloudClient = CCloudClient();279 setClient(CCloudClient()); 280 280 281 281 /* If profile chosen: */ … … 286 286 { 287 287 /* Acquire Cloud Client: */ 288 m_comCloudClient = m_comCloudProfile.CreateCloudClient();288 CCloudClient comCloudClient = m_comCloudProfile.CreateCloudClient(); 289 289 if (!m_comCloudProfile.isOk()) 290 290 { … … 292 292 break; 293 293 } 294 295 /* Remember Cloud Client: */ 296 setClient(comCloudClient); 294 297 295 298 /* Gather image names, ids and states. … … 301 304 302 305 /* Ask for cloud custom images: */ 303 CProgress comProgress = m_comCloudClient.ListImages(cloudImageStates, comNames, comIDs);304 if (! m_comCloudClient.isOk())305 { 306 msgCenter().cannotAcquireCloudClientParameter( m_comCloudClient);306 CProgress comProgress = comCloudClient.ListImages(cloudImageStates, comNames, comIDs); 307 if (!comCloudClient.isOk()) 308 { 309 msgCenter().cannotAcquireCloudClientParameter(comCloudClient); 307 310 break; 308 311 } … … 345 348 { 346 349 /* Clear description & form properties: */ 347 m_comVSD = CVirtualSystemDescription();348 m_comVSDForm = CVirtualSystemDescriptionForm();350 setVSD(CVirtualSystemDescription()); 351 setVSDForm(CVirtualSystemDescriptionForm()); 349 352 350 353 /* If client created: */ 351 if (m_comCloudClient.isNotNull()) 354 CCloudClient comCloudClient = client(); 355 if (comCloudClient.isNotNull()) 352 356 { 353 357 /* Main API request sequence, can be interrupted after any step: */ … … 381 385 /* Make sure there is at least one virtual system description created: */ 382 386 AssertReturnVoid(!descriptions.isEmpty()); 383 m_comVSD = descriptions.at(0); 387 CVirtualSystemDescription comVSD = descriptions.at(0); 388 389 /* Remember Virtual System Description: */ 390 setVSD(comVSD); 384 391 385 392 /* Add image id to virtual system description: */ 386 m_comVSD.AddDescription(KVirtualSystemDescriptionType_CloudImageId, imageId(), QString()); 387 if (!m_comVSD.isOk()) 388 { 389 msgCenter().cannotAddVirtualSystemDescriptionValue(m_comVSD); 390 break; 391 } 392 393 /* Read Cloud Client description form: */ 394 CVirtualSystemDescriptionForm comForm; 395 CProgress comLaunchDescriptionFormProgress = m_comCloudClient.GetLaunchDescriptionForm(m_comVSD, comForm); 396 if (!m_comCloudClient.isOk()) 397 { 398 msgCenter().cannotAcquireCloudClientParameter(m_comCloudClient); 399 break; 400 } 401 402 /* Show "Acquire launch form" progress: */ 403 msgCenter().showModalProgressDialog(comLaunchDescriptionFormProgress, UIWizardNewCloudVM::tr("Acquire launch form..."), 404 ":/progress_refresh_90px.png", 0, 0); 405 if (!comLaunchDescriptionFormProgress.isOk() || comLaunchDescriptionFormProgress.GetResultCode() != 0) 406 { 407 msgCenter().cannotAcquireCloudClientParameter(comLaunchDescriptionFormProgress); 408 break; 409 } 410 411 /* Remember form: */ 412 m_comVSDForm = comForm; 393 comVSD.AddDescription(KVirtualSystemDescriptionType_CloudImageId, imageId(), QString()); 394 if (!comVSD.isOk()) 395 { 396 msgCenter().cannotAddVirtualSystemDescriptionValue(comVSD); 397 break; 398 } 399 400 /* Create Virtual System Description Form: */ 401 qobject_cast<UIWizardNewCloudVM*>(wizardImp())->createVSDForm(); 413 402 } 414 403 while (0); … … 487 476 } 488 477 478 void UIWizardNewCloudVMPage1::setClient(const CCloudClient &comClient) 479 { 480 qobject_cast<UIWizardNewCloudVM*>(wizardImp())->setClient(comClient); 481 } 482 489 483 CCloudClient UIWizardNewCloudVMPage1::client() const 490 484 { 491 return m_comCloudClient; 485 return qobject_cast<UIWizardNewCloudVM*>(wizardImp())->client(); 486 } 487 488 void UIWizardNewCloudVMPage1::setVSD(const CVirtualSystemDescription &comDescription) 489 { 490 qobject_cast<UIWizardNewCloudVM*>(wizardImp())->setVSD(comDescription); 492 491 } 493 492 494 493 CVirtualSystemDescription UIWizardNewCloudVMPage1::vsd() const 495 494 { 496 return m_comVSD; 495 return qobject_cast<UIWizardNewCloudVM*>(wizardImp())->vsd(); 496 } 497 498 void UIWizardNewCloudVMPage1::setVSDForm(const CVirtualSystemDescriptionForm &comForm) 499 { 500 qobject_cast<UIWizardNewCloudVM*>(wizardImp())->setVSDForm(comForm); 497 501 } 498 502 499 503 CVirtualSystemDescriptionForm UIWizardNewCloudVMPage1::vsdForm() const 500 504 { 501 return m_comVSDForm;505 return qobject_cast<UIWizardNewCloudVM*>(wizardImp())->vsdForm(); 502 506 } 503 507 … … 672 676 connect(m_pAccountImageList, &QListWidget::currentRowChanged, 673 677 this, &UIWizardNewCloudVMPageBasic1::completeChanged); 674 675 /* Register fields: */676 registerField("client", this, "client");677 registerField("vsd", this, "vsd");678 registerField("vsdForm", this, "vsdForm");679 678 } 680 679 -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVMPageBasic1.h
r79256 r79575 94 94 /** Returns image ID. */ 95 95 QString imageId() const; 96 /** Returns Cloud Client. */ 96 97 /** Defines Cloud @a comClient object. */ 98 void setClient(const CCloudClient &comClient); 99 /** Returns Cloud Client object. */ 97 100 CCloudClient client() const; 101 102 /** Defines Virtual System @a comDescription object. */ 103 void setVSD(const CVirtualSystemDescription &comDescription); 98 104 /** Returns Virtual System Description object. */ 99 105 CVirtualSystemDescription vsd() const; 106 107 /** Defines Virtual System Description @a comForm object. */ 108 void setVSDForm(const CVirtualSystemDescriptionForm &comForm); 100 109 /** Returns Virtual System Description Form object. */ 101 110 CVirtualSystemDescriptionForm vsdForm() const; … … 105 114 106 115 /** Holds the Cloud Provider Manager reference. */ 107 CCloudProviderManager 116 CCloudProviderManager m_comCloudProviderManager; 108 117 /** Holds the Cloud Provider object reference. */ 109 CCloudProvider 118 CCloudProvider m_comCloudProvider; 110 119 /** Holds the Cloud Profile object reference. */ 111 CCloudProfile m_comCloudProfile; 112 /** Holds the Cloud Client object reference. */ 113 CCloudClient m_comCloudClient; 114 /** Holds the Virtual System Description object reference. */ 115 CVirtualSystemDescription m_comVSD; 116 /** Holds the Virtual System Description Form object reference. */ 117 CVirtualSystemDescriptionForm m_comVSDForm; 120 CCloudProfile m_comCloudProfile; 118 121 119 122 /** Holds the destination layout instance. */ … … 144 147 { 145 148 Q_OBJECT; 146 Q_PROPERTY(CCloudClient client READ client);147 Q_PROPERTY(CVirtualSystemDescription vsd READ vsd);148 Q_PROPERTY(CVirtualSystemDescriptionForm vsdForm READ vsdForm);149 149 150 150 public: … … 154 154 155 155 protected: 156 157 /** Allows access wizard from base part. */ 158 virtual UIWizard *wizardImp() const /* override */ { return UIWizardPage::wizard(); } 156 159 157 160 /** Handle any Qt @a pEvent. */ -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVMPageBasic2.cpp
r79256 r79575 26 26 #include "UIWizardNewCloudVMPageBasic2.h" 27 27 28 /* COM includes: */29 #include "CVirtualSystemDescription.h"30 #include "CVirtualSystemDescriptionForm.h"31 32 28 33 29 /********************************************************************************************************************************* … … 42 38 { 43 39 /* Acquire VSD form: */ 44 CVirtualSystemDescriptionForm comForm = fieldImp("vsdForm").value<CVirtualSystemDescriptionForm>();40 CVirtualSystemDescriptionForm comForm = vsdForm(); 45 41 /* Make sure the properties table get the new description form: */ 46 42 if (comForm.isNotNull()) 47 43 m_pFormEditor->setVirtualSystemDescriptionForm(comForm); 44 } 45 46 CVirtualSystemDescriptionForm UIWizardNewCloudVMPage2::vsdForm() const 47 { 48 return qobject_cast<UIWizardNewCloudVM*>(wizardImp())->vsdForm(); 48 49 } 49 50 … … 107 108 108 109 /* Check whether we have proper VSD form: */ 109 CVirtualSystemDescriptionForm comForm = fieldImp("vsdForm").value<CVirtualSystemDescriptionForm>();110 CVirtualSystemDescriptionForm comForm = vsdForm(); 110 111 fResult = comForm.isNotNull(); 111 112 Assert(fResult); -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVMPageBasic2.h
r79256 r79575 40 40 void refreshFormPropertiesTable(); 41 41 42 /** Returns Virtual System Description Form object. */ 43 CVirtualSystemDescriptionForm vsdForm() const; 44 42 45 /** Holds the Form Editor widget instance. */ 43 46 UIFormEditorWidgetPointer m_pFormEditor; … … 56 59 protected: 57 60 58 /** Allows to access 'field()'from base part. */59 virtual QVariant fieldImp(const QString &strFieldName) const /* override */ { return UIWizardPage::field(strFieldName); }61 /** Allows access wizard from base part. */ 62 virtual UIWizard *wizardImp() const /* override */ { return UIWizardPage::wizard(); } 60 63 61 64 /** Handles translation event. */ -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVMPageExpert.cpp
r79313 r79575 176 176 connect(m_pAccountImageList, &QListWidget::currentRowChanged, 177 177 this, &UIWizardNewCloudVMPageExpert::sltHandleInstanceListChange); 178 179 /* Register fields: */180 registerField("client", this, "client");181 registerField("vsd", this, "vsd");182 registerField("vsdForm", this, "vsdForm");183 178 } 184 179 … … 246 241 && !imageId().isNull() 247 242 && vsd().isNotNull() 248 && vsdForm().isNotNull();243 && UIWizardNewCloudVMPage1::vsdForm().isNotNull(); 249 244 250 245 /* Return result: */ … … 261 256 262 257 /* Check whether we have proper VSD form: */ 263 CVirtualSystemDescriptionForm comForm = fieldImp("vsdForm").value<CVirtualSystemDescriptionForm>();258 CVirtualSystemDescriptionForm comForm = UIWizardNewCloudVMPage1::vsdForm(); 264 259 fResult = comForm.isNotNull(); 265 260 Assert(fResult); -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVMPageExpert.h
r79256 r79575 35 35 { 36 36 Q_OBJECT; 37 Q_PROPERTY(CCloudClient client READ client);38 Q_PROPERTY(CVirtualSystemDescription vsd READ vsd);39 Q_PROPERTY(CVirtualSystemDescriptionForm vsdForm READ vsdForm);40 37 41 38 public: … … 46 43 protected: 47 44 48 /** Allows to access 'field()'from base part. */49 virtual QVariant fieldImp(const QString &strFieldName) const /* override */ { return UIWizardPage::field(strFieldName); }45 /** Allows access wizard from base part. */ 46 virtual UIWizard *wizardImp() const /* override */ { return UIWizardPage::wizard(); } 50 47 51 48 /** Handle any Qt @a pEvent. */
Note:
See TracChangeset
for help on using the changeset viewer.