Changeset 90607 in vbox
- Timestamp:
- Aug 10, 2021 4:07:18 PM (4 years ago)
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src/wizards
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/wizards/clonevm/UIWizardCloneVM.cpp
r90589 r90607 180 180 { 181 181 addPage(new UIWizardCloneVMPageBasic1(m_machine.GetName(), strDefaultMachineFolder, m_strGroup)); 182 // setPage(Page2,new UIWizardCloneVMPageBasic2(m_snapshot.isNull()));183 //if (m_machine.GetSnapshotCount() > 0)184 // setPage(Page3,new UIWizardCloneVMPageBasic3(m_snapshot.isNull() ? false : m_snapshot.GetChildrenCount() > 0));182 addPage(new UIWizardCloneVMPageBasic2(m_snapshot.isNull())); 183 if (m_machine.GetSnapshotCount() > 0) 184 addPage(new UIWizardCloneVMPageBasic3(m_snapshot.isNull() ? false : m_snapshot.GetChildrenCount() > 0)); 185 185 break; 186 186 } -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/clonevm/UIWizardCloneVMPageBasic2.cpp
r90589 r90607 18 18 /* Qt includes: */ 19 19 #include <QVBoxLayout> 20 #include <QRadioButton>21 #include <QButtonGroup>22 20 23 21 /* GUI includes: */ … … 26 24 #include "UIWizardCloneVM.h" 27 25 #include "QIRichTextLabel.h" 26 #include "UIWizardCloneVMEditors.h" 28 27 29 28 /* COM includes: */ … … 31 30 32 31 33 UIWizardCloneVMPage2::UIWizardCloneVMPage2(bool fAdditionalInfo) 34 : m_fAdditionalInfo(fAdditionalInfo) 35 , m_pButtonGroup(0) 36 , m_pFullCloneRadio(0) 37 , m_pLinkedCloneRadio(0) 32 // UIWizardCloneVMPage2::UIWizardCloneVMPage2(bool fAdditionalInfo) 33 // : m_fAdditionalInfo(fAdditionalInfo) 34 // , m_pButtonGroup(0) 35 // , m_pFullCloneRadio(0) 36 // , m_pLinkedCloneRadio(0) 37 // { 38 // } 39 40 // bool UIWizardCloneVMPage2::linkedClone() const 41 // { 42 // return m_pLinkedCloneRadio ? m_pLinkedCloneRadio->isChecked() : false; 43 // } 44 45 UIWizardCloneVMPageBasic2::UIWizardCloneVMPageBasic2(bool fAdditionalInfo) 46 : m_pLabel(0) 47 , m_fAdditionalInfo(fAdditionalInfo) 48 , m_pCloneTypeGroupBox(0) 38 49 { 50 prepare(); 39 51 } 40 52 41 bool UIWizardCloneVMPage2::linkedClone() const 53 void UIWizardCloneVMPageBasic2::prepare() 42 54 { 43 return m_pLinkedCloneRadio ? m_pLinkedCloneRadio->isChecked() : false; 55 QVBoxLayout *pMainLayout = new QVBoxLayout(this); 56 AssertReturnVoid(pMainLayout); 57 m_pLabel = new QIRichTextLabel(this); 58 if (m_pLabel) 59 pMainLayout->addWidget(m_pLabel); 60 61 m_pCloneTypeGroupBox = new UICloneVMCloneTypeGroupBox; 62 if (m_pCloneTypeGroupBox) 63 { 64 m_pCloneTypeGroupBox->setFlat(true); 65 pMainLayout->addWidget(m_pCloneTypeGroupBox); 66 } 67 68 pMainLayout->addStretch(); 69 70 44 71 } 45 72 46 UIWizardCloneVMPageBasic2::UIWizardCloneVMPageBasic2(bool fAdditionalInfo) 47 : UIWizardCloneVMPage2(fAdditionalInfo) 48 , m_pLabel(0) 73 void UIWizardCloneVMPageBasic2::sltButtonClicked(QAbstractButton */*pButton*/) 49 74 { 50 /* Prepare main layout: */ 51 QVBoxLayout *pMainLayout = new QVBoxLayout(this); 52 if (pMainLayout) 53 { 54 /* Prepare description label: */ 55 m_pLabel = new QIRichTextLabel(this); 56 if (m_pLabel) 57 pMainLayout->addWidget(m_pLabel); 58 59 /* Prepare clone-type options layout: */ 60 QVBoxLayout *pCloneTypeCntLayout = new QVBoxLayout; 61 if (pCloneTypeCntLayout) 62 { 63 /* Prepare clone-type options button-group: */ 64 m_pButtonGroup = new QButtonGroup(this); 65 if (m_pButtonGroup) 66 { 67 /* Prepare full clone option radio-button: */ 68 m_pFullCloneRadio = new QRadioButton(this); 69 if (m_pFullCloneRadio) 70 { 71 m_pFullCloneRadio->setChecked(true); 72 m_pButtonGroup->addButton(m_pFullCloneRadio); 73 pCloneTypeCntLayout->addWidget(m_pFullCloneRadio); 74 } 75 76 /* Load currently supported clone options: */ 77 CSystemProperties comProperties = uiCommon().virtualBox().GetSystemProperties(); 78 const QVector<KCloneOptions> supportedOptions = comProperties.GetSupportedCloneOptions(); 79 /* Check whether we support linked clone option at all: */ 80 const bool fSupportedLinkedClone = supportedOptions.contains(KCloneOptions_Link); 81 82 /* Prepare linked clone option radio-button: */ 83 if (fSupportedLinkedClone) 84 { 85 m_pLinkedCloneRadio = new QRadioButton(this); 86 if (m_pLinkedCloneRadio) 87 { 88 m_pButtonGroup->addButton(m_pLinkedCloneRadio); 89 pCloneTypeCntLayout->addWidget(m_pLinkedCloneRadio); 90 } 91 } 92 } 93 94 pMainLayout->addLayout(pCloneTypeCntLayout); 95 } 96 97 /* Stretch under buttons: */ 98 pMainLayout->addStretch(); 99 } 100 101 /* Setup connections: */ 102 connect(m_pButtonGroup, static_cast<void(QButtonGroup::*)(QAbstractButton *)>(&QButtonGroup::buttonClicked), 103 this, &UIWizardCloneVMPageBasic2::sltButtonClicked); 104 105 /* Register fields: */ 106 registerField("linkedClone", this, "linkedClone"); 107 } 108 109 void UIWizardCloneVMPageBasic2::sltButtonClicked(QAbstractButton *pButton) 110 { 111 setFinalPage(pButton != m_pFullCloneRadio); 75 //setFinalPage(pButton != m_pFullCloneRadio); 112 76 } 113 77 … … 130 94 strLabel += UIWizardCloneVM::tr("<p>If you create a <b>Linked clone</b> then a new snapshot will be created " 131 95 "in the original virtual machine as part of the cloning process.</p>"); 132 m_pLabel->setText(strLabel); 133 134 m_pFullCloneRadio->setText(UIWizardCloneVM::tr("&Full clone")); 135 if (m_pLinkedCloneRadio) 136 m_pLinkedCloneRadio->setText(UIWizardCloneVM::tr("&Linked clone")); 96 if (m_pLabel) 97 m_pLabel->setText(strLabel); 137 98 } 138 99 -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/clonevm/UIWizardCloneVMPageBasic2.h
r90589 r90607 23 23 24 24 /* Local includes: */ 25 #include "UI WizardPage.h"25 #include "UINativeWizardPage.h" 26 26 27 27 /* Forward declarations: */ 28 class QAbstractButton; 28 29 class QButtonGroup; 29 30 class QRadioButton; 30 31 class QIRichTextLabel; 32 class UICloneVMCloneTypeGroupBox; 31 33 32 / * 2nd page of the Clone Virtual Machine wizard (base part): */33 class UIWizardCloneVMPage2 : public UIWizardPageBase34 {35 protected:34 // /* 2nd page of the Clone Virtual Machine wizard (base part): */ 35 // class UIWizardCloneVMPage2 : public UIWizardPageBase 36 // { 37 // protected: 36 38 37 /* Constructor: */38 UIWizardCloneVMPage2(bool fAdditionalInfo);39 // /* Constructor: */ 40 // UIWizardCloneVMPage2(bool fAdditionalInfo); 39 41 40 /* Stuff for 'linkedClone' field: */41 bool linkedClone() const;42 // /* Stuff for 'linkedClone' field: */ 43 // bool linkedClone() const; 42 44 43 /* Variables: */ 44 bool m_fAdditionalInfo; 45 // /* Variables: */ 45 46 46 /* Widgets: */ 47 QButtonGroup *m_pButtonGroup; 48 QRadioButton *m_pFullCloneRadio; 49 QRadioButton *m_pLinkedCloneRadio; 50 }; 47 // /* Widgets: */ 48 // }; 51 49 52 50 /* 2nd page of the Clone Virtual Machine wizard (basic extension): */ 53 class UIWizardCloneVMPageBasic2 : public UI WizardPage, public UIWizardCloneVMPage251 class UIWizardCloneVMPageBasic2 : public UINativeWizardPage 54 52 { 55 53 Q_OBJECT; 56 Q_PROPERTY(bool linkedClone READ linkedClone);54 //Q_PROPERTY(bool linkedClone READ linkedClone); 57 55 58 56 public: … … 73 71 /* Prepare stuff: */ 74 72 void initializePage(); 73 void prepare(); 75 74 76 75 /* Validation stuff: */ … … 79 78 /* Widgets: */ 80 79 QIRichTextLabel *m_pLabel; 80 bool m_fAdditionalInfo; 81 UICloneVMCloneTypeGroupBox *m_pCloneTypeGroupBox; 81 82 }; 82 83 -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/clonevm/UIWizardCloneVMPageBasic3.cpp
r90589 r90607 21 21 22 22 /* Local includes: */ 23 #include "UIWizardCloneVM.h" 24 #include "UIWizardCloneVMEditors.h" 23 25 #include "UIWizardCloneVMPageBasic3.h" 24 #include "UIWizardCloneVM.h"25 26 #include "QIRichTextLabel.h" 26 27 27 28 28 UIWizardCloneVMPage3::UIWizardCloneVMPage3(bool fShowChildsOption) 29 : m_fShowChildsOption(fShowChildsOption) 29 // UIWizardCloneVMPage3::UIWizardCloneVMPage3(bool fShowChildsOption) 30 // : m_fShowChildsOption(fShowChildsOption) 31 // { 32 // } 33 34 // KCloneMode UIWizardCloneVMPage3::cloneMode() const 35 // { 36 // if (m_pMachineAndChildsRadio->isChecked()) 37 // return KCloneMode_MachineAndChildStates; 38 // else if (m_pAllRadio->isChecked()) 39 // return KCloneMode_AllStates; 40 // return KCloneMode_MachineState; 41 // } 42 43 // void UIWizardCloneVMPage3::setCloneMode(KCloneMode cloneMode) 44 // { 45 // switch (cloneMode) 46 // { 47 // case KCloneMode_MachineState: m_pMachineRadio->setChecked(true); break; 48 // case KCloneMode_MachineAndChildStates: m_pMachineAndChildsRadio->setChecked(true); break; 49 // case KCloneMode_AllStates: m_pAllRadio->setChecked(true); break; 50 // case KCloneMode_Max: break; /* Shut up, MSC! */ 51 // } 52 // } 53 54 UIWizardCloneVMPageBasic3::UIWizardCloneVMPageBasic3(bool fShowChildsOption) 55 : m_pLabel(0) 56 , m_pCloneModeGroupBox(0) 57 , m_fShowChildsOption(fShowChildsOption) 30 58 { 59 prepare(); 31 60 } 32 61 33 KCloneMode UIWizardCloneVMPage3::cloneMode() const 62 void UIWizardCloneVMPageBasic3::prepare() 34 63 { 35 if (m_pMachineAndChildsRadio->isChecked()) 36 return KCloneMode_MachineAndChildStates; 37 else if (m_pAllRadio->isChecked()) 38 return KCloneMode_AllStates; 39 return KCloneMode_MachineState; 40 } 64 QVBoxLayout *pMainLayout = new QVBoxLayout(this); 65 AssertReturnVoid(pMainLayout); 66 m_pLabel = new QIRichTextLabel(this); 41 67 42 void UIWizardCloneVMPage3::setCloneMode(KCloneMode cloneMode) 43 { 44 switch (cloneMode) 68 if (m_pLabel) 69 pMainLayout->addWidget(m_pLabel); 70 71 m_pCloneModeGroupBox = new UICloneVMCloneModeGroupBox(m_fShowChildsOption); 72 if (m_pCloneModeGroupBox) 45 73 { 46 case KCloneMode_MachineState: m_pMachineRadio->setChecked(true); break; 47 case KCloneMode_MachineAndChildStates: m_pMachineAndChildsRadio->setChecked(true); break; 48 case KCloneMode_AllStates: m_pAllRadio->setChecked(true); break; 49 case KCloneMode_Max: break; /* Shut up, MSC! */ 74 pMainLayout->addWidget(m_pCloneModeGroupBox); 75 m_pCloneModeGroupBox->setFlat(true); 50 76 } 51 } 77 pMainLayout->addStretch(); 52 78 53 UIWizardCloneVMPageBasic3::UIWizardCloneVMPageBasic3(bool fShowChildsOption) 54 : UIWizardCloneVMPage3(fShowChildsOption) 55 { 56 /* Create widgets: */ 57 QVBoxLayout *pMainLayout = new QVBoxLayout(this); 58 { 59 m_pLabel = new QIRichTextLabel(this); 60 QVBoxLayout *pCloneModeCntLayout = new QVBoxLayout; 61 { 62 m_pMachineRadio = new QRadioButton(this); 63 { 64 m_pMachineRadio->setChecked(true); 65 } 66 m_pMachineAndChildsRadio = new QRadioButton(this); 67 { 68 if (!m_fShowChildsOption) 69 m_pMachineAndChildsRadio->hide(); 70 } 71 m_pAllRadio = new QRadioButton(this); 72 pCloneModeCntLayout->addWidget(m_pMachineRadio); 73 pCloneModeCntLayout->addWidget(m_pMachineAndChildsRadio); 74 pCloneModeCntLayout->addWidget(m_pAllRadio); 75 } 76 pMainLayout->addWidget(m_pLabel); 77 pMainLayout->addLayout(pCloneModeCntLayout); 78 pMainLayout->addStretch(); 79 } 80 81 /* Register classes: */ 82 qRegisterMetaType<KCloneMode>(); 83 /* Register fields: */ 84 registerField("cloneMode", this, "cloneMode"); 79 retranslateUi(); 85 80 } 86 81 … … 117 112 .arg(strOpt3)); 118 113 119 m_pMachineRadio->setText(UIWizardCloneVM::tr("Current &machine state"));120 m_pMachineAndChildsRadio->setText(UIWizardCloneVM::tr("Current &snapshot tree branch"));121 m_pAllRadio->setText(UIWizardCloneVM::tr("&Everything"));114 // m_pMachineRadio->setText(UIWizardCloneVM::tr("Current &machine state")); 115 // m_pMachineAndChildsRadio->setText(UIWizardCloneVM::tr("Current &snapshot tree branch")); 116 // m_pAllRadio->setText(UIWizardCloneVM::tr("&Everything")); 122 117 } 123 118 -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/clonevm/UIWizardCloneVMPageBasic3.h
r82968 r90607 23 23 24 24 /* GUI includes: */ 25 #include "UI WizardPage.h"25 #include "UINativeWizardPage.h" 26 26 27 27 /* COM includes: */ … … 31 31 class QRadioButton; 32 32 class QIRichTextLabel; 33 class UICloneVMCloneModeGroupBox; 33 34 34 / * 3rd page of the Clone Virtual Machine wizard (base part): */35 class UIWizardCloneVMPage3 : public UIWizardPageBase36 {37 protected:35 // /* 3rd page of the Clone Virtual Machine wizard (base part): */ 36 // class UIWizardCloneVMPage3 : public UIWizardPageBase 37 // { 38 // protected: 38 39 39 /* Constructor: */40 UIWizardCloneVMPage3(bool fShowChildsOption);40 // /* Constructor: */ 41 // UIWizardCloneVMPage3(bool fShowChildsOption); 41 42 42 /* Stuff for 'cloneMode' field: */43 KCloneMode cloneMode() const;44 void setCloneMode(KCloneMode cloneMode);43 // /* Stuff for 'cloneMode' field: */ 44 // KCloneMode cloneMode() const; 45 // void setCloneMode(KCloneMode cloneMode); 45 46 46 /* Variables: */ 47 bool m_fShowChildsOption; 47 // /* Variables: */ 48 48 49 /* Widgets: */50 QRadioButton *m_pMachineRadio;51 QRadioButton *m_pMachineAndChildsRadio;52 QRadioButton *m_pAllRadio;53 };49 // /* Widgets: */ 50 // QRadioButton *m_pMachineRadio; 51 // QRadioButton *m_pMachineAndChildsRadio; 52 // QRadioButton *m_pAllRadio; 53 // }; 54 54 55 55 /* 3rd page of the Clone Virtual Machine wizard (basic extension): */ 56 class UIWizardCloneVMPageBasic3 : public UI WizardPage, public UIWizardCloneVMPage356 class UIWizardCloneVMPageBasic3 : public UINativeWizardPage 57 57 { 58 58 Q_OBJECT; 59 Q_PROPERTY(KCloneMode cloneMode READ cloneMode WRITE setCloneMode);60 59 61 60 public: … … 71 70 /* Prepare stuff: */ 72 71 void initializePage(); 72 void prepare(); 73 73 74 74 /* Validation stuff: */ … … 77 77 /* Widgets: */ 78 78 QIRichTextLabel *m_pLabel; 79 UICloneVMCloneModeGroupBox *m_pCloneModeGroupBox; 80 81 bool m_fShowChildsOption; 82 79 83 }; 80 84 81 85 #endif /* !FEQT_INCLUDED_SRC_wizards_clonevm_UIWizardCloneVMPageBasic3_h */ 82 -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/clonevm/UIWizardCloneVMPageExpert.cpp
r90589 r90607 36 36 37 37 UIWizardCloneVMPageExpert::UIWizardCloneVMPageExpert(const QString &/*strOriginalName*/, const QString &/*strDefaultPath*/, 38 bool fAdditionalInfo, bool fShowChildsOption, const QString &/*strGroup*/) 39 : UIWizardCloneVMPage2(fAdditionalInfo) 40 , UIWizardCloneVMPage3(fShowChildsOption) 38 bool /*fAdditionalInfo*/, bool fShowChildsOption, const QString &/*strGroup*/) 39 : m_fShowChildsOption(fShowChildsOption) 41 40 { 42 41 /* Create widgets: */ … … 217 216 } 218 217 219 void UIWizardCloneVMPageExpert::sltButtonToggled(QAbstractButton *pButton, bool fChecked)220 {221 if (m_pLinkedCloneRadio && pButton == m_pLinkedCloneRadio && fChecked)222 {223 m_pCloneModeCnt->setEnabled(false);224 m_pMachineRadio->setChecked(true);225 }226 else227 {228 m_pCloneModeCnt->setEnabled(true);229 }230 }218 //void UIWizardCloneVMPageExpert::sltButtonToggled(QAbstractButton */*pButton*/, bool /*fChecked*/) 219 //{ 220 // if (m_pLinkedCloneRadio && pButton == m_pLinkedCloneRadio && fChecked) 221 // { 222 // m_pCloneModeCnt->setEnabled(false); 223 // m_pMachineRadio->setChecked(true); 224 // } 225 // else 226 // { 227 // m_pCloneModeCnt->setEnabled(true); 228 // } 229 //} 231 230 232 231 void UIWizardCloneVMPageExpert::retranslateUi() … … 327 326 } 328 327 329 void UIWizardCloneVMPageExpert::sltNameChanged()330 {328 //void UIWizardCloneVMPageExpert::sltNameChanged() 329 //{ 331 330 //composeCloneFilePath(); 332 }333 334 void UIWizardCloneVMPageExpert::sltPathChanged()335 {331 //} 332 333 //void UIWizardCloneVMPageExpert::sltPathChanged() 334 //{ 336 335 //composeCloneFilePath(); 337 }336 //} -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/clonevm/UIWizardCloneVMPageExpert.h
r90589 r90607 23 23 24 24 /* Local includes: */ 25 #include "UIWizardCloneVMPageBasic1.h" 26 #include "UIWizardCloneVMPageBasic2.h" 27 #include "UIWizardCloneVMPageBasic3.h" 25 #include "UINativeWizardPage.h" 28 26 29 27 /* Forward declarations: */ … … 32 30 33 31 /* Expert page of the Clone Virtual Machine wizard: */ 34 class UIWizardCloneVMPageExpert : public UIWizardPage, 35 public UIWizardCloneVMPage2, 36 public UIWizardCloneVMPage3 32 class UIWizardCloneVMPageExpert : public UINativeWizardPage 37 33 { 38 34 Q_OBJECT; … … 54 50 55 51 /* Button toggle handler: */ 56 void sltButtonToggled(QAbstractButton *pButton, bool fChecked);57 void sltNameChanged();58 void sltPathChanged();52 // void sltButtonToggled(QAbstractButton *pButton, bool fChecked); 53 // void sltNameChanged(); 54 // void sltPathChanged(); 59 55 60 56 private: … … 76 72 QGroupBox *m_pCloneOptionsCnt; 77 73 QGridLayout *m_pCloneOptionsLayout; 74 75 bool m_fShowChildsOption; 78 76 }; 79 77 -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/editors/UIWizardCloneVMEditors.cpp
r90599 r90607 17 17 18 18 /* Qt includes: */ 19 //#include <QButtonGroup>19 #include <QButtonGroup> 20 20 #include <QCheckBox> 21 21 #include <QComboBox> … … 23 23 // #include <QFileInfo> 24 24 #include <QLabel> 25 //#include <QRadioButton>25 #include <QRadioButton> 26 26 #include <QGridLayout> 27 27 … … 50 50 51 51 /********************************************************************************************************************************* 52 * UICloneVMNamePathEditor implementation. *53 *********************************************************************************************************************************/52 * UICloneVMNamePathEditor implementation. * 53 *********************************************************************************************************************************/ 54 54 55 55 UICloneVMNamePathEditor::UICloneVMNamePathEditor(const QString &strOriginalName, const QString &strDefaultPath, QWidget *pParent /* = 0 */) … … 130 130 131 131 132 133 132 /********************************************************************************************************************************* 134 * UICloneVMAdditionalOptionsEditor implementation. *135 *********************************************************************************************************************************/133 * UICloneVMAdditionalOptionsEditor implementation. * 134 *********************************************************************************************************************************/ 136 135 137 136 … … 237 236 { 238 237 case MACAddressClonePolicy_KeepAllMACs: 239 {240 m_pMACComboBox->setItemText(i, tr("Include all network adapter MAC addresses"));241 m_pMACComboBox->setItemData(i, tr("Include all network adapter MAC addresses during cloning."), Qt::ToolTipRole);242 break;243 }238 { 239 m_pMACComboBox->setItemText(i, tr("Include all network adapter MAC addresses")); 240 m_pMACComboBox->setItemData(i, tr("Include all network adapter MAC addresses during cloning."), Qt::ToolTipRole); 241 break; 242 } 244 243 case MACAddressClonePolicy_KeepNATMACs: 245 {246 m_pMACComboBox->setItemText(i, tr("Include only NAT network adapter MAC addresses"));247 m_pMACComboBox->setItemData(i, tr("Include only NAT network adapter MAC addresses during cloning."), Qt::ToolTipRole);248 break;249 }244 { 245 m_pMACComboBox->setItemText(i, tr("Include only NAT network adapter MAC addresses")); 246 m_pMACComboBox->setItemData(i, tr("Include only NAT network adapter MAC addresses during cloning."), Qt::ToolTipRole); 247 break; 248 } 250 249 case MACAddressClonePolicy_StripAllMACs: 251 {252 m_pMACComboBox->setItemText(i, tr("Generate new MAC addresses for all network adapters"));253 m_pMACComboBox->setItemData(i, tr("Generate new MAC addresses for all network adapters during cloning."), Qt::ToolTipRole);254 break;255 }250 { 251 m_pMACComboBox->setItemText(i, tr("Generate new MAC addresses for all network adapters")); 252 m_pMACComboBox->setItemData(i, tr("Generate new MAC addresses for all network adapters during cloning."), Qt::ToolTipRole); 253 break; 254 } 256 255 default: 257 256 break; … … 306 305 setMACAddressClonePolicy(MACAddressClonePolicy_StripAllMACs); 307 306 } 307 308 /********************************************************************************************************************************* 309 * UICloneVMAdditionalOptionsEditor implementation. * 310 *********************************************************************************************************************************/ 311 312 UICloneVMCloneTypeGroupBox::UICloneVMCloneTypeGroupBox(QWidget *pParent /* = 0 */) 313 :QIWithRetranslateUI<QGroupBox>(pParent) 314 , m_pButtonGroup(0) 315 , m_pFullCloneRadio(0) 316 , m_pLinkedCloneRadio(0) 317 { 318 prepare(); 319 } 320 321 void UICloneVMCloneTypeGroupBox::prepare() 322 { 323 QVBoxLayout *pMainLayout = new QVBoxLayout(this); 324 AssertReturnVoid(pMainLayout); 325 /* Prepare clone-type options button-group: */ 326 m_pButtonGroup = new QButtonGroup(this); 327 if (m_pButtonGroup) 328 { 329 /* Prepare full clone option radio-button: */ 330 m_pFullCloneRadio = new QRadioButton(this); 331 if (m_pFullCloneRadio) 332 { 333 m_pFullCloneRadio->setChecked(true); 334 m_pButtonGroup->addButton(m_pFullCloneRadio); 335 pMainLayout->addWidget(m_pFullCloneRadio); 336 } 337 338 /* Load currently supported clone options: */ 339 CSystemProperties comProperties = uiCommon().virtualBox().GetSystemProperties(); 340 const QVector<KCloneOptions> supportedOptions = comProperties.GetSupportedCloneOptions(); 341 /* Check whether we support linked clone option at all: */ 342 const bool fSupportedLinkedClone = supportedOptions.contains(KCloneOptions_Link); 343 344 /* Prepare linked clone option radio-button: */ 345 if (fSupportedLinkedClone) 346 { 347 m_pLinkedCloneRadio = new QRadioButton(this); 348 if (m_pLinkedCloneRadio) 349 { 350 m_pButtonGroup->addButton(m_pLinkedCloneRadio); 351 pMainLayout->addWidget(m_pLinkedCloneRadio); 352 } 353 } 354 } 355 356 retranslateUi(); 357 } 358 359 void UICloneVMCloneTypeGroupBox::retranslateUi() 360 { 361 if (m_pFullCloneRadio) 362 m_pFullCloneRadio->setText(tr("&Full clone")); 363 if (m_pLinkedCloneRadio) 364 m_pLinkedCloneRadio->setText(tr("&Linked clone")); 365 366 } 367 368 /********************************************************************************************************************************* 369 * UICloneVMAdditionalOptionsEditor implementation. * 370 *********************************************************************************************************************************/ 371 372 UICloneVMCloneModeGroupBox::UICloneVMCloneModeGroupBox(bool fShowChildsOption, QWidget *pParent /* = 0 */) 373 :QIWithRetranslateUI<QGroupBox>(pParent) 374 , m_fShowChildsOption(fShowChildsOption) 375 , m_pMachineRadio(0) 376 , m_pMachineAndChildsRadio(0) 377 , m_pAllRadio(0) 378 { 379 prepare(); 380 } 381 382 void UICloneVMCloneModeGroupBox::prepare() 383 { 384 QVBoxLayout *pMainLayout = new QVBoxLayout(this); 385 AssertReturnVoid(pMainLayout); 386 387 m_pMachineRadio = new QRadioButton(this); 388 { 389 m_pMachineRadio->setChecked(true); 390 } 391 m_pMachineAndChildsRadio = new QRadioButton(this); 392 { 393 if (!m_fShowChildsOption) 394 m_pMachineAndChildsRadio->hide(); 395 } 396 m_pAllRadio = new QRadioButton(this); 397 pMainLayout->addWidget(m_pMachineRadio); 398 pMainLayout->addWidget(m_pMachineAndChildsRadio); 399 pMainLayout->addWidget(m_pAllRadio); 400 pMainLayout->addStretch(); 401 402 retranslateUi(); 403 } 404 405 void UICloneVMCloneModeGroupBox::retranslateUi() 406 { 407 if (m_pMachineRadio) 408 m_pMachineRadio->setText(tr("Current &machine state")); 409 if (m_pMachineAndChildsRadio) 410 m_pMachineAndChildsRadio->setText(tr("Current &snapshot tree branch")); 411 if (m_pAllRadio) 412 m_pAllRadio->setText(tr("&Everything")); 413 } -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/editors/UIWizardCloneVMEditors.h
r90599 r90607 32 32 /* Forward declarations: */ 33 33 // class CMediumFormat; 34 //class QButtonGroup;34 class QButtonGroup; 35 35 class QCheckBox; 36 36 class QGridLayout; 37 37 class QComboBox; 38 38 class QLabel; 39 class QRadioButton; 39 40 // class QVBoxLayout; 40 41 // class QIRichTextLabel; … … 133 134 }; 134 135 136 class UICloneVMCloneTypeGroupBox : public QIWithRetranslateUI<QGroupBox> 137 { 138 Q_OBJECT; 139 140 signals: 141 142 public: 143 144 UICloneVMCloneTypeGroupBox(QWidget *pParent = 0); 145 146 private: 147 148 void prepare(); 149 virtual void retranslateUi() /* override final */; 150 151 QButtonGroup *m_pButtonGroup; 152 QRadioButton *m_pFullCloneRadio; 153 QRadioButton *m_pLinkedCloneRadio; 154 }; 155 156 157 class UICloneVMCloneModeGroupBox : public QIWithRetranslateUI<QGroupBox> 158 { 159 Q_OBJECT; 160 161 signals: 162 163 public: 164 165 UICloneVMCloneModeGroupBox(bool fShowChildsOption, QWidget *pParent = 0); 166 167 private: 168 169 void prepare(); 170 virtual void retranslateUi() /* override final */; 171 172 bool m_fShowChildsOption; 173 QRadioButton *m_pMachineRadio; 174 QRadioButton *m_pMachineAndChildsRadio; 175 QRadioButton *m_pAllRadio; 176 177 }; 178 179 135 180 136 181 #endif /* !FEQT_INCLUDED_SRC_wizards_editors_UIWizardCloneVMEditors_h */
Note:
See TracChangeset
for help on using the changeset viewer.