improved sorting by recording time

This commit is contained in:
DYefremov
2022-07-11 08:52:15 +03:00
parent 14e200f262
commit 33e39d2f25
2 changed files with 12 additions and 1 deletions

View File

@@ -324,6 +324,8 @@ Author: Dmitriy Yefremov
</child>
<child>
<object class="GtkTreeViewColumn" id="rec_time_column">
<property name="resizable">True</property>
<property name="fixed_width">200</property>
<property name="min_width">100</property>
<property name="title" translatable="yes">Time</property>
<property name="alignment">0.5</property>

View File

@@ -77,6 +77,8 @@ class RecordingsTool(Gtk.Box):
self._filter_entry = builder.get_object("recordings_filter_entry")
self._recordings_count_label = builder.get_object("recordings_count_label")
self.pack_start(builder.get_object("recordings_box"), True, True, 0)
self._rec_view.get_model().set_sort_func(2, self.time_sort_func, 2)
if settings.alternate_layout:
self.on_layout_changed(app, True)
@@ -167,7 +169,7 @@ class RecordingsTool(Gtk.Box):
def get_recordings_row(self, rec):
service = rec.get("e2servicename")
title = rec.get("e2title", "")
time = datetime.fromtimestamp(int(rec.get("e2time", "0"))).strftime("%A, %H:%M")
time = datetime.fromtimestamp(int(rec.get("e2time", "0"))).strftime("%A, %Y-%m-%d, %H:%M")
length = rec.get("e2length", "0")
file = rec.get("e2filename", "")
desc = rec.get("e2description", "")
@@ -243,6 +245,13 @@ class RecordingsTool(Gtk.Box):
for c in (Column.REC_SERVICE, Column.REC_TIME, Column.REC_LEN, Column.REC_FILE, Column.REC_DESC):
self._rec_view.get_column(c).set_visible(state)
def time_sort_func(self, model, iter1, iter2, column):
""" Custom sort function for time column. """
rec1 = model.get_value(iter1, 6)
rec2 = model.get_value(iter2, 6)
return int(rec1.get("e2time", "0")) - int(rec2.get("e2time", "0"))
if __name__ == "__main__":
pass