+++ /dev/null
-package tim.prune.function;
-
-import tim.prune.App;
-import tim.prune.DataSubscriber;
-import tim.prune.GenericFunction;
-import tim.prune.I18nManager;
-import tim.prune.UpdateMessageBroker;
-import tim.prune.data.AudioClip;
-import tim.prune.data.DataPoint;
-import tim.prune.data.Photo;
-import tim.prune.undo.UndoConnectMedia;
-import tim.prune.undo.UndoOperation;
-
-/**
- * Function to connect either a photo or an audio clip to the current point
- */
-public class ConnectToPointFunction extends GenericFunction
-{
- /**
- * Constructor
- * @param inApp app object
- */
- public ConnectToPointFunction(App inApp) {
- super(inApp);
- }
-
- /**
- * @return name key
- */
- public String getNameKey() {
- return "function.connecttopoint";
- }
-
- /**
- * Perform function
- */
- public void begin()
- {
- Photo photo = _app.getTrackInfo().getCurrentPhoto();
- DataPoint point = _app.getTrackInfo().getCurrentPoint();
- AudioClip audio = _app.getTrackInfo().getCurrentAudio();
- boolean connectPhoto = (point != null && photo != null && point.getPhoto() == null);
- boolean connectAudio = (point != null && audio != null && point.getAudio() == null);
-
- if (connectPhoto && connectAudio) {
- // TODO: Let user choose whether to connect photo/audio or both
- }
- // Make undo object
- UndoOperation undo = new UndoConnectMedia(point, connectPhoto?photo.getName():null,
- connectAudio?audio.getName():null);
- // Connect the media
- if (connectPhoto) {
- photo.setDataPoint(point);
- point.setPhoto(photo);
- }
- if (connectAudio) {
- audio.setDataPoint(point);
- point.setAudio(audio);
- }
- UpdateMessageBroker.informSubscribers(DataSubscriber.SELECTION_CHANGED);
- _app.completeFunction(undo, I18nManager.getText("confirm.media.connect"));
- }
-}