Changeset 43622 in vbox
- Timestamp:
- Oct 11, 2012 4:13:29 PM (12 years ago)
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src/runtime
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIActionPoolRuntime.cpp
r42949 r43622 529 529 { 530 530 menu()->setTitle(menuText(QApplication::translate("UIActionPool", "Shared &Clipboard"))); 531 } 532 }; 533 534 class MenuDragAndDropAction : public UIActionMenu 535 { 536 Q_OBJECT; 537 538 public: 539 540 MenuDragAndDropAction(QObject *pParent) 541 : UIActionMenu(pParent, ":/vm_open_filemanager_16px.png", ":/vm_open_filemanager_disabled_16px.png") 542 { 543 retranslateUi(); 544 } 545 546 protected: 547 548 void retranslateUi() 549 { 550 menu()->setTitle(menuText(QApplication::translate("UIActionPool", "Drag'n'Drop"))); 531 551 } 532 552 }; … … 930 950 delete m_pool[UIActionIndexRuntime_Menu_SharedClipboard]; 931 951 m_pool[UIActionIndexRuntime_Menu_SharedClipboard] = new MenuSharedClipboardAction(this); 952 if (m_pool[UIActionIndexRuntime_Menu_DragAndDrop]) 953 delete m_pool[UIActionIndexRuntime_Menu_DragAndDrop]; 954 m_pool[UIActionIndexRuntime_Menu_DragAndDrop] = new MenuDragAndDropAction(this); 932 955 if (m_pool[UIActionIndexRuntime_Menu_NetworkAdapters]) 933 956 delete m_pool[UIActionIndexRuntime_Menu_NetworkAdapters]; -
trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIActionPoolRuntime.h
r42949 r43622 57 57 UIActionIndexRuntime_Menu_USBDevices, 58 58 UIActionIndexRuntime_Menu_SharedClipboard, 59 UIActionIndexRuntime_Menu_DragAndDrop, 59 60 UIActionIndexRuntime_Menu_NetworkAdapters, 60 61 UIActionIndexRuntime_Simple_NetworkAdaptersDialog, -
trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineLogic.cpp
r43029 r43622 445 445 , m_pRunningOrPausedActions(0) 446 446 , m_pSharedClipboardActions(0) 447 , m_pDragAndDropActions(0) 447 448 , m_fIsWindowsCreated(false) 448 449 , m_fIsPreventAutoClose(false) … … 493 494 foreach (QAction *pAction, m_pSharedClipboardActions->actions()) 494 495 pAction->setText(gpConverter->toString(pAction->data().value<KClipboardMode>())); 496 } 497 if (m_pDragAndDropActions) 498 { 499 foreach (QAction *pAction, m_pDragAndDropActions->actions()) 500 pAction->setText(gpConverter->toString(pAction->data().value<KDragAndDropMode>())); 495 501 } 496 502 } … … 605 611 m_pRunningOrPausedActions->addAction(gActionPool->action(UIActionIndexRuntime_Menu_USBDevices)); 606 612 m_pRunningOrPausedActions->addAction(gActionPool->action(UIActionIndexRuntime_Menu_SharedClipboard)); 613 m_pRunningOrPausedActions->addAction(gActionPool->action(UIActionIndexRuntime_Menu_DragAndDrop)); 607 614 m_pRunningOrPausedActions->addAction(gActionPool->action(UIActionIndexRuntime_Menu_NetworkAdapters)); 608 615 m_pRunningOrPausedActions->addAction(gActionPool->action(UIActionIndexRuntime_Simple_NetworkAdaptersDialog)); … … 656 663 connect(gActionPool->action(UIActionIndexRuntime_Menu_SharedClipboard)->menu(), SIGNAL(aboutToShow()), 657 664 this, SLOT(sltPrepareSharedClipboardMenu())); 665 connect(gActionPool->action(UIActionIndexRuntime_Menu_DragAndDrop)->menu(), SIGNAL(aboutToShow()), 666 this, SLOT(sltPrepareDragAndDropMenu())); 658 667 connect(gActionPool->action(UIActionIndexRuntime_Simple_NetworkAdaptersDialog), SIGNAL(triggered()), 659 668 this, SLOT(sltOpenNetworkAdaptersDialog())); … … 1618 1627 } 1619 1628 1629 void UIMachineLogic::sltPrepareDragAndDropMenu() 1630 { 1631 /* Get and check the sender menu object: */ 1632 QMenu *pMenu = qobject_cast<QMenu*>(sender()); 1633 QMenu *pDragAndDropMenu = gActionPool->action(UIActionIndexRuntime_Menu_DragAndDrop)->menu(); 1634 AssertMsg(pMenu == pDragAndDropMenu, ("This slot should only be called on hovering Drag'n'drop menu!\n")); 1635 Q_UNUSED(pDragAndDropMenu); 1636 1637 /* First run: */ 1638 if (!m_pDragAndDropActions) 1639 { 1640 m_pDragAndDropActions = new QActionGroup(this); 1641 for (int i = KDragAndDropMode_Disabled; i < KDragAndDropMode_Max; ++i) 1642 { 1643 KDragAndDropMode mode = (KDragAndDropMode)i; 1644 QAction *pAction = pMenu->addAction(gpConverter->toString(mode)); 1645 pAction->setData(QVariant::fromValue(mode)); 1646 pAction->setCheckable(true); 1647 pAction->setChecked(session().GetMachine().GetDragAndDropMode() == mode); 1648 m_pDragAndDropActions->addAction(pAction); 1649 } 1650 connect(m_pDragAndDropActions, SIGNAL(triggered(QAction*)), 1651 this, SLOT(sltChangeDragAndDropType(QAction*))); 1652 } 1653 /* Subsequent runs: */ 1654 else 1655 foreach (QAction *pAction, m_pDragAndDropActions->actions()) 1656 if (pAction->data().value<KDragAndDropMode>() == session().GetMachine().GetDragAndDropMode()) 1657 pAction->setChecked(true); 1658 } 1659 1660 void UIMachineLogic::sltChangeDragAndDropType(QAction *pAction) 1661 { 1662 /* Assign new mode (without save): */ 1663 KDragAndDropMode mode = pAction->data().value<KDragAndDropMode>(); 1664 session().GetMachine().SetDragAndDropMode(mode); 1665 } 1666 1620 1667 void UIMachineLogic::sltSwitchVrde(bool fOn) 1621 1668 { -
trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineLogic.h
r43138 r43622 175 175 void sltPrepareSharedClipboardMenu(); 176 176 void sltChangeSharedClipboardType(QAction *pAction); 177 void sltPrepareDragAndDropMenu(); 178 void sltChangeDragAndDropType(QAction *pAction); 177 179 void sltSwitchVrde(bool fOn); 178 180 void sltInstallGuestAdditions(); … … 209 211 QActionGroup *m_pRunningOrPausedActions; 210 212 QActionGroup *m_pSharedClipboardActions; 213 QActionGroup *m_pDragAndDropActions; 211 214 212 215 bool m_fIsWindowsCreated : 1; -
trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineMenuBar.cpp
r42949 r43622 241 241 pMenu->addMenu(gActionPool->action(UIActionIndexRuntime_Menu_USBDevices)->menu()); 242 242 pMenu->addMenu(gActionPool->action(UIActionIndexRuntime_Menu_SharedClipboard)->menu()); 243 pMenu->addMenu(gActionPool->action(UIActionIndexRuntime_Menu_DragAndDrop)->menu()); 243 244 pMenu->addAction(gActionPool->action(UIActionIndexRuntime_Simple_NetworkAdaptersDialog)); 244 245 pMenu->addAction(gActionPool->action(UIActionIndexRuntime_Simple_SharedFoldersDialog));
Note:
See TracChangeset
for help on using the changeset viewer.