[Frugalware-git] fwife: fix refresh of wifi access points dialogbox
Elentir
elentir at mailoo.org
Sun Dec 27 21:50:41 CET 2009
Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=fwife.git;a=commitdiff;h=cefdc315708361a545ee4287feba008fe7101dd7
commit cefdc315708361a545ee4287feba008fe7101dd7
Author: Elentir <elentir at 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()
More information about the Frugalware-git
mailing list