void MainWindow::newProject() { if(m_project) { if(!closeProject()) return; } //TODO show project wizard m_project = new Project(); m_project->setName("Test Project"); 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"); }
void SGMPluginsLocationView::onLineEditsChanged(){ for(int x = 0; x < fl_->rowCount(); x++){ QLineEdit *lineEdit = qobject_cast<QLineEdit*>(fl_->itemAt(x, QFormLayout::FieldRole)->widget()); if(lineEdit && (initialLineEdits_.at(x) != lineEdit->text()) ){ if(!unsavedChanges_){ unsavedChanges_ = true; emit unsavedChanges(true); } return; } } if(unsavedChanges_){ unsavedChanges_ = false; emit unsavedChanges(false); } }
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 SGMDetectorsMasterView::unsavedChangesHelper(bool newUnsavedChanges){ if(newUnsavedChanges != unsavedChanges_){ unsavedChanges_ = newUnsavedChanges; emit unsavedChanges(unsavedChanges_); } }