VirtualBox

Changeset 84961 in vbox for trunk/src/VBox/Frontends


Ignore:
Timestamp:
Jun 25, 2020 6:49:11 PM (5 years ago)
Author:
vboxsync
Message:

FE/Qt: bugref:9515. Adding an additional page for windows product key.

Location:
trunk/src/VBox/Frontends/VirtualBox
Files:
8 edited
2 copied

Legend:

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

    r84905 r84961  
    691691        src/wizards/newvm/UIWizardNewVMPageBasicNameType.h \
    692692        src/wizards/newvm/UIWizardNewVMPageBasicHardware.h \
     693        src/wizards/newvm/UIWizardNewVMPageBasicProductKey.h \
    693694        src/wizards/newvm/UIWizardNewVMPageBasicDisk.h \
    694695        src/wizards/newvm/UIWizardNewVMPageExpert.h \
     
    11531154        src/wizards/newvm/UIWizardNewVMPageBasicNameType.cpp \
    11541155        src/wizards/newvm/UIWizardNewVMPageBasicHardware.cpp \
     1156        src/wizards/newvm/UIWizardNewVMPageBasicProductKey.cpp \
    11551157        src/wizards/newvm/UIWizardNewVMPageBasicDisk.cpp \
    11561158        src/wizards/newvm/UIWizardNewVMPageExpert.cpp \
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVM.cpp

    r84955 r84961  
    2222#include "UIWizardNewVMPageBasicNameType.h"
    2323#include "UIWizardNewVMPageBasicHardware.h"
     24#include "UIWizardNewVMPageBasicProductKey.h"
    2425#include "UIWizardNewVMPageBasicDisk.h"
    2526#include "UIWizardNewVMPageExpert.h"
     
    8384            setPage(PageNameType, new UIWizardNewVMPageBasicNameType(m_strGroup));
    8485            setPage(PageInstallSetup, new UIWizardNewVMPageBasicInstallSetup);
     86            setPage(PageProductKey, new UIWizardNewVMPageBasicProductKey);
    8587            setPage(PageHardware, new UIWizardNewVMPageBasicHardware);
    8688            setPage(PageDisk, new UIWizardNewVMPageBasicDisk);
     
    544546    return fieldValue.toBool();
    545547}
     548
     549bool UIWizardNewVM::isGuestOSTypeWindows() const
     550{
     551    return getStringFieldValue("guestOSFamiyId").contains("windows", Qt::CaseInsensitive);
     552}
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVM.h

    r84955 r84961  
    6161        PageNameType,
    6262        PageInstallSetup,
     63        PageProductKey,
    6364        PageHardware,
    6465        PageDisk,
     
    8384    const UIUnattendedInstallData &unattendedInstallData() const;
    8485    bool isUnattendedInstallEnabled() const;
     86    bool isGuestOSTypeWindows() const;
    8587
    8688protected:
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasicInstallSetup.cpp

    r84955 r84961  
    334334    return true;
    335335}
     336
     337int UIWizardNewVMPageBasicInstallSetup::nextId() const
     338{
     339    UIWizardNewVM *pWizard = qobject_cast<UIWizardNewVM*>(wizard());
     340    if (!pWizard || !pWizard->isUnattendedInstallEnabled() || !pWizard->isGuestOSTypeWindows())
     341        return UIWizardNewVM::PageHardware;
     342    return UIWizardNewVM::PageProductKey;
     343}
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasicInstallSetup.h

    r84955 r84961  
    137137};
    138138
    139 /* 2nd page of the New Virtual Machine wizard (basic extension): */
    140139class UIWizardNewVMPageBasicInstallSetup : public UIWizardPage, public UIWizardNewVMPageInstallSetup
    141140{
     
    150149    UIWizardNewVMPageBasicInstallSetup();
    151150    void setDefaultUnattendedInstallData(const UIUnattendedInstallData &unattendedInstallData);
     151    virtual int nextId() const /* override */;
    152152
    153153private slots:
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasicNameType.cpp

    r84955 r84961  
    319319}
    320320
     321QString UIWizardNewVMPageNameType::guestOSFamiyId() const
     322{
     323    if (!m_pNameAndSystemEditor)
     324        return QString();
     325    return m_pNameAndSystemEditor->familyId();
     326}
     327
    321328UIWizardNewVMPageBasicNameType::UIWizardNewVMPageBasicNameType(const QString &strGroup)
    322329    : UIWizardNewVMPageNameType(strGroup)
     
    343350    registerField("machineFolder", this, "machineFolder");
    344351    registerField("machineBaseName", this, "machineBaseName");
     352    registerField("guestOSFamiyId", this, "guestOSFamiyId");
    345353}
    346354
     
    358366        onNameChanged(strDetectedOSType);
    359367}
    360 
    361368
    362369void UIWizardNewVMPageBasicNameType::sltNameChanged(const QString &strNewName)
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasicNameType.h

    r84955 r84961  
    5656    void setMachineBaseName(const QString &strMachineBaseName);
    5757
     58    QString guestOSFamiyId() const;
     59
    5860    /** calls CVirtualBox::ComposeMachineFilename(...) and sets related member variables */
    5961    void composeMachineFilePath();
     
    8890    Q_PROPERTY(QString machineFolder READ machineFolder WRITE setMachineFolder);
    8991    Q_PROPERTY(QString machineBaseName READ machineBaseName WRITE setMachineBaseName);
     92    Q_PROPERTY(QString guestOSFamiyId READ guestOSFamiyId);
     93
    9094
    9195public:
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasicProductKey.cpp

    r84955 r84961  
    11/* $Id$ */
    22/** @file
    3  * VBox Qt GUI - UIWizardNewVMPageBasicInstallSetup class implementation.
     3 * VBox Qt GUI - UIWizardNewVMPageBasicProductKey class implementation.
    44 */
    55
     
    3737#include "UIIconPool.h"
    3838#include "UIVirtualCPUEditor.h"
    39 #include "UIWizardNewVMPageBasicInstallSetup.h"
     39#include "UIWizardNewVMPageBasicProductKey.h"
    4040#include "UIWizardNewVM.h"
    4141
    42 UIPasswordLineEdit::UIPasswordLineEdit(QWidget *pParent /*= 0 */)
    43     :QLineEdit(pParent)
    44     , m_pTextVisibilityButton(0)
    45 {
    46     prepare();
    47 }
    48 
    49 void UIPasswordLineEdit::toggleTextVisibility(bool fTextVisible)
    50 {
    51     if (fTextVisible)
    52     {
    53         setEchoMode(QLineEdit::Normal);
    54         if(m_pTextVisibilityButton)
    55             m_pTextVisibilityButton->setIcon(UIIconPool::iconSet(":/eye-off.png"));
    56         return;
    57     }
    58     setEchoMode(QLineEdit::Password);
    59     if(m_pTextVisibilityButton)
    60         m_pTextVisibilityButton->setIcon(UIIconPool::iconSet(":/eye-on.png"));
    61 }
    62 
    63 void UIPasswordLineEdit::prepare()
    64 {
    65     m_pTextVisibilityButton = new QToolButton(this);
    66     m_pTextVisibilityButton->setFocusPolicy(Qt::ClickFocus);
    67     m_pTextVisibilityButton->setAutoRaise(true);
    68     m_pTextVisibilityButton->setCursor(Qt::ArrowCursor);
    69     m_pTextVisibilityButton->show();
    70     connect(m_pTextVisibilityButton, &QToolButton::clicked, this, &UIPasswordLineEdit::sltHandleTextVisibilityChange);
    71     toggleTextVisibility(false);
    72 }
    73 
    74 void UIPasswordLineEdit::paintEvent(QPaintEvent *pevent)
    75 {
    76     QLineEdit::paintEvent(pevent);
    77     int iFrameWidth = style()->pixelMetric(QStyle::PM_DefaultFrameWidth);
    78     int iSize = height() - 2 * iFrameWidth;
    79     m_pTextVisibilityButton->setGeometry(width() - iSize, iFrameWidth, iSize, iSize);
    80 
    81 }
    82 
    83 void UIPasswordLineEdit::sltHandleTextVisibilityChange()
    84 {
    85     bool fTextVisible = false;
    86     if (echoMode() == QLineEdit::Normal)
    87         fTextVisible = false;
    88     else
    89         fTextVisible = true;
    90     toggleTextVisibility(fTextVisible);
    91     emit sigTextVisibilityToggled(fTextVisible);
    92 }
    93 
    94 UIUserNamePasswordEditor::UIUserNamePasswordEditor(QWidget *pParent /*  = 0 */)
    95     : QIWithRetranslateUI<QWidget>(pParent)
    96     , m_pUserNameLineEdit(0)
    97     , m_pPasswordLineEdit(0)
    98     , m_pPasswordRepeatLineEdit(0)
    99     , m_pUserNameLabel(0)
    100     , m_pPasswordLabel(0)
    101     , m_pPasswordRepeatLabel(0)
    102 {
    103     prepare();
    104 }
    105 
    106 QString UIUserNamePasswordEditor::userName() const
    107 {
    108     if (m_pUserNameLineEdit)
    109         return m_pUserNameLineEdit->text();
    110     return QString();
    111 }
    112 
    113 void UIUserNamePasswordEditor::setUserName(const QString &strUserName)
    114 {
    115     if (m_pUserNameLineEdit)
    116         return m_pUserNameLineEdit->setText(strUserName);
    117 }
    118 
    119 QString UIUserNamePasswordEditor::password() const
    120 {
    121     if (m_pPasswordLineEdit)
    122         return m_pPasswordLineEdit->text();
    123     return QString();
    124 }
    125 
    126 void UIUserNamePasswordEditor::setPassword(const QString &strPassword)
    127 {
    128     if (m_pPasswordLineEdit)
    129         m_pPasswordLineEdit->setText(strPassword);
    130     if (m_pPasswordRepeatLineEdit)
    131         m_pPasswordRepeatLineEdit->setText(strPassword);
    132 }
    133 
    134 bool UIUserNamePasswordEditor::isComplete()
    135 {
    136     if (m_pUserNameLineEdit && m_pUserNameLineEdit->text().isEmpty())
    137     {
    138         markLineEdit(m_pUserNameLineEdit, true);
    139         return false;
    140     }
    141     else
    142         markLineEdit(m_pUserNameLineEdit, false);
    143     bool fPasswordOK = true;
    144     if (m_pPasswordLineEdit && m_pPasswordRepeatLineEdit)
    145     {
    146         if (m_pPasswordLineEdit->text() != m_pPasswordRepeatLineEdit->text())
    147             fPasswordOK = false;
    148         if (m_pPasswordLineEdit->text().isEmpty())
    149             fPasswordOK = false;
    150     }
    151     markLineEdit(m_pPasswordLineEdit, !fPasswordOK);
    152     markLineEdit(m_pPasswordRepeatLineEdit, !fPasswordOK);
    153     return fPasswordOK;
    154 }
    155 
    156 void UIUserNamePasswordEditor::retranslateUi()
    157 {
    158     if (m_pUserNameLabel)
    159     {
    160         m_pUserNameLabel->setText(UIWizardNewVM::tr("User Name:"));
    161         m_pUserNameLabel->setToolTip(UIWizardNewVM::tr("Type the user name which will be used in attended install:"));
    162 
    163     }
    164     if (m_pPasswordLabel)
    165     {
    166         m_pPasswordLabel->setText(UIWizardNewVM::tr("Password:"));
    167         m_pPasswordLabel->setToolTip(UIWizardNewVM::tr("Type the password for the user name"));
    168 
    169     }
    170     if (m_pPasswordRepeatLabel)
    171     {
    172         m_pPasswordRepeatLabel->setText(UIWizardNewVM::tr("Repeat Password:"));
    173         m_pPasswordRepeatLabel->setToolTip(UIWizardNewVM::tr("Retype the password:"));
    174     }
    175 }
    176 
    177 template <class T>
    178 void UIUserNamePasswordEditor::addLineEdit(int &iRow, QLabel *&pLabel, T *&pLineEdit, QGridLayout *pLayout)
    179 {
    180     if (!pLayout || pLabel || pLineEdit)
    181         return;
    182     pLabel = new QLabel;
    183     if (!pLabel)
    184         return;
    185     pLayout->addWidget(pLabel, iRow, 0, 1, 1, Qt::AlignRight);
    186 
    187     pLineEdit = new T;
    188     if (!pLineEdit)
    189         return;
    190     pLayout->addWidget(pLineEdit, iRow, 1, 1, 3);
    191 
    192     pLabel->setBuddy(pLineEdit);
    193     ++iRow;
    194     connect(pLineEdit, &T::textChanged, this, &UIUserNamePasswordEditor::sigSomeTextChanged);
    195     return;
    196 }
    197 
    198 void UIUserNamePasswordEditor::markLineEdit(QLineEdit *pLineEdit, bool fError)
    199 {
    200     if (!pLineEdit)
    201         return;
    202     QPalette palette = pLineEdit->palette();
    203     if (fError)
    204         palette.setColor(QPalette::Base, QColor(255, 180, 180));
    205     else
    206         palette.setColor(QPalette::Base, m_orginalLineEditBaseColor);
    207     pLineEdit->setPalette(palette);
    208 }
    209 
    210 void UIUserNamePasswordEditor::prepare()
    211 {
    212     QGridLayout *pMainLayout = new QGridLayout;
    213     pMainLayout->setContentsMargins(0, 0, 0, 0);
    214     if (!pMainLayout)
    215         return;
    216     setLayout(pMainLayout);
    217     int iRow = 0;
    218     addLineEdit<QLineEdit>(iRow, m_pUserNameLabel, m_pUserNameLineEdit, pMainLayout);
    219     addLineEdit<UIPasswordLineEdit>(iRow, m_pPasswordLabel, m_pPasswordLineEdit, pMainLayout);
    220     addLineEdit<UIPasswordLineEdit>(iRow, m_pPasswordRepeatLabel, m_pPasswordRepeatLineEdit, pMainLayout);
    221 
    222     connect(m_pPasswordLineEdit, &UIPasswordLineEdit::sigTextVisibilityToggled,
    223             this, &UIUserNamePasswordEditor::sltHandlePasswordVisibility);
    224     connect(m_pPasswordRepeatLineEdit, &UIPasswordLineEdit::sigTextVisibilityToggled,
    225             this, &UIUserNamePasswordEditor::sltHandlePasswordVisibility);
    226     /* Cache the original back color of the line edit to restore it correctly: */
    227     if (m_pUserNameLineEdit)
    228         m_orginalLineEditBaseColor = m_pUserNameLineEdit->palette().color(QPalette::Base);
    229 
    230     retranslateUi();
    231 }
    232 
    233 void UIUserNamePasswordEditor::sltHandlePasswordVisibility(bool fPasswordVisible)
    234 {
    235     if (m_pPasswordLineEdit)
    236         m_pPasswordLineEdit->toggleTextVisibility(fPasswordVisible);
    237     if (m_pPasswordRepeatLineEdit)
    238         m_pPasswordRepeatLineEdit->toggleTextVisibility(fPasswordVisible);
    239 }
    240 
    241 UIWizardNewVMPageInstallSetup::UIWizardNewVMPageInstallSetup()
    242     : m_pUserNamePasswordEditor(0)
    243     , m_pHostnameLineEdit(0)
     42UIWizardNewVMPageProductKey::UIWizardNewVMPageProductKey()
     43    : m_pProductKeyLineEdit(0)
    24444    , m_pHostnameLabel(0)
    24545{
    24646}
    24747
    248 QString UIWizardNewVMPageInstallSetup::userName() const
     48QString UIWizardNewVMPageProductKey::productKey() const
    24949{
    250     if (m_pUserNamePasswordEditor)
    251         return m_pUserNamePasswordEditor->userName();
    252     return QString();
     50    if (!m_pProductKeyLineEdit)
     51        return QString();
     52    return m_pProductKeyLineEdit->text();
    25353}
    25454
    255 QString UIWizardNewVMPageInstallSetup::password() const
    256 {
    257     if (m_pUserNamePasswordEditor)
    258         return m_pUserNamePasswordEditor->password();
    259     return QString();
    260 }
    26155
    262 QString UIWizardNewVMPageInstallSetup::hostname() const
    263 {
    264     if (m_pHostnameLineEdit)
    265         return m_pHostnameLineEdit->text();
    266     return QString();
    267 }
    268 
    269 UIWizardNewVMPageBasicInstallSetup::UIWizardNewVMPageBasicInstallSetup()
     56UIWizardNewVMPageBasicProductKey::UIWizardNewVMPageBasicProductKey()
    27057    : m_pLabel(0)
    27158{
     
    27663        QGridLayout *pGridLayout = new QGridLayout;
    27764        {
    278             m_pUserNamePasswordEditor = new UIUserNamePasswordEditor;
    279             pGridLayout->addWidget(m_pUserNamePasswordEditor, 0, 0, 3, 4);
    280             connect(m_pUserNamePasswordEditor, &UIUserNamePasswordEditor::sigSomeTextChanged,
    281                     this, &UIWizardNewVMPageBasicInstallSetup::completeChanged);
    28265            m_pHostnameLabel = new QLabel;
    283             m_pHostnameLineEdit = new QLineEdit;
     66            m_pProductKeyLineEdit = new QLineEdit;
    28467            pGridLayout->addWidget(m_pHostnameLabel, 3, 0, 1, 1, Qt::AlignRight);
    285             pGridLayout->addWidget(m_pHostnameLineEdit, 3, 1, 1, 3);
     68            pGridLayout->addWidget(m_pProductKeyLineEdit, 3, 1, 1, 3);
    28669        }
    28770        if (m_pLabel)
     
    29275
    29376    /* Register fields: */
    294     registerField("userName", this, "userName");
    295     registerField("password", this, "password");
    296     registerField("hostname", this, "hostname");
     77    registerField("productKey", this, "productKey");
    29778}
    29879
    299 void UIWizardNewVMPageBasicInstallSetup::setDefaultUnattendedInstallData(const UIUnattendedInstallData &unattendedInstallData)
    300 {
    301     /* Initialize the widget data: */
    302     if (m_pUserNamePasswordEditor)
    303     {
    304         m_pUserNamePasswordEditor->setUserName(unattendedInstallData.m_strUserName);
    305         m_pUserNamePasswordEditor->setPassword(unattendedInstallData.m_strPassword);
    306     }
    307     if (m_pHostnameLineEdit)
    308         m_pHostnameLineEdit->setText(unattendedInstallData.m_strHostname);
    309 }
    310 
    311 void UIWizardNewVMPageBasicInstallSetup::retranslateUi()
     80void UIWizardNewVMPageBasicProductKey::retranslateUi()
    31281{
    31382    /* Translate page: */
    314     setTitle(UIWizardNewVM::tr("User Name/Password and Hostname Settings"));
     83    setTitle(UIWizardNewVM::tr("Product Key"));
    31584
    31685    /* Translate widgets: */
    31786    if (m_pLabel)
    318         m_pLabel->setText(UIWizardNewVM::tr("<p>Here you can specify the user name/password and hostname. "
    319                                             "The values you enter here will be used during the unattended install.</p>"));
     87        m_pLabel->setText(UIWizardNewVM::tr("<p>You can enter the product key for the guest OS."));
    32088    if (m_pHostnameLabel)
    32189        m_pHostnameLabel->setText(UIWizardNewVM::tr("Hostname:"));
    32290}
    32391
    324 void UIWizardNewVMPageBasicInstallSetup::initializePage()
     92void UIWizardNewVMPageBasicProductKey::initializePage()
    32593{
    32694    /* Translate page: */
     
    32896}
    32997
    330 bool UIWizardNewVMPageBasicInstallSetup::isComplete() const
     98bool UIWizardNewVMPageBasicProductKey::isComplete() const
    33199{
    332     if (m_pUserNamePasswordEditor)
    333         return m_pUserNamePasswordEditor->isComplete();
    334100    return true;
    335101}
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasicProductKey.h

    r84955 r84961  
    11/* $Id$ */
    22/** @file
    3  * VBox Qt GUI - UIWizardNewVMPageBasicInstallSetup class declaration.
     3 * VBox Qt GUI - UIWizardNewVMPageBasicProductKey class declaration.
    44 */
    55
     
    1616 */
    1717
    18 #ifndef FEQT_INCLUDED_SRC_wizards_newvm_UIWizardNewVMPageBasicInstallSetup_h
    19 #define FEQT_INCLUDED_SRC_wizards_newvm_UIWizardNewVMPageBasicInstallSetup_h
     18#ifndef FEQT_INCLUDED_SRC_wizards_newvm_UIWizardNewVMPageBasicProductKey_h
     19#define FEQT_INCLUDED_SRC_wizards_newvm_UIWizardNewVMPageBasicProductKey_h
    2020#ifndef RT_WITHOUT_PRAGMA_ONCE
    2121# pragma once
     
    3838struct UIUnattendedInstallData;
    3939
    40 class UIPasswordLineEdit : public QLineEdit
    41 {
    42     Q_OBJECT;
    43 
    44 signals:
    45 
    46     void sigTextVisibilityToggled(bool fTextVisible);
    47 
    48 public:
    49 
    50     UIPasswordLineEdit(QWidget *pParent = 0);
    51     void toggleTextVisibility(bool fTextVisible);
    52 
    53 protected:
    54 
    55     virtual void paintEvent(QPaintEvent *pevent) /* override */;
    56 
    57 private:
    58 
    59     void prepare();
    60 
    61     QToolButton *m_pTextVisibilityButton;
    62 
    63 private slots:
    64 
    65     void sltHandleTextVisibilityChange();
    66 };
    67 
    68 class UIUserNamePasswordEditor : public QIWithRetranslateUI<QWidget>
    69 {
    70 
    71     Q_OBJECT;
    72 
    73 signals:
    74 
    75     /** this is emitted whenever the content of one of the line edits is changed. */
    76     void sigSomeTextChanged();
    77 
    78 public:
    79 
    80     UIUserNamePasswordEditor(QWidget *pParent = 0);
    81 
    82     QString userName() const;
    83     void setUserName(const QString &strUserName);
    84 
    85     QString password() const;
    86     void setPassword(const QString &strPassword);
    87 
    88     /** Returns false if username or password fields are empty, or password fields do not match. */
    89     bool isComplete();
    90 
    91 protected:
    92 
    93     void retranslateUi();
    94 
    95 private slots:
    96 
    97     void sltHandlePasswordVisibility(bool fPasswordVisible);
    98 
    99 private:
    100 
    101     void prepare();
    102     template <class T>
    103     void addLineEdit(int &iRow, QLabel *&pLabel, T *&pLineEdit, QGridLayout *pLayout);
    104     /** Changes @p pLineEdit's base color to indicate an error or reverts it to the original color. */
    105     void markLineEdit(QLineEdit *pLineEdit, bool fError);
    106 
    107     QLineEdit          *m_pUserNameLineEdit;
    108     UIPasswordLineEdit *m_pPasswordLineEdit;
    109     UIPasswordLineEdit *m_pPasswordRepeatLineEdit;
    110 
    111     QLabel *m_pUserNameLabel;
    112     QLabel *m_pPasswordLabel;
    113     QLabel *m_pPasswordRepeatLabel;
    114     QColor m_orginalLineEditBaseColor;
    115 };
    116 
    117 /* 2nd page of the New Virtual Machine wizard (base part): */
    118 class UIWizardNewVMPageInstallSetup : public UIWizardPageBase
     40class UIWizardNewVMPageProductKey : public UIWizardPageBase
    11941{
    12042public:
    12143
    122     UIWizardNewVMPageInstallSetup();
     44    UIWizardNewVMPageProductKey();
    12345
    12446    /** @name Property getters
    12547      * @{ */
    126         QString userName() const;
    127         QString password() const;
    128         QString hostname() const;
     48    QString productKey() const;
    12949    /** @} */
    13050
     
    13252
    13353    /* Widgets: */
    134     UIUserNamePasswordEditor *m_pUserNamePasswordEditor;
    135     QLineEdit *m_pHostnameLineEdit;
     54    QLineEdit *m_pProductKeyLineEdit;
    13655    QLabel  *m_pHostnameLabel;
    13756};
    13857
    13958/* 2nd page of the New Virtual Machine wizard (basic extension): */
    140 class UIWizardNewVMPageBasicInstallSetup : public UIWizardPage, public UIWizardNewVMPageInstallSetup
     59class UIWizardNewVMPageBasicProductKey : public UIWizardPage, public UIWizardNewVMPageProductKey
    14160{
    14261    Q_OBJECT;
    143     Q_PROPERTY(QString userName READ userName);
    144     Q_PROPERTY(QString password READ password);
    145     Q_PROPERTY(QString hostname READ hostname);
     62    Q_PROPERTY(QString productKey READ productKey);
    14663
    14764public:
    14865
    14966    /* Constructor: */
    150     UIWizardNewVMPageBasicInstallSetup();
    151     void setDefaultUnattendedInstallData(const UIUnattendedInstallData &unattendedInstallData);
     67    UIWizardNewVMPageBasicProductKey();
    15268
    15369private slots:
     
    16884};
    16985
    170 #endif /* !FEQT_INCLUDED_SRC_wizards_newvm_UIWizardNewVMPageBasicInstallSetup_h */
     86#endif /* !FEQT_INCLUDED_SRC_wizards_newvm_UIWizardNewVMPageBasicProductKey_h */
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasicUnattended.cpp

    r84955 r84961  
    174174    }
    175175
    176 
    177176    /* Register fields: */
    178177    registerField("ISOFilePath", this, "ISOFilePath");
    179178    registerField("isUnattendedEnabled", this, "isUnattendedEnabled");
    180     registerField("startHeadless", this, "startHeadless");
    181179    registerField("startHeadless", this, "startHeadless");
    182180    registerField("detectedOSTypeId", this, "detectedOSTypeId");
     
    185183    registerField("detectedOSLanguages", this, "detectedOSLanguages");
    186184    registerField("detectedOSHints", this, "detectedOSHints");
    187 
    188 
    189185}
    190186
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