From f4911ad57336dcc9af510ae3e08c98eb1f1af20a Mon Sep 17 00:00:00 2001 From: Damian Minkov Date: Tue, 25 Mar 2014 15:10:41 +0200 Subject: [PATCH] Fixes banning chat room members. --- resources/languages/resources.properties | 1 + .../impl/gui/main/chat/ChatContactRightButtonMenu.java | 2 +- .../sip/communicator/impl/gui/main/chat/ChatPanel.java | 4 ++++ .../impl/gui/main/presence/PresenceStatusMenu.java | 7 +++++-- .../impl/protocol/jabber/ChatRoomJabberImpl.java | 4 +++- 5 files changed, 14 insertions(+), 4 deletions(-) diff --git a/resources/languages/resources.properties b/resources/languages/resources.properties index 3f0067af2..0357f9c57 100644 --- a/resources/languages/resources.properties +++ b/resources/languages/resources.properties @@ -74,6 +74,7 @@ service.gui.AUTHORIZATION_RESPONSE=Authorization response service.gui.AWAY_STATUS=Away service.gui.EXTENDED_AWAY_STATUS=Extended Away service.gui.BAN=&Ban +service.gui.BANNED=banned service.gui.BAN_FAILED=Ban failed service.gui.BAN_FAILED_GENERAL_ERROR=Failed to ban {0}. A general server error occurred. service.gui.BAN_FAILED_NOT_ALLOWED=Failed to ban {0}. The owner and the administrator of the room could not be banned. diff --git a/src/net/java/sip/communicator/impl/gui/main/chat/ChatContactRightButtonMenu.java b/src/net/java/sip/communicator/impl/gui/main/chat/ChatContactRightButtonMenu.java index fbd03d805..5e980d7e9 100644 --- a/src/net/java/sip/communicator/impl/gui/main/chat/ChatContactRightButtonMenu.java +++ b/src/net/java/sip/communicator/impl/gui/main/chat/ChatContactRightButtonMenu.java @@ -316,7 +316,7 @@ else if (menuItemName.equals("banItem")) ChatOperationReasonDialog reasonDialog = new ChatOperationReasonDialog(); - int result = new ChatOperationReasonDialog().showDialog(); + int result = reasonDialog.showDialog(); if (result == MessageDialog.OK_RETURN_CODE) new BanParticipantThread( room, diff --git a/src/net/java/sip/communicator/impl/gui/main/chat/ChatPanel.java b/src/net/java/sip/communicator/impl/gui/main/chat/ChatPanel.java index 9a83cb6a2..02e588d20 100644 --- a/src/net/java/sip/communicator/impl/gui/main/chat/ChatPanel.java +++ b/src/net/java/sip/communicator/impl/gui/main/chat/ChatPanel.java @@ -639,6 +639,10 @@ public String getRoleDescription(ChatRoomMemberRole role) = GuiActivator.getResources().getI18NString( "service.gui.SILENT_MEMBER"); break; + case OUTCAST: roleDescription + = GuiActivator.getResources().getI18NString( + "service.gui.BANNED"); + break; default:; } diff --git a/src/net/java/sip/communicator/impl/gui/main/presence/PresenceStatusMenu.java b/src/net/java/sip/communicator/impl/gui/main/presence/PresenceStatusMenu.java index 066c0d2ac..7ebb717bb 100644 --- a/src/net/java/sip/communicator/impl/gui/main/presence/PresenceStatusMenu.java +++ b/src/net/java/sip/communicator/impl/gui/main/presence/PresenceStatusMenu.java @@ -163,8 +163,11 @@ public void actionPerformed(ActionEvent e) if (status.getStatusName().equals(menuItemText)) { - GuiActivator.getGlobalStatusService() - .publishStatus(protocolProvider, status); + if(GuiActivator.getGlobalStatusService() != null) + { + GuiActivator.getGlobalStatusService() + .publishStatus(protocolProvider, status); + } setSelectedStatus(status); diff --git a/src/net/java/sip/communicator/impl/protocol/jabber/ChatRoomJabberImpl.java b/src/net/java/sip/communicator/impl/protocol/jabber/ChatRoomJabberImpl.java index 049eb3c40..5192a7db3 100644 --- a/src/net/java/sip/communicator/impl/protocol/jabber/ChatRoomJabberImpl.java +++ b/src/net/java/sip/communicator/impl/protocol/jabber/ChatRoomJabberImpl.java @@ -1562,7 +1562,9 @@ public void banParticipant(ChatRoomMember chatRoomMember, String reason) { try { - multiUserChat.banUser(chatRoomMember.getContactAddress(), reason); + multiUserChat.banUser( + ((ChatRoomMemberJabberImpl)chatRoomMember).getJabberID(), + reason); } catch (XMPPException e) {