1 #ifndef FILETABLEMODEL_H
\r
2 #define FILETABLEMODEL_H
\r
4 #include <QAbstractTableModel>
\r
6 #include <QFileIconProvider>
\r
7 #include <QFileSystemWatcher>
\r
11 class FileTableModel : public QAbstractTableModel
\r
15 explicit FileTableModel(QObject *parent = 0);
\r
17 bool setPath(const QString &path);
\r
19 QDir::Filters filter() const { return m_dir.filter(); }
\r
20 void setFilter(QDir::Filters filters) { m_dir.setFilter(filters); }
\r
22 QStringList nameFilters() const { return m_dir.nameFilters(); }
\r
23 void setNameFilters(const QStringList &nameFiltes) {
\r
24 m_dir.setNameFilters(nameFiltes);
\r
27 QDir::SortFlags sorting() const { return m_dir.sorting(); }
\r
28 void setSorting(QDir::SortFlags sort) { m_dir.setSorting(sort); }
\r
30 Qt::CheckState checkState(const QModelIndex &index) const;
\r
31 void setCheckState(const QModelIndex &index, Qt::CheckState state);
\r
32 void setCheckStateAll(Qt::CheckState state);
\r
33 const QString absolutePath() const { return m_dir.absolutePath(); }
\r
35 bool isDir(const QModelIndex &index) const;
\r
36 const QString absoluteFilePath(const QModelIndex &index) const;
\r
37 const QString fileName(const QModelIndex &index) const;
\r
39 QFileInfoList checkedItems() const;
\r
40 QFileInfo fileInfo(const QModelIndex &index) const;
\r
42 void updateAppearance();
\r
45 void rootChanged(const QString &root);
\r
46 void stateChanged(int checkedFoldrs, int checkedFiles, quint64 totalSize);
\r
53 QFileInfoList m_fileInfoList;
\r
54 QVector<Qt::CheckState> m_checkStates;
\r
55 QFileIconProvider m_IconFactory;
\r
56 QFileSystemWatcher *m_fsWatcher;
\r
58 QBrush m_NormalBrush;
\r
59 QBrush m_NormalTextBrush;
\r
61 QBrush m_MarkTextBrush;
\r
62 QBrush m_SystemBrush;
\r
63 QBrush m_HiddenBrush;
\r
64 QBrush m_ReadonlyBrush;
\r
66 void stateChanged();
\r
68 // QAbstractItemModel interface
\r
70 int rowCount(const QModelIndex &parent = QModelIndex()) const;
\r
71 int columnCount(const QModelIndex &parent = QModelIndex()) const;
\r
72 QVariant data(const QModelIndex &index, int role) const;
\r
73 QVariant headerData(int section, Qt::Orientation orientation, int role) const;
\r
74 Qt::ItemFlags flags(const QModelIndex &index) const;
\r
75 bool setData(const QModelIndex &index, const QVariant &value, int role);
\r
76 Qt::DropActions supportedDropActions() const;
\r
77 QStringList mimeTypes() const;
\r
80 #endif // FILETABLEMODEL_H
\r