diff -r 68443f5be176 -r 44679e468ba9 src/mainwindow.cpp --- a/src/mainwindow.cpp Sat Oct 05 23:47:03 2019 +0300 +++ b/src/mainwindow.cpp Sun Nov 03 12:17:41 2019 +0200 @@ -7,6 +7,7 @@ #include "ui_mainwindow.h" #include "settingseditor/settingseditor.h" #include "version.h" +#include "document.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow{parent}, @@ -43,19 +44,21 @@ tr("LDraw models (*.ldr *.dat)")); if (not path.isEmpty()) { - QFile file{path}; - const bool open_result = file.open(QIODevice::ReadOnly); - if (open_result) + QString errorString; + QTextStream errorStream{&errorString}; + QString modelName = this->documents.openModel(path, errorStream); + if (not modelName.isEmpty()) { - QMessageBox::critical(this, "Not implemented", "This functionality is not done yet"); + Document* document = new Document{this->documents.findModelByName(modelName)}; + this->ui->tabs->addTab(document, modelName); } else { - const QString errorString = format( + const QString errorMessage = utility::format( tr("Could not open %1: %2"), path, - file.errorString()); - QMessageBox::critical(this, tr("Problem opening file"), errorString); + errorString); + QMessageBox::critical(this, tr("Problem opening file"), errorMessage); } } }