diff --git a/src/providers/twitch/twitchaccountmanager.cpp b/src/providers/twitch/twitchaccountmanager.cpp index 96462615..b651a8b2 100644 --- a/src/providers/twitch/twitchaccountmanager.cpp +++ b/src/providers/twitch/twitchaccountmanager.cpp @@ -11,22 +11,6 @@ namespace twitch { TwitchAccountManager::TwitchAccountManager() { this->anonymousUser.reset(new TwitchAccount(ANONYMOUS_USERNAME, "", "", "")); - - this->currentUsername.connect([this](const auto &newValue, auto) { - QString newUsername(QString::fromStdString(newValue)); - auto user = this->findUserByUsername(newUsername); - if (user) { - debug::Log("[AccountManager:currentUsernameChanged] User successfully updated to {}", - newUsername); - this->currentUser = user; - } else { - debug::Log( - "[AccountManager:currentUsernameChanged] User successfully updated to anonymous"); - this->currentUser = this->anonymousUser; - } - - this->userChanged.invoke(); - }); } std::shared_ptr TwitchAccountManager::getCurrent() @@ -125,6 +109,27 @@ void TwitchAccountManager::reloadUsers() } } +void TwitchAccountManager::load() +{ + this->reloadUsers(); + + this->currentUsername.connect([this](const auto &newValue, auto) { + QString newUsername(QString::fromStdString(newValue)); + auto user = this->findUserByUsername(newUsername); + if (user) { + debug::Log("[AccountManager:currentUsernameChanged] User successfully updated to {}", + newUsername); + this->currentUser = user; + } else { + debug::Log( + "[AccountManager:currentUsernameChanged] User successfully updated to anonymous"); + this->currentUser = this->anonymousUser; + } + + this->userChanged.invoke(); + }); +} + bool TwitchAccountManager::removeUser(const QString &username) { if (!this->userExists(username)) { diff --git a/src/providers/twitch/twitchaccountmanager.hpp b/src/providers/twitch/twitchaccountmanager.hpp index b9793113..25f0b900 100644 --- a/src/providers/twitch/twitchaccountmanager.hpp +++ b/src/providers/twitch/twitchaccountmanager.hpp @@ -42,6 +42,7 @@ public: bool userExists(const QString &username) const; void reloadUsers(); + void load(); bool removeUser(const QString &username); diff --git a/src/singletons/accountmanager.cpp b/src/singletons/accountmanager.cpp index 59e41f3f..089ea420 100644 --- a/src/singletons/accountmanager.cpp +++ b/src/singletons/accountmanager.cpp @@ -25,18 +25,7 @@ AccountManager &AccountManager::getInstance() void AccountManager::load() { - this->Twitch.reloadUsers(); - - auto currentUser = this->Twitch.findUserByUsername( - QString::fromStdString(this->Twitch.currentUsername.getValue())); - - if (currentUser) { - this->Twitch.currentUser = currentUser; - } else { - this->Twitch.currentUser = this->Twitch.anonymousUser; - } - - // this->Twitch.userChanged.invoke(); + this->Twitch.load(); } } // namespace singletons