summaryrefslogtreecommitdiffstats
path: root/friendfinder/gui.c
diff options
context:
space:
mode:
Diffstat (limited to 'friendfinder/gui.c')
-rw-r--r--friendfinder/gui.c123
1 files changed, 78 insertions, 45 deletions
diff --git a/friendfinder/gui.c b/friendfinder/gui.c
index c34739a..4ea6318 100644
--- a/friendfinder/gui.c
+++ b/friendfinder/gui.c
@@ -29,6 +29,7 @@ const char *msg_text, *key, *ip = NULL, *nickname = NULL, *partner_nickname = NU
char *from = NULL, *to = NULL, *count = "3", *current_msg, *last_msg;
int sender_count = 3;
+time_t now;
static Evas_Object *win, *bbx, *map, *img, *bcb;
@@ -191,23 +192,27 @@ static void on_message(void *data, Evas_Object *obj, void *event_info)
msg_text = elm_entry_entry_get(obj);
elm_entry_context_menu_clear(obj);
}
- Evas_Object *bb;
+
+Evas_Object *bb1, *bb2, *bb3;
+
static void on_send_message(void *data, Evas_Object *bx3, void *event_info)
{
- printf("on_send_message: %s\n", msg_text);
set_txt_msg(msg_text);
if (msg_text != NULL)
{
if (first == 0 && enable_chat == 1)
{
- bb = elm_bubble_add(bx3);
- evas_object_size_hint_weight_set(bb, 0.0, 0.0);
- evas_object_size_hint_align_set(bb, -1.0, -1.0);
- evas_object_resize(bb, w, h/6);
- evas_object_move(bb, 0, bubble_pos);
- set_bubble_text(bb, from, msg_text);
- evas_object_show(bb);
+ if(bb1 !=NULL)
+ evas_object_del(bb1);
+
+ bb1 = elm_bubble_add(bx3);
+ evas_object_size_hint_weight_set(bb1, 0.0, 0.0);
+ evas_object_size_hint_align_set(bb1, -1.0, -1.0);
+ evas_object_resize(bb1, w, h/6);
+ evas_object_move(bb1, 0, bubble_pos);
+ set_bubble_text(bb1, from, msg_text);
+ evas_object_show(bb1);
first = 1;
bubble_pos = bubble_pos + h/6;
@@ -216,13 +221,16 @@ static void on_send_message(void *data, Evas_Object *bx3, void *event_info)
if (first == 1 && enable_chat == 1)
{
- bb = elm_bubble_add(bx3);
- evas_object_size_hint_weight_set(bb, 1.0, 1.0);
- evas_object_size_hint_align_set(bb, -1.0, -1.0);
- evas_object_resize(bb, w, h/6);
- evas_object_move(bb, 0, bubble_pos);
- set_bubble_text(bb, from, msg_text);
- evas_object_show(bb);
+ if(bb2 !=NULL)
+ evas_object_del(bb2);
+
+ bb2 = elm_bubble_add(bx3);
+ evas_object_size_hint_weight_set(bb2, 1.0, 1.0);
+ evas_object_size_hint_align_set(bb2, -1.0, -1.0);
+ evas_object_resize(bb2, w, h/6);
+ evas_object_move(bb2, 0, bubble_pos);
+ set_bubble_text(bb2, from, msg_text);
+ evas_object_show(bb2);
first = 2;
bubble_pos = bubble_pos + h/6;
@@ -231,13 +239,16 @@ static void on_send_message(void *data, Evas_Object *bx3, void *event_info)
if (first == 2 && enable_chat == 1)
{
- bb = elm_bubble_add(bx3);
- evas_object_size_hint_weight_set(bb, 1.0, 1.0);
- evas_object_size_hint_align_set(bb, -1.0, -1.0);
- evas_object_resize(bb, w, h/6);
- evas_object_move(bb, 0, bubble_pos);
- set_bubble_text(bb, from, msg_text);
- evas_object_show(bb);
+ if(bb3 !=NULL)
+ evas_object_del(bb3);
+
+ bb3 = elm_bubble_add(bx3);
+ evas_object_size_hint_weight_set(bb3, 1.0, 1.0);
+ evas_object_size_hint_align_set(bb3, -1.0, -1.0);
+ evas_object_resize(bb3, w, h/6);
+ evas_object_move(bb3, 0, bubble_pos);
+ set_bubble_text(bb3, from, msg_text);
+ evas_object_show(bb3);
first = 0;
bubble_pos = 100;
@@ -253,13 +264,16 @@ void show_message(char *current_msg)
{
if (first == 0 && enable_chat == 1)
{
- bb = elm_bubble_add(bbx);
- evas_object_size_hint_weight_set(bb, 1.0, 1.0);
- evas_object_size_hint_align_set(bb, -1.0, -1.0);
- evas_object_resize(bb, w, h/6);
- evas_object_move(bb, 0, bubble_pos);
- set_bubble_text(bb, to, current_msg);
- evas_object_show(bb);
+ if(bb1 !=NULL)
+ evas_object_del(bb1);
+
+ bb1 = elm_bubble_add(bbx);
+ evas_object_size_hint_weight_set(bb1, 1.0, 1.0);
+ evas_object_size_hint_align_set(bb1, -1.0, -1.0);
+ evas_object_resize(bb1, w, h/6);
+ evas_object_move(bb1, 0, bubble_pos);
+ set_bubble_text(bb1, to, current_msg);
+ evas_object_show(bb1);
first = 1;
bubble_pos = bubble_pos + h/6;
@@ -270,13 +284,16 @@ void show_message(char *current_msg)
if (first == 1 && enable_chat == 1)
{
- bb = elm_bubble_add(bbx);
- evas_object_size_hint_weight_set(bb, 1.0, 1.0);
- evas_object_size_hint_align_set(bb, -1.0, -1.0);
- evas_object_resize(bb, w, h/6);
- evas_object_move(bb, 0, bubble_pos);
- set_bubble_text(bb, to, current_msg);
- evas_object_show(bb);
+ if(bb2 !=NULL)
+ evas_object_del(bb2);
+
+ bb2 = elm_bubble_add(bbx);
+ evas_object_size_hint_weight_set(bb2, 1.0, 1.0);
+ evas_object_size_hint_align_set(bb2, -1.0, -1.0);
+ evas_object_resize(bb2, w, h/6);
+ evas_object_move(bb2, 0, bubble_pos);
+ set_bubble_text(bb2, to, current_msg);
+ evas_object_show(bb2);
first = 2;
bubble_pos = bubble_pos + h/6;
@@ -287,13 +304,16 @@ void show_message(char *current_msg)
if (first == 2 && enable_chat == 1)
{
- bb = elm_bubble_add(bbx);
- evas_object_size_hint_weight_set(bb, 1.0, 1.0);
- evas_object_size_hint_align_set(bb, -1.0, -1.0);
- evas_object_resize(bb, w, h/6);
- evas_object_move(bb, 0, bubble_pos);
- set_bubble_text(bb, to, current_msg);
- evas_object_show(bb);
+ if(bb3 !=NULL)
+ evas_object_del(bb3);
+
+ bb3 = elm_bubble_add(bbx);
+ evas_object_size_hint_weight_set(bb3, 1.0, 1.0);
+ evas_object_size_hint_align_set(bb3, -1.0, -1.0);
+ evas_object_resize(bb3, w, h/6);
+ evas_object_move(bb3, 0, bubble_pos);
+ set_bubble_text(bb3, to, current_msg);
+ evas_object_show(bb3);
first = 0;
bubble_pos = 100;
@@ -301,10 +321,21 @@ void show_message(char *current_msg)
current_msg[0] = '\0';
return;
}
- free(bb);
+ free(bb1);
+ free(bb2);
+ free(bb3);
}
}
+char* get_current_time()
+{
+ time_t now;
+ time(&now);
+ char *text = ctime(&now);
+ return text;
+
+}
+
/* sets the username and the text in the bubble */
void set_bubble_text(Evas_Object *bb, char *username, char *text)
{
@@ -318,6 +349,8 @@ void set_bubble_text(Evas_Object *bb, char *username, char *text)
elm_entry_line_wrap_set(cn, 0);
evas_object_size_hint_weight_set(cn, 1.0, 1.0);
+ elm_bubble_info_set(bb, get_current_time());
+
/* create overlay bubble with message string */
Evas_Object *inner_bb;
inner_bb = elm_bubble_add(bb);