{
Glib::RefPtr<Gtk::TreeSelection> selection = option_treeview.get_selection();
TreeModel::iterator iter = selection->get_selected();
- if(iter) {
+
+ if (iter) {
TreeModel::Row row = *iter;
Gtk::Widget* w = row[option_columns.widget];
if (w) {
_notebook.set_current_page (_notebook.page_num (*w));
+ cerr << "OE: set current page to " << _notebook.page_num (*w) << endl;
}
}
}
void
OptionEditor::set_current_page (string const & p)
{
- int i = 0;
- while (i < _notebook.get_n_pages ()) {
- if (_notebook.get_tab_label_text (*_notebook.get_nth_page (i)) == p) {
- _notebook.set_current_page (i);
- return;
- }
+ TreeModel::iterator row_iter = find_path_in_treemodel(p);
- ++i;
+ if (row_iter) {
+ option_treeview.get_selection()->select(row_iter);
}
+
}
hpacker.pack_start (notebook(), true, true);
pack_start (hpacker, true, true);
- hpacker.show_all ();
- show ();
+ show_all ();
}
OptionEditorWindow::OptionEditorWindow (PBD::Configuration* c, string const& str)