diff options
-rw-r--r-- | gtk2_ardour/export_timespan_selector.cc | 24 | ||||
-rw-r--r-- | gtk2_ardour/export_timespan_selector.h | 2 |
2 files changed, 26 insertions, 0 deletions
diff --git a/gtk2_ardour/export_timespan_selector.cc b/gtk2_ardour/export_timespan_selector.cc index 8080c02862..41257e1248 100644 --- a/gtk2_ardour/export_timespan_selector.cc +++ b/gtk2_ardour/export_timespan_selector.cc @@ -51,6 +51,22 @@ ExportTimespanSelector::ExportTimespanSelector (ARDOUR::Session * session, Profi option_hbox.pack_start (time_format_label, false, false, 0); option_hbox.pack_start (time_format_combo, false, false, 6); + Gtk::Button* b = manage (new Gtk::Button (_("Select All"))); + b->signal_clicked().connect ( + sigc::bind ( + sigc::mem_fun (*this, &ExportTimespanSelector::set_selection_state_of_all_timespans), true + ) + ); + option_hbox.pack_start (*b, false, false, 6); + + b = manage (new Gtk::Button (_("Deselect All"))); + b->signal_clicked().connect ( + sigc::bind ( + sigc::mem_fun (*this, &ExportTimespanSelector::set_selection_state_of_all_timespans), false + ) + ); + option_hbox.pack_start (*b, false, false, 6); + range_scroller.add (range_view); pack_start (option_hbox, false, false, 0); @@ -317,6 +333,14 @@ ExportTimespanSelector::update_range_name (std::string const & path, std::string CriticalSelectionChanged(); } +void +ExportTimespanSelector::set_selection_state_of_all_timespans (bool s) +{ + for (Gtk::ListStore::Children::iterator it = range_list->children().begin(); it != range_list->children().end(); ++it) { + it->set_value (range_cols.selected, s); + } +} + /*** ExportTimespanSelectorSingle ***/ ExportTimespanSelectorSingle::ExportTimespanSelectorSingle (ARDOUR::Session * session, ProfileManagerPtr manager, std::string range_id) : diff --git a/gtk2_ardour/export_timespan_selector.h b/gtk2_ardour/export_timespan_selector.h index 8b06b2ee8d..420baa5806 100644 --- a/gtk2_ardour/export_timespan_selector.h +++ b/gtk2_ardour/export_timespan_selector.h @@ -83,6 +83,8 @@ class ExportTimespanSelector : public Gtk::VBox, public ARDOUR::SessionHandlePtr void update_range_name (std::string const & path, std::string const & new_text); + void set_selection_state_of_all_timespans (bool); + /*** GUI components ***/ Gtk::HBox option_hbox; |