static void window_title_provider_set_player (ParoleProviderPlugin *plugin, ParoleProviderPlayer *player) { WindowTitleProvider *provider; provider = WINDOW_TITLE_PROVIDER (plugin); provider->player = player; provider->window = parole_provider_player_get_main_window (player); g_signal_connect (player, "state-changed", G_CALLBACK (window_title_provider_state_changed_cb), provider); g_signal_connect (player, "tag-message", G_CALLBACK (window_title_provider_tag_message_cb), provider); }
static void tray_provider_set_player (ParoleProviderPlugin *plugin, ParoleProviderPlayer *player) { TrayProvider *tray; GdkPixbuf *pix; tray = TRAY_PROVIDER (plugin); tray->player = player; tray->state = PAROLE_STATE_STOPPED; tray->window = parole_provider_player_get_main_window (player); tray->tray = gtk_status_icon_new (); tray->player = player; tray->menu = NULL; #ifdef HAVE_LIBNOTIFY tray->n = NULL; notify_init ("parole-tray-icon"); tray->enabled = notify_enabled (); tray->notify = TRUE; #endif pix = parole_icon_load ("parole", 48); if ( pix ) { gtk_status_icon_set_from_pixbuf (tray->tray, pix); g_object_unref (pix); } g_signal_connect (tray->tray, "popup-menu", G_CALLBACK (popup_menu_cb), tray); g_signal_connect (tray->tray, "activate", G_CALLBACK (tray_activate_cb), tray); tray->sig = g_signal_connect (tray->window, "delete-event", G_CALLBACK (delete_event_cb), NULL); g_signal_connect (player, "state_changed", G_CALLBACK (state_changed_cb), tray); }