From 750c28f183c5eb7d9ccd1e13651d7896b4a7798f Mon Sep 17 00:00:00 2001 From: Margaux Clerc Date: Wed, 6 Feb 2013 13:55:02 +0100 Subject: [PATCH] add pixmaps for calllog and imporved display chat --- gtk/calllogs.c | 10 ++++++---- gtk/chat.c | 26 +++++++++++++++++--------- pixmaps/Makefile.am | 1 + pixmaps/call_status_incoming.png | Bin 0 -> 2879 bytes pixmaps/call_status_outgoing.png | Bin 0 -> 2884 bytes 5 files changed, 24 insertions(+), 13 deletions(-) create mode 100644 pixmaps/call_status_incoming.png create mode 100644 pixmaps/call_status_outgoing.png diff --git a/gtk/calllogs.c b/gtk/calllogs.c index 9494dbfa..20ff8181 100644 --- a/gtk/calllogs.c +++ b/gtk/calllogs.c @@ -24,8 +24,7 @@ static void fill_renderers(GtkTreeView *v){ GtkTreeViewColumn *c; GtkCellRenderer *r=gtk_cell_renderer_pixbuf_new (); - g_object_set(r,"stock-size",GTK_ICON_SIZE_BUTTON,NULL); - c=gtk_tree_view_column_new_with_attributes("icon",r,"stock-id",0,NULL); + c=gtk_tree_view_column_new_with_attributes("icon",r,"pixbuf",0,NULL); gtk_tree_view_append_column (v,c); r=gtk_cell_renderer_text_new (); @@ -40,7 +39,7 @@ void linphone_gtk_call_log_update(GtkWidget *w){ store=(GtkListStore*)gtk_tree_view_get_model(v); if (store==NULL){ - store=gtk_list_store_new(3,G_TYPE_STRING,G_TYPE_STRING, G_TYPE_POINTER); + store=gtk_list_store_new(3,GDK_TYPE_PIXBUF,G_TYPE_STRING,G_TYPE_POINTER); gtk_tree_view_set_model(v,GTK_TREE_MODEL(store)); g_object_unref(G_OBJECT(store)); fill_renderers(GTK_TREE_VIEW(linphone_gtk_get_widget(w,"logs_view"))); @@ -110,8 +109,11 @@ void linphone_gtk_call_log_update(GtkWidget *w){ g_free(seconds); if (start_date) g_free(start_date); gtk_list_store_append (store,&iter); + + GdkPixbuf *incoming = create_pixbuf("call_status_incoming.png"); + GdkPixbuf *outgoing = create_pixbuf("call_status_outgoing.png"); gtk_list_store_set (store,&iter, - 0, cl->dir==LinphoneCallOutgoing ? GTK_STOCK_GO_UP : GTK_STOCK_GO_DOWN, + 0, cl->dir==LinphoneCallOutgoing ? outgoing : incoming, 1, logtxt,2,la,-1); ms_free(addr); g_free(logtxt); diff --git a/gtk/chat.c b/gtk/chat.c index bcaca1a9..201d138d 100644 --- a/gtk/chat.c +++ b/gtk/chat.c @@ -118,7 +118,7 @@ void linphone_gtk_push_text(GtkWidget *w, const LinphoneAddress *from, gtk_text_buffer_get_end_iter(buffer,&iter); gtk_text_buffer_get_iter_at_offset(buffer,&begin,off); gtk_text_buffer_get_end_iter(buffer,&iter); - gtk_text_buffer_insert_with_tags_by_name(buffer,&iter,message,-1,me ? "left" : "left",NULL); + gtk_text_buffer_insert_with_tags_by_name(buffer,&iter,message,-1,"margin",NULL); gtk_text_buffer_get_end_iter(buffer,&iter); gtk_text_buffer_insert(buffer,&iter,"\n",-1); gtk_text_buffer_get_bounds (buffer, &begin, &end); @@ -136,13 +136,13 @@ void linphone_gtk_push_text(GtkWidget *w, const LinphoneAddress *from, gtk_text_buffer_get_end_iter(buffer,&iter); if(me){ list=g_list_append(list,GINT_TO_POINTER(gtk_text_iter_get_line(&iter))); - gtk_text_buffer_insert_with_tags_by_name(buffer,&iter,"Message in progress.. ",-1, + gtk_text_buffer_insert_with_tags_by_name(buffer,&iter,"Sending .. ",-1, "italic","right","small","font_grey",NULL); g_object_set_data(G_OBJECT(w),"list",list); } else { struct tm *tm=localtime(&t); char buf[80]; - strftime(buf,80,"Received at %H:%M",tm); + strftime(buf,80,"Send at %H:%M",tm); gtk_text_buffer_insert_with_tags_by_name(buffer,&iter,buf,-1, "italic","right","small","font_grey",NULL); } @@ -162,7 +162,7 @@ const LinphoneAddress* linphone_gtk_get_used_identity(){ /* function in dev for displaying ack*/ -void update_chat_state_message(LinphoneChatMessageState state){ +void update_chat_state_message(LinphoneChatMessageState state,LinphoneChatMessage *msg){ GtkWidget *main_window=linphone_gtk_get_main_window(); GtkWidget *friendlist=linphone_gtk_get_widget(main_window,"contact_list"); GtkWidget *page=(GtkWidget*)g_object_get_data(G_OBJECT(friendlist),"chatview"); @@ -192,15 +192,21 @@ void update_chat_state_message(LinphoneChatMessageState state){ gchar *result; switch (state) { case LinphoneChatMessageStateInProgress: - result="Message in progress.. "; + result="Sending "; break; case LinphoneChatMessageStateDelivered: - result="Message delivered "; + { + time_t t=time(NULL); + struct tm *tm=localtime(&t); + char buf[80]; + strftime(buf,80,"%H:%M",tm); + result=buf; break; + } case LinphoneChatMessageStateNotDelivered: result="Message not delivered "; break; - default : result="Message in progress.. "; + default : result="Sending .."; } gtk_text_buffer_insert_with_tags_by_name(b,&iter,result,-1, "italic","right","small","font_grey",NULL); @@ -211,7 +217,7 @@ void update_chat_state_message(LinphoneChatMessageState state){ static void on_chat_state_changed(LinphoneChatMessage *msg, LinphoneChatMessageState state, void *user_pointer){ g_message("chat message state is %s",linphone_chat_message_state_to_string(state)); - update_chat_state_message(state); + update_chat_state_message(state,msg); } void linphone_gtk_send_text(){ @@ -225,10 +231,10 @@ void linphone_gtk_send_text(){ if (strlen(entered)>0) { LinphoneChatMessage *msg; msg=linphone_chat_room_create_message(cr,entered); + linphone_chat_room_send_message2(cr,msg,on_chat_state_changed,NULL); linphone_gtk_push_text(w, linphone_gtk_get_used_identity(), entered,TRUE,cr,linphone_chat_message_get_time(msg)); - linphone_chat_room_send_message2(cr,msg,on_chat_state_changed,NULL); gtk_entry_set_text(GTK_ENTRY(entry),""); } } @@ -285,6 +291,8 @@ GtkWidget* linphone_gtk_init_chatroom(LinphoneChatRoom *cr, const LinphoneAddres "small","size",9*PANGO_SCALE,NULL); gtk_text_buffer_create_tag(gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)), "font_grey","foreground-gdk",&color,NULL); + gtk_text_buffer_create_tag(gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)), + "margin","left-margin",10,NULL); GtkWidget *button = linphone_gtk_get_widget(chat_view,"send"); g_signal_connect_swapped(G_OBJECT(button),"clicked",(GCallback)linphone_gtk_send_text,NULL); diff --git a/pixmaps/Makefile.am b/pixmaps/Makefile.am index d10d4822..2386d68c 100644 --- a/pixmaps/Makefile.am +++ b/pixmaps/Makefile.am @@ -17,6 +17,7 @@ contact-orange.png dialer-orange.png history-orange.png\ startcall-green.png startcall-small.png stopcall-red.png stopcall-small.png addcall-green.png linphone.icns \ contact_starred.png contact_unstarred.png \ speaker.png \ +call_status_incoming.png call_status_outgoing.png \ ok.png \ dialer.png \ notok.png diff --git a/pixmaps/call_status_incoming.png b/pixmaps/call_status_incoming.png new file mode 100644 index 0000000000000000000000000000000000000000..72ca1330efb4a8a8877f13b8308c9a4cdd0a71ed GIT binary patch literal 2879 zcmah~2{fDO8cwuADQXL~j5M}lB(;-7QkB|8tfi`iv6Up2&?sru*rKDVmbR))t4eE# zwwBsUTQXvaptV$$p}5x8IJ)=DORjg#j>)I+v*yzmc5rKoO&6}b z?V&^Mo|7cyX@@rs+IRE?Rar|k@ojDdR)gLy%PsZl@8>Duxk1YnqxQ6^8sm;&4qRoc z&q|i^*Mm^?1Ag#og6BSIX2zH^Nwya1m;SW$Iw7ok44xKRt+guxyB)DI=kdMkW^Q4P z&odGFJB>A`MmpwA<%-;rb-5>_#*%P}cO&gHCx(ZrV88P4I*syf%G}elRN@`z9dC3` zNRgoJ=D7&1XgTS}J*&#IH<^ltZzBA~p5B*=U3A%~81R`+FJ?Lhz9+nIwxT_{<(U)e z@*#eN_4M?u4j#p{@0yA_Ct~?xF%_lt#k`#ygn`aI@F(k2L8P*WCPQU8ZuWxP+P9Er z)0k?+x~!H=1(tAa_wjk!nJ*j6^ij&%%=m;CEP@u)jw2R45@nS3OI!R8 zPox?&@7Wh3+ZZ8DKR*0(qsjJNgNrhsJJWU&bIPqXRut{nTDtD@;t)RZfCvK)x+o|JGbfB{ z2i0wK%{K-GQMN*tQ%9~4+w{vxtyL`>1B}O-TSNyQq}PR%?7Qttku3+Pit@&1fW68> zv*h<~>>-Dt#|4G|`t>qfQKcEfM0ap%#@LT`?(IAz6?+y-^^GFW#UDmKP@<{RG`5e@ zRB7;Sn-q#$Ep%JSBdakT#%ol!*pRP05Y6x;h>xUr1oQ{x>!~{8+M_3=CNsC{x1OM6 z%Oz?&zsV??Xjqy%u-18STfRY>BJlK_ZDq9P$Nkc}BFdmUpf{~fui{H6V7KA?j0X<- z%+`Sw#iGbFxs%x`R775iss(-Virve$aUGuOy!wr^8!F`w_O0$@h#x~B-V?vIQD*9l z-$8`BoLmv0+-7%rTm+2@-?J=BYXS8sKgL18vsC25!{gIOCdn0 z#9&f5f@%!?!a#82Js1v!e4$W+jG?Z!c!()E%om~u(}HP3(E<<%1Qqt3AHo4^_BEZm zGKL0FC?N(YZUzN^soI<@I6s~5&6Y|z50K{ z|DSkDpx>W1{fGL!oqx*TLlJHczTxEHh&^-A2HGh2Kfpg-LVek@3k&q+`urt9>ns1S z*x&iC|E&Js=Qv`J+m zMU~h&Po#JFI`&%d z%~q5ewzj{V*(&yOW`hyK4+7DnZyNHJhol^TN~&L9Fq%4#UaT?549CfdsTH=&zpAWC zs*RIX5*y<==R?;m5Vi?!D5{I{JYVjbWhjWae)HL6&_T-f=T0f8JkI6^v97cbKRv;F z6+CNF^7qAsQFgh&LrM5vv3NINs*uQxV+u={HHoQHf)w9Hcj0F^b zwh7zfIKu=v>t`8@iQSBM^!)sZlEhi!egtTx@0HqFwHwLbYD_T4RA=zx%Ov`e_;n~o zg{4gxyw^S3Zx!dFc1blEswG4N8dub|W8~zgX)!bY&ib|)Oj{vYwn~t@f@rcts#!wa zLPJyk$;p$w#|}!rWaN75i@Gm%b>Yx5Z3UBbyoXR+=Am+ucL(;|=chEi0Tf7oLEQY-gkWi{&hF^|Qn!h3=`>p>HY^ z&6+fBuy%@Nf0{}?B~tcF9$_%Kl=GU(X0B8?A=N8`qzl!aL3F2*TYoW_JWZP)>N=#j zU8=@tKDhn@Hg~zT;&_b!RxcKQ{9%)*6+e|?aYHRzEIDU0d?-9HM>_#?lz3ct)Q9ivcO}glsz&pW0s8S2v zrrElo+x%0)+wkw`1Sztl?Ke0ZLLbfZqRKPA0Mx-pwDh&y`Sf~pZj{R?~S&$GCsf~&I14d4w#x4 z*|NSutQX7$1OWD_b?oQ?035R3hKAOrhK3MpGSSo9#{&R3ekjsmnAmSGq!&%JeJrdG zaWsyKd0p&a=UgKpUib!RnvgwbCY=3=sVF;vL`3IF?C<|nnU4+*MF6+U_VEF2=heMax&&QB3>SSaZhpsV753uFt%3Gv zD7t|FmZFKR@!7oZ!d03Jz1Y9G=3NCG_#(O3sl~xo!1gmO4Mc5kme;kC(dWMVL2(9L z$n_kEdd~EOS79;iqAdxd4g`s3P|vvX!gwsXZ4@5sTcx%uppxppJnI_nxS5t+<6bQg zJ*2d1UmvaCQ?V?$XkLOTt}(@4<6Mi~=m=q>O4}^w#nUK5Q^pufq0kU;h%>mIl*4Pe zdD&krSW>jKeMN5OK@047kN+i5`D2mm3uo4zGTo=+a$D@YN3bJ}X0-fdOp5QB$%sLE z`MKoxY_QmiFLD?Y*Y{u7e_HrFmy^+fL>$W$UNS$6BNXMG>?=xfvfMaqGFX>n{D7pjWGZ>^DJKh{|yG*1` zInyRvr@5H);%%v;zFqIWEory%SyhQkf{#lO%+y&f^G0MNKPL|vj|3}r(iB#{JV*Q6 z3nQ(pm$pvO6mHtI_AZETFk*LZq?DK|EyK_s)HIyu1R?tcz5Ed!dO0|p{wzQ09k6z- zb*>(Vqip$pxifeR->g+acvIQ5#w;#X-oo3m>0G!Hll17_Vn7o&6(*(YvaeI_zzlK3 z=|i7wUujnMzt%%Pzz#R+x9Gj^s2Tl`zmvI>N65wGigXR@T#gXa`Bj#tNK@KYpvlwV z+ZHhtr)SV@S=amZaVnhJwF`9_a?Idj3|4S3#?`AEm!TpE@>Z=VyMXU7yu z)`vsyPM;jwtUnbn$cLYIHj3J9(wRBq<(w->n>)DjLcH(BqE*P`vCLchSDw|4O=X!( z0ORbCCBvIipUlSwDOK&%>t7w(qOK>%9ZEd)!I$T{{nZ;1{3nEakRAqu6?Dryn)G_k#b0>R~ zDBeT@WUnsPjp$F&g+lil{dm6X#FKtBBKUouiZvgciY39-R8-+VDzg$%tQnDpWDhKb zNVX>uee_Q5nEN5S_*{YB(A2lnd!4gY`Q zDc+uc+Vmgl_jdj%e-A}E*?Ra9ef;;#(L<=C;Qs*sbP4rs4^8&=VEOzlLG3&Luh`%D zj{mK}U%~%r!|&#>PJ$i}%fLTQl^)NQlR+BmA~P^GI%$9WkiR{~!r4Joe`-L#F0#WC zB2oR|wU>1ZRPCiG1JqI}%80mLx;fr55Dp7_<24p8a9H^>7VSJK%yX0=SaUCO%%J~m zW*MaOl?jz}S@P|Z4Tyq!c}ZneU0vPO8tv>n_~mML9qZoOs^1-6&pjAcEo)=eyM{cmp*n@U-~7h z;QT#1UBoK1&N;SZXOpcFz_5s(Js$ zyUs-gMX6i?L4l|4P>!p;WEg~!2!a`tfr%4k$rw?D^Lc&Hxd!&Wucl;?M)pwtCwUF0H=*Xg6i%Iaqr#o3kvAu zk0?l2>gs{!VKxyfPQ@@IwH->CBu}Idhfc%L(D~CTslBTjReUgs9J!s74*0o&ovHLU z96A$1M?w5Lb(E*>2)Qu(-uyIY_HF5#(M9JR3m2rfedNbyM^dBCr^UW@1LZEI#I3~2 z8mojL<%ACJj(o-W?Oa%w4i}MsEk*yT*XJS#SsqyXIrARkW@hdLGj!^c*fu%K;+3hB zLx56@0Tn6oBvn=F)W3 zUU&84omfR)IeHn#qn@-}*Xy-f8XDHgX7}Uy@*+?T=vw)MmdcE_Z66`VmFe~F`PNF; z^Qkp+5ja`UNzS{@?W1eav2Gc+{Khdir%7WQBVJ{FjTUJ7jEBqBaF5$CN&YW8qejzB z*#!rI+V&a@3~!_XH?_d6lbzmLo0dF^lL>nLavK<#%LnHGUoO4yG*Frld@ul^X_=tu za8-teD-{lTVdGp?4)T@oVmOG`pt-2h-3ih!ud8mfqEQi>ojLNfyQU+9)`Q(|1p}JP z^6G*7QIIFbqrODWec%qRwi6eBX|q**QXd|@Wd*^v3C*Pq=fV3Mho2+y; zgq*Sf85jcc4^`Bxj7u0J=K%nvHO%o6eX-3m!Sc%%ddTXTW8&hZ7pkc&31KY%-*%^%WrBak!i z__a1fWYgEI3Ipbc#X{9=l?^(($3bM=1EVKykG7@Nz=0bvTqdD=_m=4?E2AQV3t|5T Du(Jm+ literal 0 HcmV?d00001 -- 2.39.2