diff options
author | Joshua Nichols <nichoj@gentoo.org> | 2006-10-31 18:42:15 +0000 |
---|---|---|
committer | Joshua Nichols <nichoj@gentoo.org> | 2006-10-31 18:42:15 +0000 |
commit | 853a8d0520b1ef82c6846bbefb026eb384f3b8c5 (patch) | |
tree | 4977ed9c5aeae5098354f02942d4d40cd2bea38d /projects/gvpndialer/trunk/src/interface.c | |
parent | Added TheWidgetFactory. (diff) | |
download | nichoj-853a8d0520b1ef82c6846bbefb026eb384f3b8c5.tar.gz nichoj-853a8d0520b1ef82c6846bbefb026eb384f3b8c5.tar.bz2 nichoj-853a8d0520b1ef82c6846bbefb026eb384f3b8c5.zip |
Adding gvpndialer-1.1 as trunk
svn path=/; revision=84
Diffstat (limited to 'projects/gvpndialer/trunk/src/interface.c')
-rw-r--r-- | projects/gvpndialer/trunk/src/interface.c | 824 |
1 files changed, 824 insertions, 0 deletions
diff --git a/projects/gvpndialer/trunk/src/interface.c b/projects/gvpndialer/trunk/src/interface.c new file mode 100644 index 0000000..64a6857 --- /dev/null +++ b/projects/gvpndialer/trunk/src/interface.c @@ -0,0 +1,824 @@ +/* + * DO NOT EDIT THIS FILE - it is generated by Glade. + */ + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#include <sys/types.h> +#include <sys/stat.h> +#include <unistd.h> +#include <string.h> +#include <stdio.h> + +#include <bonobo.h> +#include <gnome.h> + +#include "callbacks.h" +#include "interface.h" +#include "support.h" + +#define GLADE_HOOKUP_OBJECT(component,widget,name) \ + g_object_set_data_full (G_OBJECT (component), name, \ + gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref) + +#define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \ + g_object_set_data (G_OBJECT (component), name, widget) + +static GnomeUIInfo file1_menu_uiinfo[] = +{ + GNOMEUIINFO_MENU_EXIT_ITEM (on_quit1_activate, NULL), + GNOMEUIINFO_END +}; + +static GnomeUIInfo edit1_menu_uiinfo[] = +{ + GNOMEUIINFO_MENU_PREFERENCES_ITEM (on_preferences1_activate, NULL), + GNOMEUIINFO_END +}; + +static GnomeUIInfo view1_menu_uiinfo[] = +{ + { + GNOME_APP_UI_ITEM, "_Status", + NULL, + (gpointer) on_status2_activate, NULL, NULL, + GNOME_APP_PIXMAP_FILENAME, "gvpndialer/Status-Dock.png", + 0, (GdkModifierType) 0, NULL + }, + GNOMEUIINFO_END +}; + +static GnomeUIInfo help1_menu_uiinfo[] = +{ + GNOMEUIINFO_MENU_ABOUT_ITEM (on_about1_activate, NULL), + GNOMEUIINFO_END +}; + +static GnomeUIInfo menubar1_uiinfo[] = +{ + GNOMEUIINFO_MENU_FILE_TREE (file1_menu_uiinfo), + GNOMEUIINFO_MENU_EDIT_TREE (edit1_menu_uiinfo), + GNOMEUIINFO_MENU_VIEW_TREE (view1_menu_uiinfo), + GNOMEUIINFO_MENU_HELP_TREE (help1_menu_uiinfo), + GNOMEUIINFO_END +}; + +GtkWidget* +create_vpnclient_main_window (void) +{ + GtkWidget *vpnclient_main_window; + GtkWidget *bonobodock1; + GtkWidget *toolbar1; + GtkIconSize tmp_toolbar_icon_size; + GtkWidget *tmp_image; + GtkWidget *execute_vpn_button; + GtkWidget *disconnect_button; + GtkWidget *separatortoolitem1; + GtkWidget *status_button; + GtkWidget *separatortoolitem2; + GtkWidget *quit_button; + GtkWidget *vbox2; + GtkWidget *table3; + GtkWidget *label10; + GtkWidget *hostname_entry; + GtkWidget *profile_entry; + GtkWidget *vpn_profile_entry_box; + GtkWidget *label11; + GtkWidget *hseparator2; + GtkWidget *hbox1; + GtkWidget *statusimage; + GtkWidget *statusbar; + GtkTooltips *tooltips; + + tooltips = gtk_tooltips_new (); + + vpnclient_main_window = gnome_app_new ("Gvpn_dialer", "GVPN Dialer"); + gtk_widget_set_size_request (vpnclient_main_window, 504, 237); + gtk_window_set_default_size (GTK_WINDOW (vpnclient_main_window), 504, 237); + gtk_window_set_resizable (GTK_WINDOW (vpnclient_main_window), FALSE); + + bonobodock1 = GNOME_APP (vpnclient_main_window)->dock; + gtk_widget_show (bonobodock1); + + gnome_app_create_menus (GNOME_APP (vpnclient_main_window), menubar1_uiinfo); + + toolbar1 = gtk_toolbar_new (); + gtk_widget_show (toolbar1); + gnome_app_add_toolbar (GNOME_APP (vpnclient_main_window), GTK_TOOLBAR (toolbar1), "toolbar1", + BONOBO_DOCK_ITEM_BEH_EXCLUSIVE + | BONOBO_DOCK_ITEM_BEH_LOCKED, + BONOBO_DOCK_TOP, 1, 0, 0); + gtk_container_set_border_width (GTK_CONTAINER (toolbar1), 2); + gtk_toolbar_set_style (GTK_TOOLBAR (toolbar1), GTK_TOOLBAR_BOTH); + tmp_toolbar_icon_size = gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar1)); + + tmp_image = create_pixmap (vpnclient_main_window, "gvpndialer/stock_exec_24.png"); + gtk_widget_show (tmp_image); + execute_vpn_button = (GtkWidget*) gtk_tool_button_new (tmp_image, "Connect"); + gtk_widget_show (execute_vpn_button); + gtk_container_add (GTK_CONTAINER (toolbar1), execute_vpn_button); + gtk_widget_set_size_request (execute_vpn_button, 82, 65); + gtk_container_set_border_width (GTK_CONTAINER (execute_vpn_button), 7); + gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (execute_vpn_button), tooltips, "Start VPN Connection", NULL); + + tmp_image = create_pixmap (vpnclient_main_window, "gvpndialer/stock_stop_24.png"); + gtk_widget_show (tmp_image); + disconnect_button = (GtkWidget*) gtk_tool_button_new (tmp_image, "Disconnect"); + gtk_widget_show (disconnect_button); + gtk_container_add (GTK_CONTAINER (toolbar1), disconnect_button); + gtk_widget_set_size_request (disconnect_button, 99, 61); + gtk_container_set_border_width (GTK_CONTAINER (disconnect_button), 8); + gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (disconnect_button), tooltips, "Start VPN Connection", NULL); + + separatortoolitem1 = (GtkWidget*) gtk_separator_tool_item_new (); + gtk_widget_show (separatortoolitem1); + gtk_container_add (GTK_CONTAINER (toolbar1), separatortoolitem1); + + tmp_image = create_pixmap (vpnclient_main_window, "gvpndialer/Status-Dock.png"); + gtk_widget_show (tmp_image); + status_button = (GtkWidget*) gtk_tool_button_new (tmp_image, "_Status"); + gtk_widget_show (status_button); + gtk_container_add (GTK_CONTAINER (toolbar1), status_button); + gtk_container_set_border_width (GTK_CONTAINER (status_button), 7); + gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (status_button), tooltips, "Get VPN Stats", NULL); + + separatortoolitem2 = (GtkWidget*) gtk_separator_tool_item_new (); + gtk_widget_show (separatortoolitem2); + gtk_container_add (GTK_CONTAINER (toolbar1), separatortoolitem2); + + quit_button = (GtkWidget*) gtk_tool_button_new_from_stock ("gtk-quit"); + gtk_widget_show (quit_button); + gtk_container_add (GTK_CONTAINER (toolbar1), quit_button); + gtk_container_set_border_width (GTK_CONTAINER (quit_button), 7); + gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (quit_button), tooltips, "Quit GVPN Dialer", NULL); + + vbox2 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox2); + gnome_app_set_contents (GNOME_APP (vpnclient_main_window), vbox2); + + table3 = gtk_table_new (2, 2, FALSE); + gtk_widget_show (table3); + gtk_box_pack_start (GTK_BOX (vbox2), table3, FALSE, TRUE, 0); + gtk_widget_set_size_request (table3, 482, 89); + gtk_container_set_border_width (GTK_CONTAINER (table3), 20); + gtk_table_set_row_spacings (GTK_TABLE (table3), 8); + gtk_table_set_col_spacings (GTK_TABLE (table3), 19); + + label10 = gtk_label_new ("VPN Connection Profile"); + gtk_widget_show (label10); + gtk_table_attach (GTK_TABLE (table3), label10, 0, 1, 0, 1, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (label10), GTK_JUSTIFY_CENTER); + gtk_misc_set_alignment (GTK_MISC (label10), 0, 0.5); + + hostname_entry = gtk_entry_new (); + gtk_widget_show (hostname_entry); + gtk_table_attach (GTK_TABLE (table3), hostname_entry, 1, 2, 1, 2, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_entry_set_max_length (GTK_ENTRY (hostname_entry), 30); + gtk_editable_set_editable (GTK_EDITABLE (hostname_entry), FALSE); + + profile_entry = gtk_combo_new (); + g_object_set_data (G_OBJECT (GTK_COMBO (profile_entry)->popwin), + "GladeParentKey", profile_entry); + gtk_widget_show (profile_entry); + gtk_table_attach (GTK_TABLE (table3), profile_entry, 0, 1, 1, 2, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + vpn_profile_entry_box = GTK_COMBO (profile_entry)->entry; + gtk_widget_show (vpn_profile_entry_box); + gtk_entry_set_max_length (GTK_ENTRY (vpn_profile_entry_box), 20); + gtk_editable_set_editable (GTK_EDITABLE (vpn_profile_entry_box), FALSE); + + label11 = gtk_label_new ("Hostname"); + gtk_widget_show (label11); + gtk_table_attach (GTK_TABLE (table3), label11, 1, 2, 0, 1, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 89, 0); + gtk_label_set_justify (GTK_LABEL (label11), GTK_JUSTIFY_CENTER); + gtk_misc_set_alignment (GTK_MISC (label11), 0, 0.5); + + hseparator2 = gtk_hseparator_new (); + gtk_widget_show (hseparator2); + gtk_box_pack_start (GTK_BOX (vbox2), hseparator2, FALSE, TRUE, 8); + + hbox1 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox1); + gtk_box_pack_start (GTK_BOX (vbox2), hbox1, FALSE, TRUE, 0); + + statusimage = gtk_image_new_from_stock ("gtk-dialog-info", GTK_ICON_SIZE_BUTTON); + gtk_widget_show (statusimage); + gtk_box_pack_start (GTK_BOX (hbox1), statusimage, FALSE, TRUE, 0); + gtk_widget_set_size_request (statusimage, 31, 21); + + statusbar = gnome_appbar_new (FALSE, TRUE, GNOME_PREFERENCES_NEVER); + gtk_widget_show (statusbar); + gtk_box_pack_start (GTK_BOX (hbox1), statusbar, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (statusbar), 2); + + g_signal_connect ((gpointer) vpnclient_main_window, "show", + G_CALLBACK (on_vpnclient_main_window_show), + NULL); + g_signal_connect ((gpointer) vpnclient_main_window, "delete_event", + G_CALLBACK (on_vpnclient_main_window_delete_event), + NULL); + g_signal_connect ((gpointer) execute_vpn_button, "clicked", + G_CALLBACK (on_execute_vpn_button_clicked), + NULL); + g_signal_connect ((gpointer) disconnect_button, "clicked", + G_CALLBACK (on_disconnect_button_clicked), + NULL); + g_signal_connect ((gpointer) status_button, "clicked", + G_CALLBACK (on_status_button_clicked), + NULL); + g_signal_connect ((gpointer) quit_button, "clicked", + G_CALLBACK (on_quit_button_clicked), + NULL); + g_signal_connect ((gpointer) vpn_profile_entry_box, "changed", + G_CALLBACK (on_vpn_profile_entry_box_changed), + NULL); + + /* Store pointers to all widgets, for use by lookup_widget(). */ + GLADE_HOOKUP_OBJECT_NO_REF (vpnclient_main_window, vpnclient_main_window, "vpnclient_main_window"); + GLADE_HOOKUP_OBJECT (vpnclient_main_window, bonobodock1, "bonobodock1"); + GLADE_HOOKUP_OBJECT (vpnclient_main_window, menubar1_uiinfo[0].widget, "file1"); + GLADE_HOOKUP_OBJECT (vpnclient_main_window, file1_menu_uiinfo[0].widget, "quit1"); + GLADE_HOOKUP_OBJECT (vpnclient_main_window, menubar1_uiinfo[1].widget, "edit1"); + GLADE_HOOKUP_OBJECT (vpnclient_main_window, edit1_menu_uiinfo[0].widget, "preferences1"); + GLADE_HOOKUP_OBJECT (vpnclient_main_window, menubar1_uiinfo[2].widget, "view1"); + GLADE_HOOKUP_OBJECT (vpnclient_main_window, view1_menu_uiinfo[0].widget, "status2"); + GLADE_HOOKUP_OBJECT (vpnclient_main_window, menubar1_uiinfo[3].widget, "help1"); + GLADE_HOOKUP_OBJECT (vpnclient_main_window, help1_menu_uiinfo[0].widget, "about1"); + GLADE_HOOKUP_OBJECT (vpnclient_main_window, toolbar1, "toolbar1"); + GLADE_HOOKUP_OBJECT (vpnclient_main_window, execute_vpn_button, "execute_vpn_button"); + GLADE_HOOKUP_OBJECT (vpnclient_main_window, disconnect_button, "disconnect_button"); + GLADE_HOOKUP_OBJECT (vpnclient_main_window, separatortoolitem1, "separatortoolitem1"); + GLADE_HOOKUP_OBJECT (vpnclient_main_window, status_button, "status_button"); + GLADE_HOOKUP_OBJECT (vpnclient_main_window, separatortoolitem2, "separatortoolitem2"); + GLADE_HOOKUP_OBJECT (vpnclient_main_window, quit_button, "quit_button"); + GLADE_HOOKUP_OBJECT (vpnclient_main_window, vbox2, "vbox2"); + GLADE_HOOKUP_OBJECT (vpnclient_main_window, table3, "table3"); + GLADE_HOOKUP_OBJECT (vpnclient_main_window, label10, "label10"); + GLADE_HOOKUP_OBJECT (vpnclient_main_window, hostname_entry, "hostname_entry"); + GLADE_HOOKUP_OBJECT (vpnclient_main_window, profile_entry, "profile_entry"); + GLADE_HOOKUP_OBJECT (vpnclient_main_window, vpn_profile_entry_box, "vpn_profile_entry_box"); + GLADE_HOOKUP_OBJECT (vpnclient_main_window, label11, "label11"); + GLADE_HOOKUP_OBJECT (vpnclient_main_window, hseparator2, "hseparator2"); + GLADE_HOOKUP_OBJECT (vpnclient_main_window, hbox1, "hbox1"); + GLADE_HOOKUP_OBJECT (vpnclient_main_window, statusimage, "statusimage"); + GLADE_HOOKUP_OBJECT (vpnclient_main_window, statusbar, "statusbar"); + GLADE_HOOKUP_OBJECT_NO_REF (vpnclient_main_window, tooltips, "tooltips"); + + return vpnclient_main_window; +} + +GtkWidget* +create_login_window (void) +{ + GtkWidget *login_window; + GtkWidget *vbox5; + GtkWidget *invalid_user_pass; + GtkWidget *table1; + GtkWidget *label4; + GtkWidget *label5; + GtkWidget *enter_username; + GtkWidget *enter_password; + GtkWidget *hbuttonbox1; + GtkWidget *cancel_button; + GtkWidget *submit_button; + GdkColor color; + + login_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_window_set_title (GTK_WINDOW (login_window), "Login Window"); + gtk_window_set_default_size (GTK_WINDOW (login_window), 350, 190); + gtk_window_set_resizable (GTK_WINDOW (login_window), FALSE); + + vbox5 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox5); + gtk_container_add (GTK_CONTAINER (login_window), vbox5); + + invalid_user_pass = gtk_label_new (" "); + gtk_widget_show (invalid_user_pass); + gtk_box_pack_start (GTK_BOX (vbox5), invalid_user_pass, FALSE, FALSE, 0); + gtk_widget_set_size_request (invalid_user_pass, 40, 24); + /* set the color for the invalid user label */ + gdk_color_parse("red", &color); + gtk_widget_modify_fg(GTK_WIDGET(invalid_user_pass),GTK_STATE_NORMAL,&color); + + table1 = gtk_table_new (2, 2, FALSE); + gtk_widget_show (table1); + gtk_box_pack_start (GTK_BOX (vbox5), table1, FALSE, TRUE, 6); + gtk_widget_set_size_request (table1, 339, 87); + gtk_container_set_border_width (GTK_CONTAINER (table1), 13); + gtk_table_set_row_spacings (GTK_TABLE (table1), 15); + gtk_table_set_col_spacings (GTK_TABLE (table1), 2); + + label4 = gtk_label_new ("Enter Username:"); + gtk_widget_show (label4); + gtk_table_attach (GTK_TABLE (table1), label4, 0, 1, 0, 1, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (label4), 0, 0.5); + + label5 = gtk_label_new ("Enter Password:"); + gtk_widget_show (label5); + gtk_table_attach (GTK_TABLE (table1), label5, 0, 1, 1, 2, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (label5), 0, 0.5); + + enter_username = gtk_entry_new (); + gtk_widget_show (enter_username); + gtk_table_attach (GTK_TABLE (table1), enter_username, 1, 2, 0, 1, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_entry_set_max_length (GTK_ENTRY (enter_username), 30); + + enter_password = gtk_entry_new (); + gtk_widget_show (enter_password); + gtk_table_attach (GTK_TABLE (table1), enter_password, 1, 2, 1, 2, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_entry_set_max_length (GTK_ENTRY (enter_password), 30); + gtk_entry_set_visibility (GTK_ENTRY (enter_password), FALSE); + + hbuttonbox1 = gtk_hbutton_box_new (); + gtk_widget_show (hbuttonbox1); + gtk_box_pack_start (GTK_BOX (vbox5), hbuttonbox1, FALSE, FALSE, 3); + gtk_container_set_border_width (GTK_CONTAINER (hbuttonbox1), 14); + + cancel_button = gtk_button_new_from_stock ("gtk-cancel"); + gtk_widget_show (cancel_button); + gtk_container_add (GTK_CONTAINER (hbuttonbox1), cancel_button); + GTK_WIDGET_SET_FLAGS (cancel_button, GTK_CAN_DEFAULT); + + submit_button = gtk_button_new_from_stock ("gtk-ok"); + gtk_widget_show (submit_button); + gtk_container_add (GTK_CONTAINER (hbuttonbox1), submit_button); + GTK_WIDGET_SET_FLAGS (submit_button, GTK_CAN_DEFAULT); + + g_signal_connect ((gpointer) login_window, "delete_event", + G_CALLBACK (on_login_window_delete_event), + NULL); + g_signal_connect ((gpointer) enter_username, "activate", + G_CALLBACK (on_enter_username_activate), + NULL); + g_signal_connect ((gpointer) enter_password, "activate", + G_CALLBACK (on_enter_password_activate), + NULL); + g_signal_connect ((gpointer) cancel_button, "clicked", + G_CALLBACK (on_cancel_button_clicked), + NULL); + g_signal_connect ((gpointer) submit_button, "clicked", + G_CALLBACK (on_submit_button_clicked), + NULL); + g_signal_connect ((gpointer) submit_button, "activate", + G_CALLBACK (on_submit_button_activate), + NULL); + + /* Store pointers to all widgets, for use by lookup_widget(). */ + GLADE_HOOKUP_OBJECT_NO_REF (login_window, login_window, "login_window"); + GLADE_HOOKUP_OBJECT (login_window, vbox5, "vbox5"); + GLADE_HOOKUP_OBJECT (login_window, invalid_user_pass, "invalid_user_pass"); + GLADE_HOOKUP_OBJECT (login_window, table1, "table1"); + GLADE_HOOKUP_OBJECT (login_window, label4, "label4"); + GLADE_HOOKUP_OBJECT (login_window, label5, "label5"); + GLADE_HOOKUP_OBJECT (login_window, enter_username, "enter_username"); + GLADE_HOOKUP_OBJECT (login_window, enter_password, "enter_password"); + GLADE_HOOKUP_OBJECT (login_window, hbuttonbox1, "hbuttonbox1"); + GLADE_HOOKUP_OBJECT (login_window, cancel_button, "cancel_button"); + GLADE_HOOKUP_OBJECT (login_window, submit_button, "submit_button"); + + return login_window; +} + +GtkWidget* +create_preference_window (void) +{ + GtkWidget *preference_window; + GtkWidget *notebook1; + GtkWidget *vbox6; + GtkWidget *frame1; + GtkWidget *table2; + GtkWidget *label8; + GtkWidget *vpnclient_path_entry; + GtkWidget *label9; + GtkWidget *vpn_profile_path_entry; + GtkWidget *label16; + GtkWidget *vpnclient_default_user_entry; + GtkWidget *vpnclient_start_hidden_cb; + GtkWidget *label7; + GtkWidget *hbuttonbox2; + GtkWidget *preference_cancel_button; + GtkWidget *preference_apply_button; + GtkWidget *general_label; + + preference_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_widget_set_size_request (preference_window, 400, 300); + gtk_container_set_border_width (GTK_CONTAINER (preference_window), 7); + gtk_window_set_title (GTK_WINDOW (preference_window), "Preferences"); + gtk_window_set_resizable (GTK_WINDOW (preference_window), FALSE); + + notebook1 = gtk_notebook_new (); + gtk_widget_show (notebook1); + gtk_container_add (GTK_CONTAINER (preference_window), notebook1); + gtk_widget_set_size_request (notebook1, 302, 89); + + vbox6 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox6); + gtk_container_add (GTK_CONTAINER (notebook1), vbox6); + + frame1 = gtk_frame_new (NULL); + gtk_widget_show (frame1); + gtk_box_pack_start (GTK_BOX (vbox6), frame1, TRUE, TRUE, 0); + gtk_widget_set_size_request (frame1, 300, 48); + + table2 = gtk_table_new (4, 2, FALSE); + gtk_widget_show (table2); + gtk_container_add (GTK_CONTAINER (frame1), table2); + gtk_container_set_border_width (GTK_CONTAINER (table2), 12); + gtk_table_set_row_spacings (GTK_TABLE (table2), 8); + gtk_table_set_col_spacings (GTK_TABLE (table2), 5); + + label8 = gtk_label_new ("Path to vpnclient:"); + gtk_widget_show (label8); + gtk_table_attach (GTK_TABLE (table2), label8, 0, 1, 0, 1, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (label8), GTK_JUSTIFY_RIGHT); + gtk_misc_set_alignment (GTK_MISC (label8), 0, 0.5); + + vpnclient_path_entry = gtk_entry_new (); + gtk_widget_show (vpnclient_path_entry); + gtk_table_attach (GTK_TABLE (table2), vpnclient_path_entry, 1, 2, 0, 1, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + label9 = gtk_label_new ("VPN Profile Path:"); + gtk_widget_show (label9); + gtk_table_attach (GTK_TABLE (table2), label9, 0, 1, 1, 2, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (label9), GTK_JUSTIFY_RIGHT); + gtk_misc_set_alignment (GTK_MISC (label9), 0, 0.5); + + vpn_profile_path_entry = gtk_entry_new (); + gtk_widget_show (vpn_profile_path_entry); + gtk_table_attach (GTK_TABLE (table2), vpn_profile_path_entry, 1, 2, 1, 2, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + label16 = gtk_label_new ("Default User:"); + gtk_widget_show (label16); + gtk_table_attach (GTK_TABLE (table2), label16, 0, 1, 2, 3, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (label16), 0, 0.5); + + vpnclient_default_user_entry = gtk_entry_new (); + gtk_widget_show (vpnclient_default_user_entry); + gtk_table_attach (GTK_TABLE (table2), vpnclient_default_user_entry, 1, 2, 2, 3, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + vpnclient_start_hidden_cb = gtk_check_button_new_with_mnemonic ("Start Hidden"); + gtk_widget_show (vpnclient_start_hidden_cb); + gtk_table_attach (GTK_TABLE (table2), vpnclient_start_hidden_cb, 0, 2, 3, 4, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + label7 = gtk_label_new ("Basic Options:"); + gtk_widget_show (label7); + gtk_frame_set_label_widget (GTK_FRAME (frame1), label7); + gtk_widget_set_size_request (label7, 92, 17); + + hbuttonbox2 = gtk_hbutton_box_new (); + gtk_widget_show (hbuttonbox2); + gtk_box_pack_start (GTK_BOX (vbox6), hbuttonbox2, FALSE, FALSE, 0); + gtk_widget_set_size_request (hbuttonbox2, 107, 62); + gtk_container_set_border_width (GTK_CONTAINER (hbuttonbox2), 7); + gtk_box_set_spacing (GTK_BOX (hbuttonbox2), 14); + + preference_cancel_button = gtk_button_new_from_stock ("gtk-cancel"); + gtk_widget_show (preference_cancel_button); + gtk_container_add (GTK_CONTAINER (hbuttonbox2), preference_cancel_button); + GTK_WIDGET_SET_FLAGS (preference_cancel_button, GTK_CAN_DEFAULT); + + preference_apply_button = gtk_button_new_from_stock ("gtk-apply"); + gtk_widget_show (preference_apply_button); + gtk_container_add (GTK_CONTAINER (hbuttonbox2), preference_apply_button); + GTK_WIDGET_SET_FLAGS (preference_apply_button, GTK_CAN_DEFAULT); + + general_label = gtk_label_new ("General"); + gtk_widget_show (general_label); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 0), general_label); + + g_signal_connect ((gpointer) preference_window, "delete_event", + G_CALLBACK (on_preference_window_delete_event), + NULL); + g_signal_connect ((gpointer) preference_cancel_button, "clicked", + G_CALLBACK (on_preference_cancel_button_clicked), + NULL); + g_signal_connect ((gpointer) preference_apply_button, "clicked", + G_CALLBACK (on_preference_apply_button_clicked), + NULL); + + /* Store pointers to all widgets, for use by lookup_widget(). */ + GLADE_HOOKUP_OBJECT_NO_REF (preference_window, preference_window, "preference_window"); + GLADE_HOOKUP_OBJECT (preference_window, notebook1, "notebook1"); + GLADE_HOOKUP_OBJECT (preference_window, vbox6, "vbox6"); + GLADE_HOOKUP_OBJECT (preference_window, frame1, "frame1"); + GLADE_HOOKUP_OBJECT (preference_window, table2, "table2"); + GLADE_HOOKUP_OBJECT (preference_window, label8, "label8"); + GLADE_HOOKUP_OBJECT (preference_window, vpnclient_path_entry, "vpnclient_path_entry"); + GLADE_HOOKUP_OBJECT (preference_window, label9, "label9"); + GLADE_HOOKUP_OBJECT (preference_window, vpn_profile_path_entry, "vpn_profile_path_entry"); + GLADE_HOOKUP_OBJECT (preference_window, label16, "label16"); + GLADE_HOOKUP_OBJECT (preference_window, vpnclient_default_user_entry, "vpnclient_default_user_entry"); + GLADE_HOOKUP_OBJECT (preference_window, vpnclient_start_hidden_cb, "vpnclient_start_hidden_cb"); + GLADE_HOOKUP_OBJECT (preference_window, label7, "label7"); + GLADE_HOOKUP_OBJECT (preference_window, hbuttonbox2, "hbuttonbox2"); + GLADE_HOOKUP_OBJECT (preference_window, preference_cancel_button, "preference_cancel_button"); + GLADE_HOOKUP_OBJECT (preference_window, preference_apply_button, "preference_apply_button"); + GLADE_HOOKUP_OBJECT (preference_window, general_label, "general_label"); + + return preference_window; +} + +GtkWidget* +create_status_window (void) +{ + GtkWidget *status_window; + GdkPixbuf *status_window_icon_pixbuf; + GtkWidget *notebook2; + GtkWidget *vbox7; + GtkWidget *frame4; + GtkWidget *trafficstats_text; + GtkWidget *trafficstats; + GtkWidget *frame5; + GtkWidget *tunnelstats_text; + GtkWidget *tunnelstats; + GtkWidget *frame6; + GtkWidget *routestats_text; + GtkWidget *routestats; + GtkWidget *hbuttonbox4; + GtkWidget *close_status_window_button; + GtkWidget *label15; + + status_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_widget_set_size_request (status_window, 433, -1); + gtk_container_set_border_width (GTK_CONTAINER (status_window), 7); + gtk_window_set_title (GTK_WINDOW (status_window), "Status Window"); + gtk_window_set_default_size (GTK_WINDOW (status_window), 433, 431); + gtk_window_set_resizable (GTK_WINDOW (status_window), FALSE); + status_window_icon_pixbuf = create_pixbuf ("gvpndialer/Status-Dock.png"); + if (status_window_icon_pixbuf) + { + gtk_window_set_icon (GTK_WINDOW (status_window), status_window_icon_pixbuf); + gdk_pixbuf_unref (status_window_icon_pixbuf); + } + + notebook2 = gtk_notebook_new (); + gtk_widget_show (notebook2); + gtk_container_add (GTK_CONTAINER (status_window), notebook2); + gtk_widget_set_size_request (notebook2, 143, -1); + gtk_container_set_border_width (GTK_CONTAINER (notebook2), 6); + gtk_notebook_set_scrollable (GTK_NOTEBOOK (notebook2), TRUE); + gtk_notebook_popup_enable (GTK_NOTEBOOK (notebook2)); + + vbox7 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox7); + gtk_container_add (GTK_CONTAINER (notebook2), vbox7); + + frame4 = gtk_frame_new (NULL); + gtk_widget_show (frame4); + gtk_box_pack_start (GTK_BOX (vbox7), frame4, TRUE, TRUE, 0); + gtk_widget_set_size_request (frame4, 172, 126); + + trafficstats_text = gtk_text_view_new (); + gtk_widget_show (trafficstats_text); + gtk_container_add (GTK_CONTAINER (frame4), trafficstats_text); + gtk_widget_set_size_request (trafficstats_text, 168, -1); + gtk_container_set_border_width (GTK_CONTAINER (trafficstats_text), 1); + GTK_WIDGET_UNSET_FLAGS (trafficstats_text, GTK_CAN_FOCUS); + gtk_text_view_set_editable (GTK_TEXT_VIEW (trafficstats_text), FALSE); + gtk_text_view_set_accepts_tab (GTK_TEXT_VIEW (trafficstats_text), FALSE); + gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (trafficstats_text), FALSE); + gtk_text_buffer_set_text (gtk_text_view_get_buffer (GTK_TEXT_VIEW (trafficstats_text)), "", -1); + + trafficstats = gtk_label_new ("Traffic Statistics"); + gtk_widget_show (trafficstats); + gtk_frame_set_label_widget (GTK_FRAME (frame4), trafficstats); + + frame5 = gtk_frame_new (NULL); + gtk_widget_show (frame5); + gtk_box_pack_start (GTK_BOX (vbox7), frame5, TRUE, TRUE, 0); + gtk_widget_set_size_request (frame5, 204, -1); + + tunnelstats_text = gtk_text_view_new (); + gtk_widget_show (tunnelstats_text); + gtk_container_add (GTK_CONTAINER (frame5), tunnelstats_text); + gtk_widget_set_size_request (tunnelstats_text, 200, -1); + gtk_container_set_border_width (GTK_CONTAINER (tunnelstats_text), 1); + GTK_WIDGET_UNSET_FLAGS (tunnelstats_text, GTK_CAN_FOCUS); + gtk_text_view_set_editable (GTK_TEXT_VIEW (tunnelstats_text), FALSE); + gtk_text_view_set_accepts_tab (GTK_TEXT_VIEW (tunnelstats_text), FALSE); + gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (tunnelstats_text), FALSE); + gtk_text_buffer_set_text (gtk_text_view_get_buffer (GTK_TEXT_VIEW (tunnelstats_text)), "", -1); + + tunnelstats = gtk_label_new ("Tunnel Statistics"); + gtk_widget_show (tunnelstats); + gtk_frame_set_label_widget (GTK_FRAME (frame5), tunnelstats); + gtk_widget_set_size_request (tunnelstats, 97, 15); + + frame6 = gtk_frame_new (NULL); + gtk_widget_show (frame6); + gtk_box_pack_start (GTK_BOX (vbox7), frame6, TRUE, TRUE, 0); + gtk_widget_set_size_request (frame6, 204, 105); + + routestats_text = gtk_text_view_new (); + gtk_widget_show (routestats_text); + gtk_container_add (GTK_CONTAINER (frame6), routestats_text); + gtk_widget_set_size_request (routestats_text, 200, 89); + gtk_container_set_border_width (GTK_CONTAINER (routestats_text), 1); + GTK_WIDGET_UNSET_FLAGS (routestats_text, GTK_CAN_FOCUS); + gtk_text_view_set_editable (GTK_TEXT_VIEW (routestats_text), FALSE); + gtk_text_view_set_accepts_tab (GTK_TEXT_VIEW (routestats_text), FALSE); + gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (routestats_text), FALSE); + gtk_text_buffer_set_text (gtk_text_view_get_buffer (GTK_TEXT_VIEW (routestats_text)), "", -1); + + routestats = gtk_label_new ("Route Statistics"); + gtk_widget_show (routestats); + gtk_frame_set_label_widget (GTK_FRAME (frame6), routestats); + + hbuttonbox4 = gtk_hbutton_box_new (); + gtk_widget_show (hbuttonbox4); + gtk_box_pack_start (GTK_BOX (vbox7), hbuttonbox4, TRUE, TRUE, 0); + gtk_widget_set_size_request (hbuttonbox4, 85, 43); + gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox4), GTK_BUTTONBOX_END); + + close_status_window_button = gtk_button_new_from_stock ("gtk-close"); + gtk_widget_show (close_status_window_button); + gtk_container_add (GTK_CONTAINER (hbuttonbox4), close_status_window_button); + GTK_WIDGET_SET_FLAGS (close_status_window_button, GTK_CAN_DEFAULT); + + label15 = gtk_label_new ("VPN Statistics"); + gtk_widget_show (label15); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook2), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook2), 0), label15); + + g_signal_connect ((gpointer) status_window, "delete_event", + G_CALLBACK (on_status_window_delete_event), + NULL); + g_signal_connect ((gpointer) status_window, "show", + G_CALLBACK (on_status_window_show), + NULL); + g_signal_connect ((gpointer) close_status_window_button, "clicked", + G_CALLBACK (on_close_status_window_button_clicked), + NULL); + + /* Store pointers to all widgets, for use by lookup_widget(). */ + GLADE_HOOKUP_OBJECT_NO_REF (status_window, status_window, "status_window"); + GLADE_HOOKUP_OBJECT (status_window, notebook2, "notebook2"); + GLADE_HOOKUP_OBJECT (status_window, vbox7, "vbox7"); + GLADE_HOOKUP_OBJECT (status_window, frame4, "frame4"); + GLADE_HOOKUP_OBJECT (status_window, trafficstats_text, "trafficstats_text"); + GLADE_HOOKUP_OBJECT (status_window, trafficstats, "trafficstats"); + GLADE_HOOKUP_OBJECT (status_window, frame5, "frame5"); + GLADE_HOOKUP_OBJECT (status_window, tunnelstats_text, "tunnelstats_text"); + GLADE_HOOKUP_OBJECT (status_window, tunnelstats, "tunnelstats"); + GLADE_HOOKUP_OBJECT (status_window, frame6, "frame6"); + GLADE_HOOKUP_OBJECT (status_window, routestats_text, "routestats_text"); + GLADE_HOOKUP_OBJECT (status_window, routestats, "routestats"); + GLADE_HOOKUP_OBJECT (status_window, hbuttonbox4, "hbuttonbox4"); + GLADE_HOOKUP_OBJECT (status_window, close_status_window_button, "close_status_window_button"); + GLADE_HOOKUP_OBJECT (status_window, label15, "label15"); + + return status_window; +} + +GtkWidget* +create_gvpn_dialer_about (void) +{ + const gchar *authors[] = { + "Stanley Kamithi, Raleigh, North Carolina", + NULL + }; + const gchar *documenters[] = { NULL }; + gchar *translators = NULL; + GtkWidget *gvpn_dialer_about; + + gvpn_dialer_about = gnome_about_new ("Gvpn_dialer", VERSION, + "2004 GPL Copyright, Stanley Kamithi", + "A GNOME2 GUI\nFor the Cisco Linux\nVPN Client", + authors, + documenters, + translators, + NULL); + gtk_container_set_border_width (GTK_CONTAINER (gvpn_dialer_about), 5); + gtk_window_set_type_hint (GTK_WINDOW (gvpn_dialer_about), GDK_WINDOW_TYPE_HINT_DIALOG); + + /* Store pointers to all widgets, for use by lookup_widget(). */ + GLADE_HOOKUP_OBJECT_NO_REF (gvpn_dialer_about, gvpn_dialer_about, "gvpn_dialer_about"); + + return gvpn_dialer_about; +} + +GtkWidget* +create_group_password (void) +{ + GtkWidget *group_password; + GtkWidget *vbox8; + GtkWidget *table4; + GtkWidget *label18; + GtkWidget *group_pw_entry; + GtkWidget *hbuttonbox5; + GtkWidget *group_pw_cancel_button; + GtkWidget *group_pw_okay_button; + GtkWidget *grouppw_warning; + GdkColor color; + + group_password = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_window_set_title (GTK_WINDOW (group_password), "Enter Group Password"); + gtk_window_set_default_size (GTK_WINDOW (group_password), 350, 101); + gtk_window_set_resizable (GTK_WINDOW (group_password), FALSE); + + vbox8 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox8); + gtk_container_add (GTK_CONTAINER (group_password), vbox8); + + table4 = gtk_table_new (1, 2, FALSE); + gtk_widget_show (table4); + gtk_box_pack_start (GTK_BOX (vbox8), table4, FALSE, FALSE, 0); + gtk_widget_set_size_request (table4, 339, 50); + gtk_container_set_border_width (GTK_CONTAINER (table4), 15); + gtk_table_set_row_spacings (GTK_TABLE (table4), 15); + gtk_table_set_col_spacings (GTK_TABLE (table4), 2); + + label18 = gtk_label_new ("Enter Group Password:"); + gtk_widget_show (label18); + gtk_table_attach (GTK_TABLE (table4), label18, 0, 1, 0, 1, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (label18), 0, 0.5); + + group_pw_entry = gtk_entry_new (); + gtk_widget_show (group_pw_entry); + gtk_table_attach (GTK_TABLE (table4), group_pw_entry, 1, 2, 0, 1, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_entry_set_max_length (GTK_ENTRY (group_pw_entry), 30); + gtk_entry_set_visibility (GTK_ENTRY (group_pw_entry), FALSE); + + hbuttonbox5 = gtk_hbutton_box_new (); + gtk_widget_show (hbuttonbox5); + gtk_box_pack_start (GTK_BOX (vbox8), hbuttonbox5, FALSE, FALSE, 6); + gtk_container_set_border_width (GTK_CONTAINER (hbuttonbox5), 9); + + group_pw_cancel_button = gtk_button_new_from_stock ("gtk-cancel"); + gtk_widget_show (group_pw_cancel_button); + gtk_container_add (GTK_CONTAINER (hbuttonbox5), group_pw_cancel_button); + GTK_WIDGET_SET_FLAGS (group_pw_cancel_button, GTK_CAN_DEFAULT); + + group_pw_okay_button = gtk_button_new_from_stock ("gtk-ok"); + gtk_widget_show (group_pw_okay_button); + gtk_container_add (GTK_CONTAINER (hbuttonbox5), group_pw_okay_button); + GTK_WIDGET_SET_FLAGS (group_pw_okay_button, GTK_CAN_DEFAULT); + + grouppw_warning = gtk_label_new (""); + gdk_color_parse("red",&color); + gtk_widget_modify_fg(GTK_WIDGET(grouppw_warning),GTK_STATE_NORMAL,&color); + + gtk_widget_show (grouppw_warning); + gtk_box_pack_start (GTK_BOX (vbox8), grouppw_warning, FALSE, FALSE, 0); + + g_signal_connect ((gpointer) group_password, "delete_event", + G_CALLBACK (on_login_window_delete_event), + NULL); + g_signal_connect ((gpointer) group_pw_entry, "activate", + G_CALLBACK (on_enter_group_password_activate), + NULL); + g_signal_connect ((gpointer) group_pw_cancel_button, "clicked", + G_CALLBACK (on_group_pw_cancel_button_clicked), + NULL); + g_signal_connect ((gpointer) group_pw_okay_button, "clicked", + G_CALLBACK (on_group_pw_submit_button_clicked), + NULL); + + /* Store pointers to all widgets, for use by lookup_widget(). */ + GLADE_HOOKUP_OBJECT_NO_REF (group_password, group_password, "group_password"); + GLADE_HOOKUP_OBJECT (group_password, vbox8, "vbox8"); + GLADE_HOOKUP_OBJECT (group_password, table4, "table4"); + GLADE_HOOKUP_OBJECT (group_password, label18, "label18"); + GLADE_HOOKUP_OBJECT (group_password, group_pw_entry, "group_pw_entry"); + GLADE_HOOKUP_OBJECT (group_password, hbuttonbox5, "hbuttonbox5"); + GLADE_HOOKUP_OBJECT (group_password, group_pw_cancel_button, "group_pw_cancel_button"); + GLADE_HOOKUP_OBJECT (group_password, group_pw_okay_button, "group_pw_okay_button"); + GLADE_HOOKUP_OBJECT (group_password, grouppw_warning, "grouppw_warning"); + + return group_password; +} |