VirtualBox

Ignore:
Timestamp:
Jul 12, 2023 10:13:16 AM (21 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
158352
Message:

FE/Qt: bugref:9080. Dont hide file object that are remove from viso content, just mark them.

Location:
trunk/src/VBox/Frontends/VirtualBox
Files:
8 added
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/VirtualBox1.qrc

    r100536 r100539  
    285285        <file alias="file_manager_file_16px.png">images/file_manager_file_16px.png</file>
    286286        <file alias="file_manager_file_cd_16px.png">images/file_manager_file_cd_16px.png</file>
     287        <file alias="file_manager_file_remove_16px.png">images/file_manager_file_remove_16px.png</file>
    287288        <file alias="file_manager_file_symlink_16px.png">images/file_manager_file_symlink_16px.png</file>
    288289        <file alias="file_manager_folder_16px.png">images/file_manager_folder_16px.png</file>
    289290        <file alias="file_manager_folder_cd_16px.png">images/file_manager_folder_cd_16px.png</file>
     291        <file alias="file_manager_folder_remove_16px.png">images/file_manager_folder_remove_16px.png</file>
    290292        <file alias="file_manager_folder_symlink_16px.png">images/file_manager_folder_symlink_16px.png</file>
    291293        <file alias="file_manager_go_backward_16px.png">images/file_manager_go_backward_16px.png</file>
     
    510512        <file alias="log_viewer_delete_current_bookmark_16px.png">images/log_viewer_delete_current_bookmark_16px.png</file>
    511513        <file alias="log_viewer_delete_filter_16px.png">images/log_viewer_delete_filter_16px.png</file>
    512         <file alias="log_viewer_filter_16px.png">images/log_viewer_filter_16px.png</file>
    513514    </qresource>
    514515</RCC>
  • trunk/src/VBox/Frontends/VirtualBox/VirtualBox1_x2.qrc

    r100536 r100539  
    285285        <file alias="file_manager_file_16px_x2.png">images/x2/file_manager_file_16px_x2.png</file>
    286286        <file alias="file_manager_file_cd_16px_x2.png">images/x2/file_manager_file_cd_16px_x2.png</file>
     287        <file alias="file_manager_file_remove_16px_x2.png">images/x2/file_manager_file_remove_16px_x2.png</file>
    287288        <file alias="file_manager_file_symlink_16px_x2.png">images/x2/file_manager_file_symlink_16px_x2.png</file>
    288289        <file alias="file_manager_folder_16px_x2.png">images/x2/file_manager_folder_16px_x2.png</file>
    289290        <file alias="file_manager_folder_cd_16px_x2.png">images/x2/file_manager_folder_cd_16px_x2.png</file>
     291        <file alias="file_manager_folder_remove_16px_x2.png">images/x2/file_manager_folder_remove_16px_x2.png</file>
    290292        <file alias="file_manager_folder_symlink_16px_x2.png">images/x2/file_manager_folder_symlink_16px_x2.png</file>
    291293        <file alias="file_manager_go_backward_16px_x2.png">images/x2/file_manager_go_backward_16px_x2.png</file>
     
    496498        <file alias="launch_vm_16px_x2.png">images/x2/launch_vm_16px_x2.png</file>
    497499        <file alias="list_movedown_16px_x2.png">images/x2/list_movedown_16px_x2.png</file>
    498         <file alias="list_movedown_disabled_16px_x2.png">images/x2/list_movedown_disabled_16px_x2.png</file>
    499500    </qresource>
    500501</RCC>
  • trunk/src/VBox/Frontends/VirtualBox/VirtualBox1_x3.qrc

    r100536 r100539  
    285285        <file alias="file_manager_file_16px_x3.png">images/x3/file_manager_file_16px_x3.png</file>
    286286        <file alias="file_manager_file_cd_16px_x3.png">images/x3/file_manager_file_cd_16px_x3.png</file>
     287        <file alias="file_manager_file_remove_16px_x3.png">images/x3/file_manager_file_remove_16px_x3.png</file>
    287288        <file alias="file_manager_file_symlink_16px_x3.png">images/x3/file_manager_file_symlink_16px_x3.png</file>
    288289        <file alias="file_manager_folder_16px_x3.png">images/x3/file_manager_folder_16px_x3.png</file>
    289290        <file alias="file_manager_folder_cd_16px_x3.png">images/x3/file_manager_folder_cd_16px_x3.png</file>
     291        <file alias="file_manager_folder_remove_16px_x3.png">images/x3/file_manager_folder_remove_16px_x3.png</file>
    290292        <file alias="file_manager_folder_symlink_16px_x3.png">images/x3/file_manager_folder_symlink_16px_x3.png</file>
    291293        <file alias="file_manager_go_backward_16px_x3.png">images/x3/file_manager_go_backward_16px_x3.png</file>
     
    497499        <file alias="list_movedown_16px_x3.png">images/x3/list_movedown_16px_x3.png</file>
    498500        <file alias="list_movedown_disabled_16px_x3.png">images/x3/list_movedown_disabled_16px_x3.png</file>
    499         <file alias="list_moveup_16px_x3.png">images/x3/list_moveup_16px_x3.png</file>
    500501    </qresource>
    501502</RCC>
  • trunk/src/VBox/Frontends/VirtualBox/VirtualBox1_x4.qrc

    r100536 r100539  
    285285        <file alias="file_manager_file_16px_x4.png">images/x4/file_manager_file_16px_x4.png</file>
    286286        <file alias="file_manager_file_cd_16px_x4.png">images/x4/file_manager_file_cd_16px_x4.png</file>
     287        <file alias="file_manager_file_remove_16px_x4.png">images/x4/file_manager_file_remove_16px_x4.png</file>
    287288        <file alias="file_manager_file_symlink_16px_x4.png">images/x4/file_manager_file_symlink_16px_x4.png</file>
    288289        <file alias="file_manager_folder_16px_x4.png">images/x4/file_manager_folder_16px_x4.png</file>
    289290        <file alias="file_manager_folder_cd_16px_x4.png">images/x4/file_manager_folder_cd_16px_x4.png</file>
     291        <file alias="file_manager_folder_remove_16px_x4.png">images/x4/file_manager_folder_remove_16px_x4.png</file>
    290292        <file alias="file_manager_folder_symlink_16px_x4.png">images/x4/file_manager_folder_symlink_16px_x4.png</file>
    291293        <file alias="file_manager_go_backward_16px_x4.png">images/x4/file_manager_go_backward_16px_x4.png</file>
     
    497499        <file alias="list_movedown_16px_x4.png">images/x4/list_movedown_16px_x4.png</file>
    498500        <file alias="list_movedown_disabled_16px_x4.png">images/x4/list_movedown_disabled_16px_x4.png</file>
    499         <file alias="list_moveup_16px_x4.png">images/x4/list_moveup_16px_x4.png</file>
    500501    </qresource>
    501502</RCC>
  • trunk/src/VBox/Frontends/VirtualBox/VirtualBox2.qrc

    r100524 r100539  
    11<RCC>
    22    <qresource suffix="/">
     3        <file alias="log_viewer_filter_16px.png">images/log_viewer_filter_16px.png</file>
    34        <file alias="log_viewer_filter_32px.png">images/log_viewer_filter_32px.png</file>
    45        <file alias="log_viewer_filter_add_16px.png">images/log_viewer_filter_add_16px.png</file>
  • trunk/src/VBox/Frontends/VirtualBox/VirtualBox2_x2.qrc

    r100524 r100539  
    11<RCC>
    22    <qresource suffix="/">
     3        <file alias="list_movedown_disabled_16px_x2.png">images/x2/list_movedown_disabled_16px_x2.png</file>
    34        <file alias="list_moveup_16px_x2.png">images/x2/list_moveup_16px_x2.png</file>
    45        <file alias="list_moveup_disabled_16px_x2.png">images/x2/list_moveup_disabled_16px_x2.png</file>
  • trunk/src/VBox/Frontends/VirtualBox/VirtualBox2_x3.qrc

    r100524 r100539  
    11<RCC>
    22    <qresource suffix="/">
     3        <file alias="list_moveup_16px_x3.png">images/x3/list_moveup_16px_x3.png</file>
    34        <file alias="list_moveup_disabled_16px_x3.png">images/x3/list_moveup_disabled_16px_x3.png</file>
    45        <file alias="log_viewer_bookmark_16px_x3.png">images/x3/log_viewer_bookmark_16px_x3.png</file>
  • trunk/src/VBox/Frontends/VirtualBox/VirtualBox2_x4.qrc

    r100524 r100539  
    11<RCC>
    22    <qresource suffix="/">
     3        <file alias="list_moveup_16px_x4.png">images/x4/list_moveup_16px_x4.png</file>
    34        <file alias="list_moveup_disabled_16px_x4.png">images/x4/list_moveup_disabled_16px_x4.png</file>
    45        <file alias="log_viewer_bookmark_16px_x4.png">images/x4/log_viewer_bookmark_16px_x4.png</file>
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/UICustomFileSystemModel.cpp

    r100460 r100539  
    280280}
    281281
     282void UICustomFileSystemItem::setRemovedFromViso(bool fRemoved)
     283{
     284    m_itemData[UICustomFileSystemModelData_RemovedFromVISO] = fRemoved;
     285}
     286
     287bool UICustomFileSystemItem::isRemovedFromViso() const
     288{
     289    return m_itemData[UICustomFileSystemModelData_RemovedFromVISO].toBool();
     290}
     291
    282292
    283293/*********************************************************************************************************************************
     
    484494            else if(item->isDriveItem())
    485495                return QIcon(":/hd_32px.png");
     496            else if (item->isRemovedFromViso())
     497                return QIcon(":/file_manager_folder_remove_16px.png");
     498            else if (!strContainingISOFile.isEmpty())
     499                return QIcon(":/file_manager_folder_cd_16px.png");
    486500            else
    487             {
    488                 if (!strContainingISOFile.isEmpty())
    489                     return QIcon(":/file_manager_cd_folder_16px.png");
    490                 else
    491                     return QIcon(":/file_manager_folder_16px.png");
    492             }
     501                return QIcon(":/file_manager_folder_16px.png");
     502
    493503        }
    494504        else if (item->isFile())
    495505        {
    496             if (!strContainingISOFile.isEmpty())
    497                 return QIcon(":/file_manager_cd_file_16px.png");
     506            if (item->isRemovedFromViso())
     507                return QIcon(":/file_manager_file_remove_16px.png");
     508            else if (!strContainingISOFile.isEmpty())
     509                return QIcon(":/file_manager_file_cd_16px.png");
    498510            else
    499511                return QIcon(":/file_manager_file_16px.png");
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/UICustomFileSystemModel.h

    r100460 r100539  
    5050    UICustomFileSystemModelData_LocalPath,
    5151    UICustomFileSystemModelData_ISOFilePath, /* in case of import-iso this contains full path of the container iso file. */
     52    UICustomFileSystemModelData_RemovedFromVISO,
    5253    UICustomFileSystemModelData_Max
    5354};
     
    115116    bool isHidden() const;
    116117
     118    void setRemovedFromViso(bool fRemoved);
     119    bool isRemovedFromViso() const;
     120
    117121private:
    118122
  • trunk/src/VBox/Frontends/VirtualBox/src/medium/viso/UIVisoContentBrowser.cpp

    r100520 r100539  
    438438    if (!pClickedItem->isDirectory())
    439439        return;
     440    /* Don't navigate into removed directories: */
     441    if (pClickedItem->isRemovedFromViso())
     442        return;
    440443    QString strISOPath = pClickedItem->data(UICustomFileSystemModelData_ISOFilePath).toString();
    441444    if (pClickedItem->isUpDirectory())
     
    499502    foreach(UICustomFileSystemItem *pItem, itemList)
    500503    {
    501         if (!pItem)
     504        if (!pItem || pItem->isUpDirectory())
    502505            continue;
    503         QString strIsoPath = pItem->path();
    504         if (strIsoPath.isEmpty())
     506        QString strVisoPath = pItem->path();
     507        if (strVisoPath.isEmpty())
    505508            continue;
    506509
    507         bool bFoundInMap = false;
    508         for (QMap<QString, QString>::iterator iterator = m_entryMap.begin(); iterator != m_entryMap.end(); )
    509         {
    510             if (iterator.key().startsWith(strIsoPath))
    511             {
    512                 iterator = m_entryMap.erase(iterator);
    513                 bFoundInMap = true;
    514             }
    515             else
    516                 ++iterator;
    517         }
     510        bool bFoundInMap = m_entryMap.remove(strVisoPath) > 0;
    518511        if (!bFoundInMap)
    519512            createVisoEntry(pItem->path(), pItem->data(UICustomFileSystemModelData_LocalPath).toString(), true /* bool bRemove */);
    520     }
    521 
    522     foreach(UICustomFileSystemItem *pItem, itemList)
    523     {
    524         if (!pItem)
    525             continue;
    526         /* Remove the item from the m_pModel: */
    527         if (m_pModel)
    528             m_pModel->deleteItem(pItem);
     513
     514        pItem->setRemovedFromViso(true);
    529515    }
    530516    if (m_pTableProxyModel)
     
    750736    UICustomFileSystemItem *pItem = searchItemByPath(strPath);
    751737
    752     if (pItem)
     738    if (pItem && pItem->isDirectory() && !pItem->isRemovedFromViso())
    753739    {
    754740        QModelIndex index = convertIndexToTableIndex(m_pModel->index(pItem));
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