VirtualBox

Changeset 39326 in vbox


Ignore:
Timestamp:
Nov 16, 2011 10:44:17 AM (13 years ago)
Author:
vboxsync
Message:

FE/Qt: Network/Update managers: Disable check-for-new-version function for VM window; Centralize signals for downloader embedding in Network manager.

Location:
trunk/src/VBox/Frontends/VirtualBox/src
Files:
21 edited
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp

    r39188 r39326  
    29462946    else if (!UIDownloaderUserManual::current() && askAboutUserManualDownload(strUserManualFileName1))
    29472947    {
    2948         /* Create User Manual downloader: */
     2948        /* Create and configure the User Manual downloader: */
    29492949        UIDownloaderUserManual *pDl = UIDownloaderUserManual::create();
    2950         /* Configure User Manual downloader: */
    29512950        CVirtualBox vbox = vboxGlobal().virtualBox();
    29522951        pDl->addSource(QString("http://download.virtualbox.org/virtualbox/%1/").arg(vboxGlobal().vboxVersionStringNormalized()) + strShortFileName);
     
    29542953        pDl->setTarget(strUserManualFileName2);
    29552954        pDl->setParentWidget(mainWindowShown());
    2956         /* After the download is finished => show the document: */
     2955        /* After downloading finished => show the User Manual: */
    29572956        connect(pDl, SIGNAL(sigDownloadFinished(const QString&)), this, SLOT(sltShowUserManual(const QString&)));
    2958         /* Notify listeners: */
    2959         emit sigDownloaderUserManualCreated();
    2960         /* Start the downloader: */
     2957        /* Start downloading: */
    29612958        pDl->start();
    29622959    }
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.h

    r39188 r39326  
    431431signals:
    432432
    433     void sigDownloaderUserManualCreated();
    434433    void sigToCloseAllWarnings();
    435434
  • trunk/src/VBox/Frontends/VirtualBox/src/net/UIDownloader.cpp

    r38421 r39326  
    127127    connect(this, SIGNAL(sigToStartAcknowledging()), this, SLOT(sltStartAcknowledging()), Qt::QueuedConnection);
    128128    connect(this, SIGNAL(sigToStartDownloading()), this, SLOT(sltStartDownloading()), Qt::QueuedConnection);
     129    connect(this, SIGNAL(sigDownloadingStarted(UIDownloadType)), gNetworkManager, SIGNAL(sigDownloaderCreated(UIDownloadType)));
    129130}
    130131
  • trunk/src/VBox/Frontends/VirtualBox/src/net/UIDownloader.h

    r38421 r39326  
    2424#include <QUrl>
    2525#include <QPointer>
     26
     27/* Local includes: */
     28#include "UINetworkDefs.h"
    2629
    2730/* Forward declarations: */
     
    124127    void sigDownloadProgress(qint64 cDone, qint64 cTotal);
    125128
     129    /* Notifies network manager about downloading started: */
     130    void sigDownloadingStarted(UIDownloadType downloadType);
     131
    126132protected:
    127133
  • trunk/src/VBox/Frontends/VirtualBox/src/net/UIDownloaderAdditions.cpp

    r38421 r39326  
    5353{
    5454    return m_pAction;
     55}
     56
     57void UIDownloaderAdditions::start()
     58{
     59    /* Call for base-class: */
     60    UIDownloader::start();
     61    /* Notify about downloading started: */
     62    emit sigDownloadingStarted(UIDownloadType_Additions);
    5563}
    5664
  • trunk/src/VBox/Frontends/VirtualBox/src/net/UIDownloaderAdditions.h

    r38421 r39326  
    5959    QAction *action() const;
    6060
     61    void start();
     62
    6163signals:
    6264
  • trunk/src/VBox/Frontends/VirtualBox/src/net/UIDownloaderExtensionPack.cpp

    r38575 r39326  
    5454void UIDownloaderExtensionPack::download(QObject *pListener)
    5555{
    56     /* Create downloader instance: */
     56    /* Create and configure the Extension Pack downloader: */
    5757    UIDownloaderExtensionPack *pDownloader = new UIDownloaderExtensionPack;
    5858    pDownloader->setParentWidget(msgCenter().mainWindowShown());
    59 
    60     /* Configure connections for the passed listener: */
    61     connect(pDownloader, SIGNAL(sigToStartAcknowledging()),
    62             pListener, SIGNAL(sigDownloaderCreatedForExtensionPack()));
     59    /* After downloading finished => propose to install the Extension Pack: */
    6360    connect(pDownloader, SIGNAL(sigNotifyAboutExtensionPackDownloaded(const QString &, const QString &)),
    6461            pListener, SLOT(sltHandleDownloadedExtensionPack(const QString &, const QString &)));
     62    /* Start downloading: */
     63    pDownloader->start();
     64}
     65
     66void UIDownloaderExtensionPack::start()
     67{
     68    /* Call for base-class: */
     69    UIDownloader::start();
     70    /* Notify about downloading started: */
     71    emit sigDownloadingStarted(UIDownloadType_ExtensionPack);
    6572}
    6673
     
    8592    setSource(strSource);
    8693    setTarget(strTarget);
    87 
    88     /* Start downloading: */
    89     start();
    9094}
    9195
  • trunk/src/VBox/Frontends/VirtualBox/src/net/UIDownloaderExtensionPack.h

    r38476 r39326  
    5757    void sigNotifyAboutExtensionPackDownloaded(const QString &strSource, const QString &strTarget);
    5858
     59protected:
     60
     61    /* Starts downloading: */
     62    void start();
     63
    5964private:
    6065
  • trunk/src/VBox/Frontends/VirtualBox/src/net/UIDownloaderUserManual.cpp

    r38421 r39326  
    5959void UIDownloaderUserManual::start()
    6060{
    61     /* If at least one source to try left: */
    62     if (!m_sourcesList.isEmpty())
    63     {
    64         /* Set the first of left sources as current one: */
    65         UIDownloader::setSource(m_sourcesList.takeFirst());
    66         /* Warn process-bar(s) about source was changed: */
    67         emit sigSourceChanged(source());
    68         /* Try to download: */
    69         startDelayedAcknowledging();
    70     }
     61    /* Start downloading: */
     62    startDownloading();
     63    /* Notify about downloading started: */
     64    emit sigDownloadingStarted(UIDownloadType_UserManual);
    7165}
    7266
     
    8276}
    8377
     78void UIDownloaderUserManual::startDownloading()
     79{
     80    /* If at least one source to try left: */
     81    if (!m_sourcesList.isEmpty())
     82    {
     83        /* Set the first of left sources as current one: */
     84        UIDownloader::setSource(m_sourcesList.takeFirst());
     85        /* Warn process-bar(s) about source was changed: */
     86        emit sigSourceChanged(source());
     87        /* Try to download: */
     88        startDelayedAcknowledging();
     89    }
     90}
     91
    8492void UIDownloaderUserManual::handleError(QNetworkReply *pReply)
    8593{
     
    8896    {
    8997        /* Restart acknowledging: */
    90         start();
     98        startDownloading();
    9199    }
    92100    else
  • trunk/src/VBox/Frontends/VirtualBox/src/net/UIDownloaderUserManual.h

    r38421 r39326  
    7979    ~UIDownloaderUserManual();
    8080
     81    void startDownloading();
     82
    8183    void handleError(QNetworkReply *pReply);
    8284
  • trunk/src/VBox/Frontends/VirtualBox/src/net/UINetworkDefs.h

    r39291 r39326  
    22 *
    33 * VBox frontends: Qt4 GUI ("VirtualBox"):
    4  * Update routine related declarations
     4 * Network routine related declarations
    55 */
    66
    77/*
    8  * Copyright (C) 2006-2011 Oracle Corporation
     8 * Copyright (C) 2011 Oracle Corporation
    99 *
    1010 * This file is part of VirtualBox Open Source Edition (OSE), as
     
    1717 */
    1818
    19 #ifndef __UIUpdateDefs_h__
    20 #define __UIUpdateDefs_h__
     19#ifndef __UINetworkDefs_h__
     20#define __UINetworkDefs_h__
    2121
    22 /* Global includes: */
    23 #include <QDate>
    24 
    25 /* This structure is used to store retranslated reminder values. */
    26 struct VBoxUpdateDay
     22/* Download types: */
     23enum UIDownloadType
    2724{
    28     VBoxUpdateDay(const QString &strVal, const QString &strKey)
    29         : val(strVal), key(strKey) {}
    30 
    31     bool operator==(const VBoxUpdateDay &other) { return val == other.val || key == other.key; }
    32 
    33     QString val;
    34     QString key;
    35 };
    36 typedef QList<VBoxUpdateDay> VBoxUpdateDayList;
    37 
    38 /* This class is used to encode/decode update data. */
    39 class VBoxUpdateData
    40 {
    41 public:
    42 
    43     /* Period types: */
    44     enum PeriodType
    45     {
    46         PeriodNever     = -2,
    47         PeriodUndefined = -1,
    48         Period1Day      =  0,
    49         Period2Days     =  1,
    50         Period3Days     =  2,
    51         Period4Days     =  3,
    52         Period5Days     =  4,
    53         Period6Days     =  5,
    54         Period1Week     =  6,
    55         Period2Weeks    =  7,
    56         Period3Weeks    =  8,
    57         Period1Month    =  9
    58     };
    59 
    60     /* Branch types: */
    61     enum BranchType
    62     {
    63         BranchStable     = 0,
    64         BranchAllRelease = 1,
    65         BranchWithBetas  = 2
    66     };
    67 
    68     /* Public static helpers: */
    69     static void populate();
    70     static QStringList list();
    71 
    72     /* Constructors: */
    73     VBoxUpdateData(const QString &strData);
    74     VBoxUpdateData(PeriodType periodIndex, BranchType branchIndex);
    75 
    76     /* Public helpers: */
    77     bool isNoNeedToCheck() const;
    78     bool isNeedToCheck() const;
    79     QString data() const;
    80     PeriodType periodIndex() const;
    81     QString date() const;
    82     BranchType branchIndex() const;
    83     QString branchName() const;
    84 
    85 private:
    86 
    87     /* Private helpers: */
    88     void decode();
    89     void encode();
    90 
    91     /* Private variables: */
    92     static VBoxUpdateDayList m_dayList;
    93     QString m_strData;
    94     PeriodType m_periodIndex;
    95     QDate m_date;
    96     BranchType m_branchIndex;
     25    UIDownloadType_Additions,
     26    UIDownloadType_UserManual,
     27    UIDownloadType_ExtensionPack,
     28    UIDownloadType_Max
    9729};
    9830
    99 #endif // __UIUpdateDefs_h__
     31#endif // __UINetworkDefs_h__
  • trunk/src/VBox/Frontends/VirtualBox/src/net/UINetworkManager.h

    r38421 r39326  
    2323#include <QNetworkAccessManager>
    2424
     25/* Local inludes: */
     26#include "UINetworkDefs.h"
     27
    2528/* QNetworkAccessManager class reimplementation providing
    2629 * network access for the VirtualBox application purposes. */
     
    3740    static void create();
    3841    static void destroy();
     42
     43signals:
     44
     45    /* Signal to notify listeners about downloader creation: */
     46    void sigDownloaderCreated(UIDownloadType downloaderType);
    3947
    4048private:
  • trunk/src/VBox/Frontends/VirtualBox/src/net/UIUpdateManager.cpp

    r39190 r39326  
    7979#ifdef VBOX_WITH_UPDATE_REQUEST
    8080    /* Ask updater to check for the first time: */
    81     QTimer::singleShot(0, this, SLOT(sltCheckIfUpdateIsNecessary()));
     81    if (!vboxGlobal().isVMConsoleProcess())
     82        QTimer::singleShot(0, this, SLOT(sltCheckIfUpdateIsNecessary()));
    8283#endif /* VBOX_WITH_UPDATE_REQUEST */
    8384}
  • trunk/src/VBox/Frontends/VirtualBox/src/net/UIUpdateManager.h

    r38476 r39326  
    4343    /* Manager instance: */
    4444    static UIUpdateManager* instance() { return m_pInstance; }
    45 
    46 signals:
    47 
    48     /* Signal to notify listeners about downloading: */
    49     void sigDownloaderCreatedForExtensionPack();
    5045
    5146public slots:
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineLogic.cpp

    r38815 r39326  
    15021502    if (result == QIMessageBox::Yes)
    15031503    {
     1504        /* Create and configure the Additions downloader: */
     1505        UIDownloaderAdditions *pDl = UIDownloaderAdditions::create();
    15041506        const QString &source = QString("http://download.virtualbox.org/virtualbox/%1/").arg(vboxGlobal().vboxVersionStringNormalized()) + name;
    15051507        const QString &target = QDir(vboxGlobal().virtualBox().GetHomeFolder()).absoluteFilePath(name);
    1506 
    1507         UIDownloaderAdditions *pDl = UIDownloaderAdditions::create();
    1508         /* Configure the additions downloader. */
    15091508        pDl->setSource(source);
    15101509        pDl->setTarget(target);
    15111510        pDl->setAction(gActionPool->action(UIActionIndexRuntime_Simple_InstallGuestTools));
    15121511        pDl->setParentWidget(mainMachineWindow()->machineWindow());
    1513         /* After the download is finished the user may like to install the
    1514          * additions.*/
     1512        /* After downloading finished => propose to install the Additions: */
    15151513        connect(pDl, SIGNAL(sigDownloadFinished(const QString&)),
    15161514                uisession(), SLOT(sltInstallGuestAdditionsFrom(const QString&)));
    1517         /* Some of the modes may show additional info of the download progress: */
    1518         emit sigDownloaderAdditionsCreated();
    1519         /* Start the download: */
     1515        /* Start downloading: */
    15201516        pDl->start();
    15211517    }
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineLogic.h

    r38477 r39326  
    8181#endif /* Q_WS_MAC */
    8282
    83 signals:
    84 
    85     /* Signal to notify listeners about additions downloader created: */
    86     void sigDownloaderAdditionsCreated();
    87 
    8883protected:
    8984
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineMenuBar.cpp

    r38477 r39326  
    2626#include "UIExtraDataEventHandler.h"
    2727#include "UIImageTools.h"
    28 #include "UIUpdateManager.h"
    2928
    3029/* Global includes */
     
    275274#endif
    276275
    277 #if defined(Q_WS_MAC) && (QT_VERSION < 0x040700)
    278     if (m_fIsFirstTime)
    279 # endif
    280         pMenu->addAction(gActionPool->action(UIActionIndex_Simple_Update));
    281276#ifndef Q_WS_MAC
    282277    pMenu->addSeparator();
     
    287282        pMenu->addAction(gActionPool->action(UIActionIndex_Simple_About));
    288283
    289 
    290284#if defined(Q_WS_MAC) && (QT_VERSION < 0x040700)
    291285    /* Because this connections are done to VBoxGlobal, they are needed once only.
     
    296290        VBoxGlobal::connect(gActionPool->action(UIActionIndex_Simple_About), SIGNAL(triggered()),
    297291                            &msgCenter(), SLOT(sltShowHelpAboutDialog()));
    298         VBoxGlobal::connect(gActionPool->action(UIActionIndex_Simple_Update), SIGNAL(triggered()),
    299                             gUpdateManager, SLOT(sltForceCheck()));
    300292#if defined(Q_WS_MAC) && (QT_VERSION < 0x040700)
    301293    }
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineLogicNormal.cpp

    r38476 r39326  
    3131#include "UIMachineWindow.h"
    3232#include "UIDownloaderAdditions.h"
     33#include "UIDownloaderUserManual.h"
    3334#include "UIDownloaderExtensionPack.h"
    3435
     
    8081    /* If there is an Additions download running, update the parent window information. */
    8182    if (UIDownloaderAdditions *pDl = UIDownloaderAdditions::current())
     83        pDl->setParentWidget(mainMachineWindow()->machineWindow());
     84
     85    /* If there is an User Manual download running, update the parent window information. */
     86    if (UIDownloaderUserManual *pDl = UIDownloaderUserManual::current())
    8287        pDl->setParentWidget(mainMachineWindow()->machineWindow());
    8388
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineWindowNormal.cpp

    r39298 r39326  
    3737#include "UIMachineWindowNormal.h"
    3838#include "UIMachineView.h"
    39 #include "UIUpdateManager.h"
     39#include "UINetworkManager.h"
    4040#include "UIDownloaderAdditions.h"
    4141#include "UIDownloaderUserManual.h"
     
    170170}
    171171
    172 void UIMachineWindowNormal::sltEmbedDownloaderForAdditions()
    173 {
    174     /* If there is an additions download running show the process bar: */
    175     if (UIDownloaderAdditions *pDl = UIDownloaderAdditions::current())
    176         statusBar()->addWidget(pDl->progressWidget(this), 0);
    177 }
    178 
    179 void UIMachineWindowNormal::sltEmbedDownloaderForUserManual()
    180 {
    181     /* If there is an additions download running show the process bar: */
    182     if (UIDownloaderUserManual *pDl = UIDownloaderUserManual::current())
    183         statusBar()->addWidget(pDl->progressWidget(this), 0);
    184 }
    185 
    186 void UIMachineWindowNormal::sltEmbedDownloaderForExtensionPack()
    187 {
    188     /* If there is an extension pack download running show the process bar: */
    189     if (UIDownloaderExtensionPack *pDl = UIDownloaderExtensionPack::current())
    190         statusBar()->addWidget(pDl->progressWidget(this), 0);
     172void UIMachineWindowNormal::sltEmbedDownloader(UIDownloadType downloaderType)
     173{
     174    switch (downloaderType)
     175    {
     176        case UIDownloadType_Additions:
     177        {
     178            if (UIDownloaderAdditions *pDl = UIDownloaderAdditions::current())
     179                statusBar()->addWidget(pDl->progressWidget(this), 0);
     180            break;
     181        }
     182        case UIDownloadType_UserManual:
     183        {
     184            if (UIDownloaderUserManual *pDl = UIDownloaderUserManual::current())
     185                statusBar()->addWidget(pDl->progressWidget(this), 0);
     186            break;
     187        }
     188        case UIDownloadType_ExtensionPack:
     189        {
     190            if (UIDownloaderExtensionPack *pDl = UIDownloaderExtensionPack::current())
     191                statusBar()->addWidget(pDl->progressWidget(this), 0);
     192            break;
     193        }
     194        default:
     195            break;
     196    }
    191197}
    192198
     
    438444    /* Add the additions downloader progress bar to the status bar,
    439445     * if a download is actually running: */
    440     sltEmbedDownloaderForAdditions();
     446    tryToEmbedDownloaderForAdditions();
    441447
    442448    /* Add the user manual progress bar to the status bar,
    443449     * if a download is actually running: */
    444     sltEmbedDownloaderForUserManual();
     450    tryToEmbedDownloaderForUserManual();
    445451
    446452    /* Add the extension pack progress bar to the status bar,
    447453     * if a download is actually running: */
    448     sltEmbedDownloaderForExtensionPack();
     454    tryToEmbedDownloaderForExtensionPack();
    449455
    450456    /* Create & start timer to update LEDs: */
     
    464470    connect(&vboxGlobal().settings(), SIGNAL(propertyChanged(const char *, const char *)),
    465471            this, SLOT(sltProcessGlobalSettingChange(const char *, const char *)));
    466     /* Setup additions downloader listener: */
    467     connect(machineLogic(), SIGNAL(sigDownloaderAdditionsCreated()), this, SLOT(sltEmbedDownloaderForAdditions()));
    468     /* Setup user manual downloader listener: */
    469     connect(&msgCenter(), SIGNAL(sigDownloaderUserManualCreated()), this, SLOT(sltEmbedDownloaderForUserManual()));
    470     /* Setup extension pack downloader listener: */
    471     connect(gUpdateManager, SIGNAL(sigDownloaderCreatedForExtensionPack()), this, SLOT(sltEmbedDownloaderForExtensionPack()));
     472    /* Setup network manager listener: */
     473    connect(gNetworkManager, SIGNAL(sigDownloaderCreated(UIDownloadType)), this, SLOT(sltEmbedDownloader(UIDownloadType)));
    472474}
    473475
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineWindowNormal.h

    r39296 r39326  
    2828#include "UIMachineWindow.h"
    2929#include "COMDefs.h"
     30#include "UINetworkDefs.h"
    3031
    3132/* Local forwards */
     
    6364    void sltTryClose();
    6465
    65     /* Downloader listeners: */
    66     void sltEmbedDownloaderForAdditions();
    67     void sltEmbedDownloaderForUserManual();
    68     void sltEmbedDownloaderForExtensionPack();
     66    /* Network manager handler: */
     67    void sltEmbedDownloader(UIDownloadType downloaderType);
    6968
    7069private:
     
    107106    void updateIndicatorState(QIStateIndicator *pIndicator, KDeviceType deviceType);
    108107
     108    /* Network manager helpers: */
     109    void tryToEmbedDownloaderForAdditions() { sltEmbedDownloader(UIDownloadType_Additions); }
     110    void tryToEmbedDownloaderForUserManual() { sltEmbedDownloader(UIDownloadType_UserManual); }
     111    void tryToEmbedDownloaderForExtensionPack() { sltEmbedDownloader(UIDownloadType_ExtensionPack); }
     112
    109113    /* Indicators pool: */
    110114    UIIndicatorsPool *m_pIndicatorsPool;
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/UISelectorWindow.cpp

    r39241 r39326  
    2929#include "QISplitter.h"
    3030#include "UIBar.h"
     31#include "UINetworkManager.h"
    3132#include "UIUpdateManager.h"
    3233#include "UIDownloaderUserManual.h"
     
    11811182}
    11821183
    1183 void UISelectorWindow::sltEmbedDownloaderForUserManual()
    1184 {
    1185     /* If there is User Manual downloader created => show the process bar: */
    1186     if (UIDownloaderUserManual *pDl = UIDownloaderUserManual::current())
    1187         statusBar()->addWidget(pDl->progressWidget(this), 0);
    1188 }
    1189 
    1190 void UISelectorWindow::sltEmbedDownloaderForExtensionPack()
    1191 {
    1192     /* If there is Extension Pack downloader created => show the process bar: */
    1193     if (UIDownloaderExtensionPack *pDl = UIDownloaderExtensionPack::current())
    1194         statusBar()->addWidget(pDl->progressWidget(this), 0);
     1184void UISelectorWindow::sltEmbedDownloader(UIDownloadType downloaderType)
     1185{
     1186    switch (downloaderType)
     1187    {
     1188        case UIDownloadType_UserManual:
     1189        {
     1190            if (UIDownloaderUserManual *pDl = UIDownloaderUserManual::current())
     1191                statusBar()->addWidget(pDl->progressWidget(this), 0);
     1192            break;
     1193        }
     1194        case UIDownloadType_ExtensionPack:
     1195        {
     1196            if (UIDownloaderExtensionPack *pDl = UIDownloaderExtensionPack::current())
     1197                statusBar()->addWidget(pDl->progressWidget(this), 0);
     1198            break;
     1199        }
     1200        default:
     1201            break;
     1202    }
    11951203}
    11961204
     
    15921600    connect(&vboxGlobal(), SIGNAL(mediumEnumFinished(const VBoxMediaList &)), this, SLOT(sltMediumEnumFinished(const VBoxMediaList &)));
    15931601
    1594     /* Downloader connections: */
    1595     connect(&msgCenter(), SIGNAL(sigDownloaderUserManualCreated()), this, SLOT(sltEmbedDownloaderForUserManual()));
    1596     connect(gUpdateManager, SIGNAL(sigDownloaderCreatedForExtensionPack()), this, SLOT(sltEmbedDownloaderForExtensionPack()));
     1602    /* Network manager connections: */
     1603    connect(gNetworkManager, SIGNAL(sigDownloaderCreated(UIDownloadType)), this, SLOT(sltEmbedDownloader(UIDownloadType)));
    15971604
    15981605    /* Menu-bar connections: */
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/UISelectorWindow.h

    r39096 r39326  
    3131#include "VBoxMedium.h"
    3232#include "COMDefs.h"
     33#include "UINetworkDefs.h"
    3334
    3435/* Forward declarations: */
     
    127128    void sltMediumEnumFinished(const VBoxMediaList &mediumList);
    128129
    129     /* Downloader related slots: */
    130     void sltEmbedDownloaderForUserManual();
    131     void sltEmbedDownloaderForExtensionPack();
     130    /* Downloading handler: */
     131    void sltEmbedDownloader(UIDownloadType downloaderType);
    132132
    133133private:
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette