VirtualBox

Changeset 90747 in vbox


Ignore:
Timestamp:
Aug 19, 2021 1:40:53 PM (3 years ago)
Author:
vboxsync
Message:

FE/Qt: bugref:10067: New Cloud VM wizard: Handle internal VSD form creation via UIProgressObject, not UIProgressDialog.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVM.cpp

    r90564 r90747  
    2323#include "UIMessageCenter.h"
    2424#include "UINotificationCenter.h"
     25#include "UIProgressObject.h"
    2526#include "UIWizardNewCloudVM.h"
    2627#include "UIWizardNewCloudVMPageBasic1.h"
     
    7273    else
    7374    {
    74         /* Show "Acquire launch form" progress: */
    75         msgCenter().showModalProgressDialog(comProgress, QString(),
    76                                             ":/progress_refresh_90px.png", this, 0);
    77         /* Check for canceled progress: */
    78         if (!comProgress.GetCanceled())
    79         {
    80             /* Check for progress errors: */
    81             if (!comProgress.isOk() || comProgress.GetResultCode() != 0)
    82                 msgCenter().cannotAcquireCloudClientParameter(comProgress);
    83             else
     75        /* Make sure progress initially valid: */
     76        if (!comProgress.isNull() && !comProgress.GetCompleted())
     77        {
     78            /* Create take snapshot progress object: */
     79            QPointer<UIProgressObject> pObject = new UIProgressObject(comProgress, this);
     80            if (pObject)
    8481            {
    85                 /* Check whether form really read: */
    86                 if (comForm.isNotNull())
     82                connect(pObject.data(), &UIProgressObject::sigProgressChange,
     83                        this, &UIWizardNewCloudVM::sltHandleProgressChange);
     84                connect(pObject.data(), &UIProgressObject::sigProgressComplete,
     85                        this, &UIWizardNewCloudVM::sltHandleProgressFinished);
     86                sltHandleProgressStarted();
     87                pObject->exec();
     88                if (pObject)
     89                    delete pObject;
     90                else
    8791                {
    88                     /* Remember Virtual System Description Form: */
    89                     setVSDForm(comForm);
    90 
    91                     /* Finally, success: */
    92                     fResult = true;
     92                    // Premature application shutdown,
     93                    // exit immediately:
     94                    return fResult;
    9395                }
     96            }
     97        }
     98
     99        /* Check for progress errors: */
     100        if (!comProgress.isOk() || comProgress.GetResultCode() != 0)
     101            msgCenter().cannotAcquireCloudClientParameter(comProgress);
     102        else
     103        {
     104            /* Check whether form really read: */
     105            if (comForm.isNotNull())
     106            {
     107                /* Remember Virtual System Description Form: */
     108                setVSDForm(comForm);
     109
     110                /* Finally, success: */
     111                fResult = true;
    94112            }
    95113        }
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette