diff options
author | Yana Stamcheva <yana@jitsi.org> | 2013-02-12 17:44:27 +0000 |
---|---|---|
committer | Yana Stamcheva <yana@jitsi.org> | 2013-02-12 17:44:27 +0000 |
commit | a3109d7cb6adffbfde317dc20c06697be2add632 (patch) | |
tree | f985ac3f88726286587d0e1d6f4caa95de7f022a /src/net | |
parent | 58acfca5dd8be76daa18085b96aeb860e2c9824f (diff) | |
download | jitsi-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/net')
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); } |