diff options
author | Dylam De La Torre <DyXel04@gmail.com> | 2021-11-23 05:21:56 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-23 04:21:56 +0000 |
commit | a51a54bc5979a2491f152abc47ad54e6b63f27c8 (patch) | |
tree | ce67092b2f6df366033a65a6111e4650866766b2 /components/chatwindow.hpp | |
parent | d88079000a79e6bcbe51c5a2868d57b303b5fcb6 (diff) | |
download | abaddon-portaudio-a51a54bc5979a2491f152abc47ad54e6b63f27c8.tar.gz abaddon-portaudio-a51a54bc5979a2491f152abc47ad54e6b63f27c8.zip |
Restructure source and resource files (#46)
importantly, res is now res/res and css is now res/css
Diffstat (limited to 'components/chatwindow.hpp')
-rw-r--r-- | components/chatwindow.hpp | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/components/chatwindow.hpp b/components/chatwindow.hpp deleted file mode 100644 index de55b0a..0000000 --- a/components/chatwindow.hpp +++ /dev/null @@ -1,90 +0,0 @@ -#pragma once -#include <gtkmm.h> -#include <string> -#include <set> -#include "discord/discord.hpp" -#include "completer.hpp" - -class ChatMessageHeader; -class ChatMessageItemContainer; -class ChatInput; -class ChatInputIndicator; -class RateLimitIndicator; -class ChatList; -class ChatWindow { -public: - ChatWindow(); - - Gtk::Widget *GetRoot() const; - Snowflake GetActiveChannel() const; - - void Clear(); - void SetMessages(const std::vector<Message> &msgs); // clear contents and replace with given set - void SetActiveChannel(Snowflake id); - void AddNewMessage(const Message &data); // append new message to bottom - void DeleteMessage(Snowflake id); // add [deleted] indicator - void UpdateMessage(Snowflake id); // add [edited] indicator - void AddNewHistory(const std::vector<Message> &msgs); // prepend messages - void InsertChatInput(std::string text); - Snowflake GetOldestListedMessage(); // oldest message that is currently in the ListBox - void UpdateReactions(Snowflake id); - void SetTopic(const std::string &text); - -protected: - bool m_is_replying = false; - Snowflake m_replying_to; - - void StartReplying(Snowflake message_id); - void StopReplying(); - - Snowflake m_active_channel; - - bool OnInputSubmit(const Glib::ustring &text); - - bool OnKeyPressEvent(GdkEventKey *e); - void OnScrollEdgeOvershot(Gtk::PositionType pos); - - void OnMessageSendFail(const std::string &nonce, float retry_after); - - Gtk::Box *m_main; - //Gtk::ListBox *m_list; - //Gtk::ScrolledWindow *m_scroll; - - Gtk::EventBox m_topic; // todo probably make everything else go on the stack - Gtk::Label m_topic_text; - - ChatList *m_chat; - - ChatInput *m_input; - - Completer m_completer; - ChatInputIndicator *m_input_indicator; - RateLimitIndicator *m_rate_limit_indicator; - Gtk::Box *m_meta; - -public: - typedef sigc::signal<void, Snowflake, Snowflake> type_signal_action_message_edit; - typedef sigc::signal<void, std::string, Snowflake, Snowflake> type_signal_action_chat_submit; - typedef sigc::signal<void, Snowflake> type_signal_action_chat_load_history; - typedef sigc::signal<void, Snowflake> type_signal_action_channel_click; - typedef sigc::signal<void, Snowflake> type_signal_action_insert_mention; - typedef sigc::signal<void, Snowflake, Glib::ustring> type_signal_action_reaction_add; - typedef sigc::signal<void, Snowflake, Glib::ustring> type_signal_action_reaction_remove; - - type_signal_action_message_edit signal_action_message_edit(); - type_signal_action_chat_submit signal_action_chat_submit(); - type_signal_action_chat_load_history signal_action_chat_load_history(); - type_signal_action_channel_click signal_action_channel_click(); - type_signal_action_insert_mention signal_action_insert_mention(); - type_signal_action_reaction_add signal_action_reaction_add(); - type_signal_action_reaction_remove signal_action_reaction_remove(); - -private: - type_signal_action_message_edit m_signal_action_message_edit; - type_signal_action_chat_submit m_signal_action_chat_submit; - type_signal_action_chat_load_history m_signal_action_chat_load_history; - type_signal_action_channel_click m_signal_action_channel_click; - type_signal_action_insert_mention m_signal_action_insert_mention; - type_signal_action_reaction_add m_signal_action_reaction_add; - type_signal_action_reaction_remove m_signal_action_reaction_remove; -}; |