aboutsummaryrefslogtreecommitdiff
path: root/src/Channel.cpp
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2018-04-22 05:58:44 +0200
committerdec05eba <dec05eba@protonmail.com>2018-04-22 05:59:18 +0200
commit1e0e68f9cda51c881b32a54d9eece71c1428f7ac (patch)
treeb8faa1d971c245e3fcf046aa1d2daa1fa601e0f9 /src/Channel.cpp
parent424b02609fa34175a4e2aadb95e68b3c9c8dc93c (diff)
Add video and gif support
Gif streams from url. Todo: Add play controls to video
Diffstat (limited to 'src/Channel.cpp')
-rw-r--r--src/Channel.cpp50
1 files changed, 15 insertions, 35 deletions
diff --git a/src/Channel.cpp b/src/Channel.cpp
index 664e395..5e81f37 100644
--- a/src/Channel.cpp
+++ b/src/Channel.cpp
@@ -11,14 +11,15 @@ namespace dchat
{
{
Message *message = new Message(&localOfflineUser);
- message->addText(u8"hello, worldåäö1!");
- message->addImage("https://discordemoji.com/assets/emoji/playtime.png");
+ message->addText(u8"hello, worldåäö1!", false);
+ message->addEmoji("https://discordemoji.com/assets/emoji/playtime.png");
messageBoard.addMessage(message);
}
{
Message *message = new Message(&localOfflineUser);
- message->addText(u8"hello, world2!");
+ message->addText(u8"hello, world2!", false);
+ message->addEmoji("https://discordemoji.com/assets/emoji/Feels3DMan.gif");
messageBoard.addMessage(message);
}
@@ -34,40 +35,19 @@ namespace dchat
}
+ User* Channel::getLocalUser()
+ {
+ return &localOfflineUser;
+ }
+
+ MessageBoard& Channel::getMessageBoard()
+ {
+ return messageBoard;
+ }
+
void Channel::processEvent(const sf::Event &event)
{
- if(event.type == sf::Event::TextEntered)
- {
- if(event.text.unicode == 8) // backspace
- chatbar.removePreviousChar();
- else if(event.text.unicode == 13) // enter
- {
- Message *message = new Message(&localOfflineUser);
- auto chatbarMsgUtf8 = chatbar.getString().toUtf8();
- string msg;
- msg.resize(chatbarMsgUtf8.size());
- memcpy(&msg[0], chatbarMsgUtf8.data(), chatbarMsgUtf8.size());
-
- message->addText(msg);
- messageBoard.addMessage(message);
- chatbar.clear();
- }
- else if(event.text.unicode == 127) // delete
- {
- chatbar.removeNextChar();
- }
- else
- {
- chatbar.addChar(event.text.unicode);
- }
- }
- else if(event.type == sf::Event::KeyPressed)
- {
- if(event.key.code == sf::Keyboard::Left)
- chatbar.moveCaretLeft();
- else if(event.key.code == sf::Keyboard::Right)
- chatbar.moveCaretRight();
- }
+ chatbar.processEvent(event, this);
messageBoard.processEvent(event);
}