VirtualBox

Changeset 105539 in vbox


Ignore:
Timestamp:
Jul 30, 2024 10:50:44 AM (4 months ago)
Author:
vboxsync
Message:

FE/Qt: bugref:10736. Some preparation for merging.

Location:
trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVD.cpp

    r105363 r105539  
    108108}
    109109
     110const QString &UIWizardNewVD::defaultPath() const
     111{
     112    return m_strDefaultPath;
     113}
     114
     115const QString &UIWizardNewVD::defaultName() const
     116{
     117    return m_strDefaultName;
     118}
     119
     120qulonglong UIWizardNewVD::defaultSize() const
     121{
     122    return m_uDefaultSize;
     123}
     124
    110125void UIWizardNewVD::populatePages()
    111126{
     
    116131            addPage(new UIWizardNewVDFileTypePage);
    117132            m_iMediumVariantPageIndex = addPage(new UIWizardNewVDVariantPage);
    118             addPage(new UIWizardNewVDSizeLocationPage(m_strDefaultName, m_strDefaultPath, m_uDefaultSize));
     133            addPage(new UIWizardNewVDSizeLocationPage(diskMinimumSize()));
    119134            break;
    120135        }
    121136        case WizardMode_Expert:
    122137        {
    123             addPage(new UIWizardNewVDExpertPage(m_strDefaultName, m_strDefaultPath, m_uDefaultSize));
     138            addPage(new UIWizardNewVDExpertPage(diskMinimumSize()));
    124139            break;
    125140        }
     
    234249    setPageVisible(m_iMediumVariantPageIndex, cTest > 1);
    235250}
     251
     252qulonglong UIWizardNewVD::diskMinimumSize() const
     253{
     254    return sourceDiskLogicalSize();
     255}
     256
     257qulonglong UIWizardNewVD::sourceDiskLogicalSize() const
     258{
     259    if (m_comSourceVirtualDisk.isNull())
     260        return _4M;
     261    return m_comSourceVirtualDisk.GetLogicalSize();
     262}
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVD.h

    r103982 r105539  
    8181    /** @} */
    8282
     83       const QString &defaultPath() const;
     84       const QString &defaultName() const;
     85       qulonglong defaultSize() const;
     86
    8387protected:
    8488
     
    9397    /** Check medium capabilities and decide if medium variant page should be hidden. */
    9498    void setMediumVariantPageVisibility();
     99    qulonglong diskMinimumSize() const;
     100    qulonglong sourceDiskLogicalSize() const;
    95101    qulonglong m_uMediumVariant;
    96102    CMediumFormat m_comMediumFormat;
     
    102108    int m_iMediumVariantPageIndex;
    103109    QUuid m_uMediumId;
     110    /** Holds the source virtual disk wrapper. */
     111    CMedium m_comSourceVirtualDisk;
    104112};
    105113
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDExpertPage.cpp

    r105260 r105539  
    4242#include "CSystemProperties.h"
    4343
    44 UIWizardNewVDExpertPage::UIWizardNewVDExpertPage(const QString &strDefaultName, const QString &strDefaultPath, qulonglong uDefaultSize)
     44UIWizardNewVDExpertPage::UIWizardNewVDExpertPage(qulonglong uDiskMinimumSize)
    4545    : UINativeWizardPage()
    4646    , m_pSizeAndPathGroup(0)
     
    4848    , m_pVariantWidget(0)
    4949    , m_pFormatVariantGroupBox(0)
    50     , m_strDefaultName(strDefaultName)
    51     , m_strDefaultPath(strDefaultPath)
    52     , m_uDefaultSize(uDefaultSize)
    5350    , m_uMediumSizeMin(_4M)
    5451    , m_uMediumSizeMax(gpGlobalSession->virtualBox().GetSystemProperties().GetInfoVDSize())
    5552{
    56     prepare();
    57 }
    58 
    59 void UIWizardNewVDExpertPage::prepare()
     53    prepare(uDiskMinimumSize);
     54}
     55
     56void UIWizardNewVDExpertPage::prepare(qulonglong uDiskMinimumSize)
    6057{
    6158    QVBoxLayout *pMainLayout = new QVBoxLayout(this);
    62     m_pSizeAndPathGroup = new UIMediumSizeAndPathGroupBox(true /* fExpertMode */, 0 /* parent */, _4M /* minimum size */);
     59    m_pSizeAndPathGroup = new UIMediumSizeAndPathGroupBox(true /* fExpertMode */, 0 /* parent */,uDiskMinimumSize);
    6360    m_pFormatComboBox = new UIDiskFormatsComboBox(true /* fExpertMode */, KDeviceType_HardDisk, 0);
    6461    m_pVariantWidget = new UIDiskVariantWidget(0);
     
    163160    QString strExtension = UIWizardDiskEditors::defaultExtension(comMediumFormat, KDeviceType_HardDisk);
    164161    QString strMediumFilePath =
    165         UIWizardDiskEditors::constructMediumFilePath(UIWizardDiskEditors::appendExtension(m_strDefaultName,
    166                                                                                           strExtension), m_strDefaultPath);
     162        UIWizardDiskEditors::constructMediumFilePath(UIWizardDiskEditors::appendExtension(pWizard->defaultName(),
     163                                                                                          strExtension), pWizard->defaultPath());
    167164    m_pSizeAndPathGroup->blockSignals(true);
    168165    m_pSizeAndPathGroup->setMediumFilePath(strMediumFilePath);
     
    171168
    172169    m_pSizeAndPathGroup->blockSignals(true);
    173     m_pSizeAndPathGroup->setMediumSize(m_uDefaultSize > m_uMediumSizeMin && m_uDefaultSize < m_uMediumSizeMax ? m_uDefaultSize : m_uMediumSizeMin);
     170    qulonglong uDefaultSize = pWizard->defaultSize();
     171    m_pSizeAndPathGroup->setMediumSize(uDefaultSize > m_uMediumSizeMin && uDefaultSize < m_uMediumSizeMax ? uDefaultSize : m_uMediumSizeMin);
    174172    m_pSizeAndPathGroup->blockSignals(false);
    175173    pWizard->setMediumSize(m_pSizeAndPathGroup->mediumSize());
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDExpertPage.h

    r103982 r105539  
    4848public:
    4949
    50     UIWizardNewVDExpertPage(const QString &strDefaultName, const QString &strDefaultPath, qulonglong uDefaultSize);
     50    UIWizardNewVDExpertPage(qulonglong uDiskMinimumSize);
    5151
    5252private slots:
     
    6363
    6464    /** Prepare stuff. */
    65     void prepare();
     65    void prepare(qulonglong uDiskMinimumSize);
    6666    virtual void initializePage() RT_OVERRIDE RT_FINAL;
    6767
     
    8181   /** @name Variable
    8282     * @{ */
    83        QString m_strDefaultName;
    84        QString m_strDefaultPath;
    85        qulonglong m_uDefaultSize;
    8683       qulonglong m_uMediumSizeMin;
    8784       qulonglong m_uMediumSizeMax;
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDSizeLocationPage.cpp

    r104069 r105539  
    4040#include "CSystemProperties.h"
    4141
    42 UIWizardNewVDSizeLocationPage::UIWizardNewVDSizeLocationPage(const QString &strDefaultName,
    43                                                              const QString &strDefaultPath, qulonglong uDefaultSize)
     42UIWizardNewVDSizeLocationPage::UIWizardNewVDSizeLocationPage(qulonglong uDiskMinimumSize)
    4443    : m_pMediumSizePathGroup(0)
    45     , m_uMediumSizeMin(_4M)
     44    , m_uMediumSizeMin(uDiskMinimumSize)
    4645    , m_uMediumSizeMax(gpGlobalSession->virtualBox().GetSystemProperties().GetInfoVDSize())
    47     , m_strDefaultName(strDefaultName.isEmpty() ? QString("NewVirtualDisk1") : strDefaultName)
    48     , m_strDefaultPath(strDefaultPath)
    49     , m_uDefaultSize(uDefaultSize)
    5046{
    5147    prepare();
     
    119115    /* Initialize the medium file path with default name and path if user has not exclusively modified them yet: */
    120116    if (!m_userModifiedParameters.contains("MediumPath"))
     117    {
    121118        strMediumFilePath =
    122             UIWizardDiskEditors::constructMediumFilePath(UIWizardDiskEditors::appendExtension(m_strDefaultName,
    123                                                                                                 strExtension), m_strDefaultPath);
     119            UIWizardDiskEditors::constructMediumFilePath(UIWizardDiskEditors::appendExtension(pWizard->defaultName(),
     120                                                                                              strExtension), pWizard->defaultPath());
     121    }
    124122    /* Initialize the medium file path with file path and file name from the location editor. This part is to update the
    125123     * file extention correctly in case user has gone back and changed the file format after modifying medium file path: */
     
    136134    {
    137135        m_pMediumSizePathGroup->blockSignals(true);
    138         m_pMediumSizePathGroup->setMediumSize(m_uDefaultSize > m_uMediumSizeMin && m_uDefaultSize < m_uMediumSizeMax ? m_uDefaultSize : m_uMediumSizeMin);
     136        qulonglong uDefaultSize = pWizard->defaultSize();
     137        m_pMediumSizePathGroup->setMediumSize(uDefaultSize > m_uMediumSizeMin && uDefaultSize < m_uMediumSizeMax ? uDefaultSize : m_uMediumSizeMin);
    139138        m_pMediumSizePathGroup->blockSignals(false);
    140139        pWizard->setMediumSize(m_pMediumSizePathGroup->mediumSize());
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDSizeLocationPage.h

    r104037 r105539  
    4747public:
    4848
    49     UIWizardNewVDSizeLocationPage(const QString &strDefaultName, const QString &strDefaultPath, qulonglong uDefaultSize);
     49    UIWizardNewVDSizeLocationPage(qulonglong uDiskMinimumSize);
    5050
    5151private slots:
     
    6666    qulonglong m_uMediumSizeMin;
    6767    qulonglong m_uMediumSizeMax;
    68     QString m_strDefaultName;
    69     QString m_strDefaultPath;
    70     qulonglong m_uDefaultSize;
    7168    QSet<QString> m_userModifiedParameters;
    7269};
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