summaryrefslogtreecommitdiff
path: root/src/plugins/macros/macromanager.cpp
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@nokia.com>2011-03-30 15:15:15 +0200
committerOswald Buddenhagen <oswald.buddenhagen@nokia.com>2011-04-18 14:10:14 +0200
commit45c9cf7a1298feed925d18596c30ac9c6cd1dac5 (patch)
tree6f484122011b76a5f3a2f1915b7b308b1f5058ea /src/plugins/macros/macromanager.cpp
parentfae7dc9584b4e2f2192f8b7a71c428fcaa2ddb70 (diff)
downloadqt-creator-45c9cf7a1298feed925d18596c30ac9c6cd1dac5.tar.gz
add/unify i/o error handling
lots of use of Utils::FileSaver and Utils::FileReader Task-number: QTCREATORBUG-1619
Diffstat (limited to 'src/plugins/macros/macromanager.cpp')
-rw-r--r--src/plugins/macros/macromanager.cpp20
1 files changed, 11 insertions, 9 deletions
diff --git a/src/plugins/macros/macromanager.cpp b/src/plugins/macros/macromanager.cpp
index 4320a9a862..a801478d86 100644
--- a/src/plugins/macros/macromanager.cpp
+++ b/src/plugins/macros/macromanager.cpp
@@ -152,8 +152,10 @@ void MacroManager::MacroManagerPrivate::initialize()
foreach (const QString &name, files) {
QString fileName = dir.absolutePath() + '/' + name;
Macro *macro = new Macro;
- macro->loadHeader(fileName);
- addMacro(macro);
+ if (macro->loadHeader(fileName))
+ addMacro(macro);
+ else
+ delete macro;
}
}
@@ -190,9 +192,10 @@ void MacroManager::MacroManagerPrivate::removeMacro(const QString &name)
void MacroManager::MacroManagerPrivate::changeMacroDescription(Macro *macro, const QString &description)
{
- macro->load();
+ if (!macro->load())
+ return;
macro->setDescription(description);
- macro->save(macro->fileName());
+ macro->save(macro->fileName(), Core::ICore::instance()->mainWindow());
// Change shortcut what's this
Core::ICore *core = Core::ICore::instance();
@@ -205,9 +208,10 @@ void MacroManager::MacroManagerPrivate::changeMacroDescription(Macro *macro, con
bool MacroManager::MacroManagerPrivate::executeMacro(Macro *macro)
{
- macro->load();
- bool error = false;
+ bool error = !macro->load();
foreach (const MacroEvent &macroEvent, macro->events()) {
+ if (error)
+ break;
foreach (IMacroHandler *handler, handlers) {
if (handler->canExecuteEvent(macroEvent)) {
if (!handler->executeEvent(macroEvent))
@@ -215,8 +219,6 @@ bool MacroManager::MacroManagerPrivate::executeMacro(Macro *macro)
break;
}
}
- if (error)
- break;
}
if (error) {
@@ -246,7 +248,7 @@ void MacroManager::MacroManagerPrivate::showSaveDialog()
QString fileName = q->macrosDirectory() + '/' + dialog.name()
+ '.' + Constants::M_EXTENSION;
currentMacro->setDescription(dialog.description());
- currentMacro->save(fileName);
+ currentMacro->save(fileName, mainWindow);
addMacro(currentMacro);
}
}