diff --git a/src/qt/qt_vmmanager_preferences.cpp b/src/qt/qt_vmmanager_preferences.cpp
index 77d5d1657..df30aec6c 100644
--- a/src/qt/qt_vmmanager_preferences.cpp
+++ b/src/qt/qt_vmmanager_preferences.cpp
@@ -29,6 +29,7 @@ extern WindowsDarkModeFilter *vmm_dark_mode_filter;
extern "C" {
#include <86box/86box.h>
#include <86box/config.h>
+#include <86box/plat.h>
#include <86box/version.h>
}
@@ -53,6 +54,7 @@ VMManagerPreferences::
if (machinesRunning) {
ui->systemDirectory->setEnabled(false);
ui->dirSelectButton->setEnabled(false);
+ ui->pushButtonDefaultSystemDir->setEnabled(false);
ui->dirSelectButton->setToolTip(tr("To change the system directory, stop all running machines."));
}
@@ -97,6 +99,14 @@ VMManagerPreferences::chooseDirectoryLocation()
ui->systemDirectory->setText(QDir::toNativeSeparators(directory));
}
+void
+VMManagerPreferences::on_pushButtonDefaultSystemDir_released()
+{
+ char temp[1024];
+ plat_get_vmm_dir(temp, sizeof(temp));
+ ui->systemDirectory->setText(QDir::toNativeSeparators(QDir(temp).path()));
+}
+
void
VMManagerPreferences::on_pushButtonLanguage_released()
{
diff --git a/src/qt/qt_vmmanager_preferences.hpp b/src/qt/qt_vmmanager_preferences.hpp
index 1ddeedb51..cbb7c5f61 100644
--- a/src/qt/qt_vmmanager_preferences.hpp
+++ b/src/qt/qt_vmmanager_preferences.hpp
@@ -34,6 +34,7 @@ private:
QString settingsFile;
private slots:
void chooseDirectoryLocation();
+ void on_pushButtonDefaultSystemDir_released();
void on_pushButtonLanguage_released();
protected:
diff --git a/src/qt/qt_vmmanager_preferences.ui b/src/qt/qt_vmmanager_preferences.ui
index 7206b79bf..a4d526f8c 100644
--- a/src/qt/qt_vmmanager_preferences.ui
+++ b/src/qt/qt_vmmanager_preferences.ui
@@ -56,6 +56,36 @@
+ -
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+ Default
+
+
+
+
+
-
@@ -170,6 +200,7 @@
dirSelectButton
+ pushButtonDefaultSystemDir
comboBoxLanguage
pushButtonLanguage
rememberSizePositionCheckBox