X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fengineer%2Ftrainlistdialog.cpp;h=5e3c50b6873e827c0d3ba8b77ce14104e99e6ede;hb=66a30fdf63df6ae092fb3d335c30a37e4e6ef40d;hp=e84fc883df04252fd8dfd9d7378531bbb68a64b3;hpb=9afe42fc94eed6754da8401082e76121f8c66783;p=r2c2.git diff --git a/source/engineer/trainlistdialog.cpp b/source/engineer/trainlistdialog.cpp index e84fc88..5e3c50b 100644 --- a/source/engineer/trainlistdialog.cpp +++ b/source/engineer/trainlistdialog.cpp @@ -30,6 +30,7 @@ public: TrainListDialog::TrainListDialog(Engineer &e): + DynamicDialog(e.get_user_interface()), engineer(e), layout(engineer.get_layout()) { @@ -62,6 +63,10 @@ TrainListDialog::TrainListDialog(Engineer &e): Driver &driver = layout.get_driver(); driver.signal_locomotive_detected.connect(sigc::mem_fun(this, &TrainListDialog::locomotive_detected)); driver.signal_locomotive_gone.connect(sigc::mem_fun(this, &TrainListDialog::locomotive_gone)); + + unsigned i = 0; + while(const Driver::DetectedLocomotive *loco = driver.enumerate_detected_locos(i++)) + detected_locos.append(loco); } layout.signal_train_added.connect(sigc::mem_fun(this, &TrainListDialog::train_added)); layout.signal_train_removed.connect(sigc::mem_fun(this, &TrainListDialog::train_removed)); @@ -131,6 +136,14 @@ void TrainListDialog::train_name_changed(Train &train) trains.refresh(&train); } +bool TrainListDialog::save_state(DataFile::Statement &st) const +{ + st.keyword = "trainlistdialog"; + save_position(st.sub); + + return true; +} + TrainItem::TrainItem(ValueType train) {