diff --git a/gtk-glade/incall_view.c b/gtk-glade/incall_view.c index 4d38dc9..f4161fd 100644 --- a/gtk-glade/incall_view.c +++ b/gtk-glade/incall_view.c @@ -38,18 +38,36 @@ gboolean linphone_gtk_use_in_call_view(){ void linphone_gtk_show_in_call_view(void){ GtkWidget *main_window=linphone_gtk_get_main_window(); - GtkWidget *idle_frame=linphone_gtk_get_widget(main_window,"idle_frame"); + GtkNotebook *notebook=(GtkNotebook *)linphone_gtk_get_widget(main_window,"viewswitch"); GtkWidget *in_call_frame=linphone_gtk_get_widget(main_window,"in_call_frame"); - gtk_widget_hide(idle_frame); + gint idx; + + /* Make the in call frame visible and arrange for the notebook to + show that page */ gtk_widget_show(in_call_frame); + idx = gtk_notebook_page_num(notebook, in_call_frame); + if (idx >= 0) { + gtk_notebook_set_current_page(notebook, idx); + } } void linphone_gtk_show_idle_view(void){ GtkWidget *main_window=linphone_gtk_get_main_window(); + GtkNotebook *notebook=(GtkNotebook *)linphone_gtk_get_widget(main_window,"viewswitch"); GtkWidget *idle_frame=linphone_gtk_get_widget(main_window,"idle_frame"); GtkWidget *in_call_frame=linphone_gtk_get_widget(main_window,"in_call_frame"); - gtk_widget_show(idle_frame); - gtk_widget_hide(in_call_frame); + gint idx; + + /* Switch back to the idle frame page, maybe we should have + remembered where we were in gtk_show_in_call_view() to switch + back to that page of the notebook, but this should do in most + cases. */ + gtk_widget_show(idle_frame); /* Make sure it is visible... */ + idx = gtk_notebook_page_num(notebook, idle_frame); + if (idx >= 0) { + gtk_notebook_set_current_page(notebook, idx); + gtk_widget_hide(in_call_frame); + } } void display_peer_name_in_label(GtkWidget *label, const char *uri){ @@ -91,13 +109,11 @@ void linphone_gtk_in_call_view_set_calling(const char *uri){ GtkWidget *duration=linphone_gtk_get_widget(main_window,"in_call_duration"); GtkWidget *animation=linphone_gtk_get_widget(main_window,"in_call_animation"); GdkPixbufAnimation *pbuf=create_pixbuf_animation("calling_anim.gif"); - GtkWidget *terminate_button=linphone_gtk_get_widget(main_window,"in_call_terminate"); - gtk_widget_set_sensitive(terminate_button,TRUE); gtk_label_set_markup(GTK_LABEL(status),_("Calling...")); display_peer_name_in_label(callee,uri); - gtk_label_set_text(GTK_LABEL(duration),"00:00:00"); + gtk_label_set_text(GTK_LABEL(duration),_("00::00::00")); if (pbuf!=NULL){ gtk_image_set_from_animation(GTK_IMAGE(animation),pbuf); g_object_unref(G_OBJECT(pbuf)); @@ -112,13 +128,11 @@ void linphone_gtk_in_call_view_set_in_call(){ GtkWidget *duration=linphone_gtk_get_widget(main_window,"in_call_duration"); GtkWidget *animation=linphone_gtk_get_widget(main_window,"in_call_animation"); GdkPixbufAnimation *pbuf=create_pixbuf_animation("incall_anim.gif"); - GtkWidget *terminate_button=linphone_gtk_get_widget(main_window,"in_call_terminate"); const LinphoneAddress *uri=linphone_core_get_remote_uri(lc); char *tmp=linphone_address_as_string(uri); display_peer_name_in_label(callee,tmp); ms_free(tmp); - gtk_widget_set_sensitive(terminate_button,TRUE); gtk_label_set_markup(GTK_LABEL(status),_("In call with")); gtk_label_set_text(GTK_LABEL(duration),_("00::00::00")); @@ -150,10 +164,8 @@ void linphone_gtk_in_call_view_terminate(const char *error_msg){ GtkWidget *main_window=linphone_gtk_get_main_window(); GtkWidget *status=linphone_gtk_get_widget(main_window,"in_call_status"); GtkWidget *animation=linphone_gtk_get_widget(main_window,"in_call_animation"); - GtkWidget *terminate_button=linphone_gtk_get_widget(main_window,"in_call_terminate"); GdkPixbuf *pbuf=create_pixbuf(linphone_gtk_get_ui_config("stop_call_icon","red.png")); - gtk_widget_set_sensitive(terminate_button,FALSE); if (error_msg==NULL) gtk_label_set_markup(GTK_LABEL(status),_("Call ended.")); else{ diff --git a/gtk-glade/main.c b/gtk-glade/main.c index 22062fa..918be55 100644 --- a/gtk-glade/main.c +++ b/gtk-glade/main.c @@ -552,7 +552,6 @@ void linphone_gtk_call_terminated(const char *error){ GtkWidget *icw; gtk_widget_set_sensitive(linphone_gtk_get_widget(mw,"terminate_call"),FALSE); gtk_widget_set_sensitive(linphone_gtk_get_widget(mw,"start_call"),TRUE); - gtk_widget_hide_all(linphone_gtk_get_widget(mw,"go_to_call_view_box")); linphone_gtk_enable_mute_button(GTK_TOGGLE_BUTTON(linphone_gtk_get_widget(mw,"main_mute")),FALSE); if (linphone_gtk_use_in_call_view()) linphone_gtk_in_call_view_terminate(error); @@ -576,7 +575,6 @@ static gboolean in_call_timer(){ static void linphone_gtk_call_started(GtkWidget *mw){ gtk_widget_set_sensitive(linphone_gtk_get_widget(mw,"start_call"),FALSE); gtk_widget_set_sensitive(linphone_gtk_get_widget(mw,"terminate_call"),TRUE); - gtk_widget_show_all(linphone_gtk_get_widget(mw,"go_to_call_view_box")); update_video_title(); if (linphone_gtk_use_in_call_view()) g_timeout_add(250,(GSourceFunc)in_call_timer,NULL); @@ -1062,7 +1060,6 @@ static void linphone_gtk_configure_main_window(){ if (stop_call_icon){ GdkPixbuf *pbuf=create_pixbuf(stop_call_icon); gtk_image_set_from_pixbuf(GTK_IMAGE(linphone_gtk_get_widget(w,"terminate_call_icon")),pbuf); - gtk_image_set_from_pixbuf(GTK_IMAGE(linphone_gtk_get_widget(w,"in_call_terminate_icon")),pbuf); g_object_unref(G_OBJECT(pbuf)); } if (search_icon){ @@ -1096,6 +1093,8 @@ void linphone_gtk_manage_login(void){ } static void linphone_gtk_init_main_window(){ + GtkWidget *main_window; + linphone_gtk_configure_main_window(); linphone_gtk_manage_login(); load_uri_history(); @@ -1104,10 +1103,14 @@ static void linphone_gtk_init_main_window(){ linphone_gtk_show_friends(); linphone_gtk_connect_digits(); linphone_gtk_check_menu_items(); - linphone_gtk_enable_mute_button(GTK_TOGGLE_BUTTON(linphone_gtk_get_widget(linphone_gtk_get_main_window(), + main_window=linphone_gtk_get_main_window(); + linphone_gtk_enable_mute_button(GTK_TOGGLE_BUTTON(linphone_gtk_get_widget(main_window, "main_mute")),FALSE); - linphone_gtk_enable_mute_button(GTK_TOGGLE_BUTTON(linphone_gtk_get_widget(linphone_gtk_get_main_window(), + linphone_gtk_enable_mute_button(GTK_TOGGLE_BUTTON(linphone_gtk_get_widget(main_window, "incall_mute")),FALSE); + if (!linphone_gtk_use_in_call_view()) { + gtk_widget_show(linphone_gtk_get_widget(main_window, "main_mute")); + } if (linphone_core_in_call(linphone_gtk_get_core())) linphone_gtk_call_started( linphone_gtk_get_main_window());/*hide the call button, show terminate button*/ } diff --git a/gtk-glade/main.glade b/gtk-glade/main.glade index 62d730f..6f51cba 100644 --- a/gtk-glade/main.glade +++ b/gtk-glade/main.glade @@ -219,12 +219,11 @@ True - + True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK vertical - + True @@ -365,281 +364,373 @@ - + True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + True - + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK vertical - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 - + True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 12 - 12 + vertical - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - vertical + 0 - + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 12 + 12 - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - Lookup: - - - 12 - 0 - - - - - True - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - - - - - 4 - 1 - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - in - - - 8 - 2 - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 - All users -Online users - - - - 4 - 3 - - - - - False - 0 - - - - - True - True - automatic - automatic - - - 120 + True - True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - - - - - - - - - 1 - - - - - True - 0 - none - - - True + vertical - + True - True - - - - - + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + Lookup: + + + 12 + 0 + + + + + True + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + + + + + 4 + 1 + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + in + + + 8 + 2 + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + All users +Online users + + + + 4 + 3 + + + False 0 - + True True - True - none - + automatic + automatic - + + 120 + True + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + + + + + + + + + 1 + + + + + True + 0 + none + + True - + True - gtk-find + True + + + + + 0 - + True - Search + True + True + none + + + + True + + + True + gtk-find + + + 0 + + + + + True + Search + + + 1 + + + + + False 1 + + + True + <b>Add contacts from directory</b> + True + + + label_item + + False - 1 + False + 5 + 2 - - - True - <b>Add contacts from directory</b> - True - - - label_item - - + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + <b>Contact list</b> + True + + + label_item + + + + + 8 + 0 + + + + + True + + + Mute + False + True + True + - False False - 5 - 2 + 0 + + False + False + 1 + + + + + + + True + Internet connection: + + + 0 + + + + + True + 0 + ADSL +Fiber Channel + + + + 1 + + + + + False + 2 + - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - <b>Contact list</b> - True - label_item + 8 + 0 - 8 0 - + True - - Mute - False - True - True - + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + + + True + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 12 + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + Default + + + + + + 0 + + + + + True + True + True + + + + False + 1 + + + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + My current identity: + True + + + label_item + + - False 0 False - False 1 - - - - - True - Internet connection: - - - 0 - - - - - True - 0 - ADSL -Fiber Channel - - - - 1 - - - - - False - 2 - - + + + + + True + Contacts - 8 - 0 + False + tab - + True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK vertical - + True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 + 0.5 + none True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + 0 True @@ -647,6 +738,8 @@ Fiber Channel 4 4 4 + 2 + 2 True @@ -909,373 +1002,183 @@ Fiber Channel - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - Digits - True - + label_item - False - False 0 - - - False - False - 1 - - - - - 1 - - - - - True - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 - - - True - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 12 - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 - Default - - - - - - 0 - - - - - True - True - True - - - - False - 1 - - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - My current identity: - True - - - label_item - + - 0 + 1 - - - False - 2 - - - - - - True - True - - - - True - - - True - gtk-go-forward - - - 0 - - - - - True - Show current call - - - 1 - - - - + + True + Keypad - False - False - 8 - end - 0 + 1 + False + tab - - - 3 - - - - - 0 - - - - - 0.5 - - - True - 12 - 12 - - True - vertical + + 0.5 + none - + True - gtk-info - 5 - - - 0 - - - - - True - 0 - - - True - label - center - - - - - True - True - - - label_item - - - - - 1 - - - - - True - 0 + 12 + 12 - + True vertical - + True - Duration - center + gtk-info + 5 0 - - - - - True - Duration: - True - - - label_item - - - - - False - 2 - - - - - True - - - Mute - True - False - True - True - - - - False - False - 0 - - - - - False - False - 3 - - - - - True - center - - - True - True - True - - + True + 0 - + True - gtk-close - 3 + label + center - - 0 - - + True - <b>Terminate call</b> True - 1 + label_item + + 1 + - - - False - False - 0 - - - - - 8 - 4 - - - - - True - center - - - True - True - True - - + True + 0 - + True - gtk-go-back - 1 + vertical + + + True + Duration + center + + + 0 + + + + + + + True + Duration: + True - 0 + label_item + + + False + 2 + + + + + True - + + Mute True - Main view + False + True + True + - 1 + False + False + 0 + + False + False + 3 + - - False - False - end - 0 - + + + + True + In call + True + center + - False - False - 5 + label_item + + 2 + + + + + True + Call Details + + + 2 + False + tab + - - - - - True - In call - True - center - label_item + 1 - 1 + 0 @@ -1445,7 +1348,7 @@ Fiber Channel - 2 + 1