package be.nikiroo.jvcard.tui.panes;
import java.awt.Image;
-import java.io.ByteArrayInputStream;
import java.util.LinkedList;
import java.util.List;
import java.util.MissingResourceException;
import java.util.ResourceBundle;
-import javax.imageio.ImageIO;
-import javax.xml.bind.DatatypeConverter;
-
import be.nikiroo.jvcard.Contact;
import be.nikiroo.jvcard.Data;
import be.nikiroo.jvcard.TypeInfo;
if (all) {
for (Data data : contact.getData(field)) {
if (data.isPreferred()) {
- infoPanel
- .addComponent(el.createLabel(StringUtils
- .padString(label, labelSize)
- + contact
- .getPreferredDataValue(field)));
+ infoPanel.addComponent(el
+ .createLabel(StringUtils.padString(
+ label, labelSize)
+ + data.toString()));
} else {
infoPanel
- .addComponent(UiColors.Element.VIEW_CONTACT_NORMAL.createLabel(StringUtils
- .padString(label, labelSize)
- + contact
- .getPreferredDataValue(field)));
+ .addComponent(UiColors.Element.VIEW_CONTACT_NORMAL
+ .createLabel(StringUtils
+ .padString(label,
+ labelSize)
+ + data.toString()));
}
}
} else {
+ String val = contact.getPreferredDataValue(field);
+ if (val == null)
+ val = "";
infoPanel.addComponent(el.createLabel(StringUtils
- .padString(label, labelSize)
- + contact.getPreferredDataValue(field)));
+ .padString(label, labelSize) + val));
}
} else {
String label = info;
String notes = contact.getPreferredDataValue("NOTE");
if (notes == null)
notes = "";
- note.setText(notes.replaceAll("\\\\n", "\n"));
+ note.setText(notes);
Data photo = contact.getPreferredData("PHOTO");
if (photo != null) {
TypeInfo encoding = null;
- for (int index = 0; index < photo.size(); index++) {
- TypeInfo info = photo.get(index);
+ for (TypeInfo info : photo) {
if (info.getName() != null) {
if (info.getName().equalsIgnoreCase("ENCODING"))
encoding = info;
&& encoding.getValue().equalsIgnoreCase("b")) {
try {
- image = ImageIO.read(new ByteArrayInputStream(
- DatatypeConverter.parseBase64Binary(photo
- .getValue())));
- image.toString();
+ image = StringUtils.toImage(photo.getValue());
} catch (Exception e) {
System.err.println("Cannot parse image for contact: "
+ contact.getPreferredDataValue("UID"));
} else {
// TODO: configure size?
int w = getSize().getColumns() - 40;
- int h = getSize().getRows() - 5;
+ int h = getSize().getRows() - 9;
if (w <= 0 || h <= 0)
return null;