--- /dev/null
+#include "preferences.h"
+#include "ui_preferences.h"
+#include "levelpack.h"
+
+Preferences::Preferences(QList<QString> &packList, const QString &selectedPack, QWidget *parent) :
+ QDialog(parent),
+ ui(new Ui::Preferences)
+{
+ ui->setupUi(this);
+ QListIterator<QString> i(packList);
+ while(i.hasNext())
+ {
+ QString packName=i.next();
+ ui->packList->addItem(packName);
+ }
+ ui->packList->setCurrentIndex(ui->packList->findText(selectedPack));
+}
+
+Preferences::~Preferences()
+{
+ delete ui;
+}
+// TODO: get rid off pack loading and duplicate filename constructing
+void Preferences::packNameSelected()
+{
+ QString packName(ui->packList->currentText());
+ selectedPack=packName;
+ LevelPack *pack=new LevelPack(":/packs/"+packName.append(".ini"));
+ ui->packAuthor->setText(pack->getAuthor());
+ ui->packURL->setText(pack->getURL());
+ ui->packDescription->setText(pack->getDescription());
+ delete pack;
+}