VirtualBox

Changeset 102446 in vbox


Ignore:
Timestamp:
Dec 4, 2023 1:04:00 PM (16 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
160589
Message:

FE/Qt: bugref:10561. Delete removed ISO file objects rather than marking them.

Location:
trunk/src/VBox/Frontends/VirtualBox/src
Files:
6 edited

Legend:

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

    r102404 r102446  
    3030#include <QDateTime>
    3131#include <QHeaderView>
     32#include <QIODevice>
     33#include <QMimeData>
    3234
    3335/* GUI includes: */
     
    422424    m_pRootItem = new UICustomFileSystemItem(QString(), 0, KFsObjType_Directory);
    423425    m_pRootItem->setParentModel(this);
     426}
     427
     428QStringList UICustomFileSystemModel::mimeTypes() const
     429{
     430    QStringList types;
     431    types << "application/vnd.text.list";
     432    return types;
     433}
     434
     435QMimeData *UICustomFileSystemModel::mimeData(const QModelIndexList &indexes) const
     436{
     437    QMimeData *mimeData = new QMimeData();
     438    QByteArray encodedData;
     439
     440    QDataStream stream(&encodedData, QIODevice::WriteOnly);
     441
     442    foreach (const QModelIndex &index, indexes) {
     443        if (index.isValid() && index.column() == 0)
     444        {
     445            UICustomFileSystemItem *pItem = static_cast<UICustomFileSystemItem*>(index.internalPointer());
     446            if (!pItem)
     447                continue;
     448
     449            QString strPath = pItem->path();
     450            if (!strPath.contains(".."))
     451                stream << strPath;
     452        }
     453    }
     454
     455    mimeData->setData("application/vnd.text.list", encodedData);
     456    return mimeData;
    424457}
    425458
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/UICustomFileSystemModel.h

    r102393 r102446  
    4141#include "COMEnums.h"
    4242
     43class QMimeData;
    4344class UICustomFileSystemModel;
    4445
     
    224225    bool isWindowsFileSystem() const;
    225226
     227    virtual QStringList mimeTypes() const RT_OVERRIDE;
     228    /** Prepares the mime data  as a list of text consisting of dragged objects full file path. */
     229    QMimeData *mimeData(const QModelIndexList &indexes) const RT_OVERRIDE;
     230
    226231    static const char* strUpDirectoryString;
    227232
  • trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManagerTable.cpp

    r102441 r102446  
    12271227}
    12281228
     1229void UIFileManagerTable::setDragDropMode(QAbstractItemView::DragDropMode behavior)
     1230{
     1231    if (m_pView)
     1232        m_pView->setDragDropMode(behavior);
     1233}
     1234
    12291235void UIFileManagerTable::sltReceiveDirectoryStatistics(UIDirectoryStatistics statistics)
    12301236{
  • trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManagerTable.h

    r102418 r102446  
    165165    void optionsUpdated();
    166166    bool hasSelection() const;
     167    void setDragDropMode(QAbstractItemView::DragDropMode behavior);
    167168
    168169public slots:
  • trunk/src/VBox/Frontends/VirtualBox/src/medium/viso/UIVisoContentBrowser.cpp

    r100632 r102446  
    516516void UIVisoContentBrowser::removeItems(const QList<UICustomFileSystemItem*> itemList)
    517517{
     518    AssertReturnVoid(m_pModel);
     519    AssertReturnVoid(m_pTableProxyModel);
    518520    foreach(UICustomFileSystemItem *pItem, itemList)
    519521    {
     
    531533
    532534        markRemovedUnremovedItemParents(pItem, true);
    533     }
    534     if (m_pTableProxyModel)
    535         m_pTableProxyModel->invalidate();
     535        m_pModel->deleteItem(pItem);
     536    }
     537
     538    m_pTableProxyModel->invalidate();
    536539}
    537540
  • trunk/src/VBox/Frontends/VirtualBox/src/medium/viso/UIVisoCreator.cpp

    r102418 r102446  
    492492    pContainerLayout->addWidget(m_pHostFileBrowser, 0, 0, 1, 4);
    493493    m_pHostFileBrowser->setModifierActionsVisible(false);
     494    m_pHostFileBrowser->setDragDropMode(QAbstractItemView::DragOnly);
    494495
    495496    prepareVerticalToolBar();
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