示例#1
0
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);
}
示例#2
0
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);
}