devilhorns pushed a commit to branch master. http://git.enlightenment.org/apps/express.git/commit/?id=6c7fde0aaa52926cb4528f3869e9f47ba7bf786e
commit 6c7fde0aaa52926cb4528f3869e9f47ba7bf786e Author: Chris Michael <cp.mich...@samsung.com> Date: Mon Oct 26 11:59:31 2015 -0400 express: Add support for receiving private messages Summary: This adds preliminary support for receiving private messages. This will automatically create a new channel view for any received private messages (based on sender). @feature Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/bin/callbacks.c | 35 +++++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/src/bin/callbacks.c b/src/bin/callbacks.c index ede7b02..b9d00c9 100644 --- a/src/bin/callbacks.c +++ b/src/bin/callbacks.c @@ -336,15 +336,34 @@ _callback_user_join(Express_Network *net, const char *event EINA_UNUSED, const c } void -_callback_user_private(Express_Network *net EINA_UNUSED, const char *event EINA_UNUSED, const char *source, const char **params, unsigned int count, void *data EINA_UNUSED) +_callback_user_private(Express_Network *net, const char *event EINA_UNUSED, const char *source, const char **params, unsigned int count EINA_UNUSED, void *data EINA_UNUSED) { - DBG("User Private %s", params[0]); - DBG("\tCount: %d", count); - DBG("\tUser: %s", source); - DBG("\tMessage:"); - DBG("\t%s", params[1]); - DBG("\t%s", params[2]); - DBG("\t%s", params[3]); + Channel * chl = NULL; + + /* DBG("User Private %s", params[0]); */ + /* DBG("\tCount: %d", count); */ + /* DBG("\tUser: %s", source); */ + /* DBG("\tMessage:"); */ + /* DBG("\t%s", params[1]); // message */ + /* DBG("\t%s", params[2]); */ + /* DBG("\t%s", params[3]); */ + + if (!(chl = _window_channel_find(source))) + { + Express_Server *srv; + + if ((srv = express_network_server_connected_get(net))) + { + const char *srv_name = NULL; + + srv_name = express_network_server_realname_get(srv); + if ((chl = _window_channel_create(source, srv_name))) + _channel_network_set(chl, net); + } + } + + _channel_text_append(chl, source, params[1], + _row_color_simple_create(COLOR_TEXT)); } void --