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. --- filesystemwidget.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'filesystemwidget.cpp') diff --git a/filesystemwidget.cpp b/filesystemwidget.cpp index 876d27d..f4a9d24 100644 --- a/filesystemwidget.cpp +++ b/filesystemwidget.cpp @@ -43,8 +43,8 @@ FilesystemWidget::FilesystemWidget(QWidget *parent) : QWidget(parent), mClipboar mModel->setRootPath("/"); mModel->setFilter(QDir::AllEntries | QDir::NoDot); mModel->setReadOnly(false); - SheMovIconProvider *p = new SheMovIconProvider; - mModel->setIconProvider(p); + mIconProvider = new SheMovIconProvider; + mModel->setIconProvider(mIconProvider); mDirProxy = new FilesystemDirProxy; mDirProxy->setSourceModel(mModel); @@ -393,6 +393,10 @@ void FilesystemWidget::writeSettings(){ s.setValue("windows/picviewer", mPicViewer->pos()); } +void FilesystemWidget::configChanged(){ + mModel->setIconProvider(mIconProvider); +} + void FilesystemWidget::dvdMount(){ QSettings s; QString mountDir = s.value("paths/dvdmount").toString(); -- cgit v1.2.3-70-g09d2