void ManageProjectsDialog::initialize() { setupUi(this); this->updateList(); //connecting signals connect(this->closeButton,SIGNAL(clicked()),this,SLOT(close())); connect(this->newButton,SIGNAL(clicked()),this,SLOT(newProject())); connect(this->editButton,SIGNAL(clicked()),this,SLOT(editProject())); }
void MainWindow::on_openProject_triggered() { int msg; if(project != nullptr && !project->getSaved()) { msg = NotSavedMessage(); if(msg == QMessageBox::Cancel) { return; } else if(msg == QMessageBox::Save) { on_saveProject_triggered(); if(!project->getSaved()) { return; } } } QString filename = QFileDialog::getOpenFileName(this,tr("Load Project"), ".", tr(".json Files (*.json)")); if(filename != "") { std::cout << "Open project:" << filename.toStdString() << std::endl; if(!searchForRecentProjects(filename)) { recentProjects.push_back(filename); } QFile file(filename); file.open(QFile::OpenModeFlag::ReadOnly); QJsonDocument doc = QJsonDocument::fromJson(file.readAll()); QVariantMap map = doc.toVariant().toMap(); Room* temp = new Room(); temp->fromVariantMap(ui->OpenGLWIndow , map); file.close(); editProject(temp); } }
void MainWindow::OpenRecentProjects() { QObject * sender = QObject::sender(); for(int i = 0; i < recentProjectsQActions.size(); i++) { if(recentProjectsQActions.at(i) == sender) { int msg; if(project != nullptr && !project->getSaved()) { msg = NotSavedMessage(); if(msg == QMessageBox::Cancel) { return; } else if(msg == QMessageBox::Save) { on_saveProject_triggered(); if(!project->getSaved()) { return; } } } QFile file(recentProjects[i]); file.open(QFile::OpenModeFlag::ReadOnly); QJsonDocument doc = QJsonDocument::fromJson(file.readAll()); QVariantMap map = doc.toVariant().toMap(); Room * temp = new Room(); temp->fromVariantMap(ui->OpenGLWIndow , map); file.close(); editProject(temp); } } }
void MainWindow::on_editProject_triggered() { editProject(project); }