added toggle for moderation mode
This commit is contained in:
@@ -61,7 +61,7 @@ void MessageLayout::removeFlags(Flags _flags)
|
||||
|
||||
// Layout
|
||||
// return true if redraw is required
|
||||
bool MessageLayout::layout(int width, float scale)
|
||||
bool MessageLayout::layout(int width, float scale, MessageElement::Flags flags)
|
||||
{
|
||||
auto &emoteManager = singletons::EmoteManager::getInstance();
|
||||
|
||||
@@ -114,20 +114,20 @@ bool MessageLayout::layout(int width, float scale)
|
||||
return false;
|
||||
}
|
||||
|
||||
this->actuallyLayout(width);
|
||||
this->actuallyLayout(width, flags);
|
||||
this->invalidateBuffer();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void MessageLayout::actuallyLayout(int width)
|
||||
void MessageLayout::actuallyLayout(int width, MessageElement::Flags flags)
|
||||
{
|
||||
this->container.clear();
|
||||
this->container.width = width;
|
||||
this->container.scale = this->scale;
|
||||
|
||||
for (const std::unique_ptr<MessageElement> &element : this->message->getElements()) {
|
||||
element->addToContainer(this->container, MessageElement::Default);
|
||||
element->addToContainer(this->container, flags);
|
||||
}
|
||||
|
||||
if (this->height != this->container.getHeight()) {
|
||||
|
||||
@@ -38,7 +38,7 @@ public:
|
||||
void removeFlags(Flags flags);
|
||||
|
||||
// Layout
|
||||
bool layout(int width, float scale);
|
||||
bool layout(int width, float scale, MessageElement::Flags flags);
|
||||
|
||||
// Painting
|
||||
void paint(QPainter &painter, int y, int messageIndex, Selection &selection);
|
||||
@@ -75,7 +75,7 @@ private:
|
||||
int collapsedHeight = 32;
|
||||
|
||||
// methods
|
||||
void actuallyLayout(int width);
|
||||
void actuallyLayout(int width, MessageElement::Flags flags);
|
||||
void updateBuffer(QPixmap *pixmap, int messageIndex, Selection &selection);
|
||||
};
|
||||
|
||||
|
||||
@@ -68,10 +68,6 @@ void ImageElement::addToContainer(MessageLayoutContainer &container, MessageElem
|
||||
(new ImageLayoutElement(*this, this->image, size))->setLink(this->getLink()));
|
||||
}
|
||||
|
||||
void ImageElement::update(UpdateFlags _flags)
|
||||
{
|
||||
}
|
||||
|
||||
// EMOTE
|
||||
EmoteElement::EmoteElement(const util::EmoteData &_data, MessageElement::Flags flags)
|
||||
: MessageElement(flags)
|
||||
@@ -106,10 +102,6 @@ void EmoteElement::addToContainer(MessageLayoutContainer &container, MessageElem
|
||||
container.addElement((new ImageLayoutElement(*this, _image, size))->setLink(this->getLink()));
|
||||
}
|
||||
|
||||
void EmoteElement::update(UpdateFlags _flags)
|
||||
{
|
||||
}
|
||||
|
||||
// TEXT
|
||||
TextElement::TextElement(const QString &text, MessageElement::Flags flags,
|
||||
const MessageColor &_color, FontStyle _style)
|
||||
@@ -195,15 +187,6 @@ void TextElement::addToContainer(MessageLayoutContainer &container, MessageEleme
|
||||
}
|
||||
}
|
||||
|
||||
void TextElement::update(UpdateFlags _flags)
|
||||
{
|
||||
if (_flags & UpdateFlags::Update_Text) {
|
||||
for (Word &word : this->words) {
|
||||
word.width = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// TIMESTAMP
|
||||
TimestampElement::TimestampElement()
|
||||
: TimestampElement(QTime::currentTime())
|
||||
@@ -235,11 +218,6 @@ void TimestampElement::addToContainer(MessageLayoutContainer &container,
|
||||
this->element->addToContainer(container, _flags);
|
||||
}
|
||||
|
||||
void TimestampElement::update(UpdateFlags _flags)
|
||||
{
|
||||
this->element->update(_flags);
|
||||
}
|
||||
|
||||
TextElement *TimestampElement::formatTime(const QTime &time)
|
||||
{
|
||||
QString format = time.toString(singletons::SettingManager::getInstance().timestampFormat);
|
||||
@@ -256,23 +234,24 @@ TwitchModerationElement::TwitchModerationElement()
|
||||
void TwitchModerationElement::addToContainer(MessageLayoutContainer &container,
|
||||
MessageElement::Flags _flags)
|
||||
{
|
||||
QSize size((int)(container.scale * 16), (int)(container.scale * 16));
|
||||
qDebug() << _flags;
|
||||
|
||||
for (const singletons::ModerationAction &m :
|
||||
singletons::SettingManager::getInstance().getModerationActions()) {
|
||||
if (m.isImage()) {
|
||||
container.addElement((new ImageLayoutElement(*this, m.getImage(), size))
|
||||
->setLink(Link(Link::UserAction, m.getAction())));
|
||||
} else {
|
||||
container.addElement((new TextIconLayoutElement(*this, m.getLine1(), m.getLine2(),
|
||||
container.scale, size))
|
||||
->setLink(Link(Link::UserAction, m.getAction())));
|
||||
if (_flags & MessageElement::ModeratorTools) {
|
||||
QSize size((int)(container.scale * 16), (int)(container.scale * 16));
|
||||
|
||||
for (const singletons::ModerationAction &m :
|
||||
singletons::SettingManager::getInstance().getModerationActions()) {
|
||||
if (m.isImage()) {
|
||||
container.addElement((new ImageLayoutElement(*this, m.getImage(), size))
|
||||
->setLink(Link(Link::UserAction, m.getAction())));
|
||||
} else {
|
||||
container.addElement((new TextIconLayoutElement(*this, m.getLine1(), m.getLine2(),
|
||||
container.scale, size))
|
||||
->setLink(Link(Link::UserAction, m.getAction())));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void TwitchModerationElement::update(UpdateFlags _flags)
|
||||
{
|
||||
}
|
||||
} // namespace messages
|
||||
} // namespace chatterino
|
||||
|
||||
@@ -122,7 +122,6 @@ public:
|
||||
Flags getFlags() const;
|
||||
|
||||
virtual void addToContainer(MessageLayoutContainer &container, MessageElement::Flags flags) = 0;
|
||||
virtual void update(UpdateFlags flags) = 0;
|
||||
|
||||
protected:
|
||||
MessageElement(Flags flags);
|
||||
@@ -144,7 +143,6 @@ public:
|
||||
|
||||
virtual void addToContainer(MessageLayoutContainer &container,
|
||||
MessageElement::Flags flags) override;
|
||||
virtual void update(UpdateFlags flags) override;
|
||||
};
|
||||
|
||||
// contains emote data and will pick the emote based on :
|
||||
@@ -159,7 +157,6 @@ public:
|
||||
|
||||
virtual void addToContainer(MessageLayoutContainer &container,
|
||||
MessageElement::Flags flags) override;
|
||||
virtual void update(UpdateFlags flags) override;
|
||||
};
|
||||
|
||||
// contains a text, it will split it into words
|
||||
@@ -181,7 +178,6 @@ public:
|
||||
|
||||
virtual void addToContainer(MessageLayoutContainer &container,
|
||||
MessageElement::Flags flags) override;
|
||||
virtual void update(UpdateFlags flags);
|
||||
};
|
||||
|
||||
// contains a text, formated depending on the preferences
|
||||
@@ -198,7 +194,6 @@ public:
|
||||
|
||||
virtual void addToContainer(MessageLayoutContainer &container,
|
||||
MessageElement::Flags flags) override;
|
||||
virtual void update(UpdateFlags flags);
|
||||
|
||||
TextElement *formatTime(const QTime &time);
|
||||
};
|
||||
@@ -212,7 +207,6 @@ public:
|
||||
|
||||
virtual void addToContainer(MessageLayoutContainer &container,
|
||||
MessageElement::Flags flags) override;
|
||||
virtual void update(UpdateFlags flags);
|
||||
};
|
||||
|
||||
// adds bits as text, static image or animated image
|
||||
|
||||
Reference in New Issue
Block a user