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);
24 // Set default values on first startup
25 if (settings->allKeys().isEmpty())
28 resetBtn = new QPushButton(tr("Defaults"), this);
29 saveBtn = new QPushButton(tr("Save"), this);
30 table = new SettingsTable(this);
31 layout = new QHBoxLayout(this);
32 btnLayout = new QVBoxLayout();
34 connect(resetBtn, SIGNAL(clicked()), this, SLOT(showResetQuery()));
35 connect(saveBtn, SIGNAL(clicked()), this, SLOT(save()));
37 btnLayout->addWidget(resetBtn);
38 btnLayout->addWidget(saveBtn);
39 layout->addWidget(table, Qt::AlignLeft);
40 layout->addLayout(btnLayout, 0);
45 AdvSettingsDlg::~AdvSettingsDlg()
54 void AdvSettingsDlg::refreshList()
56 table->removeAllRows();
58 QStringList keys = settings->allKeys();
59 for (int i = 0; i < keys.size(); ++i)
61 table->appendRow(keys.at(i),
62 settings->value(keys.at(i), "n/a").toString());
66 void AdvSettingsDlg::setDefaults()
68 settings->setValue("lircPort", 8765);
69 settings->setValue("remoteName", "No remote selected");
70 settings->setValue("lircConf", "/etc/lircd.conf");
71 settings->setValue("cmd0", "VOL+");
72 settings->setValue("cmd1", "VOL-");
73 settings->setValue("cmd2", "P+");
74 settings->setValue("cmd3", "P-");
75 settings->setValue("cmd4", "POWER");
76 settings->setValue("cmd5", "MUTE");
77 settings->setValue("remoteUrl",
78 "http://mercury.wipsl.com/irwi/remotes/");
79 settings->setValue("bgAlpha", 192);
80 settings->setValue("height", 147);
81 settings->setValue("width", 250);
82 settings->setValue("idleTimeout", 300);
85 void AdvSettingsDlg::showResetQuery()
87 QMessageBox mbox(QMessageBox::Question, "",
88 tr("Reset all settings to defaults?"),
89 QMessageBox::Cancel | QMessageBox::Yes, this);
90 if (mbox.exec() == QMessageBox::Yes)
97 void AdvSettingsDlg::save()
99 for (int i = 0; i < table->rowCount(); ++i)
101 settings->setValue(table->key(i), table->value(i));
103 done(0); // close dialog