OSDN Git Service

環境設定ダイアログのタブオーダーを修正
[gefu/Gefu.git] / foldermodel.h
index 6e2d9da..1d39a56 100644 (file)
@@ -7,6 +7,10 @@
 #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
@@ -22,6 +26,7 @@ public:
     typedef QVector<QString> History;\r
 \r
     explicit FolderModel(QObject *parent = 0);\r
+    ~FolderModel();\r
 \r
     void            clearPixmapCache();\r
     QString         error() const;\r
@@ -50,6 +55,7 @@ public:
     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
@@ -74,6 +80,7 @@ private:
 \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
@@ -83,12 +90,24 @@ private:
     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
@@ -210,4 +229,32 @@ inline void FolderModel::fsWatcher_directoryChanged(const QString &path)
     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