comparison 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
comparison
equal deleted inserted replaced
115:c72b907b9bef 116:254b1d2b7096
1 #include "core/session.h"
2 #include "core/strings.h"
3 #include "gui/dialog/settings.h"
4 #include <QLineEdit>
5 #include <QGroupBox>
6 #include <QLabel>
7 #include <QSizePolicy>
8 #include <QVBoxLayout>
9 #include <algorithm>
10
11 QWidget* SettingsPageTorrents::CreateGeneralWidget() {
12 QWidget* result = new QWidget(this);
13 result->setAutoFillBackground(true);
14 result->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Maximum);
15
16 QVBoxLayout* full_layout = new QVBoxLayout(result);
17
18 {
19 /* URLs */
20 QGroupBox* group = new QGroupBox(tr("URLs"), result);
21 group->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Maximum);
22
23 QVBoxLayout* group_layout = new QVBoxLayout(group);
24
25 {
26 /* Feed link */
27 QWidget* widget = new QWidget(group);
28 QVBoxLayout* widget_layout = new QVBoxLayout(widget);
29
30 {
31 QLabel* sync_combo_box_label = new QLabel(tr("URL of the RSS feed to check:"), widget);
32 widget_layout->addWidget(sync_combo_box_label);
33 }
34
35 {
36 /* Username: this literally never gets used btw */
37 QLineEdit* lineedit = new QLineEdit(Strings::ToQString(feed_link), widget);
38 connect(lineedit, &QLineEdit::editingFinished, this,
39 [this, lineedit] { feed_link = Strings::ToUtf8String(lineedit->text()); });
40 widget_layout->addWidget(lineedit);
41 }
42
43 group_layout->addWidget(widget);
44 }
45
46 full_layout->addWidget(group);
47 }
48
49 full_layout->setSpacing(10);
50 full_layout->addStretch();
51
52 return result;
53 }
54
55 void SettingsPageTorrents::SaveInfo() {
56 session.config.torrents.feed_link = feed_link;
57 }
58
59 SettingsPageTorrents::SettingsPageTorrents(QWidget* parent) : SettingsPage(parent, tr("Application")) {
60 feed_link = session.config.torrents.feed_link;
61 AddTab(CreateGeneralWidget(), tr("General"));
62 }