diff options
Diffstat (limited to 'archiveview.h')
-rw-r--r-- | archiveview.h | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/archiveview.h b/archiveview.h index 7507320..ac7cda4 100644 --- a/archiveview.h +++ b/archiveview.h @@ -35,12 +35,13 @@ class ArchiveView : public QWidget { int currentSortOrder() const; void readSettings(); void writeSettings(); + void setCurrentArchivePath(const QStringList &p) { mCurrentArchivePath = p; } ArchiveModel *archiveModel() { return mArchiveModel; } ArchiveTree *archiveTree() { return mTree; } public slots: void refreshArchive(); - void expandedItems(); + void doSelection(); private slots: void setFilter(); @@ -61,6 +62,7 @@ class ArchiveView : public QWidget { ArchiveFilesProxy *mFilesProxy; QHash<int, QVariantList> mExpandedItems; ArchiveController *mController; + QStringList mCurrentArchivePath; }; class ArchiveTree : public SmTreeView { @@ -109,35 +111,47 @@ class ArchiveFilesProxy : public QSortFilterProxyModel { class FileTypeDelegate : public QStyledItemDelegate { Q_OBJECT public: - explicit FileTypeDelegate(QObject *parent = 0) : QStyledItemDelegate(parent) {}; + explicit FileTypeDelegate(QObject *parent = 0); virtual QString displayText(const QVariant &value, const QLocale &locale) const; + virtual QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const; + + private: + QHash<int, QString> mFiletypeMap; +}; + +class FileNoDelegate : public QStyledItemDelegate { + Q_OBJECT + public: + explicit FileNoDelegate(QObject *parent = 0) : QStyledItemDelegate(parent) {} + virtual QString displayText(const QVariant &value, const QLocale &locale) const; + virtual QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const; }; class DvdNoDelegate : public QStyledItemDelegate { Q_OBJECT public: - explicit DvdNoDelegate(QObject *parent = 0) : QStyledItemDelegate(parent) {}; + explicit DvdNoDelegate(QObject *parent = 0) : QStyledItemDelegate(parent) {} virtual QString displayText(const QVariant &value, const QLocale &locale) const; }; class SizeDelegate : public QStyledItemDelegate { Q_OBJECT public: - explicit SizeDelegate(QObject *parent = 0) : QStyledItemDelegate(parent) {}; + explicit SizeDelegate(QObject *parent = 0) : QStyledItemDelegate(parent) {} virtual QString displayText(const QVariant &value, const QLocale &locale) const; }; class DurationDelegate : public QStyledItemDelegate { Q_OBJECT public: - explicit DurationDelegate(QObject *parent = 0) : QStyledItemDelegate(parent) {}; + explicit DurationDelegate(QObject *parent = 0) : QStyledItemDelegate(parent) {} virtual QString displayText(const QVariant &value, const QLocale &locale) const; }; class EmptyDelegate : public QStyledItemDelegate { Q_OBJECT public: - explicit EmptyDelegate(QObject *parent = 0) : QStyledItemDelegate(parent) {}; + explicit EmptyDelegate(QObject *parent = 0) : QStyledItemDelegate(parent) {} virtual QString displayText(const QVariant &value, const QLocale &locale) const; }; |