aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/coreSQLiteStudio/services/codesnippetmanager.h
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2023-04-30 18:30:36 -0400
committerLibravatarUnit 193 <unit193@unit193.net>2023-04-30 18:30:36 -0400
commit3565aad630864ecdbe53fdaa501ea708555b3c7c (patch)
treec743e4ad0bad39ebdb2f514c7cc52d34a257ebbe /SQLiteStudio3/coreSQLiteStudio/services/codesnippetmanager.h
parent1fdc150116cad39aae5c5da407c3312b47a59e3a (diff)
New upstream version 3.4.4+dfsg.upstream/3.4.4+dfsg
Diffstat (limited to 'SQLiteStudio3/coreSQLiteStudio/services/codesnippetmanager.h')
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/services/codesnippetmanager.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/SQLiteStudio3/coreSQLiteStudio/services/codesnippetmanager.h b/SQLiteStudio3/coreSQLiteStudio/services/codesnippetmanager.h
new file mode 100644
index 0000000..ade14bd
--- /dev/null
+++ b/SQLiteStudio3/coreSQLiteStudio/services/codesnippetmanager.h
@@ -0,0 +1,42 @@
+#ifndef CODESNIPPETMANAGER_H
+#define CODESNIPPETMANAGER_H
+
+#include "coreSQLiteStudio_global.h"
+#include <QObject>
+
+class Config;
+
+class API_EXPORT CodeSnippetManager : public QObject
+{
+ Q_OBJECT
+
+ public:
+ struct API_EXPORT CodeSnippet
+ {
+ QString name;
+ QString code;
+ QString hotkey;
+ };
+
+ CodeSnippetManager(Config* config);
+
+ void setSnippets(const QList<CodeSnippet*>& snippets);
+ const QList<CodeSnippet*>& getSnippets() const;
+ const QStringList& getNames() const;
+ void saveToConfig();
+ QString getCodeByName(const QString& name) const;
+
+ private:
+ void loadFromConfig();
+ void refreshNames();
+ void clearSnippets();
+ void createDefaultSnippets();
+
+ Config* config = nullptr;
+ QList<CodeSnippet*> allSnippets;
+ QStringList names;
+};
+
+#define CODESNIPPETS SQLITESTUDIO->getCodeSnippetManager()
+
+#endif // CODESNIPPETMANAGER_H