added code for the /commands

This commit is contained in:
2018-01-04 02:50:36 +01:00
parent 02845b32d7
commit 71db0297b9
4 changed files with 153 additions and 75 deletions
+21 -18
View File
@@ -1,11 +1,16 @@
#pragma once
#include <QMap>
#include <QString>
#include <vector>
#include <mutex>
namespace chatterino {
namespace singletons {
//
// this class managed the custom /commands
//
class CommandManager
{
CommandManager() = default;
@@ -13,28 +18,26 @@ class CommandManager
public:
static CommandManager &getInstance();
// CommandManager() = delete;
QString execCommand(QString text);
// QString execCommand(QString text);
// void addCommand ?
// void loadCommands(QString) taking all commands as a \n seperated list ?
void loadCommands();
void saveCommands();
// static CommandManager *getInstance()
// {
// static CommandManager manager;
void setCommands(const QStringList &commands);
QStringList getCommands();
// return manager;
// }
private:
struct Command {
QString name;
QString text;
// private:
// struct Command {
// QString name;
// QString text;
Command() = default;
Command(QString text);
};
// Command(QString text);
// };
// std::vector<Command> commands;
QMap<QString, Command> commands;
std::mutex mutex;
QStringList commandsStringList;
};
}
}