diff --git a/sflphone-client-gnome/src/uimanager.c b/sflphone-client-gnome/src/uimanager.c index c3b917d01f6c2233e7f856061faccaab333e789c..602f25a333e49b8cd0efc25251c1bbffba91feba 100644 --- a/sflphone-client-gnome/src/uimanager.c +++ b/sflphone-client-gnome/src/uimanager.c @@ -519,6 +519,9 @@ call_im (void* foo UNUSED) im_window_add (im); im->call = selectedCall; selectedCall->_im_widget = im; + + /* Update the informations about the call in the chat window */ + im_widget_add_call_header (selectedCall); } } } diff --git a/sflphone-client-gnome/src/widget/imwidget.c b/sflphone-client-gnome/src/widget/imwidget.c index 58b90508199992fd7662476f4493c772541e5a14..0396a1ce91f361391e5d5557b93e149b21310195 100644 --- a/sflphone-client-gnome/src/widget/imwidget.c +++ b/sflphone-client-gnome/src/widget/imwidget.c @@ -43,18 +43,41 @@ im_widget_add_message (callable_obj_t *call, const gchar *message) if (im) { - /* Create the main instant messaging window */ - // im_window_add (im); + /* Prepare and execute the Javascript code */ + gchar *script = g_strdup_printf("add_message('%s', '%s', '%s', '%s');", message, call->_peer_name, call->_peer_number, call->_peer_info); + webkit_web_view_execute_script (WEBKIT_WEB_VIEW(_this->web_view), script); + + /* Cleanup */ + g_free(script); + } + + else { + im = im_widget_new (); + im_window_add (im); + im->call = call; + call->_im_widget = im; + /* Prepare and execute the Javascript code */ gchar *script = g_strdup_printf("add_message('%s', '%s', '%s', '%s');", message, call->_peer_name, call->_peer_number, call->_peer_info); webkit_web_view_execute_script (WEBKIT_WEB_VIEW(_this->web_view), script); /* Cleanup */ g_free(script); + } } +void +im_widget_add_call_header (callable_obj_t *call) { + + gchar *script = g_strdup_printf("add_call_info_header('%s', '%s', '%s');", call->_peer_name, call->_peer_number, call->_peer_info); + webkit_web_view_execute_script (WEBKIT_WEB_VIEW(_this->web_view), script); + + /* Cleanup */ + g_free(script); +} + static gboolean web_view_nav_requested_cb( WebKitWebView *web_view, @@ -150,6 +173,8 @@ im_widget_init (IMWidget *im) im->js_global = JSContextGetGlobalObject(im->js_context); webkit_web_view_load_uri (WEBKIT_WEB_VIEW(im->web_view), "file://" DATA_DIR "/webkit/im/im.html"); + + _this = im; } diff --git a/sflphone-client-gnome/webkit/im/im.css b/sflphone-client-gnome/webkit/im/im.css index eed1eeef95849f14f8e57ea4d2aacc3d877a8a39..5058075b0e2016aaa84e20da4017960bc8c9bb1a 100644 --- a/sflphone-client-gnome/webkit/im/im.css +++ b/sflphone-client-gnome/webkit/im/im.css @@ -19,7 +19,7 @@ font-family: "Georgia","Verdana","Arial","Helvetica",sans-serif; } body { - background: #fbfdfe url(sflphone.png) no-repeat top right; + background: #fbfdfe url(sflphone.png) no-repeat fixed bottom right; } .peername { diff --git a/sflphone-client-gnome/webkit/im/im.html b/sflphone-client-gnome/webkit/im/im.html index da25848f71c905a7e2a5f1f0e9762642613b6929..cb7e025185417ad01ceff8274fb8ba8e8e862375 100644 --- a/sflphone-client-gnome/webkit/im/im.html +++ b/sflphone-client-gnome/webkit/im/im.html @@ -1,11 +1,11 @@ <html> <head> <script src="im.js"></script> - <script src="jquery-1.4.2.min.js"></script> <link rel="stylesheet" type="text/css" href="im.css" /> </head> <body> <div class='page'> + <div id="call-info"></div> <div id="messages"></div> </div> </body> diff --git a/sflphone-client-gnome/webkit/im/im.js b/sflphone-client-gnome/webkit/im/im.js index 7ac134f4c8f6e33e5c1faef7ff8d6ac913b785aa..be53a4b08242d1cb14dfa093b07f7bfbee5725cd 100644 --- a/sflphone-client-gnome/webkit/im/im.js +++ b/sflphone-client-gnome/webkit/im/im.js @@ -17,7 +17,18 @@ function linkify(text){ function add_message (message, peer_name, peer_number, peer_info) { + var display_name = 'Unknown'; + if (peer_name != '') { + display_name = peer_name; + } + var msgBody = document.getElementById ('messages'); - msgBody.innerHTML = msgBody.innerHTML + '<div class="message"><div class="peername">' + peer_name + '</div><div class="peernumber">' + peer_number + '</div>' + linkify (message) + '</div>' ; + msgBody.innerHTML = msgBody.innerHTML + '<div class="message">' + '<span class="peername">' + display_name + ': </span>' + '<span class="text">' + linkify (message) + '</span></div>' ; } +function add_call_info_header (peer_name, peer_number, peer_info) +{ + var infoBody = document.getElementById ('call-info'); + infoBody.innerHTML = '<h2>Calling ' + peer_number + '</h2><p>' + peer_info + '</p></h4>'; + +}