[gnome-boxes/download-oses-page: 7/12] os-database, wizard-source: Sort Downloads list in the model
- From: Felipe Borges <felipeborges src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-boxes/download-oses-page: 7/12] os-database, wizard-source: Sort Downloads list in the model
- Date: Mon, 29 Jan 2018 15:39:07 +0000 (UTC)
commit 9ca2369a819ee6d449fbe9ca668d31967da2a8d7
Author: Felipe Borges <felipeborges gnome org>
Date: Tue Jan 23 16:37:43 2018 +0100
os-database, wizard-source: Sort Downloads list in the model
src/os-database.vala | 13 +++++++++++++
src/wizard-source.vala | 7 +------
2 files changed, 14 insertions(+), 6 deletions(-)
---
diff --git a/src/os-database.vala b/src/os-database.vala
index 3d0959ec..3580e3e5 100644
--- a/src/os-database.vala
+++ b/src/os-database.vala
@@ -117,6 +117,19 @@ public async Os get_os_by_id (string id) throws OSDatabaseError {
}
}
+ // Sort list in desceding order by release date.
+ after_list.sort ((media_a, media_b) => {
+ var release_a = media_a.os.get_release_date ();
+ var release_b = media_b.os.get_release_date ();
+
+ if (release_a == null)
+ return -1;
+ else if (release_b == null)
+ return 1;
+
+ return release_b.compare (release_a);
+ });
+
return after_list;
}
diff --git a/src/wizard-source.vala b/src/wizard-source.vala
index a0cf0e99..bbcc3bf8 100644
--- a/src/wizard-source.vala
+++ b/src/wizard-source.vala
@@ -420,12 +420,7 @@ public void setup_ui (AppWindow window) {
var media_list = os_db.list_downloadable_oses.end (result);
foreach (var media in media_list) {
- available_downloads_model.insert_sorted (media, (a, b) => {
- var os1 = a as Osinfo.Media;
- var os2 = b as Osinfo.Media;
-
- return os2.os.get_release_date ().compare (os1.os.get_release_date ());
- });
+ available_downloads_model.append (media);
}
} catch (OSDatabaseError error) {
debug ("Failed to populate the list of downloadable OSes: %s", error.message);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]