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