コード例 #1
0
static void
security_combo_changed (GtkWidget *combo,
                        gpointer user_data)
{
    NMAWirelessDialog *self = NMA_WIRELESS_DIALOG (user_data);
    NMAWirelessDialogPrivate *priv = NMA_WIRELESS_DIALOG_GET_PRIVATE (self);
    GtkWidget *vbox;
    GList *elt, *children;
    GtkTreeIter iter;
    GtkTreeModel *model;
    WirelessSecurity *sec = NULL;
    GtkWidget *sec_widget;

    vbox = GTK_WIDGET (gtk_builder_get_object (priv->builder, "security_vbox"));
    g_assert (vbox);

    size_group_clear (priv->group);

    /* Remove any previous wireless security widgets */
    children = gtk_container_get_children (GTK_CONTAINER (vbox));
    for (elt = children; elt; elt = g_list_next (elt))
        gtk_container_remove (GTK_CONTAINER (vbox), GTK_WIDGET (elt->data));

    model = gtk_combo_box_get_model (GTK_COMBO_BOX (combo));
    if (!gtk_combo_box_get_active_iter (GTK_COMBO_BOX (combo), &iter)) {
        g_warning ("%s: no active security combo box item.", __func__);
        return;
    }

    gtk_tree_model_get (model, &iter, S_SEC_COLUMN, &sec, -1);
    if (!sec)
        return;

    sec_widget = wireless_security_get_widget (sec);
    g_assert (sec_widget);

    size_group_add_permanent (priv->group, priv->builder);
    wireless_security_add_to_size_group (sec, priv->group);

    if (gtk_widget_get_parent (sec_widget))
        gtk_widget_reparent (sec_widget, vbox);
    else
        gtk_container_add (GTK_CONTAINER (vbox), sec_widget);

    wireless_security_unref (sec);

    /* Re-validate */
    wireless_security_changed_cb (NULL, sec);
}
コード例 #2
0
ファイル: wired-dialog.c プロジェクト: mirsal/nm-applet
static WirelessSecurity *
dialog_set_security (NMConnection *connection,
					 const char *glade_file,
					 GtkBox *box)
{
	GList *children;
	GList *iter;
	WirelessSecurity *security;

	security = (WirelessSecurity *) ws_wpa_eap_new (glade_file, connection, FALSE);

	/* Remove any previous wireless security widgets */
	children = gtk_container_get_children (GTK_CONTAINER (box));
	for (iter = children; iter; iter = iter->next)
		gtk_container_remove (GTK_CONTAINER (box), GTK_WIDGET (iter->data));

	gtk_box_pack_start (box, wireless_security_get_widget (security), TRUE, TRUE, 0);

	return security;
}
コード例 #3
0
static void
wireless_security_combo_changed (GtkComboBox *combo,
                                 gpointer user_data)
{
	CEPageWirelessSecurity *self = CE_PAGE_WIRELESS_SECURITY (user_data);
	GtkWidget *vbox;
	GList *elt, *children;
	WirelessSecurity *sec;

	vbox = GTK_WIDGET (gtk_builder_get_object (CE_PAGE (self)->builder, "wireless_security_vbox"));
	g_assert (vbox);

	wsec_size_group_clear (self->group);

	/* Remove any previous wireless security widgets */
	children = gtk_container_get_children (GTK_CONTAINER (vbox));
	for (elt = children; elt; elt = g_list_next (elt))
		gtk_container_remove (GTK_CONTAINER (vbox), GTK_WIDGET (elt->data));

	sec = wireless_security_combo_get_active (self);
	if (sec) {
		GtkWidget *sec_widget;
		GtkWidget *widget, *parent;

		sec_widget = wireless_security_get_widget (sec);
		g_assert (sec_widget);
		parent = gtk_widget_get_parent (sec_widget);
		if (parent)
			gtk_container_remove (GTK_CONTAINER (parent), sec_widget);

		widget = GTK_WIDGET (gtk_builder_get_object (CE_PAGE (self)->builder, "wireless_security_combo_label"));
		gtk_size_group_add_widget (self->group, widget);
		wireless_security_add_to_size_group (sec, self->group);

		gtk_container_add (GTK_CONTAINER (vbox), sec_widget);
		wireless_security_unref (sec);
	}

	ce_page_changed (CE_PAGE (self));
}
コード例 #4
0
static void
security_combo_changed (GtkComboBox *combo,
                        gpointer     user_data)
{
        CEPageSecurity *page = CE_PAGE_SECURITY (user_data);
        GtkWidget *vbox;
        GList *l, *children;
        WirelessSecurity *sec;

        wsec_size_group_clear (page->group);

        vbox = GTK_WIDGET (gtk_builder_get_object (CE_PAGE (page)->builder, "vbox"));
        children = gtk_container_get_children (GTK_CONTAINER (vbox));
        for (l = children; l; l = l->next) {
                gtk_container_remove (GTK_CONTAINER (vbox), GTK_WIDGET (l->data));
        }

        sec = security_combo_get_active (page);
        if (sec) {
                GtkWidget *sec_widget;
                GtkWidget *parent;

                sec_widget = wireless_security_get_widget (sec);
                g_assert (sec_widget);
                parent = gtk_widget_get_parent (sec_widget);
                if (parent)
                        gtk_container_remove (GTK_CONTAINER (parent), sec_widget);

                gtk_size_group_add_widget (page->group, page->security_heading);
                gtk_size_group_add_widget (page->group, page->firewall_heading);
                wireless_security_add_to_size_group (sec, page->group);

                gtk_container_add (GTK_CONTAINER (vbox), sec_widget);
                wireless_security_unref (sec);
        }

        ce_page_changed (CE_PAGE (page));
}