added moderation action settings back in
This commit is contained in:
@@ -24,7 +24,7 @@ public:
|
||||
|
||||
private:
|
||||
bool isImage_;
|
||||
Image *image_;
|
||||
Image *image_ = nullptr;
|
||||
QString line1_;
|
||||
QString line2_;
|
||||
QString action_;
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
#include "ModerationActionModel.hpp"
|
||||
|
||||
#include "util/StandardItemHelper.hpp"
|
||||
|
||||
namespace chatterino {
|
||||
|
||||
// commandmodel
|
||||
ModerationActionModel ::ModerationActionModel(QObject *parent)
|
||||
: SignalVectorModel<ModerationAction>(1, parent)
|
||||
{
|
||||
}
|
||||
|
||||
// turn a vector item into a model row
|
||||
ModerationAction ModerationActionModel::getItemFromRow(std::vector<QStandardItem *> &row,
|
||||
const ModerationAction &original)
|
||||
{
|
||||
return ModerationAction(row[0]->data(Qt::DisplayRole).toString());
|
||||
}
|
||||
|
||||
// turns a row in the model into a vector item
|
||||
void ModerationActionModel::getRowFromItem(const ModerationAction &item,
|
||||
std::vector<QStandardItem *> &row)
|
||||
{
|
||||
setStringItem(row[0], item.getAction());
|
||||
}
|
||||
|
||||
} // namespace chatterino
|
||||
@@ -0,0 +1,31 @@
|
||||
#pragma once
|
||||
|
||||
#include <QObject>
|
||||
|
||||
#include "common/SignalVectorModel.hpp"
|
||||
#include "controllers/moderationactions/ModerationAction.hpp"
|
||||
|
||||
namespace chatterino {
|
||||
|
||||
class ModerationActions;
|
||||
|
||||
class ModerationActionModel : public SignalVectorModel<ModerationAction>
|
||||
{
|
||||
public:
|
||||
explicit ModerationActionModel(QObject *parent);
|
||||
|
||||
protected:
|
||||
// turn a vector item into a model row
|
||||
virtual ModerationAction getItemFromRow(std::vector<QStandardItem *> &row,
|
||||
const ModerationAction &original) override;
|
||||
|
||||
// turns a row in the model into a vector item
|
||||
virtual void getRowFromItem(const ModerationAction &item,
|
||||
std::vector<QStandardItem *> &row) override;
|
||||
|
||||
friend class HighlightController;
|
||||
|
||||
friend class ModerationActions;
|
||||
};
|
||||
|
||||
} // namespace chatterino
|
||||
@@ -1,6 +1,7 @@
|
||||
#include "ModerationActions.hpp"
|
||||
|
||||
#include "Application.hpp"
|
||||
#include "controllers/moderationactions/ModerationActionModel.hpp"
|
||||
#include "singletons/Settings.hpp"
|
||||
|
||||
#include <QRegularExpression>
|
||||
@@ -25,4 +26,12 @@ void ModerationActions::initialize()
|
||||
});
|
||||
}
|
||||
|
||||
ModerationActionModel *ModerationActions::createModel(QObject *parent)
|
||||
{
|
||||
ModerationActionModel *model = new ModerationActionModel(parent);
|
||||
model->init(&this->items);
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
} // namespace chatterino
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
#pragma once
|
||||
|
||||
#include "common/ChatterinoSetting.hpp"
|
||||
#include "common/SignalVector.hpp"
|
||||
#include "controllers/moderationactions/ModerationAction.hpp"
|
||||
#include "common/ChatterinoSetting.hpp"
|
||||
|
||||
namespace chatterino {
|
||||
|
||||
class ModerationActionModel;
|
||||
|
||||
class ModerationActions
|
||||
{
|
||||
public:
|
||||
@@ -15,6 +17,8 @@ public:
|
||||
|
||||
UnsortedSignalVector<ModerationAction> items;
|
||||
|
||||
ModerationActionModel *createModel(QObject *parent);
|
||||
|
||||
private:
|
||||
ChatterinoSetting<std::vector<ModerationAction>> setting = {"/moderation/actions"};
|
||||
bool initialized = false;
|
||||
|
||||
Reference in New Issue
Block a user