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
18 bool setPath(const QString &path);
\r
19 void updateAppearance(bool darker = false);
\r
22 QDir::SortFlags sorting() const { return m_dir.sorting(); }
\r
23 QDir::Filters filter() const { return m_dir.filter(); }
\r
24 QStringList nameFilters() const { return m_dir.nameFilters(); }
\r
25 const QString absolutePath() const { return m_dir.absolutePath(); }
\r
26 QFileInfo fileInfo(const QModelIndex &index) const;
\r
27 QFont font() const { return m_font; }
\r
30 void setSorting(QDir::SortFlags sort) { m_dir.setSorting(sort); }
\r
31 void setFilter(QDir::Filters filters) { m_dir.setFilter(filters); }
\r
32 void setNameFilters(const QStringList &nameFiltes) {
\r
33 m_dir.setNameFilters(nameFiltes);
\r
37 void selectionChanged(int checkedFoldrs, int checkedFiles, quint64 totalSize);
\r
40 void directoryChange(const QString &path);
\r
44 QFileInfoList m_fileInfoList;
\r
45 QVector<Qt::CheckState> m_checkStates;
\r
46 QFileIconProvider m_IconFactory;
\r
47 QFileSystemWatcher m_fsWatcher;
\r
49 QBrush m_NormalBrush;
\r
50 QBrush m_NormalTextBrush;
\r
52 QBrush m_MarkTextBrush;
\r
53 QBrush m_SystemBrush;
\r
54 QBrush m_HiddenBrush;
\r
55 QBrush m_ReadonlyBrush;
\r
57 // QAbstractItemModel interface
\r
59 int rowCount(const QModelIndex &parent = QModelIndex()) const;
\r
60 int columnCount(const QModelIndex &parent = QModelIndex()) const;
\r
61 QVariant data(const QModelIndex &index, int role) const;
\r
62 QVariant headerData(int section, Qt::Orientation orientation, int role) const;
\r
63 Qt::ItemFlags flags(const QModelIndex &index) const;
\r
64 bool setData(const QModelIndex &index, const QVariant &value, int role);
\r
65 Qt::DropActions supportedDropActions() const;
\r
66 QStringList mimeTypes() const;
\r
69 #endif // FILETABLEMODEL_H
\r