UIWizardNewVMPageBasic3::UIWizardNewVMPageBasic3() { /* Create widgets: */ QVBoxLayout *pMainLayout = new QVBoxLayout(this); { m_pLabel = new QIRichTextLabel(this); QGridLayout *pDiskLayout = new QGridLayout; { m_pDiskSkip = new QRadioButton(this); m_pDiskCreate = new QRadioButton(this); m_pDiskPresent = new QRadioButton(this); QStyleOptionButton options; options.initFrom(m_pDiskPresent); int iWidth = m_pDiskPresent->style()->pixelMetric(QStyle::PM_ExclusiveIndicatorWidth, &options, m_pDiskPresent); pDiskLayout->setColumnMinimumWidth(0, iWidth); m_pDiskSelector = new VBoxMediaComboBox(this); { m_pDiskSelector->setType(UIMediumType_HardDisk); m_pDiskSelector->repopulate(); } m_pVMMButton = new QIToolButton(this); { m_pVMMButton->setAutoRaise(true); m_pVMMButton->setIcon(UIIconPool::iconSet(":/select_file_16px.png", ":/select_file_disabled_16px.png")); } pDiskLayout->addWidget(m_pDiskSkip, 0, 0, 1, 3); pDiskLayout->addWidget(m_pDiskCreate, 1, 0, 1, 3); pDiskLayout->addWidget(m_pDiskPresent, 2, 0, 1, 3); pDiskLayout->addWidget(m_pDiskSelector, 3, 1); pDiskLayout->addWidget(m_pVMMButton, 3, 2); } pMainLayout->addWidget(m_pLabel); pMainLayout->addLayout(pDiskLayout); pMainLayout->addStretch(); updateVirtualDiskSource(); } /* Setup connections: */ connect(m_pDiskSkip, SIGNAL(toggled(bool)), this, SLOT(sltVirtualDiskSourceChanged())); connect(m_pDiskCreate, SIGNAL(toggled(bool)), this, SLOT(sltVirtualDiskSourceChanged())); connect(m_pDiskPresent, SIGNAL(toggled(bool)), this, SLOT(sltVirtualDiskSourceChanged())); connect(m_pDiskSelector, SIGNAL(currentIndexChanged(int)), this, SLOT(sltVirtualDiskSourceChanged())); connect(m_pVMMButton, SIGNAL(clicked()), this, SLOT(sltGetWithFileOpenDialog())); /* Register classes: */ qRegisterMetaType<CMedium>(); /* Register fields: */ registerField("virtualDisk", this, "virtualDisk"); registerField("virtualDiskId", this, "virtualDiskId"); registerField("virtualDiskName", this, "virtualDiskName"); registerField("virtualDiskLocation", this, "virtualDiskLocation"); }
UIWizardNewVMPageExpert::UIWizardNewVMPageExpert(const QString &strGroup) : UIWizardNewVMPage1(strGroup) { /* Create widgets: */ QVBoxLayout *pMainLayout = new QVBoxLayout(this); { pMainLayout->setContentsMargins(8, 6, 8, 6); pMainLayout->setSpacing(10); m_pNameAndSystemCnt = new QGroupBox(this); { m_pNameAndSystemCnt->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Fixed); QHBoxLayout *pNameAndSystemCntLayout = new QHBoxLayout(m_pNameAndSystemCnt); { m_pNameAndSystemEditor = new UINameAndSystemEditor(m_pNameAndSystemCnt); pNameAndSystemCntLayout->addWidget(m_pNameAndSystemEditor); } } m_pMemoryCnt = new QGroupBox(this); { m_pMemoryCnt->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Fixed); QGridLayout *pMemoryCntLayout = new QGridLayout(m_pMemoryCnt); { m_pRamSlider = new VBoxGuestRAMSlider(m_pMemoryCnt); { m_pRamSlider->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); m_pRamSlider->setOrientation(Qt::Horizontal); m_pRamSlider->setTickPosition(QSlider::TicksBelow); m_pRamSlider->setValue(m_pNameAndSystemEditor->type().GetRecommendedRAM()); } m_pRamEditor = new QILineEdit(m_pMemoryCnt); { m_pRamEditor->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); m_pRamEditor->setFixedWidthByText("88888"); m_pRamEditor->setAlignment(Qt::AlignRight); m_pRamEditor->setValidator(new QIntValidator(m_pRamSlider->minRAM(), m_pRamSlider->maxRAM(), this)); m_pRamEditor->setText(QString::number(m_pNameAndSystemEditor->type().GetRecommendedRAM())); } m_pRamUnits = new QLabel(m_pMemoryCnt); { m_pRamUnits->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed); } m_pRamMin = new QLabel(m_pMemoryCnt); { m_pRamMin->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed); } m_pRamMax = new QLabel(m_pMemoryCnt); { m_pRamMax->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed); } pMemoryCntLayout->addWidget(m_pRamSlider, 0, 0, 1, 3); pMemoryCntLayout->addWidget(m_pRamEditor, 0, 3); pMemoryCntLayout->addWidget(m_pRamUnits, 0, 4); pMemoryCntLayout->addWidget(m_pRamMin, 1, 0); pMemoryCntLayout->setColumnStretch(1, 1); pMemoryCntLayout->addWidget(m_pRamMax, 1, 2); } } m_pDiskCnt = new QGroupBox(this); { m_pDiskCnt->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Fixed); QGridLayout *pDiskCntLayout = new QGridLayout(m_pDiskCnt); { m_pDiskSkip = new QRadioButton(m_pDiskCnt); m_pDiskCreate = new QRadioButton(m_pDiskCnt); { m_pDiskCreate->setChecked(true); } m_pDiskPresent = new QRadioButton(m_pDiskCnt); QStyleOptionButton options; options.initFrom(m_pDiskPresent); int iWidth = m_pDiskPresent->style()->pixelMetric(QStyle::PM_ExclusiveIndicatorWidth, &options, m_pDiskPresent); pDiskCntLayout->setColumnMinimumWidth(0, iWidth); m_pDiskSelector = new VBoxMediaComboBox(m_pDiskCnt); { m_pDiskSelector->setType(UIMediumType_HardDisk); m_pDiskSelector->repopulate(); } m_pVMMButton = new QIToolButton(m_pDiskCnt); { m_pVMMButton->setAutoRaise(true); m_pVMMButton->setIcon(UIIconPool::iconSet(":/select_file_16px.png", ":/select_file_dis_16px.png")); } pDiskCntLayout->addWidget(m_pDiskSkip, 0, 0, 1, 3); pDiskCntLayout->addWidget(m_pDiskCreate, 1, 0, 1, 3); pDiskCntLayout->addWidget(m_pDiskPresent, 2, 0, 1, 3); pDiskCntLayout->addWidget(m_pDiskSelector, 3, 1); pDiskCntLayout->addWidget(m_pVMMButton, 3, 2); } } pMainLayout->addWidget(m_pNameAndSystemCnt); pMainLayout->addWidget(m_pMemoryCnt); pMainLayout->addWidget(m_pDiskCnt); pMainLayout->addStretch(); updateVirtualDiskSource(); } /* Setup connections: */ connect(m_pNameAndSystemEditor, SIGNAL(sigNameChanged(const QString &)), this, SLOT(sltNameChanged(const QString &))); connect(m_pNameAndSystemEditor, SIGNAL(sigOsTypeChanged()), this, SLOT(sltOsTypeChanged())); connect(m_pRamSlider, SIGNAL(valueChanged(int)), this, SLOT(sltRamSliderValueChanged(int))); connect(m_pRamEditor, SIGNAL(textChanged(const QString &)), this, SLOT(sltRamEditorTextChanged(const QString &))); connect(m_pDiskSkip, SIGNAL(toggled(bool)), this, SLOT(sltVirtualDiskSourceChanged())); connect(m_pDiskCreate, SIGNAL(toggled(bool)), this, SLOT(sltVirtualDiskSourceChanged())); connect(m_pDiskPresent, SIGNAL(toggled(bool)), this, SLOT(sltVirtualDiskSourceChanged())); connect(m_pDiskSelector, SIGNAL(currentIndexChanged(int)), this, SLOT(sltVirtualDiskSourceChanged())); connect(m_pVMMButton, SIGNAL(clicked()), this, SLOT(sltGetWithFileOpenDialog())); /* Register classes: */ qRegisterMetaType<CMedium>(); /* Register fields: */ registerField("name*", m_pNameAndSystemEditor, "name", SIGNAL(sigNameChanged(const QString &))); registerField("type", m_pNameAndSystemEditor, "type", SIGNAL(sigOsTypeChanged())); registerField("machineFolder", this, "machineFolder"); registerField("machineBaseName", this, "machineBaseName"); registerField("ram", m_pRamSlider, "value", SIGNAL(valueChanged(int))); registerField("virtualDisk", this, "virtualDisk"); registerField("virtualDiskId", this, "virtualDiskId"); registerField("virtualDiskLocation", this, "virtualDiskLocation"); }