7 #include "advsettingsdlg.h"
8 #include "settingstable.h"
10 AdvSettingsDlg::AdvSettingsDlg(QDialog *parent)
19 setWindowTitle(tr("Advanced settings"));
20 setMinimumHeight(320);
22 settings = new QSettings(this);
23 resetBtn = new QPushButton(tr("Defaults"), this);
24 saveBtn = new QPushButton(tr("Save"), this);
25 table = new SettingsTable(this);
26 layout = new QHBoxLayout(this);
27 btnLayout = new QVBoxLayout();
29 connect(resetBtn, SIGNAL(clicked()), this, SLOT(resetToDefaults()));
30 connect(saveBtn, SIGNAL(clicked()), this, SLOT(save()));
32 btnLayout->addWidget(resetBtn);
33 btnLayout->addWidget(saveBtn);
34 layout->addWidget(table, Qt::AlignLeft);
35 layout->addLayout(btnLayout, 0);
40 AdvSettingsDlg::~AdvSettingsDlg()
49 void AdvSettingsDlg::save()
51 for (int i = 0; i < table->rowCount(); ++i)
53 settings->setValue(table->key(i), table->value(i));
55 done(0); // close dialog
58 void AdvSettingsDlg::refreshList()
60 table->removeAllRows();
62 QStringList keys = settings->allKeys();
63 for (int i = 0; i < keys.size(); ++i)
65 table->appendRow(keys.at(i),
66 settings->value(keys.at(i), "n/a").toString());
70 void AdvSettingsDlg::resetToDefaults()
72 QMessageBox mbox(QMessageBox::Question, "",
73 tr("All settings will be reset to defaults"),
74 QMessageBox::Cancel | QMessageBox::Ok, this);
75 if (mbox.exec() == QMessageBox::Ok)
77 settings->setValue("lircPort", 8765);
78 settings->setValue("remoteName", "No remote selected");
79 settings->setValue("lircConf", "/etc/lircd.conf");
80 settings->setValue("cmd0", "VOL+");
81 settings->setValue("cmd1", "VOL-");
82 settings->setValue("cmd2", "P+");
83 settings->setValue("cmd3", "P-");
84 settings->setValue("cmd4", "ON/OFF");
85 settings->setValue("cmd5", "MUTE");
86 settings->setValue("remoteUrl",
87 "http://mercury.wipsl.com/irwi/remotes/");
88 settings->setValue("bgAlpha", 192);