VirtualBox

Changeset 82546 in vbox


Ignore:
Timestamp:
Dec 11, 2019 1:22:46 PM (5 years ago)
Author:
vboxsync
Message:

FE/Qt: bugref:9390: UIWizardCloneVMPageBasic1: Get rid of hardcoded clone option types, instead acquire these types through CSystemProperties interface (clone options related to additional functionality, like keeping disk names and hardware uuids).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/clonevm/UIWizardCloneVMPageBasic1.cpp

    r82545 r82546  
    258258        }
    259259
    260         m_pAdditionalOptionsLabel = new QLabel;
    261         if (m_pAdditionalOptionsLabel)
    262         {
    263             m_pAdditionalOptionsLabel->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter);
    264             m_pContainerLayout->addWidget(m_pAdditionalOptionsLabel, 3, 0, 1, 1);
    265         }
    266         m_pKeepDiskNamesCheckBox = new QCheckBox;
    267         if (m_pKeepDiskNamesCheckBox)
    268             m_pContainerLayout->addWidget(m_pKeepDiskNamesCheckBox, 3, 1, 1, 1);
    269         m_pKeepHWUUIDsCheckBox = new QCheckBox;
    270         if (m_pKeepHWUUIDsCheckBox)
    271             m_pContainerLayout->addWidget(m_pKeepHWUUIDsCheckBox, 4, 1, 1, 1);
     260        /* Load currently supported clone options: */
     261        CSystemProperties comProperties = uiCommon().virtualBox().GetSystemProperties();
     262        const QVector<KCloneOptions> supportedOptions = comProperties.GetSupportedCloneOptions();
     263        /* Check whether we support additional clone options at all: */
     264        int iVerticalPosition = 3;
     265        const bool fSupportedKeepDiskNames = supportedOptions.contains(KCloneOptions_KeepDiskNames);
     266        const bool fSupportedKeepHWUUIDs = supportedOptions.contains(KCloneOptions_KeepHwUUIDs);
     267        if (fSupportedKeepDiskNames || fSupportedKeepHWUUIDs)
     268        {
     269            m_pAdditionalOptionsLabel = new QLabel;
     270            if (m_pAdditionalOptionsLabel)
     271            {
     272                m_pAdditionalOptionsLabel->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter);
     273                m_pContainerLayout->addWidget(m_pAdditionalOptionsLabel, iVerticalPosition, 0, 1, 1);
     274            }
     275        }
     276        if (fSupportedKeepDiskNames)
     277        {
     278            m_pKeepDiskNamesCheckBox = new QCheckBox;
     279            if (m_pKeepDiskNamesCheckBox)
     280                m_pContainerLayout->addWidget(m_pKeepDiskNamesCheckBox, iVerticalPosition++, 1, 1, 1);
     281        }
     282        if (fSupportedKeepHWUUIDs)
     283        {
     284            m_pKeepHWUUIDsCheckBox = new QCheckBox;
     285            if (m_pKeepHWUUIDsCheckBox)
     286                m_pContainerLayout->addWidget(m_pKeepHWUUIDsCheckBox, iVerticalPosition++, 1, 1, 1);
     287        }
    272288    }
    273289    pMainLayout->addStretch();
     
    342358    }
    343359
    344     m_pAdditionalOptionsLabel->setText(UIWizardCloneVM::tr("Additional Options:"));
    345     m_pKeepDiskNamesCheckBox->setToolTip(UIWizardCloneVM::tr("Don't change the disk names during cloning."));
    346     m_pKeepDiskNamesCheckBox->setText(UIWizardCloneVM::tr("Keep &Disk Names"));
    347     m_pKeepHWUUIDsCheckBox->setToolTip(UIWizardCloneVM::tr("Don't change hardware UUIDs during cloning."));
    348     m_pKeepHWUUIDsCheckBox->setText(UIWizardCloneVM::tr("Keep &Hardware UUIDs"));
     360    if (m_pAdditionalOptionsLabel)
     361        m_pAdditionalOptionsLabel->setText(UIWizardCloneVM::tr("Additional Options:"));
     362    if (m_pKeepDiskNamesCheckBox)
     363    {
     364        m_pKeepDiskNamesCheckBox->setToolTip(UIWizardCloneVM::tr("Don't change the disk names during cloning."));
     365        m_pKeepDiskNamesCheckBox->setText(UIWizardCloneVM::tr("Keep &Disk Names"));
     366    }
     367    if (m_pKeepHWUUIDsCheckBox)
     368    {
     369        m_pKeepHWUUIDsCheckBox->setToolTip(UIWizardCloneVM::tr("Don't change hardware UUIDs during cloning."));
     370        m_pKeepHWUUIDsCheckBox->setText(UIWizardCloneVM::tr("Keep &Hardware UUIDs"));
     371    }
    349372}
    350373
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