예제 #1
0
 @Override
 public synchronized void printChatMessageWithOptionalDeletion(IChatComponent ichat, int id) {
   // chat listeners
   ChatRecievedEvent chatevent = new ChatRecievedEvent(ichat, id);
   chatevent.channels.add(ChatChannel.DEFAULT_CHANNEL);
   tc.getEventManager().onChatRecieved(chatevent);
   // chat filters
   ichat = chatevent.chat;
   id = chatevent.id;
   if (ichat != null && !ichat.getUnformattedText().isEmpty()) {
     if (id != 0) {
       // send removable msg to current channel
       chatevent.channels.clear();
       chatevent.channels.add(this.chat.getActiveChannel());
     }
     if (chatevent.channels.contains(ChatChannel.DEFAULT_CHANNEL)
         && chatevent.channels.size() > 1
         && !tc.serverSettings.general.useDefaultTab.getValue()) {
       chatevent.channels.remove(ChatChannel.DEFAULT_CHANNEL);
     }
     boolean msg = !chatevent.channels.contains(this.chat.getActiveChannel());
     for (Channel channel : chatevent.channels) {
       channel.addMessage(ichat, id);
       if (msg) {
         channel.setStatus(ChannelStatus.UNREAD);
       }
     }
     TabbyChat.getLogger().info("[CHAT] " + ichat.getUnformattedText());
     this.chat.getChatBox().updateComponent();
   }
 }