void MainWindow::saveProjectAs() { QString fileName = QFileDialog::getSaveFileName(this, tr("Save DES Project"), QDir::currentPath(), tr("DES Files (*.xml)")); if (fileName.isEmpty()) return; QFile file(fileName); if (!file.open(QFile::WriteOnly | QFile::Text)) { QMessageBox::warning(this, tr("DES Project Writer"), tr("Cannot write file %1:\n%2.") .arg(fileName) .arg(file.errorString())); return; } m_project->setFileName(fileName); ProjectSerializer serializer; if(serializer.saveProject(m_project, &file)) statusBar()->showMessage(tr("Project saved"), 20000); m_unsavedChanges = false; }
void ProjectController::save() { if (!m_project->hasFileName()) throw NoFileNameException(); ProjectSerializer serializer; serializer.save(m_project->fileName(), m_project.data()); m_isModified = false; emit changed(); }
void ProjectController::save() { if (!_project->hasFileName()) { throw NoFileNameException(); } ProjectSerializer serializer; serializer.save(_project->getFileName(), _project.data()); _is_modified = false; emit changed(); }
void ProjectController::load() { if (isModified()) { throw ProjectIsModifiedException(); } if (!m_project->hasFileName()) { throw NoFileNameException(); } ProjectSerializer serializer; serializer.load(m_project->fileName(), m_project.data()); m_isModified = false; emit changed(); }
void MainWindow::openProject() { if(m_project) if(!closeProject()) return; QString fileName = QFileDialog::getOpenFileName(this, tr("Open DES Project"), QDir::currentPath(), tr("DES Files (*.xml)")); if (fileName.isEmpty()) return; QFile file(fileName); if (!file.open(QFile::ReadOnly | QFile::Text)) { QMessageBox::warning(this, tr("DES Project Reader"), tr("Cannot open file %1:\n%2.") .arg(fileName) .arg(file.errorString())); return; } ProjectSerializer serializer; m_project = serializer.loadProject(&file); if(m_project) { statusBar()->showMessage(tr("Project opened"), 20000); m_project->setFileName(fileName); connect (m_project, SIGNAL(projectChanged()), this, SLOT(unsavedChanges())); showProjectView(); m_unsavedChanges = false; ui->actSaveProject->setEnabled(true); ui->actSaveProjectAs->setEnabled(true); ui->actCloseProject->setEnabled(true); ui->actImportAutomaton->setEnabled(true); ui->menuAutomata->setEnabled(true); ui->menuServer->setEnabled(true); ui->actShowSettings->setEnabled(true); ui->actDeleteAutomaton->setEnabled(true); m_projectWidget->setMode("unknown"); } else { delete m_project; m_project = 0; } }
void MainWindow::saveProject() { if(m_project->fileName().isEmpty()) saveProjectAs(); else { QFile file(m_project->fileName()); if (!file.open(QFile::WriteOnly | QFile::Text)) { QMessageBox::warning(this, tr("DES Project Writer"), tr("Cannot write file %1:\n%2.") .arg(m_project->fileName()) .arg(file.errorString())); return; } ProjectSerializer serializer; if(serializer.saveProject(m_project, &file)) statusBar()->showMessage(tr("Project saved"), 20000); m_unsavedChanges = false; } }