diff -r afed72b544f0 -r f2dc3bbecbfa src/main.cpp --- a/src/main.cpp Tue Jun 28 11:51:17 2022 +0300 +++ b/src/main.cpp Tue Jun 28 12:18:00 2022 +0300 @@ -566,6 +566,7 @@ QObject::connect(data->canvas.get(), &PartRenderer::message, &messageLog, &MessageLog::addMessage); const QFileInfo fileInfo{*documents.modelPath(modelId)}; ModelSubWindow* subWindow = new ModelSubWindow{modelId, ui.mdiArea}; + subWindow->setMinimumSize({96, 96}); subWindow->setWidget(data->canvas.get()); subWindow->setWindowTitle(tabName(fileInfo)); subWindow->show(); @@ -586,12 +587,13 @@ } }); QObject::connect(ui.actionSettingsEditor, &QAction::triggered, [&]{ - SettingsEditor settingsEditor{defaultKeyboardShortcuts, &mainWindow}; - const int result = settingsEditor.exec(); - if (result == QDialog::Accepted) - { - restoreSettings(); - } + 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(); }); QObject::connect(ui.actionQuit, &QAction::triggered, &mainWindow, &QMainWindow::close); #if 0 @@ -715,6 +717,9 @@ } } } + else { + checkEditingModeAction(EditingMode::SelectMode); + } updateTitle(); }); ui.messageLog->setModel(&messageLog);