forked from OpenGamers/abaddon
Merge branch 'master' into friends
This commit is contained in:
@@ -143,8 +143,10 @@ void ChatMessageItemContainer::UpdateReactions() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void ChatMessageItemContainer::SetFailed() {
|
void ChatMessageItemContainer::SetFailed() {
|
||||||
m_text_component->get_style_context()->remove_class("pending");
|
if (m_text_component != nullptr) {
|
||||||
m_text_component->get_style_context()->add_class("failed");
|
m_text_component->get_style_context()->remove_class("pending");
|
||||||
|
m_text_component->get_style_context()->add_class("failed");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ChatMessageItemContainer::UpdateAttributes() {
|
void ChatMessageItemContainer::UpdateAttributes() {
|
||||||
|
|||||||
@@ -200,6 +200,9 @@ bool ChatWindow::OnInputSubmit(const Glib::ustring &text) {
|
|||||||
if (!m_rate_limit_indicator->CanSpeak())
|
if (!m_rate_limit_indicator->CanSpeak())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
if (text.size() == 0)
|
||||||
|
return false;
|
||||||
|
|
||||||
if (m_active_channel.IsValid())
|
if (m_active_channel.IsValid())
|
||||||
m_signal_action_chat_submit.emit(text, m_active_channel, m_replying_to); // m_replying_to is checked for invalid in the handler
|
m_signal_action_chat_submit.emit(text, m_active_channel, m_replying_to); // m_replying_to is checked for invalid in the handler
|
||||||
if (m_is_replying)
|
if (m_is_replying)
|
||||||
|
|||||||
@@ -1039,6 +1039,9 @@ void DiscordClient::HandleGatewayMessage(std::string str) {
|
|||||||
case GatewayEvent::GUILD_JOIN_REQUEST_DELETE: {
|
case GatewayEvent::GUILD_JOIN_REQUEST_DELETE: {
|
||||||
HandleGatewayGuildJoinRequestDelete(m);
|
HandleGatewayGuildJoinRequestDelete(m);
|
||||||
} break;
|
} break;
|
||||||
|
case GatewayEvent::RELATIONSHIP_REMOVE: {
|
||||||
|
HandleGatewayRelationshipRemove(m);
|
||||||
|
} break;
|
||||||
}
|
}
|
||||||
} break;
|
} break;
|
||||||
default:
|
default:
|
||||||
@@ -1480,6 +1483,12 @@ void DiscordClient::HandleGatewayGuildJoinRequestDelete(const GatewayMessage &ms
|
|||||||
m_signal_guild_join_request_delete.emit(data);
|
m_signal_guild_join_request_delete.emit(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DiscordClient::HandleGatewayRelationshipRemove(const GatewayMessage &msg) {
|
||||||
|
RelationshipRemoveData data = msg.Data;
|
||||||
|
m_user_relationships.erase(data.ID);
|
||||||
|
m_signal_relationship_remove.emit(data.ID, data.Type);
|
||||||
|
}
|
||||||
|
|
||||||
void DiscordClient::HandleGatewayReadySupplemental(const GatewayMessage &msg) {
|
void DiscordClient::HandleGatewayReadySupplemental(const GatewayMessage &msg) {
|
||||||
ReadySupplementalData data = msg.Data;
|
ReadySupplementalData data = msg.Data;
|
||||||
for (const auto &p : data.MergedPresences.Friends) {
|
for (const auto &p : data.MergedPresences.Friends) {
|
||||||
@@ -1815,6 +1824,7 @@ void DiscordClient::LoadEventMap() {
|
|||||||
m_event_map["GUILD_JOIN_REQUEST_CREATE"] = GatewayEvent::GUILD_JOIN_REQUEST_CREATE;
|
m_event_map["GUILD_JOIN_REQUEST_CREATE"] = GatewayEvent::GUILD_JOIN_REQUEST_CREATE;
|
||||||
m_event_map["GUILD_JOIN_REQUEST_UPDATE"] = GatewayEvent::GUILD_JOIN_REQUEST_UPDATE;
|
m_event_map["GUILD_JOIN_REQUEST_UPDATE"] = GatewayEvent::GUILD_JOIN_REQUEST_UPDATE;
|
||||||
m_event_map["GUILD_JOIN_REQUEST_DELETE"] = GatewayEvent::GUILD_JOIN_REQUEST_DELETE;
|
m_event_map["GUILD_JOIN_REQUEST_DELETE"] = GatewayEvent::GUILD_JOIN_REQUEST_DELETE;
|
||||||
|
m_event_map["RELATIONSHIP_REMOVE"] = GatewayEvent::RELATIONSHIP_REMOVE;
|
||||||
}
|
}
|
||||||
|
|
||||||
DiscordClient::type_signal_gateway_ready DiscordClient::signal_gateway_ready() {
|
DiscordClient::type_signal_gateway_ready DiscordClient::signal_gateway_ready() {
|
||||||
@@ -1937,6 +1947,10 @@ DiscordClient::type_signal_guild_join_request_delete DiscordClient::signal_guild
|
|||||||
return m_signal_guild_join_request_delete;
|
return m_signal_guild_join_request_delete;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DiscordClient::type_signal_relationship_remove DiscordClient::signal_relationship_remove() {
|
||||||
|
return m_signal_relationship_remove;
|
||||||
|
}
|
||||||
|
|
||||||
DiscordClient::type_signal_message_sent DiscordClient::signal_message_sent() {
|
DiscordClient::type_signal_message_sent DiscordClient::signal_message_sent() {
|
||||||
return m_signal_message_sent;
|
return m_signal_message_sent;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -223,6 +223,7 @@ private:
|
|||||||
void HandleGatewayGuildJoinRequestCreate(const GatewayMessage &msg);
|
void HandleGatewayGuildJoinRequestCreate(const GatewayMessage &msg);
|
||||||
void HandleGatewayGuildJoinRequestUpdate(const GatewayMessage &msg);
|
void HandleGatewayGuildJoinRequestUpdate(const GatewayMessage &msg);
|
||||||
void HandleGatewayGuildJoinRequestDelete(const GatewayMessage &msg);
|
void HandleGatewayGuildJoinRequestDelete(const GatewayMessage &msg);
|
||||||
|
void HandleGatewayRelationshipRemove(const GatewayMessage &msg);
|
||||||
void HandleGatewayReadySupplemental(const GatewayMessage &msg);
|
void HandleGatewayReadySupplemental(const GatewayMessage &msg);
|
||||||
void HandleGatewayReconnect(const GatewayMessage &msg);
|
void HandleGatewayReconnect(const GatewayMessage &msg);
|
||||||
void HandleGatewayInvalidSession(const GatewayMessage &msg);
|
void HandleGatewayInvalidSession(const GatewayMessage &msg);
|
||||||
@@ -314,6 +315,7 @@ public:
|
|||||||
typedef sigc::signal<void, GuildJoinRequestCreateData> type_signal_guild_join_request_create;
|
typedef sigc::signal<void, GuildJoinRequestCreateData> type_signal_guild_join_request_create;
|
||||||
typedef sigc::signal<void, GuildJoinRequestUpdateData> type_signal_guild_join_request_update;
|
typedef sigc::signal<void, GuildJoinRequestUpdateData> type_signal_guild_join_request_update;
|
||||||
typedef sigc::signal<void, GuildJoinRequestDeleteData> type_signal_guild_join_request_delete;
|
typedef sigc::signal<void, GuildJoinRequestDeleteData> type_signal_guild_join_request_delete;
|
||||||
|
typedef sigc::signal<void, Snowflake, RelationshipType> type_signal_relationship_remove;
|
||||||
typedef sigc::signal<void, Message> type_signal_message_sent;
|
typedef sigc::signal<void, Message> type_signal_message_sent;
|
||||||
typedef sigc::signal<void, std::string /* nonce */, float /* retry_after */> type_signal_message_send_fail; // retry after param will be 0 if it failed for a reason that isnt slowmode
|
typedef sigc::signal<void, std::string /* nonce */, float /* retry_after */> type_signal_message_send_fail; // retry after param will be 0 if it failed for a reason that isnt slowmode
|
||||||
typedef sigc::signal<void, bool, GatewayCloseCode> type_signal_disconnected; // bool true if reconnecting
|
typedef sigc::signal<void, bool, GatewayCloseCode> type_signal_disconnected; // bool true if reconnecting
|
||||||
@@ -347,6 +349,7 @@ public:
|
|||||||
type_signal_guild_join_request_create signal_guild_join_request_create();
|
type_signal_guild_join_request_create signal_guild_join_request_create();
|
||||||
type_signal_guild_join_request_update signal_guild_join_request_update();
|
type_signal_guild_join_request_update signal_guild_join_request_update();
|
||||||
type_signal_guild_join_request_delete signal_guild_join_request_delete();
|
type_signal_guild_join_request_delete signal_guild_join_request_delete();
|
||||||
|
type_signal_relationship_remove signal_relationship_remove();
|
||||||
type_signal_message_sent signal_message_sent();
|
type_signal_message_sent signal_message_sent();
|
||||||
type_signal_message_send_fail signal_message_send_fail();
|
type_signal_message_send_fail signal_message_send_fail();
|
||||||
type_signal_disconnected signal_disconnected();
|
type_signal_disconnected signal_disconnected();
|
||||||
@@ -381,6 +384,7 @@ protected:
|
|||||||
type_signal_guild_join_request_create m_signal_guild_join_request_create;
|
type_signal_guild_join_request_create m_signal_guild_join_request_create;
|
||||||
type_signal_guild_join_request_update m_signal_guild_join_request_update;
|
type_signal_guild_join_request_update m_signal_guild_join_request_update;
|
||||||
type_signal_guild_join_request_delete m_signal_guild_join_request_delete;
|
type_signal_guild_join_request_delete m_signal_guild_join_request_delete;
|
||||||
|
type_signal_relationship_remove m_signal_relationship_remove;
|
||||||
type_signal_message_sent m_signal_message_sent;
|
type_signal_message_sent m_signal_message_sent;
|
||||||
type_signal_message_send_fail m_signal_message_send_fail;
|
type_signal_message_send_fail m_signal_message_send_fail;
|
||||||
type_signal_disconnected m_signal_disconnected;
|
type_signal_disconnected m_signal_disconnected;
|
||||||
|
|||||||
@@ -452,3 +452,8 @@ void from_json(const nlohmann::json &j, RateLimitedResponse &m) {
|
|||||||
JS_O("message", m.Message);
|
JS_O("message", m.Message);
|
||||||
JS_D("retry_after", m.RetryAfter);
|
JS_D("retry_after", m.RetryAfter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void from_json(const nlohmann::json &j, RelationshipRemoveData &m) {
|
||||||
|
JS_D("id", m.ID);
|
||||||
|
JS_D("type", m.Type);
|
||||||
|
}
|
||||||
|
|||||||
@@ -68,6 +68,7 @@ enum class GatewayEvent : int {
|
|||||||
GUILD_JOIN_REQUEST_CREATE,
|
GUILD_JOIN_REQUEST_CREATE,
|
||||||
GUILD_JOIN_REQUEST_UPDATE,
|
GUILD_JOIN_REQUEST_UPDATE,
|
||||||
GUILD_JOIN_REQUEST_DELETE,
|
GUILD_JOIN_REQUEST_DELETE,
|
||||||
|
RELATIONSHIP_REMOVE,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class GatewayCloseCode : uint16_t {
|
enum class GatewayCloseCode : uint16_t {
|
||||||
@@ -626,3 +627,10 @@ struct RateLimitedResponse {
|
|||||||
|
|
||||||
friend void from_json(const nlohmann::json &j, RateLimitedResponse &m);
|
friend void from_json(const nlohmann::json &j, RateLimitedResponse &m);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct RelationshipRemoveData {
|
||||||
|
Snowflake ID;
|
||||||
|
RelationshipType Type;
|
||||||
|
|
||||||
|
friend void from_json(const nlohmann::json &j, RelationshipRemoveData &m);
|
||||||
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user