PSIP
Artifact [af87326989]
Not logged in

Artifact af873269896eccfc10bd9b540015a44ba403f5de:


/*
 * PSIP - A lightweight GTK GUI for pjsip
 * (C) James Budiono 2011
 * License: GNU GPL Version 3
 */
 
#include <gtk/gtk.h>

/*==== online state toggled - go online or go offline ===*/
void on_online_toggled(GtkToggleToolButton *b, gpointer psip_state) {
	//g_print("online status toggled\n");
	//gtk_tool_button_set_label (GTK_TOOL_BUTTON(b),"Offline");
	
	if (gtk_toggle_tool_button_get_active(b) == TRUE ) {
		//go online
		
		//UI update now
		gtk_tool_button_set_label (GTK_TOOL_BUTTON(b),"Online");
		gtk_tool_button_set_stock_id(GTK_TOOL_BUTTON(b), "gtk-yes");
		gtk_widget_set_tooltip_text (GTK_WIDGET(b), "Click here to go offline.");
		g_print("now active\n");
	} else {
		//go offline
		
		//UI update
		g_print("now in-active\n");
		gtk_tool_button_set_label (GTK_TOOL_BUTTON(b),"Offline");
		gtk_tool_button_set_stock_id(GTK_TOOL_BUTTON(b), "gtk-no");
		gtk_widget_set_tooltip_text (GTK_WIDGET(b), "Click here to go online.");
	}
	
}

/*========= main ======= */
int
main( int    argc,
      char **argv )
{
    GtkBuilder *builder;
    GtkWidget  *window;
    GError     *error = NULL;
 
    /* Init GTK+ */
    gtk_init( &argc, &argv );
 
    /* Create new GtkBuilder object */
    builder = gtk_builder_new();
    /* Load UI from file. If error occurs, report it and quit application.
     * Replace "tut.glade" with your saved project. */
    if( ! gtk_builder_add_from_file( builder, "psip.glade", &error ) )
    {
        g_warning( "%s", error->message );
        g_free( error );
        return( 1 );
    }
 
    /* Get main window pointer from UI */
    window = GTK_WIDGET( gtk_builder_get_object( builder, "main_window" ) );
 
    /* Connect signals */
    gtk_builder_connect_signals( builder, NULL );
 
    /* Destroy builder, since we don't need it anymore */
    g_object_unref( G_OBJECT( builder ) );
 
	/* */

 
    /* Show window. All other widgets are automatically shown by GtkBuilder */
    gtk_widget_show( window );
 
    /* Start main loop */
    gtk_main();
 
	g_print( "Done.\n");
    return( 0 );
}