Changeset 103781 in vbox
- Timestamp:
- Mar 11, 2024 5:23:02 PM (13 months ago)
- svn:sync-xref-src-repo-rev:
- 162150
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/extensionpackmanager/UIExtensionPackManager.cpp
r103771 r103781 275 275 strSelectedPackageName, 276 276 displayInfo); 277 connect(pNotification, &UINotificationProgressExtensionPackUninstall::sigExtensionPackUninstalled,278 this, &UIExtensionPackManagerWidget::sltHandleExtensionPackUninstalled);279 connect(pNotification, &UINotificationProgressExtensionPackUninstall::sigExtensionPackUninstalled,280 &uiCommon(), &UICommon::sigExtensionPackUninstalled);281 277 gpNotificationCenter->append(pNotification); 282 278 } … … 377 373 /* Prepare self: */ 378 374 uiCommon().setHelpKeyword(this, "ext-pack-manager"); 379 /* Connect un/install event we get from IVirtualBox to UICommon since all380 * ext pack installation events should go through its signal. Several381 * other objects listen to those signals for menu update etc: */382 connect(gVBoxEvents, &UIVirtualBoxEventHandler::sigExtensionPackInstalled,383 &uiCommon(), &UICommon::sigExtensionPackInstalled);384 connect(gVBoxEvents, &UIVirtualBoxEventHandler::sigExtensionPackUninstalled,385 &uiCommon(), &UICommon::sigExtensionPackUninstalled);386 387 388 connect(&uiCommon(), &UICommon::sigExtensionPackInstalled,389 this, &UIExtensionPackManagerWidget::sltHandleExtensionPackInstalled);390 375 391 376 /* Prepare stuff: */ 392 377 prepareActions(); 393 378 prepareWidgets(); 379 prepareConnections(); 394 380 395 381 /* Apply language settings: */ … … 490 476 } 491 477 478 void UIExtensionPackManagerWidget::prepareConnections() 479 { 480 /* Listen for extension pack being [un]installed: */ 481 connect(gVBoxEvents, &UIVirtualBoxEventHandler::sigExtensionPackInstalled, 482 this, &UIExtensionPackManagerWidget::sltHandleExtensionPackInstalled); 483 connect(gVBoxEvents, &UIVirtualBoxEventHandler::sigExtensionPackUninstalled, 484 this, &UIExtensionPackManagerWidget::sltHandleExtensionPackUninstalled); 485 } 486 492 487 void UIExtensionPackManagerWidget::loadExtensionPacks() 493 488 { -
trunk/src/VBox/Frontends/VirtualBox/src/extensionpackmanager/UIExtensionPackManager.h
r98103 r103781 114 114 /** Prepares tree-widget. */ 115 115 void prepareTreeWidget(); 116 /** Prepare connections: */ 117 void prepareConnections(); 116 118 /** @} */ 117 119 -
trunk/src/VBox/Frontends/VirtualBox/src/globals/UICommon.cpp
r103771 r103781 104 104 #include "CCloudMachine.h" 105 105 #include "CConsole.h" 106 #include "CExtPack.h"107 #include "CExtPackFile.h"108 #include "CExtPackManager.h"109 106 #include "CHostUSBDevice.h" 110 107 #include "CHostVideoInputDevice.h" … … 2700 2697 } 2701 2698 2702 bool UICommon::isExtentionPackInstalled() const2703 {2704 const CVirtualBox comVBox = gpGlobalSession->virtualBox();2705 const CExtPackManager comEPManager = comVBox.GetExtensionPackManager();2706 2707 if (!comVBox.isOk())2708 return false;2709 2710 const QVector<CExtPack> extensionPacks = comEPManager.GetInstalledExtPacks();2711 if (!comEPManager.isOk())2712 return false;2713 foreach (const CExtPack &comExtensionPack, extensionPacks)2714 {2715 if (!comExtensionPack.isOk())2716 continue;2717 bool fUsable = comExtensionPack.GetUsable();2718 if (comExtensionPack.isOk() && fUsable)2719 return true;2720 }2721 return false;2722 }2723 2724 2699 bool UICommon::openURL(const QString &strUrl) const 2725 2700 { -
trunk/src/VBox/Frontends/VirtualBox/src/globals/UICommon.h
r103771 r103781 87 87 /** @} */ 88 88 89 /** @name COM: Extension Pack stuff.90 * @{ */91 /** Notifies listeners about extension pack @a strName was installed. */92 void sigExtensionPackInstalled(const QString &strName);93 /** Notifies listeners about extension pack @a strName was uninstalled. */94 void sigExtensionPackUninstalled(const QString &strName);95 /** @} */96 97 89 /** @name Cloud Virtual Machine stuff. 98 90 * @{ */ … … 495 487 /** @} */ 496 488 497 /** @name COM: Extension Pack stuff.498 * @{ */499 /** Returns true if it can find at least one usable ext. pack. Else returns false. */500 bool isExtentionPackInstalled() const;501 /** @} */502 503 489 public slots: 504 490 -
trunk/src/VBox/Frontends/VirtualBox/src/globals/UIExtension.cpp
r103771 r103781 27 27 28 28 /* GUI includes: */ 29 #include "UICommon.h"30 29 #include "UIExtension.h" 31 30 #include "UIGlobalSession.h" … … 113 112 strPackName, 114 113 strDisplayInfo); 115 QObject::connect(pNotification, &UINotificationProgressExtensionPackInstall::sigExtensionPackInstalled,116 &uiCommon(), &UICommon::sigExtensionPackInstalled);117 114 gpNotificationCenter->append(pNotification); 118 115 … … 121 118 *pstrExtPackName = strPackName; 122 119 } 120 121 bool UIExtension::isExtentionPackInstalled() 122 { 123 /* Acquire extension pack manager: */ 124 const CVirtualBox comVBox = gpGlobalSession->virtualBox(); 125 const CExtPackManager comEPManager = comVBox.GetExtensionPackManager(); 126 if (!comVBox.isOk()) 127 return false; 128 129 /* Acquire a list of extension packs: */ 130 const QVector<CExtPack> extensionPacks = comEPManager.GetInstalledExtPacks(); 131 if (!comEPManager.isOk()) 132 return false; 133 134 /* Make sure at least one installed ext pack is usable: */ 135 foreach (const CExtPack &comExtensionPack, extensionPacks) 136 { 137 if (!comExtensionPack.isOk()) 138 continue; 139 const bool fUsable = comExtensionPack.GetUsable(); 140 if (comExtensionPack.isOk() && fUsable) 141 return true; 142 } 143 144 /* False by default: */ 145 return false; 146 } -
trunk/src/VBox/Frontends/VirtualBox/src/globals/UIExtension.h
r98103 r103781 47 47 QWidget *pParent, 48 48 QString *pstrExtPackName); 49 50 /** Returns true if it can find at least one usable ext. pack. Else returns false. */ 51 bool SHARED_LIBRARY_STUFF isExtentionPackInstalled(); 49 52 } 50 53 -
trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp
r103771 r103781 2504 2504 connect(&uiCommon(), &UICommon::sigMediumEnumerationFinished, 2505 2505 this, &UIVirtualBoxManager::sltHandleMediumEnumerationFinish); 2506 connect(&uiCommon(), &UICommon::sigExtensionPackInstalled,2507 this, &UIVirtualBoxManager::sltExtensionPackInstalledUninstalled);2508 connect(&uiCommon(), &UICommon::sigExtensionPackUninstalled,2509 this, &UIVirtualBoxManager::sltExtensionPackInstalledUninstalled);2510 2506 2511 2507 /* Widget connections: */ … … 2539 2535 2540 2536 /* Global VBox event handlers: */ 2537 connect(gVBoxEvents, &UIVirtualBoxEventHandler::sigExtensionPackInstalled, 2538 this, &UIVirtualBoxManager::sltExtensionPackInstalledUninstalled); 2539 connect(gVBoxEvents, &UIVirtualBoxEventHandler::sigExtensionPackUninstalled, 2540 this, &UIVirtualBoxManager::sltExtensionPackInstalledUninstalled); 2541 2541 connect(gVBoxEvents, &UIVirtualBoxEventHandler::sigMachineStateChange, 2542 2542 this, &UIVirtualBoxManager::sltHandleStateChange); … … 3738 3738 { 3739 3739 return items.size() == 1 && 3740 uiCommon().isExtentionPackInstalled() &&3740 UIExtension::isExtentionPackInstalled() && 3741 3741 pItem->toLocal(); 3742 3742 } -
trunk/src/VBox/Frontends/VirtualBox/src/notificationcenter/UINotificationObjects.cpp
r103771 r103781 4113 4113 , m_strDisplayInfo(strDisplayInfo) 4114 4114 { 4115 connect(this, &UINotificationProgress::sigProgressFinished,4116 this, &UINotificationProgressExtensionPackInstall::sltHandleProgressFinished);4117 4115 } 4118 4116 … … 4135 4133 /* Return progress-wrapper: */ 4136 4134 return comProgress; 4137 }4138 4139 void UINotificationProgressExtensionPackInstall::sltHandleProgressFinished()4140 {4141 if (error().isEmpty())4142 emit sigExtensionPackInstalled(m_strExtensionPackName);4143 4135 } 4144 4136 … … 4155 4147 , m_strDisplayInfo(strDisplayInfo) 4156 4148 { 4157 connect(this, &UINotificationProgress::sigProgressFinished,4158 this, &UINotificationProgressExtensionPackUninstall::sltHandleProgressFinished);4159 4149 } 4160 4150 … … 4179 4169 /* Return progress-wrapper: */ 4180 4170 return comProgress; 4181 }4182 4183 void UINotificationProgressExtensionPackUninstall::sltHandleProgressFinished()4184 {4185 if (error().isEmpty())4186 emit sigExtensionPackUninstalled(m_strExtensionPackName);4187 4171 } 4188 4172 -
trunk/src/VBox/Frontends/VirtualBox/src/notificationcenter/UINotificationObjects.h
r103549 r103781 2401 2401 Q_OBJECT; 2402 2402 2403 signals:2404 2405 /** Notifies listeners about extension pack installed.2406 * @param strExtensionPackName Brings extension pack name. */2407 void sigExtensionPackInstalled(const QString &strExtensionPackName);2408 2409 2403 public: 2410 2404 … … 2428 2422 virtual CProgress createProgress(COMResult &comResult) /* override final */; 2429 2423 2430 private slots:2431 2432 /** Handles signal about progress being finished. */2433 void sltHandleProgressFinished();2434 2435 2424 private: 2436 2425 … … 2450 2439 Q_OBJECT; 2451 2440 2452 signals:2453 2454 /** Notifies listeners about extension pack uninstalled.2455 * @param strExtensionPackName Brings extension pack name. */2456 void sigExtensionPackUninstalled(const QString &strExtensionPackName);2457 2458 2441 public: 2459 2442 … … 2474 2457 /** Creates and returns started progress-wrapper. */ 2475 2458 virtual CProgress createProgress(COMResult &comResult) /* override final */; 2476 2477 private slots:2478 2479 /** Handles signal about progress being finished. */2480 void sltHandleProgressFinished();2481 2459 2482 2460 private:
Note:
See TracChangeset
for help on using the changeset viewer.