summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/export_timespan_selector.cc24
-rw-r--r--gtk2_ardour/export_timespan_selector.h2
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;