/*
* 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 );
}