summaryrefslogtreecommitdiffstats
path: root/msg_sender
diff options
context:
space:
mode:
authorPatrick Hornecker2009-12-21 12:20:09 +0100
committerPatrick Hornecker2009-12-21 12:20:09 +0100
commit60367619d85d6607fc7d2d74d80f352d3093a12e (patch)
tree4be47adbbe109404dab36bc456f89133c61e0ca3 /msg_sender
parenta few changes (diff)
downloadfriendfinder-60367619d85d6607fc7d2d74d80f352d3093a12e.tar.gz
friendfinder-60367619d85d6607fc7d2d74d80f352d3093a12e.tar.xz
friendfinder-60367619d85d6607fc7d2d74d80f352d3093a12e.zip
few changes
Diffstat (limited to 'msg_sender')
-rw-r--r--msg_sender/gui.c94
-rw-r--r--msg_sender/gui.h4
-rw-r--r--msg_sender/msg_sender.c30
-rw-r--r--msg_sender/msg_sender.h9
4 files changed, 74 insertions, 63 deletions
diff --git a/msg_sender/gui.c b/msg_sender/gui.c
index 374a4ad..0cd7e2d 100644
--- a/msg_sender/gui.c
+++ b/msg_sender/gui.c
@@ -18,17 +18,18 @@ time_t now;
const char* msg_text;
char *from, *to, *current_msg, *last_msg;
-static Evas_Object *win;
+static Evas_Object *win, *bbx;
-static void
-on_cancel(void *data, Evas_Object *obj, void *event_info)
+
+
+
+static void on_cancel(void *data, Evas_Object *obj, void *event_info)
{
/* cleanly exit */
elm_exit();
}
-static void
-on_chat(void *data, Evas_Object *obj, void *event_info)
+static void on_chat(void *data, Evas_Object *obj, void *event_info)
{
init_window_parts();
@@ -37,24 +38,21 @@ on_chat(void *data, Evas_Object *obj, void *event_info)
}
-static void
-on_history(void *data, Evas_Object *obj, void *event_info)
+static void on_history(void *data, Evas_Object *obj, void *event_info)
{
init_history();
}
-static void
-on_options(void *data, Evas_Object *obj, void *event_info)
+static void on_options(void *data, Evas_Object *obj, void *event_info)
{
init_options();
}
-static void
-on_message(void *data, Evas_Object *obj, void *event_info)
+static void on_message(void *data, Evas_Object *obj, void *event_info)
{
msg_text = elm_entry_entry_get(obj);
@@ -62,8 +60,7 @@ on_message(void *data, Evas_Object *obj, void *event_info)
}
-static void
-on_send_message(void *data, Evas_Object *bx3, void *event_info)
+static void on_send_message(void *data, Evas_Object *bx3, void *event_info)
{
printf("on_send_message: %s\n", msg_text);
@@ -81,11 +78,10 @@ on_send_message(void *data, Evas_Object *bx3, void *event_info)
if (first == 0)
{
bb = elm_bubble_add(bx3);
- //elm_bubble_label_set(bb, "Username");
evas_object_resize(bb, w, h/7);
evas_object_move(bb, 0, 0);
evas_object_show(bb);
- set_bubble_text(bb, "testuser", msg_text);
+ set_bubble_text(bb, from, msg_text);
first = 1;
bubble_pos = bubble_pos + h/6;
@@ -93,11 +89,10 @@ on_send_message(void *data, Evas_Object *bx3, void *event_info)
else
{
bb = elm_bubble_add(bx3);
- //elm_bubble_label_set(bb, "Username");
evas_object_resize(bb, w, h/6);
evas_object_move(bb, 0, bubble_pos);
evas_object_show(bb);
- set_bubble_text(bb, "testuser", msg_text);
+ set_bubble_text(bb, from, msg_text);
bubble_pos = bubble_pos + h/6;
}
@@ -111,19 +106,49 @@ on_send_message(void *data, Evas_Object *bx3, void *event_info)
}
/* if message has been sent, print it in a bubble */
-static void show_message()
+void show_message(char *current_msg)
{
- //current_msg = get_text_msg();
- last_msg = NULL;
-
- if (current_msg != NULL && strcmp(current_msg, last_msg) != 0)
+ Evas_Object *bb;
+
+ if (bubble_pos == 0)
{
- //print bubble with current_message in it!
+ bubble_pos = 100;
+ }
+
+ if (current_msg != NULL)
+ {
+ if (first == 0)
+ {
+ bb = elm_bubble_add(bbx);
+ evas_object_resize(bb, w, h/7);
+ evas_object_move(bb, 0, 0);
+ evas_object_show(bb);
+ set_bubble_text(bb, to, current_msg);
+
+ first = 1;
+ bubble_pos = bubble_pos + h/6;
+ }
+ else
+ {
+ bb = elm_bubble_add(bbx);
+ evas_object_resize(bb, w, h/6);
+ evas_object_move(bb, 0, bubble_pos);
+ evas_object_show(bb);
+ set_bubble_text(bb, to, current_msg);
+
+ bubble_pos = bubble_pos + h/6;
+ }
+ printf("position: %d\n", bubble_pos);
+
+ if (bubble_pos >= 400)
+ {
+ bubble_pos = 100;
+ }
}
}
+
/* returns the current system time */
-char*
-get_current_time()
+char* get_current_time()
{
time_t now;
@@ -135,8 +160,7 @@ get_current_time()
/* sets the username, time-text and the text in the bubble */
-void
-set_bubble_text(Evas_Object *bb, char *username, char *text)
+void set_bubble_text(Evas_Object *bb, char *username, char *text)
{
Evas_Object *cn;
@@ -164,8 +188,7 @@ set_bubble_text(Evas_Object *bb, char *username, char *text)
}
-void
-init_window_parts()
+void init_window_parts()
{
Evas_Object *bg, *bx, *bx2, *bx3, *sc, *en;
@@ -258,8 +281,7 @@ void init_toolbar()
evas_object_show(tb);
}
-void
-init_options()
+void init_options()
{
Evas_Object *bg, *bx, *bx2, *bt;
@@ -295,8 +317,7 @@ init_options()
evas_object_show(bt);
}
-void
-init_history()
+void init_history()
{
Evas_Object *bg, *bx, *bx2, *bb;
@@ -334,8 +355,7 @@ init_history()
}
-void
-init_buttons(Evas_Object *box, Evas_Object *msg)
+void init_buttons(Evas_Object *box, Evas_Object *msg)
{
Evas_Object *bt;
@@ -349,6 +369,7 @@ init_buttons(Evas_Object *box, Evas_Object *msg)
evas_object_show(bt);
/* and when clicked - run "on_ok" */
+ bbx = box;
evas_object_smart_callback_add(bt, "clicked", on_send_message, NULL);
@@ -365,8 +386,7 @@ init_buttons(Evas_Object *box, Evas_Object *msg)
}
-void
-elm_main ()
+void elm_main ()
{
/* new window - do the usual and give it a name, title and delete handler */
diff --git a/msg_sender/gui.h b/msg_sender/gui.h
index 5f4f276..8236c73 100644
--- a/msg_sender/gui.h
+++ b/msg_sender/gui.h
@@ -3,7 +3,7 @@
//structs
//typedef struct _ginfo ginfo;
-
+#include "Evas.h"
//callback functions
static void on_cancel(void *data, Evas_Object *obj, void *event_info);
@@ -13,8 +13,10 @@ static void on_options(void *data, Evas_Object *obj, void *event_info);
static void on_chat(void *data, Evas_Object *obj, void *event_info);
static void on_history(void *data, Evas_Object *obj, void *event_info);
+
//other functions
void set_bubble_text(Evas_Object *bb, char *username, char *text);
+void show_message(current_msg);
char* get_current_time();
//init functions
void init_options();
diff --git a/msg_sender/msg_sender.c b/msg_sender/msg_sender.c
index 85a5eda..b719e13 100644
--- a/msg_sender/msg_sender.c
+++ b/msg_sender/msg_sender.c
@@ -6,6 +6,7 @@
#include "openssl/blowfish.h"
#include "msg_sender.h"
+#include "gui.h"
static irc_session_t *session;
irc_callbacks_t callbacks;
@@ -60,24 +61,20 @@ void set_txt_msg(char *msg)
}
}
-char* get_txt_msg()
-{
- if (msg_available == 1)
- {
- msg_available == 0;
- return received_msg;
- }
- else return;
-}
-
void dump_message(char *msg)
{
- msg_available = 1;
received_msg = msg;
}
void dcc_recv_callback (irc_session_t * session, irc_dcc_t id, int status, void * ctx, const char * data, unsigned int length)
{
+
+ if( run_session = 0)
+ {
+ irc_run(session);
+ run_session = 1;
+ }
+
switch (status)
{
case LIBIRC_ERR_CLOSED:
@@ -95,14 +92,9 @@ void dcc_recv_callback (irc_session_t * session, irc_dcc_t id, int status, void
char *decrypted_msg = (char*) malloc(sizeof(data));
BF_ecb_encrypt(data, decrypted_msg, &key, BF_DECRYPT);
-
- if( run_session = 0)
- {
- irc_run(session);
- run_session = 1;
- }
+
+ show_message(decrypted_msg);
printf("incoming message: %s \n", decrypted_msg);
- dump_message(decrypted_msg);
}
break;
@@ -123,6 +115,8 @@ void send_message(irc_session_t *session, char *msg)
if (msg != NULL)
{
char crypted_msg[64];
+
+ printf("send_message: %s \n", msg);
BF_ecb_encrypt(msg, crypted_msg, &key, BF_ENCRYPT);
diff --git a/msg_sender/msg_sender.h b/msg_sender/msg_sender.h
index 28db8a4..582c6ec 100644
--- a/msg_sender/msg_sender.h
+++ b/msg_sender/msg_sender.h
@@ -1,5 +1,5 @@
-#ifndef __SALSA20_H_
-#define __SALSA20_H_
+#ifndef _MSG_SENDER_H_
+#define __MSG_SENDER_H_
/* inits main loop of message sender. callbacks are initialized in this function */
void msg_main_loop(char *sender, char *receiver);
@@ -13,10 +13,5 @@ void stop_irc();
/* input for message which has to be sent */
void set_txt_msg(char *msg);
-/* returns received message */
-char* get_txt_msg();
-
-
-
#endif