From 51f830068cb6b4847468aced1aa654932c39bf80 Mon Sep 17 00:00:00 2001 From: Arno Date: Mon, 27 Dec 2010 15:52:30 +0100 Subject: Made all icons in qresource available for UI Every registered icon can be chosen as Qt::DecorationRole for all models at once. Suitable icons must be added to SmGlobals::mIcons. Key is a descriptive text, value is the icon path. To make things easier SmTreeModel got two new member functions: -QIcon decorationIcon() returning the current Icon -void setDecorationIcon() to set the current Icon The current Icon is initialized in the constructor from QSettings - ui/iconfolder To update the TreeViews connected to the FileSystemModel a little hack is needed: Just set the QFileIconProvider again. This causes the Model to update connected views. --- smtreemodel.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'smtreemodel.h') diff --git a/smtreemodel.h b/smtreemodel.h index 73abe64..f23e767 100644 --- a/smtreemodel.h +++ b/smtreemodel.h @@ -11,6 +11,7 @@ #include #include #include +#include class SmTreeItem; @@ -48,6 +49,10 @@ class SmTreeModel : public QAbstractItemModel { virtual bool removeRows(int row, int count, const QModelIndex &parent); bool addRow(const QList &data, const QModelIndex &parent); + //misc + void setDecorationIcon(const QIcon &icon) { mDecorationIcon = icon; } + const QIcon decorationIcon() const { return mDecorationIcon; } + protected: SmTreeItem *itemAt(const QModelIndex &index) const; @@ -55,6 +60,7 @@ class SmTreeModel : public QAbstractItemModel { QStringList mHeaders; SmTreeItem *mRootItem; QHash mHeaderData; + QIcon mDecorationIcon; }; #endif -- cgit v1.2.3-70-g09d2