X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fengineer%2Ftrainlistdialog.cpp;h=5d0c9fec9d85402f94dd16c068c8947ed3bab551;hb=3bd82be700904d2c1428e6ba35642426c76beeaa;hp=0a31d67808c7a72a275fd41136d01c4bc0c87d67;hpb=b261812f040caed52bc3de783e8bcb86b222a9ed;p=r2c2.git diff --git a/source/engineer/trainlistdialog.cpp b/source/engineer/trainlistdialog.cpp index 0a31d67..5d0c9fe 100644 --- a/source/engineer/trainlistdialog.cpp +++ b/source/engineer/trainlistdialog.cpp @@ -48,12 +48,8 @@ TrainListDialog::TrainListDialog(Engineer &e): void TrainListDialog::new_clicked() { - GLtk::Container *root = parent; - while(root->get_parent()) - root = root->get_parent(); - NewTrainDialog *dlg = new NewTrainDialog(engineer); - root->add(*dlg); + find_ancestor()->add(*dlg); dlg->autosize(); } @@ -62,12 +58,8 @@ void TrainListDialog::show_clicked() int index = lst_trains->get_selected_index(); if(index>=0) { - GLtk::Container *root = parent; - while(root->get_parent()) - root = root->get_parent(); - TrainDialog *dlg = new TrainDialog(engineer, *trains.get(index)); - root->add(*dlg); + find_ancestor()->add(*dlg); dlg->autosize(); } }