diff --git a/gtk/linphone.h b/gtk/linphone.h index aa7b9c23b..0ae175dd9 100644 --- a/gtk/linphone.h +++ b/gtk/linphone.h @@ -347,3 +347,5 @@ LINPHONE_PUBLIC void linphone_gtk_notebook_current_page_changed(GtkNotebook *not LINPHONE_PUBLIC void linphone_gtk_reload_sound_devices(void); LINPHONE_PUBLIC void linphone_gtk_reload_video_devices(void); LINPHONE_PUBLIC bool_t linphone_gtk_is_friend(LinphoneCore *lc, const char *contact); +LINPHONE_PUBLIC gboolean linphone_gtk_auto_answer_enabled(void); +LINPHONE_PUBLIC void linphone_gtk_update_status_bar_icons(void); diff --git a/gtk/main.c b/gtk/main.c index 2d3676102..7bc36b416 100644 --- a/gtk/main.c +++ b/gtk/main.c @@ -1365,7 +1365,7 @@ static void linphone_gtk_call_state_changed(LinphoneCore *lc, LinphoneCall *call linphone_gtk_create_in_call_view(call); linphone_gtk_in_call_view_set_incoming(call); linphone_gtk_status_icon_set_blinking(TRUE); - if (linphone_gtk_get_ui_config_int("auto_answer", 0)) { + if (linphone_gtk_auto_answer_enabled()) { int delay = linphone_gtk_get_ui_config_int("auto_answer_delay", 2000); linphone_call_ref(call); g_timeout_add(delay, (GSourceFunc)linphone_gtk_auto_answer, call); @@ -1862,13 +1862,20 @@ gboolean linphone_gtk_keypad_destroyed_handler(void) { return FALSE; } -static void linphone_gtk_init_main_window(){ +void linphone_gtk_update_status_bar_icons(void) { + GtkWidget *mw = linphone_gtk_get_main_window(); + GtkWidget *icon = linphone_gtk_get_widget(mw, "autoanswer_icon"); + gtk_widget_set_visible(icon, linphone_gtk_auto_answer_enabled()); +} + +static void linphone_gtk_init_main_window(void){ GtkWidget *main_window; linphone_gtk_configure_main_window(); linphone_gtk_manage_login(); linphone_gtk_load_identities(); linphone_gtk_set_my_presence(linphone_core_get_presence_info(linphone_gtk_get_core())); linphone_gtk_show_friends(); + linphone_gtk_update_status_bar_icons(); load_uri_history(); linphone_core_reset_missed_calls_count(linphone_gtk_get_core()); main_window=linphone_gtk_get_main_window(); @@ -2259,7 +2266,7 @@ GtkWidget *linphone_gtk_make_tab_header(const gchar *label, const gchar *icon_na gtk_button_set_image(GTK_BUTTON(button),button_image); gtk_button_set_relief(GTK_BUTTON(button),GTK_RELIEF_NONE); #ifdef HAVE_GTK_OSX - gtk_misc_set_alignment(GTK_MISC(button_image), 0.5f, 0.25f); + gtk_misc_set_alignment(GTK_MISC(button_image), 0.5f, 0.f); #endif g_signal_connect_swapped(G_OBJECT(button),"clicked",cb,user_data); gtk_box_pack_end(GTK_BOX(tab_header),button,FALSE,FALSE,4); diff --git a/gtk/main.ui b/gtk/main.ui index da8ad3659..673ae42c5 100644 --- a/gtk/main.ui +++ b/gtk/main.ui @@ -986,15 +986,39 @@ - + True False - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + + + True + False + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + False + + + True + True + 0 + + + + + False + Autoanswer is enabled + 16 + linphone-warning + + + False + True + 1 + + False True - end 2 diff --git a/gtk/propertybox.c b/gtk/propertybox.c index 59bdb2b06..a8a7f59e5 100644 --- a/gtk/propertybox.c +++ b/gtk/propertybox.c @@ -267,6 +267,7 @@ void linphone_gtk_fill_video_sizes(GtkWidget *combo){ void linphone_gtk_parameters_closed(GtkWidget *button){ GtkWidget *pb=gtk_widget_get_toplevel(button); gtk_widget_destroy(pb); + linphone_gtk_update_status_bar_icons(); } void linphone_gtk_update_my_contact(GtkWidget *w){ @@ -1701,7 +1702,7 @@ void linphone_gtk_show_parameters(void){ linphone_core_get_upload_bandwidth(lc)); /* CALL PARAMS CONFIG */ - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(linphone_gtk_get_widget(pb, "auto_answer_checkbox")), linphone_gtk_get_ui_config_int("auto_answer", 0)); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(linphone_gtk_get_widget(pb, "auto_answer_checkbox")), linphone_gtk_auto_answer_enabled()); gtk_spin_button_set_value(GTK_SPIN_BUTTON(linphone_gtk_get_widget(pb, "auto_answer_delay_spinbutton")), linphone_gtk_get_ui_config_int("auto_answer_delay", 2000)); /* UI CONFIG */ @@ -1897,6 +1898,10 @@ void linphone_gtk_enable_auto_answer(GtkToggleButton *checkbox, gpointer user_da linphone_gtk_set_ui_config_int("auto_answer", auto_answer_enabled ? 1 : 0); } +gboolean linphone_gtk_auto_answer_enabled(void) { + return (gboolean)linphone_gtk_get_ui_config_int("auto_answer", 0); +} + void linphone_gtk_auto_answer_delay_changed(GtkSpinButton *spinbutton, gpointer user_data) { int delay = gtk_spin_button_get_value(spinbutton); linphone_gtk_set_ui_config_int("auto_answer_delay", delay); diff --git a/pixmaps/CMakeLists.txt b/pixmaps/CMakeLists.txt index 5ea2e90ba..c055425a8 100644 --- a/pixmaps/CMakeLists.txt +++ b/pixmaps/CMakeLists.txt @@ -52,6 +52,7 @@ install(FILES svg/linphone-security-pending.svg svg/linphone-media-play.svg svg/linphone-media-pause.svg + svg/linphone-warning.svg DESTINATION ${ICONS_INSTALL_DIR}/scalable/status PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ ) @@ -100,6 +101,7 @@ install(FILES linphone-security-pending.png linphone-media-play.png linphone-media-pause.png + linphone-warning.png DESTINATION ${ICONS_INSTALL_DIR}/48x48/status PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ ) diff --git a/pixmaps/Makefile.am b/pixmaps/Makefile.am index 7fefd52b7..96ded8baa 100644 --- a/pixmaps/Makefile.am +++ b/pixmaps/Makefile.am @@ -36,7 +36,8 @@ dist_status48icons_DATA= \ linphone-security-ok.png \ linphone-security-pending.png \ linphone-media-play.png \ - linphone-media-pause.png + linphone-media-pause.png \ + linphone-warning.png statussvgiconsdir=$(iconsdir)/scalable/status dist_statussvgicons_DATA= \ @@ -63,7 +64,8 @@ dist_statussvgicons_DATA= \ svg/linphone-security-ok.svg \ svg/linphone-security-pending.svg \ svg/linphone-media-play.svg \ - svg/linphone-media-pause.svg + svg/linphone-media-pause.svg \ + svg/linphone-warning.svg actions48iconsdir=$(iconsdir)/48x48/actions dist_actions48icons_DATA= \ diff --git a/pixmaps/linphone-warning.png b/pixmaps/linphone-warning.png new file mode 100644 index 000000000..044bcd8f0 Binary files /dev/null and b/pixmaps/linphone-warning.png differ diff --git a/pixmaps/svg/linphone-warning.svg b/pixmaps/svg/linphone-warning.svg new file mode 100644 index 000000000..e1cbb91d9 --- /dev/null +++ b/pixmaps/svg/linphone-warning.svg @@ -0,0 +1,106 @@ + + + + + + image/svg+xml + + chat_message_not_delivered + + + + + + chat_message_not_delivered + Created with Sketch. + + + + + + + + + + + + + +