|
From: <tre...@us...> - 2008-01-23 03:18:42
|
Revision: 689
http://ogoglio.svn.sourceforge.net/ogoglio/?rev=689&view=rev
Author: trevorolio
Date: 2008-01-22 19:18:47 -0800 (Tue, 22 Jan 2008)
Log Message:
-----------
Added a /r command to reply to the last person to private tell you something.
Modified Paths:
--------------
maven/trunk/ogoglio-viewer-applet/src/main/java/com/ogoglio/viewer/applet/ChatPanel.java
maven/trunk/ogoglio-viewer-applet/src/main/java/com/ogoglio/viewer/applet/ViewerApplet.java
Modified: maven/trunk/ogoglio-viewer-applet/src/main/java/com/ogoglio/viewer/applet/ChatPanel.java
===================================================================
--- maven/trunk/ogoglio-viewer-applet/src/main/java/com/ogoglio/viewer/applet/ChatPanel.java 2008-01-22 23:40:33 UTC (rev 688)
+++ maven/trunk/ogoglio-viewer-applet/src/main/java/com/ogoglio/viewer/applet/ChatPanel.java 2008-01-23 03:18:47 UTC (rev 689)
@@ -27,6 +27,8 @@
import java.awt.event.KeyListener;
import com.ogoglio.util.ArgumentUtils;
+import com.ogoglio.util.WebConstants;
+import com.ogoglio.viewer.j3d.J3DUserRenderable;
public class ChatPanel extends Panel {
@@ -66,6 +68,9 @@
if (historyPanel.getText().length() != 0) {
historyPanel.append("\r\n");
}
+ if(username.startsWith(WebConstants.GUEST_COOKIE_PREFIX)){
+ username = J3DUserRenderable.convertGuestCookieToDisplayName(username);
+ }
historyPanel.append(username + " tells you: " + message);
}
Modified: maven/trunk/ogoglio-viewer-applet/src/main/java/com/ogoglio/viewer/applet/ViewerApplet.java
===================================================================
--- maven/trunk/ogoglio-viewer-applet/src/main/java/com/ogoglio/viewer/applet/ViewerApplet.java 2008-01-22 23:40:33 UTC (rev 688)
+++ maven/trunk/ogoglio-viewer-applet/src/main/java/com/ogoglio/viewer/applet/ViewerApplet.java 2008-01-23 03:18:47 UTC (rev 689)
@@ -261,6 +261,21 @@
imUser(message.substring(4));
} else if ("/debugChatter".equals(message)) {
new ChatterBoxThread().start();
+ } else if(message.startsWith("/r ")){
+ if(message.length() < 4){
+ return;
+ }
+ if(spaceClientListener.lastTellUser == null){
+ chatPanel.displayMessage(null, "I don't know to whom to reply.");
+ return;
+ }
+ String clippedMessage = message.substring(3);
+ spaceClient.userSentPrivateMessage(spaceClientListener.lastTellUser, clippedMessage);
+ String username = spaceClientListener.lastTellUser.getUsername();
+ if(username.startsWith(WebConstants.GUEST_COOKIE_PREFIX)){
+ username = J3DUserRenderable.convertGuestCookieToDisplayName(username);
+ }
+ chatPanel.displayMessage(null, "you told " + username + ": " + clippedMessage);
} else if (message.startsWith("/t ")){
if(message.length() < 6 || message.substring(3).indexOf(" ") == -1){
return;
@@ -458,6 +473,8 @@
private class SpaceClientListener implements SpaceClient.Listener {
+ User lastTellUser = null;
+
public void disconnected() {
chatPanel.displayMessage(null, "Disconnected.");
}
@@ -479,9 +496,12 @@
if(!showChat){
return;
}
- if (username.startsWith(WebConstants.GUEST_COOKIE_PREFIX)) {
- username = J3DUserRenderable.convertGuestCookieToDisplayName(username);
+ User user = spaceClient.getSpace().getUser(username);
+ if(user == null){
+ System.err.println("Received tell from unknown user: " + username);
+ return;
}
+ lastTellUser = user;
chatPanel.displayPrivateMessage(username, message);
if (playIncomingChatAudio && incomingChatAudioClip != null) {
incomingChatAudioClip.play();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|