Location timestamp changes - can now sort by location creation date: gtk part

This commit is contained in:
Nikolaus Gullotta 2019-07-22 15:47:17 -05:00
parent 7d4f72174c
commit 31ec8ce7d1
4 changed files with 33 additions and 3 deletions

View File

@ -405,6 +405,7 @@ ExportTimespanSelectorSingle::ExportTimespanSelectorSingle (ARDOUR::Session * se
range_view.append_column (*label_col);
range_view.append_column (_("Length"), range_cols.length);
range_view.append_column (_("Creation Date"), range_cols.date);
}
void
@ -445,6 +446,11 @@ ExportTimespanSelectorSingle::fill_range_list ()
row[range_cols.label] = construct_label (*it);
row[range_cols.length] = construct_length (*it);
Glib::DateTime gdt(Glib::DateTime::create_now_local ((*it)->timestamp()));
row[range_cols.timestamp] = (*it)->timestamp();
row[range_cols.date] = gdt.format ("%F %H:%M");;
add_range_to_selection (*it, false);
break;
@ -496,6 +502,12 @@ ExportTimespanSelectorMultiple::ExportTimespanSelectorMultiple (ARDOUR::Session
range_view.append_column (*label_col);
range_view.append_column (_("Length"), range_cols.length);
range_view.append_column (_("Creation Date"), range_cols.date);
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
}
void
@ -526,6 +538,11 @@ ExportTimespanSelectorMultiple::fill_range_list ()
row[range_cols.name] = (*it)->name();
row[range_cols.label] = construct_label (*it);
row[range_cols.length] = construct_length (*it);
Glib::DateTime gdt(Glib::DateTime::create_now_local ((*it)->timestamp()));
row[range_cols.timestamp] = (*it)->timestamp();
row[range_cols.date] = gdt.format ("%F %H:%M");;
}
set_selection_from_state ();

View File

@ -24,6 +24,8 @@
#include "audio_clock.h"
#include <list>
#include <ctime>
#ifdef interface
#undef interface
@ -136,8 +138,10 @@ protected:
Gtk::TreeModelColumn<bool> realtime;
Gtk::TreeModelColumn<std::string> name;
Gtk::TreeModelColumn<std::string> length;
Gtk::TreeModelColumn<std::string> date;
Gtk::TreeModelColumn<time_t> timestamp;
RangeCols () { add (location); add(label); add(selected); add(realtime); add(name); add(length); }
RangeCols () { add (location); add(label); add(selected); add(realtime); add(name); add(length); add(date); add(timestamp);}
};
RangeCols range_cols;

View File

@ -63,12 +63,14 @@ LocationEditRow::LocationEditRow(Session * sess, Location * loc, int32_t num)
, glue_check_button (_("Glue"))
, _clock_group (0)
{
i_am_the_modifier = 0;
remove_button.set_icon (ArdourIcon::CloseCross);
remove_button.set_events (remove_button.get_events() & ~(Gdk::ENTER_NOTIFY_MASK|Gdk::LEAVE_NOTIFY_MASK));
number_label.set_name ("LocationEditNumberLabel");
date_label.set_name ("LocationDateLabel");
name_label.set_name ("LocationEditNameLabel");
name_entry.set_name ("LocationEditNameEntry");
cd_check_button.set_name ("LocationEditCdButton");
@ -242,6 +244,12 @@ LocationEditRow::set_location (Location *loc)
item_table.attach (hide_check_button, 5, 6, 0, 1, FILL, Gtk::FILL, 4, 0);
item_table.attach (lock_check_button, 6, 7, 0, 1, FILL, Gtk::FILL, 4, 0);
item_table.attach (glue_check_button, 7, 8, 0, 1, FILL, Gtk::FILL, 4, 0);
Glib::DateTime gdt(Glib::DateTime::create_now_local (location->timestamp()));
string date = gdt.format ("%F %H:%M");
date_label.set_text(date);
item_table.attach (date_label, 9, 10, 0, 1, FILL, Gtk::FILL, 4, 0);
}
hide_check_button.set_active (location->is_hidden());
lock_check_button.set_active (location->locked());
@ -803,7 +811,7 @@ LocationUI::LocationUI (std::string state_node_name)
location_rows.set_name("LocationLocRows");
location_rows_scroller.add (location_rows);
location_rows_scroller.set_name ("LocationLocRowsScroller");
location_rows_scroller.set_policy (Gtk::POLICY_NEVER, Gtk::POLICY_AUTOMATIC);
location_rows_scroller.set_policy (Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC);
location_rows_scroller.set_size_request (-1, 130);
newest_location = 0;
@ -838,7 +846,7 @@ LocationUI::LocationUI (std::string state_node_name)
range_rows.set_name("LocationRangeRows");
range_rows_scroller.add (range_rows);
range_rows_scroller.set_name ("LocationRangeRowsScroller");
range_rows_scroller.set_policy (Gtk::POLICY_NEVER, Gtk::POLICY_AUTOMATIC);
range_rows_scroller.set_policy (Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC);
range_rows_scroller.set_size_request (-1, 130);
range_frame_box.set_spacing (5);

View File

@ -79,6 +79,7 @@ protected:
Gtk::Entry name_entry;
Gtk::Label name_label;
Gtk::Label number_label;
Gtk::Label date_label;
Gtk::HBox start_hbox;
AudioClock start_clock;