#include <QFileSystemWatcher>\r
#include <QBrush>\r
#include <QFont>\r
+#include <QMutex>\r
+#include <QPalette>\r
+class Preferences;\r
+class ThumbnailWorker;\r
\r
class FolderModel : public QAbstractTableModel\r
{\r
typedef QVector<QString> History;\r
\r
explicit FolderModel(QObject *parent = 0);\r
+ ~FolderModel();\r
\r
void clearPixmapCache();\r
QString error() const;\r
void setSorting(QDir::SortFlags sort);\r
QDir::SortFlags sorting() const;\r
QModelIndex touch(const QString &name);\r
+ void updateAppearance(const Preferences &prefs);\r
\r
static FolderModel* activeModel();\r
\r
\r
typedef QMap<QString, int> CheckContainer;\r
typedef QMap<QString, QPixmap> PixmapContainer;\r
+ typedef QMap<QString, QDateTime> DateTimeContainer;\r
\r
QString m_error;\r
QDir m_dir;\r
QFileSystemWatcher m_fsWatcher;\r
History m_history;\r
int m_historyPos;\r
+ ThumbnailWorker* m_worker;\r
PixmapContainer m_pixmapCache;\r
+ DateTimeContainer m_lastModifiedCache;\r
QMutex m_pixmapCacheMutex;\r
+ QPalette m_Palette;\r
+ QFont m_font;\r
\r
bool isDotFile(const QModelIndex &index) const;\r
void setError(const QString &error = QString());\r
\r
+ const QBrush& base() const;\r
+ const QBrush& text() const;\r
+ const QBrush& marked() const;\r
+ const QBrush& markedText() const;\r
+ const QBrush& hidden() const;\r
+ const QBrush& readOnly() const;\r
+ const QBrush& system() const;\r
+\r
// QAbstractItemModel interface\r
public:\r
int rowCount(const QModelIndex &parent = QModelIndex()) const;\r
refresh();\r
}\r
\r
+inline const QBrush& FolderModel::base() const\r
+{\r
+ return m_Palette.base();\r
+}\r
+inline const QBrush& FolderModel::text() const\r
+{\r
+ return m_Palette.text();\r
+}\r
+inline const QBrush& FolderModel::marked() const\r
+{\r
+ return m_Palette.highlight();\r
+}\r
+inline const QBrush& FolderModel::markedText() const\r
+{\r
+ return m_Palette.highlightedText();\r
+}\r
+inline const QBrush& FolderModel::hidden() const\r
+{\r
+ return m_Palette.dark();\r
+}\r
+inline const QBrush& FolderModel::readOnly() const\r
+{\r
+ return m_Palette.light();\r
+}\r
+inline const QBrush& FolderModel::system() const\r
+{\r
+ return m_Palette.mid();\r
+}\r
#endif // FOLDERMODEL_H\r