Commit 4ec27bb1 authored by Julien Bonjean's avatar Julien Bonjean

Fixed contact list refresh, added icon

parent e0d29f2f
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.46"
width="22"
height="22"
version="1.0"
sodipodi:docname="contacts.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs5">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
id="perspective9" />
</defs>
<sodipodi:namedview
inkscape:window-height="684"
inkscape:window-width="640"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
guidetolerance="10.0"
gridtolerance="10.0"
objecttolerance="10.0"
borderopacity="1.0"
bordercolor="#666666"
pagecolor="#ffffff"
id="base"
showgrid="false"
inkscape:zoom="21"
inkscape:cx="11"
inkscape:cy="11"
inkscape:window-x="1445"
inkscape:window-y="50"
inkscape:current-layer="svg2" />
<image
xlink:href="contacts.png"
sodipodi:absref="/home/jbonjean/img/contacts.png"
width="22"
height="22"
id="image11"
x="0"
y="0" />
<g
id="g2402">
<path
style="fill:#9dccf4"
d="M 0.2521834,15.5 C 0.24108402,13.3 0.43678756,12.282253 0.68708016,13.238341 C 0.93737277,14.194428 0.94645408,15.994428 0.70726087,17.238341 C 0.46806765,18.482253 0.26328279,17.7 0.2521834,15.5 z M 5,12 C 5,11.45 5.45,11 6,11 C 6.55,11 7,11.45 7,12 C 7,12.55 6.55,13 6,13 C 5.45,13 5,12.55 5,12 z M 15,6 C 15,5.45 13.7625,4.9644737 12.25,4.9210526 C 10.7375,4.8776316 10.081811,4.6086947 10.792913,4.323415 C 12.573354,3.6091382 17,4.8183986 17,6.019052 C 17,6.5585734 16.55,7 16,7 C 15.45,7 15,6.55 15,6 z M 1,3.8613281 C 1,3.3875977 2.125,3 3.5,3 C 6.7094136,3 6.7094136,3.6312327 3.5,4.244751 C 2.125,4.5075989 1,4.3350586 1,3.8613281 z M 9.25,2.2837456 C 10.7625,2.0546209 13.2375,2.0546209 14.75,2.2837456 C 16.2625,2.5128702 15.025,2.7003358 12,2.7003358 C 8.975,2.7003358 7.7375,2.5128702 9.25,2.2837456 z"
id="path2416" />
<path
style="fill:#58a2e8"
d="M 1,12.626405 C 1,8.4968008 1.4576322,4.8352017 2.0169604,4.4895179 C 3.9027007,3.3240663 19.468558,2.1368069 20.45,3.083569 C 21.02965,3.6427365 19.177899,4 15.7,4 L 10,4 L 10,10.980948 C 10,17.781498 9.928936,17.977711 7.25,18.573893 C 5.7375,18.910491 3.7125,19.399389 2.75,19.660333 C 1.1965898,20.081478 1,19.291307 1,12.626405 z M 9,9.3865006 C 9,5.0400237 8.968065,5 5.5,5 C 2.0384615,5 2,5.047619 2,9.3333333 C 2,14.558033 2.1770643,14.774396 5.9943091,14.214143 C 8.8113757,13.800685 9,13.497723 9,9.3865006 z M 20.078947,11.583333 C 20.035526,10.529167 20.271875,9.9385417 20.604167,10.270833 C 20.936458,10.603125 20.971985,11.465625 20.683114,12.1875 C 20.363888,12.985233 20.126931,12.748276 20.078947,11.583333 z"
id="path2414" />
<path
style="fill:#9c9c9d"
d="M 18,21.059017 C 18,20.476558 18.45,20 19,20 C 19.55,20 20,20.198442 20,20.440983 C 20,20.683524 19.55,21.160081 19,21.5 C 18.45,21.839919 18,21.641476 18,21.059017 z M 18.570027,16.113307 C 18.268624,15.625626 18.804566,14.613126 19.76101,13.863307 C 21.297177,12.659006 21.355221,12.68568 20.258676,14.092009 C 19.575948,14.967614 19.313448,15.980114 19.675343,16.342009 C 20.037238,16.703904 20.059891,17 19.725684,17 C 19.391476,17 18.871431,16.600988 18.570027,16.113307 z M 13.75,13.337719 C 14.4375,13.060307 15.5625,13.060307 16.25,13.337719 C 16.9375,13.615132 16.375,13.842105 15,13.842105 C 13.625,13.842105 13.0625,13.615132 13.75,13.337719 z M 15.270833,8.3958333 C 15.603125,8.0635417 16.465625,8.0280154 17.1875,8.316886 C 17.985233,8.6361123 17.748276,8.8730687 16.583333,8.9210526 C 15.529167,8.9644737 14.938542,8.728125 15.270833,8.3958333 z M 11.75,6.3377193 C 12.4375,6.060307 13.5625,6.060307 14.25,6.3377193 C 14.9375,6.6151316 14.375,6.8421053 13,6.8421053 C 11.625,6.8421053 11.0625,6.6151316 11.75,6.3377193 z M 17.270833,5.3958333 C 17.603125,5.0635417 18.465625,5.0280154 19.1875,5.316886 C 19.985233,5.6361123 19.748276,5.8730687 18.583333,5.9210526 C 17.529167,5.9644737 16.938542,5.728125 17.270833,5.3958333 z"
id="path2412" />
<path
style="fill:#d99e37"
d="M 4.6875,10.354167 C 3.3834011,9.0500678 4.0060077,8 6.0833333,8 C 7.247076,8 7.9919444,8.5241667 7.7708333,9.1875 C 7.283719,10.648843 5.6139723,11.280639 4.6875,10.354167 z"
id="path2410" />
<path
style="fill:#6a6c6f"
d="M 13.730968,21.344063 C 14.408001,21.07014 15.758001,21.053466 16.730968,21.307009 C 17.703936,21.560553 17.15,21.784672 15.5,21.805051 C 13.85,21.825431 13.053936,21.617986 13.730968,21.344063 z M 5.2708333,19.395833 C 5.603125,19.063542 6.465625,19.028015 7.1875,19.316886 C 7.9852327,19.636112 7.7482763,19.873069 6.5833333,19.921053 C 5.5291667,19.964474 4.9385417,19.728125 5.2708333,19.395833 z M 19.575839,18 C 19.952889,16.625 20.581769,12.575 20.973351,9 L 21.685316,2.5 L 21.842658,8.1351902 C 21.935064,11.444713 21.358305,15.159052 20.445147,17.13519 C 19.509398,19.160216 19.163261,19.504562 19.575839,18 z M 13.75,14.337719 C 14.4375,14.060307 15.5625,14.060307 16.25,14.337719 C 16.9375,14.615132 16.375,14.842105 15,14.842105 C 13.625,14.842105 13.0625,14.615132 13.75,14.337719 z"
id="path2408" />
<path
style="fill:#1364be"
d="M 13.201803,17.543564 C 11.626143,14.085366 11.723875,13.052161 13.415695,15.282342 C 14.680186,16.949212 14.937274,16.863258 17.383892,13.955617 C 18.822751,12.24563 19.987895,11.443576 19.973099,12.173275 C 19.958304,12.902974 18.699115,15.003278 17.174902,16.840617 L 14.403606,20.181234 L 13.201803,17.543564 z M 2,13.059017 C 2,11.361136 4.2025454,10.713671 5.1879344,12.121885 C 5.9336962,13.187649 6.2672199,13.216686 6.6594643,12.25 C 7.365864,10.509078 9,10.683626 9,12.5 C 9,13.547619 7.9444444,14 5.5,14 C 3.575,14 2,13.576558 2,13.059017 z"
id="path2406" />
<path
style="fill:#a36f02"
d="M 3,8.5 C 3,6.5 3.5,6 5.5,6 C 6.875,6 8,6.45 8,7 C 8,7.55 7.051855,8 5.8930112,8 C 4.4309749,8 3.9622157,8.4591523 4.3616264,9.5 C 4.6782086,10.325 4.5013536,11 3.9686152,11 C 3.4358768,11 3,9.875 3,8.5 z"
id="path2404" />
</g>
</svg>
......@@ -26,6 +26,7 @@
#include <statusicon.h>
#include <calltab.h>
#include <historyfilter.h>
#include <contactlist/eds.h>
#include <gtk/gtk.h>
#include <string.h>
......@@ -234,6 +235,7 @@ gboolean sflphone_init()
contacts = calltab_init();
if(SHOW_SEARCHBAR) histfilter = create_filter(GTK_TREE_MODEL(history->store));
contactfilter = create_filter(GTK_TREE_MODEL(contacts->store));
init();
account_list_init ();
codec_list_init();
sflphone_fill_account_list(FALSE);
......
......@@ -180,17 +180,11 @@ toggle_history(GtkToggleToolButton *toggle_tool_button UNUSED,
{
GtkTreeSelection *sel;
if(history_shown){
active_calltree = current_calls;
gtk_widget_hide(history->tree);
gtk_widget_show(current_calls->tree);
history_shown = FALSE;
}else{
active_calltree = history;
gtk_widget_hide(current_calls->tree);
gtk_widget_hide(contacts->tree);
gtk_widget_show(history->tree);
history_shown = TRUE;
}
sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (active_calltree->view));
g_signal_emit_by_name(sel, "changed");
......@@ -207,15 +201,19 @@ toggle_contacts(GtkToggleToolButton *toggle_tool_button UNUSED,
GtkTreeSelection *sel;
GList *results;
GList *i;
char ext[30];
// Reset previous results
call_list_reset(contacts);
reset_call_tree(contacts);
//gtk_init (&argc, &argv);
init();
results = search_sync ("s", 50);
// Do a synchronized search
results = search_sync ("j", 50);
if(results == NULL)
{
printf("null\n");
return -1;
printf("No results\n");
return ;
}
for (i = results; i != NULL; i = i->next)
......@@ -228,11 +226,10 @@ toggle_contacts(GtkToggleToolButton *toggle_tool_button UNUSED,
call = g_new0 (call_t, 1);
call->accountID = g_strdup("Account:1235677223");
//call->callID = g_strdup("468809080");
call->callID = g_new0(gchar, 30);
g_sprintf(call->callID, "%d", rand());
call->to = g_strdup("\"\" <66e>");
call->from = g_strconcat("\"\" <", entry->text , ">");
sprintf(ext, "%d", rand()%100 + 100);
call->from = g_strconcat("\"" , entry->text, "\"<", ext, ">", NULL);
call->state = CALL_STATE_RECORD;
call->history_state = OUTGOING;
......@@ -240,44 +237,7 @@ toggle_contacts(GtkToggleToolButton *toggle_tool_button UNUSED,
update_call_tree_add(contacts,call);
}
}
/*
call_t * call;
call = g_new0 (call_t, 1);
call->accountID = g_strdup("Account:1235677223");
call->callID = g_strdup("468809080");
call->callID = g_new0(gchar, 30);
g_sprintf(call->callID, "%d", rand());
call->from = g_strdup("\"\" <666>");
call->to = g_strdup("");
call->state = CALL_STATE_INCOMING;
call->history_state = INCOMING;
*/
/*
call_list_add (contacts, call);
update_call_tree_add(contacts,call);
*/
/*
g_queue_push_tail (calltree->callQueue, (gpointer *) call);
g_queue_push_tail (calltree->callQueue, (gpointer *) call);
*/
/*
if(history_shown){
active_calltree = current_calls;
gtk_widget_hide(history->tree);
gtk_widget_show(current_calls->tree);
history_shown = FALSE;
}else{
active_calltree = history;
gtk_widget_hide(current_calls->tree);
gtk_widget_show(history->tree);
history_shown = TRUE;
}
*/
gtk_widget_hide(current_calls->tree);
gtk_widget_hide(history->tree);
gtk_widget_show(contacts->tree);
......@@ -585,26 +545,22 @@ create_toolbar ()
gtk_toolbar_insert(GTK_TOOLBAR(ret), GTK_TOOL_ITEM(transfertButton), -1);
image = gtk_image_new_from_file( ICONS_DIR "/history2.svg");
historyButton = gtk_toggle_tool_button_new();
gtk_tool_button_set_icon_widget(GTK_TOOL_BUTTON(historyButton), image);
historyButton = gtk_tool_button_new(image, _("History"));
#if GTK_CHECK_VERSION(2,12,0)
gtk_widget_set_tooltip_text(GTK_WIDGET(historyButton), _("History"));
#endif
gtk_tool_button_set_label(GTK_TOOL_BUTTON(historyButton), _("History"));
g_signal_connect (G_OBJECT (historyButton), "toggled",
g_signal_connect (G_OBJECT (historyButton), "clicked",
G_CALLBACK (toggle_history), NULL);
gtk_toolbar_insert(GTK_TOOLBAR(ret), GTK_TOOL_ITEM(historyButton), -1);
history_shown = FALSE;
active_calltree = current_calls;
image = gtk_image_new_from_file( ICONS_DIR "/history2.svg");
contactButton = gtk_toggle_tool_button_new();
gtk_tool_button_set_icon_widget(GTK_TOOL_BUTTON(contactButton), image);
image = gtk_image_new_from_file( ICONS_DIR "/contacts.svg");
contactButton = gtk_tool_button_new(image, _("Contacts"));
#if GTK_CHECK_VERSION(2,12,0)
gtk_widget_set_tooltip_text(GTK_WIDGET(contactButton), _("Contacts"));
#endif
gtk_tool_button_set_label(GTK_TOOL_BUTTON(contactButton), _("Contacts"));
g_signal_connect (G_OBJECT (contactButton), "toggled",
g_signal_connect (G_OBJECT (contactButton), "clicked",
G_CALLBACK (toggle_contacts), NULL);
gtk_toolbar_insert(GTK_TOOLBAR(ret), GTK_TOOL_ITEM(contactButton), -1);
......@@ -657,6 +613,15 @@ on_key_released (GtkWidget *widget UNUSED,
return TRUE;
}
/**
* Reset call tree
*/
void
reset_call_tree (calltab_t* tab)
{
gtk_list_store_clear (tab->store);
}
void
create_call_tree (calltab_t* tab)
{
......@@ -933,6 +898,9 @@ update_call_tree_add (calltab_t* tab, call_t * c)
g_warning("History - Should not happen!");
}
date = timestamp_get_call_date();
if(tab == contacts)
description = g_strconcat( description , NULL);
else
description = g_strconcat( date , description , NULL);
}
......
......@@ -63,6 +63,8 @@ void update_call_tree (calltab_t* ct, call_t * c);
*/
void update_call_tree_remove (calltab_t* ct, call_t * c);
void reset_call_tree (calltab_t* tab);
/**
* Build the toolbar
* @return GtkWidget* The toolbar
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment