return;
}
+ Gtk::TreeModel::Path tpath = recent_session_model->get_path(iter);
+ const bool is_child = tpath.up () && tpath.up ();
+
Gtk::Menu* m = manage (new Menu);
MenuList& items = m->items ();
- items.push_back (MenuElem (s));
- items.push_back (SeparatorElem());
- items.push_back (MenuElem (_("Remove from recent"), sigc::mem_fun (*this, &SessionDialog::recent_remove_selected)));
+ items.push_back (MenuElem (s, sigc::bind (sigc::hide_return (sigc::ptr_fun (&PBD::open_folder)), s)));
+ if (!is_child) {
+ items.push_back (SeparatorElem());
+ items.push_back (MenuElem (_("Remove session from recent list"), sigc::mem_fun (*this, &SessionDialog::recent_remove_selected)));
+ }
m->popup (ev->button, ev->time);
}