summaryrefslogtreecommitdiffstats
path: root/friendfinder/gui.c
diff options
context:
space:
mode:
Diffstat (limited to 'friendfinder/gui.c')
-rw-r--r--friendfinder/gui.c202
1 files changed, 188 insertions, 14 deletions
diff --git a/friendfinder/gui.c b/friendfinder/gui.c
index 8a5629c..203662d 100644
--- a/friendfinder/gui.c
+++ b/friendfinder/gui.c
@@ -19,9 +19,14 @@ int w = 450;
int first = 0;
int bubble_pos = 100;
+
+double current_lat = 47.996578;
+double current_lon = 7.840171;
+
time_t now;
-const char* msg_text;
-char *from, *to, *current_msg, *last_msg;
+
+const char *msg_text, *ip = NULL, *nickname = NULL, *partner_nickname = NULL;
+char *from = NULL, *to = NULL, *current_msg, *last_msg;
static Evas_Object *win, *bbx, *map;
@@ -41,15 +46,59 @@ static void on_own_position(void *data, Evas_Object *obj, void *event_info)
static void set_distance(void *data, Evas_Object *obj, void *event_info)
{
set_dist((int) data);
- get_own_position(map);
+ //get_own_position(map);
}
+static void on_ip(void *data, Evas_Object *obj, void *event_info)
+{
+ ip = elm_entry_entry_get(obj);
+ elm_entry_context_menu_clear(obj);
+}
+
+static void set_ip(void *data, Evas_Object *obj, void *event_info)
+{
+ sender_set_ip(ip);
+ receiver_set_ip(ip);
+}
+
+static void on_nickname(void *data, Evas_Object *obj, void *event_info)
+{
+ nickname = elm_entry_entry_get(obj);
+ elm_entry_context_menu_clear(obj);
+}
+
+static void set_nickname(void *data, Evas_Object *obj, void *event_info)
+{
+ from = nickname;
+
+ if (from != NULL && to != NULL)
+ {
+ init_msg_thread(from, to);
+ }
+}
+
static void on_show_users(void *data, Evas_Object *obj, void *event_info)
{
init_receiver_thread(from);
}
+static void on_partner_nickname(void *data, Evas_Object *obj, void *event_info)
+{
+ partner_nickname = elm_entry_entry_get(obj);
+ elm_entry_context_menu_clear(obj);
+}
+
+static void set_partner_nickname(void *data, Evas_Object *obj, void *event_info)
+{
+ to = partner_nickname;
+
+ if (from != NULL && to != NULL)
+ {
+ init_msg_thread(from, to);
+ }
+}
+
static void on_chat(void *data, Evas_Object *obj, void *event_info)
{
disable_map_bubbles();
@@ -210,6 +259,13 @@ void set_bubble_text(Evas_Object *bb, char *username, char *text)
evas_object_show(bb);
}
+void update_position()
+{
+ current_lat = get_current_lat();
+ current_lon = get_current_lon();
+ printf("current_lat: %f || current_lon: %f \n", current_lat, current_lon);
+}
+
void init_window_parts()
{
Evas_Object *bg, *bx, *bx2, *bx3, *sc, *en;
@@ -304,7 +360,8 @@ void init_toolbar()
void init_options()
{
- Evas_Object *bg, *bx, *bx2, *bt, *bt2, *bt3;
+ Evas_Object *bg, *bx, *bx2, *bx3, *bx4 ,*bt, *bt2, *bt3, *bt4, *bt5 ,*bt6;
+ Evas_Object *en1, *sc1, *en2, *sc2, *en3, *sc3, *lb1, *lb2, *lb3;
/* add a standard bg */
bg = elm_bg_add(win);
@@ -316,22 +373,45 @@ void init_options()
init_toolbar(bg);
bx = elm_box_add(win);
- evas_object_size_hint_weight_set(bx, 1.0, 0.2);
+ evas_object_size_hint_weight_set(bx, 1.0, 1.0);
evas_object_size_hint_align_set(bx, -1.0, -1.0);
- evas_object_resize(bx, w, h);
+ //evas_object_resize(bx, w, h);
+ evas_object_resize(bx, w*0.8, h*0.33);
+ evas_object_move(bx, w*0.1, h*0.65);
evas_object_show(bx);
bx2 = elm_box_add(win);
elm_box_horizontal_set(bx2, 1);
evas_object_size_hint_weight_set(bx2, 1.0, 1.0);
evas_object_size_hint_align_set(bx2, -1.0, -1.0);
- elm_box_pack_end(bx, bx2);
+ evas_object_resize(bx2, w*0.8, h*0.04);
+ evas_object_move(bx2, w*0.1, h*0.25);
+ // elm_box_pack_end(bx, bx2);
evas_object_show(bx2);
+ bx3 = elm_box_add(win);
+ elm_box_horizontal_set(bx3, 1);
+ evas_object_size_hint_weight_set(bx3, 1.0, 1.0);
+ evas_object_size_hint_align_set(bx3, -1.0, -1.0);
+ evas_object_resize(bx3, w*0.8, h*0.04);
+ evas_object_move(bx3, w*0.1, h*0.35);
+ // elm_box_pack_end(bx, bx2);
+ evas_object_show(bx3);
+
+ bx4 = elm_box_add(win);
+ elm_box_horizontal_set(bx4, 1);
+ 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.8, h*0.04);
+ evas_object_move(bx4, w*0.1, h*0.45);
+ // elm_box_pack_end(bx, bx2);
+ evas_object_show(bx4);
+
bt = elm_button_add(win);
elm_button_label_set(bt, "Distance = 100 m");
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(bx, bt);
evas_object_smart_callback_add(bt, "clicked", set_distance, 100);
evas_object_show(bt);
@@ -352,7 +432,100 @@ void init_options()
evas_object_smart_callback_add(bt3, "clicked", set_distance, 1000);
evas_object_show(bt3);
-}
+ /* enter ip */
+
+ sc1 = elm_scroller_add(win);
+ evas_object_size_hint_weight_set(sc1, 1.0, 1.0);
+ evas_object_size_hint_align_set(sc1, -1.0, -1.0);
+ elm_box_pack_end(bx2, sc1);
+
+ en1 = elm_entry_add(win);
+ //if (text) elm_entry_entry_set(en, text);
+ //else elm_entry_entry_set(en, "");
+ evas_object_size_hint_weight_set(en1, 1.0, 1.0);
+ evas_object_size_hint_align_set(en1, 0.0, 0.0);
+ elm_scroller_content_set(sc1, en1);
+ evas_object_smart_callback_add(en1, "changed", on_ip, NULL);
+ evas_object_show(en1);
+
+ lb1 = elm_label_add(win);
+ elm_label_label_set(lb1, "Server IP");
+ elm_box_pack_end(bx2, lb1);
+ evas_object_show(lb1);
+
+ evas_object_show(sc1);
+
+ bt4 = elm_button_add(win);
+ elm_button_label_set(bt4, "Set server IP");
+ evas_object_size_hint_weight_set(bt4, 1.0, 1.0);
+ evas_object_size_hint_align_set(bt4, -1.0, -1.0);
+ elm_box_pack_end(bx2, bt4);
+ evas_object_smart_callback_add(bt4, "clicked", set_ip, NULL);
+ evas_object_show(bt4);
+
+ /* enter nickname */
+
+ sc2 = elm_scroller_add(win);
+ evas_object_size_hint_weight_set(sc2, 1.0, 1.0);
+ evas_object_size_hint_align_set(sc2, -1.0, -1.0);
+ elm_box_pack_end(bx3, sc2);
+
+ en2 = elm_entry_add(win);
+ //if (text) elm_entry_entry_set(en, text);
+ //else elm_entry_entry_set(en, "");
+ evas_object_size_hint_weight_set(en2, 1.0, 1.0);
+ evas_object_size_hint_align_set(en2, 0.0, 0.0);
+ elm_scroller_content_set(sc2, en2);
+ evas_object_smart_callback_add(en2, "changed", on_nickname, NULL);
+ evas_object_show(en2);
+
+ lb2 = elm_label_add(win);
+ elm_label_label_set(lb2, "Nickname");
+ elm_box_pack_end(bx3, lb2);
+ evas_object_show(lb2);
+
+ evas_object_show(sc2);
+
+ bt5 = elm_button_add(win);
+ elm_button_label_set(bt5, "Set own nickname");
+ evas_object_size_hint_weight_set(bt5, 1.0, 1.0);
+ evas_object_size_hint_align_set(bt5, -1.0, -1.0);
+ elm_box_pack_end(bx3, bt5);
+ evas_object_smart_callback_add(bt5, "clicked", set_nickname, NULL);
+ evas_object_show(bt5);
+
+ /* enter nickname of chat partner */
+
+ sc3 = elm_scroller_add(win);
+ evas_object_size_hint_weight_set(sc3, 1.0, 1.0);
+ evas_object_size_hint_align_set(sc3, -1.0, -1.0);
+ elm_box_pack_end(bx4, sc3);
+
+ en3 = elm_entry_add(win);
+ //if (text) elm_entry_entry_set(en, text);
+ //else elm_entry_entry_set(en, "");
+ evas_object_size_hint_weight_set(en3, 1.0, 1.0);
+ evas_object_size_hint_align_set(en3, 0.0, 0.0);
+ elm_scroller_content_set(sc3, en3);
+ evas_object_smart_callback_add(en3, "changed", on_partner_nickname, NULL);
+ evas_object_show(en3);
+
+ lb3 = elm_label_add(win);
+ elm_label_label_set(lb3, "Buddy nickname");
+ elm_box_pack_end(bx4, lb3);
+ evas_object_show(lb3);
+
+ evas_object_show(sc3);
+
+ bt6 = elm_button_add(win);
+ elm_button_label_set(bt6, "Set buddy nickname");
+ evas_object_size_hint_weight_set(bt6, 1.0, 1.0);
+ evas_object_size_hint_align_set(bt6, -1.0, -1.0);
+ elm_box_pack_end(bx4, bt6);
+ evas_object_smart_callback_add(bt6, "clicked", set_partner_nickname, NULL);
+ evas_object_show(bt6);
+}
+
void init_map()
{
@@ -385,9 +558,10 @@ void init_map()
map = e_smart_map_add(win, "data/maps/fr_map.eet");
e_smart_map_set_theme(map, "themes/map.edj", "main");
- e_smart_map_set_pos(map, 47.996578, 7.840171);
- evas_object_size_hint_min_set(map, w-2, h-115);//h-10*8-60);
-// evas_object_size_hint_max_set(map, w-2, h-100);//-10*8-120);
+ e_smart_map_set_pos(map, current_lat, current_lon);
+// e_smart_map_set_pos(map, 47.996578, 7.840171);
+ evas_object_size_hint_min_set(map, w-2, h-10*8-60);
+ evas_object_size_hint_max_set(map, w-2, h-10*8-120);
evas_object_resize(map, w, h*0.65);
elm_box_pack_end(bx2, map);
evas_object_show(map);
@@ -462,7 +636,7 @@ void elm_main ()
evas_object_show(win);
/* start the message sender thread */
- init_msg_thread(from, to);
+ //init_msg_thread(from, to);
/* get going and draw/respond to the user */
elm_run();
@@ -473,7 +647,7 @@ void elm_main ()
int main (int argc, char **argv)
{
- if (argv[1] == NULL || argv[2] == NULL)
+ /* if (argv[1] == NULL || argv[2] == NULL)
{
printf("no nick and no receiver set");
from = NULL;
@@ -483,7 +657,7 @@ int main (int argc, char **argv)
{
from = argv[1];
to = argv[2];
- }
+ }*/
elm_init(argc, argv);