diff --git a/cockatrice/src/soundengine.cpp b/cockatrice/src/soundengine.cpp index b3cd3c6a..1cdf1454 100644 --- a/cockatrice/src/soundengine.cpp +++ b/cockatrice/src/soundengine.cpp @@ -170,6 +170,8 @@ void SoundEngine::themeChangedSlot() << "player_join" << "player_leave" << "player_disconnect" << "player_reconnect" << "player_concede" // Spectator << "spectator_join" << "spectator_leave" + // Buddy + << "buddy_join" << "buddy_leave" // Chat & UI << "chat_mention" << "all_mention" << "private_message"; diff --git a/cockatrice/src/tab_userlists.cpp b/cockatrice/src/tab_userlists.cpp index 7cd3fec7..d5f57d1e 100644 --- a/cockatrice/src/tab_userlists.cpp +++ b/cockatrice/src/tab_userlists.cpp @@ -2,6 +2,7 @@ #include "userlist.h" #include "userinfobox.h" #include "abstractclient.h" +#include "soundengine.h" #include #include #include @@ -146,12 +147,19 @@ void TabUserLists::processUserJoinedEvent(const Event_UserJoined &event) ignoreList->sortItems(); buddyList->sortItems(); + if (buddyList->getUsers().keys().contains(userName)) + soundEngine->playSound("buddy_join"); + emit userJoined(info); } void TabUserLists::processUserLeftEvent(const Event_UserLeft &event) { QString userName = QString::fromStdString(event.name()); + + if (buddyList->getUsers().keys().contains(userName)) + soundEngine->playSound("buddy_leave"); + if (allUsersList->deleteUser(userName)) { ignoreList->setUserOnline(userName, false); buddyList->setUserOnline(userName, false); diff --git a/sounds/Default/buddy_join.wav b/sounds/Default/buddy_join.wav new file mode 100644 index 00000000..fc2812e1 Binary files /dev/null and b/sounds/Default/buddy_join.wav differ diff --git a/sounds/Default/buddy_leave.wav b/sounds/Default/buddy_leave.wav new file mode 100644 index 00000000..4f478579 Binary files /dev/null and b/sounds/Default/buddy_leave.wav differ