Don't leak huge amount of memory in SkinChooser

This commit is contained in:
Tobias Rundstrom 2006-02-27 20:06:40 -03:00
parent 19cafc34e1
commit f64f4748a3
3 changed files with 17 additions and 13 deletions

View file

@ -132,8 +132,6 @@ Skin::getPixmap (QString f, QDir dir)
QPixmap * QPixmap *
Skin::getPixmap (string file) Skin::getPixmap (string file)
{ {
/* check for files in zip and check if file exists */
QDir dir; QDir dir;
QString f = QString::fromStdString (file); QString f = QString::fromStdString (file);
@ -149,8 +147,6 @@ Skin::getPixmap (string file)
} }
return NULL; return NULL;
/*return new QPixmap ((m_path+file).c_str());*/
} }

View file

@ -15,21 +15,29 @@ SkinChooser::SkinChooser (QWidget *parent) : QMainWindow (parent)
#endif #endif
m_mw = dynamic_cast<MainWindow *>(parent); m_mw = dynamic_cast<MainWindow *>(parent);
QWidget *c = new QWidget (this); m_c = new QWidget (this);
setCentralWidget (c); setCentralWidget (m_c);
m_vbox = new QVBoxLayout (c); m_vbox = new QVBoxLayout (m_c);
QLabel *label = new QLabel ("Available skins...", c); m_label = new QLabel ("Available skins...", m_c);
label->setFont (QFont ("Helvetica", 16)); m_label->setFont (QFont ("Helvetica", 16));
m_vbox->addWidget (label); m_vbox->addWidget (m_label);
m_skin = new SkinList (c); m_skin = new SkinList (m_c);
m_vbox->addWidget (m_skin); m_vbox->addWidget (m_skin);
resize (500, 300); resize (500, 300);
} }
SkinChooser::~SkinChooser (void)
{
delete m_c;
delete m_vbox;
delete m_label;
delete m_skin;
}
SkinList::SkinList (QWidget *parent) : QListWidget (parent) SkinList::SkinList (QWidget *parent) : QListWidget (parent)
{ {
@ -63,7 +71,6 @@ SkinList::changeSkin (QListWidgetItem *item)
QSettings settings; QSettings settings;
SkinChooser *sc = dynamic_cast<SkinChooser *>(window());
qDebug ("change skin to %s", qPrintable (item->text())); qDebug ("change skin to %s", qPrintable (item->text()));
skin->setSkin (QDir::homePath()+"/.xmms2/clients/promoe/skins/"+item->text()); skin->setSkin (QDir::homePath()+"/.xmms2/clients/promoe/skins/"+item->text());

View file

@ -20,13 +20,14 @@ class SkinChooser : public QMainWindow
{ {
public: public:
SkinChooser (QWidget *parent); SkinChooser (QWidget *parent);
~SkinChooser () {} ~SkinChooser (void);
MainWindow *getMW (void) { return m_mw; } MainWindow *getMW (void) { return m_mw; }
private: private:
QVBoxLayout *m_vbox; QVBoxLayout *m_vbox;
SkinList *m_skin; SkinList *m_skin;
QLabel *m_label; QLabel *m_label;
QWidget *m_c;
MainWindow *m_mw; MainWindow *m_mw;
}; };