summaryrefslogtreecommitdiff
path: root/components
diff options
context:
space:
mode:
authorouwou <26526779+ouwou@users.noreply.github.com>2020-11-19 19:18:59 -0500
committerouwou <26526779+ouwou@users.noreply.github.com>2020-11-19 19:18:59 -0500
commitdeb482a8db55874a536b6efec366343280214e48 (patch)
treeabd28a02e7b34309871618d141b52326ba7ea6fb /components
parent1463d8da9e1b4c49021e6fa75795e2cd054b6227 (diff)
downloadabaddon-portaudio-deb482a8db55874a536b6efec366343280214e48.tar.gz
abaddon-portaudio-deb482a8db55874a536b6efec366343280214e48.zip
initial sqlite, store user
Diffstat (limited to 'components')
-rw-r--r--components/chatmessage.cpp8
-rw-r--r--components/chatwindow.cpp4
-rw-r--r--components/memberlist.cpp18
3 files changed, 15 insertions, 15 deletions
diff --git a/components/chatmessage.cpp b/components/chatmessage.cpp
index 37a8cb7..729c6d7 100644
--- a/components/chatmessage.cpp
+++ b/components/chatmessage.cpp
@@ -416,9 +416,9 @@ void ChatMessageItemContainer::HandleUserMentions(Gtk::TextView *tv) {
int mstart, mend;
if (!match.fetch_pos(0, mstart, mend)) break;
const Glib::ustring user_id = match.fetch(1);
- const auto *user = discord.GetUser(user_id);
+ const auto user = discord.GetUser(user_id);
const auto *channel = discord.GetChannel(ChannelID);
- if (user == nullptr || channel == nullptr) {
+ if (!user.has_value() || channel == nullptr) {
startpos = mend;
continue;
}
@@ -814,8 +814,8 @@ void ChatMessageHeader::UpdateNameColor() {
const auto &discord = Abaddon::Get().GetDiscordClient();
const auto guild_id = discord.GetChannel(ChannelID)->GuildID;
const auto role_id = discord.GetMemberHoistedRole(guild_id, UserID, true);
- const auto *user = discord.GetUser(UserID);
- if (user == nullptr) return;
+ const auto user = discord.GetUser(UserID);
+ if (!user.has_value()) return;
const auto *role = discord.GetRole(role_id);
std::string md;
diff --git a/components/chatwindow.cpp b/components/chatwindow.cpp
index a42319b..1d8829c 100644
--- a/components/chatwindow.cpp
+++ b/components/chatwindow.cpp
@@ -179,8 +179,8 @@ void ChatWindow::ProcessNewMessage(Snowflake id, bool prepend) {
} else {
const auto guild_id = client.GetChannel(m_active_channel)->GuildID;
const auto user_id = data->Author.ID;
- const auto *user = client.GetUser(user_id);
- if (user == nullptr) return;
+ const auto user = client.GetUser(user_id);
+ if (!user.has_value()) return;
header = Gtk::manage(new ChatMessageHeader(data));
header->signal_action_insert_mention().connect([this, user_id]() {
diff --git a/components/memberlist.cpp b/components/memberlist.cpp
index e04c188..e05f64c 100644
--- a/components/memberlist.cpp
+++ b/components/memberlist.cpp
@@ -112,13 +112,13 @@ void MemberList::UpdateMemberListInternal() {
// process all the shit first so its in proper order
std::map<int, const Role *> pos_to_role;
- std::map<int, std::vector<const User *>> pos_to_users;
+ std::map<int, std::vector<User>> pos_to_users;
std::unordered_map<Snowflake, int> user_to_color;
std::vector<Snowflake> roleless_users;
for (const auto &id : ids) {
- auto *user = discord.GetUser(id);
- if (user == nullptr) {
+ auto user = discord.GetUser(id);
+ if (!user.has_value()) {
roleless_users.push_back(id);
continue;
}
@@ -134,7 +134,7 @@ void MemberList::UpdateMemberListInternal() {
};
pos_to_role[pos_role->Position] = pos_role;
- pos_to_users[pos_role->Position].push_back(user);
+ pos_to_users[pos_role->Position].push_back(std::move(*user));
if (col_role != nullptr) {
if (ColorDistance(col_role->Color, 0xFFFFFF) < 15)
user_to_color[id] = 0x000000;
@@ -198,10 +198,10 @@ void MemberList::UpdateMemberListInternal() {
if (pos_to_users.find(pos) == pos_to_users.end()) continue;
auto &users = pos_to_users.at(pos);
- AlphabeticalSort(users.begin(), users.end(), [](auto e) { return e->Username; });
+ AlphabeticalSort(users.begin(), users.end(), [](const auto &e) { return e.Username; });
for (const auto data : users)
- add_user(data);
+ add_user(&data);
}
if (chan->Type == ChannelType::DM || chan->Type == ChannelType::GROUP_DM)
@@ -209,9 +209,9 @@ void MemberList::UpdateMemberListInternal() {
else
add_role("@everyone");
for (const auto &id : roleless_users) {
- const auto *user = discord.GetUser(id);
- if (user != nullptr)
- add_user(user);
+ const auto user = discord.GetUser(id);
+ if (user.has_value())
+ add_user(&*user);
}
}