diff options
author | Nicolas Arnaud-Cormos <[email protected]> | 2011-02-07 11:34:01 +0100 |
---|---|---|
committer | con <[email protected]> | 2011-02-07 14:26:10 +0100 |
commit | 23e024de640bd3d1983e655e2733e03ef8c0fa60 (patch) | |
tree | 94f8529360249393e22b30753d70098eb8e6674f /src/plugins/macros/macromanager.cpp | |
parent | 0444335aba148c1e02b34ecc84e646986abe638b (diff) |
Add a save macro menu item, and remove the 'show save dialog' option in macro plugin
Merge-request: 240
Reviewed-by: con <[email protected]>
Diffstat (limited to 'src/plugins/macros/macromanager.cpp')
-rw-r--r-- | src/plugins/macros/macromanager.cpp | 31 |
1 files changed, 13 insertions, 18 deletions
diff --git a/src/plugins/macros/macromanager.cpp b/src/plugins/macros/macromanager.cpp index 2e68787904c..600544ed704 100644 --- a/src/plugins/macros/macromanager.cpp +++ b/src/plugins/macros/macromanager.cpp @@ -271,12 +271,6 @@ void MacroManager::MacroManagerPrivate::showSaveDialog() QMainWindow *mainWindow = Core::ICore::instance()->mainWindow(); SaveDialog dialog(mainWindow); if (dialog.exec()) { - bool changed = false; - if (settings.showSaveDialog == dialog.hideSaveDialog()) { - settings.showSaveDialog = !dialog.hideSaveDialog(); - changed = true; - } - if (dialog.name().isEmpty()) return; @@ -293,16 +287,13 @@ void MacroManager::MacroManagerPrivate::showSaveDialog() return; settings.directories.append(directory); settings.defaultDirectory= directory; - changed = true; + q->saveSettings(); } QString fileName = directory + '/' + dialog.name() + '.' + Constants::M_EXTENSION; currentMacro->setDescription(dialog.description()); currentMacro->save(fileName); addMacro(currentMacro); - - if (changed) - q->saveSettings(); } } @@ -350,6 +341,7 @@ void MacroManager::startMacro() am->command(Constants::START_MACRO)->action()->setEnabled(false); am->command(Constants::END_MACRO)->action()->setEnabled(true); am->command(Constants::EXECUTE_LAST_MACRO)->action()->setEnabled(false); + am->command(Constants::SAVE_LAST_MACRO)->action()->setEnabled(false); foreach (IMacroHandler *handler, d->handlers) handler->startRecording(d->currentMacro); @@ -371,13 +363,11 @@ void MacroManager::endMacro() am->command(Constants::START_MACRO)->action()->setEnabled(true); am->command(Constants::END_MACRO)->action()->setEnabled(false); am->command(Constants::EXECUTE_LAST_MACRO)->action()->setEnabled(true); + am->command(Constants::SAVE_LAST_MACRO)->action()->setEnabled(true); foreach (IMacroHandler *handler, d->handlers) handler->endRecordingMacro(d->currentMacro); d->isRecording = false; - - if (d->currentMacro->events().count() && d->settings.showSaveDialog) - d->showSaveDialog(); } void MacroManager::executeLastMacro() @@ -400,6 +390,10 @@ bool MacroManager::executeMacro(const QString &name) if (d->currentMacro && d->currentMacro->displayName().isEmpty()) delete d->currentMacro; d->currentMacro = macro; + + Core::ActionManager *am = Core::ICore::instance()->actionManager(); + am->command(Constants::SAVE_LAST_MACRO)->action()->setEnabled(true); + return true; } @@ -420,11 +414,6 @@ void MacroManager::setDefaultDirectory(const QString &directory) d->settings.defaultDirectory = directory; } -void MacroManager::showSaveDialog(bool value) -{ - d->settings.showSaveDialog = value; -} - void MacroManager::deleteMacro(const QString &name) { Macro *macro = d->macros.value(name); @@ -466,3 +455,9 @@ void MacroManager::changeMacro(const QString &name, const QString &description) if (macro->description() != description) d->changeMacroDescription(macro, description); } + +void Macros::MacroManager::saveLastMacro() +{ + if (d->currentMacro->events().count()) + d->showSaveDialog(); +} |