Fix red tab with broadcast messages.

git-svn-id: http://svn.igniterealtime.org/svn/repos/spark/trunk@7399 b35dd754-fafc-0310-a699-88a17e54d16e
This commit is contained in:
Derek DeMoro
2007-03-07 23:36:24 +00:00
committed by derek
parent d8d3fee714
commit 781646d6ba

View File

@ -33,8 +33,8 @@ import org.jivesoftware.spark.ui.ChatRoomNotFoundException;
import org.jivesoftware.spark.ui.ContactGroup;
import org.jivesoftware.spark.ui.ContactItem;
import org.jivesoftware.spark.ui.ContactList;
import org.jivesoftware.spark.ui.SparkTabHandler;
import org.jivesoftware.spark.ui.MessageListener;
import org.jivesoftware.spark.ui.SparkTabHandler;
import org.jivesoftware.spark.ui.TranscriptWindow;
import org.jivesoftware.spark.ui.rooms.ChatRoomImpl;
import org.jivesoftware.spark.ui.status.StatusBar;
@ -43,6 +43,16 @@ import org.jivesoftware.spark.util.ResourceUtils;
import org.jivesoftware.spark.util.log.Log;
import org.jivesoftware.sparkimpl.plugin.manager.Enterprise;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.BorderFactory;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.SwingUtilities;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
@ -54,16 +64,6 @@ import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.BorderFactory;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.SwingUtilities;
/**
* Handles broadcasts from server and allows for roster wide broadcasts.
*/
@ -373,12 +373,14 @@ public class BroadcastPlugin extends SparkTabHandler implements Plugin, PacketLi
public boolean isTabHandled(SparkTab tab, Component component, boolean isSelectedTab, boolean chatFrameFocused) {
if (broadcastRooms.contains(component)) {
final ChatRoomImpl room = (ChatRoomImpl)component;
tab.setIcon(SparkRes.getImageIcon(SparkRes.INFORMATION_IMAGE));
String nickname = ((ChatRoomImpl)component).getTabTitle();
String nickname = room.getTabTitle();
nickname = Res.getString("message.broadcast.from", nickname);
tab.setTabTitle(nickname);
if (!chatFrameFocused || !isSelectedTab) {
if ((!chatFrameFocused || !isSelectedTab) && room.getUnreadMessageCount() > 0) {
// Make tab red.
tab.setTitleColor(Color.red);
tab.setTabBold(true);
@ -386,8 +388,10 @@ public class BroadcastPlugin extends SparkTabHandler implements Plugin, PacketLi
else {
tab.setTitleColor(Color.black);
tab.setTabFont(tab.getDefaultFont());
room.clearUnreadMessageCount();
}
return true;
}