aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/macros/macrosettings.cpp
diff options
context:
space:
mode:
authorNicolas Arnaud-Cormos <[email protected]>2010-12-20 10:35:30 +0100
committerTobias Hunger <[email protected]>2010-12-20 11:16:15 +0100
commitf5fbbbfd4f247ac405a50b45bb8cfc0ad97bb305 (patch)
tree60a7419d777e9f879712bf470a6481b41200ba55 /src/plugins/macros/macrosettings.cpp
parent11e21e16c17964f7734ef9c8b97e3225553b891a (diff)
New plugin: plugin macro
This plugin let the user record and replay some macros: * 3 handlers: action, find and texteditor * almost all texteditor and cpp actions recorded * options page to set the directories where the macros are stored * optional dialog to give a name and comment at the end of a macro * locator integration to play a macro * shortcuts assignment to macro The most important change outside the plugin macros is the isScriptable method for command: All scriptable commands can be stored in a macro. Merge-request: 2176 Reviewed-by: Tobias Hunger <[email protected]>
Diffstat (limited to 'src/plugins/macros/macrosettings.cpp')
-rw-r--r--src/plugins/macros/macrosettings.cpp74
1 files changed, 74 insertions, 0 deletions
diff --git a/src/plugins/macros/macrosettings.cpp b/src/plugins/macros/macrosettings.cpp
new file mode 100644
index 00000000000..315f7c1d8cc
--- /dev/null
+++ b/src/plugins/macros/macrosettings.cpp
@@ -0,0 +1,74 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nicolas Arnaud-Cormos.
+**
+** Contact: Nokia Corporation ([email protected])
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#include "macrosettings.h"
+
+#include <QSettings>
+
+using namespace Macros::Internal;
+
+static const char GROUP[] = "Macro";
+static const char DEFAULT_DIRECTORY[] = "DefaultDirectory";
+static const char SHOW_SAVE_DIALOG[] = "ShowSaveDialog";
+static const char DIRECTORIES[] = "Directories";
+static const char SHORTCUTIDS[] = "ShortcutIds";
+
+
+MacroSettings::MacroSettings():
+ showSaveDialog(false)
+{
+}
+
+void MacroSettings::toSettings(QSettings *s) const
+{
+ s->beginGroup(QLatin1String(GROUP));
+ s->setValue(QLatin1String(DEFAULT_DIRECTORY), defaultDirectory);
+ s->setValue(QLatin1String(SHOW_SAVE_DIALOG), showSaveDialog);
+ s->setValue(QLatin1String(DIRECTORIES), directories);
+ s->setValue(QLatin1String(SHORTCUTIDS), shortcutIds);
+ s->endGroup();
+}
+
+void MacroSettings::fromSettings(QSettings *s)
+{
+ s->beginGroup(QLatin1String(GROUP));
+ defaultDirectory = s->value(QLatin1String(DEFAULT_DIRECTORY), QString("")).toString();
+ showSaveDialog = s->value(QLatin1String(SHOW_SAVE_DIALOG), false).toBool();
+ directories = s->value(QLatin1String(DIRECTORIES)).toStringList();
+ shortcutIds = s->value(QLatin1String(SHORTCUTIDS)).toMap();
+ s->endGroup();
+}
+
+bool MacroSettings::equals(const MacroSettings &ms) const
+{
+ return defaultDirectory == ms.defaultDirectory &&
+ shortcutIds == ms.shortcutIds &&
+ directories == ms.directories &&
+ showSaveDialog == ms.showSaveDialog;
+}