From 76ed62fa09aafcb457193fb612df034efae8240c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kai=20B=C3=B6rnert?= Date: Mon, 7 May 2018 14:15:39 +0200 Subject: [PATCH] bug4476 added description, cleaned up selection handling --- .../multivideo/MultiVideoDialog.java | 30 ++++++++++--------- .../sailing/gwt/ui/client/StringMessages.java | 1 + .../gwt/ui/client/StringMessages.properties | 3 +- .../ui/client/StringMessages_de.properties | 3 +- 4 files changed, 21 insertions(+), 16 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/multivideo/MultiVideoDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/multivideo/MultiVideoDialog.java index 0affb6bbaaa..246bbc929d0 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/multivideo/MultiVideoDialog.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/multivideo/MultiVideoDialog.java @@ -89,6 +89,10 @@ public class MultiVideoDialog extends DialogBox { setGlassEnabled(true); FlowPanel mainContent = new FlowPanel(); + + Label descriptionLabel = new Label(this.stringMessages.multiVideoDescription()); + descriptionLabel.getElement().getStyle().setPadding(0.5, Unit.EM); + mainContent.add(descriptionLabel); Label indexUrl = new Label(stringMessages.multiVideoURLOfIndex()); mainContent.add(indexUrl); @@ -186,19 +190,19 @@ public class MultiVideoDialog extends DialogBox { link.setHref(remoteFile.url); link.setTarget("_blank"); dataTable.setWidget(y, URL_COLUMN, link); - dataTable.setWidget(y, STATUS_COLUMN, new Label(asString(remoteFile.status))); + if(remoteFile.selected || remoteFile.status != EStatus.WAIT_FOR_SAVE) { + dataTable.setWidget(y, STATUS_COLUMN, new Label(asString(remoteFile.status))); + }else { + dataTable.setWidget(y, STATUS_COLUMN, new Label(stringMessages.multiVideoDoNoAdd())); + } CheckBox removeVideo = new CheckBox(); - removeVideo.setEnabled(!remoteFile.isWorking); - removeVideo.setValue(remoteFile.status == EStatus.WAIT_FOR_SAVE || remoteFile.status == EStatus.WAITING_FOR_LINK); + removeVideo.setEnabled(!remoteFile.isWorking && remoteFile.status == EStatus.WAIT_FOR_SAVE); + removeVideo.setValue(remoteFile.selected); removeVideo.addValueChangeHandler(new ValueChangeHandler() { @Override public void onValueChange(ValueChangeEvent event) { - if (Boolean.TRUE.equals(event.getValue())) { - remoteFile.status = EStatus.WAIT_FOR_SAVE; - } else { - remoteFile.status = EStatus.DO_NOT_PROCESS; - } + remoteFile.selected = event.getValue(); updateUI(); } }); @@ -301,7 +305,7 @@ public class MultiVideoDialog extends DialogBox { private void startNextLinkingRemoteTask() { for (RemoteFileInfo remoteFile : remoteFiles) { - if (remoteFile.status == EStatus.WAIT_FOR_SAVE) { + if (remoteFile.status == EStatus.WAIT_FOR_SAVE && remoteFile.selected) { MediaTrack mediaTrack = new MediaTrack(remoteFile.url, remoteFile.url, remoteFile.startTime, remoteFile.duration, remoteFile.mime, remoteFile.candidates); mediaService.addMediaTrack(mediaTrack, new AsyncCallback() { @@ -347,7 +351,7 @@ public class MultiVideoDialog extends DialogBox { public void onSuccess(List result) { Set candidates = new HashSet<>(); collectAllOverlappingRaces(remoteFile, result, candidates); - remoteFile.status = EStatus.DO_NOT_PROCESS; + remoteFile.status = EStatus.WAIT_FOR_SAVE; remoteFile.isWorking = false; remoteFile.candidates = candidates; updateUI(); @@ -552,8 +556,6 @@ public class MultiVideoDialog extends DialogBox { return stringMessages.multiVideoWaitingForLinkPhase(); case WAIT_FOR_SAVE: return stringMessages.multiVideoWaitingForSave(); - case DO_NOT_PROCESS: - return stringMessages.multiVideoDoNoAdd(); default: return stringMessages.unknown(); } @@ -612,11 +614,11 @@ public class MultiVideoDialog extends DialogBox { DONE, ALREADY_ADDED, GETTING_MEDIATRACK, - ERROR_LINKING, - DO_NOT_PROCESS; + ERROR_LINKING; } static class RemoteFileInfo { + protected boolean selected; protected MediaTrack knownMediaTrack; protected Set candidates; protected MimeType mime; diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java index f8da6ed5bf5..69f9322b506 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java @@ -2182,4 +2182,5 @@ public interface StringMessages extends com.sap.sse.gwt.client.StringMessages, String multiVideoIdle(); String multiVideoDoNoAdd(); String multiVideoOffsetInput(); + String multiVideoDescription(); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties index 25a85872cff..6667abd48cc 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties @@ -2170,4 +2170,5 @@ multiVideoWaitingForLinkPhase=Video is waiting for link phase multiVideoWaitingForSave=Waiting for confirmation multiVideoIdle=Work queue is idle multiVideoDoNoAdd=Do not add -multiVideoOffsetInput=Global video offset in Millis: \ No newline at end of file +multiVideoOffsetInput=Global video offset in Millis: +multiVideoDescription=It is required to use a webserver with indexfiles (subfolders supported if indexed). After an initial analysis of the metadata contained in the mp4 files, the videos that should be added, need to be selected via the checkbox column on the left. The add button will create mediatracks for all selected files, and add those files to all races selected in the right column. \ No newline at end of file diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties index 474aba83caf..4db4e97adc2 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties @@ -2166,4 +2166,5 @@ multiVideoWaitingForLinkPhase=Video wartet auf die Linkphase multiVideoWaitingForSave=Wartet auf Bestätigung multiVideoIdle=Keine Arbeit offen multiVideoDoNoAdd=Nicht hinzufügen -multiVideoOffsetInput=Globales Videooffset in Millisekunden: \ No newline at end of file +multiVideoOffsetInput=Globales Videooffset in Millisekunden: +multiVideoDescription=Ein Webserver mit Folderindex wird benötigt (Unterordner sind unterstützt, sofern diese auch indiziert sind). Nach einer initialen analyse der Metadaten von den mp4 Dateien, müssen die gewünschen Videos in der linken Spalte ausgewählt werden. Der Hinzufügen-Knopf erstellt für jedes selectierte Video einen MediaTrack, und fügt diesen zu allen Rennen hinzu, die in der rechten Spalte selectiert wurden.