1 package zirc.threads ; 2 3 import java.util.* ; 4 import javax.swing.* ; 5 import zirc.base.* ; 6 import zirc.gui.* ; 7 import zirc.msg.* ; 8 9 22 29 30 31 public class ChangeUserNickThread extends PseudoThread 32 { 33 34 private ChanUser OldUser ; 35 private String newNick ; 36 private IRCconnexion ircChat ; 37 38 public ChangeUserNickThread(IRCconnexion _ircChat, String _oldNick, String _newNick) 39 { 40 OldUser = new ChanUser(_oldNick, ChanUser.NORM) ; 41 newNick = _newNick ; 42 ircChat = _ircChat ; 43 } 44 45 public void go() 46 { 47 ChatFrame crm ; 51 PrivateFrame prm ; 52 ChanUser machin ; 53 ArrayList Frm = ircChat.getAllChatFrames() ; 54 DefaultListModel lm ; 55 int i ; 56 int ind ; 57 58 62 67 for (i = 0 ; i < Frm.size() ; i++) 68 { 69 crm = (ChatFrame)(Frm.get(i)) ; 70 lm = crm.getListModel() ; 71 72 ind = Arrays.binarySearch(lm.toArray(), new ChanUser(OldUser.getNameAvecRank(), ChanUser.OP)) ; 73 if (ind < 0) 74 { 75 ind = Arrays.binarySearch(lm.toArray(), new ChanUser(OldUser.getNameAvecRank(), ChanUser.HALFOP)) ; 76 } 77 if (ind < 0) 78 { 79 ind = Arrays.binarySearch(lm.toArray(), new ChanUser(OldUser.getNameAvecRank(), ChanUser.VOICE)) ; 80 } 81 if (ind < 0) 82 { 83 ind = Arrays.binarySearch(lm.toArray(), new ChanUser(OldUser.getNameAvecRank(), ChanUser.NORM)) ; 84 } 85 86 if (ind >= 0) 87 { 88 machin = (ChanUser)(lm.get(ind)) ; 89 lm.removeElementAt(ind) ; 90 91 machin.setName(newNick) ; 92 93 crm.addNewUserInChan(machin) ; 95 96 new MSGinfo(ircChat, crm, OldUser.getNameSansRank() + " se nomme à présent " + newNick).affiche() ; 97 } 98 } 99 100 Frm = ircChat.getAllPrivateFrames() ; 104 105 for (i = 0 ; i < Frm.size() ; i++) 106 { 107 prm = (PrivateFrame)(Frm.get(i)) ; 108 if (prm.getCorrespondant().equalsIgnoreCase(OldUser.getNameSansRank())) 109 { 110 prm.setCorrespondant(newNick) ; 111 new MSGinfo(ircChat, prm, OldUser.getNameSansRank() + " se nomme à présent " + newNick).affiche() ; 112 } 113 } 114 115 isFinished = true ; 116 } 117 118 } 119 | Popular Tags |