mirror of
https://github.com/igniterealtime/Spark.git
synced 2025-12-01 12:27:58 +00:00
StringUtils.java : Created missing JavaDoc for methods
GraphicUtils.java: Created missing JavaDoc for methods VCardEditor.java: Created missing JavaDoc for methods - Sun Coding Conventions git-svn-id: http://svn.igniterealtime.org/svn/repos/spark/trunk@12079 b35dd754-fafc-0310-a699-88a17e54d16e
This commit is contained in:
committed by
wolf.posdorfer
parent
5ecd4ec51c
commit
09f6366888
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -67,403 +67,415 @@ public class VCardEditor {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Displays the VCard for an individual.
|
* Displays the VCard for an individual.
|
||||||
*
|
*
|
||||||
* @param vCard the users vcard.
|
* @param vCard
|
||||||
* @param parent the parent component, used for location.
|
* the users vcard.
|
||||||
|
* @param parent
|
||||||
|
* the parent component, used for location.
|
||||||
*/
|
*/
|
||||||
public void editProfile(final VCard vCard, JComponent parent) {
|
public void editProfile(final VCard vCard, JComponent parent) {
|
||||||
final JTabbedPane tabbedPane = new JTabbedPane();
|
final JTabbedPane tabbedPane = new JTabbedPane();
|
||||||
|
|
||||||
// Initialize Panels
|
// Initialize Panels
|
||||||
personalPanel = new PersonalPanel();
|
personalPanel = new PersonalPanel();
|
||||||
personalPanel.showJID(false);
|
personalPanel.showJID(false);
|
||||||
|
|
||||||
tabbedPane.addTab(Res.getString("tab.personal"), personalPanel);
|
tabbedPane.addTab(Res.getString("tab.personal"), personalPanel);
|
||||||
|
|
||||||
businessPanel = new BusinessPanel();
|
businessPanel = new BusinessPanel();
|
||||||
tabbedPane.addTab(Res.getString("tab.business"), businessPanel);
|
tabbedPane.addTab(Res.getString("tab.business"), businessPanel);
|
||||||
|
|
||||||
homePanel = new HomePanel();
|
homePanel = new HomePanel();
|
||||||
tabbedPane.addTab(Res.getString("tab.home"), homePanel);
|
tabbedPane.addTab(Res.getString("tab.home"), homePanel);
|
||||||
|
|
||||||
avatarPanel = new AvatarPanel();
|
avatarPanel = new AvatarPanel();
|
||||||
tabbedPane.addTab(Res.getString("tab.avatar"), avatarPanel);
|
tabbedPane.addTab(Res.getString("tab.avatar"), avatarPanel);
|
||||||
|
|
||||||
// Build the UI
|
// Build the UI
|
||||||
buildUI(vCard);
|
buildUI(vCard);
|
||||||
|
|
||||||
final JOptionPane pane;
|
final JOptionPane pane;
|
||||||
final JDialog dlg;
|
final JDialog dlg;
|
||||||
|
|
||||||
TitlePanel titlePanel;
|
TitlePanel titlePanel;
|
||||||
|
|
||||||
ImageIcon icon = VCardManager.getAvatarIcon(vCard);
|
ImageIcon icon = VCardManager.getAvatarIcon(vCard);
|
||||||
if (icon == null) {
|
if (icon == null) {
|
||||||
icon = SparkRes.getImageIcon(SparkRes.BLANK_24x24);
|
icon = SparkRes.getImageIcon(SparkRes.BLANK_24x24);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create the title panel for this dialog
|
// Create the title panel for this dialog
|
||||||
titlePanel = new TitlePanel(Res.getString("title.edit.profile"), Res.getString("message.save.profile"), icon, true);
|
titlePanel = new TitlePanel(Res.getString("title.edit.profile"),
|
||||||
|
Res.getString("message.save.profile"), icon, true);
|
||||||
|
|
||||||
// Construct main panel w/ layout.
|
// Construct main panel w/ layout.
|
||||||
final JPanel mainPanel = new JPanel();
|
final JPanel mainPanel = new JPanel();
|
||||||
mainPanel.setLayout(new BorderLayout());
|
mainPanel.setLayout(new BorderLayout());
|
||||||
mainPanel.add(titlePanel, BorderLayout.NORTH);
|
mainPanel.add(titlePanel, BorderLayout.NORTH);
|
||||||
|
|
||||||
// The user should only be able to close this dialog.
|
// The user should only be able to close this dialog.
|
||||||
Object[] options = {Res.getString("save"), Res.getString("cancel")};
|
Object[] options = { Res.getString("save"), Res.getString("cancel") };
|
||||||
pane = new JOptionPane(tabbedPane, JOptionPane.PLAIN_MESSAGE, JOptionPane.OK_CANCEL_OPTION, null, options, options[0]);
|
pane = new JOptionPane(tabbedPane, JOptionPane.PLAIN_MESSAGE,
|
||||||
|
JOptionPane.OK_CANCEL_OPTION, null, options, options[0]);
|
||||||
|
|
||||||
mainPanel.add(pane, BorderLayout.CENTER);
|
mainPanel.add(pane, BorderLayout.CENTER);
|
||||||
|
|
||||||
JOptionPane p = new JOptionPane();
|
JOptionPane p = new JOptionPane();
|
||||||
dlg = p.createDialog(parent, Res.getString("title.profile.information"));
|
dlg = p.createDialog(parent, Res.getString("title.profile.information"));
|
||||||
dlg.setModal(false);
|
dlg.setModal(false);
|
||||||
|
|
||||||
dlg.pack();
|
dlg.pack();
|
||||||
dlg.setSize(600, 400);
|
dlg.setSize(600, 400);
|
||||||
dlg.setResizable(true);
|
dlg.setResizable(true);
|
||||||
dlg.setContentPane(mainPanel);
|
dlg.setContentPane(mainPanel);
|
||||||
dlg.setLocationRelativeTo(parent);
|
dlg.setLocationRelativeTo(parent);
|
||||||
|
|
||||||
PropertyChangeListener changeListener = new PropertyChangeListener() {
|
PropertyChangeListener changeListener = new PropertyChangeListener() {
|
||||||
public void propertyChange(PropertyChangeEvent e) {
|
public void propertyChange(PropertyChangeEvent e) {
|
||||||
String value = (String)pane.getValue();
|
String value = (String) pane.getValue();
|
||||||
if (Res.getString("cancel").equals(value)) {
|
if (Res.getString("cancel").equals(value)) {
|
||||||
pane.removePropertyChangeListener(this);
|
pane.removePropertyChangeListener(this);
|
||||||
dlg.dispose();
|
dlg.dispose();
|
||||||
}
|
} else if (Res.getString("save").equals(value)) {
|
||||||
else if (Res.getString("save").equals(value)) {
|
pane.removePropertyChangeListener(this);
|
||||||
pane.removePropertyChangeListener(this);
|
dlg.dispose();
|
||||||
dlg.dispose();
|
saveVCard();
|
||||||
saveVCard();
|
}
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
};
|
|
||||||
|
|
||||||
pane.addPropertyChangeListener(changeListener);
|
pane.addPropertyChangeListener(changeListener);
|
||||||
avatarPanel.setParentDialog(dlg);
|
avatarPanel.setParentDialog(dlg);
|
||||||
dlg.setVisible(true);
|
dlg.setVisible(true);
|
||||||
dlg.toFront();
|
dlg.toFront();
|
||||||
dlg.requestFocus();
|
dlg.requestFocus();
|
||||||
|
|
||||||
personalPanel.focus();
|
personalPanel.focus();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Displays the VCard for an individual.
|
* Displays the VCard for an individual.
|
||||||
*
|
*
|
||||||
* @param vCard the users vcard.
|
* @param vCard
|
||||||
* @param parent the parent component, used for location.
|
* the users vcard.
|
||||||
|
* @param parent
|
||||||
|
* the parent component, used for location.
|
||||||
*/
|
*/
|
||||||
public void viewFullProfile(final VCard vCard, JComponent parent) {
|
public void viewFullProfile(final VCard vCard, JComponent parent) {
|
||||||
final JTabbedPane tabbedPane = new JTabbedPane();
|
final JTabbedPane tabbedPane = new JTabbedPane();
|
||||||
|
|
||||||
// Initialize Panels
|
// Initialize Panels
|
||||||
personalPanel = new PersonalPanel();
|
personalPanel = new PersonalPanel();
|
||||||
personalPanel.allowEditing(false);
|
personalPanel.allowEditing(false);
|
||||||
personalPanel.showJID(false);
|
personalPanel.showJID(false);
|
||||||
|
|
||||||
tabbedPane.addTab(Res.getString("tab.personal"), personalPanel);
|
tabbedPane.addTab(Res.getString("tab.personal"), personalPanel);
|
||||||
|
|
||||||
businessPanel = new BusinessPanel();
|
businessPanel = new BusinessPanel();
|
||||||
businessPanel.allowEditing(false);
|
businessPanel.allowEditing(false);
|
||||||
tabbedPane.addTab(Res.getString("tab.business"), businessPanel);
|
tabbedPane.addTab(Res.getString("tab.business"), businessPanel);
|
||||||
|
|
||||||
homePanel = new HomePanel();
|
homePanel = new HomePanel();
|
||||||
homePanel.allowEditing(false);
|
homePanel.allowEditing(false);
|
||||||
tabbedPane.addTab(Res.getString("tab.home"), homePanel);
|
tabbedPane.addTab(Res.getString("tab.home"), homePanel);
|
||||||
|
|
||||||
avatarPanel = new AvatarPanel();
|
avatarPanel = new AvatarPanel();
|
||||||
avatarPanel.allowEditing(false);
|
avatarPanel.allowEditing(false);
|
||||||
tabbedPane.addTab(Res.getString("tab.avatar"), avatarPanel);
|
tabbedPane.addTab(Res.getString("tab.avatar"), avatarPanel);
|
||||||
|
|
||||||
// Build the UI
|
// Build the UI
|
||||||
buildUI(vCard);
|
buildUI(vCard);
|
||||||
|
|
||||||
final JOptionPane pane;
|
final JOptionPane pane;
|
||||||
final JDialog dlg;
|
final JDialog dlg;
|
||||||
|
|
||||||
TitlePanel titlePanel;
|
TitlePanel titlePanel;
|
||||||
|
|
||||||
ImageIcon icon = VCardManager.getAvatarIcon(vCard);
|
ImageIcon icon = VCardManager.getAvatarIcon(vCard);
|
||||||
if (icon == null) {
|
if (icon == null) {
|
||||||
icon = SparkRes.getImageIcon(SparkRes.BLANK_24x24);
|
icon = SparkRes.getImageIcon(SparkRes.BLANK_24x24);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create the title panel for this dialog
|
// Create the title panel for this dialog
|
||||||
titlePanel = new TitlePanel(Res.getString("title.profile.information"), "", icon, true);
|
titlePanel = new TitlePanel(Res.getString("title.profile.information"),
|
||||||
|
"", icon, true);
|
||||||
|
|
||||||
// Construct main panel w/ layout.
|
// Construct main panel w/ layout.
|
||||||
final JPanel mainPanel = new JPanel();
|
final JPanel mainPanel = new JPanel();
|
||||||
mainPanel.setLayout(new BorderLayout());
|
mainPanel.setLayout(new BorderLayout());
|
||||||
mainPanel.add(titlePanel, BorderLayout.NORTH);
|
mainPanel.add(titlePanel, BorderLayout.NORTH);
|
||||||
|
|
||||||
// The user should only be able to close this dialog.
|
// The user should only be able to close this dialog.
|
||||||
Object[] options = {Res.getString("close")};
|
Object[] options = { Res.getString("close") };
|
||||||
pane = new JOptionPane(tabbedPane, JOptionPane.PLAIN_MESSAGE, JOptionPane.OK_CANCEL_OPTION, null, options, options[0]);
|
pane = new JOptionPane(tabbedPane, JOptionPane.PLAIN_MESSAGE,
|
||||||
|
JOptionPane.OK_CANCEL_OPTION, null, options, options[0]);
|
||||||
|
|
||||||
mainPanel.add(pane, BorderLayout.CENTER);
|
mainPanel.add(pane, BorderLayout.CENTER);
|
||||||
|
|
||||||
JOptionPane p = new JOptionPane();
|
JOptionPane p = new JOptionPane();
|
||||||
dlg = p.createDialog(parent, Res.getString("title.profile.information"));
|
dlg = p.createDialog(parent, Res.getString("title.profile.information"));
|
||||||
dlg.setModal(false);
|
dlg.setModal(false);
|
||||||
|
|
||||||
dlg.pack();
|
dlg.pack();
|
||||||
dlg.setSize(600, 400);
|
dlg.setSize(600, 400);
|
||||||
dlg.setResizable(true);
|
dlg.setResizable(true);
|
||||||
dlg.setContentPane(mainPanel);
|
dlg.setContentPane(mainPanel);
|
||||||
dlg.setLocationRelativeTo(parent);
|
dlg.setLocationRelativeTo(parent);
|
||||||
|
|
||||||
|
PropertyChangeListener changeListener = new PropertyChangeListener() {
|
||||||
|
public void propertyChange(PropertyChangeEvent e) {
|
||||||
|
Object o = pane.getValue();
|
||||||
|
if (o instanceof Integer) {
|
||||||
|
pane.removePropertyChangeListener(this);
|
||||||
|
dlg.dispose();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
PropertyChangeListener changeListener = new PropertyChangeListener() {
|
String value = (String) pane.getValue();
|
||||||
public void propertyChange(PropertyChangeEvent e) {
|
if (Res.getString("close").equals(value)) {
|
||||||
Object o = pane.getValue();
|
pane.removePropertyChangeListener(this);
|
||||||
if (o instanceof Integer) {
|
dlg.dispose();
|
||||||
pane.removePropertyChangeListener(this);
|
}
|
||||||
dlg.dispose();
|
}
|
||||||
return;
|
};
|
||||||
}
|
|
||||||
|
|
||||||
String value = (String)pane.getValue();
|
pane.addPropertyChangeListener(changeListener);
|
||||||
if (Res.getString("close").equals(value)) {
|
|
||||||
pane.removePropertyChangeListener(this);
|
|
||||||
dlg.dispose();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
pane.addPropertyChangeListener(changeListener);
|
dlg.setVisible(true);
|
||||||
|
dlg.toFront();
|
||||||
|
dlg.requestFocus();
|
||||||
|
|
||||||
dlg.setVisible(true);
|
personalPanel.focus();
|
||||||
dlg.toFront();
|
|
||||||
dlg.requestFocus();
|
|
||||||
|
|
||||||
personalPanel.focus();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Displays a users profile.
|
* Displays a users profile.
|
||||||
*
|
*
|
||||||
* @param jid the jid of the user.
|
* @param jid
|
||||||
* @param vcard the users vcard.
|
* the jid of the user.
|
||||||
* @param parent the parent component, used for location handling.
|
* @param vcard
|
||||||
|
* the users vcard.
|
||||||
|
* @param parent
|
||||||
|
* the parent component, used for location handling.
|
||||||
*/
|
*/
|
||||||
public void displayProfile(final String jid, VCard vcard, JComponent parent) {
|
public void displayProfile(final String jid, VCard vcard, JComponent parent) {
|
||||||
VCardViewer viewer = new VCardViewer(jid);
|
VCardViewer viewer = new VCardViewer(jid);
|
||||||
|
|
||||||
final JFrame dlg = new JFrame(Res.getString("title.view.profile.for", jid));
|
final JFrame dlg = new JFrame(Res.getString("title.view.profile.for",
|
||||||
|
jid));
|
||||||
|
|
||||||
|
avatarLabel = new JLabel();
|
||||||
|
avatarLabel.setHorizontalAlignment(JButton.RIGHT);
|
||||||
|
avatarLabel.setBorder(BorderFactory.createBevelBorder(0, Color.white,
|
||||||
|
Color.lightGray));
|
||||||
|
|
||||||
avatarLabel = new JLabel();
|
// The user should only be able to close this dialog.
|
||||||
avatarLabel.setHorizontalAlignment(JButton.RIGHT);
|
Object[] options = { Res.getString("button.view.profile"),
|
||||||
avatarLabel.setBorder(BorderFactory.createBevelBorder(0, Color.white, Color.lightGray));
|
Res.getString("close") };
|
||||||
|
final JOptionPane pane = new JOptionPane(viewer,
|
||||||
// The user should only be able to close this dialog.
|
JOptionPane.PLAIN_MESSAGE, JOptionPane.OK_CANCEL_OPTION, null,
|
||||||
Object[] options = { Res.getString("button.view.profile"), Res.getString("close")};
|
options, options[0]);
|
||||||
final JOptionPane pane = new JOptionPane(viewer, JOptionPane.PLAIN_MESSAGE, JOptionPane.OK_CANCEL_OPTION, null, options, options[0]);
|
|
||||||
|
|
||||||
// mainPanel.add(pane, new GridBagConstraints(0, 1, 1, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 5, 5, 5), 0, 0));
|
// mainPanel.add(pane, new GridBagConstraints(0, 1, 1, 1, 1.0, 1.0,
|
||||||
|
// GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 5,
|
||||||
|
// 5, 5), 0, 0));
|
||||||
|
|
||||||
|
dlg.setIconImage(SparkRes.getImageIcon(SparkRes.PROFILE_IMAGE_16x16)
|
||||||
|
.getImage());
|
||||||
|
|
||||||
dlg.setIconImage(SparkRes.getImageIcon(SparkRes.PROFILE_IMAGE_16x16).getImage());
|
dlg.pack();
|
||||||
|
dlg.setSize(350, 250);
|
||||||
|
dlg.setResizable(true);
|
||||||
|
dlg.setContentPane(pane);
|
||||||
|
dlg.setLocationRelativeTo(parent);
|
||||||
|
|
||||||
dlg.pack();
|
PropertyChangeListener changeListener = new PropertyChangeListener() {
|
||||||
dlg.setSize(350, 250);
|
public void propertyChange(PropertyChangeEvent e) {
|
||||||
dlg.setResizable(true);
|
if (pane.getValue() instanceof Integer) {
|
||||||
dlg.setContentPane(pane);
|
pane.removePropertyChangeListener(this);
|
||||||
dlg.setLocationRelativeTo(parent);
|
dlg.dispose();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
String value = (String) pane.getValue();
|
||||||
|
if (Res.getString("close").equals(value)) {
|
||||||
|
pane.removePropertyChangeListener(this);
|
||||||
|
dlg.dispose();
|
||||||
|
} else if (Res.getString("button.view.profile").equals(value)) {
|
||||||
|
pane.setValue(JOptionPane.UNINITIALIZED_VALUE);
|
||||||
|
SparkManager.getVCardManager().viewFullProfile(jid, pane);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
PropertyChangeListener changeListener = new PropertyChangeListener() {
|
pane.addPropertyChangeListener(changeListener);
|
||||||
public void propertyChange(PropertyChangeEvent e) {
|
|
||||||
if (pane.getValue() instanceof Integer) {
|
|
||||||
pane.removePropertyChangeListener(this);
|
|
||||||
dlg.dispose();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
String value = (String)pane.getValue();
|
|
||||||
if (Res.getString("close").equals(value)) {
|
|
||||||
pane.removePropertyChangeListener(this);
|
|
||||||
dlg.dispose();
|
|
||||||
}
|
|
||||||
else if (Res.getString("button.view.profile").equals(value)) {
|
|
||||||
pane.setValue(JOptionPane.UNINITIALIZED_VALUE);
|
|
||||||
SparkManager.getVCardManager().viewFullProfile(jid, pane);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
pane.addPropertyChangeListener(changeListener);
|
dlg.addKeyListener(new KeyAdapter() {
|
||||||
|
public void keyPressed(KeyEvent keyEvent) {
|
||||||
|
if (keyEvent.getKeyChar() == KeyEvent.VK_ESCAPE) {
|
||||||
|
dlg.dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
dlg.addKeyListener(new KeyAdapter() {
|
dlg.setVisible(true);
|
||||||
public void keyPressed(KeyEvent keyEvent) {
|
dlg.toFront();
|
||||||
if (keyEvent.getKeyChar() == KeyEvent.VK_ESCAPE) {
|
dlg.requestFocus();
|
||||||
dlg.dispose();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
dlg.setVisible(true);
|
|
||||||
dlg.toFront();
|
|
||||||
dlg.requestFocus();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Builds the UI based on a VCard.
|
* Builds the UI based on a VCard.
|
||||||
*
|
*
|
||||||
* @param vcard the vcard used to build the UI.
|
* @param vcard
|
||||||
|
* the vcard used to build the UI.
|
||||||
*/
|
*/
|
||||||
private void buildUI(VCard vcard) {
|
private void buildUI(VCard vcard) {
|
||||||
personalPanel.setFirstName(vcard.getFirstName());
|
personalPanel.setFirstName(vcard.getFirstName());
|
||||||
personalPanel.setMiddleName(vcard.getMiddleName());
|
personalPanel.setMiddleName(vcard.getMiddleName());
|
||||||
personalPanel.setLastName(vcard.getLastName());
|
personalPanel.setLastName(vcard.getLastName());
|
||||||
personalPanel.setEmailAddress(vcard.getEmailHome());
|
personalPanel.setEmailAddress(vcard.getEmailHome());
|
||||||
personalPanel.setNickname(vcard.getNickName());
|
personalPanel.setNickname(vcard.getNickName());
|
||||||
personalPanel.setJID(vcard.getJabberId());
|
personalPanel.setJID(vcard.getJabberId());
|
||||||
|
|
||||||
businessPanel.setCompany(vcard.getOrganization());
|
businessPanel.setCompany(vcard.getOrganization());
|
||||||
businessPanel.setDepartment(vcard.getOrganizationUnit());
|
businessPanel.setDepartment(vcard.getOrganizationUnit());
|
||||||
businessPanel.setStreetAddress(vcard.getAddressFieldWork("STREET"));
|
businessPanel.setStreetAddress(vcard.getAddressFieldWork("STREET"));
|
||||||
businessPanel.setCity(vcard.getAddressFieldWork("LOCALITY"));
|
businessPanel.setCity(vcard.getAddressFieldWork("LOCALITY"));
|
||||||
businessPanel.setState(vcard.getAddressFieldWork("REGION"));
|
businessPanel.setState(vcard.getAddressFieldWork("REGION"));
|
||||||
businessPanel.setZipCode(vcard.getAddressFieldWork("PCODE"));
|
businessPanel.setZipCode(vcard.getAddressFieldWork("PCODE"));
|
||||||
businessPanel.setCountry(vcard.getAddressFieldWork("CTRY"));
|
businessPanel.setCountry(vcard.getAddressFieldWork("CTRY"));
|
||||||
businessPanel.setJobTitle(vcard.getField("TITLE"));
|
businessPanel.setJobTitle(vcard.getField("TITLE"));
|
||||||
businessPanel.setPhone(vcard.getPhoneWork("VOICE"));
|
businessPanel.setPhone(vcard.getPhoneWork("VOICE"));
|
||||||
businessPanel.setFax(vcard.getPhoneWork("FAX"));
|
businessPanel.setFax(vcard.getPhoneWork("FAX"));
|
||||||
businessPanel.setPager(vcard.getPhoneWork("PAGER"));
|
businessPanel.setPager(vcard.getPhoneWork("PAGER"));
|
||||||
businessPanel.setMobile(vcard.getPhoneWork("CELL"));
|
businessPanel.setMobile(vcard.getPhoneWork("CELL"));
|
||||||
businessPanel.setWebPage(vcard.getField("URL"));
|
businessPanel.setWebPage(vcard.getField("URL"));
|
||||||
|
|
||||||
// Load Home Info
|
// Load Home Info
|
||||||
homePanel.setStreetAddress(vcard.getAddressFieldHome("STREET"));
|
homePanel.setStreetAddress(vcard.getAddressFieldHome("STREET"));
|
||||||
homePanel.setCity(vcard.getAddressFieldHome("LOCALITY"));
|
homePanel.setCity(vcard.getAddressFieldHome("LOCALITY"));
|
||||||
homePanel.setState(vcard.getAddressFieldHome("REGION"));
|
homePanel.setState(vcard.getAddressFieldHome("REGION"));
|
||||||
homePanel.setZipCode(vcard.getAddressFieldHome("PCODE"));
|
homePanel.setZipCode(vcard.getAddressFieldHome("PCODE"));
|
||||||
homePanel.setCountry(vcard.getAddressFieldHome("CTRY"));
|
homePanel.setCountry(vcard.getAddressFieldHome("CTRY"));
|
||||||
homePanel.setPhone(vcard.getPhoneHome("VOICE"));
|
homePanel.setPhone(vcard.getPhoneHome("VOICE"));
|
||||||
homePanel.setFax(vcard.getPhoneHome("FAX"));
|
homePanel.setFax(vcard.getPhoneHome("FAX"));
|
||||||
homePanel.setPager(vcard.getPhoneHome("PAGER"));
|
homePanel.setPager(vcard.getPhoneHome("PAGER"));
|
||||||
homePanel.setMobile(vcard.getPhoneHome("CELL"));
|
homePanel.setMobile(vcard.getPhoneHome("CELL"));
|
||||||
|
|
||||||
// Set avatar
|
// Set avatar
|
||||||
byte[] bytes = vcard.getAvatar();
|
byte[] bytes = vcard.getAvatar();
|
||||||
if (bytes != null && bytes.length > 0) {
|
if (bytes != null && bytes.length > 0) {
|
||||||
ImageIcon icon = new ImageIcon(bytes);
|
ImageIcon icon = new ImageIcon(bytes);
|
||||||
avatarPanel.setAvatar(icon);
|
avatarPanel.setAvatar(icon);
|
||||||
avatarPanel.setAvatarBytes(bytes);
|
avatarPanel.setAvatarBytes(bytes);
|
||||||
if (avatarLabel != null) {
|
if (avatarLabel != null) {
|
||||||
icon = GraphicUtils.scaleImageIcon(icon, 48, 48);
|
icon = GraphicUtils.scaleImageIcon(icon, 48, 48);
|
||||||
|
|
||||||
avatarLabel.setIcon(icon);
|
avatarLabel.setIcon(icon);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Saves the VCard.
|
* Saves the VCard.
|
||||||
*/
|
*/
|
||||||
private void saveVCard() {
|
private void saveVCard() {
|
||||||
final VCard vcard = new VCard();
|
final VCard vcard = new VCard();
|
||||||
|
|
||||||
// Save personal info
|
// Save personal info
|
||||||
vcard.setFirstName(personalPanel.getFirstName());
|
vcard.setFirstName(personalPanel.getFirstName());
|
||||||
vcard.setLastName(personalPanel.getLastName());
|
vcard.setLastName(personalPanel.getLastName());
|
||||||
vcard.setMiddleName(personalPanel.getMiddleName());
|
vcard.setMiddleName(personalPanel.getMiddleName());
|
||||||
vcard.setEmailHome(personalPanel.getEmailAddress());
|
vcard.setEmailHome(personalPanel.getEmailAddress());
|
||||||
vcard.setNickName(personalPanel.getNickname());
|
vcard.setNickName(personalPanel.getNickname());
|
||||||
|
|
||||||
// Save business info
|
// Save business info
|
||||||
vcard.setOrganization(businessPanel.getCompany());
|
vcard.setOrganization(businessPanel.getCompany());
|
||||||
vcard.setAddressFieldWork("STREET", businessPanel.getStreetAddress());
|
vcard.setAddressFieldWork("STREET", businessPanel.getStreetAddress());
|
||||||
vcard.setAddressFieldWork("LOCALITY", businessPanel.getCity());
|
vcard.setAddressFieldWork("LOCALITY", businessPanel.getCity());
|
||||||
vcard.setAddressFieldWork("REGION", businessPanel.getState());
|
vcard.setAddressFieldWork("REGION", businessPanel.getState());
|
||||||
vcard.setAddressFieldWork("PCODE", businessPanel.getZipCode());
|
vcard.setAddressFieldWork("PCODE", businessPanel.getZipCode());
|
||||||
vcard.setAddressFieldWork("CTRY", businessPanel.getCountry());
|
vcard.setAddressFieldWork("CTRY", businessPanel.getCountry());
|
||||||
vcard.setField("TITLE", businessPanel.getJobTitle());
|
vcard.setField("TITLE", businessPanel.getJobTitle());
|
||||||
vcard.setOrganizationUnit(businessPanel.getDepartment());
|
vcard.setOrganizationUnit(businessPanel.getDepartment());
|
||||||
vcard.setPhoneWork("VOICE", businessPanel.getPhone());
|
vcard.setPhoneWork("VOICE", businessPanel.getPhone());
|
||||||
vcard.setPhoneWork("FAX", businessPanel.getFax());
|
vcard.setPhoneWork("FAX", businessPanel.getFax());
|
||||||
vcard.setPhoneWork("PAGER", businessPanel.getPager());
|
vcard.setPhoneWork("PAGER", businessPanel.getPager());
|
||||||
vcard.setPhoneWork("CELL", businessPanel.getMobile());
|
vcard.setPhoneWork("CELL", businessPanel.getMobile());
|
||||||
vcard.setField("URL", businessPanel.getWebPage());
|
vcard.setField("URL", businessPanel.getWebPage());
|
||||||
|
|
||||||
// Save Home Info
|
// Save Home Info
|
||||||
vcard.setAddressFieldHome("STREET", homePanel.getStreetAddress());
|
vcard.setAddressFieldHome("STREET", homePanel.getStreetAddress());
|
||||||
vcard.setAddressFieldHome("LOCALITY", homePanel.getCity());
|
vcard.setAddressFieldHome("LOCALITY", homePanel.getCity());
|
||||||
vcard.setAddressFieldHome("REGION", homePanel.getState());
|
vcard.setAddressFieldHome("REGION", homePanel.getState());
|
||||||
vcard.setAddressFieldHome("PCODE", homePanel.getZipCode());
|
vcard.setAddressFieldHome("PCODE", homePanel.getZipCode());
|
||||||
vcard.setAddressFieldHome("CTRY", homePanel.getCountry());
|
vcard.setAddressFieldHome("CTRY", homePanel.getCountry());
|
||||||
vcard.setPhoneHome("VOICE", homePanel.getPhone());
|
vcard.setPhoneHome("VOICE", homePanel.getPhone());
|
||||||
vcard.setPhoneHome("FAX", homePanel.getFax());
|
vcard.setPhoneHome("FAX", homePanel.getFax());
|
||||||
vcard.setPhoneHome("PAGER", homePanel.getPager());
|
vcard.setPhoneHome("PAGER", homePanel.getPager());
|
||||||
vcard.setPhoneHome("CELL", homePanel.getMobile());
|
vcard.setPhoneHome("CELL", homePanel.getMobile());
|
||||||
|
|
||||||
// Save Avatar
|
// Save Avatar
|
||||||
final File avatarFile = avatarPanel.getAvatarFile();
|
final File avatarFile = avatarPanel.getAvatarFile();
|
||||||
byte[] avatarBytes = avatarPanel.getAvatarBytes();
|
byte[] avatarBytes = avatarPanel.getAvatarBytes();
|
||||||
|
|
||||||
if (avatarFile != null) {
|
if (avatarFile != null) {
|
||||||
try {
|
avatarBytes = GraphicUtils.getBytesFromImage(avatarFile);
|
||||||
// Make it 48x48
|
ImageIcon icon = new ImageIcon(avatarBytes);
|
||||||
ImageIcon icon = new ImageIcon(avatarFile.toURI().toURL());
|
Image image = icon.getImage();
|
||||||
Image image = icon.getImage();
|
image = image.getScaledInstance(-1, 48, Image.SCALE_SMOOTH);
|
||||||
image = image.getScaledInstance(-1, 48, Image.SCALE_SMOOTH);
|
avatarBytes = GraphicUtils.getBytesFromImage(image);
|
||||||
avatarBytes = GraphicUtils.getBytesFromImage(image);
|
|
||||||
}
|
|
||||||
catch (MalformedURLException e) {
|
|
||||||
Log.error("Unable to set avatar.", e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// If avatar bytes, persist as vcard.
|
}
|
||||||
if (avatarBytes != null) {
|
|
||||||
vcard.setAvatar(avatarBytes);
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
// If avatar bytes, persist as vcard.
|
||||||
final VCardManager vcardManager = SparkManager.getVCardManager();
|
if (avatarBytes != null) {
|
||||||
vcardManager.setPersonalVCard(vcard);
|
vcard.setAvatar(avatarBytes);
|
||||||
|
}
|
||||||
|
|
||||||
vcard.save(SparkManager.getConnection());
|
try {
|
||||||
|
final VCardManager vcardManager = SparkManager.getVCardManager();
|
||||||
|
vcardManager.setPersonalVCard(vcard);
|
||||||
|
|
||||||
// Notify users.
|
vcard.save(SparkManager.getConnection());
|
||||||
if (avatarFile != null || avatarBytes != null) {
|
|
||||||
Presence presence = SparkManager.getWorkspace().getStatusBar().getPresence();
|
|
||||||
Presence newPresence = new Presence(presence.getType(), presence.getStatus(), presence.getPriority(), presence.getMode());
|
|
||||||
|
|
||||||
// Change my own presence
|
// Notify users.
|
||||||
SparkManager.getSessionManager().changePresence(newPresence);
|
if (avatarFile != null || avatarBytes != null) {
|
||||||
|
Presence presence = SparkManager.getWorkspace().getStatusBar()
|
||||||
|
.getPresence();
|
||||||
|
Presence newPresence = new Presence(presence.getType(),
|
||||||
|
presence.getStatus(), presence.getPriority(),
|
||||||
|
presence.getMode());
|
||||||
|
|
||||||
// Chnage avatar in status bar.
|
// Change my own presence
|
||||||
StatusBar statusBar = SparkManager.getWorkspace().getStatusBar();
|
SparkManager.getSessionManager().changePresence(newPresence);
|
||||||
statusBar.setAvatar(new ImageIcon(vcard.getAvatar()));
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
String firstName = vcard.getFirstName();
|
|
||||||
String lastName = vcard.getLastName();
|
|
||||||
StatusBar statusBar = SparkManager.getWorkspace().getStatusBar();
|
|
||||||
if (ModelUtil.hasLength(firstName) && ModelUtil.hasLength(lastName)) {
|
|
||||||
statusBar.setNickname(firstName + " " + lastName);
|
|
||||||
}
|
|
||||||
else if (ModelUtil.hasLength(firstName)) {
|
|
||||||
statusBar.setNickname(firstName);
|
|
||||||
}
|
|
||||||
|
|
||||||
statusBar.setAvatar(null);
|
// Chnage avatar in status bar.
|
||||||
}
|
StatusBar statusBar = SparkManager.getWorkspace()
|
||||||
|
.getStatusBar();
|
||||||
|
statusBar.setAvatar(new ImageIcon(vcard.getAvatar()));
|
||||||
|
} else {
|
||||||
|
String firstName = vcard.getFirstName();
|
||||||
|
String lastName = vcard.getLastName();
|
||||||
|
StatusBar statusBar = SparkManager.getWorkspace()
|
||||||
|
.getStatusBar();
|
||||||
|
if (ModelUtil.hasLength(firstName)
|
||||||
|
&& ModelUtil.hasLength(lastName)) {
|
||||||
|
statusBar.setNickname(firstName + " " + lastName);
|
||||||
|
} else if (ModelUtil.hasLength(firstName)) {
|
||||||
|
statusBar.setNickname(firstName);
|
||||||
|
}
|
||||||
|
|
||||||
// Notify listenres
|
statusBar.setAvatar(null);
|
||||||
SparkManager.getVCardManager().notifyVCardListeners();
|
}
|
||||||
}
|
|
||||||
catch (XMPPException e) {
|
// Notify listenres
|
||||||
Log.error(e);
|
SparkManager.getVCardManager().notifyVCardListeners();
|
||||||
JOptionPane.showMessageDialog(SparkManager.getMainWindow(), Res.getString("message.vcard.not.supported"), Res.getString("title.error"), JOptionPane.ERROR_MESSAGE);
|
} catch (XMPPException e) {
|
||||||
}
|
Log.error(e);
|
||||||
|
JOptionPane.showMessageDialog(SparkManager.getMainWindow(),
|
||||||
|
Res.getString("message.vcard.not.supported"),
|
||||||
|
Res.getString("title.error"), JOptionPane.ERROR_MESSAGE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user