]> git.tdb.fi Git - r2c2.git/blobdiff - source/engineer/engineer.cpp
Allow setting sensor ID for multiple tracks at once
[r2c2.git] / source / engineer / engineer.cpp
index ea87df659d7e3a7b33ccff8ed519a866295cd993..fc6d75df5e1261c17d9cc23b60a060cf8d324f5c 100644 (file)
@@ -1,7 +1,7 @@
 /* $Id$
 
 This file is part of the MSP Märklin suite
-Copyright © 2006-2008 Mikkosoft Productions, Mikko Rasa
+Copyright © 2006-2009 Mikkosoft Productions, Mikko Rasa
 Distributed under the GPL
 */
 
@@ -19,6 +19,7 @@ Distributed under the GPL
 #include <msp/strings/formatter.h>
 #include <msp/strings/lexicalcast.h>
 #include <msp/strings/regex.h>
+#include "libmarklin/tracktype.h"
 #include "engineer.h"
 #include "mainpanel.h"
 #include "trainpanel.h"
@@ -315,7 +316,7 @@ void Engineer::button_press(int x, int y, unsigned btn, unsigned)
                        if(unsigned tid=track->get_track().get_turnout_id())
                        {
                                Turnout &turnout=control.get_turnout(tid);
-                               turnout.set_route(1-turnout.get_route());
+                               turnout.set_route((turnout.get_route()+1)%track->get_track().get_type().get_n_routes());
                        }
                        else if(simulate)
                        {