From d847e6bf7929c8565bff4e17d9fd077b8e0ca74d Mon Sep 17 00:00:00 2001 From: Stefan Suhren Date: Mon, 8 Jun 2015 10:27:31 +0200 Subject: Add XML files for reading and writing --- mainwindow.cpp | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) (limited to 'mainwindow.cpp') diff --git a/mainwindow.cpp b/mainwindow.cpp index 656b8c9..5df38a5 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -6,6 +6,7 @@ MainWindow::MainWindow(QWidget *parent) : ui(new Ui::MainWindow) { ui->setupUi(this); + lastUsedFile = NULL; } MainWindow::~MainWindow() @@ -42,6 +43,57 @@ void MainWindow::on_actionPreferences_triggered() delete tmp; } +void MainWindow::on_actionLoad_triggered() +{ + QString fileName = QFileDialog::getOpenFileName(this, tr("Load an XML file"), + QStandardPaths::standardLocations(QStandardPaths::HomeLocation).at(0), + tr("XML File (*.xml *.Xml *.XML)"), 0, QFileDialog::DontUseNativeDialog); + + if(lastUsedFile) + { + delete lastUsedFile; + lastUsedFile = NULL; + } + + lastUsedFile = new QFile(fileName); + + if (lastUsedFile->exists()) + { + ui->interactionCanvasPlaceholder->read(lastUsedFile); + } + +} + +void MainWindow::on_actionSave_triggered() +{ + if (!lastUsedFile) + { + on_actionSave_As_triggered(); + } + + lastUsedFile->open(QFile::ReadWrite | QFile::Truncate); + + ui->interactionCanvasPlaceholder->write(lastUsedFile); + + lastUsedFile->close(); +} + +void MainWindow::on_actionSave_As_triggered() +{ + QString fileName = QFileDialog::getSaveFileName(this, tr("Load an XML file"), + QStandardPaths::standardLocations(QStandardPaths::HomeLocation).at(0), + tr("XML File (*.xml *.Xml *.XML)"), 0, QFileDialog::DontUseNativeDialog); + + if (lastUsedFile) + { + delete lastUsedFile; + lastUsedFile = NULL; + } + + lastUsedFile = new QFile(fileName); + + on_actionSave_triggered(); +} void MainWindow::on_actionLanguage_triggered() { @@ -100,7 +152,7 @@ void MainWindow::mouseMoveEvent(QMouseEvent *mouseEvent) qDebug() << "MainWindow:" << mouseEvent->pos(); } -void MainWindow::loadLanguage(const QString& rLanguageFile) +void MainWindow::loadLanguage(const QString &rLanguageFile) { // remove the old translator qApp->removeTranslator(&m_translator); -- cgit v1.2.3-70-g09d2