bool MainWindow::maybeSaveTab(int index) { TaskTreeWidget *taskTreeWidget = qobject_cast<TaskTreeWidget *>(ui->tabWidget->widget(index)); if ( !taskTreeWidget->isModified() ) return true; QMessageBox::StandardButton ret; ret = QMessageBox::warning(this, tr("Tasklist have been modified"), tr("Do you want to save changes?"), QMessageBox::Save|QMessageBox::Discard|QMessageBox::Cancel); switch ( ret ) { case QMessageBox::Save: return saveTaskList(index); break; case QMessageBox::Cancel: return false; break; default: return true; break; } }
void MainWindow::saveAsFile() { saveTaskList(ui->tabWidget->currentIndex(), true); }
bool TaskFileManagerOld::loadTaskList( QList<FlightTask*>& flightTaskList, QString fileName ) { while( ! flightTaskList.isEmpty() ) { // Clears the list as first. delete flightTaskList.takeFirst(); } QString fn; if( fileName.isEmpty() ) { // Use task default file name fn = m_taskFileName; } QFile f( fn ); if ( ! f.open( QIODevice::ReadOnly ) ) { qWarning() << __FUNCTION__ << "Could not open task-file:" << fn; return false; } QTextStream stream( &f ); // Read the first line to decide, which format version should be read. QString head = stream.readLine().trimmed(); f.close(); loadTaskListNew( flightTaskList, fileName ); bool save = false; // First and last point of the task have to be removed, if they are identically // to its successor or predecessor for( int i = 0; i < flightTaskList.size(); i++ ) { QList<TaskPoint *>&taskList = flightTaskList.at(i)->getTpList(); if( taskList.size() >= 4 ) { if( taskList.at(0)->getWGSPosition() == taskList.at(1)->getWGSPosition() ) { save = true; TaskPoint *item = taskList.takeFirst(); if( item != 0 ) { delete item; } } if( taskList.at(taskList.size() - 2)->getWGSPosition() == taskList.at(taskList.size() - 1)->getWGSPosition() ) { save = true; TaskPoint *item = taskList.takeLast(); if( item != 0 ) { delete item; } } } } if( save == true ) { // Save migrated task list saveTaskList( flightTaskList ); } return true; }