Changeset 42616 in vbox for trunk/src/VBox
- Timestamp:
- Aug 6, 2012 12:12:48 PM (13 years ago)
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/selector/UISelectorWindow.cpp
r42563 r42616 38 38 #include "UIDownloaderExtensionPack.h" 39 39 #include "UIIconPool.h" 40 #include "UIWizardNewVM.h"41 40 #include "UIWizardCloneVM.h" 42 41 #include "UIWizardExportApp.h" … … 319 318 { 320 319 close(); 321 }322 323 void UISelectorWindow::sltShowCreateMachineWizard()324 {325 UIWizardNewVM wizard(this);326 wizard.exec();327 320 } 328 321 … … 1316 1309 /* 'Group' menu connections: */ 1317 1310 connect(m_pGroupMenu, SIGNAL(aboutToShow()), this, SLOT(sltMachineMenuAboutToShow())); 1318 connect(m_pActionGroupNewWizard, SIGNAL(triggered()), this, SLOT(sltShowCreateMachineWizard()));1319 1311 connect(m_pActionGroupAddDialog, SIGNAL(triggered()), this, SLOT(sltShowAddMachineDialog())); 1320 1312 connect(m_pActionGroupStartOrShow, SIGNAL(triggered()), this, SLOT(sltPerformStartOrShowAction())); … … 1328 1320 /* 'Machine' menu connections: */ 1329 1321 connect(m_pMachineMenu, SIGNAL(aboutToShow()), this, SLOT(sltMachineMenuAboutToShow())); 1330 connect(m_pActionMachineNewWizard, SIGNAL(triggered()), this, SLOT(sltShowCreateMachineWizard()));1331 1322 connect(m_pActionMachineAddDialog, SIGNAL(triggered()), this, SLOT(sltShowAddMachineDialog())); 1332 1323 connect(m_pActionMachineSettingsDialog, SIGNAL(triggered()), this, SLOT(sltShowMachineSettingsDialog())); -
trunk/src/VBox/Frontends/VirtualBox/src/selector/UISelectorWindow.h
r42563 r42616 84 84 85 85 /* Handlers: Machine-menu slots: */ 86 void sltShowCreateMachineWizard();87 86 void sltShowAddMachineDialog(const QString &strFileName = QString()); 88 87 void sltShowMachineSettingsDialog(const QString &strCategory = QString(), -
trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.cpp
r42587 r42616 37 37 #include "UIGChooserHandlerMouse.h" 38 38 #include "UIGChooserHandlerKeyboard.h" 39 #include "UIWizardNewVM.h" 40 #include "UISelectorWindow.h" 39 41 40 42 /* COM includes: */ … … 51 53 , m_pMouseHandler(0) 52 54 , m_pKeyboardHandler(0) 53 , m_pContextMenuRoot(0)54 55 , m_pContextMenuGroup(0) 55 56 , m_pContextMenuMachine(0) … … 716 717 } 717 718 719 void UIGChooserModel::sltCreateNewMachine() 720 { 721 UIGChooserItem *pGroup = 0; 722 if (singleGroupSelected()) 723 pGroup = selectionList().first(); 724 else if (!selectionList().isEmpty()) 725 pGroup = selectionList().first()->parentItem(); 726 if (pGroup) 727 { 728 UIWizardNewVM wizard(&vboxGlobal().selectorWnd(), fullName(pGroup)); 729 wizard.exec(); 730 } 731 else 732 { 733 UIWizardNewVM wizard(&vboxGlobal().selectorWnd()); 734 wizard.exec(); 735 } 736 } 737 718 738 void UIGChooserModel::sltActionHovered(QAction *pAction) 719 739 { … … 804 824 void UIGChooserModel::prepareContextMenu() 805 825 { 806 /* Context menu for empty group: */807 m_pContextMenuRoot = new QMenu;808 m_pContextMenuRoot->addAction(gActionPool->action(UIActionIndexSelector_Simple_Group_NewWizard));809 m_pContextMenuRoot->addAction(gActionPool->action(UIActionIndexSelector_Simple_Group_AddDialog));810 811 826 /* Context menu for group: */ 812 827 m_pContextMenuGroup = new QMenu; … … 851 866 m_pContextMenuMachine->addAction(gActionPool->action(UIActionIndexSelector_Simple_Common_SortParent)); 852 867 853 connect(m_pContextMenuRoot, SIGNAL(hovered(QAction*)), this, SLOT(sltActionHovered(QAction*)));854 868 connect(m_pContextMenuGroup, SIGNAL(hovered(QAction*)), this, SLOT(sltActionHovered(QAction*))); 855 869 connect(m_pContextMenuMachine, SIGNAL(hovered(QAction*)), this, SLOT(sltActionHovered(QAction*))); 856 870 871 connect(gActionPool->action(UIActionIndexSelector_Simple_Group_NewWizard), SIGNAL(triggered()), 872 this, SLOT(sltCreateNewMachine())); 873 connect(gActionPool->action(UIActionIndexSelector_Simple_Machine_NewWizard), SIGNAL(triggered()), 874 this, SLOT(sltCreateNewMachine())); 857 875 connect(gActionPool->action(UIActionIndexSelector_Simple_Group_RenameDialog), SIGNAL(triggered()), 858 876 this, SLOT(sltStartEditingSelectedGroup())); … … 907 925 void UIGChooserModel::cleanupContextMenu() 908 926 { 909 delete m_pContextMenuRoot;910 m_pContextMenuRoot = 0;911 927 delete m_pContextMenuGroup; 912 928 m_pContextMenuGroup = 0; … … 1413 1429 return true; 1414 1430 } 1415 /* Is this root-group item? */ 1416 else if (!pGroupItem->parentItem()) 1417 { 1418 /* Root context menu in that cases: */ 1419 popupContextMenu(UIGraphicsSelectorContextMenuType_Root, pEvent->screenPos()); 1420 return true; 1421 } 1431 return false; 1422 1432 } 1423 1433 case UIGChooserItemType_Machine: … … 1431 1441 } 1432 1442 } 1433 /* Root context menu for all the other cases: */1434 popupContextMenu(UIGraphicsSelectorContextMenuType_Root, pEvent->screenPos());1435 1443 return true; 1436 1444 } … … 1463 1471 } 1464 1472 } 1465 /* Root context menu for all the other cases: */1466 popupContextMenu(UIGraphicsSelectorContextMenuType_Root, pEvent->screenPos());1467 1473 return true; 1468 1474 } … … 1479 1485 switch (type) 1480 1486 { 1481 /* For empty group? */1482 case UIGraphicsSelectorContextMenuType_Root:1483 {1484 m_pContextMenuRoot->exec(point);1485 break;1486 }1487 1487 /* For group? */ 1488 1488 case UIGraphicsSelectorContextMenuType_Group: -
trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.h
r42563 r42616 51 51 enum UIGraphicsSelectorContextMenuType 52 52 { 53 UIGraphicsSelectorContextMenuType_Root,54 53 UIGraphicsSelectorContextMenuType_Group, 55 54 UIGraphicsSelectorContextMenuType_Machine … … 166 165 void sltStartEditingSelectedGroup(); 167 166 167 /* Handler: Create new machine stuff: */ 168 void sltCreateNewMachine(); 169 168 170 /* Handler: Context menu hovering: */ 169 171 void sltActionHovered(QAction *pAction); … … 281 283 QPointer<QDrag> m_pCurrentDragObject; 282 284 QPointer<UIGChooserItem> m_pFocusItem; 283 QMenu *m_pContextMenuRoot;284 285 QMenu *m_pContextMenuGroup; 285 286 QMenu *m_pContextMenuMachine; -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVM.cpp
r42551 r42616 33 33 #include "CStorageController.h" 34 34 35 UIWizardNewVM::UIWizardNewVM(QWidget *pParent )35 UIWizardNewVM::UIWizardNewVM(QWidget *pParent, const QString &strGroup /* = QString() */) 36 36 : UIWizard(pParent, UIWizardType_NewVM) 37 , m_strGroup(strGroup) 37 38 , m_iIDECount(0) 38 39 , m_iSATACount(0) … … 62 63 if (m_machine.isNull()) 63 64 { 64 m_machine = vbox.CreateMachine(QString(), field("name").toString(), QVector<QString>() /**< @todo group support */, strTypeId, QString(), false); 65 QVector<QString> groups; 66 if (!m_strGroup.isEmpty()) 67 groups << m_strGroup; 68 m_machine = vbox.CreateMachine(QString(), field("name").toString(), groups, strTypeId, QString(), false); 65 69 if (!vbox.isOk()) 66 70 { … … 273 277 case UIWizardMode_Basic: 274 278 { 275 setPage(Page1, new UIWizardNewVMPageBasic1 );279 setPage(Page1, new UIWizardNewVMPageBasic1(m_strGroup)); 276 280 setPage(Page2, new UIWizardNewVMPageBasic2); 277 281 setPage(Page3, new UIWizardNewVMPageBasic3); … … 280 284 case UIWizardMode_Expert: 281 285 { 282 setPage(PageExpert, new UIWizardNewVMPageExpert );286 setPage(PageExpert, new UIWizardNewVMPageExpert(m_strGroup)); 283 287 break; 284 288 } -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVM.h
r41587 r42616 49 49 50 50 /* Constructor: */ 51 UIWizardNewVM(QWidget *pParent );51 UIWizardNewVM(QWidget *pParent, const QString &strGroup = QString()); 52 52 53 53 protected: … … 73 73 /* Variables: */ 74 74 CMachine m_machine; 75 QString m_strGroup; 75 76 int m_iIDECount; 76 77 int m_iSATACount; -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasic1.cpp
r42129 r42616 140 140 }; 141 141 142 UIWizardNewVMPage1::UIWizardNewVMPage1() 142 UIWizardNewVMPage1::UIWizardNewVMPage1(const QString &strGroup) 143 : m_strGroup(strGroup) 143 144 { 144 145 } … … 183 184 QString strDefaultMachinesFolder = vbox.GetSystemProperties().GetDefaultMachineFolder(); 184 185 /* Compose machine filename: */ 185 QString strMachineFilename = vbox.ComposeMachineFilename(m_pNameAndSystemEditor->name(), QString::null /**< @todo group support */, strDefaultMachinesFolder);186 QString strMachineFilename = vbox.ComposeMachineFilename(m_pNameAndSystemEditor->name(), m_strGroup, strDefaultMachinesFolder); 186 187 /* Compose machine folder/basename: */ 187 188 QFileInfo fileInfo(strMachineFilename); … … 224 225 } 225 226 226 UIWizardNewVMPageBasic1::UIWizardNewVMPageBasic1() 227 UIWizardNewVMPageBasic1::UIWizardNewVMPageBasic1(const QString &strGroup) 228 : UIWizardNewVMPage1(strGroup) 227 229 { 228 230 /* Create widgets: */ -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasic1.h
r41389 r42616 33 33 34 34 /* Constructor: */ 35 UIWizardNewVMPage1( );35 UIWizardNewVMPage1(const QString &strGroup); 36 36 37 37 /* Handlers: */ … … 58 58 /* Widgets: */ 59 59 UINameAndSystemEditor *m_pNameAndSystemEditor; 60 61 /* Variables: */ 62 QString m_strGroup; 60 63 }; 61 64 … … 70 73 71 74 /* Constructor: */ 72 UIWizardNewVMPageBasic1( );75 UIWizardNewVMPageBasic1(const QString &strGroup); 73 76 74 77 protected: -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageExpert.cpp
r41615 r42616 38 38 #include "QIToolButton.h" 39 39 40 UIWizardNewVMPageExpert::UIWizardNewVMPageExpert() 40 UIWizardNewVMPageExpert::UIWizardNewVMPageExpert(const QString &strGroup) 41 : UIWizardNewVMPage1(strGroup) 41 42 { 42 43 /* Create widgets: */ -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageExpert.h
r41415 r42616 44 44 45 45 /* Constructor: */ 46 UIWizardNewVMPageExpert( );46 UIWizardNewVMPageExpert(const QString &strGroup); 47 47 48 48 protected:
Note:
See TracChangeset
for help on using the changeset viewer.