mirror of
https://github.com/86Box/86Box.git
synced 2026-02-24 10:28:19 -07:00
Manager: Don't allow changing the system directory when machines are running
This commit is contained in:
@@ -202,7 +202,8 @@ VMManagerMainWindow::vmmStateChanged(const VMManagerSystem *sysconfig) const
|
||||
void
|
||||
VMManagerMainWindow::preferencesTriggered()
|
||||
{
|
||||
const auto prefs = new VMManagerPreferences();
|
||||
bool machinesRunning = (vmm->getActiveMachineCount() > 0);
|
||||
const auto prefs = new VMManagerPreferences(this, machinesRunning);
|
||||
if (prefs->exec() == QDialog::Accepted) {
|
||||
emit preferencesUpdated();
|
||||
updateLanguage();
|
||||
|
||||
@@ -33,7 +33,7 @@ extern "C" {
|
||||
}
|
||||
|
||||
VMManagerPreferences::
|
||||
VMManagerPreferences(QWidget *parent)
|
||||
VMManagerPreferences(QWidget *parent, bool machinesRunning)
|
||||
: ui(new Ui::VMManagerPreferences)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
@@ -50,6 +50,12 @@ VMManagerPreferences::
|
||||
ui->systemDirectory->setText(QDir::toNativeSeparators(QDir(vmm_path).path()));
|
||||
}
|
||||
|
||||
if (machinesRunning) {
|
||||
ui->systemDirectory->setEnabled(false);
|
||||
ui->dirSelectButton->setEnabled(false);
|
||||
ui->dirSelectButton->setToolTip(tr("To change the system directory, stop all running machines."));
|
||||
}
|
||||
|
||||
ui->comboBoxLanguage->setItemData(0, 0);
|
||||
for (int i = 1; i < ProgSettings::languages.length(); i++) {
|
||||
ui->comboBoxLanguage->addItem(ProgSettings::languages[i].second, i);
|
||||
|
||||
@@ -26,7 +26,7 @@ QT_END_NAMESPACE
|
||||
class VMManagerPreferences final : public QDialog {
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit VMManagerPreferences(QWidget *parent = nullptr);
|
||||
explicit VMManagerPreferences(QWidget *parent = nullptr, bool machinesRunning = false);
|
||||
~VMManagerPreferences() override;
|
||||
|
||||
private:
|
||||
|
||||
Reference in New Issue
Block a user