From fcedab72a1c225763ab7b9b6412879bea1f5e46b Mon Sep 17 00:00:00 2001 From: Damian Minkov Date: Thu, 22 Aug 2013 11:07:46 +0300 Subject: [PATCH] Displays error message when we try to change our nickname to an existing one in the chatroom. --- resources/languages/resources.properties | 2 ++ .../main/chat/ChatContactRightButtonMenu.java | 27 +++++++++++++++---- .../gui/main/chat/ChatConversationPanel.java | 17 ++++++------ 3 files changed, 32 insertions(+), 14 deletions(-) diff --git a/resources/languages/resources.properties b/resources/languages/resources.properties index eb2bdc3b2..b632cb892 100644 --- a/resources/languages/resources.properties +++ b/resources/languages/resources.properties @@ -99,6 +99,8 @@ service.gui.CHANGE_ROOM_SUBJECT_LABEL=In the field below, you can enter the new service.gui.CHANGE_NICK=Change nickname service.gui.CHANGE_NICKNAME=Change nickname... service.gui.CHANGE_NICKNAME_LABEL=In the field below, you can enter your new nickname. +service.gui.CHANGE_NICKNAME_ERROR=Error Changing nickname +service.gui.CHANGE_NICKNAME_CONFLICT_ERROR=Nickname already exist service.gui.CHANGE_VIDEO_QUALITY=Change remote video quality service.gui.CHAT_ROOM_ALREADY_JOINED=The {0} chat room is already joined. service.gui.CHAT_ROOM_CONFIGURATION={0} chat room configuration 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 e2649a097..fb365448a 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 @@ -354,7 +354,7 @@ else if (menuItemName.equals("changeNicknameItem")) "Ok", false, true); - reasonDialog.setIconImage(ImageLoader.getImage( + reasonDialog.setIconImage(ImageLoader.getImage( ImageLoader.CHANGE_NICKNAME_ICON)); reasonDialog.setReasonFieldText(chatContact.getName()); @@ -362,9 +362,9 @@ else if (menuItemName.equals("changeNicknameItem")) if (result == MessageDialog.OK_RETURN_CODE) { + String nickname = reasonDialog.getReason().trim(); try { - String nickname = reasonDialog.getReason().trim(); room.setUserNickname(nickname); ConfigurationUtils.updateChatRoomProperty( room.getParentProvider(), @@ -373,9 +373,26 @@ else if (menuItemName.equals("changeNicknameItem")) } catch (OperationFailedException ex) { - ex.printStackTrace(); - } - } + String errorMessage = null; + if(ex.getErrorCode() + == OperationFailedException.IDENTIFICATION_CONFLICT) + { + errorMessage = GuiActivator.getResources() + .getI18NString( + "service.gui.CHANGE_NICKNAME_CONFLICT_ERROR"); + } + else + { + errorMessage = ex.getLocalizedMessage(); + } + + chatPanel.addErrorMessage( + nickname, + GuiActivator.getResources().getI18NString( + "service.gui.CHANGE_NICKNAME_ERROR"), + errorMessage); + } + } } else if (menuItemName.equals("grantVoiceItem")) { diff --git a/src/net/java/sip/communicator/impl/gui/main/chat/ChatConversationPanel.java b/src/net/java/sip/communicator/impl/gui/main/chat/ChatConversationPanel.java index 8e5f61788..c76e7695a 100755 --- a/src/net/java/sip/communicator/impl/gui/main/chat/ChatConversationPanel.java +++ b/src/net/java/sip/communicator/impl/gui/main/chat/ChatConversationPanel.java @@ -433,17 +433,8 @@ public String processMessage( ChatMessage chatMessage, String chatString = ""; String endHeaderTag = ""; - String startSystemDivTag - = "
"; - String endDivTag = "
"; - lastMessageUID = chatMessage.getMessageUID(); - String startPlainTextTag - = ChatHtmlUtils.createStartPlainTextTag(contentType); - String endPlainTextTag - = ChatHtmlUtils.createEndPlainTextTag(contentType); - if (messageType.equals(Chat.INCOMING_MESSAGE)) { this.lastIncomingMsgTimestamp = new Date(); @@ -534,6 +525,14 @@ else if (messageType.equals(Chat.ACTION_MESSAGE)) } else if (messageType.equals(Chat.SYSTEM_MESSAGE)) { + String startSystemDivTag + = "
"; + String endDivTag = "
"; + String startPlainTextTag + = ChatHtmlUtils.createStartPlainTextTag(contentType); + String endPlainTextTag + = ChatHtmlUtils.createEndPlainTextTag(contentType); + chatString += startSystemDivTag + startPlainTextTag + formatMessage(message, contentType, keyword)