diff --git a/gnome/src/mainwindow.c b/gnome/src/mainwindow.c index 081b6fddf80045dbae7040563bcf2bbd8e6a5ee6..11488a549cb212afcc421bd2a3785634f3ff6515 100644 --- a/gnome/src/mainwindow.c +++ b/gnome/src/mainwindow.c @@ -296,6 +296,7 @@ create_main_window() /* show playback scale only if a recorded call is selected */ sfl_seekslider_set_display(SFL_SEEKSLIDER(seekslider), SFL_SEEKSLIDER_DISPLAY_PLAY); gtk_widget_set_sensitive(seekslider, FALSE); + main_window_hide_playback_scale(); /* don't show waiting layer */ gtk_widget_hide(waitingLayer); @@ -496,13 +497,25 @@ main_window_update_playback_scale(guint current, guint size) } void -main_window_show_playback_scale() +main_window_set_playback_scale_sensitive() { gtk_widget_set_sensitive(seekslider, TRUE); } void -main_window_hide_playback_scale() +main_window_set_playback_scale_unsensitive() { gtk_widget_set_sensitive(seekslider, FALSE); } + +void +main_window_show_playback_scale() +{ + gtk_widget_show(seekslider); +} + +void +main_window_hide_playback_scale() +{ + gtk_widget_hide(seekslider); +} diff --git a/gnome/src/mainwindow.h b/gnome/src/mainwindow.h index e5b2900fd2903a9cfa8f9a369b0583c1b448b00a..58588e3abf98ad0b2b3c3b97745934e550586990 100644 --- a/gnome/src/mainwindow.h +++ b/gnome/src/mainwindow.h @@ -110,6 +110,10 @@ void focus_on_searchbar_in(); */ void main_window_update_playback_scale(guint current, guint size); +void main_window_set_playback_scale_sensitive(); + +void main_window_set_playback_scale_unsensitive(); + /** * Show the playback scale, (should occur if the user selected an history entry witch has been recorded) */ diff --git a/gnome/src/uimanager.c b/gnome/src/uimanager.c index 848ea9dcd7db889f596ed14e4ef86d1f02aa6002..77b201ea2607085d4d79be5f6f1f95e207b42b42 100644 --- a/gnome/src/uimanager.c +++ b/gnome/src/uimanager.c @@ -217,11 +217,12 @@ update_toolbar_for_call(callable_obj_t *selectedCall, gboolean instant_messaging main_window_hide_playback_scale(); } else if (active_calltree_tab == history_tab) { + main_window_show_playback_scale(); if (is_non_empty(selectedCall->_recordfile)) { - main_window_show_playback_scale(); + main_window_set_playback_scale_sensitive(); } else { - main_window_hide_playback_scale(); + main_window_set_playback_scale_unsensitive(); } } @@ -360,11 +361,12 @@ update_toolbar_for_conference(conference_obj_t * selectedConf, gboolean instant_ } main_window_hide_playback_scale(); } else if (active_calltree_tab == history_tab) { + main_window_show_playback_scale(); if (is_non_empty(selectedConf->_recordfile)) { - main_window_show_playback_scale(); + main_window_set_playback_scale_sensitive(); } else { - main_window_hide_playback_scale(); + main_window_set_playback_scale_unsensitive(); } } else { @@ -1038,19 +1040,27 @@ call_mailbox_cb(void) static void toggle_history_cb(GtkToggleAction *action, gpointer user_data UNUSED) { - if (gtk_toggle_action_get_active(action)) + if (gtk_toggle_action_get_active(action)) { calltree_display(history_tab); - else + main_window_show_playback_scale(); + } + else { calltree_display(current_calls_tab); + main_window_hide_playback_scale(); + } } static void toggle_addressbook_cb(GtkToggleAction *action, gpointer user_data UNUSED) { - if (gtk_toggle_action_get_active(action)) + if (gtk_toggle_action_get_active(action)) { calltree_display(contacts_tab); - else + main_window_show_playback_scale(); + } + else { calltree_display(current_calls_tab); + main_window_show_playback_scale(); + } } static const GtkActionEntry menu_entries[] = {