summaryrefslogtreecommitdiff
path: root/src/plugins/macros/macro.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/macros/macro.cpp')
-rw-r--r--src/plugins/macros/macro.cpp26
1 files changed, 18 insertions, 8 deletions
diff --git a/src/plugins/macros/macro.cpp b/src/plugins/macros/macro.cpp
index 5c9f7996ce..81ddda5822 100644
--- a/src/plugins/macros/macro.cpp
+++ b/src/plugins/macros/macro.cpp
@@ -35,6 +35,8 @@
#include <coreplugin/coreconstants.h>
+#include <utils/fileutils.h>
+
#include <QtCore/QFileInfo>
#include <QtCore/QDataStream>
@@ -101,10 +103,10 @@ Macro& Macro::operator=(const Macro &other)
return *this;
}
-void Macro::load(QString fileName)
+bool Macro::load(QString fileName)
{
if (d->events.count())
- return; // the macro is not empty
+ return true; // the macro is not empty
// Take the current filename if the parameter is null
if (fileName.isNull())
@@ -123,10 +125,12 @@ void Macro::load(QString fileName)
macroEvent.load(stream);
append(macroEvent);
}
+ return true;
}
+ return false;
}
-void Macro::loadHeader(const QString &fileName)
+bool Macro::loadHeader(const QString &fileName)
{
d->fileName = fileName;
QFile file(fileName);
@@ -134,21 +138,27 @@ void Macro::loadHeader(const QString &fileName)
QDataStream stream(&file);
stream >> d->version;
stream >> d->description;
+ return true;
}
+ return false;
}
-void Macro::save(const QString &fileName)
+bool Macro::save(const QString &fileName, QWidget *parent)
{
- QFile file(fileName);
- if (file.open(QFile::WriteOnly)) {
- QDataStream stream(&file);
+ Utils::FileSaver saver(fileName);
+ if (!saver.hasError()) {
+ QDataStream stream(saver.file());
stream << d->version;
stream << d->description;
foreach (const MacroEvent &event, d->events) {
event.save(stream);
}
- d->fileName = fileName;
+ saver.setResult(&stream);
}
+ if (!saver.finalize(parent))
+ return false;
+ d->fileName = fileName;
+ return true;
}
QString Macro::displayName() const