VirtualBox

Changeset 85063 in vbox


Ignore:
Timestamp:
Jul 6, 2020 10:19:00 AM (5 years ago)
Author:
vboxsync
Message:

FE/Qt: bugref:9515. Merging virtual machine hardware and disk pages.

Location:
trunk/src/VBox/Frontends/VirtualBox
Files:
2 deleted
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk

    r85055 r85063  
    652652        src/wizards/newvm/UIWizardNewVMPageBasic1.h \
    653653        src/wizards/newvm/UIWizardNewVMPageBasic2.h \
    654         src/wizards/newvm/UIWizardNewVMPageBasicHardware.h \
    655654        src/wizards/newvm/UIWizardNewVMPageBasicDisk.h \
    656655        src/wizards/newvm/UIWizardNewVMPageExpert.h \
     
    11151114        src/wizards/newvm/UIWizardNewVMPageBasic1.cpp \
    11161115        src/wizards/newvm/UIWizardNewVMPageBasic2.cpp \
    1117         src/wizards/newvm/UIWizardNewVMPageBasicHardware.cpp \
    11181116        src/wizards/newvm/UIWizardNewVMPageBasicDisk.cpp \
    11191117        src/wizards/newvm/UIWizardNewVMPageExpert.cpp \
  • trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIMediaComboBox.cpp

    r82968 r85063  
    2626
    2727
    28 UIMediaComboBox::UIMediaComboBox(QWidget *pParent)
     28UIMediaComboBox::UIMediaComboBox(QWidget *pParent /* = 0 */)
    2929    : QComboBox(pParent)
    3030    , m_enmMediaType(UIMediumDeviceType_Invalid)
  • trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIMediaComboBox.h

    r82968 r85063  
    4141
    4242    /** Constructs media combo-box passing @a pParent to the base-class. */
    43     UIMediaComboBox(QWidget *pParent);
     43    UIMediaComboBox(QWidget *pParent = 0);
    4444
    4545    /** Performs refresh. */
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVM.cpp

    r85055 r85063  
    2121#include "UIWizardNewVMPageBasic1.h"
    2222#include "UIWizardNewVMPageBasic2.h"
    23 #include "UIWizardNewVMPageBasicHardware.h"
    2423#include "UIWizardNewVMPageBasicDisk.h"
    2524#include "UIWizardNewVMPageExpert.h"
     
    7776            setPage(Page1, new UIWizardNewVMPageBasic1(m_strGroup));
    7877            setPage(Page2, new UIWizardNewVMPageBasic2);
    79             setPage(PageHardware, new UIWizardNewVMPageBasicHardware);
    8078            setPage(PageDisk, new UIWizardNewVMPageBasicDisk);
    8179            setStartId(Page1);
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVM.h

    r85055 r85063  
    6262        Page1,
    6363        Page2,
    64         PageHardware,
    6564        PageDisk,
    6665        PageMax
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasic1.cpp

    r85055 r85063  
    508508    UIWizardNewVM *pWizard = qobject_cast<UIWizardNewVM*>(wizard());
    509509    if (!pWizard || !pWizard->isUnattendedInstallEnabled())
    510         return UIWizardNewVM::PageHardware;
     510        return UIWizardNewVM::PageDisk;
    511511    return UIWizardNewVM::Page2;
    512512}
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasic2.cpp

    r85056 r85063  
    119119}
    120120
     121void UIWizardNewVMPage2::createUserNameHostNameWidgets()
     122{
     123    if (!m_pToolBox)
     124        return;
     125    QWidget *pContainer = new QWidget;
     126    QGridLayout *pGridLayout = new QGridLayout(pContainer);
     127
     128    m_pUserNamePasswordEditor = new UIUserNamePasswordEditor;
     129    pGridLayout->addWidget(m_pUserNamePasswordEditor, 0, 0, 3, 4);
     130    m_pHostnameLabel = new QLabel;
     131    m_pHostnameLineEdit = new QLineEdit;
     132    pGridLayout->addWidget(m_pHostnameLabel, 3, 0, 1, 1, Qt::AlignRight);
     133    pGridLayout->addWidget(m_pHostnameLineEdit, 3, 1, 1, 3);
     134    m_pToolBox->insertItem(ToolBoxItems_UserNameHostname, pContainer, UIIconPool::iconSet(":/cloud_profile_manager_16px.png"), QString());
     135}
     136
     137void UIWizardNewVMPage2::createGAInstallWidgets()
     138{
     139    if (!m_pToolBox)
     140        return;
     141    QWidget *pContainer = new QWidget;
     142    QGridLayout *pContainerLayout = new QGridLayout(pContainer);
     143
     144    m_pInstallGACheckBox = new QCheckBox;
     145    m_pISOPathLabel = new QLabel;
     146    {
     147        m_pISOPathLabel->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
     148        m_pISOPathLabel->setEnabled(false);
     149    }
     150    m_pISOFilePathSelector = new UIFilePathSelector;
     151    {
     152        m_pISOFilePathSelector->setResetEnabled(false);
     153        m_pISOFilePathSelector->setMode(UIFilePathSelector::Mode_File_Open);
     154        m_pISOFilePathSelector->setFileDialogFilters("*.iso *.ISO");
     155        m_pISOFilePathSelector->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Maximum);
     156        m_pISOFilePathSelector->setEnabled(false);
     157    }
     158
     159    pContainerLayout->addWidget(m_pInstallGACheckBox, 0, 0, 1, 5);
     160    pContainerLayout->addWidget(m_pISOPathLabel, 1, 1, 1, 1);
     161    pContainerLayout->addWidget(m_pISOFilePathSelector, 1, 2, 1, 4);
     162
     163    m_pToolBox->insertItem(ToolBoxItems_GAInstall, pContainer, UIIconPool::iconSet(":/cloud_profile_manager_16px.png"), QString());
     164}
     165
     166void UIWizardNewVMPage2::createProductKeyWidgets()
     167{
     168    if (!m_pToolBox)
     169        return;
     170    QWidget *pContainer = new QWidget;
     171    QGridLayout *pGridLayout = new QGridLayout(pContainer);
     172
     173    m_pProductKeyLabel = new QLabel;
     174    m_pProductKeyLineEdit = new QLineEdit;
     175    m_pProductKeyLineEdit->setInputMask(">NNNNN-NNNNN-NNNNN-NNNNN-NNNNN;#");
     176    pGridLayout->addWidget(m_pProductKeyLabel, 0, 0, 1, 1, Qt::AlignRight);
     177    pGridLayout->addWidget(m_pProductKeyLineEdit, 0, 1, 1, 3);
     178    m_pToolBox->insertItem(ToolBoxItems_ProductKey, pContainer, UIIconPool::iconSet(":/cloud_profile_manager_16px.png"), QString());
     179}
     180
    121181bool UIWizardNewVMPage2::checkGAISOFile() const
    122182{
     
    160220    registerField("guestAdditionsISOPath", this, "guestAdditionsISOPath");
    161221    registerField("productKey", this, "productKey");
    162 }
    163 
    164 void UIWizardNewVMPageBasic2::createUserNameHostNameWidgets()
    165 {
    166     if (!m_pToolBox)
    167         return;
    168     QWidget *pContainer = new QWidget;
    169     QGridLayout *pGridLayout = new QGridLayout(pContainer);
    170 
    171     m_pUserNamePasswordEditor = new UIUserNamePasswordEditor;
    172     pGridLayout->addWidget(m_pUserNamePasswordEditor, 0, 0, 3, 4);
    173     connect(m_pUserNamePasswordEditor, &UIUserNamePasswordEditor::sigSomeTextChanged,
    174             this, &UIWizardNewVMPageBasic2::completeChanged);
    175     m_pHostnameLabel = new QLabel;
    176     m_pHostnameLineEdit = new QLineEdit;
    177     pGridLayout->addWidget(m_pHostnameLabel, 3, 0, 1, 1, Qt::AlignRight);
    178     pGridLayout->addWidget(m_pHostnameLineEdit, 3, 1, 1, 3);
    179 
    180     m_pToolBox->insertItem(Tabs_UserNameHostname, pContainer, UIIconPool::iconSet(":/cloud_profile_manager_16px.png"), QString());
    181 
    182 }
    183 
    184 void UIWizardNewVMPageBasic2::createGAInstallWidgets()
    185 {
    186     if (!m_pToolBox)
    187         return;
    188     QWidget *pContainer = new QWidget;
    189     QGridLayout *pContainerLayout = new QGridLayout(pContainer);
    190 
    191     m_pInstallGACheckBox = new QCheckBox;
    192     connect(m_pInstallGACheckBox, &QCheckBox::toggled, this, &UIWizardNewVMPageBasic2::sltInstallGACheckBoxToggle);
    193     m_pISOPathLabel = new QLabel;
    194     {
    195         m_pISOPathLabel->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
    196         m_pISOPathLabel->setEnabled(false);
    197     }
    198     m_pISOFilePathSelector = new UIFilePathSelector;
    199     {
    200         m_pISOFilePathSelector->setResetEnabled(false);
    201         m_pISOFilePathSelector->setMode(UIFilePathSelector::Mode_File_Open);
    202         m_pISOFilePathSelector->setFileDialogFilters("*.iso *.ISO");
    203         m_pISOFilePathSelector->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Maximum);
    204         m_pISOFilePathSelector->setEnabled(false);
    205         connect(m_pISOFilePathSelector, &UIFilePathSelector::pathChanged, this, &UIWizardNewVMPageBasic2::sltGAISOPathChanged);
    206     }
    207 
    208     pContainerLayout->addWidget(m_pInstallGACheckBox, 0, 0, 1, 5);
    209     pContainerLayout->addWidget(m_pISOPathLabel, 1, 1, 1, 1);
    210     pContainerLayout->addWidget(m_pISOFilePathSelector, 1, 2, 1, 4);
    211 
    212     m_pToolBox->insertItem(Tabs_GAInstall, pContainer, UIIconPool::iconSet(":/cloud_profile_manager_16px.png"), QString());
    213 }
    214 
    215 void UIWizardNewVMPageBasic2::createProductKeyWidgets()
    216 {
    217     if (!m_pToolBox)
    218         return;
    219     QWidget *pContainer = new QWidget;
    220     QGridLayout *pGridLayout = new QGridLayout(pContainer);
    221 
    222 
    223     m_pProductKeyLabel = new QLabel;
    224     m_pProductKeyLineEdit = new QLineEdit;
    225     m_pProductKeyLineEdit->setInputMask(">NNNNN-NNNNN-NNNNN-NNNNN-NNNNN;#");
    226     pGridLayout->addWidget(m_pProductKeyLabel, 0, 0, 1, 1, Qt::AlignRight);
    227     pGridLayout->addWidget(m_pProductKeyLineEdit, 0, 1, 1, 3);
    228 
    229     m_pToolBox->insertItem(Tabs_ProductKey, pContainer, UIIconPool::iconSet(":/cloud_profile_manager_16px.png"), QString());
     222
     223    createConnections();
     224}
     225
     226void UIWizardNewVMPageBasic2::createConnections()
     227{
     228    if (m_pUserNamePasswordEditor)
     229        connect(m_pUserNamePasswordEditor, &UIUserNamePasswordEditor::sigSomeTextChanged,
     230                this, &UIWizardNewVMPageBasic2::completeChanged);
     231    if (m_pInstallGACheckBox)
     232        connect(m_pInstallGACheckBox, &QCheckBox::toggled, this,
     233                &UIWizardNewVMPageBasic2::sltInstallGACheckBoxToggle);
     234    if (m_pISOFilePathSelector)
     235        connect(m_pISOFilePathSelector, &UIFilePathSelector::pathChanged,
     236                this, &UIWizardNewVMPageBasic2::sltGAISOPathChanged);
    230237}
    231238
     
    234241    setTitle(UIWizardNewVM::tr("Unattended Guest OS Install Setup"));
    235242    if (m_pLabel)
    236         m_pLabel->setText(UIWizardNewVM::tr("<p>Here you can configure the unattended install by modifying user name, password, and "
     243        m_pLabel->setText(UIWizardNewVM::tr("<p>Here you can configure the unattended install by modifying username, password, and "
    237244                                            "hostname. You can additionally enable guest additions install and a product key for "
    238245                                            "Microsoft Windows guests.</p>"));
     
    241248    if (m_pToolBox)
    242249    {
    243         m_pToolBox->setItemText(Tabs_UserNameHostname, UIWizardNewVM::tr("UserName and hostname"));
    244         m_pToolBox->setItemText(Tabs_GAInstall, UIWizardNewVM::tr("Guest additions install"));
    245         m_pToolBox->setItemText(Tabs_ProductKey, UIWizardNewVM::tr("Product key"));
     250        m_pToolBox->setItemText(ToolBoxItems_UserNameHostname, UIWizardNewVM::tr("Username and hostname"));
     251        m_pToolBox->setItemText(ToolBoxItems_GAInstall, UIWizardNewVM::tr("Guest additions install"));
     252        m_pToolBox->setItemText(ToolBoxItems_ProductKey, UIWizardNewVM::tr("Product key"));
    246253    }
    247254    if (m_pInstallGACheckBox)
     
    277284    if (m_pToolBox)
    278285    {
    279         QWidget *pProductKeyWidget = m_pToolBox->widget(Tabs_ProductKey);
     286        QWidget *pProductKeyWidget = m_pToolBox->widget(ToolBoxItems_ProductKey);
    280287        if (pProductKeyWidget)
    281288            pProductKeyWidget->setEnabled(isProductKeyWidgetVisible());
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasic2.h

    r85056 r85063  
    6060
    6161protected:
    62     enum Tabs
     62    enum
    6363    {
    64         Tabs_UserNameHostname,
    65         Tabs_GAInstall,
    66         Tabs_ProductKey,
    67         Tabs_Max
     64        ToolBoxItems_UserNameHostname,
     65        ToolBoxItems_GAInstall,
     66        ToolBoxItems_ProductKey
    6867    };
     68
     69    void createUserNameHostNameWidgets();
     70    void createGAInstallWidgets();
     71    void createProductKeyWidgets();
    6972
    7073    bool checkGAISOFile() const;
     
    116119
    117120    void prepare();
    118     void createUserNameHostNameWidgets();
    119     void createGAInstallWidgets();
    120     void createProductKeyWidgets();
     121    void createConnections();
    121122    void retranslateUi();
    122123    void initializePage();
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasicDisk.cpp

    r84886 r85063  
    2020#include <QMetaType>
    2121#include <QRadioButton>
     22#include <QToolBox>
    2223#include <QVBoxLayout>
    2324
     
    2526#include "QIRichTextLabel.h"
    2627#include "QIToolButton.h"
     28#include "UIBaseMemoryEditor.h"
    2729#include "UIIconPool.h"
    2830#include "UIMediaComboBox.h"
     
    3032#include "UIMediumSelector.h"
    3133#include "UIMessageCenter.h"
     34#include "UIVirtualCPUEditor.h"
    3235#include "UIWizardNewVD.h"
    3336#include "UIWizardNewVM.h"
     
    3639UIWizardNewVMPageDisk::UIWizardNewVMPageDisk()
    3740    : m_fRecommendedNoDisk(false)
     41    , m_pToolBox(0)
     42    , m_pDiskSkip(0)
     43    , m_pDiskCreate(0)
     44    , m_pDiskPresent(0)
     45    , m_pDiskSelector(0)
     46    , m_pVMMButton(0)
     47    , m_pBaseMemoryEditor(0)
     48    , m_pVirtualCPUEditor(0)
    3849{
    3950}
     
    105116}
    106117
     118int UIWizardNewVMPageDisk::baseMemory() const
     119{
     120    if (!m_pBaseMemoryEditor)
     121        return 0;
     122    return m_pBaseMemoryEditor->value();
     123}
     124
     125int UIWizardNewVMPageDisk::VCPUCount() const
     126{
     127    if (!m_pVirtualCPUEditor)
     128        return 1;
     129    return m_pVirtualCPUEditor->value();
     130}
     131
    107132void UIWizardNewVMPageDisk::ensureNewVirtualDiskDeleted()
    108133{
     
    129154}
    130155
     156void UIWizardNewVMPageDisk::createDiskWidgets()
     157{
     158    QWidget *pDiskContainer = new QWidget;
     159    QGridLayout *pDiskLayout = new QGridLayout(pDiskContainer);
     160
     161    m_pDiskSkip = new QRadioButton;
     162    m_pDiskCreate = new QRadioButton;
     163    m_pDiskPresent = new QRadioButton;
     164    QStyleOptionButton options;
     165    options.initFrom(m_pDiskPresent);
     166    int iWidth = m_pDiskPresent->style()->pixelMetric(QStyle::PM_ExclusiveIndicatorWidth, &options, m_pDiskPresent);
     167    pDiskLayout->setColumnMinimumWidth(0, iWidth);
     168    m_pDiskSelector = new UIMediaComboBox;
     169    {
     170        m_pDiskSelector->setType(UIMediumDeviceType_HardDisk);
     171        m_pDiskSelector->repopulate();
     172    }
     173    m_pVMMButton = new QIToolButton;
     174    {
     175        m_pVMMButton->setAutoRaise(true);
     176        m_pVMMButton->setIcon(UIIconPool::iconSet(":/select_file_16px.png", ":/select_file_disabled_16px.png"));
     177    }
     178    pDiskLayout->addWidget(m_pDiskSkip, 0, 0, 1, 3);
     179    pDiskLayout->addWidget(m_pDiskCreate, 1, 0, 1, 3);
     180    pDiskLayout->addWidget(m_pDiskPresent, 2, 0, 1, 3);
     181    pDiskLayout->addWidget(m_pDiskSelector, 3, 1);
     182    pDiskLayout->addWidget(m_pVMMButton, 3, 2);
     183
     184    if (m_pToolBox)
     185        m_pToolBox->insertItem(ToolBoxItems_Disk, pDiskContainer, UIIconPool::iconSet(":/cloud_profile_manager_16px.png"), QString());
     186}
     187
     188void UIWizardNewVMPageDisk::createHardwareWidgets()
     189{
     190    QWidget *pHardwareContainer = new QWidget;
     191    QGridLayout *pHardwareLayout = new QGridLayout(pHardwareContainer);
     192
     193    m_pBaseMemoryEditor = new UIBaseMemoryEditor(0, true);
     194    m_pVirtualCPUEditor = new UIVirtualCPUEditor(0, true);
     195    pHardwareLayout->addWidget(m_pBaseMemoryEditor, 0, 0, 1, 4);
     196    pHardwareLayout->addWidget(m_pVirtualCPUEditor, 1, 0, 1, 4);
     197
     198    if (m_pToolBox)
     199        m_pToolBox->insertItem(ToolBoxItems_Hardware, pHardwareContainer,
     200                               UIIconPool::iconSet(":/cloud_profile_manager_16px.png"), QString());
     201}
     202
    131203UIWizardNewVMPageBasicDisk::UIWizardNewVMPageBasicDisk()
    132204{
    133     /* Create widgets: */
     205    prepare();
     206    /* Register classes: */
     207    qRegisterMetaType<CMedium>();
     208    /* Register fields: */
     209    registerField("virtualDisk", this, "virtualDisk");
     210    registerField("virtualDiskId", this, "virtualDiskId");
     211    registerField("virtualDiskName", this, "virtualDiskName");
     212    registerField("virtualDiskLocation", this, "virtualDiskLocation");
     213    registerField("baseMemory", this, "baseMemory");
     214    registerField("VCPUCount", this, "VCPUCount");
     215}
     216
     217void UIWizardNewVMPageBasicDisk::prepare()
     218{
    134219    QVBoxLayout *pMainLayout = new QVBoxLayout(this);
    135     {
    136         m_pLabel = new QIRichTextLabel(this);
    137         QGridLayout *pDiskLayout = new QGridLayout;
    138         {
    139             m_pDiskSkip = new QRadioButton(this);
    140             m_pDiskCreate = new QRadioButton(this);
    141             m_pDiskPresent = new QRadioButton(this);
    142             QStyleOptionButton options;
    143             options.initFrom(m_pDiskPresent);
    144             int iWidth = m_pDiskPresent->style()->pixelMetric(QStyle::PM_ExclusiveIndicatorWidth, &options, m_pDiskPresent);
    145             pDiskLayout->setColumnMinimumWidth(0, iWidth);
    146             m_pDiskSelector = new UIMediaComboBox(this);
    147             {
    148                 m_pDiskSelector->setType(UIMediumDeviceType_HardDisk);
    149                 m_pDiskSelector->repopulate();
    150             }
    151             m_pVMMButton = new QIToolButton(this);
    152             {
    153                 m_pVMMButton->setAutoRaise(true);
    154                 m_pVMMButton->setIcon(UIIconPool::iconSet(":/select_file_16px.png", ":/select_file_disabled_16px.png"));
    155             }
    156             pDiskLayout->addWidget(m_pDiskSkip, 0, 0, 1, 3);
    157             pDiskLayout->addWidget(m_pDiskCreate, 1, 0, 1, 3);
    158             pDiskLayout->addWidget(m_pDiskPresent, 2, 0, 1, 3);
    159             pDiskLayout->addWidget(m_pDiskSelector, 3, 1);
    160             pDiskLayout->addWidget(m_pVMMButton, 3, 2);
    161         }
    162         pMainLayout->addWidget(m_pLabel);
    163         pMainLayout->addLayout(pDiskLayout);
    164         pMainLayout->addStretch();
    165         updateVirtualDiskSource();
    166     }
    167 
    168     /* Setup connections: */
     220    m_pToolBox = new QToolBox;
     221
     222    m_pLabel = new QIRichTextLabel(this);
     223    pMainLayout->addWidget(m_pLabel);
     224    pMainLayout->addWidget(m_pToolBox);
     225    createDiskWidgets();
     226    createHardwareWidgets();
     227
     228    pMainLayout->addStretch();
     229    updateVirtualDiskSource();
     230    createConnections();
     231}
     232
     233void UIWizardNewVMPageBasicDisk::createConnections()
     234{
    169235    connect(m_pDiskSkip, &QRadioButton::toggled,
    170236            this, &UIWizardNewVMPageBasicDisk::sltVirtualDiskSourceChanged);
     
    177243    connect(m_pVMMButton, &QIToolButton::clicked,
    178244            this, &UIWizardNewVMPageBasicDisk::sltGetWithFileOpenDialog);
    179 
    180     /* Register classes: */
    181     qRegisterMetaType<CMedium>();
    182     /* Register fields: */
    183     registerField("virtualDisk", this, "virtualDisk");
    184     registerField("virtualDiskId", this, "virtualDiskId");
    185     registerField("virtualDiskName", this, "virtualDiskName");
    186     registerField("virtualDiskLocation", this, "virtualDiskLocation");
    187245}
    188246
     
    215273                                        "<p>If you need a more complex storage set-up you can skip this step "
    216274                                        "and make the changes to the machine settings once the machine is created.</p>"
    217                                         "<p>The recommended size of the hard disk is <b>%1</b>.</p>")
     275                                        "<p>The recommended size of the hard disk is <b>%1</b>.</p>"
     276                                        "<p>You can modify the virtual machine's hardware.</p>")
    218277                                        .arg(strRecommendedHDD));
     278
    219279    m_pDiskSkip->setText(UIWizardNewVM::tr("&Do not add a virtual hard disk"));
    220280    m_pDiskCreate->setText(UIWizardNewVM::tr("&Create a virtual hard disk now"));
    221281    m_pDiskPresent->setText(UIWizardNewVM::tr("&Use an existing virtual hard disk file"));
    222282    m_pVMMButton->setToolTip(UIWizardNewVM::tr("Choose a virtual hard disk file..."));
     283
     284    if (m_pToolBox)
     285    {
     286        m_pToolBox->setItemText(ToolBoxItems_Disk, UIWizardNewVM::tr("Hard Disk"));
     287        m_pToolBox->setItemText(ToolBoxItems_Hardware, UIWizardNewVM::tr("Hardware"));
     288    }
    223289}
    224290
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasicDisk.h

    r84886 r85063  
    3434/* Forward declarations: */
    3535class QRadioButton;
     36class QToolBox;
    3637class QIRichTextLabel;
    3738class QIToolButton;
     39class UIBaseMemoryEditor;
    3840class UIMediaComboBox;
     41class UIVirtualCPUEditor;
    3942
    4043/* 3rd page of the New Virtual Machine wizard (base part): */
    4144class UIWizardNewVMPageDisk : public UIWizardPageBase
    4245{
     46
    4347protected:
     48
     49    enum
     50    {
     51        ToolBoxItems_Disk,
     52        ToolBoxItems_Hardware
     53    };
     54
    4455
    4556    /* Constructor: */
     
    6778    void setVirtualDiskLocation(const QString &strVirtualDiskLocation) { m_strVirtualDiskLocation = strVirtualDiskLocation; }
    6879
     80    int baseMemory() const;
     81    int VCPUCount() const;
     82
     83    void createDiskWidgets();
     84    void createHardwareWidgets();
     85
    6986    /* Helpers: */
    7087    void ensureNewVirtualDiskDeleted();
     
    7996    QString m_strVirtualDiskLocation;
    8097
    81     /* Widgets: */
    82     QRadioButton *m_pDiskSkip;
    83     QRadioButton *m_pDiskCreate;
    84     QRadioButton *m_pDiskPresent;
    85     UIMediaComboBox *m_pDiskSelector;
    86     QIToolButton *m_pVMMButton;
     98    /** @name Widgets
     99     * @{ */
     100       QToolBox     *m_pToolBox;
     101       QRadioButton *m_pDiskSkip;
     102       QRadioButton *m_pDiskCreate;
     103       QRadioButton *m_pDiskPresent;
     104       UIMediaComboBox *m_pDiskSelector;
     105       QIToolButton *m_pVMMButton;
     106       UIBaseMemoryEditor *m_pBaseMemoryEditor;
     107       UIVirtualCPUEditor *m_pVirtualCPUEditor;
     108    /** @} */
     109
    87110};
    88111
     
    95118    Q_PROPERTY(QString virtualDiskName READ virtualDiskName WRITE setVirtualDiskName);
    96119    Q_PROPERTY(QString virtualDiskLocation READ virtualDiskLocation WRITE setVirtualDiskLocation);
     120    Q_PROPERTY(int baseMemory READ baseMemory);
     121    Q_PROPERTY(int VCPUCount READ VCPUCount);
    97122
    98123public:
     
    118143private:
    119144
    120     /* Translate stuff: */
     145
     146    /** Prepare stuff: */
     147    void prepare();
     148    void createConnections();
    121149    void retranslateUi();
    122 
    123     /* Prepare stuff: */
    124150    void initializePage();
    125151    void cleanupPage();
    126152
    127     /* Validation stuff: */
     153    /** Validation stuff: */
    128154    bool isComplete() const;
    129155    bool validatePage();
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageExpert.h

    r85055 r85063  
    2424/* Local includes: */
    2525#include "UIWizardNewVMPageBasic1.h"
    26 #include "UIWizardNewVMPageBasicHardware.h"
    2726#include "UIWizardNewVMPageBasicDisk.h"
    2827
     
    3332class UIWizardNewVMPageExpert : public UIWizardPage,
    3433                                public UIWizardNewVMPage1,
    35                                 public UIWizardNewVMPageHardware,
    3634                                public UIWizardNewVMPageDisk
    3735{
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