summaryrefslogtreecommitdiffstats
path: root/friendfinder/gui.c
diff options
context:
space:
mode:
Diffstat (limited to 'friendfinder/gui.c')
-rw-r--r--friendfinder/gui.c41
1 files changed, 36 insertions, 5 deletions
diff --git a/friendfinder/gui.c b/friendfinder/gui.c
index 0227033..3c14291 100644
--- a/friendfinder/gui.c
+++ b/friendfinder/gui.c
@@ -25,7 +25,7 @@ int enable_chat = 0;
double current_lat = 47.996578;
double current_lon = 7.840171;
-const char *msg_text, *ip = NULL, *nickname = NULL, *partner_nickname = NULL;
+const char *msg_text, *key, *ip = NULL, *nickname = NULL, *partner_nickname = NULL;
char *from = NULL, *to = NULL, *current_msg, *last_msg;
static Evas_Object *win, *bbx, *map;
@@ -102,6 +102,29 @@ static void set_partner_nickname(void *data, Evas_Object *obj, void *event_info)
}
}
+static void create_barcode(void *data, Evas_Object *obj, void *event_info)
+{
+ if (key != NULL && strlen(key) > 0)
+ {
+ generate_barcode(key);
+ }
+ else return;
+
+ Evas_Object *img = elm_image_add(win);
+ printf("%i \n",elm_image_file_set(img, "barcode.png", ""));
+ evas_object_size_hint_weight_set(img, 1.0, 1.0);
+ evas_object_size_hint_align_set(img, -1.0, -1.0);
+ evas_object_resize(img, w*0.5, h*0.5);
+ elm_box_pack_end((Evas_Object*)data, img);
+ evas_object_show(img);
+
+}
+
+static void on_keyenter(void *data, Evas_Object *obj, void *event_info)
+{
+ key = elm_entry_entry_get(obj);
+}
+
static void on_chat(void *data, Evas_Object *obj, void *event_info)
{
enable_chat = 1;
@@ -372,7 +395,7 @@ void init_toolbar()
void init_barcode()
{
- Evas_Object *bg, *bx1, *bx2, *bx3, *lb1, *sc, *en, *bt;
+ Evas_Object *bg, *bx1, *bx2, *bx3, *bx4, *lb1, *sc, *en, *bt, *img;
bg = elm_bg_add(win);
@@ -409,7 +432,7 @@ void init_barcode()
evas_object_size_hint_weight_set(en, 1.0, 1.0);
evas_object_size_hint_align_set(en, 0.0, 0.0);
elm_scroller_content_set(sc, en);
- evas_object_smart_callback_add(en, "changed", NULL, NULL);
+ evas_object_smart_callback_add(en, "changed", on_keyenter, NULL);
evas_object_show(en);
evas_object_show(sc);
@@ -422,13 +445,21 @@ void init_barcode()
evas_object_move(bx3, w*0.1, h*0.83);
evas_object_show(bx3);
+ bx4 = elm_box_add(win);
+ evas_object_size_hint_weight_set(bx4, 1.0, 1.0);
+ evas_object_size_hint_align_set(bx4, -1.0, -1.0);
+ evas_object_resize(bx4, w*0.6, h*0.6);
+ evas_object_move(bx4, w*0.2, h*0.15);
+ evas_object_show(bx4);
+
+
bt = elm_button_add(win);
elm_button_label_set(bt, "Generate barcode");
evas_object_size_hint_weight_set(bt, 1.0, 1.0);
evas_object_size_hint_align_set(bt, -1.0, -1.0);
evas_object_resize(bt, w*0.9, h*0.1);
elm_box_pack_end(bx3, bt);
- evas_object_smart_callback_add(bt, "clicked", NULL, NULL);
+ evas_object_smart_callback_add(bt, "clicked", create_barcode, bx4);
evas_object_show(bt);
}
@@ -700,7 +731,7 @@ void elm_main ()
{
/* new window - do the usual and give it a name, title and delete handler */
win = elm_win_add(NULL, "Main", ELM_WIN_BASIC);
- elm_win_title_set(win, "Main");
+ elm_win_title_set(win, "Friend Finder");
evas_object_smart_callback_add(win, "delete,request", on_cancel, NULL);
/* resize window */