diff options
author | Oswald Buddenhagen <[email protected]> | 2011-03-30 15:15:15 +0200 |
---|---|---|
committer | Oswald Buddenhagen <[email protected]> | 2011-04-18 14:10:14 +0200 |
commit | 45c9cf7a1298feed925d18596c30ac9c6cd1dac5 (patch) | |
tree | 6f484122011b76a5f3a2f1915b7b308b1f5058ea /src/plugins/macros/macromanager.cpp | |
parent | fae7dc9584b4e2f2192f8b7a71c428fcaa2ddb70 (diff) |
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.cpp | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/plugins/macros/macromanager.cpp b/src/plugins/macros/macromanager.cpp index 4320a9a8626..a801478d865 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 ¯oEvent, 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); } } |