+ QTreeWidgetItem *p = new QTreeWidgetItem(cat, QStringList(sp->title()));
+ p->setData(0, Qt::UserRole, QVariant::fromValue(w));
+}
+
+void SettingsDlg::pageSelected() {
+ QList<QTreeWidgetItem *> items = ui.settingsTree->selectedItems();
+ if(!items.count()) {
+ return;
+ } else {
+ QWidget *sp = items[0]->data(0, Qt::UserRole).value<QWidget *>();
+ Q_ASSERT(sp);
+ ui.settingsStack->setCurrentWidget(sp);
+ }
+}
+
+void SettingsDlg::buttonClicked(QAbstractButton *button) {
+ switch(ui.buttonBox->buttonRole(button)) {
+ case QDialogButtonBox::AcceptRole:
+ applyChanges();
+ accept();
+ break;
+ case QDialogButtonBox::ApplyRole:
+ applyChanges();
+ break;
+ case QDialogButtonBox::RejectRole:
+ reject();
+ break;
+ default:
+ break;
+ }
+}