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 @@
-
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 @@
+
+