diff options
author | Arno <am@disconnect.de> | 2010-12-27 15:52:30 +0100 |
---|---|---|
committer | Arno <am@disconnect.de> | 2010-12-27 15:52:30 +0100 |
commit | 51f830068cb6b4847468aced1aa654932c39bf80 (patch) | |
tree | 0eff6453050a77999577310746e24f6182493cf3 /configurationdialog.cpp | |
parent | 7bb7295a9033c0a6729b301e7c9b76393539e29a (diff) | |
download | SheMov-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.cpp | 14 |
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); |