From 3db35bb46452cd7385f180056283a7655fdc7331 Mon Sep 17 00:00:00 2001 From: wenzongteo Date: Sat, 14 Oct 2017 18:31:01 +0800 Subject: [PATCH] Consider changing photo to image --- default.jpeg | Bin 0 -> 17165 bytes .../java/seedu/address/ui/PersonCard.java | 18 ++++++++++++++++++ src/main/resources/view/PersonListCard.fxml | 6 +++--- .../seedu/address/testutil/PersonBuilder.java | 5 ++++- 4 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 default.jpeg diff --git a/default.jpeg b/default.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..0b6cea56307865f39665ce5221bf121f5d792ac1 GIT binary patch literal 17165 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 literal 0 HcmV?d00001 diff --git a/src/main/java/seedu/address/ui/PersonCard.java b/src/main/java/seedu/address/ui/PersonCard.java index 9f6e19755aa3..0c716f34ca3c 100644 --- a/src/main/java/seedu/address/ui/PersonCard.java +++ b/src/main/java/seedu/address/ui/PersonCard.java @@ -1,11 +1,16 @@ package seedu.address.ui; +import java.io.File; +import java.nio.file.Path; +import java.nio.file.Paths; import java.util.HashMap; import java.util.Random; import javafx.beans.binding.Bindings; import javafx.fxml.FXML; import javafx.scene.control.Label; +import javafx.scene.image.Image; +import javafx.scene.image.ImageView; import javafx.scene.layout.FlowPane; import javafx.scene.layout.HBox; import javafx.scene.layout.Region; @@ -44,6 +49,8 @@ public class PersonCard extends UiPart { private Label email; @FXML private FlowPane tags; + @FXML + private ImageView photo; public PersonCard(ReadOnlyPerson person, int displayedIndex) { super(FXML); @@ -62,6 +69,17 @@ private void bindListeners(ReadOnlyPerson person) { phone.textProperty().bind(Bindings.convert(person.phoneProperty())); address.textProperty().bind(Bindings.convert(person.addressProperty())); email.textProperty().bind(Bindings.convert(person.emailProperty())); + + try { + photo.imageProperty().bind(Bindings.bindBidirectional(person.photoProperty())); + File file = new File(person.photoProperty().toString()); + String localUrl = file.toURI().toURL().toString(); + System.out.println(file + " + local url" + localUrl); + Image image = new Image(localUrl); + photo.setImage(image); + } catch (Exception e){ + System.out.println(e); + } person.tagProperty().addListener((observable, oldValue, newValue) -> { tags.getChildren().clear(); initTags(person); diff --git a/src/main/resources/view/PersonListCard.fxml b/src/main/resources/view/PersonListCard.fxml index 0e8d22098b79..0505bcde2239 100644 --- a/src/main/resources/view/PersonListCard.fxml +++ b/src/main/resources/view/PersonListCard.fxml @@ -9,6 +9,8 @@ + + @@ -32,13 +34,11 @@ diff --git a/src/test/java/seedu/address/testutil/PersonBuilder.java b/src/test/java/seedu/address/testutil/PersonBuilder.java index 800d20bb56fe..4cf4b6f5ba41 100644 --- a/src/test/java/seedu/address/testutil/PersonBuilder.java +++ b/src/test/java/seedu/address/testutil/PersonBuilder.java @@ -8,6 +8,7 @@ import seedu.address.model.person.Name; import seedu.address.model.person.Person; import seedu.address.model.person.Phone; +import seedu.address.model.person.Photo; import seedu.address.model.person.ReadOnlyPerson; import seedu.address.model.tag.Tag; import seedu.address.model.util.SampleDataUtil; @@ -21,6 +22,7 @@ public class PersonBuilder { public static final String DEFAULT_PHONE = "85355255"; public static final String DEFAULT_EMAIL = "alice@gmail.com"; public static final String DEFAULT_ADDRESS = "123, Jurong West Ave 6, #08-111"; + public static final String DEFAULT_PHOTO = "/data/default.jpeg"; public static final String DEFAULT_TAGS = "friends"; private Person person; @@ -31,8 +33,9 @@ public PersonBuilder() { Phone defaultPhone = new Phone(DEFAULT_PHONE); Email defaultEmail = new Email(DEFAULT_EMAIL); Address defaultAddress = new Address(DEFAULT_ADDRESS); + Photo defaultPhoto = new Photo(DEFAULT_PHOTO); Set defaultTags = SampleDataUtil.getTagSet(DEFAULT_TAGS); - this.person = new Person(defaultName, defaultPhone, defaultEmail, defaultAddress, defaultTags); + this.person = new Person(defaultName, defaultPhone, defaultEmail, defaultAddress, defaultPhoto, defaultTags); } catch (IllegalValueException ive) { throw new AssertionError("Default person's values are invalid."); }