summaryrefslogtreecommitdiffstats
path: root/mainwindow.cpp
diff options
context:
space:
mode:
authorStefan Suhren <suhren.stefan@fh-swf.de>2015-06-08 10:27:31 +0200
committerStefan Suhren <suhren.stefan@fh-swf.de>2015-06-08 10:27:31 +0200
commitd847e6bf7929c8565bff4e17d9fd077b8e0ca74d (patch)
treeb3b06f5ecb08251d7ea1660ce5318a7eb38271b5 /mainwindow.cpp
parent45813562e266cf8e58ea9cb04f655bbb542a555e (diff)
downloadGUI_SS2015-d847e6bf7929c8565bff4e17d9fd077b8e0ca74d.tar.gz
GUI_SS2015-d847e6bf7929c8565bff4e17d9fd077b8e0ca74d.zip
Add XML files for reading and writing
Diffstat (limited to 'mainwindow.cpp')
-rw-r--r--mainwindow.cpp54
1 files changed, 53 insertions, 1 deletions
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);