VirtualBox

Changeset 75006 in vbox for trunk


Ignore:
Timestamp:
Oct 23, 2018 3:48:45 PM (6 years ago)
Author:
vboxsync
Message:

FE/Qt: bugref:9183 Move medium selector open function to VBoxGlobal to make it avaible in wizards as well

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp

    r74942 r75006  
    7272# include "UIMediumEnumerator.h"
    7373# include "UIMedium.h"
     74# include "UIMediumSelector.h"
    7475# include "UIModalWindowManager.h"
    7576# include "UIIconPool.h"
     
    27352736}
    27362737
     2738QUuid VBoxGlobal::openMediumSelectorDialog(QWidget *pParent, UIMediumDeviceType  enmMediumType,
     2739                                           const QString &strMachineName, const QString &strMachineFolder)
     2740{
     2741    QWidget *pDialogParent = windowManager().realParentWindow(pParent);
     2742    QPointer<UIMediumSelector> pSelector = new UIMediumSelector(enmMediumType, strMachineName,
     2743                                                                strMachineFolder, pDialogParent);
     2744
     2745    if (!pSelector)
     2746        return QString();
     2747    windowManager().registerNewParent(pSelector, pDialogParent);
     2748    if (pSelector->execute(true, false))
     2749    {
     2750        QList<QUuid> selectedMediumIds = pSelector->selectedMediumIds();
     2751        delete pSelector;
     2752        /* Currently we only care about the 0th since we support single selection by intention: */
     2753        if (selectedMediumIds.isEmpty())
     2754            return QUuid();
     2755        else
     2756            return selectedMediumIds[0];
     2757    }
     2758    delete pSelector;
     2759    return QUuid();
     2760}
     2761
    27372762void VBoxGlobal::prepareStorageMenu(QMenu &menu,
    27382763                                    QObject *pListener, const char *pszSlotName,
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.h

    r74942 r75006  
    523523        QUuid showCreateFloppyDiskDialog(QWidget *pParent, const QString &strMachineName, const QString &strMachineFolder);
    524524
     525        /** Creates and shows a UIMediumSelector dialog.
     526          * @param  parent            Passes the parent of the dialog,
     527          * @param  enmMediumType     Passes the medium type.
     528          * @param  strMachineName    Passes the name of the machine,
     529          * @param  strMachineFolder  Passes the machine folder,
     530          * returns the ID of the  selected/created medium if successful, an empty string otherwise.*/
     531        QUuid openMediumSelectorDialog(QWidget *pParent, UIMediumDeviceType  enmMediumType,
     532                                       const QString &strMachineName, const QString &strMachineFolder);
     533
    525534        /** Prepares storage menu according passed parameters.
    526535          * @param  menu               Brings the #QMenu to be prepared.
  • trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsStorage.cpp

    r74946 r75006  
    37963796}
    37973797
    3798 QUuid UIMachineSettingsStorage::openMediumSelectorDialog(UIMediumDeviceType  enmMediumType)
    3799 {
    3800     QWidget *pParent = windowManager().realParentWindow(this);
    3801     QPointer<UIMediumSelector> pSelector = new UIMediumSelector(enmMediumType, m_strMachineName,
    3802                                                                 m_strMachineSettingsFilePath, pParent);
    3803 
    3804     if (!pSelector)
    3805         return QString();
    3806     windowManager().registerNewParent(pSelector, pParent);
    3807     if (pSelector->execute(true, false))
    3808     {
    3809         QList<QUuid> selectedMediumIds = pSelector->selectedMediumIds();
    3810         delete pSelector;
    3811         /* Currently we only care about the 0th since we support single selection by intention: */
    3812         if (selectedMediumIds.isEmpty())
    3813             return QUuid();
    3814         else
    3815             return selectedMediumIds[0];
    3816     }
    3817 
    3818     delete pSelector;
    3819     return QUuid();
    3820 }
    3821 
    38223798void UIMachineSettingsStorage::addAttachmentWrapper(KDeviceType enmDevice)
    38233799{
     
    38383814                uMediumId = getWithNewHDWizard();
    38393815            else if (iAnswer == AlertButton_Choice2)
    3840                 uMediumId = openMediumSelectorDialog(UIMediumDeviceType_HardDisk);
     3816                uMediumId = vboxGlobal().openMediumSelectorDialog(this, UIMediumDeviceType_HardDisk,
     3817                                                                  m_strMachineName, m_strMachineSettingsFilePath);
    38413818            else if (iAnswer == AlertButton_Cancel)
    38423819                fCancelled = true;
     
    38473824            int iAnswer = msgCenter().confirmOpticalAttachmentCreation(strControllerName, this);
    38483825            if (iAnswer == AlertButton_Choice2)
    3849                 uMediumId = openMediumSelectorDialog(UIMediumDeviceType_DVD);
     3826                uMediumId = vboxGlobal().openMediumSelectorDialog(this, UIMediumDeviceType_DVD,
     3827                                                                  m_strMachineName, m_strMachineSettingsFilePath);
    38503828            else if (iAnswer == AlertButton_Cancel)
    38513829                fCancelled = true;
     
    38563834            int iAnswer = msgCenter().confirmFloppyAttachmentCreation(strControllerName, this);
    38573835            if (iAnswer == AlertButton_Choice2)
    3858                 uMediumId = openMediumSelectorDialog(UIMediumDeviceType_Floppy);
     3836                uMediumId = vboxGlobal().openMediumSelectorDialog(this, UIMediumDeviceType_Floppy,
     3837                                                                  m_strMachineName, m_strMachineSettingsFilePath);
    38593838            else if (iAnswer == AlertButton_Cancel)
    38603839                fCancelled = true;
  • trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsStorage.h

    r74942 r75006  
    742742    void prepareConnections();
    743743    /** Opens medium selector dialog and retrieves uuid of a selected medium (if any). */
    744     QUuid openMediumSelectorDialog(UIMediumDeviceType  enmMediumType);
     744    QUuid openMediumSelectorDialog(UIMediumDeviceType  enmMediumType,
     745                                   const QString &strMachineName, const QString &strMachineSettingsFilePath);
    745746    /** Cleanups all. */
    746747    void cleanup();
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