mirror-chatterino2/channel.cpp

47 lines
1.2 KiB
C++
Raw Normal View History

#include "channel.h"
2017-01-18 21:30:23 +01:00
#include "messages/message.h"
#include "windows.h"
2017-01-11 01:08:20 +01:00
#include <memory>
2017-01-18 21:30:23 +01:00
namespace chatterino {
Channel::Channel(const QString &channel)
2017-01-18 04:33:30 +01:00
: messages()
, name((channel.length() > 0 && channel[0] == '#') ? channel.mid(1)
: channel)
, bttvChannelEmotes()
, ffzChannelEmotes()
, messageMutex()
, subLink("https://www.twitch.tv/" + name +
"/subscribe?ref=in_chat_subscriber_link")
, channelLink("https://twitch.tv/" + name)
, popoutPlayerLink("https://player.twitch.tv/?channel=" + name)
{
2017-01-26 04:26:40 +01:00
for (int i = 0; i < 40; i++) {
addMessage(std::shared_ptr<messages::Message>(
new messages::Message("test xD test")));
}
2017-01-07 20:43:55 +01:00
}
2017-01-05 16:07:20 +01:00
2017-01-18 21:52:36 +01:00
QVector<std::shared_ptr<messages::Message>>
2017-01-11 18:52:09 +01:00
Channel::getMessagesClone()
2017-01-05 16:07:20 +01:00
{
2017-01-18 04:33:30 +01:00
this->messageMutex.lock();
2017-01-18 21:52:36 +01:00
QVector<std::shared_ptr<messages::Message>> M(this->messages);
2017-01-11 01:08:20 +01:00
M.detach();
2017-01-18 04:33:30 +01:00
this->messageMutex.unlock();
2017-01-05 16:07:20 +01:00
return M;
}
2017-01-11 18:52:09 +01:00
void
2017-01-18 21:52:36 +01:00
Channel::addMessage(std::shared_ptr<messages::Message> message)
2017-01-05 16:07:20 +01:00
{
2017-01-18 04:33:30 +01:00
this->messageMutex.lock();
this->messages.append(message);
this->messageMutex.unlock();
Windows::repaintVisibleChatWidgets();
2017-01-05 16:07:20 +01:00
}
2017-01-18 21:30:23 +01:00
}