diff options
Diffstat (limited to 'src/MessageBoard.cpp')
-rw-r--r-- | src/MessageBoard.cpp | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/src/MessageBoard.cpp b/src/MessageBoard.cpp index 46b9d28..b1f8b0b 100644 --- a/src/MessageBoard.cpp +++ b/src/MessageBoard.cpp @@ -16,7 +16,6 @@ #include <SFML/Window/Mouse.hpp> #include <SFML/Graphics/Rect.hpp> #include <SFML/Graphics/Text.hpp> -#include <odhtdb/User.hpp> #include <cmath> using namespace std; @@ -82,12 +81,12 @@ namespace dchat lock_guard<mutex> lock(messageProcessMutex); auto it = messageIdMap.find(id); if(it == messageIdMap.end()) return; - if(it->second->user->type == User::Type::ONLINE) + if(it->second->user->isOnlineUser()) { auto onlineUser = static_cast<const OnlineUser*>(it->second->user); - if(onlineUser->databaseUser->getPublicKey() != requestedByUser) + if(onlineUser->getPublicKey() != requestedByUser) { - fprintf(stderr, "Warning: user %s requested to delete a message owned by user %s, ignoring request\n", requestedByUser.toString().c_str(), onlineUser->databaseUser->getPublicKey().toString().c_str()); + fprintf(stderr, "Warning: user %s requested to delete a message owned by user %s, ignoring request\n", requestedByUser.toString().c_str(), onlineUser->getPublicKey().toString().c_str()); return; } } @@ -292,11 +291,11 @@ namespace dchat message->text.processEvent(event); } - OnlineUser *localOnlineUser = nullptr; - if(channel->getLocalUser()->type == User::Type::ONLINE) - localOnlineUser = static_cast<OnlineUser*>(channel->getLocalUser()); + OnlineLocalUser *onlineLocalUser = nullptr; + if(channel->getLocalUser()->type == User::Type::ONLINE_LOCAL_USER) + onlineLocalUser = static_cast<OnlineLocalUser*>(channel->getLocalUser()); - if(localOnlineUser && event.type == sf::Event::MouseButtonPressed && event.mouseButton.button == sf::Mouse::Button::Right) + if(onlineLocalUser && event.type == sf::Event::MouseButtonPressed && event.mouseButton.button == sf::Mouse::Button::Right) { for(auto it : messageIdMap) { @@ -307,9 +306,9 @@ namespace dchat auto contextMenu = GlobalContextMenu::getEditMessageContextMenu(); contextMenu->setPosition(sf::Vector2f(event.mouseButton.x, event.mouseButton.y)); contextMenu->setVisible(true); - GlobalContextMenu::setClickDeleteMessageCallbackFunc([this, it, localOnlineUser](ContextMenuItem *menuItem) + GlobalContextMenu::setClickDeleteMessageCallbackFunc([this, it, onlineLocalUser](ContextMenuItem *menuItem) { - channel->deleteMessage(it.first, localOnlineUser->databaseUser->getPublicKey()); + channel->deleteMessage(it.first, onlineLocalUser->getPublicKey()); GlobalContextMenu::setClickDeleteMessageCallbackFunc(nullptr); }); return; |