X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=foldermodel.h;h=1d39a562af4fa4ed73e69590b2fc5563c0028d88;hb=606ff8dc1c1abcd474d99f32eab21c6869554ed7;hp=6e2d9dac5891f2285045f3d9fafe67c5d11c66c0;hpb=33fe545cc3664842edd38d2030e961451972bf3f;p=gefu%2FGefu.git diff --git a/foldermodel.h b/foldermodel.h index 6e2d9da..1d39a56 100644 --- a/foldermodel.h +++ b/foldermodel.h @@ -7,6 +7,10 @@ #include #include #include +#include +#include +class Preferences; +class ThumbnailWorker; class FolderModel : public QAbstractTableModel { @@ -22,6 +26,7 @@ public: typedef QVector History; explicit FolderModel(QObject *parent = 0); + ~FolderModel(); void clearPixmapCache(); QString error() const; @@ -50,6 +55,7 @@ public: void setSorting(QDir::SortFlags sort); QDir::SortFlags sorting() const; QModelIndex touch(const QString &name); + void updateAppearance(const Preferences &prefs); static FolderModel* activeModel(); @@ -74,6 +80,7 @@ private: typedef QMap CheckContainer; typedef QMap PixmapContainer; + typedef QMap DateTimeContainer; QString m_error; QDir m_dir; @@ -83,12 +90,24 @@ private: QFileSystemWatcher m_fsWatcher; History m_history; int m_historyPos; + ThumbnailWorker* m_worker; PixmapContainer m_pixmapCache; + DateTimeContainer m_lastModifiedCache; QMutex m_pixmapCacheMutex; + QPalette m_Palette; + QFont m_font; bool isDotFile(const QModelIndex &index) const; void setError(const QString &error = QString()); + const QBrush& base() const; + const QBrush& text() const; + const QBrush& marked() const; + const QBrush& markedText() const; + const QBrush& hidden() const; + const QBrush& readOnly() const; + const QBrush& system() const; + // QAbstractItemModel interface public: int rowCount(const QModelIndex &parent = QModelIndex()) const; @@ -210,4 +229,32 @@ inline void FolderModel::fsWatcher_directoryChanged(const QString &path) refresh(); } +inline const QBrush& FolderModel::base() const +{ + return m_Palette.base(); +} +inline const QBrush& FolderModel::text() const +{ + return m_Palette.text(); +} +inline const QBrush& FolderModel::marked() const +{ + return m_Palette.highlight(); +} +inline const QBrush& FolderModel::markedText() const +{ + return m_Palette.highlightedText(); +} +inline const QBrush& FolderModel::hidden() const +{ + return m_Palette.dark(); +} +inline const QBrush& FolderModel::readOnly() const +{ + return m_Palette.light(); +} +inline const QBrush& FolderModel::system() const +{ + return m_Palette.mid(); +} #endif // FOLDERMODEL_H