Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=fwife.git;a=commitdiff;h=cefdc315708361a545ee4287feba008fe7101dd7
commit cefdc315708361a545ee4287feba008fe7101dd7 Author: Elentir <elen...@mailoo.org> Date: Sun Dec 27 21:51:01 2009 +0100 fix refresh of wifi access points dialogbox and typo fix acess->access diff --git a/src/plugins/configsource.c b/src/plugins/configsource.c index a3ca636..132a50f 100644 --- a/src/plugins/configsource.c +++ b/src/plugins/configsource.c @@ -592,8 +592,7 @@ char *select_entry_point(fwnet_interface_t *interface) GList *listaps = NULL; struct wifi_ap *ap = NULL; -begin: - pBoite = gtk_dialog_new_with_buttons(_("Select your acess point :"), + pBoite = gtk_dialog_new_with_buttons(_("Select your access point :"), GTK_WINDOW(assistant), GTK_DIALOG_MODAL, GTK_STOCK_REFRESH, GTK_RESPONSE_APPLY, @@ -635,65 +634,67 @@ begin: cellview = gtk_cell_view_new (); - if((listaps = list_entry_points(interface->name)) == NULL) - return NULL; - - for(i = 0; i < g_list_length(listaps); i++) { - ap = (struct wifi_ap*)g_list_nth_data(listaps, i); - gtk_list_store_append(GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(viewif))), &iter); - - /* set image according to quality signal */ - if(ap->quality < 25) - connectimg = gtk_image_get_pixbuf(GTK_IMAGE(gtk_image_new_from_file(g_strdup_printf("%s/signal-25.png", IMAGEDIR)))); - else if(ap->quality >= 25 && ap->quality < 50) - connectimg = gtk_image_get_pixbuf(GTK_IMAGE(gtk_image_new_from_file(g_strdup_printf("%s/signal-50.png", IMAGEDIR)))); - else if(ap->quality >= 50 && ap->quality < 75) - connectimg = gtk_image_get_pixbuf(GTK_IMAGE(gtk_image_new_from_file(g_strdup_printf("%s/signal-75.png", IMAGEDIR)))); - else if(ap->quality >= 75) - connectimg = gtk_image_get_pixbuf(GTK_IMAGE(gtk_image_new_from_file(g_strdup_printf("%s/signal-100.png", IMAGEDIR)))); - - if(ap->encryption == 1) { - gtk_list_store_set(GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(viewif))), &iter, - 0, connectimg, 1, ap->address, 2, ap->essid, - 3, ap->mode, 4, ap->protocol, - 5, ap->encmode, 6, ap->cypher, - -1); - } else { - gtk_list_store_set(GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(viewif))), &iter, - 0, connectimg, 1, ap->address, 2, ap->essid, - 3, ap->mode, 4, ap->protocol, - 5, _("No encryption"), 6, "", - -1); - } - free_wifi_ap(ap); - g_object_unref(connectimg); - } - gtk_box_pack_start(GTK_BOX(GTK_DIALOG(pBoite)->vbox), viewif, TRUE, TRUE, 5); gtk_widget_show_all(GTK_DIALOG(pBoite)->vbox); - switch (gtk_dialog_run(GTK_DIALOG(pBoite))) - { - case GTK_RESPONSE_OK: + while(1) { + if((listaps = list_entry_points(interface->name)) == NULL) + return NULL; + + for(i = 0; i < g_list_length(listaps); i++) { + ap = (struct wifi_ap*)g_list_nth_data(listaps, i); + gtk_list_store_append(GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(viewif))), &iter); + + /* set image according to quality signal */ + if(ap->quality < 25) + connectimg = gtk_image_get_pixbuf(GTK_IMAGE(gtk_image_new_from_file(g_strdup_printf("%s/signal-25.png", IMAGEDIR)))); + else if(ap->quality >= 25 && ap->quality < 50) + connectimg = gtk_image_get_pixbuf(GTK_IMAGE(gtk_image_new_from_file(g_strdup_printf("%s/signal-50.png", IMAGEDIR)))); + else if(ap->quality >= 50 && ap->quality < 75) + connectimg = gtk_image_get_pixbuf(GTK_IMAGE(gtk_image_new_from_file(g_strdup_printf("%s/signal-75.png", IMAGEDIR)))); + else if(ap->quality >= 75) + connectimg = gtk_image_get_pixbuf(GTK_IMAGE(gtk_image_new_from_file(g_strdup_printf("%s/signal-100.png", IMAGEDIR)))); + + if(ap->encryption == 1) { + gtk_list_store_set(GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(viewif))), &iter, + 0, connectimg, 1, ap->address, 2, ap->essid, + 3, ap->mode, 4, ap->protocol, + 5, ap->encmode, 6, ap->cypher, + -1); + } else { + gtk_list_store_set(GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(viewif))), &iter, + 0, connectimg, 1, ap->address, 2, ap->essid, + 3, ap->mode, 4, ap->protocol, + 5, _("No encryption"), 6, "", + -1); + } + free_wifi_ap(ap); + g_object_unref(connectimg); + } + + int ret = gtk_dialog_run(GTK_DIALOG(pBoite)); + if(ret == GTK_RESPONSE_OK) { model = gtk_tree_view_get_model(GTK_TREE_VIEW(GTK_TREE_VIEW(viewif))); if(gtk_tree_selection_get_selected(selection, &model, &iter)) gtk_tree_model_get (model, &iter, 2, &essidap, -1); + else + essidap = ""; gtk_widget_destroy(pBoite); + g_list_free(listaps); return strdup(essidap); - break; - case GTK_RESPONSE_APPLY: - gtk_widget_destroy(pBoite); - goto begin; - default: + } else if(ret == GTK_RESPONSE_APPLY) { + gtk_list_store_clear(GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(viewif)))); + g_list_free(listaps); + } else { gtk_widget_destroy(pBoite); + g_list_free(listaps); return NULL; - } + } + } - g_list_free(listaps); - gtk_widget_destroy(pBoite); - return NULL; + return NULL; } char *ask_nettype() _______________________________________________ Frugalware-git mailing list Frugalware-git@frugalware.org http://frugalware.org/mailman/listinfo/frugalware-git