VirtualBox

Changeset 9612 in vbox for trunk/src


Ignore:
Timestamp:
Jun 11, 2008 1:40:32 PM (17 years ago)
Author:
vboxsync
Message:

FE/Qt4: An instance of CVirtualBox have to be there all the time. This fixed
the no message box display after an error bug. Fixed some D&D misbehavior.

Location:
trunk/src/VBox/Frontends/VirtualBox4
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox4/include/VBoxDiskImageManagerDlg.h

    r9449 r9612  
    141141    VBoxProgressBar  *mProgressBar;
    142142
     143    /* The global VirtualBox instance */
     144    CVirtualBox mVBox;
     145
    143146    /* Type if we are in the select modus */
    144147    int mType;
  • trunk/src/VBox/Frontends/VirtualBox4/src/VBoxDiskImageManagerDlg.cpp

    r9569 r9612  
    251251    Ui::VBoxDiskImageManagerDlg::setupUi (this);
    252252
    253 //    defaultButton = searchDefaultButton();
     253    mVBox = vboxGlobal().virtualBox();
     254    Assert (!mVBox.isNull());
    254255
    255256    mType = VBoxDefs::InvalidType;
     
    585586{
    586587    CVirtualBox vbox = vboxGlobal().virtualBox();
     588
    587589    QUuid machineId = aItem ? aItem->machineId() : aHd.GetMachineId();
    588590
     
    871873                if (deEvent->mimeData()->hasUrls())
    872874                {
    873                     if (checkDndUrls (deEvent->mimeData()->urls()))
     875                    QList<QUrl> urls = deEvent->mimeData()->urls();
     876                    /* Sometimes urls has an empty Url entry. Filter them out. */
     877                    urls.removeAll (QUrl());
     878                    if (checkDndUrls (urls))
    874879                    {
    875880                        deEvent->setDropAction (Qt::LinkAction);
     
    885890                if (dEvent->mimeData()->hasUrls())
    886891                {
    887                     AddVDMUrlsEvent *event = new AddVDMUrlsEvent (dEvent->mimeData()->urls());
     892                    QList<QUrl> urls = dEvent->mimeData()->urls();
     893                    /* Sometimes urls has an empty Url entry. Filter them out. */
     894                    urls.removeAll (QUrl());
     895                    AddVDMUrlsEvent *event = new AddVDMUrlsEvent (urls);
    888896                    QApplication::postEvent (currentTreeWidget(), event);
    889897                    dEvent->acceptProposedAction();
     
    11161124    DiskImageItem *item = toDiskImageItem (tree->currentItem());
    11171125
    1118     CVirtualBox vbox = vboxGlobal().virtualBox();
     1126    mVBox = vboxGlobal().virtualBox();
    11191127
    11201128    QString title;
     
    11281136    if (dir.isEmpty())
    11291137        if (type == VBoxDefs::HD)
    1130             dir = vbox.GetSystemProperties().GetDefaultVDIFolder();
     1138            dir = mVBox.GetSystemProperties().GetDefaultVDIFolder();
    11311139
    11321140    if (dir.isEmpty() || !QFileInfo (dir).exists())
    1133         dir = vbox.GetHomeFolder();
     1141        dir = mVBox.GetHomeFolder();
    11341142
    11351143    switch (type)
     
    11671175
    11681176    addImageToList (src, type);
    1169     if (!vbox.isOk())
    1170         vboxProblem().cannotRegisterMedia (this, vbox, type, src);
     1177    if (!mVBox.isOk())
     1178        vboxProblem().cannotRegisterMedia (this, mVBox, type, src);
    11711179}
    11721180
     
    11761184    DiskImageItem *item = toDiskImageItem (tree->currentItem());
    11771185    AssertMsg (item, ("Current item must not be null\n"));
    1178 
    1179     CVirtualBox vbox = vboxGlobal().virtualBox();
    11801186
    11811187    QUuid uuid = item->uuid();
     
    12151221                }
    12161222
    1217                 CHardDisk hd = vbox.UnregisterHardDisk (uuid);
    1218                 if (!vbox.isOk())
    1219                     vboxProblem().cannotUnregisterMedia (this, vbox, type, src);
     1223                CHardDisk hd = mVBox.UnregisterHardDisk (uuid);
     1224                if (!mVBox.isOk())
     1225                    vboxProblem().cannotUnregisterMedia (this, mVBox, type, src);
    12201226                else if (deleteImage)
    12211227                {
     
    12321238            }
    12331239        case VBoxDefs::CD:
    1234             vbox.UnregisterDVDImage (uuid);
     1240            mVBox.UnregisterDVDImage (uuid);
    12351241            break;
    12361242        case VBoxDefs::FD:
    1237             vbox.UnregisterFloppyImage (uuid);
     1243            mVBox.UnregisterFloppyImage (uuid);
    12381244            break;
    12391245        default:
     
    12421248    }
    12431249
    1244     if (vbox.isOk())
     1250    if (mVBox.isOk())
    12451251        vboxGlobal().removeMedia (type, uuid);
    12461252    else
    1247         vboxProblem().cannotUnregisterMedia (this, vbox, type, src);
     1253        vboxProblem().cannotUnregisterMedia (this, mVBox, type, src);
    12481254}
    12491255
     
    12531259    DiskImageItem *item = toDiskImageItem (tree->currentItem());
    12541260    AssertMsg (item, ("Current item must not be null\n"));
    1255 
    1256     CVirtualBox vbox = vboxGlobal().virtualBox();
    12571261
    12581262    QUuid itemId = item->uuid();
     
    12671271                QUuid machineId = hd.GetMachineId();
    12681272                if (vboxProblem().confirmReleaseImage (this,
    1269                                                        vbox.GetMachine (machineId).GetName()))
     1273                                                       mVBox.GetMachine (machineId).GetName()))
    12701274                {
    12711275                    releaseDisk (machineId, itemId, VBoxDefs::HD);
     
    12851289                {
    12861290                    QStringList permMachines =
    1287                         vbox.GetDVDImageUsage (itemId,
     1291                        mVBox.GetDVDImageUsage (itemId,
    12881292                                               KResourceUsage_Permanent).split (' ', QString::SkipEmptyParts);
    12891293                    for (QStringList::Iterator it = permMachines.begin();
     
    12911295                        releaseDisk (QUuid (*it), itemId, VBoxDefs::CD);
    12921296
    1293                     CDVDImage cd = vbox.GetDVDImage (itemId);
     1297                    CDVDImage cd = mVBox.GetDVDImage (itemId);
    12941298                    VBoxMedia media (item->media());
    12951299                    media.status = cd.GetAccessible() ? VBoxMedia::Ok :
     
    13061310                {
    13071311                    QStringList permMachines =
    1308                         vbox.GetFloppyImageUsage (itemId,
     1312                        mVBox.GetFloppyImageUsage (itemId,
    13091313                                                  KResourceUsage_Permanent).split (' ', QString::SkipEmptyParts);
    13101314                    for (QStringList::Iterator it = permMachines.begin();
     
    13121316                        releaseDisk (QUuid (*it), itemId, VBoxDefs::FD);
    13131317
    1314                     CFloppyImage fd = vbox.GetFloppyImage (itemId);
     1318                    CFloppyImage fd = mVBox.GetFloppyImage (itemId);
    13151319                    VBoxMedia media (item->media());
    13161320                    media.status = fd.GetAccessible() ? VBoxMedia::Ok :
     
    15901594        return;
    15911595
    1592     CVirtualBox vbox = vboxGlobal().virtualBox();
    1593 
    15941596    QUuid uuid;
    15951597    VBoxMedia media;
     
    15981600        case VBoxDefs::HD:
    15991601        {
    1600             CHardDisk hd = vbox.OpenHardDisk (aSource);
    1601             if (vbox.isOk())
     1602            CHardDisk hd = mVBox.OpenHardDisk (aSource);
     1603            if (mVBox.isOk())
    16021604            {
    1603                 vbox.RegisterHardDisk (hd);
    1604                 if (vbox.isOk())
     1605                mVBox.RegisterHardDisk (hd);
     1606                if (mVBox.isOk())
    16051607                {
    16061608                    VBoxMedia::Status status =
     
    16151617        case VBoxDefs::CD:
    16161618        {
    1617             CDVDImage cd = vbox.OpenDVDImage (aSource, uuid);
    1618             if (vbox.isOk())
     1619            CDVDImage cd = mVBox.OpenDVDImage (aSource, uuid);
     1620            if (mVBox.isOk())
    16191621            {
    1620                 vbox.RegisterDVDImage (cd);
    1621                 if (vbox.isOk())
     1622                mVBox.RegisterDVDImage (cd);
     1623                if (mVBox.isOk())
    16221624                {
    16231625                    VBoxMedia::Status status =
     
    16321634        case VBoxDefs::FD:
    16331635        {
    1634             CFloppyImage fd = vbox.OpenFloppyImage (aSource, uuid);
    1635             if (vbox.isOk())
     1636            CFloppyImage fd = mVBox.OpenFloppyImage (aSource, uuid);
     1637            if (mVBox.isOk())
    16361638            {
    1637                 vbox.RegisterFloppyImage (fd);
    1638                 if (vbox.isOk())
     1639                mVBox.RegisterFloppyImage (fd);
     1640                if (mVBox.isOk())
    16391641                {
    16401642                    VBoxMedia::Status status =
     
    18481850        return false;
    18491851
    1850     CVirtualBox vbox = vboxGlobal().virtualBox();
    1851 
    18521852    switch (currentTreeWidgetType())
    18531853    {
     
    18571857                QUuid machineId = hd.GetMachineId();
    18581858                if (machineId.isNull() ||
    1859                     (vbox.GetMachine (machineId).GetState() != KMachineState_PoweredOff &&
    1860                      vbox.GetMachine (machineId).GetState() != KMachineState_Aborted))
     1859                    (mVBox.GetMachine (machineId).GetState() != KMachineState_PoweredOff &&
     1860                     mVBox.GetMachine (machineId).GetState() != KMachineState_Aborted))
    18611861                    return false;
    18621862                break;
     
    18661866                /* Check if there is temporary usage: */
    18671867                QStringList tempMachines =
    1868                     vbox.GetDVDImageUsage (itemId,
     1868                    mVBox.GetDVDImageUsage (itemId,
    18691869                                           KResourceUsage_Temporary).split (' ', QString::SkipEmptyParts);
    18701870                if (!tempMachines.isEmpty())
     
    18721872                /* Only permanently mounted .iso could be released */
    18731873                QStringList permMachines =
    1874                     vbox.GetDVDImageUsage (itemId,
     1874                    mVBox.GetDVDImageUsage (itemId,
    18751875                                           KResourceUsage_Permanent).split (' ', QString::SkipEmptyParts);
    18761876                for (QStringList::Iterator it = permMachines.begin();
    18771877                     it != permMachines.end(); ++it)
    1878                     if (vbox.GetMachine(QUuid (*it)).GetState() != KMachineState_PoweredOff &&
    1879                         vbox.GetMachine(QUuid (*it)).GetState() != KMachineState_Aborted)
     1878                    if (mVBox.GetMachine(QUuid (*it)).GetState() != KMachineState_PoweredOff &&
     1879                        mVBox.GetMachine(QUuid (*it)).GetState() != KMachineState_Aborted)
    18801880                        return false;
    18811881                break;
     
    18851885                /* Check if there is temporary usage: */
    18861886                QStringList tempMachines =
    1887                     vbox.GetFloppyImageUsage (itemId,
     1887                    mVBox.GetFloppyImageUsage (itemId,
    18881888                                              KResourceUsage_Temporary).split (' ', QString::SkipEmptyParts);
    18891889                if (!tempMachines.isEmpty())
     
    18911891                /* Only permanently mounted floppies could be released */
    18921892                QStringList permMachines =
    1893                     vbox.GetFloppyImageUsage (itemId,
     1893                    mVBox.GetFloppyImageUsage (itemId,
    18941894                                              KResourceUsage_Permanent).split (' ', QString::SkipEmptyParts);
    18951895                for (QStringList::Iterator it = permMachines.begin();
    18961896                     it != permMachines.end(); ++it)
    1897                     if (vbox.GetMachine(QUuid (*it)).GetState() != KMachineState_PoweredOff &&
    1898                         vbox.GetMachine(QUuid (*it)).GetState() != KMachineState_Aborted)
     1897                    if (mVBox.GetMachine(QUuid (*it)).GetState() != KMachineState_PoweredOff &&
     1898                        mVBox.GetMachine(QUuid (*it)).GetState() != KMachineState_Aborted)
    18991899                        return false;
    19001900                break;
     
    19421942void VBoxDiskImageManagerDlg::addDndUrls (const QList<QUrl> &aUrls)
    19431943{
    1944     CVirtualBox vbox = vboxGlobal().virtualBox();
    19451944    foreach (QUrl u, aUrls)
    19461945    {
     
    19481947        VBoxDefs::DiskType type = currentTreeWidgetType();
    19491948        addImageToList (file, type);
    1950         if (!vbox.isOk())
    1951             vboxProblem().cannotRegisterMedia (this, vbox, type, file);
     1949        if (!mVBox.isOk())
     1950            vboxProblem().cannotRegisterMedia (this, mVBox, type, file);
    19521951    }
    19531952}
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