GtkWidget * nma_ethernet_dialog_new (NMConnection *connection) { GtkBuilder *builder; GtkWidget *dialog; GError *error = NULL; WirelessSecurity *security; builder = gtk_builder_new (); if (!gtk_builder_add_from_resource (builder, "/org/freedesktop/network-manager-applet/8021x.ui", &error)) { g_warning ("Couldn't load builder resource: %s", error->message); g_error_free (error); applet_missing_ui_warning_dialog_show (); g_object_unref (builder); return NULL; } dialog = (GtkWidget *) gtk_builder_get_object (builder, "8021x_dialog"); if (!dialog) { g_warning ("Couldn't find wireless_dialog widget."); applet_missing_ui_warning_dialog_show (); g_object_unref (builder); return NULL; } gtk_window_set_title (GTK_WINDOW (dialog), _("802.1X authentication")); gtk_window_set_icon_name (GTK_WINDOW (dialog), "dialog-password"); dialog_set_network_name (connection, GTK_ENTRY (gtk_builder_get_object (builder, "network_name_entry"))); /* Handle CA cert ignore stuff */ eap_method_ca_cert_ignore_load (connection); security = dialog_set_security (connection, builder, GTK_BOX (gtk_builder_get_object (builder, "security_vbox"))); wireless_security_set_changed_notify (security, stuff_changed_cb, GTK_WIDGET (gtk_builder_get_object (builder, "ok_button"))); g_object_set_data_full (G_OBJECT (dialog), "security", security, (GDestroyNotify) wireless_security_unref); g_object_set_data_full (G_OBJECT (dialog), "connection", g_object_ref (connection), (GDestroyNotify) g_object_unref); /* Ensure the builder gets destroyed when the dialog goes away */ g_object_set_data_full (G_OBJECT (dialog), "builder", builder, (GDestroyNotify) g_object_unref); return dialog; }
static gboolean dialog_init (GtkWidget *dialog, GladeXML *xml, NMClient *nm_client, const char *glade_file, NMConnection *connection) { WirelessSecurity *security; GtkWidget *widget; /* Hide bunch of wireless specific widgets */ gtk_widget_hide (glade_xml_get_widget (xml, "device_label")); gtk_widget_hide (glade_xml_get_widget (xml, "device_combo")); gtk_widget_hide (glade_xml_get_widget (xml, "security_combo_label")); gtk_widget_hide (glade_xml_get_widget (xml, "security_combo")); /* The dialog won't ever get called for more than one connection for wired */ gtk_widget_hide (glade_xml_get_widget (xml, "connection_label")); gtk_widget_hide (glade_xml_get_widget (xml, "connection_combo")); gtk_window_set_title (GTK_WINDOW (glade_xml_get_widget (xml, "wireless_dialog")), _("Wired 802.1X authentication")); dialog_set_network_name (connection, GTK_ENTRY (glade_xml_get_widget (xml, "network_name_entry"))); security = dialog_set_security (connection, glade_file, GTK_BOX (glade_xml_get_widget (xml, "security_vbox"))); wireless_security_set_changed_notify (security, stuff_changed_cb, glade_xml_get_widget (xml, "ok_button")); g_object_set_data_full (G_OBJECT (dialog), "security", security, (GDestroyNotify) wireless_security_unref); gtk_window_set_icon_name (GTK_WINDOW (dialog), "dialog-password"); widget = glade_xml_get_widget (xml, "image1"); gtk_image_set_from_icon_name (GTK_IMAGE (widget), "dialog-password", GTK_ICON_SIZE_DIALOG); return TRUE; }