410 { |
410 { |
411 recentlyOpenedFiles.removeLast(); |
411 recentlyOpenedFiles.removeLast(); |
412 } |
412 } |
413 saveSettings(); |
413 saveSettings(); |
414 updateRecentlyOpenedDocumentsMenu(); |
414 updateRecentlyOpenedDocumentsMenu(); |
|
415 }; |
|
416 const auto logMessage = [&ui](const Message& message){ |
|
417 QString messagetext = message.time.toString(QObject::tr("[hh:mm:ss]")); |
|
418 switch(message.type) { |
|
419 case Message::Info: |
|
420 messagetext += QObject::tr(" [INFO] "); |
|
421 break; |
|
422 case Message::Warning: |
|
423 messagetext += QObject::tr(" [WARN] "); |
|
424 break; |
|
425 case Message::Error: |
|
426 messagetext += QObject::tr(" [ERR!] "); |
|
427 break; |
|
428 } |
|
429 messagetext += message.text; |
|
430 ui.messageLog->append(messagetext); |
415 }; |
431 }; |
416 const auto openModelForEditing = [&](const ModelId modelId){ |
432 const auto openModelForEditing = [&](const ModelId modelId){ |
417 Model* model = documents.getModelById(modelId); |
433 Model* model = documents.getModelById(modelId); |
418 if (model != nullptr) { |
434 if (model != nullptr) { |
419 ModelData* data = new ModelData(&documents); |
435 ModelData* data = new ModelData(&documents); |
624 } |
640 } |
625 } |
641 } |
626 } |
642 } |
627 }); |
643 }); |
628 QObject::connect(ui.actionAboutQt, &QAction::triggered, &app, &QApplication::aboutQt); |
644 QObject::connect(ui.actionAboutQt, &QAction::triggered, &app, &QApplication::aboutQt); |
|
645 QObject::connect(&documents, &DocumentManager::message, logMessage); |
629 mainWindow.setWindowTitle(title()); |
646 mainWindow.setWindowTitle(title()); |
630 mainWindow.restoreGeometry(setting<Setting::MainWindowGeometry>()); |
647 mainWindow.restoreGeometry(setting<Setting::MainWindowGeometry>()); |
631 restoreSettings(); |
648 restoreSettings(); |
632 updateRenderPreferences(&ui, &renderPreferences, &documents); |
649 updateRenderPreferences(&ui, &renderPreferences, &documents); |
633 mainWindow.show(); |
650 mainWindow.show(); |