[gnome-software: 1/2] gs-details-page: Sort reviews by most recent




commit d78f5d0cc46673099b3028582f8b3b6659bcf4a1
Author: Stéphane Travostino <steph combo cc>
Date:   Sun Nov 28 15:05:29 2021 +0000

    gs-details-page: Sort reviews by most recent
    
    Fixes #1549

 src/gs-details-page.c | 7 +++++++
 1 file changed, 7 insertions(+)
---
diff --git a/src/gs-details-page.c b/src/gs-details-page.c
index f7be1a700..7c52340a4 100644
--- a/src/gs-details-page.c
+++ b/src/gs-details-page.c
@@ -1291,6 +1291,12 @@ gs_details_page_review_button_clicked_cb (GsReviewRow *row,
        gs_details_page_refresh_reviews (self);
 }
 
+static gint
+sort_reviews (AsReview **a, AsReview **b)
+{
+       return -g_date_time_compare (as_review_get_date (*a), as_review_get_date (*b));
+}
+
 static void
 gs_details_page_refresh_reviews (GsDetailsPage *self)
 {
@@ -1379,6 +1385,7 @@ gs_details_page_refresh_reviews (GsDetailsPage *self)
        /* add all the reviews */
        gs_widget_remove_all (self->list_box_reviews, (GsRemoveFunc) gtk_list_box_remove);
        reviews = gs_app_get_reviews (self->app);
+       g_ptr_array_sort (reviews, (GCompareFunc) sort_reviews);
        for (i = 0; i < reviews->len; i++) {
                AsReview *review = g_ptr_array_index (reviews, i);
                GtkWidget *row = gs_review_row_new (review);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]