[fractal/fractal-next] sidebar: Order rooms by activity
- From: Julian Sparber <jsparber src gnome org>
 
- To: commits-list gnome org
 
- Cc: 
 
- Subject: [fractal/fractal-next] sidebar: Order rooms by activity
 
- Date: Tue, 17 Aug 2021 08:35:06 +0000 (UTC)
 
commit 4fd6cb20adc6d5ac0f9b5715e45f7d9101d82eda
Author: Kai A. Hiller <V02460 gmail com>
Date:   Fri Aug 6 23:40:49 2021 +0200
    sidebar: Order rooms by activity
 src/session/sidebar/category.rs | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)
---
diff --git a/src/session/sidebar/category.rs b/src/session/sidebar/category.rs
index 9cb82b54..44b6dd8d 100644
--- a/src/session/sidebar/category.rs
+++ b/src/session/sidebar/category.rs
@@ -130,12 +130,19 @@ impl Category {
         });
         let filter_model = gtk::FilterListModel::new(Some(&model), Some(&filter));
 
-        filter_model.connect_items_changed(
+        let sorter = gtk::CustomSorter::new(|a, b| {
+            let a = a.downcast_ref::<Room>().unwrap();
+            let b = b.downcast_ref::<Room>().unwrap();
+            b.latest_change().cmp(&a.latest_change()).into()
+        });
+        let sort_model = gtk::SortListModel::new(Some(&filter_model), Some(&sorter));
+
+        sort_model.connect_items_changed(
             clone!(@weak self as obj => move |_, pos, added, removed| {
                 obj.items_changed(pos, added, removed);
             }),
         );
 
-        priv_.model.set(filter_model.upcast()).unwrap();
+        priv_.model.set(sort_model.upcast()).unwrap();
     }
 }
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]