diff --git a/groundStation/gui/MicroCART/mainwindow.cpp b/groundStation/gui/MicroCART/mainwindow.cpp index e4916dcbeeb7a0dc8264ab3c655a55b2360ab878..e69b03a4fc52ed506cac172cb0b9887d444940fd 100644 --- a/groundStation/gui/MicroCART/mainwindow.cpp +++ b/groundStation/gui/MicroCART/mainwindow.cpp @@ -360,3 +360,36 @@ void MainWindow::on_pbInsertSetpoint_clicked() findChild<QLineEdit *>("zSetpoint")->text() + "]"); setpointList->insertRow(current, new QStandardItem(str)); } + +void MainWindow::on_pbSaveWaypoints_clicked() +{ + QString savePath = QFileDialog::getSaveFileName(this); + + if (!savePath.isEmpty()) { + QFile f(savePath); + f.open(QIODevice::WriteOnly | QIODevice::Text); + for (int i= 0; i < setpointList->rowCount(); i++) { + f.write(setpointList->item(i)->text().toAscii()); + f.write("\n"); + } + f.close(); + } +} + +void MainWindow::on_pbLoadWaypoints_clicked() +{ + QString openPath = QFileDialog::getOpenFileName(this); + + if (!openPath.isEmpty()) { + QFile f(openPath); + f.open(QIODevice::ReadOnly | QIODevice::Text); + + setpointList->clear(); + while (!f.atEnd()) { + QString line = f.readLine(); + line.chop(1); + setpointList->appendRow(new QStandardItem(line)); + } + f.close(); + } +} diff --git a/groundStation/gui/MicroCART/mainwindow.h b/groundStation/gui/MicroCART/mainwindow.h index 1e65d517480bb8ec8013f6be7ff1ded6f425d579..abdbd1d3d473d522203a8fe1df0d27f7592f3e44 100644 --- a/groundStation/gui/MicroCART/mainwindow.h +++ b/groundStation/gui/MicroCART/mainwindow.h @@ -65,6 +65,10 @@ private slots: void on_pbInsertSetpoint_clicked(); + void on_pbSaveWaypoints_clicked(); + + void on_pbLoadWaypoints_clicked(); + private: Ui::MainWindow *ui; pid_t backendPid;