KIO
KDirModel Class Reference
A model for a KIO-based directory tree. More...
#include <kdirmodel.h>

Public Types | |
enum | { ChildCountUnknown = -1 } |
enum | AdditionalRoles { FileItemRole = 0x07A263FF, ChildCountRole = 0x2C4D0A40 } |
enum | DropsAllowedFlag { NoDrops = 0, DropOnDirectory = 1, DropOnAnyFile = 2, DropOnLocalExecutable = 4 } |
enum | ModelColumns { Name = 0, Size, ModifiedTime, Permissions, Owner, Group, Type, ColumnCount } |
Signals | |
void | expand (const QModelIndex &index) |
Public Member Functions | |
virtual bool | canFetchMore (const QModelIndex &parent) const |
virtual int | columnCount (const QModelIndex &parent=QModelIndex()) const |
virtual QVariant | data (const QModelIndex &index, int role=Qt::DisplayRole) const |
KDirLister * | dirLister () const |
virtual bool | dropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) |
void | expandToUrl (const KUrl &url) |
virtual void | fetchMore (const QModelIndex &parent) |
virtual Qt::ItemFlags | flags (const QModelIndex &index) const |
virtual bool | hasChildren (const QModelIndex &parent=QModelIndex()) const |
virtual QVariant | headerData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const |
virtual QModelIndex | index (int row, int column, const QModelIndex &parent=QModelIndex()) const |
QModelIndex | indexForItem (const KFileItem &) const |
KDE_DEPRECATED QModelIndex | indexForItem (const KFileItem *) const |
QModelIndex | indexForUrl (const KUrl &url) const |
void | itemChanged (const QModelIndex &index) |
KFileItem | itemForIndex (const QModelIndex &index) const |
KDirModel (QObject *parent=0) | |
virtual QMimeData * | mimeData (const QModelIndexList &indexes) const |
virtual QStringList | mimeTypes () const |
virtual QModelIndex | parent (const QModelIndex &index) const |
virtual int | rowCount (const QModelIndex &parent=QModelIndex()) const |
virtual bool | setData (const QModelIndex &index, const QVariant &value, int role=Qt::EditRole) |
void | setDirLister (KDirLister *dirLister) |
void | setDropsAllowed (DropsAllowed dropsAllowed) |
virtual void | sort (int column, Qt::SortOrder order=Qt::AscendingOrder) |
~KDirModel () | |
Static Public Member Functions | |
static KUrl::List | simplifiedUrlList (const KUrl::List &urls) |
Detailed Description
A model for a KIO-based directory tree.KDirModel implements the QAbstractItemModel interface (for use with Qt's model/view widgets) around the directory listing for one directory or a tree of directories.
- See also:
- KDirSortFilterProxyModel
Definition at line 40 of file kdirmodel.h.
Member Enumeration Documentation
anonymous enum |
Possible return value for data(ChildCountRole), meaning the item isn't a directory, or we haven't calculated its child count yet.
Definition at line 122 of file kdirmodel.h.
- Enumerator:
-
FileItemRole returns the KFileItem for a given index ChildCountRole returns the number of items in a directory, or ChildCountUnknown
Definition at line 124 of file kdirmodel.h.
- Enumerator:
Definition at line 131 of file kdirmodel.h.
Definition at line 109 of file kdirmodel.h.
Constructor & Destructor Documentation
KDirModel::KDirModel | ( | QObject * | parent = 0 |
) | [explicit] |
KDirModel::~KDirModel | ( | ) |
Definition at line 326 of file kdirmodel.cpp.
Member Function Documentation
bool KDirModel::canFetchMore | ( | const QModelIndex & | parent | ) | const [virtual] |
Reimplemented from QAbstractItemModel. Returns true for empty directories.
Definition at line 981 of file kdirmodel.cpp.
int KDirModel::columnCount | ( | const QModelIndex & | parent = QModelIndex() |
) | const [virtual] |
Reimplemented from QAbstractItemModel. Returns ColumnCount.
Definition at line 610 of file kdirmodel.cpp.
QVariant KDirModel::data | ( | const QModelIndex & | index, | |
int | role = Qt::DisplayRole | |||
) | const [virtual] |
KDirLister * KDirModel::dirLister | ( | ) | const |
bool KDirModel::dropMimeData | ( | const QMimeData * | data, | |
Qt::DropAction | action, | |||
int | row, | |||
int | column, | |||
const QModelIndex & | parent | |||
) | [virtual] |
Reimplemented from QAbstractItemModel. Not implemented yet.
Reimplemented from QAbstractItemModel.
Definition at line 1016 of file kdirmodel.cpp.
void KDirModel::expand | ( | const QModelIndex & | index | ) | [signal] |
Emitted for each subdirectory that is a parent of a url passed to expandToUrl This allows to asynchronously open a tree view down to a given directory.
Also emitted for the final file, if expandToUrl is called with a file (for instance so that it can be selected).
void KDirModel::expandToUrl | ( | const KUrl & | url | ) |
Lists subdirectories using fetchMore() as needed until the given url
exists in the model.
When the model is used by a treeview, call KDirLister::openUrl with the base url of the tree, then the treeview will take care of calling fetchMore() when the user opens directories. However if you want the tree to show a given URL (i.e. open the tree recursively until that URL), call expandToUrl(). Note that this is asynchronous; the necessary listing of subdirectories will take time so the model will not immediately have this url available. The model emits the signal expand() when an index has become available; this can be connected to the treeview in order to let it open that index.
- Parameters:
-
url the url of a subdirectory of the directory model (or a file in a subdirectory)
Definition at line 1033 of file kdirmodel.cpp.
void KDirModel::fetchMore | ( | const QModelIndex & | parent | ) | [virtual] |
Reimplemented from QAbstractItemModel. Lists the subdirectory.
Reimplemented from QAbstractItemModel.
Definition at line 997 of file kdirmodel.cpp.
Qt::ItemFlags KDirModel::flags | ( | const QModelIndex & | index | ) | const [virtual] |
bool KDirModel::hasChildren | ( | const QModelIndex & | parent = QModelIndex() |
) | const [virtual] |
Reimplemented from QAbstractItemModel. Returns true for directories.
Definition at line 930 of file kdirmodel.cpp.
QVariant KDirModel::headerData | ( | int | section, | |
Qt::Orientation | orientation, | |||
int | role = Qt::DisplayRole | |||
) | const [virtual] |
Reimplemented from QAbstractItemModel. Returns the column titles.
Definition at line 904 of file kdirmodel.cpp.
QModelIndex KDirModel::index | ( | int | row, | |
int | column, | |||
const QModelIndex & | parent = QModelIndex() | |||
) | const [virtual] |
QModelIndex KDirModel::indexForItem | ( | const KFileItem & | item | ) | const |
Return the index for a given kfileitem.
This can be slow.
Definition at line 874 of file kdirmodel.cpp.
QModelIndex KDirModel::indexForItem | ( | const KFileItem * | item | ) | const |
Return the index for a given kfileitem.
This can be slow.
- Deprecated:
- use the method that takes a KFileItem by value
Definition at line 867 of file kdirmodel.cpp.
QModelIndex KDirModel::indexForUrl | ( | const KUrl & | url | ) | const |
void KDirModel::itemChanged | ( | const QModelIndex & | index | ) |
Notify the model that the item at this index has changed.
For instance because KMimeTypeResolver called determineMimeType on it. This makes the model emit its dataChanged signal at this index, so that views repaint. Note that for most things (renaming, changing size etc.), KDirLister's signals tell the model already.
Definition at line 595 of file kdirmodel.cpp.
KFileItem KDirModel::itemForIndex | ( | const QModelIndex & | index | ) | const |
Return the fileitem for a given index.
This is O(1), i.e. fast.
Definition at line 858 of file kdirmodel.cpp.
QMimeData * KDirModel::mimeData | ( | const QModelIndexList & | indexes | ) | const [virtual] |
QStringList KDirModel::mimeTypes | ( | ) | const [virtual] |
QModelIndex KDirModel::parent | ( | const QModelIndex & | index | ) | const [virtual] |
int KDirModel::rowCount | ( | const QModelIndex & | parent = QModelIndex() |
) | const [virtual] |
bool KDirModel::setData | ( | const QModelIndex & | index, | |
const QVariant & | value, | |||
int | role = Qt::EditRole | |||
) | [virtual] |
Reimplemented from QAbstractItemModel.
Call this to set a new icon, e.g. a preview
Reimplemented from QAbstractItemModel.
Definition at line 718 of file kdirmodel.cpp.
void KDirModel::setDirLister | ( | KDirLister * | dirLister | ) |
Set the directory lister to use by this model, instead of the default KDirLister created internally.
The model takes ownership.
Definition at line 331 of file kdirmodel.cpp.
void KDirModel::setDropsAllowed | ( | DropsAllowed | dropsAllowed | ) |
Set whether dropping onto items should be allowed, and for which kind of item Drops are disabled by default.
Definition at line 1028 of file kdirmodel.cpp.
KUrl::List KDirModel::simplifiedUrlList | ( | const KUrl::List & | urls | ) | [static] |
Remove urls from the list if an ancestor is present on the list.
This can be used to delete only the ancestor url and skip a potential error of a non-existent url.
For example, for a list of "/home/foo/a", "/home/foo/a/a.txt", "/home/foo/a/a/a.txt", "/home/foo/a/b/b.txt", "home/foo/b/b.txt", this method will return the list "/home/foo/a", "/home/foo/b/b.txt".
- Returns:
- the list
urls
without parented urls inside.
- Since:
- 4.2
Definition at line 796 of file kdirmodel.cpp.
void KDirModel::sort | ( | int | column, | |
Qt::SortOrder | order = Qt::AscendingOrder | |||
) | [virtual] |
Reimplemented from QAbstractItemModel. Not implemented.
- See also:
- KDirSortFilterProxyModel
Reimplemented from QAbstractItemModel.
Definition at line 712 of file kdirmodel.cpp.
The documentation for this class was generated from the following files: