Give the SkinChooser some love.

This commit is contained in:
Tobias Rundstrom 2006-03-04 16:51:04 -03:00
parent fcf2c543ee
commit 6e88190239
2 changed files with 20 additions and 6 deletions

View file

@ -48,6 +48,8 @@ SkinList::SkinList (QWidget *parent) : QListWidget (parent)
path.append ("/.xmms2/clients/promoe/skins/");
QDir d;
new SkinChooserItem (QIcon (":CleanAMP/main.bmp"), "CleanAMP (default)", ":CleanAMP/", this);
d.setPath (path);
d.setFilter (QDir::Dirs);
@ -57,7 +59,7 @@ SkinList::SkinList (QWidget *parent) : QListWidget (parent)
QDir dir (fileInfo.filePath());
QPixmap p = Skin::getPixmap ("main.bmp", dir);
if (!p.isNull()) {
new QListWidgetItem (QIcon (p), dir.dirName(), this);
new SkinChooserItem (QIcon (p), dir.dirName(), dir.absolutePath(), this);
}
}
@ -68,13 +70,11 @@ void
SkinList::changeSkin (QListWidgetItem *item)
{
Skin *skin = Skin::getInstance ();
SkinChooserItem *it = dynamic_cast<SkinChooserItem*> (item);
QSettings settings;
qDebug ("change skin to %s", qPrintable (item->text()));
skin->setSkin (QDir::homePath()+"/.xmms2/clients/promoe/skins/"+item->text());
settings.setValue ("skin/path", QDir::homePath()+"/.xmms2/clients/promoe/skins/"+item->text());
skin->setSkin (it->getPath ());
settings.setValue ("skin/path", it->getPath ());
}

View file

@ -16,6 +16,20 @@ class SkinList : public QListWidget
void changeSkin (QListWidgetItem *item);
};
class SkinChooserItem : public QListWidgetItem
{
public:
SkinChooserItem (QIcon i, QString n, QString p, QListWidget *parent) :
QListWidgetItem (i, n, parent) {
m_path = p;
}
~SkinChooserItem () {}
QString getPath (void) { return m_path; }
private:
QString m_path;
};
class SkinChooser : public QMainWindow
{
public: