Refactor highlight blacklist to use the model system

Fix #560
This commit is contained in:
Rasmus Karlsson
2018-07-04 11:22:27 +00:00
parent 362dcb88bc
commit 03b7fae09e
9 changed files with 212 additions and 16 deletions
@@ -1,6 +1,7 @@
#pragma once
#include "common/SignalVector.hpp"
#include "controllers/highlights/HighlightBlacklistUser.hpp"
#include "controllers/highlights/HighlightPhrase.hpp"
#include "messages/Message.hpp"
#include "singletons/Settings.hpp"
@@ -8,6 +9,7 @@
namespace chatterino {
class HighlightModel;
class HighlightBlacklistModel;
class HighlightController
{
@@ -17,8 +19,12 @@ public:
void initialize();
UnsortedSignalVector<HighlightPhrase> phrases;
UnsortedSignalVector<HighlightBlacklistUser> blacklistedUsers;
HighlightModel *createModel(QObject *parent);
HighlightBlacklistModel *createBlacklistModel(QObject *parent);
bool blacklistContains(const QString &username);
void addHighlight(const MessagePtr &msg);
@@ -27,6 +33,7 @@ private:
ChatterinoSetting<std::vector<HighlightPhrase>> highlightsSetting = {
"/highlighting/highlights"};
ChatterinoSetting<std::vector<HighlightPhrase>> blacklistSetting = {"/highlighting/blacklist"};
};
} // namespace chatterino