+package tim.prune.save;
+
+import tim.prune.I18nManager;
+import tim.prune.data.Photo;
+
+/**
+ * Class to represent a row of the photo table for saving exif
+ */
+public class PhotoTableEntry
+{
+ private Photo _photo = null;
+ private String _photoName = null;
+ private boolean _save = true;
+ private String _status = null;
+
+ /**
+ * Constructor
+ * @param inPhoto photo object
+ */
+ public PhotoTableEntry(Photo inPhoto)
+ {
+ _photo = inPhoto;
+ if (inPhoto != null)
+ {
+ _photoName = inPhoto.getName();
+ _status = getStatusString(inPhoto.getOriginalStatus(), inPhoto.getCurrentStatus());
+ }
+ }
+
+
+ /**
+ * Make a status string from the given status bytes
+ * @param inOriginalStatus original status of photo
+ * @param inCurrentStatus current status of photo
+ * @return status string for display
+ */
+ private static String getStatusString (Photo.Status inOriginalStatus, Photo.Status inCurrentStatus)
+ {
+ if (inOriginalStatus != inCurrentStatus)
+ {
+ if (inOriginalStatus == Photo.Status.NOT_CONNECTED)
+ {
+ // originally didn't have a point, now it has
+ return I18nManager.getText("dialog.saveexif.photostatus.connected");
+ }
+ if (inCurrentStatus == Photo.Status.NOT_CONNECTED)
+ {
+ // originally had a point, now it doesn't
+ return I18nManager.getText("dialog.saveexif.photostatus.disconnected");
+ }
+ // originally had a point, now it has a different one
+ return I18nManager.getText("dialog.saveexif.photostatus.modified");
+ }
+ // unrecognised status
+ return null;
+ }
+
+ /**
+ * @return Photo object
+ */
+ public Photo getPhoto()
+ {
+ return _photo;
+ }
+
+ /**
+ * @return photo filename
+ */
+ public String getName()
+ {
+ return _photoName;
+ }
+
+ /**
+ * @return photo status as string
+ */
+ public String getStatus()
+ {
+ return _status;
+ }
+
+ /**
+ * @param inFlag true to save exif, false otherwise
+ */
+ public void setSaveFlag(boolean inFlag)
+ {
+ _save = inFlag;
+ }
+
+ /**
+ * @return true to save exif, false otherwise
+ */
+ public boolean getSaveFlag()
+ {
+ return _save;
+ }
+}