Migrates call_start.png, chat_start.png and call_add.png
|
|
@ -61,6 +61,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
#endif
|
||||
|
||||
#define LINPHONE_ICON "linphone.png"
|
||||
#define LINPHONE_ICON_NAME "linphone"
|
||||
|
||||
enum {
|
||||
COMPLETION_HISTORY,
|
||||
|
|
|
|||
26
gtk/main.c
|
|
@ -1696,24 +1696,16 @@ static void linphone_gtk_configure_main_window(){
|
|||
static gboolean config_loaded=FALSE;
|
||||
static const char *title;
|
||||
static const char *home;
|
||||
static const char *start_call_icon;
|
||||
static const char *add_call_icon;
|
||||
static const char *start_chat_icon;
|
||||
static const char *search_icon;
|
||||
static gboolean update_check_menu;
|
||||
static gboolean buttons_have_borders;
|
||||
static gboolean show_abcd;
|
||||
GtkWidget *w=linphone_gtk_get_main_window();
|
||||
|
||||
if (!config_loaded){
|
||||
title=linphone_gtk_get_ui_config("title","Linphone");
|
||||
home=linphone_gtk_get_ui_config("home","http://www.linphone.org");
|
||||
start_call_icon=linphone_gtk_get_ui_config("start_call_icon","call_start.png");
|
||||
add_call_icon=linphone_gtk_get_ui_config("add_call_icon","call_add.png");
|
||||
start_chat_icon=linphone_gtk_get_ui_config("start_chat_icon","chat_start.png");
|
||||
search_icon=linphone_gtk_get_ui_config("directory_search_icon",NULL);
|
||||
update_check_menu=linphone_gtk_get_ui_config_int("update_check_menu",0);
|
||||
buttons_have_borders=linphone_gtk_get_ui_config_int("buttons_border",1);
|
||||
show_abcd=linphone_gtk_get_ui_config_int("show_abcd",1);
|
||||
config_loaded=TRUE;
|
||||
}
|
||||
|
|
@ -1721,24 +1713,6 @@ static void linphone_gtk_configure_main_window(){
|
|||
if (title) {
|
||||
gtk_window_set_title(GTK_WINDOW(w),title);
|
||||
}
|
||||
if (start_call_icon){
|
||||
gtk_button_set_image(GTK_BUTTON(linphone_gtk_get_widget(w,"start_call")),
|
||||
create_pixmap (start_call_icon));
|
||||
if (!buttons_have_borders)
|
||||
gtk_button_set_relief(GTK_BUTTON(linphone_gtk_get_widget(w,"start_call")),GTK_RELIEF_NONE);
|
||||
}
|
||||
if (add_call_icon){
|
||||
gtk_button_set_image(GTK_BUTTON(linphone_gtk_get_widget(w,"add_call")),
|
||||
create_pixmap (add_call_icon));
|
||||
if (!buttons_have_borders)
|
||||
gtk_button_set_relief(GTK_BUTTON(linphone_gtk_get_widget(w,"add_call")),GTK_RELIEF_NONE);
|
||||
}
|
||||
if (start_chat_icon){
|
||||
gtk_button_set_image(GTK_BUTTON(linphone_gtk_get_widget(w,"start_chat")),
|
||||
create_pixmap (start_chat_icon));
|
||||
if (!buttons_have_borders)
|
||||
gtk_button_set_relief(GTK_BUTTON(linphone_gtk_get_widget(w,"start_chat")),GTK_RELIEF_NONE);
|
||||
}
|
||||
if (search_icon){
|
||||
GdkPixbuf *pbuf=create_pixbuf(search_icon);
|
||||
if(pbuf) {
|
||||
|
|
|
|||
21
gtk/main.ui
|
|
@ -3,6 +3,12 @@
|
|||
<requires lib="gtk+" version="2.18"/>
|
||||
<!-- interface-naming-policy toplevel-contextual -->
|
||||
<!-- interface-local-resource-path /home/francois/projects/linphone/linphone/pixmaps/hicolor -->
|
||||
<object class="GtkImage" id="add_call_image">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="pixel_size">32</property>
|
||||
<property name="icon_name">linphone-add-call</property>
|
||||
</object>
|
||||
<object class="GtkImage" id="add_image">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
|
|
@ -114,6 +120,18 @@
|
|||
<property name="tooltip_text" translatable="yes">Delete</property>
|
||||
<property name="stock">gtk-remove</property>
|
||||
</object>
|
||||
<object class="GtkImage" id="start_call_image">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="pixel_size">32</property>
|
||||
<property name="icon_name">linphone-start-call</property>
|
||||
</object>
|
||||
<object class="GtkImage" id="start_chat_image">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="pixel_size">32</property>
|
||||
<property name="icon_name">linphone-start-chat</property>
|
||||
</object>
|
||||
<object class="GtkWindow" id="main">
|
||||
<property name="width_request">640</property>
|
||||
<property name="height_request">480</property>
|
||||
|
|
@ -380,6 +398,7 @@
|
|||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="tooltip_text" translatable="yes">Initiate a new call</property>
|
||||
<property name="image">add_call_image</property>
|
||||
<signal name="clicked" handler="linphone_gtk_start_call" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
|
|
@ -394,6 +413,7 @@
|
|||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="image">start_call_image</property>
|
||||
<signal name="clicked" handler="linphone_gtk_start_call" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
|
|
@ -407,6 +427,7 @@
|
|||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="image">start_chat_image</property>
|
||||
<signal name="clicked" handler="linphone_gtk_start_chat" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
|
|
|
|||
|
|
@ -316,15 +316,13 @@ static void _linphone_status_icon_impl_gtk_popup_menu(GtkStatusIcon *status_icon
|
|||
}
|
||||
|
||||
static void _linphone_status_icon_impl_gtk_init(LinphoneStatusIcon *si) {
|
||||
const char *icon_path=linphone_gtk_get_ui_config("icon",LINPHONE_ICON);
|
||||
const char *call_icon_path=linphone_gtk_get_ui_config("start_call_icon","call_start.png");
|
||||
GdkPixbuf *pbuf=create_pixbuf(icon_path);
|
||||
GtkStatusIcon *icon=gtk_status_icon_new_from_pixbuf(pbuf);
|
||||
const char *icon_name=linphone_gtk_get_ui_config("icon_name",LINPHONE_ICON_NAME);
|
||||
const char *blinking_icon_name=linphone_gtk_get_ui_config("binking_status_icon_name","linphone-start-call");
|
||||
GtkStatusIcon *icon=gtk_status_icon_new_from_icon_name(icon_name);
|
||||
g_signal_connect_swapped(G_OBJECT(icon),"activate", G_CALLBACK(_linphone_status_icon_impl_gtk_on_click_cb), si);
|
||||
g_signal_connect(G_OBJECT(icon), "popup-menu", G_CALLBACK(_linphone_status_icon_impl_gtk_popup_menu), si);
|
||||
g_object_set_data_full(G_OBJECT(icon),"icon",pbuf, g_object_unref);
|
||||
pbuf=create_pixbuf(call_icon_path);
|
||||
g_object_set_data_full(G_OBJECT(icon),"call_icon",pbuf, g_object_unref);
|
||||
g_object_set_data_full(G_OBJECT(icon), "icon", g_strdup(icon_name), g_free);
|
||||
g_object_set_data_full(G_OBJECT(icon), "call_icon", g_strdup(blinking_icon_name), g_free);
|
||||
si->data = icon;
|
||||
}
|
||||
|
||||
|
|
@ -344,13 +342,13 @@ static void _linphone_status_icon_impl_gtk_start(LinphoneStatusIcon *si) {
|
|||
}
|
||||
|
||||
static gboolean _linphone_status_icon_impl_gtk_do_icon_blink_cb(GtkStatusIcon *gi){
|
||||
GdkPixbuf *call_icon=g_object_get_data(G_OBJECT(gi),"call_icon");
|
||||
GdkPixbuf *normal_icon=g_object_get_data(G_OBJECT(gi),"icon");
|
||||
GdkPixbuf *cur_icon=gtk_status_icon_get_pixbuf(gi);
|
||||
if (cur_icon==call_icon){
|
||||
gtk_status_icon_set_from_pixbuf(gi,normal_icon);
|
||||
const gchar *call_icon = (const gchar *)g_object_get_data(G_OBJECT(gi),"call_icon");
|
||||
const gchar *normal_icon = (const gchar *)g_object_get_data(G_OBJECT(gi),"icon");
|
||||
const gchar *cur_icon = (const gchar *)gtk_status_icon_get_icon_name(gi);
|
||||
if (cur_icon == call_icon){
|
||||
gtk_status_icon_set_from_icon_name(gi,normal_icon);
|
||||
}else{
|
||||
gtk_status_icon_set_from_pixbuf(gi,call_icon);
|
||||
gtk_status_icon_set_from_icon_name(gi,call_icon);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
|
@ -363,10 +361,10 @@ static void _linphone_status_icon_impl_enable_blinking(LinphoneStatusIcon *si, g
|
|||
tout=g_timeout_add(500,(GSourceFunc)_linphone_status_icon_impl_gtk_do_icon_blink_cb,icon);
|
||||
g_object_set_data(G_OBJECT(icon),"timeout",GINT_TO_POINTER(tout));
|
||||
}else if (!val && tout!=0){
|
||||
GdkPixbuf *normal_icon=g_object_get_data(G_OBJECT(icon),"icon");
|
||||
const gchar *normal_icon = (const gchar *)g_object_get_data(G_OBJECT(icon),"icon");
|
||||
g_source_remove(tout);
|
||||
g_object_set_data(G_OBJECT(icon),"timeout",NULL);
|
||||
gtk_status_icon_set_from_pixbuf(icon,normal_icon);
|
||||
gtk_status_icon_set_from_icon_name(icon,normal_icon);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -42,6 +42,12 @@ install(FILES
|
|||
PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ
|
||||
)
|
||||
|
||||
install(FILES
|
||||
svg/linphone-start-call.svg
|
||||
DESTINATION ${ICONS_INSTALL_DIR}/scalable/actions
|
||||
PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ
|
||||
)
|
||||
|
||||
install(FILES
|
||||
linphone-micro-muted.png
|
||||
linphone-speaker-muted.png
|
||||
|
|
@ -62,6 +68,9 @@ install(FILES
|
|||
install(FILES
|
||||
linphone-start-call2.png
|
||||
linphone-show-dialer.png
|
||||
linphone-add-call.png
|
||||
linphone-start-call.png
|
||||
linphone-start-chat.png
|
||||
DESTINATION ${ICONS_INSTALL_DIR}/48x48/actions
|
||||
PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ
|
||||
)
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@ pixmapdir=$(datadir)/pixmaps/linphone
|
|||
dist_pixmap_DATA= \
|
||||
hold_on.png hold_off.png \
|
||||
linphone.png linphone-banner.png \
|
||||
chat_start.png \
|
||||
chat_message_inprogress.png chat_message_delivered.png chat_message_not_delivered.png\
|
||||
contact-orange.png history-orange.png\
|
||||
call_start.png startcall-small.png stopcall-red.png stopcall-small.png call_add.png linphone.icns \
|
||||
startcall-small.png stopcall-red.png stopcall-small.png linphone.icns \
|
||||
contact_starred.png contact_unstarred.png \
|
||||
call_status_incoming.png call_status_outgoing.png \
|
||||
ok.png \
|
||||
|
|
@ -48,5 +47,7 @@ dist_statussvgicons_DATA= \
|
|||
actions48iconsdir=$(iconsdir)/48x48/actions
|
||||
dist_actions48icons_DATA= \
|
||||
linphone-start-call2.png \
|
||||
linphone-show-dialer.png
|
||||
linphone-show-dialer.png \
|
||||
linphone-add-call.png \
|
||||
linphone-start-call.png
|
||||
)
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 3.9 KiB |
BIN
pixmaps/linphone-add-call.png
Normal file
|
After Width: | Height: | Size: 7.6 KiB |
BIN
pixmaps/linphone-start-call.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
pixmaps/linphone-start-chat.png
Normal file
|
After Width: | Height: | Size: 4.9 KiB |
77
pixmaps/svg/linphone-start-call.svg
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
|
||||
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="Calque_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
width="128"
|
||||
height="128"
|
||||
viewBox="0 0 127.99999 128"
|
||||
enable-background="new 0 0 595.28 841.89"
|
||||
xml:space="preserve"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="linphone-status-online.svg"
|
||||
inkscape:export-filename="/home/francois/projects/linphone/linphone/pixmaps/linphone-status-online.png"
|
||||
inkscape:export-xdpi="33.75"
|
||||
inkscape:export-ydpi="33.75"><metadata
|
||||
id="metadata26"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs24" /><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1366"
|
||||
inkscape:window-height="709"
|
||||
id="namedview22"
|
||||
showgrid="false"
|
||||
inkscape:zoom="3.1714775"
|
||||
inkscape:cx="73.326021"
|
||||
inkscape:cy="51.06876"
|
||||
inkscape:window-x="-4"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="Calque_1" /><g
|
||||
id="g3"
|
||||
transform="matrix(5.0401244,0,0,5.0235343,-745.02721,-2084.4323)"><g
|
||||
id="g5"><g
|
||||
id="g7"><g
|
||||
id="g9"><linearGradient
|
||||
id="SVGID_1_"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="148.6731"
|
||||
y1="423.5444"
|
||||
x2="172.78819"
|
||||
y2="430.00601"
|
||||
gradientTransform="translate(0.2803,-0.1104)"><stop
|
||||
offset="0.15"
|
||||
style="stop-color:#3BCB09"
|
||||
id="stop12" /><stop
|
||||
offset="0.35"
|
||||
style="stop-color:#F4F7EE"
|
||||
id="stop14" /><stop
|
||||
offset="0.55"
|
||||
style="stop-color:#3BCB09"
|
||||
id="stop16" /></linearGradient><path
|
||||
d="m 153.954,437.025 c 0.778,0.367 1.692,0.773 3.042,1.102 1.429,0.312 2.855,0.531 4.406,0.49 1.635,-0.082 2.449,-0.246 3.757,-0.572 1.184,-0.367 1.755,-0.572 2.692,-1.061 0.41,-0.205 0.735,-0.408 1.551,-0.98 0.533,-0.41 1.145,-0.898 1.729,-1.725 0.494,-0.574 0.986,-1.559 1.312,-2.379 0.369,-0.82 0.574,-1.723 0.574,-2.705 -0.042,-1.725 -0.452,-3.285 -1.312,-4.637 -0.74,-1.148 -1.686,-2.174 -2.791,-2.994 l 1.804,-4.839 -6.231,2.542 c -0.164,-0.041 -0.327,-0.082 -0.452,-0.124 -1.603,-0.491 -3.118,-0.696 -4.595,-0.737 -1.929,0.041 -3.69,0.328 -5.25,0.902 -1.478,0.616 -2.707,1.437 -3.69,2.502 -0.984,1.107 -2,2.816 -2.246,4.336 -0.365,1.896 -0.267,3.164 0.021,4.311 0.328,1.148 0.69,2.057 1.492,3.221 0.872,1 1.264,1.428 2,2 0.901,0.652 1.49,0.976 2.187,1.347 z m 3.317,-0.942 c -1.146,-0.326 -2.051,-0.656 -2.707,-1.027 -0.576,-0.328 -1.231,-0.777 -1.889,-1.312 -0.614,-0.531 -1.189,-1.146 -1.682,-1.926 -0.532,-0.738 -0.86,-1.602 -1.025,-2.584 -0.205,-1.438 -0.123,-2.666 0.286,-3.652 0.41,-0.984 0.981,-1.807 1.723,-2.381 0.78,-0.615 1.601,-1.064 2.462,-1.395 0.861,-0.287 1.683,-0.489 2.46,-0.614 0.738,-0.081 1.312,-0.164 1.683,-0.164 1.354,0 2.707,0.205 4.019,0.571 1.355,0.371 2.628,0.943 3.775,1.684 1.106,0.777 2.051,1.723 2.749,2.871 0.41,0.697 0.695,1.314 0.899,1.973 0.205,0.615 0.328,1.229 0.328,1.803 -0.042,1.148 -0.41,2.256 -1.146,3.24 -0.696,1.027 -1.765,1.807 -3.157,2.42 -1.354,0.658 -2.954,0.945 -4.799,0.945 -1.518,0.002 -2.83,-0.164 -3.979,-0.452 z"
|
||||
id="path18"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:url(#SVGID_1_)" /></g></g></g><path
|
||||
d="m 158.761,433.871 c 1.771,0.467 3.646,0.637 5.186,0.26 2.91,-0.705 3.85,-1.676 3.697,-4.115 0,0 0.056,-1.176 -2.427,-1.133 -0.551,0.01 -1.954,0.309 -2.153,0.906 -0.198,0.605 0.103,1.217 0.119,1.512 0.018,0.299 -0.803,0.701 -1.146,0.732 -0.447,0.043 -1.575,-0.025 -2.713,-0.307 l -0.051,-0.014 c -1.128,-0.316 -2.144,-0.811 -2.511,-1.074 -0.281,-0.197 -0.796,-0.951 -0.635,-1.199 0.16,-0.252 0.726,-0.635 0.851,-1.258 0.125,-0.623 -0.954,-1.57 -1.425,-1.85 -2.137,-1.266 -2.672,-0.217 -2.672,-0.217 -1.333,2.049 -0.999,3.354 1.181,5.404 1.16,1.092 2.872,1.865 4.641,2.332 l 0.058,0.021 z"
|
||||
id="path20"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#3bcb09" /></g></svg>
|
||||
|
After Width: | Height: | Size: 4.7 KiB |