summaryrefslogtreecommitdiff
path: root/src/settingsdialognexus.cpp
diff options
context:
space:
mode:
authorisanae <14251494+isanae@users.noreply.github.com>2020-12-28 01:25:33 -0500
committerisanae <14251494+isanae@users.noreply.github.com>2020-12-28 01:25:33 -0500
commit51db1f99f0c4cddc0af224d46d6e5679d18d2a53 (patch)
treeddb11e4aef19b1d428c9f71bdc734e59b2e2d25d /src/settingsdialognexus.cpp
parent106ed49baecc60dbdf4844ed684df750e5caf3aa (diff)
custom browser command
changed some places that used QDesktopServices to use shell::Open() from uibase instead
Diffstat (limited to 'src/settingsdialognexus.cpp')
-rw-r--r--src/settingsdialognexus.cpp37
1 files changed, 33 insertions, 4 deletions
diff --git a/src/settingsdialognexus.cpp b/src/settingsdialognexus.cpp
index 461ff8d6..48827a0e 100644
--- a/src/settingsdialognexus.cpp
+++ b/src/settingsdialognexus.cpp
@@ -300,6 +300,8 @@ NexusSettingsTab::NexusSettingsTab(Settings& s, SettingsDialog& d)
ui->endorsementBox->setChecked(settings().nexus().endorsementIntegration());
ui->trackedBox->setChecked(settings().nexus().trackedIntegration());
ui->hideAPICounterBox->setChecked(settings().interface().hideAPICounter());
+ ui->useCustomBrowser->setChecked(settings().network().useCustomBrowser());
+ ui->browserCommand->setText(settings().network().customBrowserCommand());
// display server preferences
for (const auto& server : s.network().servers()) {
@@ -345,10 +347,13 @@ NexusSettingsTab::NexusSettingsTab(Settings& s, SettingsDialog& d)
[&]{ dialog().setExitNeeded(Exit::Restart); });
- QObject::connect(ui->clearCacheButton, &QPushButton::clicked, [&]{ on_clearCacheButton_clicked(); });
- QObject::connect(ui->associateButton, &QPushButton::clicked, [&]{ on_associateButton_clicked(); });
+ QObject::connect(ui->clearCacheButton, &QPushButton::clicked, [&]{ clearCache(); });
+ QObject::connect(ui->associateButton, &QPushButton::clicked, [&]{ associate(); });
+ QObject::connect(ui->useCustomBrowser, &QCheckBox::clicked, [&]{ updateCustomBrowser(); });
+ QObject::connect(ui->browseCustomBrowser, &QPushButton::clicked, [&]{ browseCustomBrowser(); });
updateNexusData();
+ updateCustomBrowser();
}
void NexusSettingsTab::update()
@@ -358,6 +363,8 @@ void NexusSettingsTab::update()
settings().nexus().setEndorsementIntegration(ui->endorsementBox->isChecked());
settings().nexus().setTrackedIntegration(ui->trackedBox->isChecked());
settings().interface().setHideAPICounter(ui->hideAPICounterBox->isChecked());
+ settings().network().setUseCustomBrowser(ui->useCustomBrowser->isChecked());
+ settings().network().setCustomBrowserCommand(ui->browserCommand->text());
auto servers = settings().network().servers();
@@ -407,13 +414,13 @@ void NexusSettingsTab::update()
settings().network().updateServers(servers);
}
-void NexusSettingsTab::on_clearCacheButton_clicked()
+void NexusSettingsTab::clearCache()
{
QDir(Settings::instance().paths().cache()).removeRecursively();
NexusInterface::instance().clearCache();
}
-void NexusSettingsTab::on_associateButton_clicked()
+void NexusSettingsTab::associate()
{
Settings::instance().nexus().registerAsNXMHandler(true);
}
@@ -442,3 +449,25 @@ void NexusSettingsTab::updateNexusData()
ui->nexusHourlyRequests->setText(QObject::tr("N/A"));
}
}
+
+void NexusSettingsTab::updateCustomBrowser()
+{
+ ui->browserCommand->setEnabled(ui->useCustomBrowser->isChecked());
+}
+
+void NexusSettingsTab::browseCustomBrowser ()
+{
+ const QString Filters =
+ QObject::tr("Executables (*.exe)") + ";;" +
+ QObject::tr("All Files (*.*)");
+
+ QString file = QFileDialog::getOpenFileName(
+ parentWidget(), QObject::tr("Select the browser executable"),
+ ui->browserCommand->text(), Filters);
+
+ if (file.isNull() || file == "") {
+ return;
+ }
+
+ ui->browserCommand->setText(file + " \"%1\"");
+}