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
@@ -0,0 +1,33 @@
#include "controllers/highlights/HighlightBlacklistModel.hpp"
#include "Application.hpp"
#include "singletons/Settings.hpp"
#include "util/StandardItemHelper.hpp"
namespace chatterino {
// commandmodel
HighlightBlacklistModel::HighlightBlacklistModel(QObject *parent)
: SignalVectorModel<HighlightBlacklistUser>(2, parent)
{
}
// turn a vector item into a model row
HighlightBlacklistUser HighlightBlacklistModel::getItemFromRow(
std::vector<QStandardItem *> &row, const HighlightBlacklistUser &original)
{
// key, regex
return HighlightBlacklistUser{row[0]->data(Qt::DisplayRole).toString(),
row[1]->data(Qt::CheckStateRole).toBool()};
}
// turns a row in the model into a vector item
void HighlightBlacklistModel::getRowFromItem(const HighlightBlacklistUser &item,
std::vector<QStandardItem *> &row)
{
setStringItem(row[0], item.getPattern());
setBoolItem(row[1], item.isRegex());
}
} // namespace chatterino