diff -r 9266239cf72b -r 99af8bf63d10 src/main.cpp --- a/src/main.cpp Tue Jun 28 12:47:46 2022 +0300 +++ b/src/main.cpp Tue Jun 28 13:03:21 2022 +0300 @@ -588,13 +588,13 @@ } }); QObject::connect(ui.actionSettingsEditor, &QAction::triggered, [&]{ - SettingsEditor* settingsEditor = new SettingsEditor{defaultKeyboardShortcuts, &mainWindow}; - QObject::connect(&settingsChanged, &Signal::triggered, settingsEditor, &SettingsEditor::loadSettings); - QObject::connect(settingsEditor, &SettingsEditor::settingsChanged, restoreSettings); - auto subwindow = new QMdiSubWindow{ui.mdiArea}; - subwindow->setAttribute(Qt::WA_DeleteOnClose); - subwindow->setWidget(settingsEditor); - subwindow->show(); + if (ui.mdiArea->findChildren().isEmpty()) { + SettingsEditor* settingsEditor = new SettingsEditor{defaultKeyboardShortcuts, ui.mdiArea}; + QObject::connect(&settingsChanged, &Signal::triggered, settingsEditor, &SettingsEditor::loadSettings); + QObject::connect(settingsEditor, &SettingsEditor::settingsChanged, restoreSettings); + settingsEditor->setAttribute(Qt::WA_DeleteOnClose); + settingsEditor->show(); + } }); QObject::connect(ui.actionQuit, &QAction::triggered, &mainWindow, &QMainWindow::close); #if 0