diff --git a/gtk/incall_view.c b/gtk/incall_view.c index 15b1396bb..db056fdc8 100644 --- a/gtk/incall_view.c +++ b/gtk/incall_view.c @@ -646,16 +646,26 @@ static void volume_control_value_changed(GtkScaleButton *button, gdouble value, } } +static void volume_control_button_update_value(GtkWidget *widget) { + LinphoneCall *call = (LinphoneCall *)g_object_get_data(G_OBJECT(widget), "call"); + VolumeControlType type = (VolumeControlType)g_object_get_data(G_OBJECT(widget), "type"); + + if(type == VOLUME_CTRL_PLAYBACK) { + gtk_scale_button_set_value(GTK_SCALE_BUTTON(widget), linphone_call_get_speaker_volume_gain(call)); + } else if(type == VOLUME_CTRL_RECORD) { + gtk_scale_button_set_value(GTK_SCALE_BUTTON(widget), linphone_call_get_microphone_volume_gain(call)); + } +} + +static gboolean volume_control_button_enter_event_handler(GtkWidget *widget) { + volume_control_button_update_value(widget); + return FALSE; +} + static void volume_control_init(GtkWidget *vol_ctrl, VolumeControlType type, LinphoneCall *call) { g_object_set_data(G_OBJECT(vol_ctrl), "call", call); g_object_set_data(G_OBJECT(vol_ctrl), "type", (gpointer)type); - - if(type == VOLUME_CTRL_PLAYBACK) { - gtk_scale_button_set_value(GTK_SCALE_BUTTON(vol_ctrl), linphone_call_get_speaker_volume_gain(call)); - } else if(type == VOLUME_CTRL_RECORD) { - gtk_scale_button_set_value(GTK_SCALE_BUTTON(vol_ctrl), linphone_call_get_microphone_volume_gain(call)); - } - + g_signal_connect(G_OBJECT(vol_ctrl), "enter-notify-event", G_CALLBACK(volume_control_button_enter_event_handler), NULL); g_signal_connect(G_OBJECT(vol_ctrl), "value-changed", G_CALLBACK(volume_control_value_changed), NULL); } @@ -864,22 +874,11 @@ void linphone_gtk_in_call_view_set_transfer_status(LinphoneCall *call,LinphoneCa } void linphone_gtk_draw_mute_button(GtkButton *button, gboolean active){ + const char *icon_name = active ? "linphone-micro-muted" : "linphone-micro-enabled"; + GtkWidget *image = gtk_image_new_from_icon_name(icon_name, GTK_ICON_SIZE_BUTTON); + gtk_button_set_image(button, image); + gtk_widget_show(image); g_object_set_data(G_OBJECT(button),"active",GINT_TO_POINTER(active)); - if (active){ - GtkWidget *image=create_pixmap("mic_muted.png"); - /*gtk_button_set_label(GTK_BUTTON(button),_("Unmute"));*/ - if (image!=NULL) { - gtk_button_set_image(GTK_BUTTON(button),image); - gtk_widget_show(image); - } - }else{ - GtkWidget *image=create_pixmap("mic_active.png"); - /*gtk_button_set_label(GTK_BUTTON(button),_("Mute"));*/ - if (image!=NULL) { - gtk_button_set_image(GTK_BUTTON(button),image); - gtk_widget_show(image); - } - } } void linphone_gtk_mute_clicked(GtkButton *button){ diff --git a/gtk/main.c b/gtk/main.c index f9bc2722d..5a03ac033 100644 --- a/gtk/main.c +++ b/gtk/main.c @@ -2124,6 +2124,17 @@ int main(int argc, char *argv[]){ /*for pulseaudio:*/ g_setenv("PULSE_PROP_media.role", "phone", TRUE); #endif + + /* Add the data directory of Linphone to XDG_DATA_DIRS to enable GTK+ to find + the Linphone specific icons */ + tmp = g_getenv("XDG_DATA_DIRS"); + if(tmp && strlen(tmp) > 0) { + char *xdg_data_dirs = g_strdup_printf("%s:%s", tmp, PACKAGE_DATA_DIR "/linphone"); + g_setenv("XDG_DATA_DIRS", xdg_data_dirs, TRUE); + g_free(xdg_data_dirs); + } else { + g_setenv("XDG_DATA_DIRS", PACKAGE_DATA_DIR "/linphone", FALSE); + } lang=linphone_gtk_get_lang(config_file); if (lang == NULL || lang[0]=='\0'){ diff --git a/gtk/main.ui b/gtk/main.ui index 50f2a106f..3f9d7fbe5 100644 --- a/gtk/main.ui +++ b/gtk/main.ui @@ -2,6 +2,7 @@ + True False @@ -304,10 +305,7 @@ none False vertical - audio-volume-muted -audio-volume-high -audio-volume-low -audio-volume-medium + linphone-micro-enabled False @@ -350,10 +348,7 @@ audio-volume-medium none False vertical - audio-volume-muted -audio-volume-high -audio-volume-low -audio-volume-medium + linphone-speaker-enabled False diff --git a/pixmaps/CMakeLists.txt b/pixmaps/CMakeLists.txt index 800869425..8ad2c4485 100644 --- a/pixmaps/CMakeLists.txt +++ b/pixmaps/CMakeLists.txt @@ -27,6 +27,11 @@ install(FILES ${PIXMAPS} PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ ) +install(DIRECTORY hicolor DESTINATION ${PACKAGE_DATA_DIR}/linphone/icons + FILE_PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ + DIRECTORY_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE +) + install(FILES linphone.png DESTINATION ${PACKAGE_DATA_DIR}/icons/hicolor/48x48/apps PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ diff --git a/pixmaps/Makefile.am b/pixmaps/Makefile.am index b0fb73d8a..2b26e25f0 100644 --- a/pixmaps/Makefile.am +++ b/pixmaps/Makefile.am @@ -1,6 +1,5 @@ pixmapdir=$(datadir)/pixmaps/linphone - -pixmap_DATA= \ +dist_pixmap_DATA= \ hold_on.png hold_off.png \ mic_muted.png mic_active.png \ linphone.png linphone-banner.png \ @@ -21,9 +20,9 @@ pixmap_DATA= \ notok.png -iconsdir=$(datadir)/icons/hicolor/48x48/apps +appicondir=$(datadir)/icons/hicolor/48x48/apps +dist_appicon_DATA= linphone.png -icons_DATA= linphone.png +iconsdir=$(datadir)/linphone/icons +dist_icons_DATA=hicolor - -EXTRA_DIST=$(pixmap_DATA) $(icons_DATA) diff --git a/pixmaps/hicolor/16x16/status/linphone-micro-enabled.png b/pixmaps/hicolor/16x16/status/linphone-micro-enabled.png new file mode 100644 index 000000000..c0aae0a2a Binary files /dev/null and b/pixmaps/hicolor/16x16/status/linphone-micro-enabled.png differ diff --git a/pixmaps/hicolor/16x16/status/linphone-micro-muted.png b/pixmaps/hicolor/16x16/status/linphone-micro-muted.png new file mode 100644 index 000000000..335a2532c Binary files /dev/null and b/pixmaps/hicolor/16x16/status/linphone-micro-muted.png differ diff --git a/pixmaps/hicolor/16x16/status/linphone-speaker-enabled.png b/pixmaps/hicolor/16x16/status/linphone-speaker-enabled.png new file mode 100644 index 000000000..aba6c2053 Binary files /dev/null and b/pixmaps/hicolor/16x16/status/linphone-speaker-enabled.png differ diff --git a/pixmaps/hicolor/16x16/status/linphone-speaker-muted.png b/pixmaps/hicolor/16x16/status/linphone-speaker-muted.png new file mode 100644 index 000000000..897024cd9 Binary files /dev/null and b/pixmaps/hicolor/16x16/status/linphone-speaker-muted.png differ diff --git a/pixmaps/hicolor/24x24/status/.directory b/pixmaps/hicolor/24x24/status/.directory new file mode 100644 index 000000000..c8a3bf660 --- /dev/null +++ b/pixmaps/hicolor/24x24/status/.directory @@ -0,0 +1,4 @@ +[Dolphin] +PreviewsShown=true +Timestamp=2015,8,3,15,21,55 +Version=3 diff --git a/pixmaps/hicolor/24x24/status/linphone-micro-enabled.png b/pixmaps/hicolor/24x24/status/linphone-micro-enabled.png new file mode 100644 index 000000000..040601904 Binary files /dev/null and b/pixmaps/hicolor/24x24/status/linphone-micro-enabled.png differ diff --git a/pixmaps/hicolor/24x24/status/linphone-micro-muted.png b/pixmaps/hicolor/24x24/status/linphone-micro-muted.png new file mode 100644 index 000000000..4f930da9a Binary files /dev/null and b/pixmaps/hicolor/24x24/status/linphone-micro-muted.png differ diff --git a/pixmaps/hicolor/24x24/status/linphone-speaker-enabled.png b/pixmaps/hicolor/24x24/status/linphone-speaker-enabled.png new file mode 100644 index 000000000..2e04950ad Binary files /dev/null and b/pixmaps/hicolor/24x24/status/linphone-speaker-enabled.png differ diff --git a/pixmaps/hicolor/24x24/status/linphone-speaker-muted.png b/pixmaps/hicolor/24x24/status/linphone-speaker-muted.png new file mode 100644 index 000000000..9d36ab72d Binary files /dev/null and b/pixmaps/hicolor/24x24/status/linphone-speaker-muted.png differ diff --git a/pixmaps/hicolor/32x32/status/linphone-micro-enabled.png b/pixmaps/hicolor/32x32/status/linphone-micro-enabled.png new file mode 100644 index 000000000..9f350d868 Binary files /dev/null and b/pixmaps/hicolor/32x32/status/linphone-micro-enabled.png differ diff --git a/pixmaps/hicolor/32x32/status/linphone-micro-muted.png b/pixmaps/hicolor/32x32/status/linphone-micro-muted.png new file mode 100644 index 000000000..98d9a36da Binary files /dev/null and b/pixmaps/hicolor/32x32/status/linphone-micro-muted.png differ diff --git a/pixmaps/hicolor/32x32/status/linphone-speaker-enabled.png b/pixmaps/hicolor/32x32/status/linphone-speaker-enabled.png new file mode 100644 index 000000000..79ab7b1b8 Binary files /dev/null and b/pixmaps/hicolor/32x32/status/linphone-speaker-enabled.png differ diff --git a/pixmaps/hicolor/32x32/status/linphone-speaker-muted.png b/pixmaps/hicolor/32x32/status/linphone-speaker-muted.png new file mode 100644 index 000000000..62a57710e Binary files /dev/null and b/pixmaps/hicolor/32x32/status/linphone-speaker-muted.png differ diff --git a/pixmaps/hicolor/48x48/status/linphone-micro-enabled.png b/pixmaps/hicolor/48x48/status/linphone-micro-enabled.png new file mode 100644 index 000000000..a54697ad1 Binary files /dev/null and b/pixmaps/hicolor/48x48/status/linphone-micro-enabled.png differ diff --git a/pixmaps/hicolor/48x48/status/linphone-micro-muted.png b/pixmaps/hicolor/48x48/status/linphone-micro-muted.png new file mode 100644 index 000000000..7856153dd Binary files /dev/null and b/pixmaps/hicolor/48x48/status/linphone-micro-muted.png differ diff --git a/pixmaps/hicolor/48x48/status/linphone-speaker-enabled.png b/pixmaps/hicolor/48x48/status/linphone-speaker-enabled.png new file mode 100644 index 000000000..2b65cb057 Binary files /dev/null and b/pixmaps/hicolor/48x48/status/linphone-speaker-enabled.png differ diff --git a/pixmaps/hicolor/48x48/status/linphone-speaker-muted.png b/pixmaps/hicolor/48x48/status/linphone-speaker-muted.png new file mode 100644 index 000000000..c7b8bf6d6 Binary files /dev/null and b/pixmaps/hicolor/48x48/status/linphone-speaker-muted.png differ diff --git a/pixmaps/mic_active.png b/pixmaps/mic_active.png deleted file mode 100644 index ee6b9038c..000000000 Binary files a/pixmaps/mic_active.png and /dev/null differ diff --git a/pixmaps/mic_muted.png b/pixmaps/mic_muted.png deleted file mode 100644 index 60fd18761..000000000 Binary files a/pixmaps/mic_muted.png and /dev/null differ diff --git a/pixmaps/speaker.png b/pixmaps/speaker.png deleted file mode 100644 index acc92dbcf..000000000 Binary files a/pixmaps/speaker.png and /dev/null differ diff --git a/pixmaps/svg/.directory b/pixmaps/svg/.directory new file mode 100644 index 000000000..c99a6191a --- /dev/null +++ b/pixmaps/svg/.directory @@ -0,0 +1,4 @@ +[Dolphin] +PreviewsShown=true +Timestamp=2015,8,3,13,7,36 +Version=3 diff --git a/pixmaps/svg/linphone-micro-enabled.svg b/pixmaps/svg/linphone-micro-enabled.svg new file mode 100644 index 000000000..a23354bc1 --- /dev/null +++ b/pixmaps/svg/linphone-micro-enabled.svg @@ -0,0 +1,78 @@ + + + + + + image/svg+xml + + micro_default + + + + + + micro_default + Created with Sketch. + + + + + + diff --git a/pixmaps/svg/linphone-micro-muted.svg b/pixmaps/svg/linphone-micro-muted.svg new file mode 100644 index 000000000..09d505c59 --- /dev/null +++ b/pixmaps/svg/linphone-micro-muted.svg @@ -0,0 +1,90 @@ + + + + + + image/svg+xml + + micro_default + + + + + + micro_default + Created with Sketch. + + + + + + + + + + diff --git a/pixmaps/svg/linphone-speaker-enabled.svg b/pixmaps/svg/linphone-speaker-enabled.svg new file mode 100644 index 000000000..8a122795d --- /dev/null +++ b/pixmaps/svg/linphone-speaker-enabled.svg @@ -0,0 +1,87 @@ + + + + + + image/svg+xml + + speaker_default + + + + + + speaker_default + Created with Sketch. + + + + + + + + + + diff --git a/pixmaps/svg/linphone-speaker-muted.svg b/pixmaps/svg/linphone-speaker-muted.svg new file mode 100644 index 000000000..1e85b85be --- /dev/null +++ b/pixmaps/svg/linphone-speaker-muted.svg @@ -0,0 +1,76 @@ + + + + + + image/svg+xml + + speaker_default + + + + + + speaker_default + Created with Sketch. + + + + +