From 62646983869c36aae9155cc42acba16b9650b40e Mon Sep 17 00:00:00 2001 From: Jake <j@kedrahos.com> Date: Fri, 14 Apr 2017 20:52:50 -0500 Subject: [PATCH] Save/Load --- groundStation/gui/MicroCART/mainwindow.cpp | 33 ++++++++++++++++++++++ groundStation/gui/MicroCART/mainwindow.h | 4 +++ 2 files changed, 37 insertions(+) diff --git a/groundStation/gui/MicroCART/mainwindow.cpp b/groundStation/gui/MicroCART/mainwindow.cpp index e4916dcbe..e69b03a4f 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 1e65d5174..abdbd1d3d 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; -- GitLab