Compare commits

...

2 commits

Author SHA1 Message Date
hippoz
ab6eda1a4c
display message author username instead of id 2021-04-23 03:05:45 +03:00
hippoz
090418e1df
static all the things + gitignore 2021-04-23 02:32:29 +03:00
3 changed files with 29 additions and 18 deletions

2
.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
*.o
*.out

View file

@ -46,7 +46,12 @@ namespace Brainlet {
} Channel; } Channel;
typedef struct { typedef struct {
std::string authorId; std::string id;
std::string username;
} MessageAuthor;
typedef struct {
MessageAuthor author;
std::string message; std::string message;
} Message; } Message;
@ -271,8 +276,12 @@ namespace Brainlet {
.id = data["channel"]["_id"].asString(), .id = data["channel"]["_id"].asString(),
.name = data["channel"]["title"].asString() .name = data["channel"]["title"].asString()
}; };
MessageAuthor author = {
.id = data["author"]["_id"].asString(),
.username = data["author"]["username"].asString()
};
Message message = { Message message = {
.authorId = data["author"]["_id"].asString(), .author = author,
.message = data["content"].asString() .message = data["content"].asString()
}; };
if (client->onNewMessage) if (client->onNewMessage)

View file

@ -27,25 +27,25 @@
#include <vector> #include <vector>
#include <string> #include <string>
std::unique_ptr<Brainlet::Client> client = nullptr; static std::unique_ptr<Brainlet::Client> client = nullptr;
std::unordered_map<Gtk::ListBoxRow*, std::string> channelRowToId; static std::unordered_map<Gtk::ListBoxRow*, std::string> channelRowToId;
std::unordered_map<std::string, std::vector<Brainlet::Message>> messages; static std::unordered_map<std::string, std::vector<Brainlet::Message>> messages;
std::string currentChannelId; static std::string currentChannelId;
Gtk::Window* window; static Gtk::Window* window;
Gtk::Widget* loginInterface; static Gtk::Widget* loginInterface;
Gtk::Entry* domainEntry; static Gtk::Entry* domainEntry;
Gtk::Entry* usernameEntry; static Gtk::Entry* usernameEntry;
Gtk::Entry* passwordEntry; static Gtk::Entry* passwordEntry;
Gtk::Button* loginButton; static Gtk::Button* loginButton;
Gtk::Widget* chatInterface; static Gtk::Widget* chatInterface;
Gtk::ListBox* channelList; static Gtk::ListBox* channelList;
Gtk::ListBox* messageList; static Gtk::ListBox* messageList;
Gtk::Entry* messageEntry; static Gtk::Entry* messageEntry;
Gtk::Label* usernameLabel; static Gtk::Label* usernameLabel;
gboolean update(gpointer) { gboolean update(gpointer) {
client->processNextEvent(); client->processNextEvent();
@ -80,7 +80,7 @@ void addMessage(const Brainlet::Message message) {
text->set_halign(Gtk::ALIGN_START); text->set_halign(Gtk::ALIGN_START);
text->set_line_wrap(true); text->set_line_wrap(true);
std::string messageFormatted = message.authorId + ": " + message.message; std::string messageFormatted = message.author.username + ": " + message.message;
text->set_markup(messageFormatted.c_str()); text->set_markup(messageFormatted.c_str());
row->add(*text); row->add(*text);