static void rb_source_set_query_model_internal (RBSource *source, RhythmDBQueryModel *model) { RBSourcePrivate *priv = RB_SOURCE_GET_PRIVATE (source); if (priv->query_model == model) { return; } if (priv->query_model != NULL) { g_signal_handlers_disconnect_by_func (priv->query_model, G_CALLBACK (rb_source_post_entry_deleted_cb), source); g_signal_handlers_disconnect_by_func (priv->query_model, G_CALLBACK (rb_source_row_inserted_cb), source); g_object_unref (priv->query_model); } priv->query_model = model; if (priv->query_model != NULL) { g_object_ref (priv->query_model); g_signal_connect_object (model, "post-entry-delete", G_CALLBACK (rb_source_post_entry_deleted_cb), source, 0); g_signal_connect_object (model, "row_inserted", G_CALLBACK (rb_source_row_inserted_cb), source, 0); } /* g_object_notify (G_OBJECT (source), "query-model"); */ rb_source_notify_status_changed (source); }
static gboolean _update_status_idle (RBSource *source) { RBSourcePrivate *priv = RB_SOURCE_GET_PRIVATE (source); rb_source_notify_status_changed (source); if (priv->hidden_when_empty) update_visibility_idle (source); priv->update_status_id = 0; return FALSE; }
static void import_complete_cb (RhythmDBImportJob *job, int total, RBGenericPlayerSource *source) { RBGenericPlayerSourceClass *klass = RB_GENERIC_PLAYER_SOURCE_GET_CLASS (source); RBGenericPlayerSourcePrivate *priv = GENERIC_PLAYER_SOURCE_GET_PRIVATE (source); RBShell *shell; GDK_THREADS_ENTER (); g_object_get (source, "shell", &shell, NULL); rb_shell_append_source (shell, priv->import_errors, RB_SOURCE (source)); g_object_unref (shell); if (klass->impl_load_playlists) klass->impl_load_playlists (source); g_object_unref (priv->import_job); priv->import_job = NULL; rb_source_notify_status_changed (RB_SOURCE (source)); GDK_THREADS_LEAVE (); }
static void import_status_changed_cb (RhythmDBImportJob *job, int total, int imported, RBGenericPlayerSource *source) { rb_source_notify_status_changed (RB_SOURCE (source)); }