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 

-- 


Reply via email to