summaryrefslogtreecommitdiffstats
path: root/friendfinder/gui.c
diff options
context:
space:
mode:
authorPatrick Hornecker2010-01-27 15:48:14 +0100
committerPatrick Hornecker2010-01-27 15:48:14 +0100
commitd1a547ca02e68abf067998cb8de49efbd1e9339e (patch)
tree408c29e43c70b216a3ec2cff622f4be2d0333f02 /friendfinder/gui.c
parenttexsource changes (diff)
downloadfriendfinder-d1a547ca02e68abf067998cb8de49efbd1e9339e.tar.gz
friendfinder-d1a547ca02e68abf067998cb8de49efbd1e9339e.tar.xz
friendfinder-d1a547ca02e68abf067998cb8de49efbd1e9339e.zip
bug 'crashed during bubble draw' is fixed
Diffstat (limited to 'friendfinder/gui.c')
-rw-r--r--friendfinder/gui.c95
1 files changed, 54 insertions, 41 deletions
diff --git a/friendfinder/gui.c b/friendfinder/gui.c
index 858d738..209f545 100644
--- a/friendfinder/gui.c
+++ b/friendfinder/gui.c
@@ -163,23 +163,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;
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);
- Evas_Object *bb1, *bb2, *bb3;
+// Evas_Object *bb;
if (msg_text != NULL)
{
if (first == 0 && enable_chat == 1)
{
- bb1 = elm_bubble_add(bx3);
- evas_object_resize(bb1, w, h/6);
- evas_object_move(bb1, 0, bubble_pos);
- evas_object_show(bb1);
- set_bubble_text(bb1, from, msg_text);
+ bb = elm_bubble_add(bx3);
+ //evas_object_resize(bb1, w, h/6);
+ 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);
+ // set_bubble_text(bb1, from, msg_text);
first = 1;
bubble_pos = bubble_pos + h/6;
@@ -188,12 +192,14 @@ static void on_send_message(void *data, Evas_Object *bx3, void *event_info)
if (first == 1 && enable_chat == 1)
{
- bb2 = elm_bubble_add(bx3);
- evas_object_resize(bb2, w, h/6);
- evas_object_move(bb2, 0, bubble_pos);
- evas_object_show(bb2);
- set_bubble_text(bb2, from, msg_text);
-
+ 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);
+
first = 2;
bubble_pos = bubble_pos + h/6;
return;
@@ -201,12 +207,14 @@ static void on_send_message(void *data, Evas_Object *bx3, void *event_info)
if (first == 2 && enable_chat == 1)
{
- bb3 = elm_bubble_add(bx3);
- evas_object_resize(bb3, w, h/6);
- evas_object_move(bb3, 0, bubble_pos);
- evas_object_show(bb3);
- set_bubble_text(bb3, from, msg_text);
-
+ 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);
+
first = 0;
bubble_pos = 100;
return;
@@ -217,18 +225,20 @@ static void on_send_message(void *data, Evas_Object *bx3, void *event_info)
/* if message has been sent, print it in a bubble */
void show_message(char *current_msg)
{
- Evas_Object *bb1, *bb2, *bb3;
+// Evas_Object *bb;
if (current_msg != NULL)
{
if (first == 0 && enable_chat == 1)
{
- bb1 = elm_bubble_add(bbx);
- evas_object_resize(bb1, w, h/6);
- evas_object_move(bb1, 0, bubble_pos);
- evas_object_show(bb1);
- set_bubble_text(bb1, to, current_msg);
-
+ 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);
+
first = 1;
bubble_pos = bubble_pos + h/6;
@@ -238,12 +248,14 @@ void show_message(char *current_msg)
if (first == 1 && enable_chat == 1)
{
- bb2 = elm_bubble_add(bbx);
- evas_object_resize(bb2, w, h/6);
- evas_object_move(bb2, 0, bubble_pos);
- evas_object_show(bb2);
- set_bubble_text(bb2, to, current_msg);
-
+ 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);
+
first = 2;
bubble_pos = bubble_pos + h/6;
@@ -253,18 +265,21 @@ void show_message(char *current_msg)
if (first == 2 && enable_chat == 1)
{
- bb3 = elm_bubble_add(bbx);
- evas_object_resize(bb3, w, h/6);
- evas_object_move(bb3, 0, bubble_pos);
- evas_object_show(bb3);
- set_bubble_text(bb3, to, current_msg);
+ 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);
first = 0;
bubble_pos = 100;
current_msg[0] = '\0';
return;
- }
+ }
+ free(bb);
}
}
@@ -275,9 +290,6 @@ void set_bubble_text(Evas_Object *bb, char *username, char *text)
printf("%s \n", text);
- /* sets the username */
- elm_entry_entry_set(bb, username);
-
/* create entry */
cn = elm_entry_add(bb);
elm_entry_entry_set(cn, text);
@@ -288,6 +300,7 @@ void set_bubble_text(Evas_Object *bb, char *username, char *text)
Evas_Object *inner_bb;
inner_bb = elm_bubble_add(bb);
elm_bubble_info_set(inner_bb, text);
+ elm_bubble_label_set(bb, username);
evas_object_resize(bb, w, h/6);
evas_object_move(bb, 0, bubble_pos);
elm_bubble_content_set(bb, cn);