[gnome-boxes] os-database: Add get_all_media_urls_as_store()
- From: Zeeshan Ali Khattak <zeeshanak src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-boxes] os-database: Add get_all_media_urls_as_store()
- Date: Tue, 17 Feb 2015 14:29:09 +0000 (UTC)
commit 8ab09bb3dc48f2d3f19dbd92691b393e4d2985c3
Author: Zeeshan Ali (Khattak) <zeeshanak gnome org>
Date: Tue Feb 17 12:52:53 2015 +0000
os-database: Add get_all_media_urls_as_store()
Add a method to get all know media URLs as Gtk.ListStore. In the
following patch, we use this to provide completion in 'Enter URL' entry.
src/os-database.vala | 23 +++++++++++++++++++++++
1 files changed, 23 insertions(+), 0 deletions(-)
---
diff --git a/src/os-database.vala b/src/os-database.vala
index e2f311b..ad100f3 100644
--- a/src/os-database.vala
+++ b/src/os-database.vala
@@ -131,6 +131,29 @@ private class Boxes.OSDatabase : GLib.Object {
return after_list;
}
+ public async Gtk.ListStore get_all_media_urls_as_store () throws OSDatabaseError {
+ if (!yield ensure_db_loaded ())
+ throw new OSDatabaseError.DB_LOADING_FAILED ("Failed to load OS database");
+
+ var store = new Gtk.ListStore (1, typeof (string));
+ foreach (var entity in db.get_os_list ().get_elements ()) {
+ var os = entity as Os;
+
+ foreach (var media_entity in os.get_media_list ().get_elements ()) {
+ var media = media_entity as Media;
+
+ if (media.url != null && (media.installer || media.live)) {
+ Gtk.TreeIter iter;
+
+ store.append (out iter);
+ store.set (iter, 0, media.url);
+ }
+ }
+ }
+
+ return store;
+ }
+
public Media get_media_by_id (Os os, string id) throws OSDatabaseError {
var medias = os.get_media_list ();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]