void rb_podcast_main_source_add_subsources (RBPodcastMainSource *source) { RhythmDBQuery *query; RBSource *podcast_subsource; RBPodcastManager *podcast_mgr; RhythmDB *db; RBShell *shell; g_object_get (source, "shell", &shell, "podcast-manager", &podcast_mgr, NULL); g_object_get (shell, "db", &db, NULL); query = rhythmdb_query_parse (db, RHYTHMDB_QUERY_PROP_EQUALS, RHYTHMDB_PROP_TYPE, RHYTHMDB_ENTRY_TYPE_PODCAST_POST, RHYTHMDB_QUERY_PROP_CURRENT_TIME_WITHIN, RHYTHMDB_PROP_FIRST_SEEN, 3600 * 24 * 7, RHYTHMDB_QUERY_END); podcast_subsource = rb_podcast_source_new (shell, podcast_mgr, query, _("New Episodes"), RB_STOCK_AUTO_PLAYLIST); rhythmdb_query_free (query); rb_source_set_hidden_when_empty (podcast_subsource, TRUE); rb_shell_append_source (shell, podcast_subsource, RB_SOURCE (source)); query = rhythmdb_query_parse (db, RHYTHMDB_QUERY_PROP_EQUALS, RHYTHMDB_PROP_TYPE, RHYTHMDB_ENTRY_TYPE_PODCAST_POST, RHYTHMDB_QUERY_PROP_CURRENT_TIME_WITHIN, RHYTHMDB_PROP_LAST_SEEN, 3600 * 24 * 7, RHYTHMDB_QUERY_END); podcast_subsource = rb_podcast_source_new (shell, podcast_mgr, query, _("New Downloads"), /* better name? */ RB_STOCK_AUTO_PLAYLIST); rhythmdb_query_free (query); rb_source_set_hidden_when_empty (podcast_subsource, TRUE); rb_shell_append_source (shell, podcast_subsource, RB_SOURCE (source)); g_object_unref (db); g_object_unref (shell); }
static void rb_source_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { RBSource *source = RB_SOURCE (object); switch (prop_id) { case PROP_HIDDEN_WHEN_EMPTY: rb_source_set_hidden_when_empty (source, g_value_get_boolean (value)); break; case PROP_QUERY_MODEL: rb_source_set_query_model_internal (source, g_value_get_object (value)); break; case PROP_ENTRY_TYPE: source->priv->entry_type = g_value_get_object (value); break; case PROP_SETTINGS: source->priv->settings = g_value_dup_object (value); break; case PROP_SHOW_BROWSER: /* not connected to anything here */ break; case PROP_LOAD_STATUS: source->priv->load_status = g_value_get_enum (value); break; case PROP_TOOLBAR_PATH: source->priv->toolbar_path = g_value_dup_string (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } }
static void rb_source_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { RBSourcePrivate *priv = RB_SOURCE_GET_PRIVATE (object); RBSource *source = RB_SOURCE (object); switch (prop_id) { case PROP_NAME: g_free (priv->name); priv->name = g_strdup (g_value_get_string (value)); break; case PROP_ICON: rb_source_set_pixbuf (source, g_value_get_object (value)); break; case PROP_SHELL: priv->shell = g_value_get_object (value); break; case PROP_VISIBLE: priv->visible = g_value_get_boolean (value); rb_debug ("Setting %s visibility to %u", priv->name, priv->visible); break; case PROP_HIDDEN_WHEN_EMPTY: rb_source_set_hidden_when_empty (source, g_value_get_boolean (value)); break; case PROP_QUERY_MODEL: rb_source_set_query_model_internal (source, g_value_get_object (value)); break; case PROP_SOURCE_GROUP: priv->source_group = g_value_get_boxed (value); break; case PROP_ENTRY_TYPE: priv->entry_type = g_value_get_boxed (value); break; case PROP_PLUGIN: priv->plugin = g_value_get_object (value); break; case PROP_SEARCH_TYPE: priv->search_type = g_value_get_enum (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } }