diff --git a/launcher/Application.cpp b/launcher/Application.cpp
index 2c0c3fca5..7ae66e13a 100644
--- a/launcher/Application.cpp
+++ b/launcher/Application.cpp
@@ -559,6 +559,7 @@ Application::Application(int& argc, char** argv) : QApplication(argc, argv)
m_settings->registerSetting("NumberOfConcurrentTasks", 10);
m_settings->registerSetting("NumberOfConcurrentDownloads", 6);
+ m_settings->registerSetting("RequestTimeout", 60);
QString defaultMonospace;
int defaultSize = 11;
diff --git a/launcher/net/NetRequest.cpp b/launcher/net/NetRequest.cpp
index 36d3bdb25..203f1f950 100644
--- a/launcher/net/NetRequest.cpp
+++ b/launcher/net/NetRequest.cpp
@@ -107,7 +107,11 @@ void NetRequest::executeTask()
}
#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)
+#if defined(LAUNCHER_APPLICATION)
+ request.setTransferTimeout(APPLICATION->settings()->get("RequestTimeout").toInt() * 1000);
+#else
request.setTransferTimeout();
+#endif
#endif
m_last_progress_time = m_clock.now();
diff --git a/launcher/ui/pages/global/LauncherPage.cpp b/launcher/ui/pages/global/LauncherPage.cpp
index 04e27fd76..6b32e9849 100644
--- a/launcher/ui/pages/global/LauncherPage.cpp
+++ b/launcher/ui/pages/global/LauncherPage.cpp
@@ -203,6 +203,7 @@ void LauncherPage::applySettings()
s->set("NumberOfConcurrentTasks", ui->numberOfConcurrentTasksSpinBox->value());
s->set("NumberOfConcurrentDownloads", ui->numberOfConcurrentDownloadsSpinBox->value());
+ s->set("RequestTimeout", ui->timeoutSecondsSpinBox->value());
// Console settings
s->set("ShowConsole", ui->showConsoleCheck->isChecked());
@@ -259,6 +260,7 @@ void LauncherPage::loadSettings()
ui->numberOfConcurrentTasksSpinBox->setValue(s->get("NumberOfConcurrentTasks").toInt());
ui->numberOfConcurrentDownloadsSpinBox->setValue(s->get("NumberOfConcurrentDownloads").toInt());
+ ui->timeoutSecondsSpinBox->setValue(s->get("RequestTimeout").toInt());
// Console settings
ui->showConsoleCheck->setChecked(s->get("ShowConsole").toBool());
diff --git a/launcher/ui/pages/global/LauncherPage.ui b/launcher/ui/pages/global/LauncherPage.ui
index 2d96c3a84..1f49a831f 100644
--- a/launcher/ui/pages/global/LauncherPage.ui
+++ b/launcher/ui/pages/global/LauncherPage.ui
@@ -7,7 +7,7 @@
0
0
511
- 629
+ 691
@@ -252,6 +252,13 @@
Miscellaneous
+ -
+
+
+ 1
+
+
+
-
@@ -273,10 +280,20 @@
- -
-
-
- 1
+
-
+
+
+ Seconds to wait until the requests are terminated
+
+
+ Timeout for HTTP requests
+
+
+
+ -
+
+
+ s