diff options
| author | oldmud0 <oldmud0@users.noreply.github.com> | 2022-01-07 20:17:02 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-01-07 20:17:02 -0600 |
| commit | c80a0195749acda08ea414db575d10bd0033f062 (patch) | |
| tree | 0ae46296493698df61763ab1c33f453a83a6e8dd /src/aooptionsdialog.cpp | |
| parent | 9f09af1c39e70d68f3ddf9bdc38a12e2b9ab2470 (diff) | |
| parent | 0cebf8c91e80d45b9fbaaa658ce5657c933f0b69 (diff) | |
Merge pull request #619 from AttorneyOnline/feature/http-ms
Switch to HTTP-based server list
Diffstat (limited to 'src/aooptionsdialog.cpp')
| -rw-r--r-- | src/aooptionsdialog.cpp | 42 |
1 files changed, 37 insertions, 5 deletions
diff --git a/src/aooptionsdialog.cpp b/src/aooptionsdialog.cpp index b752038..589bc92 100644 --- a/src/aooptionsdialog.cpp +++ b/src/aooptionsdialog.cpp @@ -3,6 +3,7 @@ #include "courtroom.h" #include "lobby.h" #include "bass.h" +#include "networkmanager.h" #include <QFileDialog> @@ -381,10 +382,9 @@ AOOptionsDialog::AOOptionsDialog(QWidget *parent, AOApplication *p_ao_app) row += 1; ui_ms_lbl = new QLabel(ui_form_layout_widget); - ui_ms_lbl->setText(tr("Backup MS:")); + ui_ms_lbl->setText(tr("Alternate Server List:")); ui_ms_lbl->setToolTip( - tr("If the built-in server lookups fail, the game will try the " - "address given here and use it as a backup master server address.")); + tr("Overrides the base URL to retrieve server information from.")); ui_gameplay_form->setWidget(row, QFormLayout::LabelRole, ui_ms_lbl); @@ -1067,6 +1067,30 @@ AOOptionsDialog::AOOptionsDialog(QWidget *parent, AOApplication *p_ao_app) ui_mount_down->setEnabled(false); }); + // Privacy tab + ui_privacy_tab = new QWidget(this); + ui_settings_tabs->addTab(ui_privacy_tab, tr("Privacy")); + + ui_privacy_layout = new QVBoxLayout(ui_privacy_tab); + + ui_privacy_optout_cb = new QCheckBox(ui_privacy_tab); + ui_privacy_optout_cb->setText(tr("Do not include me in public player counts")); + ui_privacy_layout->addWidget(ui_privacy_optout_cb); + + ui_privacy_separator = new QFrame(ui_privacy_tab); + ui_privacy_separator->setObjectName(QString::fromUtf8("line")); + ui_privacy_separator->setFrameShape(QFrame::HLine); + ui_privacy_separator->setFrameShadow(QFrame::Sunken); + ui_privacy_layout->addWidget(ui_privacy_separator); + + ui_privacy_policy = new QTextBrowser(ui_privacy_tab); + QSizePolicy privacySizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); + sizePolicy.setHorizontalStretch(0); + sizePolicy.setVerticalStretch(0); + ui_privacy_policy->setSizePolicy(privacySizePolicy); + ui_privacy_policy->setPlainText(tr("Getting privacy policy...")); + ui_privacy_layout->addWidget(ui_privacy_policy); + update_values(); // When we're done, we should continue the updates! @@ -1150,6 +1174,15 @@ void AOOptionsDialog::update_values() { defaultMount->setFlags(Qt::ItemFlag::NoItemFlags); ui_mount_list->addItem(defaultMount); ui_mount_list->addItems(ao_app->get_mount_paths()); + + ui_privacy_optout_cb->setChecked(ao_app->get_player_count_optout()); + + ao_app->net_manager->request_document(MSDocumentType::PrivacyPolicy, [this](QString document) { + if (document.isEmpty()) { + document = tr("Couldn't get the privacy policy."); + } + ui_privacy_policy->setHtml(document); + }); } void AOOptionsDialog::save_pressed() @@ -1225,6 +1258,7 @@ void AOOptionsDialog::save_pressed() configini->setValue("casing_cm_enabled", ui_casing_cm_cb->isChecked()); configini->setValue("casing_can_host_cases", ui_casing_cm_cases_textbox->text()); + configini->setValue("player_count_optout", ui_privacy_optout_cb->isChecked()); QStringList mountPaths; for (int i = 1; i < ui_mount_list->count(); i++) @@ -1237,8 +1271,6 @@ void AOOptionsDialog::save_pressed() if (asset_cache_dirty) ao_app->invalidate_lookup_cache(); - callwordsini->close(); - // We most probably pressed "Restore defaults" at some point. Since we're saving our settings, remove the temporary file. if (QFile::exists(ao_app->get_base_path() + "config.temp")) QFile::remove(ao_app->get_base_path() + "config.temp"); |
