aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorYana Stamcheva <yana@jitsi.org>2013-02-12 17:44:27 +0000
committerYana Stamcheva <yana@jitsi.org>2013-02-12 17:44:27 +0000
commita3109d7cb6adffbfde317dc20c06697be2add632 (patch)
treef985ac3f88726286587d0e1d6f4caa95de7f022a /src
parent58acfca5dd8be76daa18085b96aeb860e2c9824f (diff)
downloadjitsi-a3109d7cb6adffbfde317dc20c06697be2add632.zip
jitsi-a3109d7cb6adffbfde317dc20c06697be2add632.tar.gz
jitsi-a3109d7cb6adffbfde317dc20c06697be2add632.tar.bz2
Fills display name when adding contacts from contact sources such as Outlook, Google Contacts or MacOSX Contacts. Patch provided by Hristo Terezov.
Diffstat (limited to 'src')
-rw-r--r--src/net/java/sip/communicator/impl/gui/main/contactlist/AddContactDialog.java9
-rw-r--r--src/net/java/sip/communicator/impl/gui/main/contactlist/ContactListTreeCellRenderer.java4
-rw-r--r--src/net/java/sip/communicator/impl/gui/main/contactlist/TreeContactList.java19
3 files changed, 26 insertions, 6 deletions
diff --git a/src/net/java/sip/communicator/impl/gui/main/contactlist/AddContactDialog.java b/src/net/java/sip/communicator/impl/gui/main/contactlist/AddContactDialog.java
index 1095832..36cf00f 100644
--- a/src/net/java/sip/communicator/impl/gui/main/contactlist/AddContactDialog.java
+++ b/src/net/java/sip/communicator/impl/gui/main/contactlist/AddContactDialog.java
@@ -149,6 +149,15 @@ public class AddContactDialog
}
/**
+ * Sets the display name of the contact to add.
+ * @param displayName the display name of the contact to add
+ */
+ public void setDisplayName(String displayName)
+ {
+ displayNameField.setText(displayName);
+ }
+
+ /**
* Initializes the dialog.
*/
private void init()
diff --git a/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactListTreeCellRenderer.java b/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactListTreeCellRenderer.java
index 3f5f515..ce8aed4 100644
--- a/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactListTreeCellRenderer.java
+++ b/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactListTreeCellRenderer.java
@@ -1404,7 +1404,9 @@ public class ContactListTreeCellRenderer
}
else if (details.size() == 1)
{
- TreeContactList.showAddContactDialog(details.get(0));
+ TreeContactList.showAddContactDialog(
+ details.get(0),
+ sourceContact.getDisplayName());
}
}
diff --git a/src/net/java/sip/communicator/impl/gui/main/contactlist/TreeContactList.java b/src/net/java/sip/communicator/impl/gui/main/contactlist/TreeContactList.java
index 38fa245..97dbf90 100644
--- a/src/net/java/sip/communicator/impl/gui/main/contactlist/TreeContactList.java
+++ b/src/net/java/sip/communicator/impl/gui/main/contactlist/TreeContactList.java
@@ -1921,6 +1921,7 @@ public class TreeContactList
JMenuItem addContactComponentTmp = null;
List<ContactDetail> details = sourceContact.getContactDetails();
+ final String displayName = sourceContact.getDisplayName();
if (details.size() == 1)
{
@@ -1936,7 +1937,7 @@ public class TreeContactList
{
public void actionPerformed(ActionEvent e)
{
- showAddContactDialog(detail);
+ showAddContactDialog(detail, displayName);
}
});
}
@@ -1962,7 +1963,7 @@ public class TreeContactList
{
public void actionPerformed(ActionEvent e)
{
- showAddContactDialog(detail);
+ showAddContactDialog(detail, displayName);
}
});
}
@@ -1975,8 +1976,11 @@ public class TreeContactList
* Creates and shows an <tt>AddContactDialog</tt> with a predefined
* <tt>contactAddress</tt> and <tt>protocolProvider</tt>.
* @param contactDetail the contact detail to be added
+ * @param displayName the display name of the contact
*/
- public static void showAddContactDialog(ContactDetail contactDetail)
+ public static void showAddContactDialog(
+ ContactDetail contactDetail,
+ String displayName)
{
AddContactDialog dialog = new AddContactDialog(
GuiActivator.getUIService().getMainFrame());
@@ -1994,8 +1998,13 @@ public class TreeContactList
}
if (preferredProvider != null)
dialog.setSelectedAccount(preferredProvider);
-
- dialog.setContactAddress(contactDetail.getDetail());
+
+ String contactAddress = contactDetail.getDetail();
+ dialog.setContactAddress(contactAddress);
+ if(displayName != null && !displayName.equalsIgnoreCase(contactAddress))
+ {
+ dialog.setDisplayName(displayName);
+ }
dialog.setVisible(true);
}