]> gitweb.fperrin.net Git - GpsPrune.git/blob - tim/prune/function/DisconnectPhotoFunction.java
6223433ef5f21ad06a3287a9988c4cac744bed09
[GpsPrune.git] / tim / prune / function / DisconnectPhotoFunction.java
1 package tim.prune.function;
2
3 import tim.prune.App;
4 import tim.prune.DataSubscriber;
5 import tim.prune.GenericFunction;
6 import tim.prune.I18nManager;
7 import tim.prune.UpdateMessageBroker;
8 import tim.prune.data.DataPoint;
9 import tim.prune.data.Photo;
10 import tim.prune.undo.UndoDisconnectMedia;
11
12 /**
13  * Function to disconnect the current photo from the current point
14  */
15 public class DisconnectPhotoFunction extends GenericFunction
16 {
17         /**
18          * Constructor
19          * @param inApp app object
20          */
21         public DisconnectPhotoFunction(App inApp) {
22                 super(inApp);
23         }
24
25         /** @return name key */
26         public String getNameKey() {
27                 return "function.disconnectfrompoint";
28         }
29
30         /**
31          * Perform the operation
32          */
33         public void begin()
34         {
35                 Photo photo = _app.getTrackInfo().getCurrentPhoto();
36                 if (photo != null && photo.getDataPoint() != null)
37                 {
38                         DataPoint point = photo.getDataPoint();
39                         UndoDisconnectMedia undo = new UndoDisconnectMedia(point, true, false, photo.getFile().getName());
40                         // disconnect
41                         photo.setDataPoint(null);
42                         point.setPhoto(null);
43                         UpdateMessageBroker.informSubscribers(DataSubscriber.SELECTION_CHANGED);
44                         _app.completeFunction(undo, I18nManager.getText("confirm.photo.disconnect"));
45                 }
46         }
47 }