mirror of
https://github.com/igniterealtime/Spark.git
synced 2025-12-01 12:27:58 +00:00
SPARK-1264 now you can show your transports as a tab if you want to. Change preference -> appearance -> show transports in tab
git-svn-id: http://svn.igniterealtime.org/svn/repos/spark/trunk@12172 b35dd754-fafc-0310-a699-88a17e54d16e
This commit is contained in:
committed by
holger.bergunde
parent
1de57b7ecd
commit
8934380a02
@ -319,6 +319,7 @@ public class SparkRes {
|
||||
public static final String XMPP_TRANSPORT_INACTIVE_IMAGE = "XMPP_TRANSPORT_INACTIVE_IMAGE";
|
||||
public static final String OFFLINE_IMAGE = "OFFLINE_IMAGE";
|
||||
public static final String TASK_DELETE_IMAGE = "TASK_DELETE_IMAGE";
|
||||
public static final String TRANSPORT_ICON = "TRANSPORT_ICON";
|
||||
|
||||
static ClassLoader cl = SparkRes.class.getClassLoader();
|
||||
|
||||
|
||||
@ -293,6 +293,7 @@ MYSPACE_TRANSPORT_ACTIVE_IMAGE= images/myspaceim.gif
|
||||
MYSPACE_TRANSPORT_INACTIVE_IMAGE= images/myspaceim-gray.gif
|
||||
SAMETIME_TRANSPORT_ACTIVE_IMAGE= images/sametime.gif
|
||||
SAMETIME_TRANSPORT_INACTIVE_IMAGE= images/sametime-gray.gif
|
||||
TRANSPORT_ICON = images/transport.png
|
||||
|
||||
#Stale Images
|
||||
IM_AVAILABLE_STALE_IMAGE = images/im_available_stale.png
|
||||
|
||||
@ -89,6 +89,7 @@ public class ThemePanel extends JPanel {
|
||||
private JComboBox _lookandfeel;
|
||||
private JButton _lookandfeelpreview;
|
||||
private Vector<String> _lookandfeelname = new Vector<String>();
|
||||
private JCheckBox _useTabsForTransports;
|
||||
|
||||
private ThemePanel _thispanel;
|
||||
|
||||
@ -213,6 +214,9 @@ public class ThemePanel extends JPanel {
|
||||
});
|
||||
|
||||
|
||||
_useTabsForTransports = new JCheckBox("deine mudder");
|
||||
|
||||
|
||||
JLabel messageStyleLabel = new JLabel();
|
||||
messageStyleBox = new JComboBox();
|
||||
|
||||
@ -253,6 +257,7 @@ public class ThemePanel extends JPanel {
|
||||
ResourceUtils.resButton(showAvatarsBox, Res.getString("checkbox.show.avatars.in.contactlist"));
|
||||
ResourceUtils.resLabel(avatarSizeLabel, avatarSizeField, Res.getString("label.contactlist.avatarsize"));
|
||||
ResourceUtils.resButton(showVCards, Res.getString("title.appearance.showVCards"));
|
||||
_useTabsForTransports.setText(Res.getString("checkbox.transport.tab.setting"));
|
||||
|
||||
// Build UI
|
||||
buildUI();
|
||||
@ -283,12 +288,22 @@ public class ThemePanel extends JPanel {
|
||||
add(avatarSizeLabel, new GridBagConstraints(0, 8, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0));
|
||||
add(avatarSizeField, new GridBagConstraints(1, 8, 2, 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 50, 0));
|
||||
add(showVCards, new GridBagConstraints(0, 9, 2, 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 50, 0));
|
||||
|
||||
add(_useTabsForTransports, new GridBagConstraints(0, 10, 3, 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 50, 0));
|
||||
|
||||
// Activate live one.
|
||||
LocalPreferences pref = SettingsManager.getLocalPreferences();
|
||||
|
||||
|
||||
|
||||
_useTabsForTransports.setSelected(pref.getShowTransportTab());
|
||||
_useTabsForTransports.addActionListener(new ActionListener() {
|
||||
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
SettingsManager.getLocalPreferences().setShowTransportTab(_useTabsForTransports.isSelected());
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
final EmoticonManager emoticonManager = EmoticonManager.getInstance();
|
||||
if (emoticonManager.getEmoticonPacks() != null)
|
||||
{
|
||||
|
||||
@ -47,7 +47,7 @@ import org.jivesoftware.sparkimpl.plugin.gateways.transports.TransportUtils;
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public class GatewayButton extends JPanel {
|
||||
public class GatewayButton extends JPanel implements GatewayItem {
|
||||
private static final long serialVersionUID = -2692869826501622612L;
|
||||
private final RolloverButton button = new RolloverButton();
|
||||
private Transport transport;
|
||||
|
||||
@ -0,0 +1,17 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package org.jivesoftware.sparkimpl.plugin.gateways;
|
||||
|
||||
/**
|
||||
* @author holger.bergunde
|
||||
*
|
||||
*/
|
||||
public interface GatewayItem {
|
||||
|
||||
public void signedIn(boolean signedIn);
|
||||
|
||||
public boolean isLoggedIn();
|
||||
|
||||
|
||||
}
|
||||
@ -19,6 +19,7 @@
|
||||
*/
|
||||
package org.jivesoftware.sparkimpl.plugin.gateways;
|
||||
|
||||
import org.jivesoftware.Spark;
|
||||
import org.jivesoftware.resource.SparkRes;
|
||||
import org.jivesoftware.smack.PacketListener;
|
||||
import org.jivesoftware.smack.filter.OrFilter;
|
||||
@ -35,13 +36,23 @@ import org.jivesoftware.spark.ChatManager;
|
||||
import org.jivesoftware.spark.PresenceManager;
|
||||
import org.jivesoftware.spark.SparkManager;
|
||||
import org.jivesoftware.spark.component.MessageDialog;
|
||||
import org.jivesoftware.spark.component.VerticalFlowLayout;
|
||||
import org.jivesoftware.spark.component.tabbedPane.SparkTabbedPane;
|
||||
import org.jivesoftware.spark.plugin.Plugin;
|
||||
import org.jivesoftware.spark.ui.*;
|
||||
import org.jivesoftware.spark.util.SwingWorker;
|
||||
import org.jivesoftware.spark.util.log.Log;
|
||||
import org.jivesoftware.sparkimpl.plugin.gateways.transports.*;
|
||||
import org.jivesoftware.sparkimpl.settings.local.LocalPreferences;
|
||||
import org.jivesoftware.sparkimpl.settings.local.SettingsManager;
|
||||
|
||||
import com.sun.org.apache.xerces.internal.impl.RevalidationHandler;
|
||||
import com.sun.xml.internal.ws.api.pipe.TransportTubeFactory;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
import java.awt.EventQueue;
|
||||
import java.awt.GridLayout;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
@ -57,13 +68,15 @@ public class GatewayPlugin implements Plugin, ContactItemHandler {
|
||||
* Defined Static Variable for Gateways. *
|
||||
*/
|
||||
public static final String GATEWAY = "gateway";
|
||||
private boolean useTab;
|
||||
|
||||
private Map<Transport, GatewayButton> uiMap = new HashMap<Transport, GatewayButton>();
|
||||
|
||||
private Map<Transport, GatewayItem> uiMap = new HashMap<Transport, GatewayItem>();;
|
||||
private JPanel transferTab = new JPanel();
|
||||
|
||||
public void initialize() {
|
||||
ProviderManager.getInstance().addIQProvider(Gateway.ELEMENT_NAME, Gateway.NAMESPACE, new Gateway.Provider());
|
||||
|
||||
ProviderManager.getInstance().addIQProvider(Gateway.ELEMENT_NAME, Gateway.NAMESPACE, new Gateway.Provider());
|
||||
LocalPreferences localPref = SettingsManager.getLocalPreferences();
|
||||
useTab = localPref.getShowTransportTab();
|
||||
SwingWorker thread = new SwingWorker() {
|
||||
public Object construct() {
|
||||
try {
|
||||
@ -80,15 +93,26 @@ public class GatewayPlugin implements Plugin, ContactItemHandler {
|
||||
}
|
||||
|
||||
public void finished() {
|
||||
Boolean transportExists = (Boolean)get();
|
||||
|
||||
final JPanel commandPanel = SparkManager.getWorkspace().getCommandPanel();
|
||||
transferTab.setLayout(new VerticalFlowLayout(0,0,0,true,true));
|
||||
Boolean transportExists = (Boolean)get();
|
||||
if (!transportExists) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (TransportUtils.getTransports().size() > 0) {
|
||||
final JPanel commandPanel = SparkManager.getWorkspace().getCommandPanel();
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (TransportUtils.getTransports().size() > 0 ) {
|
||||
if(useTab)
|
||||
{
|
||||
SparkManager.getWorkspace().getWorkspacePane().addTab("Transports", SparkRes.getImageIcon(SparkRes.TRANSPORT_ICON), transferTab);
|
||||
}
|
||||
else
|
||||
{
|
||||
final JLabel dividerLabel = new JLabel(SparkRes.getImageIcon("DIVIDER_IMAGE"));
|
||||
commandPanel.add(dividerLabel);
|
||||
}
|
||||
}
|
||||
|
||||
for (final Transport transport : TransportUtils.getTransports()) {
|
||||
@ -181,8 +205,19 @@ public class GatewayPlugin implements Plugin, ContactItemHandler {
|
||||
}
|
||||
|
||||
private void addTransport(final Transport transport) {
|
||||
final GatewayButton button = new GatewayButton(transport);
|
||||
uiMap.put(transport, button);
|
||||
GatewayItem item = null;
|
||||
if (useTab)
|
||||
{
|
||||
item = new GatewayTabItem(transport);
|
||||
transferTab.add((GatewayTabItem)item);
|
||||
}
|
||||
else
|
||||
{
|
||||
item = new GatewayButton(transport);
|
||||
}
|
||||
uiMap.put(transport, item);
|
||||
// transferTab.add(button);
|
||||
// transferTab.add(new GatewayTabItem(transport));
|
||||
}
|
||||
|
||||
private void registerPresenceListener() {
|
||||
@ -199,8 +234,21 @@ public class GatewayPlugin implements Plugin, ContactItemHandler {
|
||||
registered = false;
|
||||
}
|
||||
|
||||
GatewayButton button = uiMap.get(transport);
|
||||
|
||||
GatewayItem button = uiMap.get(transport);
|
||||
|
||||
button.signedIn(registered);
|
||||
|
||||
SwingWorker worker = new SwingWorker() {
|
||||
|
||||
@Override
|
||||
public Object construct() {
|
||||
transferTab.revalidate();
|
||||
transferTab.repaint();
|
||||
return 41;
|
||||
}
|
||||
};
|
||||
worker.start();
|
||||
}
|
||||
}
|
||||
else if (packet instanceof Message) {
|
||||
@ -244,7 +292,7 @@ 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);
|
||||
GatewayItem button = uiMap.get(transport);
|
||||
if (button.isLoggedIn()) {
|
||||
if (!presence.isAvailable()) {
|
||||
return;
|
||||
|
||||
@ -0,0 +1,320 @@
|
||||
package org.jivesoftware.sparkimpl.plugin.gateways;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.Color;
|
||||
import java.awt.EventQueue;
|
||||
|
||||
import java.awt.Font;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
|
||||
import javax.swing.DefaultListModel;
|
||||
|
||||
import javax.swing.JCheckBox;
|
||||
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JList;
|
||||
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.JPanel;
|
||||
|
||||
import org.jivesoftware.resource.Res;
|
||||
import org.jivesoftware.resource.SparkRes;
|
||||
import org.jivesoftware.smack.XMPPException;
|
||||
import org.jivesoftware.smack.packet.Presence;
|
||||
import org.jivesoftware.spark.PresenceManager;
|
||||
import org.jivesoftware.spark.SparkManager;
|
||||
import org.jivesoftware.spark.component.RolloverButton;
|
||||
import org.jivesoftware.spark.component.VerticalFlowLayout;
|
||||
import org.jivesoftware.spark.component.panes.CollapsiblePane;
|
||||
|
||||
import org.jivesoftware.spark.component.renderer.JPanelRenderer;
|
||||
|
||||
import org.jivesoftware.spark.ui.status.StatusBar;
|
||||
|
||||
import org.jivesoftware.spark.util.TaskEngine;
|
||||
import org.jivesoftware.spark.util.log.Log;
|
||||
import org.jivesoftware.sparkimpl.plugin.gateways.transports.Transport;
|
||||
import org.jivesoftware.sparkimpl.plugin.gateways.transports.TransportUtils;
|
||||
|
||||
public class GatewayTabItem extends CollapsiblePane implements GatewayItem {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = 5589644402913737488L;
|
||||
/**
|
||||
*
|
||||
*/
|
||||
|
||||
private boolean signedIn;
|
||||
|
||||
private Transport _transport;
|
||||
private DefaultListModel model = new DefaultListModel();
|
||||
private JList _transportMenu = new JList(model);
|
||||
private JLabel _status = new JLabel();
|
||||
private JPanel _listPanel = new JPanel(new VerticalFlowLayout(
|
||||
VerticalFlowLayout.TOP, 10, 0, true, false));
|
||||
private JLabel _statusIcon = new JLabel();
|
||||
private RolloverButton _signInOut = new RolloverButton();
|
||||
private RolloverButton _registerButton = new RolloverButton();
|
||||
private JCheckBox _autoJoin = new JCheckBox();
|
||||
private boolean _transportRegistered = false;
|
||||
|
||||
public GatewayTabItem(final Transport transport) {
|
||||
this._transport = transport;
|
||||
_transportRegistered = TransportUtils.isRegistered(
|
||||
SparkManager.getConnection(), _transport);
|
||||
|
||||
this.setIcon(transport.getIcon());
|
||||
_status.setForeground(Color.gray);
|
||||
_status.setFont(new Font(getFont().getName(), Font.ITALIC, getFont()
|
||||
.getSize()));
|
||||
getTitlePane().add(_status);
|
||||
this.setTitle(transport.getName());
|
||||
|
||||
_listPanel.setBackground(Color.lightGray);
|
||||
_transportMenu.setCellRenderer(new JPanelRenderer());
|
||||
|
||||
this.setContentPane(_listPanel);
|
||||
|
||||
setCollapsed(true);
|
||||
|
||||
// Check if transport is already registered
|
||||
if (_transportRegistered) {
|
||||
// If yes, check if it is online
|
||||
if (PresenceManager.isOnline(transport.getServiceName())) {
|
||||
|
||||
getTitlePane().setIcon(transport.getIcon());
|
||||
_status.setText(Res.getString("online"));
|
||||
setOnline();
|
||||
|
||||
} else {
|
||||
getTitlePane().setIcon(transport.getInactiveIcon());
|
||||
_status.setText(Res.getString("offline"));
|
||||
setOffline();
|
||||
}
|
||||
|
||||
} else {
|
||||
// If not. set that transport is not registered yet
|
||||
getTitlePane().setIcon(transport.getInactiveIcon());
|
||||
_status.setText(Res.getString("offline"));
|
||||
setNotRegistered();
|
||||
}
|
||||
|
||||
createTransportMenu();
|
||||
// Check if autojoin is enabled an join automatically
|
||||
final StatusBar statusBar = SparkManager.getWorkspace().getStatusBar();
|
||||
final Runnable registerThread = new Runnable() {
|
||||
public void run() {
|
||||
// Send directed presence if registered with this transport.
|
||||
final boolean isRegistered = TransportUtils.isRegistered(
|
||||
SparkManager.getConnection(), transport);
|
||||
if (isRegistered) {
|
||||
// Check if auto login is set.
|
||||
boolean autoJoin = TransportUtils.autoJoinService(transport
|
||||
.getServiceName());
|
||||
if (autoJoin) {
|
||||
Presence oldPresence = statusBar.getPresence();
|
||||
Presence presence = new Presence(oldPresence.getType(),
|
||||
oldPresence.getStatus(),
|
||||
oldPresence.getPriority(),
|
||||
oldPresence.getMode());
|
||||
presence.setTo(transport.getServiceName());
|
||||
SparkManager.getConnection().sendPacket(presence);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
TaskEngine.getInstance().submit(registerThread);
|
||||
|
||||
}
|
||||
|
||||
private void createTransportMenu() {
|
||||
|
||||
_signInOut.addActionListener(new ActionListener() {
|
||||
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
if (signedIn) {
|
||||
|
||||
final Presence offlinePresence = new Presence(
|
||||
Presence.Type.unavailable);
|
||||
offlinePresence.setTo(_transport.getServiceName());
|
||||
SparkManager.getConnection().sendPacket(offlinePresence);
|
||||
_statusIcon.setIcon(SparkRes
|
||||
.getImageIcon(SparkRes.YELLOW_BALL));
|
||||
|
||||
} else {
|
||||
final Presence onlinePresence = new Presence(
|
||||
Presence.Type.available);
|
||||
onlinePresence.setTo(_transport.getServiceName());
|
||||
SparkManager.getConnection().sendPacket(onlinePresence);
|
||||
_statusIcon.setIcon(SparkRes
|
||||
.getImageIcon(SparkRes.YELLOW_BALL));
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
_autoJoin.setText(Res.getString("menuitem.sign.in.at.login"));
|
||||
|
||||
// If transport is registered, we can check if the autojoin is enabled
|
||||
if (_transportRegistered) {
|
||||
_autoJoin.setSelected(TransportUtils.autoJoinService(_transport
|
||||
.getServiceName()));
|
||||
_registerButton.setText(Res
|
||||
.getString("menuitem.delete.login.information"));
|
||||
_signInOut.setEnabled(true);
|
||||
|
||||
} else {
|
||||
setNotRegistered();
|
||||
}
|
||||
|
||||
_autoJoin.addActionListener(new ActionListener() {
|
||||
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
TransportUtils.setAutoJoin(_transport.getServiceName(), _autoJoin.isSelected());
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
_registerButton.addActionListener(new ActionListener() {
|
||||
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
// If transport is registered we should show the
|
||||
// "delete information" gui
|
||||
if (TransportUtils.isRegistered(SparkManager.getConnection(),
|
||||
_transport)) {
|
||||
|
||||
int confirm = JOptionPane.showConfirmDialog(SparkManager
|
||||
.getMainWindow(), Res.getString(
|
||||
"message.disable.transport", _transport.getName()),
|
||||
Res.getString("title.disable.transport"),
|
||||
JOptionPane.YES_NO_OPTION);
|
||||
if (confirm == JOptionPane.YES_OPTION) {
|
||||
try {
|
||||
TransportUtils.unregister(
|
||||
SparkManager.getConnection(),
|
||||
_transport.getServiceName());
|
||||
setNotRegistered();
|
||||
} catch (XMPPException e1) {
|
||||
Log.error(e1);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// If transport is not registered we should show the
|
||||
// register gui
|
||||
TransportRegistrationDialog registrationDialog = new TransportRegistrationDialog(
|
||||
_transport.getServiceName());
|
||||
registrationDialog.invoke();
|
||||
// Set user as offline while he fills in the login
|
||||
// information
|
||||
setOffline();
|
||||
|
||||
ActionListener al = new ActionListener() {
|
||||
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
// If user canceled the register window, he is sill
|
||||
// not registrated
|
||||
setNotRegistered();
|
||||
}
|
||||
};
|
||||
|
||||
registrationDialog.addCancelActionListener(al);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
JPanel signPanel = new JPanel(new BorderLayout());
|
||||
signPanel.setBackground(Color.lightGray);
|
||||
signPanel.add(_statusIcon, BorderLayout.WEST);
|
||||
signPanel.add(_signInOut, BorderLayout.CENTER);
|
||||
|
||||
_listPanel.add(signPanel);
|
||||
_listPanel.add(_autoJoin);
|
||||
_listPanel.add(_registerButton);
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Set GUI when user is not registered
|
||||
private void setNotRegistered() {
|
||||
_transportRegistered = false;
|
||||
_autoJoin.setSelected(false);
|
||||
_registerButton.setText(Res
|
||||
.getString("menuitem.enter.login.information"));
|
||||
_signInOut.setEnabled(false);
|
||||
_signInOut.setText(Res.getString("menuitem.sign.in"));
|
||||
_autoJoin.setEnabled(false);
|
||||
_statusIcon.setIcon(SparkRes.getImageIcon(SparkRes.BLUE_BALL));
|
||||
}
|
||||
|
||||
// Set GUI when user is registered but offline
|
||||
private void setOffline() {
|
||||
_transportRegistered = true;
|
||||
_autoJoin.setSelected(TransportUtils.autoJoinService(_transport
|
||||
.getServiceName()));
|
||||
_registerButton.setText(Res
|
||||
.getString("menuitem.delete.login.information"));
|
||||
_signInOut.setEnabled(true);
|
||||
_signInOut.setText(Res.getString("menuitem.sign.in"));
|
||||
_autoJoin.setEnabled(true);
|
||||
_statusIcon.setIcon(SparkRes.getImageIcon(SparkRes.RED_BALL));
|
||||
}
|
||||
|
||||
// Set GUI when user is online with rigistered transport
|
||||
private void setOnline() {
|
||||
_statusIcon.setIcon(SparkRes.getImageIcon(SparkRes.GREEN_BALL));
|
||||
EventQueue.invokeLater(new Runnable() {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
_autoJoin.setSelected(TransportUtils.autoJoinService(_transport
|
||||
.getServiceName()));
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
_signInOut.setText(Res.getString("menuitem.sign.out"));
|
||||
_signInOut.setEnabled(true);
|
||||
_autoJoin.setEnabled(true);
|
||||
_registerButton.setText(Res
|
||||
.getString("menuitem.delete.login.information"));
|
||||
}
|
||||
|
||||
// Change gui if transport signed on or off
|
||||
public void signedIn(final boolean signedIn) {
|
||||
|
||||
if (!signedIn) {
|
||||
getTitlePane().setIcon(_transport.getInactiveIcon());
|
||||
_status.setText(Res.getString("offline"));
|
||||
if (!_transportRegistered) {
|
||||
|
||||
_statusIcon.setIcon(SparkRes.getImageIcon(SparkRes.BLUE_BALL));
|
||||
_signInOut.setText(Res.getString("menuitem.sign.in"));
|
||||
} else {
|
||||
_statusIcon.setIcon(SparkRes.getImageIcon(SparkRes.RED_BALL));
|
||||
setOffline();
|
||||
}
|
||||
|
||||
} else {
|
||||
getTitlePane().setIcon(_transport.getIcon());
|
||||
_status.setText(Res.getString("online"));
|
||||
setOnline();
|
||||
|
||||
}
|
||||
this.signedIn = signedIn;
|
||||
}
|
||||
|
||||
public boolean isLoggedIn() {
|
||||
return signedIn;
|
||||
}
|
||||
|
||||
}
|
||||
@ -32,6 +32,7 @@ import org.jivesoftware.spark.util.ResourceUtils;
|
||||
import org.jivesoftware.sparkimpl.plugin.gateways.transports.Transport;
|
||||
import org.jivesoftware.sparkimpl.plugin.gateways.transports.TransportUtils;
|
||||
|
||||
|
||||
import javax.swing.JDialog;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JOptionPane;
|
||||
@ -72,6 +73,7 @@ public class TransportRegistrationDialog extends JPanel implements ActionListene
|
||||
* @param serviceName the name of the transport service.
|
||||
*/
|
||||
public TransportRegistrationDialog(String serviceName) {
|
||||
|
||||
setLayout(new GridBagLayout());
|
||||
|
||||
this.serviceName = serviceName;
|
||||
@ -128,6 +130,7 @@ public class TransportRegistrationDialog extends JPanel implements ActionListene
|
||||
dialog.add(this);
|
||||
dialog.pack();
|
||||
dialog.setSize(400, 200);
|
||||
dialog.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
|
||||
|
||||
GraphicUtils.centerWindowOnComponent(dialog, SparkManager.getMainWindow());
|
||||
dialog.setVisible(true);
|
||||
@ -145,6 +148,11 @@ public class TransportRegistrationDialog extends JPanel implements ActionListene
|
||||
});
|
||||
}
|
||||
|
||||
public void addCancelActionListener(ActionListener a)
|
||||
{
|
||||
cancelButton.addActionListener(a);
|
||||
}
|
||||
|
||||
public String getScreenName() {
|
||||
return usernameField.getText();
|
||||
}
|
||||
@ -192,6 +200,7 @@ public class TransportRegistrationDialog extends JPanel implements ActionListene
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void keyTyped(KeyEvent keyEvent) {
|
||||
}
|
||||
|
||||
@ -200,9 +209,6 @@ public class TransportRegistrationDialog extends JPanel implements ActionListene
|
||||
actionPerformed(null);
|
||||
}
|
||||
|
||||
if (keyEvent.getKeyCode() == KeyEvent.VK_ESCAPE) {
|
||||
dialog.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
public void keyReleased(KeyEvent keyEvent) {
|
||||
|
||||
@ -922,6 +922,16 @@ public class LocalPreferences {
|
||||
return getInt("stunFallbackPort", 3478);
|
||||
}
|
||||
|
||||
public boolean getShowTransportTab()
|
||||
{
|
||||
return getBoolean("useTabForTransport", false);
|
||||
}
|
||||
|
||||
public void setShowTransportTab(boolean value)
|
||||
{
|
||||
setBoolean("useTabForTransport", value);
|
||||
}
|
||||
|
||||
public String getAvailableCodecs() {
|
||||
return getString("AvailableCodecs", null);
|
||||
}
|
||||
|
||||
@ -355,6 +355,7 @@ checkbox.use.krbconf = Use krb5.conf or krb5.ini
|
||||
checkbox.use.krb.dns = Use DNS
|
||||
checkbox.use.specify.below = Specify below
|
||||
checkbox.use.pki.authentication = Use PKI authentication
|
||||
checkbox.transport.tab.setting = Show available transports in tab (requires restart)
|
||||
|
||||
delete.log.permanently = Permanently delete log
|
||||
delete.permanently = Permanently delete?
|
||||
|
||||
@ -235,6 +235,7 @@ checkbox.use.krbconf = Verwende krb5.conf oder krb5.ini
|
||||
checkbox.use.krb.dns = Verwende DNS
|
||||
checkbox.use.specify.below = Specify Below
|
||||
checkbox.use.pki.authentication = Verwende PKI Authentifizierung
|
||||
checkbox.transport.tab.setting = Zeige verf<72>gbare Transports in einem Tab an (ben<65>tigt Neustart von Spark)
|
||||
label.user.on.public.network = Teilnehmer befindet sich in einem <20>ffentlichen Netzwerk
|
||||
label.change.password.to = &Neues Passwort eingeben
|
||||
label.username = &Benutzername
|
||||
|
||||
BIN
src/resources/images/transport.png
Normal file
BIN
src/resources/images/transport.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 488 B |
Reference in New Issue
Block a user