From 1e0e68f9cda51c881b32a54d9eece71c1428f7ac Mon Sep 17 00:00:00 2001 From: dec05eba Date: Sun, 22 Apr 2018 05:58:44 +0200 Subject: Add video and gif support Gif streams from url. Todo: Add play controls to video --- src/Channel.cpp | 50 +++++++++++++++----------------------------------- 1 file changed, 15 insertions(+), 35 deletions(-) (limited to 'src/Channel.cpp') 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); } -- cgit v1.2.3