- Timestamp:
- Oct 18, 2018 3:14:57 PM (6 years ago)
- Location:
- trunk/src/VBox/Frontends/VirtualBox
- Files:
-
- 8 edited
- 8 copied
-
images/cloud_profile_restore_16px.png (copied) (copied from trunk/src/VBox/Frontends/VirtualBox/images/cloud_profile_add_16px.png )
-
images/cloud_profile_restore_32px.png (copied) (copied from trunk/src/VBox/Frontends/VirtualBox/images/cloud_profile_add_32px.png )
-
images/cloud_profile_restore_disabled_16px.png (copied) (copied from trunk/src/VBox/Frontends/VirtualBox/images/cloud_profile_add_disabled_16px.png )
-
images/cloud_profile_restore_disabled_32px.png (copied) (copied from trunk/src/VBox/Frontends/VirtualBox/images/cloud_profile_add_disabled_32px.png )
-
images/x2/cloud_profile_restore_16px_x2.png (copied) (copied from trunk/src/VBox/Frontends/VirtualBox/images/x2/cloud_profile_add_16px_x2.png )
-
images/x2/cloud_profile_restore_32px_x2.png (copied) (copied from trunk/src/VBox/Frontends/VirtualBox/images/x2/cloud_profile_add_32px_x2.png )
-
images/x2/cloud_profile_restore_disabled_16px_x2.png (copied) (copied from trunk/src/VBox/Frontends/VirtualBox/images/x2/cloud_profile_add_disabled_16px_x2.png )
-
images/x2/cloud_profile_restore_disabled_32px_x2.png (copied) (copied from trunk/src/VBox/Frontends/VirtualBox/images/x2/cloud_profile_add_disabled_32px_x2.png )
-
src/cloud/UICloudProfileManager.cpp (modified) (5 diffs)
-
src/cloud/UICloudProfileManager.h (modified) (1 diff)
-
src/globals/UIActionPoolSelector.cpp (modified) (3 diffs)
-
src/globals/UIActionPoolSelector.h (modified) (1 diff)
-
src/globals/UIMessageCenter.cpp (modified) (2 diffs)
-
src/globals/UIMessageCenter.h (modified) (1 diff)
-
src/manager/UIVirtualBoxManager.cpp (modified) (1 diff)
-
src/manager/UIVirtualBoxManagerWidget.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/cloud/UICloudProfileManager.cpp
r74922 r74923 409 409 } 410 410 411 void UICloudProfileManagerWidget::sltRefreshCloudProfiles() 412 { 413 /// @todo refresh cloud profiles! 414 415 // Not implemented. 416 AssertMsgFailed(("Not implemented!")); 411 void UICloudProfileManagerWidget::sltImportCloudProfiles() 412 { 413 /* Get provider item: */ 414 UIItemCloudProvider *pProviderItem = static_cast<UIItemCloudProvider*>(m_pTreeWidget->currentItem()); 415 AssertMsgReturnVoid(pProviderItem, ("Current item must not be null!\n")); 416 417 /* Confirm cloud profile removal: */ 418 if (!msgCenter().confirmCloudProfilesImport(this)) 419 return; 420 421 /* Get VirtualBox for further activities: */ 422 const CVirtualBox comVBox = vboxGlobal().virtualBox(); 423 424 /* Get CloudProviderManager for further activities: */ 425 CCloudProviderManager comCloudProviderManager = comVBox.GetCloudProviderManager(); 426 /* Show error message if necessary: */ 427 if (!comVBox.isOk()) 428 msgCenter().cannotAcquireCloudProviderManager(comVBox, this); 429 else 430 { 431 /* Acquire provider ID: */ 432 const QUuid uId = pProviderItem->data(Column_Name, Data_ProviderID).toUuid(); 433 434 /* Look for corresponding provider: */ 435 CCloudProvider comCloudProvider = comCloudProviderManager.GetProviderById(uId); 436 /* Show error message if necessary: */ 437 if (!comCloudProviderManager.isOk()) 438 msgCenter().cannotFindCloudProvider(comCloudProviderManager, uId, this); 439 else 440 { 441 /* Import profiles: */ 442 comCloudProvider.ImportProfiles(); 443 444 /* Show error message if necessary: */ 445 if (!comCloudProvider.isOk()) 446 msgCenter().cannotImportCloudProfiles(comCloudProvider, this); 447 else 448 loadCloudStuff(); 449 } 450 } 417 451 } 418 452 … … 432 466 m_pActionPool->action(UIActionIndexST_M_Cloud_S_Remove)->setEnabled(pItemProfile); 433 467 m_pActionPool->action(UIActionIndexST_M_Cloud_T_Details)->setEnabled(pItemProfile); 468 m_pActionPool->action(UIActionIndexST_M_Cloud_S_Import)->setEnabled(!pItem || pItemProvider); 434 469 435 470 /* If there is an item => update details data: */ … … 465 500 { 466 501 menu.addAction(m_pActionPool->action(UIActionIndexST_M_Cloud_S_Add)); 467 // menu.addAction(m_pActionPool->action(UIActionIndexST_M_Cloud_S_Refresh));502 menu.addAction(m_pActionPool->action(UIActionIndexST_M_Cloud_S_Import)); 468 503 } 469 504 … … 498 533 connect(m_pActionPool->action(UIActionIndexST_M_Cloud_T_Details), &QAction::toggled, 499 534 this, &UICloudProfileManagerWidget::sltToggleCloudProfileDetailsVisibility); 500 connect(m_pActionPool->action(UIActionIndexST_M_Cloud_S_ Refresh), &QAction::triggered,501 this, &UICloudProfileManagerWidget::slt RefreshCloudProfiles);535 connect(m_pActionPool->action(UIActionIndexST_M_Cloud_S_Import), &QAction::triggered, 536 this, &UICloudProfileManagerWidget::sltImportCloudProfiles); 502 537 } 503 538 … … 542 577 m_pToolBar->addAction(m_pActionPool->action(UIActionIndexST_M_Cloud_S_Remove)); 543 578 m_pToolBar->addAction(m_pActionPool->action(UIActionIndexST_M_Cloud_T_Details)); 544 //m_pToolBar->addSeparator();545 // m_pToolBar->addAction(m_pActionPool->action(UIActionIndexST_M_Cloud_S_Refresh));579 m_pToolBar->addSeparator(); 580 m_pToolBar->addAction(m_pActionPool->action(UIActionIndexST_M_Cloud_S_Import)); 546 581 547 582 #ifdef VBOX_WS_MAC -
trunk/src/VBox/Frontends/VirtualBox/src/cloud/UICloudProfileManager.h
r74920 r74923 95 95 /** Handles command to make cloud profile details @a fVisible. */ 96 96 void sltToggleCloudProfileDetailsVisibility(bool fVisible); 97 /** Handles command to refreshcloud profiles. */98 void slt RefreshCloudProfiles();97 /** Handles command to import cloud profiles. */ 98 void sltImportCloudProfiles(); 99 99 /** @} */ 100 100 -
trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolSelector.cpp
r74920 r74923 2493 2493 2494 2494 /** Simple action extension, used as 'Perform Refresh' action class. */ 2495 class UIActionMenuSelectorCloudPerform Refresh: public UIActionSimple2496 { 2497 Q_OBJECT; 2498 2499 public: 2500 2501 /** Constructs action passing @a pParent to the base-class. */ 2502 UIActionMenuSelectorCloudPerform Refresh(UIActionPool *pParent)2495 class UIActionMenuSelectorCloudPerformImport : public UIActionSimple 2496 { 2497 Q_OBJECT; 2498 2499 public: 2500 2501 /** Constructs action passing @a pParent to the base-class. */ 2502 UIActionMenuSelectorCloudPerformImport(UIActionPool *pParent) 2503 2503 : UIActionSimple(pParent, 2504 ":/ refresh_32px.png", ":/refresh_16px.png",2505 ":/ refresh_disabled_32px.png", ":/refresh_disabled_16px.png")2506 {} 2507 2508 protected: 2509 2510 /** Returns shortcut extra-data ID. */ 2511 virtual QString shortcutExtraDataID() const /* override */ 2512 { 2513 return QString(" RefreshCloudProfiles");2514 } 2515 2516 /** Returns default shortcut. */ 2517 virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */ 2518 { 2519 return QKeySequence("Ctrl+Shift+ F");2520 } 2521 2522 /** Handles translation event. */ 2523 virtual void retranslateUi() /* override */ 2524 { 2525 setIconText(QApplication::translate("UIActionPool", " Refresh"));2526 setName(QApplication::translate("UIActionPool", " Re&freshProfiles..."));2504 ":/cloud_profile_restore_32px.png", ":/cloud_profile_restore_16px.png", 2505 ":/cloud_profile_restore_disabled_32px.png", ":/cloud_profile_restore_disabled_16px.png") 2506 {} 2507 2508 protected: 2509 2510 /** Returns shortcut extra-data ID. */ 2511 virtual QString shortcutExtraDataID() const /* override */ 2512 { 2513 return QString("ImportCloudProfiles"); 2514 } 2515 2516 /** Returns default shortcut. */ 2517 virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */ 2518 { 2519 return QKeySequence("Ctrl+Shift+I"); 2520 } 2521 2522 /** Handles translation event. */ 2523 virtual void retranslateUi() /* override */ 2524 { 2525 setIconText(QApplication::translate("UIActionPool", "Import")); 2526 setName(QApplication::translate("UIActionPool", "&Import Profiles...")); 2527 2527 setShortcutScope(QApplication::translate("UIActionPool", "Cloud Profile Manager")); 2528 setStatusTip(QApplication::translate("UIActionPool", " Refresh the list of cloud profiles"));2529 setToolTip(tr(" RefreshCloud Profiles (%1)").arg(shortcut().toString()));2528 setStatusTip(QApplication::translate("UIActionPool", "Import the list of cloud profiles from external files")); 2529 setToolTip(tr("Import Cloud Profiles (%1)").arg(shortcut().toString())); 2530 2530 } 2531 2531 }; … … 2653 2653 m_pool[UIActionIndexST_M_Cloud_S_Remove] = new UIActionMenuSelectorCloudPerformRemove(this); 2654 2654 m_pool[UIActionIndexST_M_Cloud_T_Details] = new UIActionMenuSelectorCloudToggleProperties(this); 2655 m_pool[UIActionIndexST_M_Cloud_S_ Refresh] = new UIActionMenuSelectorCloudPerformRefresh(this);2655 m_pool[UIActionIndexST_M_Cloud_S_Import] = new UIActionMenuSelectorCloudPerformImport(this); 2656 2656 2657 2657 /* Prepare update-handlers for known menus: */ … … 2845 2845 fSeparator = addAction(pMenu, action(UIActionIndexST_M_Cloud_T_Details)) || fSeparator; 2846 2846 2847 ///* Separator? */2848 //if (fSeparator)2849 //{2850 //pMenu->addSeparator();2851 //fSeparator = false;2852 //}2853 2854 // /* 'Refresh' action: */2855 // fSeparator = addAction(pMenu, action(UIActionIndexST_M_Cloud_S_Refresh)) || fSeparator;;2847 /* Separator? */ 2848 if (fSeparator) 2849 { 2850 pMenu->addSeparator(); 2851 fSeparator = false; 2852 } 2853 2854 /* 'Import' action: */ 2855 fSeparator = addAction(pMenu, action(UIActionIndexST_M_Cloud_S_Import)) || fSeparator; 2856 2856 } 2857 2857 -
trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolSelector.h
r74920 r74923 143 143 UIActionIndexST_M_Cloud_S_Remove, 144 144 UIActionIndexST_M_Cloud_T_Details, 145 UIActionIndexST_M_Cloud_S_ Refresh,145 UIActionIndexST_M_Cloud_S_Import, 146 146 147 147 /* Maximum index: */ -
trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp
r74922 r74923 1655 1655 } 1656 1656 1657 void UIMessageCenter::cannotImportCloudProfiles(const CCloudProvider &comProvider, QWidget *pParent /* = 0 */) const 1658 { 1659 error(pParent, MessageType_Error, 1660 tr("Failed to import cloud profiles."), 1661 UIErrorString::formatErrorInfo(comProvider)); 1662 } 1663 1657 1664 void UIMessageCenter::cannotAcquireCloudProfileParameter(const CCloudProfile &comProfile, QWidget *pParent /* = 0 */) const 1658 1665 { … … 1676 1683 0 /* auto-confirm id */, 1677 1684 tr("Remove") /* ok button text */, 1685 QString() /* cancel button text */, 1686 false /* ok button by default? */); 1687 } 1688 1689 bool UIMessageCenter::confirmCloudProfilesImport(QWidget *pParent /* = 0 */) const 1690 { 1691 return questionBinary(pParent, MessageType_Question, 1692 tr("<p>Do you want to import cloud profiles from external files?</p>" 1693 "<p>VirtualBox cloud profiles will be overwritten and their data will be lost.</p>"), 1694 0 /* auto-confirm id */, 1695 tr("Import") /* ok button text */, 1678 1696 QString() /* cancel button text */, 1679 1697 false /* ok button by default? */); -
trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.h
r74922 r74923 367 367 void cannotCreateCloudProfle(const CCloudProvider &comProvider, QWidget *pParent = 0) const; 368 368 void cannotSaveCloudProfiles(const CCloudProvider &comProvider, QWidget *pParent = 0) const; 369 void cannotImportCloudProfiles(const CCloudProvider &comProvider, QWidget *pParent = 0) const; 369 370 void cannotAcquireCloudProfileParameter(const CCloudProfile &comProfile, QWidget *pParent = 0) const; 370 371 void cannotAssignCloudProfileParameter(const CCloudProfile &comProfile, QWidget *pParent = 0) const; 371 372 bool confirmCloudProfileRemoval(const QString &strName, QWidget *pParent = 0) const; 373 bool confirmCloudProfilesImport(QWidget *pParent = 0) const; 372 374 373 375 /* API: Wizards warnings: */ -
trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp
r74920 r74923 1769 1769 << actionPool()->action(UIActionIndexST_M_Cloud_S_Remove) 1770 1770 << actionPool()->action(UIActionIndexST_M_Cloud_T_Details) 1771 << actionPool()->action(UIActionIndexST_M_Cloud_S_ Refresh);1771 << actionPool()->action(UIActionIndexST_M_Cloud_S_Import); 1772 1772 } 1773 1773 -
trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.cpp
r74920 r74923 647 647 m_pToolBar->addAction(actionPool()->action(UIActionIndexST_M_Cloud_S_Remove)); 648 648 m_pToolBar->addAction(actionPool()->action(UIActionIndexST_M_Cloud_T_Details)); 649 //m_pToolBar->addAction(actionPool()->action(UIActionIndexST_M_Cloud_S_Refresh)); 649 m_pToolBar->addSeparator(); 650 m_pToolBar->addAction(actionPool()->action(UIActionIndexST_M_Cloud_S_Import)); 650 651 break; 651 652 }
Note:
See TracChangeset
for help on using the changeset viewer.

