summaryrefslogtreecommitdiff
path: root/utils/themeeditor/skindocument.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'utils/themeeditor/skindocument.cpp')
-rw-r--r--utils/themeeditor/skindocument.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/utils/themeeditor/skindocument.cpp b/utils/themeeditor/skindocument.cpp
index 2e4f6f4..8617030 100644
--- a/utils/themeeditor/skindocument.cpp
+++ b/utils/themeeditor/skindocument.cpp
@@ -24,6 +24,8 @@
#include <QFile>
#include <QTimer>
#include <QSettings>
+#include <QMessageBox>
+#include <QFileDialog>
SkinDocument::SkinDocument(QWidget *parent) :
QWidget(parent)
@@ -43,6 +45,7 @@ SkinDocument::~SkinDocument()
bool SkinDocument::requestClose()
{
+ saveAs();
return true;
}
@@ -99,5 +102,22 @@ void SkinDocument::save()
void SkinDocument::saveAs()
{
/* Determining the directory to open */
+ QSettings settings;
+ settings.beginGroup("SkinDocument");
+ QString openDir = settings.value("defaultDirectory", "").toString();
+
+ fileName = QFileDialog::getSaveFileName(this, tr("Save File"), openDir,"");
+ QString directory = fileName;
+ directory.chop(fileName.length() - fileName.lastIndexOf('/') - 1);
+ settings.setValue("defaultDirectory", directory);
+
+ settings.endGroup();
+
+ QFile fout(fileName);
+ fout.open(QFile::WriteOnly);
+ fout.write(editor->document()->toPlainText().toAscii());
+ fout.close();
+
+ saved = true;
}