Skip to content

Commit cd9c2f2

Browse files
author
Thomas Witte
committed
save/load Änderungen für Studie
1 parent 2bfbb30 commit cd9c2f2

2 files changed

Lines changed: 22 additions & 6 deletions

File tree

interactive_script/src/interactive_script_plugin/blocklybridge.cpp

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#include "interactive_script/blocklybridge.h"
2+
#include "interactive_script/load_save_util.h"
23

34
BlocklyBridge::BlocklyBridge(QObject *parent) : QObject(parent)
45
{
@@ -22,12 +23,16 @@ void BlocklyBridge::on_event(const QString& type, const QString& workspace_id, c
2223
}
2324

2425
void BlocklyBridge::state_changed(const QString& xml, const QString& lua) {
25-
std::cout << xml.toStdString() << std::endl;
26-
std::cout << lua.toStdString() << std::endl;
26+
// std::cout << xml.toStdString() << std::endl;
27+
// std::cout << lua.toStdString() << std::endl;
2728
if (editor) {
2829
editor->setPlainText(lua);
2930
}
3031
current_xml = xml;
32+
33+
using namespace load_save;
34+
Filename f {"/data/autosave_" + std::to_string(time(nullptr)) + ".xml", Filename::XML};
35+
save_file(f, xml.toStdString());
3136
}
3237

3338
void BlocklyBridge::setEditor(QPlainTextEdit *editor) {

interactive_script/src/interactive_script_plugin/interactive_script_plugin.cpp

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#include <QStringList>
99
#include <QTimer>
1010
#include <QTextCursor>
11+
#include <QDir>
1112

1213
namespace interactive_script_plugin
1314
{
@@ -103,6 +104,9 @@ void InteractiveScriptGui::initPlugin(qt_gui_cpp::PluginContext& context)
103104
timer2->start();
104105
connect(timer2, &QTimer::timeout,
105106
this, &InteractiveScriptGui::updateTf);
107+
108+
// save the configuation at application start, to prevent loading the last subjects's solution
109+
on_save();
106110
}
107111

108112
void InteractiveScriptGui::shutdownPlugin()
@@ -247,7 +251,7 @@ void InteractiveScriptGui::updateTf() {
247251

248252
void InteractiveScriptGui::on_save() {
249253
using namespace load_save;
250-
if(auto file = save_dialog(ui_.tabWidget->currentWidget() == ui_.blockly_tab)) {
254+
/*if(auto file = save_dialog(ui_.tabWidget->currentWidget() == ui_.blockly_tab)) {
251255
switch (file->format) {
252256
case Filename::XML:
253257
save_file(*file, ui_.blockly_widget->xml().toStdString());
@@ -258,12 +262,15 @@ void InteractiveScriptGui::on_save() {
258262
ui_.tabWidget->setCurrentWidget(ui_.code_tab);
259263
break;
260264
}
261-
}
265+
}*/
266+
267+
Filename f {"/data/save_" + std::to_string(time(nullptr)) + ".xml", Filename::XML};
268+
save_file(f, ui_.blockly_widget->xml().toStdString());
262269
}
263270

264271
void InteractiveScriptGui::on_load() {
265272
using namespace load_save;
266-
if (auto file = load_dialog()) {
273+
/* if (auto file = load_dialog()) {
267274
switch (file->format) {
268275
case Filename::XML:
269276
ui_.blockly_widget->loadXml(QString::fromStdString(load_file(*file)));
@@ -274,7 +281,11 @@ void InteractiveScriptGui::on_load() {
274281
ui_.tabWidget->setCurrentWidget(ui_.code_tab);
275282
break;
276283
}
277-
}
284+
}*/
285+
286+
Filename f {QDir("/data", "save_*.xml").entryList().back().toStdString(), Filename::XML};
287+
ui_.blockly_widget->loadXml(QString::fromStdString(load_file(f)));
288+
ui_.tabWidget->setCurrentWidget(ui_.blockly_tab);
278289
}
279290

280291
bool InteractiveScriptGui::hasConfiguration() const {

0 commit comments

Comments
 (0)