src/main.cpp

changeset 285
99af8bf63d10
parent 284
9266239cf72b
child 286
04478da357d0
--- 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<SettingsEditor*>().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

mercurial