Commit bd671642 authored by microcai's avatar microcai

update to use gtkbuilder

parent 83b2dee8
AUTOMAKE_OPTIONS = foreign #AUTOMAKE_OPTIONS = foreign
SUBDIRS = src SUBDIRS = src
......
...@@ -9,7 +9,7 @@ nm_l2tp_auth_dialog_CPPFLAGS = \ ...@@ -9,7 +9,7 @@ nm_l2tp_auth_dialog_CPPFLAGS = \
$(GCONF_CFLAGS) \ $(GCONF_CFLAGS) \
$(GNOMEKEYRING_CFLAGS) \ $(GNOMEKEYRING_CFLAGS) \
-DICONDIR=\""$(datadir)/pixmaps"\" \ -DICONDIR=\""$(datadir)/pixmaps"\" \
-DGLADEDIR=\""$(gladedir)"\" \ -DUIDIR=\""$(uidir)"\" \
-DBINDIR=\""$(bindir)"\" \ -DBINDIR=\""$(bindir)"\" \
-DG_DISABLE_DEPRECATED \ -DG_DISABLE_DEPRECATED \
-DGDK_DISABLE_DEPRECATED \ -DGDK_DISABLE_DEPRECATED \
......
...@@ -62,41 +62,19 @@ IT_PROG_INTLTOOL([0.35]) ...@@ -62,41 +62,19 @@ IT_PROG_INTLTOOL([0.35])
AM_GLIB_GNU_GETTEXT AM_GLIB_GNU_GETTEXT
PKG_CHECK_MODULES(GTHREAD, gthread-2.0) PKG_CHECK_MODULES(GTHREAD, gthread-2.0)
AC_SUBST(GTHREAD_CFLAGS)
AC_SUBST(GTHREAD_LIBS)
PKG_CHECK_MODULES(DBUS, dbus-glib-1 >= 0.74) PKG_CHECK_MODULES(DBUS, dbus-glib-1 >= 0.74)
AC_SUBST(DBUS_GLIB_CFLAGS)
AC_SUBST(DBUS_GLIB_LIBS)
PKG_CHECK_MODULES(NM_UTILS, NetworkManager >= 0.8.1 libnm-util libnm-glib libnm-glib-vpn) PKG_CHECK_MODULES(NM_UTILS, NetworkManager >= 0.8.1 libnm-util libnm-glib libnm-glib-vpn)
AC_SUBST(NM_UTILS_CFLAGS)
AC_SUBST(NM_UTILS_LIBS)
if test x"$with_gnome" != xno; then if test x"$with_gnome" != xno; then
PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.6) PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.6)
AC_SUBST(GTK_CFLAGS)
AC_SUBST(GTK_LIBS)
PKG_CHECK_MODULES(GDK_PIXBUF, gdk-pixbuf-2.0) PKG_CHECK_MODULES(GDK_PIXBUF, gdk-pixbuf-2.0)
AC_SUBST(GDK_PIXBUF_CFLAGS)
AC_SUBST(GDK_PIXBUF_LIBS)
PKG_CHECK_MODULES(GLADE, libglade-2.0)
AC_SUBST(GLADE_CFLAGS)
AC_SUBST(GLADE_LIBS)
PKG_CHECK_MODULES(GCONF, gconf-2.0) PKG_CHECK_MODULES(GCONF, gconf-2.0)
AC_SUBST(GCONF_CFLAGS)
AC_SUBST(GCONF_LIBS)
PKG_CHECK_MODULES(GNOMEKEYRING, gnome-keyring-1) PKG_CHECK_MODULES(GNOMEKEYRING, gnome-keyring-1)
AC_SUBST(GNOMEKEYRING_CFLAGS)
AC_SUBST(GNOMEKEYRING_LIBS)
fi fi
NM_COMPILER_WARNINGS
AC_CONFIG_FILES([ AC_CONFIG_FILES([
Makefile Makefile
src/Makefile src/Makefile
......
...@@ -9,18 +9,17 @@ libnm_l2tp_properties_la_SOURCES = \ ...@@ -9,18 +9,17 @@ libnm_l2tp_properties_la_SOURCES = \
import-export.c \ import-export.c \
import-export.h import-export.h
gladedir = $(datadir)/gnome-vpn-properties/l2tp uidir = $(datadir)/gnome-vpn-properties/l2tp
glade_DATA = nm-l2tp-dialog.glade ui_DATA = nm-l2tp-dialog.ui
libnm_l2tp_properties_la_CFLAGS = \ libnm_l2tp_properties_la_CFLAGS = \
$(GLADE_CFLAGS) \
$(GTK_CFLAGS) \ $(GTK_CFLAGS) \
$(GCONF_CFLAGS) \ $(GCONF_CFLAGS) \
$(LIBGNOMEUI_CFLAGS) \ $(LIBGNOMEUI_CFLAGS) \
$(GNOMEKEYRING_CFLAGS) \ $(GNOMEKEYRING_CFLAGS) \
$(NM_UTILS_CFLAGS) \ $(NM_UTILS_CFLAGS) \
-DICONDIR=\""$(datadir)/pixmaps"\" \ -DICONDIR=\""$(datadir)/pixmaps"\" \
-DGLADEDIR=\""$(gladedir)"\" \ -DUIDIR=\""$(uidir)"\" \
-DG_DISABLE_DEPRECATED \ -DG_DISABLE_DEPRECATED \
-DGDK_DISABLE_DEPRECATED \ -DGDK_DISABLE_DEPRECATED \
-DGNOME_DISABLE_DEPRECATED \ -DGNOME_DISABLE_DEPRECATED \
...@@ -28,7 +27,6 @@ libnm_l2tp_properties_la_CFLAGS = \ ...@@ -28,7 +27,6 @@ libnm_l2tp_properties_la_CFLAGS = \
-DVERSION=\"$(VERSION)\" -DVERSION=\"$(VERSION)\"
libnm_l2tp_properties_la_LIBADD = \ libnm_l2tp_properties_la_LIBADD = \
$(GLADE_LIBS) \
$(GTK_LIBS) \ $(GTK_LIBS) \
$(GCONF_LIBS) \ $(GCONF_LIBS) \
$(LIBGNOMEUI_LIBS) \ $(LIBGNOMEUI_LIBS) \
...@@ -38,7 +36,7 @@ libnm_l2tp_properties_la_LIBADD = \ ...@@ -38,7 +36,7 @@ libnm_l2tp_properties_la_LIBADD = \
libnm_l2tp_properties_la_LDFLAGS = \ libnm_l2tp_properties_la_LDFLAGS = \
-avoid-version -avoid-version
CLEANFILES = *.bak *.gladep *~ CLEANFILES = *.bak *~
EXTRA_DIST = \ EXTRA_DIST = \
$(glade_DATA) $(ui_DATA)
...@@ -33,7 +33,6 @@ ...@@ -33,7 +33,6 @@
#include <glib.h> #include <glib.h>
#include <glib/gi18n-lib.h> #include <glib/gi18n-lib.h>
#include <glade/glade.h>
#include <nm-connection.h> #include <nm-connection.h>
#include <nm-setting-vpn.h> #include <nm-setting-vpn.h>
...@@ -101,7 +100,7 @@ advanced_dialog_new_hash_from_connection (NMConnection *connection, ...@@ -101,7 +100,7 @@ advanced_dialog_new_hash_from_connection (NMConnection *connection,
} }
static void static void
handle_mppe_changed (GtkWidget *check, gboolean is_init, GladeXML *xml) handle_mppe_changed (GtkWidget *check, gboolean is_init, GtkBuilder *builder)
{ {
GtkWidget *widget; GtkWidget *widget;
gboolean use_mppe; gboolean use_mppe;
...@@ -122,7 +121,7 @@ handle_mppe_changed (GtkWidget *check, gboolean is_init, GladeXML *xml) ...@@ -122,7 +121,7 @@ handle_mppe_changed (GtkWidget *check, gboolean is_init, GladeXML *xml)
/* If MPPE is active, PAP, CHAP, and EAP aren't allowed by the MPPE specs; /* If MPPE is active, PAP, CHAP, and EAP aren't allowed by the MPPE specs;
* likewise, if MPPE is inactive, sensitize the PAP, CHAP, and EAP checkboxes. * likewise, if MPPE is inactive, sensitize the PAP, CHAP, and EAP checkboxes.
*/ */
widget = glade_xml_get_widget (xml, "ppp_auth_methods"); widget = GTK_WIDGET (gtk_builder_get_object (builder, "ppp_auth_methods"));
model = gtk_tree_view_get_model (GTK_TREE_VIEW (widget)); model = gtk_tree_view_get_model (GTK_TREE_VIEW (widget));
valid = gtk_tree_model_get_iter_first (model, &iter); valid = gtk_tree_model_get_iter_first (model, &iter);
while (valid) { while (valid) {
...@@ -143,15 +142,15 @@ handle_mppe_changed (GtkWidget *check, gboolean is_init, GladeXML *xml) ...@@ -143,15 +142,15 @@ handle_mppe_changed (GtkWidget *check, gboolean is_init, GladeXML *xml)
valid = gtk_tree_model_iter_next (model, &iter); valid = gtk_tree_model_iter_next (model, &iter);
} }
widget = glade_xml_get_widget (xml, "ppp_mppe_security_label"); widget = GTK_WIDGET (gtk_builder_get_object (builder, "ppp_mppe_security_label"));
gtk_widget_set_sensitive (widget, use_mppe); gtk_widget_set_sensitive (widget, use_mppe);
widget = glade_xml_get_widget (xml, "ppp_mppe_security_combo"); widget = GTK_WIDGET (gtk_builder_get_object (builder, "ppp_mppe_security_combo"));
if (!use_mppe) if (!use_mppe)
gtk_combo_box_set_active (GTK_COMBO_BOX (widget), 0); /* default */ gtk_combo_box_set_active (GTK_COMBO_BOX (widget), 0); /* default */
gtk_widget_set_sensitive (widget, use_mppe); gtk_widget_set_sensitive (widget, use_mppe);
widget = glade_xml_get_widget (xml, "ppp_allow_stateful_mppe"); widget = GTK_WIDGET (gtk_builder_get_object (builder, "ppp_allow_stateful_mppe"));
if (!use_mppe) if (!use_mppe)
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), FALSE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), FALSE);
gtk_widget_set_sensitive (widget, use_mppe); gtk_widget_set_sensitive (widget, use_mppe);
...@@ -160,7 +159,7 @@ handle_mppe_changed (GtkWidget *check, gboolean is_init, GladeXML *xml) ...@@ -160,7 +159,7 @@ handle_mppe_changed (GtkWidget *check, gboolean is_init, GladeXML *xml)
static void static void
mppe_toggled_cb (GtkWidget *check, gpointer user_data) mppe_toggled_cb (GtkWidget *check, gpointer user_data)
{ {
handle_mppe_changed (check, FALSE, (GladeXML *) user_data); handle_mppe_changed (check, FALSE, (GtkBuilder *) user_data);
} }
#define SEC_INDEX_DEFAULT 0 #define SEC_INDEX_DEFAULT 0
...@@ -168,7 +167,7 @@ mppe_toggled_cb (GtkWidget *check, gpointer user_data) ...@@ -168,7 +167,7 @@ mppe_toggled_cb (GtkWidget *check, gpointer user_data)
#define SEC_INDEX_MPPE_40 2 #define SEC_INDEX_MPPE_40 2
static void static void
setup_security_combo (GladeXML *xml, GHashTable *hash) setup_security_combo (GtkBuilder *builder, GHashTable *hash)
{ {
GtkWidget *widget; GtkWidget *widget;
GtkListStore *store; GtkListStore *store;
...@@ -176,10 +175,10 @@ setup_security_combo (GladeXML *xml, GHashTable *hash) ...@@ -176,10 +175,10 @@ setup_security_combo (GladeXML *xml, GHashTable *hash)
int active = -1; int active = -1;
const char *value; const char *value;
g_return_if_fail (xml != NULL); g_return_if_fail (builder != NULL);
g_return_if_fail (hash != NULL); g_return_if_fail (hash != NULL);
widget = glade_xml_get_widget (xml, "ppp_mppe_security_combo"); widget = GTK_WIDGET (gtk_builder_get_object (builder, "ppp_mppe_security_combo"));
store = gtk_list_store_new (1, G_TYPE_STRING); store = gtk_list_store_new (1, G_TYPE_STRING);
...@@ -213,7 +212,7 @@ setup_security_combo (GladeXML *xml, GHashTable *hash) ...@@ -213,7 +212,7 @@ setup_security_combo (GladeXML *xml, GHashTable *hash)
static void static void
check_toggled_cb (GtkCellRendererToggle *cell, gchar *path_str, gpointer user_data) check_toggled_cb (GtkCellRendererToggle *cell, gchar *path_str, gpointer user_data)
{ {
GladeXML *xml = GLADE_XML (user_data); GtkBuilder *builder = (GtkBuilder *) user_data;
GtkWidget *widget; GtkWidget *widget;
GtkTreePath *path = gtk_tree_path_new_from_string (path_str); GtkTreePath *path = gtk_tree_path_new_from_string (path_str);
GtkTreeModel *model; GtkTreeModel *model;
...@@ -223,7 +222,7 @@ check_toggled_cb (GtkCellRendererToggle *cell, gchar *path_str, gpointer user_da ...@@ -223,7 +222,7 @@ check_toggled_cb (GtkCellRendererToggle *cell, gchar *path_str, gpointer user_da
gboolean mschap_state = TRUE; gboolean mschap_state = TRUE;
gboolean mschap2_state = TRUE; gboolean mschap2_state = TRUE;
widget = glade_xml_get_widget (xml, "ppp_auth_methods"); widget = GTK_WIDGET (gtk_builder_get_object (builder, "ppp_auth_methods"));
model = gtk_tree_view_get_model (GTK_TREE_VIEW (widget)); model = gtk_tree_view_get_model (GTK_TREE_VIEW (widget));
gtk_tree_model_get_iter (model, &iter, path); gtk_tree_model_get_iter (model, &iter, path);
...@@ -256,7 +255,7 @@ check_toggled_cb (GtkCellRendererToggle *cell, gchar *path_str, gpointer user_da ...@@ -256,7 +255,7 @@ check_toggled_cb (GtkCellRendererToggle *cell, gchar *path_str, gpointer user_da
valid = gtk_tree_model_iter_next (model, &iter); valid = gtk_tree_model_iter_next (model, &iter);
} }
widget = glade_xml_get_widget (xml, "ppp_use_mppe"); widget = GTK_WIDGET (gtk_builder_get_object (builder, "ppp_use_mppe"));\
if (!mschap_state && !mschap2_state) { if (!mschap_state && !mschap2_state) {
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), FALSE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), FALSE);
gtk_widget_set_sensitive (widget, FALSE); gtk_widget_set_sensitive (widget, FALSE);
...@@ -265,7 +264,7 @@ check_toggled_cb (GtkCellRendererToggle *cell, gchar *path_str, gpointer user_da ...@@ -265,7 +264,7 @@ check_toggled_cb (GtkCellRendererToggle *cell, gchar *path_str, gpointer user_da
} }
static void static void
auth_methods_setup (GladeXML *xml, GHashTable *hash) auth_methods_setup (GtkBuilder *builder, GHashTable *hash)
{ {
GtkWidget *widget; GtkWidget *widget;
GtkListStore *store; GtkListStore *store;
...@@ -361,11 +360,11 @@ auth_methods_setup (GladeXML *xml, GHashTable *hash) ...@@ -361,11 +360,11 @@ auth_methods_setup (GladeXML *xml, GHashTable *hash)
-1); -1);
/* Set up the tree view */ /* Set up the tree view */
widget = glade_xml_get_widget (xml, "ppp_auth_methods"); widget = GTK_WIDGET (gtk_builder_get_object (builder, "ppp_auth_methods"));
gtk_tree_view_set_model (GTK_TREE_VIEW (widget), GTK_TREE_MODEL (store)); gtk_tree_view_set_model (GTK_TREE_VIEW (widget), GTK_TREE_MODEL (store));
check_renderer = GTK_CELL_RENDERER_TOGGLE (gtk_cell_renderer_toggle_new ()); check_renderer = GTK_CELL_RENDERER_TOGGLE (gtk_cell_renderer_toggle_new ());
g_signal_connect (check_renderer, "toggled", G_CALLBACK (check_toggled_cb), xml); g_signal_connect (check_renderer, "toggled", G_CALLBACK (check_toggled_cb), builder);
offset = gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (widget), offset = gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (widget),
-1, "", GTK_CELL_RENDERER (check_renderer), -1, "", GTK_CELL_RENDERER (check_renderer),
...@@ -388,7 +387,7 @@ auth_methods_setup (GladeXML *xml, GHashTable *hash) ...@@ -388,7 +387,7 @@ auth_methods_setup (GladeXML *xml, GHashTable *hash)
gtk_tree_view_column_set_expand (GTK_TREE_VIEW_COLUMN (column), TRUE); gtk_tree_view_column_set_expand (GTK_TREE_VIEW_COLUMN (column), TRUE);
/* Make sure MPPE is non-sensitive if MSCHAP and MSCHAPv2 are disabled */ /* Make sure MPPE is non-sensitive if MSCHAP and MSCHAPv2 are disabled */
widget = glade_xml_get_widget (xml, "ppp_use_mppe"); widget = GTK_WIDGET (gtk_builder_get_object (builder, "ppp_use_mppe"));
if (!mschap_state && !mschap2_state) { if (!mschap_state && !mschap2_state) {
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), FALSE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), FALSE);
gtk_widget_set_sensitive (widget, FALSE); gtk_widget_set_sensitive (widget, FALSE);
...@@ -399,31 +398,40 @@ auth_methods_setup (GladeXML *xml, GHashTable *hash) ...@@ -399,31 +398,40 @@ auth_methods_setup (GladeXML *xml, GHashTable *hash)
GtkWidget * GtkWidget *
advanced_dialog_new (GHashTable *hash) advanced_dialog_new (GHashTable *hash)
{ {
GladeXML *xml; GtkBuilder *builder;
GtkWidget *dialog = NULL; GtkWidget *dialog = NULL;
char *glade_file = NULL; char *ui_file = NULL;
GtkWidget *widget; GtkWidget *widget;
const char *value; const char *value;
gboolean mppe = FALSE; gboolean mppe = FALSE;
GError *error = NULL;
g_return_val_if_fail (hash != NULL, NULL); g_return_val_if_fail (hash != NULL, NULL);
glade_file = g_strdup_printf ("%s/%s", GLADEDIR, "nm-l2tp-dialog.glade"); ui_file = g_strdup_printf ("%s/%s", UIDIR, "nm-l2tp-dialog.ui");
xml = glade_xml_new (glade_file, "l2tp-advanced-dialog", GETTEXT_PACKAGE); builder = gtk_builder_new ();
if (xml == NULL)
if (!gtk_builder_add_from_file(builder, ui_file, &error)) {
g_warning("Couldn't load builder file: %s", error ? error->message
: "(unknown)");
g_clear_error(&error);
g_object_unref(G_OBJECT(builder));
goto out; goto out;
}
gtk_builder_set_translation_domain(builder, GETTEXT_PACKAGE);
dialog = glade_xml_get_widget (xml, "l2tp-advanced-dialog");
dialog = GTK_WIDGET (gtk_builder_get_object (builder, "l2tp-advanced-dialog"));
if (!dialog) { if (!dialog) {
g_object_unref (G_OBJECT (xml)); g_object_unref (G_OBJECT (builder));
goto out; goto out;
} }
gtk_window_set_modal (GTK_WINDOW (dialog), TRUE); gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
g_object_set_data_full (G_OBJECT (dialog), "glade-xml", g_object_set_data_full (G_OBJECT (dialog), "gtkbuilder-xml",
xml, (GDestroyNotify) g_object_unref); builder, (GDestroyNotify) g_object_unref);
setup_security_combo (xml, hash); setup_security_combo (builder, hash);
value = g_hash_table_lookup (hash, NM_L2TP_KEY_REQUIRE_MPPE); value = g_hash_table_lookup (hash, NM_L2TP_KEY_REQUIRE_MPPE);
if (value && !strcmp (value, "yes")) if (value && !strcmp (value, "yes"))
...@@ -437,45 +445,45 @@ advanced_dialog_new (GHashTable *hash) ...@@ -437,45 +445,45 @@ advanced_dialog_new (GHashTable *hash)
if (value && !strcmp (value, "yes")) if (value && !strcmp (value, "yes"))
mppe = TRUE; mppe = TRUE;
widget = glade_xml_get_widget (xml, "ppp_use_mppe"); widget = GTK_WIDGET (gtk_builder_get_object (builder, "ppp_use_mppe"));
if (mppe) if (mppe)
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE);
widget = glade_xml_get_widget (xml, "ppp_allow_stateful_mppe"); widget = GTK_WIDGET (gtk_builder_get_object (builder, "ppp_allow_stateful_mppe"));
value = g_hash_table_lookup (hash, NM_L2TP_KEY_MPPE_STATEFUL); value = g_hash_table_lookup (hash, NM_L2TP_KEY_MPPE_STATEFUL);
if (value && !strcmp (value, "yes")) if (value && !strcmp (value, "yes"))
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE);
widget = glade_xml_get_widget (xml, "ppp_allow_bsdcomp"); widget = GTK_WIDGET (gtk_builder_get_object (builder, "ppp_allow_bsdcomp"));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE);
value = g_hash_table_lookup (hash, NM_L2TP_KEY_NOBSDCOMP); value = g_hash_table_lookup (hash, NM_L2TP_KEY_NOBSDCOMP);
if (value && !strcmp (value, "yes")) if (value && !strcmp (value, "yes"))
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), FALSE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), FALSE);
widget = glade_xml_get_widget (xml, "ppp_allow_deflate"); widget = GTK_WIDGET (gtk_builder_get_object (builder, "ppp_allow_deflate"));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE);
value = g_hash_table_lookup (hash, NM_L2TP_KEY_NODEFLATE); value = g_hash_table_lookup (hash, NM_L2TP_KEY_NODEFLATE);
if (value && !strcmp (value, "yes")) if (value && !strcmp (value, "yes"))
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), FALSE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), FALSE);
widget = glade_xml_get_widget (xml, "ppp_usevj"); widget = GTK_WIDGET (gtk_builder_get_object (builder, "ppp_usevj"));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE);
value = g_hash_table_lookup (hash, NM_L2TP_KEY_NO_VJ_COMP); value = g_hash_table_lookup (hash, NM_L2TP_KEY_NO_VJ_COMP);
if (value && !strcmp (value, "yes")) if (value && !strcmp (value, "yes"))
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), FALSE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), FALSE);
widget = glade_xml_get_widget (xml, "ppp_usepcomp"); widget = GTK_WIDGET (gtk_builder_get_object (builder,"ppp_usepcomp"));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE);
value = g_hash_table_lookup (hash, NM_L2TP_KEY_NO_PCOMP); value = g_hash_table_lookup (hash, NM_L2TP_KEY_NO_PCOMP);
if (value && !strcmp (value, "yes")) if (value && !strcmp (value, "yes"))
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), FALSE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), FALSE);
widget = glade_xml_get_widget (xml, "ppp_useaccomp"); widget = GTK_WIDGET (gtk_builder_get_object (builder, "ppp_useaccomp"));
value = g_hash_table_lookup (hash, NM_L2TP_KEY_USE_ACCOMP); value = g_hash_table_lookup (hash, NM_L2TP_KEY_USE_ACCOMP);
if (value && !strcmp (value, "yes")) if (value && !strcmp (value, "yes"))
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE);
widget = glade_xml_get_widget (xml, "ppp_send_echo_packets"); widget = GTK_WIDGET (gtk_builder_get_object (builder, "ppp_send_echo_packets"));
value = g_hash_table_lookup (hash, NM_L2TP_KEY_LCP_ECHO_INTERVAL); value = g_hash_table_lookup (hash, NM_L2TP_KEY_LCP_ECHO_INTERVAL);
if (value && strlen (value)) { if (value && strlen (value)) {
long int tmp_int; long int tmp_int;
...@@ -486,14 +494,14 @@ advanced_dialog_new (GHashTable *hash) ...@@ -486,14 +494,14 @@ advanced_dialog_new (GHashTable *hash)
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE);
} }
auth_methods_setup (xml, hash); auth_methods_setup (builder, hash);
widget = glade_xml_get_widget (xml, "ppp_use_mppe"); widget = GTK_WIDGET (gtk_builder_get_object (builder,"ppp_use_mppe"));
handle_mppe_changed (widget, TRUE, xml); handle_mppe_changed (widget, TRUE, builder);
g_signal_connect (G_OBJECT (widget), "toggled", G_CALLBACK (mppe_toggled_cb), xml); g_signal_connect (G_OBJECT (widget), "toggled", G_CALLBACK (mppe_toggled_cb), builder);
out: out:
g_free (glade_file); g_free (ui_file);
return dialog; return dialog;
} }
...@@ -502,7 +510,7 @@ advanced_dialog_new_hash_from_dialog (GtkWidget *dialog, GError **error) ...@@ -502,7 +510,7 @@ advanced_dialog_new_hash_from_dialog (GtkWidget *dialog, GError **error)
{ {
GHashTable *hash; GHashTable *hash;
GtkWidget *widget; GtkWidget *widget;
GladeXML *xml; GtkBuilder *builder;
GtkTreeModel *model; GtkTreeModel *model;
GtkTreeIter iter; GtkTreeIter iter;
gboolean valid; gboolean valid;
...@@ -511,15 +519,16 @@ advanced_dialog_new_hash_from_dialog (GtkWidget *dialog, GError **error) ...@@ -511,15 +519,16 @@ advanced_dialog_new_hash_from_dialog (GtkWidget *dialog, GError **error)
if (error) if (error)
g_return_val_if_fail (*error == NULL, NULL); g_return_val_if_fail (*error == NULL, NULL);
xml = g_object_get_data (G_OBJECT (dialog), "glade-xml"); builder = g_object_get_data (G_OBJECT (dialog), "gtkbuilder-xml");
g_return_val_if_fail (xml != NULL, NULL); g_return_val_if_fail (builder != NULL, NULL);
hash = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free); hash = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free);
widget = glade_xml_get_widget (xml, "ppp_use_mppe"); widget = GTK_WIDGET (gtk_builder_get_object (builder, "ppp_use_mppe"));
if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))) { if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))) {
widget = glade_xml_get_widget (xml, "ppp_mppe_security_combo"); widget = GTK_WIDGET (gtk_builder_get_object (builder, "ppp_mppe_security_combo"));
switch (gtk_combo_box_get_active (GTK_COMBO_BOX (widget))) { switch (gtk_combo_box_get_active (GTK_COMBO_BOX (widget))) {
case SEC_INDEX_MPPE_128: case SEC_INDEX_MPPE_128:
g_hash_table_insert (hash, g_strdup (NM_L2TP_KEY_REQUIRE_MPPE_128), g_strdup ("yes")); g_hash_table_insert (hash, g_strdup (NM_L2TP_KEY_REQUIRE_MPPE_128), g_strdup ("yes"));
...@@ -532,38 +541,38 @@ advanced_dialog_new_hash_from_dialog (GtkWidget *dialog, GError **error) ...@@ -532,38 +541,38 @@ advanced_dialog_new_hash_from_dialog (GtkWidget *dialog, GError **error)
break; break;
} }
widget = glade_xml_get_widget (xml, "ppp_allow_stateful_mppe"); widget = GTK_WIDGET (gtk_builder_get_object (builder, "ppp_allow_stateful_mppe"));
if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))) if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)))
g_hash_table_insert (hash, g_strdup (NM_L2TP_KEY_MPPE_STATEFUL), g_strdup ("yes")); g_hash_table_insert (hash, g_strdup (NM_L2TP_KEY_MPPE_STATEFUL), g_strdup ("yes"));
} }
widget = glade_xml_get_widget (xml, "ppp_allow_bsdcomp"); widget = GTK_WIDGET (gtk_builder_get_object (builder, "ppp_allow_bsdcomp"));
if (!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))) if (!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)))
g_hash_table_insert (hash, g_strdup (NM_L2TP_KEY_NOBSDCOMP), g_strdup ("yes")); g_hash_table_insert (hash, g_strdup (NM_L2TP_KEY_NOBSDCOMP), g_strdup ("yes"));
widget = glade_xml_get_widget (xml, "ppp_allow_deflate"); widget = GTK_WIDGET (gtk_builder_get_object (builder, "ppp_allow_deflate"));
if (!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))) if (!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)))
g_hash_table_insert (hash, g_strdup (NM_L2TP_KEY_NODEFLATE), g_strdup ("yes")); g_hash_table_insert (hash, g_strdup (NM_L2TP_KEY_NODEFLATE), g_strdup ("yes"));
widget = glade_xml_get_widget (xml, "ppp_usevj"); widget = GTK_WIDGET (gtk_builder_get_object (builder, "ppp_usevj"));
if (!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))) if (!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)))
g_hash_table_insert (hash, g_strdup (NM_L2TP_KEY_NO_VJ_COMP), g_strdup ("yes")); g_hash_table_insert (hash, g_strdup (NM_L2TP_KEY_NO_VJ_COMP), g_strdup ("yes"));
widget = glade_xml_get_widget (xml, "ppp_usepcomp"); widget = GTK_WIDGET (gtk_builder_get_object (builder,"ppp_usepcomp"));
if (!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))) if (!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)))
g_hash_table_insert (hash, g_strdup (NM_L2TP_KEY_NO_PCOMP), g_strdup ("yes")); g_hash_table_insert (hash, g_strdup (NM_L2TP_KEY_NO_PCOMP), g_strdup ("yes"));
widget = glade_xml_get_widget (xml, "ppp_useaccomp"); widget = GTK_WIDGET (gtk_builder_get_object (builder, "ppp_useaccomp"));
if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))) if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)))
g_hash_table_insert (hash, g_strdup (NM_L2TP_KEY_USE_ACCOMP), g_strdup ("yes")); g_hash_table_insert (hash, g_strdup (NM_L2TP_KEY_USE_ACCOMP), g_strdup ("yes"));
widget = glade_xml_get_widget (xml, "ppp_send_echo_packets"); widget = GTK_WIDGET (gtk_builder_get_object (builder, "ppp_send_echo_packets"));
if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))) { if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))) {
g_hash_table_insert (hash, g_strdup (NM_L2TP_KEY_LCP_ECHO_FAILURE), g_strdup_printf ("%d", 5)); g_hash_table_insert (hash, g_strdup (NM_L2TP_KEY_LCP_ECHO_FAILURE), g_strdup_printf ("%d", 5));
g_hash_table_insert (hash, g_strdup (NM_L2TP_KEY_LCP_ECHO_INTERVAL), g_strdup_printf ("%d", 30)); g_hash_table_insert (hash, g_strdup (NM_L2TP_KEY_LCP_ECHO_INTERVAL), g_strdup_printf ("%d", 30));
} }
widget = glade_xml_get_widget (xml, "ppp_auth_methods"); widget = GTK_WIDGET (gtk_builder_get_object (builder, "ppp_auth_methods"));
model = gtk_tree_view_get_model (GTK_TREE_VIEW (widget)); model = gtk_tree_view_get_model (GTK_TREE_VIEW (widget));
valid = gtk_tree_model_get_iter_first (model, &iter); valid = gtk_tree_model_get_iter_first (model, &iter);
while (valid) { while (valid) {
......
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0"?>
<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
<!--Generated with glade3 3.4.4 on Sun Oct 12 10:59:11 2008 --> <!--Generated with glade3 3.4.4 on Sun Oct 12 10:59:11 2008 -->
<glade-interface> <interface>
<widget class="GtkWindow" id="l2tp-widget"> <object class="GtkListStore" id="model1">
<columns>
<column type="gchararray"/>
</columns>
<data>
<row>
<col id="0" translatable="yes">Default</col>
</row>
</data>
</object>
<object class="GtkWindow" id="l2tp-widget">
<property name="title" translatable="yes">window1</property> <property name="title" translatable="yes">window1</property>
<child> <child>
<widget class="GtkVBox" id="l2tp-vbox"> <object class="GtkVBox" id="l2tp-vbox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="border_width">12</property> <property name="border_width">12</property>
<property name="spacing">16</property> <property name="spacing">16</property>
<child> <child>
<widget class="GtkVBox" id="vbox8"> <object class="GtkVBox" id="vbox8">
<property name="visible">True</property> <property name="visible">True</property>
<property name="spacing">6</property> <property name="spacing">6</property>
<child> <child>
<widget class="GtkLabel" id="label22"> <object class="GtkLabel" id="label22">
<property name="visible">True</property> <property name="visible">True</property>
<property name="xalign">0</property> <property name="xalign">0</property>
<property name="label" translatable="yes">&lt;b&gt;General&lt;/b&gt;</property> <property name="label" translatable="yes">&lt;b&gt;General&lt;/b&gt;</property>
<property name="use_markup">True</property> <property name="use_markup">True</property>
</widget> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">False</property> <property name="fill">False</property>
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkAlignment" id="alignment8"> <object class="GtkAlignment" id="alignment8">
<property name="visible">True</property> <property name="visible">True</property>
<property name="left_padding">12</property> <property name="left_padding">12</property>
<child> <child>
<widget class="GtkTable" id="table2"> <object class="GtkTable" id="table2">
<property name="visible">True</property> <property name="visible">True</property>
<property name="n_columns">2</property> <property name="n_columns">2</property>
<property name="column_spacing">12</property> <property name="column_spacing">12</property>
<property name="row_spacing">6</property> <property name="row_spacing">6</property>
<child> <child>
<widget class="GtkEntry" id="gateway_entry"> <object class="GtkEntry" id="gateway_entry">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
</widget> </object>
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
<property name="right_attach">2</property> <property name="right_attach">2</property>
<property name="y_options"></property> <property name="y_options"/>
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkLabel" id="label23"> <object class="GtkLabel" id="label23">
<property name="visible">True</property> <property name="visible">True</property>
<property name="xalign">0</property> <property name="xalign">0</property>
<property name="label" translatable="yes">_Gateway:</property> <property name="label" translatable="yes">_Gateway:</property>
<property name="use_underline">True</property> <property name="use_underline">True</property>
<property name="mnemonic_widget">gateway_entry</property> <property name="mnemonic_widget">gateway_entry</property>
</widget> </object>
<packing> <packing>
<property name="x_options">GTK_SHRINK | GTK_FILL</property> <property name="x_options">GTK_SHRINK | GTK_FILL</property>
<property name="y_options"></property> <property name="y_options"/>
</packing> </packing>
</child> </child>
</widget> </object>
</child> </child>
</widget> </object>
<packing> <packing>
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
</widget> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkVBox" id="vbox11"> <object class="GtkVBox" id="vbox11">
<property name="visible">True</property> <property name="visible">True</property>
<property name="spacing">6</property> <property name="spacing">6</property>
<child> <child>
<widget class="GtkLabel" id="label25"> <object class="GtkLabel" id="label25">
<property name="visible">True</property> <property name="visible">True</property>
<property name="xalign">0</property> <property name="xalign">0</property>
<property name="label" translatable="yes">&lt;b&gt;Optional&lt;/b&gt;</property> <property name="label" translatable="yes">&lt;b&gt;Optional&lt;/b&gt;</property>
<property name="use_markup">True</property> <property name="use_markup">True</property>
</widget> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">False</property> <property name="fill">False</property>
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkAlignment" id="alignment9"> <object class="GtkAlignment" id="alignment9">
<property name="visible">True</property> <property name="visible">True</property>
<property name="left_padding">12</property> <property name="left_padding">12</property>
<child> <child>
<widget class="GtkTable" id="table3"> <object class="GtkTable" id="table3">
<property name="visible">True</property> <property name="visible">True</property>
<property name="n_rows">4</property> <property name="n_rows">4</property>
<property name="n_columns">2</property> <property name="n_columns">2</property>
...@@ -102,104 +111,103 @@ ...@@ -102,104 +111,103 @@
<placeholder/> <placeholder/>
</child> </child>
<child> <child>
<widget class="GtkEntry" id="domain_entry"> <object class="GtkEntry" id="domain_entry">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
</widget> </object>
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
<property name="right_attach">2</property> <property name="right_attach">2</property>
<property name="top_attach">3</property> <property name="top_attach">3</property>
<property name="bottom_attach">4</property> <property name="bottom_attach">4</property>
<property name="y_options"></property> <property name="y_options"/>
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkLabel" id="label27"> <object class="GtkLabel" id="label27">
<property name="visible">True</property> <property name="visible">True</property>
<property name="xalign">0</property> <property name="xalign">0</property>
<property name="label" translatable="yes">NT Domain:</property> <property name="label" translatable="yes">NT Domain:</property>
</widget> </object>
<packing> <packing>
<property name="top_attach">3</property> <property name="top_attach">3</property>
<property name="bottom_attach">4</property> <property name="bottom_attach">4</property>
<property name="x_options">GTK_SHRINK | GTK_FILL</property> <property name="x_options">GTK_SHRINK | GTK_FILL</property>
<property name="y_options"></property> <property name="y_options"/>
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkCheckButton" id="show_passwords_checkbutton"> <object class="GtkCheckButton" id="show_passwords_checkbutton">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="label" translatable="yes">Show password</property> <property name="label" translatable="yes">Show password</property>
<property name="response_id">0</property>
<property name="draw_indicator">True</property> <property name="draw_indicator">True</property>
</widget> </object>
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
<property name="right_attach">2</property> <property name="right_attach">2</property>
<property name="top_attach">2</property> <property name="top_attach">2</property>
<property name="bottom_attach">3</property> <property name="bottom_attach">3</property>
<property name="y_options"></property> <property name="y_options"/>
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkEntry" id="user_password_entry"> <object class="GtkEntry" id="user_password_entry">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="visibility">False</property> <property name="visibility">False</property>
</widget> </object>
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
<property name="right_attach">2</property> <property name="right_attach">2</property>
<property name="top_attach">1</property> <property name="top_attach">1</property>
<property name="bottom_attach">2</property> <property name="bottom_attach">2</property>
<property name="y_options"></property> <property name="y_options"/>
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkLabel" id="label2"> <object class="GtkLabel" id="label2">
<property name="visible">True</property> <property name="visible">True</property>
<property name="xalign">0</property> <property name="xalign">0</property>
<property name="label" translatable="yes">Password:</property> <property name="label" translatable="yes">Password:</property>
</widget> </object>
<packing> <packing>
<property name="top_attach">1</property> <property name="top_attach">1</property>
<property name="bottom_attach">2</property> <property name="bottom_attach">2</property>
<property name="x_options">GTK_SHRINK | GTK_FILL</property> <property name="x_options">GTK_SHRINK | GTK_FILL</property>
<property name="y_options"></property> <property name="y_options"/>
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkEntry" id="user_entry"> <object class="GtkEntry" id="user_entry">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
</widget> </object>
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
<property name="right_attach">2</property> <property name="right_attach">2</property>
<property name="y_options"></property> <property name="y_options"/>
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkLabel" id="label26"> <object class="GtkLabel" id="label26">
<property name="visible">True</property> <property name="visible">True</property>
<property name="xalign">0</property> <property name="xalign">0</property>
<property name="label" translatable="yes">User name:</property> <property name="label" translatable="yes">User name:</property>
</widget> </object>
<packing> <packing>
<property name="x_options">GTK_SHRINK | GTK_FILL</property> <property name="x_options">GTK_SHRINK | GTK_FILL</property>
<property name="y_options"></property> <property name="y_options"/>
</packing> </packing>
</child> </child>
</widget> </object>
</child> </child>
</widget> </object>
<packing> <packing>
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
</widget> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">False</property> <property name="fill">False</property>
...@@ -207,47 +215,46 @@ ...@@ -207,47 +215,46 @@
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkAlignment" id="alignment1"> <object class="GtkAlignment" id="alignment1">
<property name="visible">True</property> <property name="visible">True</property>
<property name="xalign">1</property> <property name="xalign">1</property>
<property name="xscale">0</property> <property name="xscale">0</property>
<child> <child>
<widget class="GtkButton" id="advanced_button"> <object class="GtkButton" id="advanced_button">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="response_id">0</property>
<child> <child>
<widget class="GtkHBox" id="hbox2"> <object class="GtkHBox" id="hbox2">
<property name="visible">True</property> <property name="visible">True</property>
<property name="spacing">6</property> <property name="spacing">6</property>
<child> <child>
<widget class="GtkImage" id="image1"> <object class="GtkImage" id="image1">
<property name="visible">True</property> <property name="visible">True</property>
<property name="stock">gtk-preferences</property> <property name="stock">gtk-preferences</property>
</widget> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">False</property> <property name="fill">False</property>
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkLabel" id="label1"> <object class="GtkLabel" id="label1">
<property name="visible">True</property> <property name="visible">True</property>
<property name="label" translatable="yes">Ad_vanced...</property> <property name="label" translatable="yes">Ad_vanced...</property>
<property name="use_markup">True</property> <property name="use_markup">True</property>
<property name="use_underline">True</property> <property name="use_underline">True</property>
</widget> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">False</property> <property name="fill">False</property>
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
</widget> </object>
</child> </child>
</widget> </object>
</child> </child>
</widget> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">False</property> <property name="fill">False</property>
...@@ -255,10 +262,10 @@ ...@@ -255,10 +262,10 @@
<property name="position">2</property> <property name="position">2</property>
</packing> </packing>
</child> </child>
</widget> </object>
</child> </child>
</widget> </object>
<widget class="GtkDialog" id="l2tp-advanced-dialog"> <object class="GtkDialog" id="l2tp-advanced-dialog">
<property name="border_width">5</property> <property name="border_width">5</property>
<property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property> <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
<property name="title" translatable="yes">L2TP Advanced Options</property> <property name="title" translatable="yes">L2TP Advanced Options</property>
...@@ -268,193 +275,196 @@ ...@@ -268,193 +275,196 @@
<property name="skip_pager_hint">True</property> <property name="skip_pager_hint">True</property>
<property name="has_separator">False</property> <property name="has_separator">False</property>
<child internal-child="vbox"> <child internal-child="vbox">
<widget class="GtkVBox" id="dialog-vbox3"> <object class="GtkVBox" id="dialog-vbox3">
<property name="visible">True</property> <property name="visible">True</property>
<property name="spacing">2</property> <property name="spacing">2</property>
<child> <child>
<widget class="GtkVBox" id="PppPage"> <object class="GtkVBox" id="PppPage">
<property name="visible">True</property> <property name="visible">True</property>
<property name="border_width">5</property> <property name="border_width">5</property>
<property name="spacing">18</property> <property name="spacing">18</property>
<child> <child>
<widget class="GtkVBox" id="vbox2"> <object class="GtkVBox" id="vbox2">
<property name="visible">True</property> <property name="visible">True</property>
<property name="spacing">6</property> <property name="spacing">6</property>
<child> <child>
<widget class="GtkLabel" id="label28"> <object class="GtkLabel" id="label28">
<property name="visible">True</property> <property name="visible">True</property>
<property name="xalign">0</property> <property name="xalign">0</property>
<property name="label" translatable="yes">&lt;b&gt;Authentication&lt;/b&gt;</property> <property name="label" translatable="yes">&lt;b&gt;Authentication&lt;/b&gt;</property>
<property name="use_markup">True</property> <property name="use_markup">True</property>
</widget> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">False</property> <property name="fill">False</property>
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkAlignment" id="alignment2"> <object class="GtkAlignment" id="alignment2">
<property name="visible">True</property> <property name="visible">True</property>
<property name="left_padding">12</property> <property name="left_padding">12</property>
<child> <child>
<widget class="GtkVBox" id="vbox4"> <object class="GtkVBox" id="vbox4">
<property name="visible">True</property> <property name="visible">True</property>
<property name="spacing">6</property> <property name="spacing">6</property>
<child> <child>
<widget class="GtkLabel" id="auth_methods_label"> <object class="GtkLabel" id="auth_methods_label">
<property name="visible">True</property> <property name="visible">True</property>
<property name="xalign">0</property> <property name="xalign">0</property>
<property name="label" translatable="yes">Allow the following authentication methods:</property> <property name="label" translatable="yes">Allow the following authentication methods:</property>
</widget> </object>
</child> </child>
<child> <child>
<widget class="GtkScrolledWindow" id="scrolledwindow1"> <object class="GtkScrolledWindow" id="scrolledwindow1">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="hscrollbar_policy">GTK_POLICY_NEVER</property> <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property> <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
<property name="shadow_type">GTK_SHADOW_IN</property> <property name="shadow_type">GTK_SHADOW_IN</property>
<child> <child>
<widget class="GtkTreeView" id="ppp_auth_methods"> <object class="GtkTreeView" id="ppp_auth_methods">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="headers_visible">False</property> <property name="headers_visible">False</property>
</widget> </object>
</child> </child>
</widget> </object>
<packing> <packing>
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
</widget> </object>
</child> </child>
</widget> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
</widget> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkVBox" id="vbox5"> <object class="GtkVBox" id="vbox5">
<property name="visible">True</property> <property name="visible">True</property>
<property name="spacing">6</property> <property name="spacing">6</property>
<child> <child>
<widget class="GtkLabel" id="label29"> <object class="GtkLabel" id="label29">
<property name="visible">True</property> <property name="visible">True</property>
<property name="xalign">0</property> <property name="xalign">0</property>
<property name="label" translatable="yes">&lt;b&gt;Security and Compression&lt;/b&gt;</property> <property name="label" translatable="yes">&lt;b&gt;Security and Compression&lt;/b&gt;</property>
<property name="use_markup">True</property> <property name="use_markup">True</property>
</widget> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">False</property> <property name="fill">False</property>
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkAlignment" id="alignment3"> <object class="GtkAlignment" id="alignment3">
<property name="visible">True</property> <property name="visible">True</property>
<property name="left_padding">12</property> <property name="left_padding">12</property>
<child> <child>
<widget class="GtkVBox" id="vbox6"> <object class="GtkVBox" id="vbox6">
<property name="visible">True</property> <property name="visible">True</property>
<property name="spacing">6</property> <property name="spacing">6</property>
<child> <child>
<widget class="GtkVBox" id="vbox7"> <object class="GtkVBox" id="vbox7">
<property name="visible">True</property> <property name="visible">True</property>
<property name="spacing">6</property> <property name="spacing">6</property>
<child> <child>
<widget class="GtkCheckButton" id="ppp_use_mppe"> <object class="GtkCheckButton" id="ppp_use_mppe">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="label" translatable="yes">Use _Point-to-Point encryption (MPPE)</property> <property name="label" translatable="yes">Use _Point-to-Point encryption (MPPE)</property>
<property name="tooltip" translatable="yes">Note: MPPE encryption is only available with MSCHAP authentication methods. To enable this checkbox, select one or more of the MSCHAP authentication methods: MSCHAP or MSCHAPv2.</property> <property name="tooltip-text" translatable="yes">Note: MPPE encryption is only available with MSCHAP authentication methods. To enable this checkbox, select one or more of the MSCHAP authentication methods: MSCHAP or MSCHAPv2.</property>
<property name="use_underline">True</property> <property name="use_underline">True</property>
<property name="response_id">0</property>
<property name="draw_indicator">True</property> <property name="draw_indicator">True</property>
</widget> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">False</property> <property name="fill">False</property>
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkAlignment" id="alignment4"> <object class="GtkAlignment" id="alignment4">
<property name="visible">True</property> <property name="visible">True</property>
<property name="left_padding">12</property> <property name="left_padding">12</property>
<child> <child>
<widget class="GtkVBox" id="vbox1"> <object class="GtkVBox" id="vbox1">
<property name="visible">True</property> <property name="visible">True</property>
<property name="spacing">6</property> <property name="spacing">6</property>
<child> <child>
<widget class="GtkHBox" id="hbox1"> <object class="GtkHBox" id="hbox1">
<property name="visible">True</property> <property name="visible">True</property>
<property name="spacing">12</property> <property name="spacing">12</property>
<child> <child>
<widget class="GtkLabel" id="ppp_mppe_security_label"> <object class="GtkLabel" id="ppp_mppe_security_label">
<property name="visible">True</property> <property name="visible">True</property>
<property name="xalign">0</property> <property name="xalign">0</property>
<property name="label" translatable="yes">_Security:</property> <property name="label" translatable="yes">_Security:</property>
<property name="use_underline">True</property> <property name="use_underline">True</property>
<property name="mnemonic_widget">ppp_mppe_security_combo</property> <property name="mnemonic_widget">ppp_mppe_security_combo</property>
</widget> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkComboBox" id="ppp_mppe_security_combo"> <object class="GtkComboBox" id="ppp_mppe_security_combo">
<property name="visible">True</property> <property name="visible">True</property>
<property name="items" translatable="yes">Default</property> <property name="model">model1</property>
</widget> <child>
<object class="GtkCellRendererText" id="renderer1"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
</object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
</widget> </object>
</child> </child>
<child> <child>
<widget class="GtkCheckButton" id="ppp_allow_stateful_mppe"> <object class="GtkCheckButton" id="ppp_allow_stateful_mppe">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="label" translatable="yes">Allow st_ateful encryption</property> <property name="label" translatable="yes">Allow st_ateful encryption</property>
<property name="use_underline">True</property> <property name="use_underline">True</property>
<property name="response_id">0</property>
<property name="draw_indicator">True</property> <property name="draw_indicator">True</property>
</widget> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">False</property> <property name="fill">False</property>
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
</widget> </object>
</child> </child>
</widget> </object>
<packing> <packing>
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
</widget> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">False</property> <property name="fill">False</property>
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkCheckButton" id="ppp_allow_bsdcomp"> <object class="GtkCheckButton" id="ppp_allow_bsdcomp">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="label" translatable="yes">Allow _BSD data compression</property> <property name="label" translatable="yes">Allow _BSD data compression</property>
<property name="use_underline">True</property> <property name="use_underline">True</property>
<property name="response_id">0</property>
<property name="draw_indicator">True</property> <property name="draw_indicator">True</property>
</widget> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">False</property> <property name="fill">False</property>
...@@ -462,14 +472,13 @@ ...@@ -462,14 +472,13 @@
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkCheckButton" id="ppp_allow_deflate"> <object class="GtkCheckButton" id="ppp_allow_deflate">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="label" translatable="yes">Allow _Deflate data compression</property> <property name="label" translatable="yes">Allow _Deflate data compression</property>
<property name="use_underline">True</property> <property name="use_underline">True</property>
<property name="response_id">0</property>
<property name="draw_indicator">True</property> <property name="draw_indicator">True</property>
</widget> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">False</property> <property name="fill">False</property>
...@@ -477,14 +486,13 @@ ...@@ -477,14 +486,13 @@
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkCheckButton" id="ppp_usevj"> <object class="GtkCheckButton" id="ppp_usevj">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="label" translatable="yes">Use TCP _header compression</property> <property name="label" translatable="yes">Use TCP _header compression</property>
<property name="use_underline">True</property> <property name="use_underline">True</property>
<property name="response_id">0</property>
<property name="draw_indicator">True</property> <property name="draw_indicator">True</property>
</widget> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">False</property> <property name="fill">False</property>
...@@ -492,14 +500,13 @@ ...@@ -492,14 +500,13 @@
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkCheckButton" id="ppp_usepcomp"> <object class="GtkCheckButton" id="ppp_usepcomp">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="label" translatable="yes">Use protocol _field compression negotiation</property> <property name="label" translatable="yes">Use protocol _field compression negotiation</property>
<property name="use_underline">True</property> <property name="use_underline">True</property>
<property name="response_id">0</property>
<property name="draw_indicator">True</property> <property name="draw_indicator">True</property>
</widget> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">False</property> <property name="fill">False</property>
...@@ -507,112 +514,120 @@ ...@@ -507,112 +514,120 @@
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkCheckButton" id="ppp_useaccomp"> <object class="GtkCheckButton" id="ppp_useaccomp">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="label" translatable="yes">Use _Address/Control compression</property> <property name="label" translatable="yes">Use _Address/Control compression</property>
<property name="use_underline">True</property> <property name="use_underline">True</property>
<property name="response_id">0</property>
<property name="draw_indicator">True</property> <property name="draw_indicator">True</property>
</widget> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">False</property> <property name="fill">False</property>
<property name="position">5</property> <property name="position">5</property>
</packing> </packing>
</child> </child>
</widget> </object>
</child> </child>
</widget> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
</widget> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkVBox" id="vbox9"> <object class="GtkVBox" id="vbox9">
<property name="visible">True</property> <property name="visible">True</property>
<property name="spacing">6</property> <property name="spacing">6</property>
<child> <child>
<widget class="GtkLabel" id="label31"> <object class="GtkLabel" id="label31">
<property name="visible">True</property> <property name="visible">True</property>
<property name="xalign">0</property> <property name="xalign">0</property>
<property name="label" translatable="yes">&lt;b&gt;Echo&lt;/b&gt;</property> <property name="label" translatable="yes">&lt;b&gt;Echo&lt;/b&gt;</property>
<property name="use_markup">True</property> <property name="use_markup">True</property>
</widget> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">False</property> <property name="fill">False</property>
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkAlignment" id="alignment5"> <object class="GtkAlignment" id="alignment5">
<property name="visible">True</property> <property name="visible">True</property>
<property name="left_padding">12</property> <property name="left_padding">12</property>
<child> <child>
<widget class="GtkCheckButton" id="ppp_send_echo_packets"> <object class="GtkCheckButton" id="ppp_send_echo_packets">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="label" translatable="yes">Send PPP _echo packets</property> <property name="label" translatable="yes">Send PPP _echo packets</property>
<property name="use_underline">True</property> <property name="use_underline">True</property>
<property name="response_id">0</property>
<property name="draw_indicator">True</property> <property name="draw_indicator">True</property>
</widget> </object>
</child> </child>
</widget> </object>
<packing> <packing>
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
</widget> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="position">2</property> <property name="position">2</property>
</packing> </packing>
</child> </child>
</widget> </object>
<packing> <packing>
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
<child internal-child="action_area"> <child internal-child="action_area">
<widget class="GtkHButtonBox" id="dialog-action_area3"> <object class="GtkHButtonBox" id="dialog-action_area3">
<property name="visible">True</property> <property name="visible">True</property>
<property name="layout_style">GTK_BUTTONBOX_END</property> <property name="layout_style">GTK_BUTTONBOX_END</property>
<child> <child>
<widget class="GtkButton" id="cancel_button"> <object class="GtkButton" id="cancel_button">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="label">gtk-cancel</property> <property name="label">gtk-cancel</property>
<property name="use_stock">True</property> <property name="use_stock">True</property>
<property name="response_id">-6</property> </object>
</widget>
</child> </child>
<child> <child>
<widget class="GtkButton" id="ok_button"> <object class="GtkButton" id="ok_button">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="label">gtk-ok</property> <property name="label">gtk-ok</property>
<property name="use_stock">True</property> <property name="use_stock">True</property>
<property name="response_id">-5</property> </object>
</widget>
<packing> <packing>
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
</widget> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="pack_type">GTK_PACK_END</property> <property name="pack_type">GTK_PACK_END</property>
</packing> </packing>
</child> </child>
</widget> </object>
</child> </child>
</widget> <action-widgets>
</glade-interface> <action-widget response="0">ppp_use_mppe</action-widget>
<action-widget response="0">ppp_allow_stateful_mppe</action-widget>
<action-widget response="0">ppp_allow_bsdcomp</action-widget>
<action-widget response="0">ppp_allow_deflate</action-widget>
<action-widget response="0">ppp_usevj</action-widget>
<action-widget response="0">ppp_usepcomp</action-widget>
<action-widget response="0">ppp_useaccomp</action-widget>
<action-widget response="0">ppp_send_echo_packets</action-widget>
<action-widget response="-6">cancel_button</action-widget>
<action-widget response="-5">ok_button</action-widget>
</action-widgets>
</object>
</interface>
...@@ -32,7 +32,6 @@ ...@@ -32,7 +32,6 @@
#include <glib/gi18n-lib.h> #include <glib/gi18n-lib.h>
#include <string.h> #include <string.h>
#include <gtk/gtk.h> #include <gtk/gtk.h>
#include <glade/glade.h>
#define NM_VPN_API_SUBJECT_TO_CHANGE #define NM_VPN_API_SUBJECT_TO_CHANGE
...@@ -73,7 +72,7 @@ G_DEFINE_TYPE_EXTENDED (L2tpPluginUiWidget, l2tp_plugin_ui_widget, G_TYPE_OBJECT ...@@ -73,7 +72,7 @@ G_DEFINE_TYPE_EXTENDED (L2tpPluginUiWidget, l2tp_plugin_ui_widget, G_TYPE_OBJECT
#define L2TP_PLUGIN_UI_WIDGET_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), L2TP_TYPE_PLUGIN_UI_WIDGET, L2tpPluginUiWidgetPrivate)) #define L2TP_PLUGIN_UI_WIDGET_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), L2TP_TYPE_PLUGIN_UI_WIDGET, L2tpPluginUiWidgetPrivate))
typedef struct { typedef struct {
GladeXML *xml; GtkBuilder *builder;
GtkWidget *widget; GtkWidget *widget;
GtkSizeGroup *group; GtkSizeGroup *group;
GtkWindowGroup *window_group; GtkWindowGroup *window_group;
...@@ -129,7 +128,7 @@ check_validity (L2tpPluginUiWidget *self, GError **error) ...@@ -129,7 +128,7 @@ check_validity (L2tpPluginUiWidget *self, GError **error)
GtkWidget *widget; GtkWidget *widget;
const char *str; const char *str;
widget = glade_xml_get_widget (priv->xml, "gateway_entry"); widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "gateway_entry"));
str = gtk_entry_get_text (GTK_ENTRY (widget)); str = gtk_entry_get_text (GTK_ENTRY (widget));
if (!str || !strlen (str)) { if (!str || !strlen (str)) {
g_set_error (error, g_set_error (error,
...@@ -218,13 +217,13 @@ show_toggled_cb (GtkCheckButton *button, L2tpPluginUiWidget *self) ...@@ -218,13 +217,13 @@ show_toggled_cb (GtkCheckButton *button, L2tpPluginUiWidget *self)
visible = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button)); visible = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button));
widget = glade_xml_get_widget (priv->xml, "user_password_entry"); widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "user_password_entry"));
g_assert (widget); g_assert (widget);
gtk_entry_set_visibility (GTK_ENTRY (widget), visible); gtk_entry_set_visibility (GTK_ENTRY (widget), visible);
} }
static GtkWidget * static GtkWidget *
fill_password (GladeXML *xml, fill_password (GtkBuilder *builder,
const char *widget_name, const char *widget_name,
NMConnection *connection, NMConnection *connection,
const char *password_type) const char *password_type)
...@@ -235,7 +234,7 @@ fill_password (GladeXML *xml, ...@@ -235,7 +234,7 @@ fill_password (GladeXML *xml,
gboolean unused; gboolean unused;
widget = glade_xml_get_widget (xml, widget_name); widget = GTK_WIDGET (gtk_builder_get_object (builder, widget_name));
g_assert (widget); g_assert (widget);
if (!connection) if (!connection)
...@@ -266,7 +265,7 @@ fill_password (GladeXML *xml, ...@@ -266,7 +265,7 @@ fill_password (GladeXML *xml,
} }
static void static void
fill_vpn_passwords (GladeXML *xml, fill_vpn_passwords (GtkBuilder *builder,
GtkSizeGroup *group, GtkSizeGroup *group,
NMConnection *connection, NMConnection *connection,
ChangedCallback changed_cb, ChangedCallback changed_cb,
...@@ -274,12 +273,12 @@ fill_vpn_passwords (GladeXML *xml, ...@@ -274,12 +273,12 @@ fill_vpn_passwords (GladeXML *xml,
{ {
GtkWidget *w = NULL; GtkWidget *w = NULL;
w = fill_password (xml, "user_password_entry", connection, NM_L2TP_KEY_PASSWORD); w = fill_password (builder, "user_password_entry", connection, NM_L2TP_KEY_PASSWORD);
if (w) { if (w) {
gtk_size_group_add_widget (group, w); gtk_size_group_add_widget (group, w);
g_signal_connect (w, "changed", G_CALLBACK (changed_cb), user_data); g_signal_connect (w, "changed", G_CALLBACK (changed_cb), user_data);
} else { } else {
g_error ("No user_password_entry in glade file!"); g_error ("No userbuilder in GtkBuilder file!");
} }
} }
...@@ -295,7 +294,7 @@ init_plugin_ui (L2tpPluginUiWidget *self, NMConnection *connection, GError **err ...@@ -295,7 +294,7 @@ init_plugin_ui (L2tpPluginUiWidget *self, NMConnection *connection, GError **err
priv->group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); priv->group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
widget = glade_xml_get_widget (priv->xml, "gateway_entry"); widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "gateway_entry"));
if (!widget) if (!widget)
return FALSE; return FALSE;
gtk_size_group_add_widget (priv->group, widget); gtk_size_group_add_widget (priv->group, widget);
...@@ -306,7 +305,7 @@ init_plugin_ui (L2tpPluginUiWidget *self, NMConnection *connection, GError **err ...@@ -306,7 +305,7 @@ init_plugin_ui (L2tpPluginUiWidget *self, NMConnection *connection, GError **err
} }
g_signal_connect (G_OBJECT (widget), "changed", G_CALLBACK (stuff_changed_cb), self); g_signal_connect (G_OBJECT (widget), "changed", G_CALLBACK (stuff_changed_cb), self);
widget = glade_xml_get_widget (priv->xml, "user_entry"); widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "user_entry"));
if (!widget) if (!widget)
return FALSE; return FALSE;
gtk_size_group_add_widget (priv->group, widget); gtk_size_group_add_widget (priv->group, widget);
...@@ -317,7 +316,7 @@ init_plugin_ui (L2tpPluginUiWidget *self, NMConnection *connection, GError **err ...@@ -317,7 +316,7 @@ init_plugin_ui (L2tpPluginUiWidget *self, NMConnection *connection, GError **err
} }
g_signal_connect (G_OBJECT (widget), "changed", G_CALLBACK (stuff_changed_cb), self); g_signal_connect (G_OBJECT (widget), "changed", G_CALLBACK (stuff_changed_cb), self);
widget = glade_xml_get_widget (priv->xml, "domain_entry"); widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "domain_entry"));
if (!widget) if (!widget)
return FALSE; return FALSE;
gtk_size_group_add_widget (priv->group, widget); gtk_size_group_add_widget (priv->group, widget);
...@@ -328,16 +327,16 @@ init_plugin_ui (L2tpPluginUiWidget *self, NMConnection *connection, GError **err ...@@ -328,16 +327,16 @@ init_plugin_ui (L2tpPluginUiWidget *self, NMConnection *connection, GError **err
} }
g_signal_connect (G_OBJECT (widget), "changed", G_CALLBACK (stuff_changed_cb), self); g_signal_connect (G_OBJECT (widget), "changed", G_CALLBACK (stuff_changed_cb), self);
widget = glade_xml_get_widget (priv->xml, "advanced_button"); widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "advanced_button"));
g_signal_connect (G_OBJECT (widget), "clicked", G_CALLBACK (advanced_button_clicked_cb), self); g_signal_connect (G_OBJECT (widget), "clicked", G_CALLBACK (advanced_button_clicked_cb), self);
widget = glade_xml_get_widget (priv->xml, "show_passwords_checkbutton"); widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "show_passwords_checkbutton"));
g_return_val_if_fail (widget != NULL, FALSE); g_return_val_if_fail (widget != NULL, FALSE);
g_signal_connect (G_OBJECT (widget), "toggled", g_signal_connect (G_OBJECT (widget), "toggled",
(GCallback) show_toggled_cb, (GCallback) show_toggled_cb,
self); self);
fill_vpn_passwords (priv->xml, priv->group, connection, stuff_changed_cb, self); fill_vpn_passwords (priv->builder, priv->group, connection, stuff_changed_cb, self);
return TRUE; return TRUE;
} }
...@@ -378,19 +377,19 @@ update_connection (NMVpnPluginUiWidgetInterface *iface, ...@@ -378,19 +377,19 @@ update_connection (NMVpnPluginUiWidgetInterface *iface,
g_object_set (s_vpn, NM_SETTING_VPN_SERVICE_TYPE, NM_DBUS_SERVICE_L2TP, NULL); g_object_set (s_vpn, NM_SETTING_VPN_SERVICE_TYPE, NM_DBUS_SERVICE_L2TP, NULL);
/* Gateway */ /* Gateway */
widget = glade_xml_get_widget (priv->xml, "gateway_entry"); widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "gateway_entry"));
str = gtk_entry_get_text (GTK_ENTRY (widget)); str = gtk_entry_get_text (GTK_ENTRY (widget));
if (str && strlen (str)) if (str && strlen (str))
nm_setting_vpn_add_data_item (s_vpn, NM_L2TP_KEY_GATEWAY, str); nm_setting_vpn_add_data_item (s_vpn, NM_L2TP_KEY_GATEWAY, str);
/* Username */ /* Username */
widget = glade_xml_get_widget (priv->xml, "user_entry"); widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "user_entry"));
str = gtk_entry_get_text (GTK_ENTRY (widget)); str = gtk_entry_get_text (GTK_ENTRY (widget));
if (str && strlen (str)) if (str && strlen (str))
nm_setting_vpn_add_data_item (s_vpn, NM_L2TP_KEY_USER, str); nm_setting_vpn_add_data_item (s_vpn, NM_L2TP_KEY_USER, str);
/* Domain */ /* Domain */
widget = glade_xml_get_widget (priv->xml, "domain_entry"); widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "domain_entry"));
str = gtk_entry_get_text (GTK_ENTRY (widget)); str = gtk_entry_get_text (GTK_ENTRY (widget));
if (str && strlen (str)) if (str && strlen (str))
nm_setting_vpn_add_data_item (s_vpn, NM_L2TP_KEY_DOMAIN, str); nm_setting_vpn_add_data_item (s_vpn, NM_L2TP_KEY_DOMAIN, str);
...@@ -428,7 +427,7 @@ save_secrets (NMVpnPluginUiWidgetInterface *iface, ...@@ -428,7 +427,7 @@ save_secrets (NMVpnPluginUiWidgetInterface *iface,
id = nm_setting_connection_get_id (s_con); id = nm_setting_connection_get_id (s_con);
uuid = nm_setting_connection_get_uuid (s_con); uuid = nm_setting_connection_get_uuid (s_con);
widget = glade_xml_get_widget (priv->xml, "user_password_entry"); widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "user_password_entry"));
g_assert (widget); g_assert (widget);
str = gtk_entry_get_text (GTK_ENTRY (widget)); str = gtk_entry_get_text (GTK_ENTRY (widget));
if (str && strlen (str)) { if (str && strlen (str)) {
...@@ -446,7 +445,7 @@ nm_vpn_plugin_ui_widget_interface_new (NMConnection *connection, GError **error) ...@@ -446,7 +445,7 @@ nm_vpn_plugin_ui_widget_interface_new (NMConnection *connection, GError **error)
{ {
NMVpnPluginUiWidgetInterface *object; NMVpnPluginUiWidgetInterface *object;
L2tpPluginUiWidgetPrivate *priv; L2tpPluginUiWidgetPrivate *priv;
char *glade_file; char *ui_file;;
if (error) if (error)
g_return_val_if_fail (*error == NULL, NULL); g_return_val_if_fail (*error == NULL, NULL);
...@@ -459,18 +458,26 @@ nm_vpn_plugin_ui_widget_interface_new (NMConnection *connection, GError **error) ...@@ -459,18 +458,26 @@ nm_vpn_plugin_ui_widget_interface_new (NMConnection *connection, GError **error)
priv = L2TP_PLUGIN_UI_WIDGET_GET_PRIVATE (object); priv = L2TP_PLUGIN_UI_WIDGET_GET_PRIVATE (object);
glade_file = g_strdup_printf ("%s/%s", GLADEDIR, "nm-l2tp-dialog.glade"); ui_file = g_strdup_printf ("%s/%s", UIDIR, "nm-l2tp-dialog.ui");
priv->xml = glade_xml_new (glade_file, "l2tp-vbox", GETTEXT_PACKAGE); priv->builder = gtk_builder_new ();
if (priv->xml == NULL) {
g_set_error (error, L2TP_PLUGIN_UI_ERROR, 0, if (!gtk_builder_add_from_file(priv->builder, ui_file, error)) {
"could not load required resources at %s", glade_file); g_warning ("Couldn't load builder file: %s",
g_free (glade_file); error && *error ? (*error)->message : "(unknown)");
g_object_unref (object); g_clear_error(error);
g_set_error(error, L2TP_PLUGIN_UI_ERROR, 0,
"could not load required resources at %s", ui_file);
g_free(ui_file);
g_object_unref(object);
return NULL; return NULL;
} }
g_free (glade_file); g_free(ui_file);
gtk_builder_set_translation_domain (priv->builder, GETTEXT_PACKAGE);
priv->widget = glade_xml_get_widget (priv->xml, "l2tp-vbox"); priv->widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "l2tp-vbox"));
if (!priv->widget) { if (!priv->widget) {
g_set_error (error, L2TP_PLUGIN_UI_ERROR, 0, "could not load UI widget"); g_set_error (error, L2TP_PLUGIN_UI_ERROR, 0, "could not load UI widget");
g_object_unref (object); g_object_unref (object);
...@@ -509,8 +516,8 @@ dispose (GObject *object) ...@@ -509,8 +516,8 @@ dispose (GObject *object)
if (priv->widget) if (priv->widget)
g_object_unref (priv->widget); g_object_unref (priv->widget);
if (priv->xml) if (priv->builder)
g_object_unref (priv->xml); g_object_unref(priv->builder);
if (priv->advanced) if (priv->advanced)
g_hash_table_destroy (priv->advanced); g_hash_table_destroy (priv->advanced);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment