From e8cd7631fd627937904af3902df8e7dd4a883f28 Mon Sep 17 00:00:00 2001 From: Mike Thomas Date: Wed, 9 Aug 2006 22:26:38 +0000 Subject: [PATCH] Allow a message to specify the name to display for a user separate from the canonical username passed in the message as the speaker variable. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4313 542714f4-19e9-0310-aa3c-eee0fc999fb1 --- .../com/threerings/crowd/chat/client/ChatDirector.java | 9 ++++++--- .../com/threerings/crowd/chat/data/UserMessage.java | 10 ++++++++++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/java/com/threerings/crowd/chat/client/ChatDirector.java b/src/java/com/threerings/crowd/chat/client/ChatDirector.java index beabe3478..9007de21b 100644 --- a/src/java/com/threerings/crowd/chat/client/ChatDirector.java +++ b/src/java/com/threerings/crowd/chat/client/ChatDirector.java @@ -662,16 +662,19 @@ public class ChatDirector extends BasicDirector String message = msg.message; String autoResponse = null; Name speaker = null; + Name speakerDisplay = null; byte mode = (byte) -1; // figure out if the message was triggered by another user if (msg instanceof UserMessage) { UserMessage umsg = (UserMessage)msg; speaker = umsg.speaker; + speakerDisplay = umsg.getSpeakerDisplayName(); mode = umsg.mode; } else if (msg instanceof UserSystemMessage) { - speaker = ((UserSystemMessage) msg).speaker; + speaker = ((UserSystemMessage)msg).speaker; + speakerDisplay = speaker; } // if there was an originating speaker, see if we want to hear it @@ -703,7 +706,7 @@ public class ChatDirector extends BasicDirector // if we auto-responded, report as much if (autoResponse != null) { String amsg = MessageBundle.tcompose( - "m.auto_responded", speaker, autoResponse); + "m.auto_responded", speakerDisplay, autoResponse); displayFeedback(_bundle, amsg); } } @@ -1349,7 +1352,7 @@ public class ChatDirector extends BasicDirector if (err != null) { return err; } - + // request the broadcast requestBroadcast(args); diff --git a/src/java/com/threerings/crowd/chat/data/UserMessage.java b/src/java/com/threerings/crowd/chat/data/UserMessage.java index 28ba5dfeb..e83e54e37 100644 --- a/src/java/com/threerings/crowd/chat/data/UserMessage.java +++ b/src/java/com/threerings/crowd/chat/data/UserMessage.java @@ -61,4 +61,14 @@ public class UserMessage extends ChatMessage this.speaker = speaker; this.mode = ChatCodes.DEFAULT_MODE; } + + /** + * Returns the name to display for the speaker. Some types of messages + * may wish to not use the canonical name for the speaker and should thus + * override this function. + */ + public Name getSpeakerDisplayName () + { + return speaker; + } }