]> git.tdb.fi Git - r2c2.git/blobdiff - source/engineer/departuresdialog.cpp
Some refactoring in preparation for UI persistence
[r2c2.git] / source / engineer / departuresdialog.cpp
index e1f99a399f01345a11323f2c44750b0c7a0b5cf9..a1a31121447a7e825dc75a628fa51f1d59850934 100644 (file)
@@ -47,9 +47,13 @@ DeparturesDialog::DeparturesDialog(const Layout &l, const string &group):
        }
 }
 
-void DeparturesDialog::group_selected(unsigned index)
+void DeparturesDialog::set_group(const string &group)
 {
-       const string &group = groups.get(index);
+       int index = groups.find(group);
+       if(index<0)
+               throw key_error(group);
+       drp_groups->set_selected_index(index);
+
        lbl_title->set_text("Departures from "+group);
 
        for(vector<Row>::iterator i=rows.begin(); i!=rows.end(); ++i)
@@ -63,6 +67,11 @@ void DeparturesDialog::group_selected(unsigned index)
        update_rows();
 }
 
+void DeparturesDialog::group_selected(unsigned index)
+{
+       set_group(groups.get(index));
+}
+
 void DeparturesDialog::update_rows()
 {
        const list<Departures::Departure> &deps = departures->get_departures();