Example #1
0
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;
	}
}
Example #2
0
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;
}