aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/macros/macromanager.cpp
diff options
context:
space:
mode:
authorNicolas Arnaud-Cormos <[email protected]>2011-02-07 11:34:01 +0100
committercon <[email protected]>2011-02-07 14:26:10 +0100
commit23e024de640bd3d1983e655e2733e03ef8c0fa60 (patch)
tree94f8529360249393e22b30753d70098eb8e6674f /src/plugins/macros/macromanager.cpp
parent0444335aba148c1e02b34ecc84e646986abe638b (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.cpp31
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();
+}