aboutsummaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2018-04-21 03:46:58 +0200
committerdec05eba <dec05eba@protonmail.com>2018-04-21 03:50:59 +0200
commit09a8ade6becca2a71f45ff0db5f4bf6d64afb212 (patch)
tree3cc733a5af1323c57f7dc4c18747ae0c7de78be6 /src/main.cpp
parentde059e317e43fa1b94d77fd981be68b86bf6de6e (diff)
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.
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp71
1 files changed, 11 insertions, 60 deletions
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 <string>
#include <SFML/Graphics.hpp>
#include <cstring>
+#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();
}