VirtualBox

Changeset 57039 in vbox


Ignore:
Timestamp:
Jul 21, 2015 10:18:10 AM (10 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
101757
Message:

FE/Qt: 7916: Updating Hightlight of new VM only when created from GUI

Location:
trunk/src/VBox/Frontends/VirtualBox/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.cpp

    r55986 r57039  
    667667            updateNavigation();
    668668            updateLayout();
    669             setCurrentItem(mainRoot()->searchForItem(machine.GetName(),
    670                                                      UIGChooserItemSearchFlag_Machine |
    671                                                      UIGChooserItemSearchFlag_ExactName));
     669            /* Change current-item only if VM was created from the GUI side: */
     670            if (strId == m_strLastCreatedMachineId)
     671            {
     672                setCurrentItem(mainRoot()->searchForItem(machine.GetName(),
     673                                                         UIGChooserItemSearchFlag_Machine |
     674                                                         UIGChooserItemSearchFlag_ExactName));
     675            }
    672676        }
    673677    }
     
    878882        strGroupName = pGroup->fullName();
    879883
    880     /* Start the new vm wizard: */
    881     UISafePointerWizard pWizard = new UIWizardNewVM(&vboxGlobal().selectorWnd(), strGroupName);
     884    /* Prepare the new VM wizard: */
     885    UISafePointerWizardNewVM pWizard = new UIWizardNewVM(&vboxGlobal().selectorWnd(), strGroupName);
    882886    pWizard->prepare();
    883     pWizard->exec();
     887
     888    /* Execute wizard and store created VM Id
     889     * on success for current-item handling: */
     890    if (pWizard->exec() == QDialog::Accepted)
     891        m_strLastCreatedMachineId = pWizard->createdMachineId();
     892
    884893    if (pWizard)
    885894        delete pWizard;
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.h

    r55986 r57039  
    306306    QTimer *m_pLookupTimer;
    307307    QString m_strLookupString;
     308
     309    /** Holds the Id of last VM created from the GUI side. */
     310    QString m_strLastCreatedMachineId;
    308311};
    309312
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVM.cpp

    r56517 r57039  
    6262}
    6363
     64void UIWizardNewVM::prepare()
     65{
     66    /* Create corresponding pages: */
     67    switch (mode())
     68    {
     69        case WizardMode_Basic:
     70        {
     71            setPage(Page1, new UIWizardNewVMPageBasic1(m_strGroup));
     72            setPage(Page2, new UIWizardNewVMPageBasic2);
     73            setPage(Page3, new UIWizardNewVMPageBasic3);
     74            break;
     75        }
     76        case WizardMode_Expert:
     77        {
     78            setPage(PageExpert, new UIWizardNewVMPageExpert(m_strGroup));
     79            break;
     80        }
     81        default:
     82        {
     83            AssertMsgFailed(("Invalid mode: %d", mode()));
     84            break;
     85        }
     86    }
     87    /* Call to base-class: */
     88    UIWizard::prepare();
     89}
     90
    6491bool UIWizardNewVM::createVM()
    6592{
     
    295322}
    296323
    297 void UIWizardNewVM::prepare()
    298 {
    299     /* Create corresponding pages: */
    300     switch (mode())
    301     {
    302         case WizardMode_Basic:
    303         {
    304             setPage(Page1, new UIWizardNewVMPageBasic1(m_strGroup));
    305             setPage(Page2, new UIWizardNewVMPageBasic2);
    306             setPage(Page3, new UIWizardNewVMPageBasic3);
    307             break;
    308         }
    309         case WizardMode_Expert:
    310         {
    311             setPage(PageExpert, new UIWizardNewVMPageExpert(m_strGroup));
    312             break;
    313         }
    314         default:
    315         {
    316             AssertMsgFailed(("Invalid mode: %d", mode()));
    317             break;
    318         }
    319     }
    320     /* Call to base-class: */
    321     UIWizard::prepare();
    322 }
    323 
    324324QString UIWizardNewVM::getNextControllerName(KStorageBus type)
    325325{
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVM.h

    r56233 r57039  
    5050    UIWizardNewVM(QWidget *pParent, const QString &strGroup = QString());
    5151
     52    /** Prepare routine. */
     53    void prepare();
     54
     55    /** Returns the Id of newly created VM. */
     56    QString createdMachineId() const { return m_machine.GetId(); }
     57
    5258protected:
    5359
     
    6369    /* Translation stuff: */
    6470    void retranslateUi();
    65 
    66     /* Pages related stuff: */
    67     void prepare();
    6871
    6972    /* Helping stuff: */
     
    8184};
    8285
     86typedef QPointer<UIWizardNewVM> UISafePointerWizardNewVM;
     87
    8388#endif // __UIWizardNewVM_h__
    8489
Note: See TracChangeset for help on using the changeset viewer.

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