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. --- archivetreeview.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'archivetreeview.cpp') diff --git a/archivetreeview.cpp b/archivetreeview.cpp index 1a58041..16699dc 100644 --- a/archivetreeview.cpp +++ b/archivetreeview.cpp @@ -203,6 +203,16 @@ void ArchiveTreeView::readSettings(){ seriesWidget()->seriesTree()->readSettings(); filesWidget()->filesTree()->readSettings(); mFilesModel->readSettings(); + QSettings s; + QString iconName = s.value("ui/foldericon", "Dildo").toString(); + const QHash icons = SmGlobals::instance()->icons(); + QIcon decorationIcon = QIcon(icons.value(iconName)); + mFilesModel->setDecorationIcon(decorationIcon); + mSeriesModel->setDecorationIcon(decorationIcon); + MappingTableItemModel *actorsModel = mActorsWidget->model(); + actorsModel->setDecorationIcon(decorationIcon); + MappingTableItemModel *genreModel = mGenresWidget->model(); + genreModel->setDecorationIcon(decorationIcon); } void ArchiveTreeView::currentChanged(const QItemSelection &selected, const QItemSelection &deselected){ -- cgit v1.2.3-70-g09d2