mirror of
https://github.com/igniterealtime/Spark.git
synced 2025-12-01 12:27:58 +00:00
Minor UI improvements for users not subscribed to.
git-svn-id: http://svn.igniterealtime.org/svn/repos/spark/trunk@9226 b35dd754-fafc-0310-a699-88a17e54d16e
This commit is contained in:
@ -23,6 +23,7 @@ import org.jivesoftware.smack.packet.Presence;
|
||||
import org.jivesoftware.smack.util.StringUtils;
|
||||
import org.jivesoftware.smackx.debugger.EnhancedDebuggerWindow;
|
||||
import org.jivesoftware.smackx.packet.DelayInformation;
|
||||
import org.jivesoftware.smackx.packet.VCard;
|
||||
import org.jivesoftware.spark.component.tabbedPane.SparkTabbedPane;
|
||||
import org.jivesoftware.spark.filetransfer.SparkTransferManager;
|
||||
import org.jivesoftware.spark.search.SearchManager;
|
||||
@ -34,7 +35,7 @@ import org.jivesoftware.spark.ui.ContactItem;
|
||||
import org.jivesoftware.spark.ui.ContactList;
|
||||
import org.jivesoftware.spark.ui.conferences.ConferenceServices;
|
||||
import org.jivesoftware.spark.ui.status.StatusBar;
|
||||
import org.jivesoftware.spark.util.SwingTimerTask;
|
||||
import org.jivesoftware.spark.util.ModelUtil;
|
||||
import org.jivesoftware.spark.util.TaskEngine;
|
||||
import org.jivesoftware.spark.util.log.Log;
|
||||
import org.jivesoftware.sparkimpl.plugin.alerts.BroadcastPlugin;
|
||||
@ -43,16 +44,6 @@ import org.jivesoftware.sparkimpl.plugin.gateways.GatewayPlugin;
|
||||
import org.jivesoftware.sparkimpl.plugin.manager.Enterprise;
|
||||
import org.jivesoftware.sparkimpl.plugin.transcripts.ChatTranscriptPlugin;
|
||||
|
||||
import java.awt.CardLayout;
|
||||
import java.awt.Color;
|
||||
import java.awt.GridBagConstraints;
|
||||
import java.awt.GridBagLayout;
|
||||
import java.awt.Insets;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.TimerTask;
|
||||
|
||||
import javax.swing.AbstractAction;
|
||||
import javax.swing.JComponent;
|
||||
import javax.swing.JPanel;
|
||||
@ -60,6 +51,14 @@ import javax.swing.JTabbedPane;
|
||||
import javax.swing.KeyStroke;
|
||||
import javax.swing.SwingUtilities;
|
||||
|
||||
import java.awt.CardLayout;
|
||||
import java.awt.Color;
|
||||
import java.awt.GridBagConstraints;
|
||||
import java.awt.GridBagLayout;
|
||||
import java.awt.Insets;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.util.TimerTask;
|
||||
|
||||
|
||||
/**
|
||||
* The inner Container for Spark. The Workspace is the container for all plugins into the Spark
|
||||
@ -307,11 +306,11 @@ public class Workspace extends JPanel implements PacketListener {
|
||||
boolean broadcast = message.getProperty("broadcast") != null;
|
||||
|
||||
if (body == null ||
|
||||
isGroupChat ||
|
||||
broadcast ||
|
||||
message.getType() == Message.Type.normal ||
|
||||
message.getType() == Message.Type.headline ||
|
||||
message.getType() == Message.Type.error) {
|
||||
isGroupChat ||
|
||||
broadcast ||
|
||||
message.getType() == Message.Type.normal ||
|
||||
message.getType() == Message.Type.headline ||
|
||||
message.getType() == Message.Type.error) {
|
||||
return;
|
||||
}
|
||||
|
||||
@ -386,6 +385,24 @@ public class Workspace extends JPanel implements PacketListener {
|
||||
if (contact != null) {
|
||||
nickname = contact.getNickname();
|
||||
}
|
||||
else {
|
||||
// Attempt to load VCard from users who we are not subscribed to.
|
||||
VCard vCard = SparkManager.getVCardManager().getVCard(bareJID);
|
||||
if (vCard != null && vCard.getError() == null) {
|
||||
String firstName = vCard.getFirstName();
|
||||
String lastName = vCard.getLastName();
|
||||
String userNickname = vCard.getNickName();
|
||||
if (ModelUtil.hasLength(userNickname)) {
|
||||
nickname = userNickname;
|
||||
}
|
||||
else if (ModelUtil.hasLength(firstName) && ModelUtil.hasLength(lastName)) {
|
||||
nickname = firstName + " " + lastName;
|
||||
}
|
||||
else if (ModelUtil.hasLength(firstName)) {
|
||||
nickname = firstName;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SparkManager.getChatManager().createChatRoom(bareJID, nickname, nickname);
|
||||
try {
|
||||
|
||||
@ -160,6 +160,31 @@ public class RosterDialog implements PropertyChangeListener, ActionListener {
|
||||
|
||||
public void focusLost(FocusEvent e) {
|
||||
String jid = getJID();
|
||||
String vcardNickname = null;
|
||||
|
||||
if (!publicBox.isSelected()) {
|
||||
// This is not a transport.
|
||||
String fullJID = getJID();
|
||||
if (fullJID.indexOf("@") == -1) {
|
||||
fullJID = fullJID + "@" + SparkManager.getConnection().getServiceName();
|
||||
}
|
||||
|
||||
VCard vCard = SparkManager.getVCardManager().getVCard(fullJID);
|
||||
if (vCard != null && vCard.getError() == null) {
|
||||
String firstName = vCard.getFirstName();
|
||||
String lastName = vCard.getLastName();
|
||||
String nickname = vCard.getNickName();
|
||||
if (ModelUtil.hasLength(nickname)) {
|
||||
vcardNickname = nickname;
|
||||
}
|
||||
else if (ModelUtil.hasLength(firstName) && ModelUtil.hasLength(lastName)) {
|
||||
vcardNickname = firstName + " " + lastName;
|
||||
}
|
||||
else if (ModelUtil.hasLength(firstName)) {
|
||||
vcardNickname = firstName;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
String nickname = nicknameField.getText();
|
||||
if (!ModelUtil.hasLength(nickname) && ModelUtil.hasLength(jid)) {
|
||||
@ -167,7 +192,8 @@ public class RosterDialog implements PropertyChangeListener, ActionListener {
|
||||
if (!ModelUtil.hasLength(nickname)) {
|
||||
nickname = jid;
|
||||
}
|
||||
nicknameField.setText(nickname);
|
||||
|
||||
nicknameField.setText(vcardNickname != null ? vcardNickname : nickname);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user