summaryrefslogtreecommitdiffstats
path: root/configurationdialog.cpp
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2010-12-27 15:52:30 +0100
committerArno <am@disconnect.de>2010-12-27 15:52:30 +0100
commit51f830068cb6b4847468aced1aa654932c39bf80 (patch)
tree0eff6453050a77999577310746e24f6182493cf3 /configurationdialog.cpp
parent7bb7295a9033c0a6729b301e7c9b76393539e29a (diff)
downloadSheMov-51f830068cb6b4847468aced1aa654932c39bf80.tar.gz
SheMov-51f830068cb6b4847468aced1aa654932c39bf80.tar.bz2
SheMov-51f830068cb6b4847468aced1aa654932c39bf80.zip
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.
Diffstat (limited to 'configurationdialog.cpp')
-rw-r--r--configurationdialog.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/configurationdialog.cpp b/configurationdialog.cpp
index 7008e76..96c1d1b 100644
--- a/configurationdialog.cpp
+++ b/configurationdialog.cpp
@@ -33,9 +33,12 @@
#include <QPalette>
#include <QImage>
#include <QPainter>
+#include <QStandardItemModel>
+#include <QStandardItem>
#include "configurationdialog.h"
#include "programconfigurator.h"
+#include "smglobals.h"
ConfigurationDialog::ConfigurationDialog(QWidget *parent, Qt::WindowFlags f) : QDialog(parent, f){
//setup
@@ -109,8 +112,13 @@ ConfigurationDialog::ConfigurationDialog(QWidget *parent, Qt::WindowFlags f) : Q
QGroupBox *iconBox = new QGroupBox(tr("Icon for folders"));
QHBoxLayout *iconLayout = new QHBoxLayout;
mIconForFolder = new QComboBox;
- QStringList icons = QStringList() << tr("Dildo") << tr("Normal");
- mIconForFolder->addItems(icons);
+ mIconModel = new QStandardItemModel;
+ const QHash<QString, QString> icons = SmGlobals::instance()->icons();
+ for(QHash<QString, QString>::const_iterator it = icons.constBegin(); it != icons.constEnd(); ++it){
+ QStandardItem *item = new QStandardItem(QIcon(it.value()), it.key());
+ mIconModel->appendRow(item);
+ }
+ mIconForFolder->setModel(mIconModel);
iconLayout->addWidget(mIconForFolder);
iconBox->setLayout(iconLayout);
@@ -289,7 +297,7 @@ void ConfigurationDialog::readSettings(){
QSettings s;
//read misc
- QString icon = s.value("ui/foldericon", "Normal").toString();
+ QString icon = s.value("ui/foldericon", "Dildo").toString();
int pos = mIconForFolder->findText(icon);
if(pos != -1){
mIconForFolder->setCurrentIndex(pos);