VirtualBox

Ignore:
Timestamp:
Feb 8, 2011 1:25:30 PM (14 years ago)
Author:
vboxsync
Message:

FE/Qt4: Remember the folder recently used when selecting a HD/CD/FD.

Location:
trunk/src/VBox/Frontends/VirtualBox/src/globals
Files:
4 edited

Legend:

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

    r35634 r35897  
    7979const char* VBoxDefs::GUI_Export_Bucket = "GUI/Export/Bucket";
    8080const char* VBoxDefs::GUI_PreventBetaWarning = "GUI/PreventBetaWarning";
     81const char* VBoxDefs::GUI_RecentFolderHD = "GUI/RecentFolderHD";
     82const char* VBoxDefs::GUI_RecentFolderCD = "GUI/RecentFolderCD";
     83const char* VBoxDefs::GUI_RecentFolderFD = "GUI/RecentFolderFD";
    8184const char* VBoxDefs::GUI_RecentListHD = "GUI/RecentListHD";
    8285const char* VBoxDefs::GUI_RecentListCD = "GUI/RecentListCD";
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxDefs.h

    r35634 r35897  
    155155    static const char* GUI_PreventBetaWarning;
    156156
     157    static const char* GUI_RecentFolderHD;
     158    static const char* GUI_RecentFolderCD;
     159    static const char* GUI_RecentFolderFD;
    157160    static const char* GUI_RecentListHD;
    158161    static const char* GUI_RecentListCD;
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp

    r35894 r35897  
    26342634{
    26352635    /* Initialize variables: */
    2636     QString strHomeFolder = fUseLastFolder && !m_strLastFolder.isEmpty() ? m_strLastFolder :
    2637                             strDefaultFolder.isEmpty() ? vboxGlobal().virtualBox().GetHomeFolder() : strDefaultFolder;
    26382636    QList < QPair <QString, QString> > filters;
    26392637    QStringList backends;
     
    26422640    QString strTitle;
    26432641    QString allType;
     2642    QString strLastFolder;
    26442643    switch (mediumType)
    26452644    {
     
    26492648            strTitle = tr ("Choose a virtual hard disk file");
    26502649            allType = tr ("hard disk");
     2650            strLastFolder = virtualBox().GetExtraData(VBoxDefs::GUI_RecentFolderHD);
     2651            if (strLastFolder.isEmpty())
     2652                strLastFolder = virtualBox().GetExtraData(VBoxDefs::GUI_RecentFolderCD);
     2653            if (strLastFolder.isEmpty())
     2654                strLastFolder = virtualBox().GetExtraData(VBoxDefs::GUI_RecentFolderFD);
    26512655            break;
    26522656        }
     
    26562660            strTitle = tr ("Choose a virtual CD/DVD disk file");
    26572661            allType = tr ("CD/DVD-ROM disk");
     2662            strLastFolder = virtualBox().GetExtraData(VBoxDefs::GUI_RecentFolderCD);
     2663            if (strLastFolder.isEmpty())
     2664                strLastFolder = virtualBox().GetExtraData(VBoxDefs::GUI_RecentFolderHD);
     2665            if (strLastFolder.isEmpty())
     2666                strLastFolder = virtualBox().GetExtraData(VBoxDefs::GUI_RecentFolderFD);
    26582667            break;
    26592668        }
     
    26632672            strTitle = tr ("Choose a virtual floppy disk file");
    26642673            allType = tr ("floppy disk");
     2674            strLastFolder = virtualBox().GetExtraData(VBoxDefs::GUI_RecentFolderFD);
     2675            if (strLastFolder.isEmpty())
     2676                strLastFolder = virtualBox().GetExtraData(VBoxDefs::GUI_RecentFolderCD);
     2677            if (strLastFolder.isEmpty())
     2678                strLastFolder = virtualBox().GetExtraData(VBoxDefs::GUI_RecentFolderHD);
    26652679            break;
    26662680        }
     
    26682682            break;
    26692683    }
     2684    QString strHomeFolder = fUseLastFolder && !strLastFolder.isEmpty() ? strLastFolder :
     2685                            strDefaultFolder.isEmpty() ? vboxGlobal().virtualBox().GetHomeFolder() : strDefaultFolder;
    26702686
    26712687    /* Prepare filters and backends: */
     
    27032719
    27042720    /* Remember the path of the last chosen medium: */
    2705     m_strLastFolder = QFileInfo(strMediumLocation).absolutePath();
     2721    QString strRecentFolderKey = mediumType == VBoxDefs::MediumType_HardDisk ? VBoxDefs::GUI_RecentFolderHD :
     2722                                 mediumType == VBoxDefs::MediumType_DVD ? VBoxDefs::GUI_RecentFolderCD :
     2723                                 mediumType == VBoxDefs::MediumType_Floppy ? VBoxDefs::GUI_RecentFolderFD :
     2724                                 QString();
     2725    vbox.SetExtraData(strRecentFolderKey, QFileInfo(strMediumLocation).absolutePath());
    27062726
    27072727    /* Update recently used list: */
    2708     QString strRecentAddress = mediumType == VBoxDefs::MediumType_HardDisk ? VBoxDefs::GUI_RecentListHD :
     2728    QString strRecentListKey = mediumType == VBoxDefs::MediumType_HardDisk ? VBoxDefs::GUI_RecentListHD :
    27092729                               mediumType == VBoxDefs::MediumType_DVD ? VBoxDefs::GUI_RecentListCD :
    27102730                               mediumType == VBoxDefs::MediumType_Floppy ? VBoxDefs::GUI_RecentListFD :
    27112731                               QString();
    2712     QStringList recentMediumList = virtualBox().GetExtraData(strRecentAddress).split(';');
     2732    QStringList recentMediumList = vbox.GetExtraData(strRecentListKey).split(';');
    27132733    if (recentMediumList.contains(strMediumLocation))
    27142734        recentMediumList.removeAll(strMediumLocation);
    27152735    recentMediumList.prepend(strMediumLocation);
    27162736    while(recentMediumList.size() > 5) recentMediumList.removeLast();
    2717     virtualBox().SetExtraData(strRecentAddress, recentMediumList.join(";"));
     2737    vbox.SetExtraData(strRecentListKey, recentMediumList.join(";"));
    27182738
    27192739    /* Open corresponding medium: */
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.h

    r35564 r35897  
    862862    QString mUserDefinedPortName;
    863863
    864     mutable QString m_strLastFolder;
    865 
    866864    QPixmap mWarningIcon, mErrorIcon;
    867865
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