/* * This file is part of smolbote. It's copyrighted by the contributors recorded * in the version control history of the file, available from its original * location: https://neueland.iserlohn-fortress.net/gitea/aqua/smolbote * * SPDX-License-Identifier: GPL-3.0 */ #include "configurationdialog.h" #include #include ConfigurationDialog::ConfigurationDialog(QWidget *parent) : QDialog(parent), ui(new Ui::ConfigurationDialog) { ui->setupUi(this); } ConfigurationDialog::~ConfigurationDialog() { delete ui; } void ConfigurationDialog::addOption(const QString &key, const QString &value) { QTreeWidgetItem *item = nullptr; if(key.contains(QLatin1Literal("shortcut"))) { item = new QTreeWidgetItem(ui->shortcuts_treeWidget); auto *edit = new QKeySequenceEdit(value); ui->shortcuts_treeWidget->setItemWidget(item, 1, edit); connect(edit, &QKeySequenceEdit::keySequenceChanged, this, [this, key](const QKeySequence &keySequence) { emit configurationChanged(key, keySequence.toString()); }); } else { item = new QTreeWidgetItem(ui->settings_treeWidget); auto *edit = new QLineEdit(value); ui->settings_treeWidget->setItemWidget(item, 1, edit); connect(edit, &QLineEdit::editingFinished, this, [this, key, edit]() { emit configurationChanged(key, edit->text()); }); } item->setText(0, key); }