From 09a8ade6becca2a71f45ff0db5f4bf6d64afb212 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Sat, 21 Apr 2018 03:46:58 +0200 Subject: Add support for static image emoji Emoji are downloaded asynchronously using remote program (curl). Need to add support for converting [inline](url) chat message emoji and gifs. --- src/main.cpp | 71 ++++++++++-------------------------------------------------- 1 file changed, 11 insertions(+), 60 deletions(-) (limited to 'src/main.cpp') diff --git a/src/main.cpp b/src/main.cpp index 481f73a..284df56 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,12 +1,14 @@ -#include "../include/MessageBoard.hpp" -#include "../include/User.hpp" -#include "../include/Chatbar.hpp" +#include "../include/Channel.hpp" +#include "../include/ChannelSidePanel.hpp" +#include "../include/Cache.hpp" #include #include #include +#include "process.hpp" using namespace std; using namespace dchat; +using namespace TinyProcessLib; int main() { @@ -14,29 +16,11 @@ int main() window.setVerticalSyncEnabled(false); window.setFramerateLimit(60); - OfflineUser *localOfflineUser = new OfflineUser("You"); + Cache cache; - MessageBoard messageBoard(window.getSize()); - - { - Message *message = new Message(localOfflineUser); - message->addText(u8"hello, world!"); - messageBoard.addMessage(message); - } - - { - Message *message = new Message(localOfflineUser); - message->addText(u8"hello, world!"); - messageBoard.addMessage(message); - } - - { - Message *message = new Message(localOfflineUser); - message->addText(u8"hello, world!"); - messageBoard.addMessage(message); - } - - Chatbar chatbar; + Channel channel; + ChannelSidePanel channelSidePanel; + channelSidePanel.addChannel(&channel); while (window.isOpen()) { @@ -50,44 +34,11 @@ int main() sf::View view(sf::FloatRect(0.0f, 0.0f, event.size.width, event.size.height)); window.setView(view); } - else 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(); - } - messageBoard.processEvent(event); + channel.processEvent(event); } window.clear(); - messageBoard.draw(window); - chatbar.draw(window); + channel.draw(window, cache); window.display(); } -- cgit v1.2.3