VirtualBox

Changeset 24167 in vbox for trunk/src/VBox/Frontends


Ignore:
Timestamp:
Oct 29, 2009 4:09:25 PM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
54106
Message:

FE/Qt4: VBoxConsoleWND: Removing conflicting enumeration call, which is not quite necessary.

File:
1 edited

Legend:

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

    r24151 r24167  
    327327    if (aSelf)
    328328        *aSelf = this;
    329 
    330     /* Enumerate mediums to work with cached data */
    331     vboxGlobal().startEnumeratingMedia();
    332329
    333330#if !(defined (Q_WS_WIN) || defined (Q_WS_MAC))
     
    21832180            else attachmentMenu = menu;
    21842181
    2185             /* Related VBoxMedium item */
    2186             VBoxMedium vboxMediumCurrent;
    2187             vboxGlobal().findMedium (attachment.GetMedium(), vboxMediumCurrent);
    2188 
    21892182            /* Mount Medium actions */
    21902183            int addedIntoList = 0;
    2191             const VBoxMediaList &vboxMediums = vboxGlobal().currentMediaList();
    2192             foreach (const VBoxMedium &vboxMedium, vboxMediums)
     2184            CMediumVector mediums;
     2185            switch (mediumType)
    21932186            {
    2194                 if (vboxMedium.type() == mediumType)
     2187                case VBoxDefs::MediumType_DVD:
     2188                    mediums += vboxGlobal().virtualBox().GetHost().GetDVDDrives();
     2189                    mediums += vboxGlobal().virtualBox().GetDVDImages();
     2190                    break;
     2191                case VBoxDefs::MediumType_Floppy:
     2192                    mediums += vboxGlobal().virtualBox().GetHost().GetFloppyDrives();
     2193                    mediums += vboxGlobal().virtualBox().GetFloppyImages();
     2194                    break;
     2195                default:
     2196                    break;
     2197            }
     2198
     2199            foreach (const CMedium &medium, mediums)
     2200            {
     2201                bool isMediumUsed = false;
     2202                foreach (const CMediumAttachment &otherAttachment, attachments)
    21952203                {
    2196                     bool isMediumUsed = false;
    2197                     foreach (const CMediumAttachment &otherAttachment, attachments)
     2204                    if (otherAttachment != attachment)
    21982205                    {
    2199                         if (otherAttachment != attachment)
     2206                        CMedium otherMedium = otherAttachment.GetMedium();
     2207                        if (!otherMedium.isNull() && otherMedium.GetId() == medium.GetId())
    22002208                        {
    2201                             CMedium otherMedium = otherAttachment.GetMedium();
    2202                             if (!otherMedium.isNull() && otherMedium.GetId() == vboxMedium.id())
    2203                             {
    2204                                 isMediumUsed = true;
    2205                                 break;
    2206                             }
     2209                            isMediumUsed = true;
     2210                            break;
    22072211                        }
    22082212                    }
    2209                     if (!isMediumUsed)
    2210                     {
    2211                         QAction *mountMediumAction = new QAction (vboxMedium.name(), attachmentMenu);
    2212                         mountMediumAction->setCheckable (true);
    2213                         mountMediumAction->setChecked (vboxMedium.id() == vboxMediumCurrent.id());
    2214                         mountMediumAction->setData (QVariant::fromValue (MountTarget (attachment.GetController().GetName(),
    2215                                                                                       attachment.GetPort(),
    2216                                                                                       attachment.GetDevice(),
    2217                                                                                       vboxMedium.id())));
    2218                         connect (mountMediumAction, SIGNAL (triggered (bool)), this, SLOT (mountMedium()));
    2219                         attachmentMenu->addAction (mountMediumAction);
    2220                         ++ addedIntoList;
    2221                         if (addedIntoList == 5)
    2222                             break;
    2223                     }
     2213                }
     2214                if (!isMediumUsed)
     2215                {
     2216                    QAction *mountMediumAction = new QAction (VBoxMedium (medium, mediumType).name(), attachmentMenu);
     2217                    mountMediumAction->setCheckable (true);
     2218                    mountMediumAction->setChecked (medium.GetId() == attachment.GetMedium().GetId());
     2219                    mountMediumAction->setData (QVariant::fromValue (MountTarget (attachment.GetController().GetName(),
     2220                                                                                  attachment.GetPort(),
     2221                                                                                  attachment.GetDevice(),
     2222                                                                                  medium.GetId())));
     2223                    connect (mountMediumAction, SIGNAL (triggered (bool)), this, SLOT (mountMedium()));
     2224                    attachmentMenu->addAction (mountMediumAction);
     2225                    ++ addedIntoList;
     2226                    if (addedIntoList == 5)
     2227                        break;
    22242228                }
    22252229            }
     
    22412245            /* Unmount Medium action */
    22422246            QAction *unmountMediumAction = new QAction (attachmentMenu);
    2243             unmountMediumAction->setEnabled (!vboxMediumCurrent.isNull());
     2247            unmountMediumAction->setEnabled (!attachment.GetMedium().isNull());
    22442248            unmountMediumAction->setData (QVariant::fromValue (MountTarget (attachment.GetController().GetName(),
    22452249                                                                            attachment.GetPort(),
     
    22492253
    22502254            /* Switch CD/FD naming */
    2251             switch (deviceType)
     2255            switch (mediumType)
    22522256            {
    2253                 case KDeviceType_DVD:
     2257                case VBoxDefs::MediumType_DVD:
    22542258                    callVMMAction->setText (tr ("More CD/DVD Images..."));
    22552259                    unmountMediumAction->setText (tr ("Unmount CD/DVD Device"));
     
    22572261                                                                       ":/cd_unmount_dis_16px.png"));
    22582262                    break;
    2259                 case KDeviceType_Floppy:
     2263                case VBoxDefs::MediumType_Floppy:
    22602264                    callVMMAction->setText (tr ("More Floppy Images..."));
    22612265                    unmountMediumAction->setText (tr ("Unmount Floppy Device"));
     
    22752279        QAction *emptyMenuAction = new QAction (menu);
    22762280        emptyMenuAction->setEnabled (false);
    2277         switch (deviceType)
    2278         {
    2279             case KDeviceType_DVD:
     2281        switch (mediumType)
     2282        {
     2283            case VBoxDefs::MediumType_DVD:
    22802284                emptyMenuAction->setText (tr ("No CD/DVD Devices Attached"));
    22812285                break;
    2282             case KDeviceType_Floppy:
     2286            case VBoxDefs::MediumType_Floppy:
    22832287                emptyMenuAction->setText (tr ("No Floppy Devices Attached"));
    22842288                break;
     
    23252329        /* Open VMM Dialog */
    23262330        VBoxMediaManagerDlg dlg (this);
    2327         dlg.setup (target.type, true /* do select? */, false /* do refresh? */,
     2331        dlg.setup (target.type, true /* do select? */, true /* do refresh? */,
    23282332                   mSession.GetMachine(), QString(), true, usedImages);
    23292333        if (dlg.exec() == QDialog::Accepted)
     
    28012805                attData += QString ("<br>&nbsp;<nobr>%1:&nbsp;%2</nobr>")
    28022806                    .arg (vboxGlobal().toString (StorageSlot (controller.GetBus(), attachment.GetPort(), attachment.GetDevice())))
    2803                     .arg (vboxGlobal().findMedium (attachment.GetMedium().GetId()).location());
     2807                    .arg (VBoxMedium (attachment.GetMedium(), VBoxDefs::MediumType_HardDisk).location());
    28042808                attachmentsPresent = true;
    28052809            }
     
    28302834                if (attachment.GetType() != KDeviceType_DVD)
    28312835                    continue;
    2832                 QString id (attachment.GetMedium().isNull() ? QString() : attachment.GetMedium().GetId());
    2833                 VBoxMedium vboxMedium = vboxGlobal().findMedium (id);
     2836                VBoxMedium vboxMedium (attachment.GetMedium(), VBoxDefs::MediumType_DVD);
    28342837                attData += QString ("<br>&nbsp;<nobr>%1:&nbsp;%2</nobr>")
    28352838                    .arg (vboxGlobal().toString (StorageSlot (controller.GetBus(), attachment.GetPort(), attachment.GetDevice())))
     
    28652868                if (attachment.GetType() != KDeviceType_Floppy)
    28662869                    continue;
    2867                 QString id (attachment.GetMedium().isNull() ? QString() : attachment.GetMedium().GetId());
    2868                 VBoxMedium vboxMedium = vboxGlobal().findMedium (id);
     2870                VBoxMedium vboxMedium (attachment.GetMedium(), VBoxDefs::MediumType_Floppy);
    28692871                attData += QString ("<br>&nbsp;<nobr>%1:&nbsp;%2</nobr>")
    28702872                    .arg (vboxGlobal().toString (StorageSlot (controller.GetBus(), attachment.GetPort(), attachment.GetDevice())))
Note: See TracChangeset for help on using the changeset viewer.

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