diff --git a/pom.xml b/pom.xml index 67dffc8..729a830 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 de.srsoftware web4rail - 1.4.9 + 1.4.10 Web4Rail jar Java Model Railway Control diff --git a/resources/translations/Application.de.translation b/resources/translations/Application.de.translation index 841bbda..618ffba 100644 --- a/resources/translations/Application.de.translation +++ b/resources/translations/Application.de.translation @@ -172,6 +172,7 @@ Falls aktiviert, wird die Strecke anhand von Zug- und Kachel-Länge hinter dem Z internal contacts : interne Kontakte inverted : invertiert Inverts the direction {} is heading to. : Kehrt die Richtung, in welche {} fährt, um. +{} is not a block! : {} ist kein Block! {} is off : {} ist Aus {} is on : {} ist Ein {} is oriented {} : {} ist {} gerichtet diff --git a/src/main/java/de/srsoftware/web4rail/Route.java b/src/main/java/de/srsoftware/web4rail/Route.java index de479b1..681540c 100644 --- a/src/main/java/de/srsoftware/web4rail/Route.java +++ b/src/main/java/de/srsoftware/web4rail/Route.java @@ -888,7 +888,14 @@ public class Route extends BaseClass { return true; } - public boolean start() { + public boolean start() { + if (isNull(context) || context.invalidated()) { + LOG.debug("Invalid context: {}",context); + return false; + } + + Train train = context.train(); + if (train.direction() != startDirection) train.turn(); if (isSet(startDelay)) sleep(startDelay.random()); return startNow(); } diff --git a/src/main/java/de/srsoftware/web4rail/moving/Train.java b/src/main/java/de/srsoftware/web4rail/moving/Train.java index 599cedc..cd9223c 100644 --- a/src/main/java/de/srsoftware/web4rail/moving/Train.java +++ b/src/main/java/de/srsoftware/web4rail/moving/Train.java @@ -141,6 +141,7 @@ public class Train extends BaseClass implements Comparable { case ACTION_QUIT: return train.properties(train.quitAutopilot()); case ACTION_REVERSE: + train.quitAutopilot(); return train.reverse().properties(); case ACTION_SLOWER10: return train.slower(Train.defaultSpeedStep); @@ -748,12 +749,11 @@ public class Train extends BaseClass implements Comparable { button(t("reverse"), Map.of(ACTION,ACTION_REVERSE)).title(t("Turns the train, as if it went through a loop.")).addTo(directionLi).addTo(propList); Tag dest = new Tag("li").content(t("Destination")+COL); - if (isNull(destination)) { - button(t("Select from plan"),Map.of(ACTION,ACTION_MOVE,ASSIGN,DESTINATION)).addTo(dest); - } else { + if (isSet(destination)) { link("span",destination,Map.of(REALM,REALM_PLAN,ID,destination.id().toString(),ACTION,ACTION_CLICK)).addTo(dest); new Button(t("Drop"),Map.of(REALM,REALM_TRAIN,ID,id,ACTION,ACTION_MOVE,DESTINATION,"")).addTo(dest); } + button(t("Select from plan"),Map.of(ACTION,ACTION_MOVE,ASSIGN,DESTINATION)).addTo(dest); dest.addTo(propList); if (isSet(route)) route.link("li", route).addTo(propList);