summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikolaus Gullotta <nik@harrisonconsoles.com>2019-08-28 11:27:40 -0500
committerNikolaus Gullotta <nik@harrisonconsoles.com>2019-08-28 11:27:40 -0500
commit96f55e8184af064bb74a6361644b223e6471236e (patch)
tree3c4b503e4c0c083fdf5b59bae2bff029c11b667d
parent4b5391b7be7665c6916c3bcabe429e6b5e54b58b (diff)
add sortable length, span, and name columns to ExportTimespanSelectorMultiple and ExportTimespanSelectorSingle
-rw-r--r--gtk2_ardour/export_timespan_selector.cc25
-rw-r--r--gtk2_ardour/export_timespan_selector.h3
2 files changed, 27 insertions, 1 deletions
diff --git a/gtk2_ardour/export_timespan_selector.cc b/gtk2_ardour/export_timespan_selector.cc
index cfed17cf56..185e250917 100644
--- a/gtk2_ardour/export_timespan_selector.cc
+++ b/gtk2_ardour/export_timespan_selector.cc
@@ -410,6 +410,19 @@ ExportTimespanSelectorSingle::ExportTimespanSelectorSingle (ARDOUR::Session * se
range_view.append_column (_("Length"), range_cols.length);
range_view.append_column (_("Creation Date"), range_cols.date);
+
+ Gtk::TreeViewColumn* range_col = range_view.get_column(2); // range name column
+ range_col->set_sort_column(4); // set sort name
+
+ Gtk::TreeViewColumn* time_span_col = range_view.get_column(3); // time span column
+ time_span_col->set_sort_column(8); //set sort length_actual
+
+ range_list->set_sort_column(5, Gtk::SORT_DESCENDING);
+ Gtk::TreeViewColumn* date_col = range_view.get_column(5); // date column
+ date_col->set_sort_column(7); // set sort as the timestamp
+
+ Gtk::TreeViewColumn* length_col = range_view.get_column(4); // length column
+ length_col->set_sort_column(8); //set sort length_actual
}
void
@@ -449,6 +462,8 @@ ExportTimespanSelectorSingle::fill_range_list ()
row[range_cols.name] = (*it)->name();
row[range_cols.label] = construct_label (*it);
row[range_cols.length] = construct_length (*it);
+ //the actual samplecnt_t for sorting
+ row[range_cols.length_actual] = (*it)->length();
Glib::DateTime gdt(Glib::DateTime::create_now_local ((*it)->timestamp()));
row[range_cols.timestamp] = (*it)->timestamp();
@@ -508,10 +523,18 @@ ExportTimespanSelectorMultiple::ExportTimespanSelectorMultiple (ARDOUR::Session
range_view.append_column (_("Length"), range_cols.length);
range_view.append_column (_("Creation Date"), range_cols.date);
+ Gtk::TreeViewColumn* range_col = range_view.get_column(2); // range name column
+ range_col->set_sort_column(4); // set sort name
+
+ Gtk::TreeViewColumn* time_span_col = range_view.get_column(3); // time span column
+ time_span_col->set_sort_column(8); //set sort length_actual
+
range_list->set_sort_column(5, Gtk::SORT_DESCENDING);
Gtk::TreeViewColumn* date_col = range_view.get_column(5); // date column
date_col->set_sort_column(7); // set sort as the timestamp
+ Gtk::TreeViewColumn* length_col = range_view.get_column(4); // length column
+ length_col->set_sort_column(8); //set sort length_actual
}
void
@@ -542,6 +565,8 @@ ExportTimespanSelectorMultiple::fill_range_list ()
row[range_cols.name] = (*it)->name();
row[range_cols.label] = construct_label (*it);
row[range_cols.length] = construct_length (*it);
+ //the actual samplecnt_t for sorting
+ row[range_cols.length_actual] = (*it)->length();
Glib::DateTime gdt(Glib::DateTime::create_now_local ((*it)->timestamp()));
row[range_cols.timestamp] = (*it)->timestamp();
diff --git a/gtk2_ardour/export_timespan_selector.h b/gtk2_ardour/export_timespan_selector.h
index 5e1035ed2f..eb797994e2 100644
--- a/gtk2_ardour/export_timespan_selector.h
+++ b/gtk2_ardour/export_timespan_selector.h
@@ -143,8 +143,9 @@ protected:
Gtk::TreeModelColumn<std::string> length;
Gtk::TreeModelColumn<std::string> date;
Gtk::TreeModelColumn<time_t> timestamp;
+ Gtk::TreeModelColumn<ARDOUR::samplecnt_t> length_actual;
- RangeCols () { add (location); add(label); add(selected); add(realtime); add(name); add(length); add(date); add(timestamp);}
+ RangeCols () { add (location); add(label); add(selected); add(realtime); add(name); add(length); add(date); add(timestamp); add(length_actual);}
};
RangeCols range_cols;