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 QFileInfoList checkedItems() const;
\r
36 QFileInfo fileInfo(const QModelIndex &index) const;
\r
38 void updateAppearance();
\r
40 QFont font() const { return m_font; }
\r
43 // void rootChanged(const QString &root);
\r
44 void selectionChanged(int checkedFoldrs, int checkedFiles, quint64 totalSize);
\r
47 void directoryChange(const QString &path);
\r
51 QFileInfoList m_fileInfoList;
\r
52 QVector<Qt::CheckState> m_checkStates;
\r
53 QFileIconProvider m_IconFactory;
\r
54 QFileSystemWatcher *m_fsWatcher;
\r
56 QBrush m_NormalBrush;
\r
57 QBrush m_NormalTextBrush;
\r
59 QBrush m_MarkTextBrush;
\r
60 QBrush m_SystemBrush;
\r
61 QBrush m_HiddenBrush;
\r
62 QBrush m_ReadonlyBrush;
\r
64 // void stateChanged();
\r
66 // QAbstractItemModel interface
\r
68 int rowCount(const QModelIndex &parent = QModelIndex()) const;
\r
69 int columnCount(const QModelIndex &parent = QModelIndex()) const;
\r
70 QVariant data(const QModelIndex &index, int role) const;
\r
71 QVariant headerData(int section, Qt::Orientation orientation, int role) const;
\r
72 Qt::ItemFlags flags(const QModelIndex &index) const;
\r
73 bool setData(const QModelIndex &index, const QVariant &value, int role);
\r
74 Qt::DropActions supportedDropActions() const;
\r
75 QStringList mimeTypes() const;
\r
78 #endif // FILETABLEMODEL_H
\r