]> gitweb.fperrin.net Git - GpsPrune.git/blob - tim/prune/function/DisconnectAudioFunction.java
Version 13, August 2011
[GpsPrune.git] / tim / prune / function / DisconnectAudioFunction.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.AudioClip;
9 import tim.prune.data.DataPoint;
10 import tim.prune.undo.UndoDisconnectMedia;
11 import tim.prune.undo.UndoOperation;
12
13 /**
14  * Function to disconnect the current audio object from the current point (like DisconnectPhotoFunction)
15  */
16 public class DisconnectAudioFunction extends GenericFunction
17 {
18         /**
19          * Constructor
20          * @param inApp app object
21          */
22         public DisconnectAudioFunction(App inApp) {
23                 super(inApp);
24         }
25
26         /** @return name key */
27         public String getNameKey() {
28                 return "function.disconnectfrompoint";
29         }
30
31         /**
32          * Perform the operation
33          */
34         public void begin()
35         {
36                 AudioClip audio = _app.getTrackInfo().getCurrentAudio();
37                 if (audio != null && audio.getDataPoint() != null)
38                 {
39                         DataPoint point = audio.getDataPoint();
40                         UndoOperation undo = new UndoDisconnectMedia(point, false, true, audio.getName());
41                         // disconnect
42                         audio.setDataPoint(null);
43                         point.setAudio(null);
44                         UpdateMessageBroker.informSubscribers(DataSubscriber.SELECTION_CHANGED);
45                         _app.completeFunction(undo, I18nManager.getText("confirm.audio.disconnect"));
46                 }
47         }
48 }