Mercurial > minori
diff src/gui/dialog/settings/torrents.cc @ 116:254b1d2b7096
settings: add torrents page, make rss feed configurable
author | Paper <mrpapersonic@gmail.com> |
---|---|
date | Tue, 07 Nov 2023 13:52:13 -0500 |
parents | |
children | 4eae379cb1ff |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/gui/dialog/settings/torrents.cc Tue Nov 07 13:52:13 2023 -0500 @@ -0,0 +1,62 @@ +#include "core/session.h" +#include "core/strings.h" +#include "gui/dialog/settings.h" +#include <QLineEdit> +#include <QGroupBox> +#include <QLabel> +#include <QSizePolicy> +#include <QVBoxLayout> +#include <algorithm> + +QWidget* SettingsPageTorrents::CreateGeneralWidget() { + QWidget* result = new QWidget(this); + result->setAutoFillBackground(true); + result->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Maximum); + + QVBoxLayout* full_layout = new QVBoxLayout(result); + + { + /* URLs */ + QGroupBox* group = new QGroupBox(tr("URLs"), result); + group->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Maximum); + + QVBoxLayout* group_layout = new QVBoxLayout(group); + + { + /* Feed link */ + QWidget* widget = new QWidget(group); + QVBoxLayout* widget_layout = new QVBoxLayout(widget); + + { + QLabel* sync_combo_box_label = new QLabel(tr("URL of the RSS feed to check:"), widget); + widget_layout->addWidget(sync_combo_box_label); + } + + { + /* Username: this literally never gets used btw */ + QLineEdit* lineedit = new QLineEdit(Strings::ToQString(feed_link), widget); + connect(lineedit, &QLineEdit::editingFinished, this, + [this, lineedit] { feed_link = Strings::ToUtf8String(lineedit->text()); }); + widget_layout->addWidget(lineedit); + } + + group_layout->addWidget(widget); + } + + full_layout->addWidget(group); + } + + full_layout->setSpacing(10); + full_layout->addStretch(); + + return result; +} + +void SettingsPageTorrents::SaveInfo() { + session.config.torrents.feed_link = feed_link; +} + +SettingsPageTorrents::SettingsPageTorrents(QWidget* parent) : SettingsPage(parent, tr("Application")) { + feed_link = session.config.torrents.feed_link; + AddTab(CreateGeneralWidget(), tr("General")); +}