X-Git-Url: https://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Fjvcard%2Ftui%2Fpanes%2FContactDetails.java;h=9bab007ebfae7e383db2e623e0709b8f81c386c4;hb=f06c81000632cfb5f525ca458f719338f55f9f66;hp=be2c2017a15a82aae009dea6643b55340a51c730;hpb=e119a1c1a924998b9315e46c96b1c750aab1deb9;p=jvcard.git diff --git a/src/be/nikiroo/jvcard/tui/panes/ContactDetails.java b/src/be/nikiroo/jvcard/tui/panes/ContactDetails.java index be2c201..9bab007 100644 --- a/src/be/nikiroo/jvcard/tui/panes/ContactDetails.java +++ b/src/be/nikiroo/jvcard/tui/panes/ContactDetails.java @@ -7,24 +7,26 @@ import java.util.List; import be.nikiroo.jvcard.Contact; import be.nikiroo.jvcard.Data; import be.nikiroo.jvcard.TypeInfo; -import be.nikiroo.jvcard.resources.StringUtils; -import be.nikiroo.jvcard.resources.bundles.DisplayBundle; -import be.nikiroo.jvcard.resources.enums.DisplayOption; -import be.nikiroo.jvcard.resources.enums.ColorOption; -import be.nikiroo.jvcard.resources.enums.StringId; +import be.nikiroo.jvcard.resources.ColorOption; +import be.nikiroo.jvcard.resources.DisplayBundle; +import be.nikiroo.jvcard.resources.DisplayOption; +import be.nikiroo.jvcard.resources.StringId; import be.nikiroo.jvcard.tui.ImageTextControl; import be.nikiroo.jvcard.tui.KeyAction; import be.nikiroo.jvcard.tui.KeyAction.DataType; import be.nikiroo.jvcard.tui.KeyAction.Mode; import be.nikiroo.jvcard.tui.UiColors; +import be.nikiroo.utils.ImageUtils; +import be.nikiroo.utils.StringUtils; import com.googlecode.lanterna.TerminalSize; import com.googlecode.lanterna.gui2.BorderLayout; import com.googlecode.lanterna.gui2.Borders; import com.googlecode.lanterna.gui2.Direction; -import com.googlecode.lanterna.gui2.Label; import com.googlecode.lanterna.gui2.LinearLayout; import com.googlecode.lanterna.gui2.Panel; +import com.googlecode.lanterna.gui2.TextBox; +import com.googlecode.lanterna.gui2.TextBox.Style; import com.googlecode.lanterna.input.KeyType; public class ContactDetails extends MainContent { @@ -34,7 +36,7 @@ public class ContactDetails extends MainContent { private Image image; private boolean fullscreenImage; private Panel infoPanel; - private Label note; + private TextBox note; // from .properties file: private int labelSize = -1; @@ -66,8 +68,12 @@ public class ContactDetails extends MainContent { notePanel.addComponent(UiColors.createLabel( ColorOption.VIEW_CONTACT_NOTES_TITLE, "Notes:")); - note = UiColors.createLabel(ColorOption.VIEW_CONTACT_NORMAL, ""); + // 10000x10000 is probably enough or "max" + note = new TextBox(new TerminalSize(10000, 10000), Style.MULTI_LINE); + note.setReadOnly(true); notePanel.addComponent(note); + note.setVerticalFocusSwitching(false); + note.setHorizontalFocusSwitching(false); setContact(contact); @@ -131,8 +137,9 @@ public class ContactDetails extends MainContent { String field = info.substring(index + 1); if (all) { + Data pref = contact.getPreferredData(field); for (Data data : contact.getData(field)) { - if (data.isPreferred()) { + if (data == pref) { infoPanel.addComponent(UiColors.createLabel(el, StringUtils.padString(label, labelSize) + data.toString())); @@ -183,7 +190,7 @@ public class ContactDetails extends MainContent { && encoding.getValue().equalsIgnoreCase("b")) { try { - image = StringUtils.toImage(photo.getValue()); + image = ImageUtils.fromBase64(photo.getValue()); } catch (Exception e) { System.err.println("Cannot parse image for contact: " + contact.getPreferredDataValue("UID"));