QUrlModel Class

Header: #include <QUrlModel>
Inherits: QStandardItemModel

Public Functions

void addUrls(const QList<QUrl> &list, int row = -1, bool move = true)
bool canDrop(QDragEnterEvent *event)
void setFileSystemModel(QFileSystemModel *model)
QList<QUrl> urls() const

Reimplemented Public Functions

virtual bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override
virtual Qt::ItemFlags flags(const QModelIndex &index) const override
virtual QMimeData *mimeData(const QModelIndexList &indexes) const override
virtual QStringList mimeTypes() const override
virtual bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override

Detailed Description

\internal QUrlModel lets you have indexes from a QFileSystemModel to a list. When QFileSystemModel changes them QUrlModel will automatically update.

Example usage: File dialog sidebar and combo box

Member Function Documentation

void QUrlModel::addUrls(const QList<QUrl> &list, int row = -1, bool move = true)

Add urls list into the list at row. If move then movie existing ones to row.

See also dropMimeData().

bool QUrlModel::canDrop(QDragEnterEvent *event)

Decide based upon the data if it should be accepted or not

We only accept dirs and not files

[override virtual] bool QUrlModel::dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent)

Reimplements: QStandardItemModel::dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent).

[override virtual] Qt::ItemFlags QUrlModel::flags(const QModelIndex &index) const

Reimplements: QStandardItemModel::flags(const QModelIndex &index) const.

[override virtual] QMimeData *QUrlModel::mimeData(const QModelIndexList &indexes) const

Reimplements: QStandardItemModel::mimeData(const QModelIndexList &indexes) const.

[override virtual] QStringList QUrlModel::mimeTypes() const

Reimplements: QStandardItemModel::mimeTypes() const.

[override virtual] bool QUrlModel::setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole)

Reimplements: QStandardItemModel::setData(const QModelIndex &index, const QVariant &value, int role).

If the role is the UrlRole then handle otherwise just pass to QStandardItemModel

void QUrlModel::setFileSystemModel(QFileSystemModel *model)

QFileSystemModel to get index's from, clears existing rows

QList<QUrl> QUrlModel::urls() const

Return the complete list of urls in a QList.