Author: bdonlan
Date: 2005-01-06 21:07:32 -0500 (Thu, 06 Jan 2005)
New Revision: 530

Modified:
   /
   trunk/misc/javer/src/javer/ChannelTab.java
   trunk/misc/javer/src/javer/JaverUIPanel.java
Log:
 [EMAIL PROTECTED]:  bdonlan | 2005-01-07T02:07:09.454483Z
 Completed channel list functions



Property changes on: 
___________________________________________________________________
Name: svk:merge
   - 1f59643a-e6e5-0310-bc24-f7d4c744f460:/haver/local:11201
   + 1f59643a-e6e5-0310-bc24-f7d4c744f460:/haver/local:11205

Modified: trunk/misc/javer/src/javer/ChannelTab.java
===================================================================
--- trunk/misc/javer/src/javer/ChannelTab.java  2005-01-07 01:50:13 UTC (rev 
529)
+++ trunk/misc/javer/src/javer/ChannelTab.java  2005-01-07 02:07:32 UTC (rev 
530)
@@ -90,6 +90,10 @@
         updateUsers();
     }
     
+    public boolean hasUser(String who) {
+        return users.contains(who);
+    }
+    
     // Variables declaration - do not modify//GEN-BEGIN:variables
     javax.swing.JTextArea chatArea;
     private javax.swing.JScrollPane jScrollPane1;

Modified: trunk/misc/javer/src/javer/JaverUIPanel.java
===================================================================
--- trunk/misc/javer/src/javer/JaverUIPanel.java        2005-01-07 01:50:13 UTC 
(rev 529)
+++ trunk/misc/javer/src/javer/JaverUIPanel.java        2005-01-07 02:07:32 UTC 
(rev 530)
@@ -115,12 +115,29 @@
         }
 
         public void eventChannelList(String where, Set names) {
-
+            ChannelTab tab;
+            TabPair t = findTab("Channel: " + where);
+            if (t == null)
+                return;
+            tab = (ChannelTab) t.tab;
+            tab.setUsers(names);
             super.eventChannelList(where, names);
         }
 
         public void eventQuit(String who, String why) {
-
+            Iterator it = tabs.values().iterator();
+            while (it.hasNext()) {
+                ChannelTab tab;
+                try {
+                    tab = (ChannelTab) ((TabPair)it.next()).tab;
+                } catch (ClassCastException e) {
+                    continue;
+                }
+                if (!tab.hasUser(who))
+                    continue;
+                tab.putText("--- " + who + " has quit (" + why + ")");
+                tab.delUser(who);
+            }
             super.eventQuit(who, why);
         }
 
@@ -135,17 +152,37 @@
         }
 
         public void eventChannelPart(String where, String who) {
-
+            ChannelTab tab;
+            TabPair t = findTab("Channel: " + where);
+            if (t == null)
+                return;
+            tab = (ChannelTab) t.tab;
+            tab.delUser(who);
+            tab.putText("--- " + who + " has left.");
             super.eventChannelPart(where, who);
         }
 
         public void eventChannelJoin(String where, String who) {
-
+            ChannelTab tab;
+            TabPair t = findTab("Channel: " + where);
+            if (t == null)
+                return;
+            tab = (ChannelTab) t.tab;
+            tab.addUser(who);
+            tab.putText("--- " + who + " has joined.");
+            try {
+                listChannel(where);
+            } catch (IOException e) { /* XXX */ }
             super.eventChannelJoin(where, who);
         }
 
         public void eventAction(String where, String who, String arg) {
-
+            TextTab tab;
+            TabPair t = findTab("Channel: " + where);
+            if (t == null)
+                return;
+            tab = (TextTab) t.tab;
+            tab.putText("* " + who + " " + arg);
             super.eventAction(where, who, arg);
         }
     }


Reply via email to