[rhythmbox] rhythmdb: make it easy to create a query model for a given entry type
- From: Jonathan Matthew <jmatthew src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [rhythmbox] rhythmdb: make it easy to create a query model for a given entry type
- Date: Sun, 2 Nov 2014 07:25:58 +0000 (UTC)
commit 3be94c36452dc7d6a61f2da99234a4ccd43df31e
Author: Jonathan Matthew <jonathan d14n org>
Date: Sun Nov 2 17:20:24 2014 +1000
rhythmdb: make it easy to create a query model for a given entry type
Messing around with queries is hard, and sometimes RBBrowserSource
isn't suitable as a base class.
rhythmdb/rhythmdb-query-model.c | 24 ++++++++++++++++++++++++
rhythmdb/rhythmdb-query-model.h | 4 ++++
2 files changed, 28 insertions(+), 0 deletions(-)
---
diff --git a/rhythmdb/rhythmdb-query-model.c b/rhythmdb/rhythmdb-query-model.c
index 0716bce..f87aa85 100644
--- a/rhythmdb/rhythmdb-query-model.c
+++ b/rhythmdb/rhythmdb-query-model.c
@@ -852,6 +852,30 @@ rhythmdb_query_model_new_empty (RhythmDB *db)
"db", db, NULL);
}
+/**
+ * rhythmdb_query_model_new_for_entry_type:
+ * @db: the #RhythmDB
+ * @entry_type: the #RhythmDBEntryType to display
+ * @show_hidden: if %TRUE, show hidden entries
+ *
+ * Return value: the newly constructed query model
+ */
+RhythmDBQueryModel *
+rhythmdb_query_model_new_for_entry_type (RhythmDB *db,
+ RhythmDBEntryType *entry_type,
+ gboolean show_hidden)
+{
+ RhythmDBQueryModel *model;
+ model = rhythmdb_query_model_new_empty (db);
+ g_object_set (model, "show-hidden", show_hidden, NULL);
+ rhythmdb_do_full_query_async (db,
+ RHYTHMDB_QUERY_RESULTS (model),
+ RHYTHMDB_QUERY_PROP_EQUALS, RHYTHMDB_PROP_TYPE, entry_type,
+ RHYTHMDB_QUERY_END);
+ return model;
+}
+
+
static void
_copy_contents_foreach_cb (RhythmDBEntry *entry, RhythmDBQueryModel *dest)
{
diff --git a/rhythmdb/rhythmdb-query-model.h b/rhythmdb/rhythmdb-query-model.h
index fd575ec..b5121c2 100644
--- a/rhythmdb/rhythmdb-query-model.h
+++ b/rhythmdb/rhythmdb-query-model.h
@@ -101,6 +101,10 @@ RhythmDBQueryModel * rhythmdb_query_model_new (RhythmDB *db,
RhythmDBQueryModel * rhythmdb_query_model_new_empty (RhythmDB *db);
+RhythmDBQueryModel * rhythmdb_query_model_new_for_entry_type (RhythmDB *db,
+ RhythmDBEntryType *entry_type,
+ gboolean show_hidden);
+
void rhythmdb_query_model_copy_contents (RhythmDBQueryModel *dest,
RhythmDBQueryModel *src);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]