Migrating.

git-svn-id: http://svn.igniterealtime.org/svn/repos/spark/trunk@6248 b35dd754-fafc-0310-a699-88a17e54d16e
This commit is contained in:
Derek DeMoro
2006-11-29 00:51:38 +00:00
committed by derek
parent 3d0c92ae74
commit 659dfdeb38
6 changed files with 64 additions and 14 deletions

View File

@ -59,7 +59,7 @@ public class ChatAreaSendField extends JPanel {
final JScrollPane pane = new JScrollPane(textField);
pane.setBorder(null);
add(pane, new GridBagConstraints(0, 0, 1, 1, 1.0, 1.0, GridBagConstraints.WEST, GridBagConstraints.BOTH, new Insets(2, 2, 2, 2), 0, 0));
add(textField, new GridBagConstraints(0, 0, 1, 1, 1.0, 1.0, GridBagConstraints.WEST, GridBagConstraints.BOTH, new Insets(2, 2, 2, 2), 0, 0));
button.setEnabled(false);
}

View File

@ -99,6 +99,11 @@ public class RolloverButton extends JPanel {
return innerLabel;
}
public void setEnabled(boolean enabled) {
innerLabel.setEnabled(enabled);
setBorder(BorderFactory.createMatteBorder(1, 1, 1, 1, SparkRes.getImageIcon(SparkRes.BLANK_IMAGE)));
}
public void setMnemonic(int mnemonic) {
innerLabel.setDisplayedMnemonic(mnemonic);
}
@ -129,12 +134,18 @@ public class RolloverButton extends JPanel {
}
public void mousePressed(MouseEvent e) {
if (!innerLabel.isEnabled()) {
return;
}
setBorder(BorderFactory.createMatteBorder(1, 1, 1, 1, Color.lightGray));
setOpaque(true);
}
public void mouseReleased(MouseEvent e) {
if (!innerLabel.isEnabled()) {
return;
}
setOpaque(false);
for (ActionListener listener : listeners) {
@ -143,10 +154,16 @@ public class RolloverButton extends JPanel {
}
public void mouseEntered(MouseEvent e) {
if (!innerLabel.isEnabled()) {
return;
}
setBorder(BorderFactory.createMatteBorder(1, 1, 1, 1, Color.lightGray));
}
public void mouseExited(MouseEvent e) {
if (!innerLabel.isEnabled()) {
return;
}
setBorder(BorderFactory.createMatteBorder(1, 1, 1, 1, SparkRes.getImageIcon(SparkRes.BLANK_IMAGE)));
}
});

View File

@ -12,8 +12,8 @@ package org.jivesoftware.spark.ui;
import org.jivesoftware.resource.Res;
import org.jivesoftware.resource.SparkRes;
import org.jivesoftware.smack.PacketListener;
import org.jivesoftware.smack.ConnectionListener;
import org.jivesoftware.smack.PacketListener;
import org.jivesoftware.smack.packet.Message;
import org.jivesoftware.smack.packet.Packet;
import org.jivesoftware.smackx.debugger.EnhancedDebuggerWindow;
@ -44,6 +44,7 @@ import javax.swing.text.Document;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
@ -116,7 +117,19 @@ public abstract class ChatRoom extends BackgroundPanel implements ActionListener
});
chatAreaButton = new ChatAreaSendField(SparkRes.getString(SparkRes.SEND));
chatAreaButton = new ChatAreaSendField(SparkRes.getString(SparkRes.SEND)) {
public Dimension getPreferredSize() {
Dimension dim = super.getPreferredSize();
int windowHeight = getChatRoom().getHeight();
if (dim.getHeight() > windowHeight - 200) {
dim.height = windowHeight - 200;
}
return dim;
}
};
getChatInputEditor().setSelectedTextColor((Color)UIManager.get("ChatInput.SelectedTextColor"));
getChatInputEditor().setSelectionColor((Color)UIManager.get("ChatInput.SelectionColor"));
@ -198,7 +211,7 @@ public abstract class ChatRoom extends BackgroundPanel implements ActionListener
bottomPanel.setOpaque(false);
splitPane.setOpaque(false);
bottomPanel.setLayout(new GridBagLayout());
bottomPanel.add(chatAreaButton, new GridBagConstraints(0, 1, 5, 1, 1.0, 1.0, GridBagConstraints.WEST, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 15));
bottomPanel.add(chatAreaButton, new GridBagConstraints(0, 1, 5, 1, 1.0, 1.0, GridBagConstraints.WEST, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
bottomPanel.add(editorBar, new GridBagConstraints(0, 0, 5, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));
verticalSplit.setOpaque(false);
@ -343,6 +356,8 @@ public abstract class ChatRoom extends BackgroundPanel implements ActionListener
else {
chatAreaButton.getButton().setEnabled(false);
}
verticalSplit.setDividerLocation(-1);
}
/**
@ -501,7 +516,6 @@ public abstract class ChatRoom extends BackgroundPanel implements ActionListener
* @param docEvent the document event.
*/
public void changedUpdate(DocumentEvent docEvent) {
// Do nothing.
}
/**

View File

@ -24,6 +24,8 @@ import org.jivesoftware.spark.ui.rooms.ChatRoomImpl;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Timer;
import java.util.TimerTask;
/**
*
@ -61,6 +63,16 @@ public class BuzzPlugin implements Plugin {
message.setTo(jid);
message.addExtension(new BuzzPacket());
SparkManager.getConnection().sendPacket(message);
room.getTranscriptWindow().insertNotificationMessage("BUZZ!");
Timer timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
chatRoomButton.setEnabled(true);
}
}, 30000);
chatRoomButton.setEnabled(false);
}
});
room.getEditorBar().add(chatRoomButton);

View File

@ -180,5 +180,9 @@ public class GatewayButton extends JPanel {
this.signedIn = signedIn;
}
public boolean isLoggedIn(){
return signedIn;
}
}

View File

@ -14,10 +14,10 @@ import org.jivesoftware.smack.PacketListener;
import org.jivesoftware.smack.Roster;
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.provider.ProviderManager;
import org.jivesoftware.smack.filter.PacketTypeFilter;
import org.jivesoftware.smack.packet.Packet;
import org.jivesoftware.smack.packet.Presence;
import org.jivesoftware.smack.provider.ProviderManager;
import org.jivesoftware.smack.util.StringUtils;
import org.jivesoftware.smackx.ServiceDiscoveryManager;
import org.jivesoftware.smackx.packet.DiscoverInfo;
@ -41,12 +41,12 @@ import org.jivesoftware.sparkimpl.plugin.gateways.transports.Transport;
import org.jivesoftware.sparkimpl.plugin.gateways.transports.TransportUtils;
import org.jivesoftware.sparkimpl.plugin.gateways.transports.YahooTransport;
import javax.swing.Icon;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import javax.swing.Icon;
/**
* Handles Gateways/Transports in Spark.
*
@ -199,12 +199,15 @@ public class GatewayPlugin implements Plugin, ContactItemHandler {
SparkManager.getSessionManager().addPresenceListener(new PresenceListener() {
public void presenceChanged(Presence presence) {
for (Transport transport : TransportUtils.getTransports()) {
GatewayButton button = uiMap.get(transport);
if (button.isLoggedIn()) {
// Create new presence
Presence p = new Presence(presence.getType(), presence.getStatus(), presence.getPriority(), presence.getMode());
p.setTo(transport.getServiceName());
SparkManager.getConnection().sendPacket(p);
}
}
}
});
}