From 6e5daed5fdb9daf35ea38e930b44446c5b70e9a1 Mon Sep 17 00:00:00 2001 From: Margaux Clerc Date: Wed, 9 Jan 2013 10:43:17 +0100 Subject: [PATCH] Disabled buttons in conf frame, callview improved, removing the search bar --- gtk/conference.c | 2 +- gtk/friendlist.c | 18 ++++++------ gtk/incall_view.c | 22 ++++++++------ gtk/main.c | 13 ++++++--- gtk/main.ui | 56 ++++++++++++++++-------------------- pixmaps/startcall-small.png | Bin 0 -> 3869 bytes pixmaps/stopcall-red.png | Bin 3764 -> 5770 bytes pixmaps/stopcall-small.png | Bin 0 -> 3764 bytes 8 files changed, 56 insertions(+), 55 deletions(-) create mode 100644 pixmaps/startcall-small.png create mode 100644 pixmaps/stopcall-small.png diff --git a/gtk/conference.c b/gtk/conference.c index 546b3e1c..dddb3cec 100644 --- a/gtk/conference.c +++ b/gtk/conference.c @@ -95,7 +95,7 @@ void linphone_gtk_set_in_conference(LinphoneCall *call){ if(conf_frame==NULL){ conf_frame=linphone_gtk_create_widget("main","conf_frame"); GtkWidget *button_conf=linphone_gtk_get_widget(conf_frame,"terminate_conf"); - GtkWidget *image=create_pixmap("stopcall-red.png"); + GtkWidget *image=create_pixmap("stopcall-small.png"); gtk_button_set_image(GTK_BUTTON(button_conf),image); g_signal_connect_swapped(G_OBJECT(button_conf),"clicked",(GCallback)linphone_gtk_terminate_call,NULL); g_object_set_data(G_OBJECT(mw),"conf_frame",(gpointer)conf_frame); diff --git a/gtk/friendlist.c b/gtk/friendlist.c index 3ab59c61..3124fdbb 100644 --- a/gtk/friendlist.c +++ b/gtk/friendlist.c @@ -621,10 +621,10 @@ void linphone_gtk_show_friends(void){ GtkListStore *store=NULL; GtkTreeIter iter; const MSList *itf; - GtkWidget *filter=linphone_gtk_get_widget(mw,"search_bar"); + //GtkWidget *filter=linphone_gtk_get_widget(mw,"search_bar"); LinphoneCore *core=linphone_gtk_get_core(); - const gchar *search=NULL; - gboolean lookup=FALSE; + //const gchar *search=NULL; + //gboolean lookup=FALSE; MSList *sorted; linphone_gtk_show_directory_search(); @@ -636,10 +636,10 @@ void linphone_gtk_show_friends(void){ store=GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(friendlist))); gtk_list_store_clear(store); - search=gtk_entry_get_text(GTK_ENTRY(filter)); - if (search==NULL || search[0]=='\0') - lookup=FALSE; - else lookup=TRUE; + //search=gtk_entry_get_text(GTK_ENTRY(filter)); + //if (search==NULL || search[0]=='\0') + // lookup=FALSE; + //else lookup=TRUE; sorted=sort_friend_list(linphone_core_get_friend_list(core)); @@ -650,12 +650,12 @@ void linphone_gtk_show_friends(void){ const char *name=linphone_address_get_display_name(f_uri); const char *display=name; char *escaped=NULL; - if (lookup){ + /*if (lookup){ if (strstr(uri,search)==NULL){ ms_free(uri); continue; } - } + }*/ //BuddyInfo *bi; gboolean send_subscribe=linphone_friend_get_send_subscribe(lf); if (name==NULL || name[0]=='\0') { diff --git a/gtk/incall_view.c b/gtk/incall_view.c index 6230df1a..192e92fa 100644 --- a/gtk/incall_view.c +++ b/gtk/incall_view.c @@ -64,7 +64,7 @@ LinphoneCall *linphone_gtk_get_currently_displayed_call(gboolean *is_conf){ static GtkWidget *make_tab_header(int number){ GtkWidget *w=gtk_hbox_new (FALSE,0); - GtkWidget *i=create_pixmap ("status-green.png"); + GtkWidget *i=create_pixmap ("startcall-small.png"); GtkWidget *l; gchar *text=g_strdup_printf(_("Call #%i"),number); l=gtk_label_new (text); @@ -84,7 +84,7 @@ void update_tab_header(LinphoneCall *call,gboolean pause){ if(pause){ i=gtk_image_new_from_stock(GTK_STOCK_MEDIA_PAUSE,GTK_ICON_SIZE_SMALL_TOOLBAR); } else { - i=create_pixmap ("status-green.png"); + i=create_pixmap ("startcall-small.png"); } GtkWidget *l; gchar *text=g_strdup_printf(_("Call #%i"),call_index); @@ -107,7 +107,7 @@ static void linphone_gtk_in_call_set_animation_image(GtkWidget *callview, const } image=create_pixmap(image_name); }else - image=gtk_image_new_from_stock(image_name,GTK_ICON_SIZE_DIALOG); + image=gtk_image_new_from_stock(image_name,GTK_ICON_SIZE_DND); if (elem) gtk_widget_destroy((GtkWidget*)elem->data); gtk_widget_show(image); @@ -337,7 +337,7 @@ void linphone_gtk_create_in_call_view(LinphoneCall *call){ gtk_widget_hide(conf); GtkWidget *button=linphone_gtk_get_widget(call_view,"terminate_call"); - GtkWidget *image=create_pixmap("stopcall-red.png"); + GtkWidget *image=create_pixmap("stopcall-small.png"); gtk_button_set_label(GTK_BUTTON(button),_("Hang up")); gtk_button_set_image(GTK_BUTTON(button),image); gtk_widget_show(image); @@ -363,7 +363,7 @@ void linphone_gtk_update_video_button(LinphoneCall *call){ button=linphone_gtk_get_widget(call_view,"video_button"); gtk_button_set_image(GTK_BUTTON(button), - gtk_image_new_from_stock(has_video ? GTK_STOCK_REMOVE : GTK_STOCK_ADD,GTK_ICON_SIZE_BUTTON)); + gtk_image_new_from_stock(has_video ? GTK_STOCK_REMOVE : GTK_STOCK_ADD,GTK_ICON_SIZE_BUTTON)); g_object_set_data(G_OBJECT(button),"adding_video",GINT_TO_POINTER(!has_video)); if (!linphone_core_video_supported(linphone_call_get_core(call))){ gtk_widget_set_sensitive(button,FALSE); @@ -373,7 +373,11 @@ void linphone_gtk_update_video_button(LinphoneCall *call){ g_signal_connect(G_OBJECT(button),"clicked",(GCallback)video_button_clicked,call); g_object_set_data(G_OBJECT(button),"signal_connected",GINT_TO_POINTER(1)); } + GtkWidget *conf_frame=(GtkWidget *)g_object_get_data(G_OBJECT(linphone_gtk_get_main_window()),"conf_frame"); gtk_widget_set_sensitive(button,linphone_call_get_state(call)==LinphoneCallStreamsRunning); + if(conf_frame!=NULL){ + gtk_widget_set_sensitive(button,FALSE); + } } void linphone_gtk_remove_in_call_view(LinphoneCall *call){ @@ -447,12 +451,12 @@ void linphone_gtk_in_call_view_set_incoming(LinphoneCall *call){ display_peer_name_in_label(callee,linphone_call_get_remote_address (call)); answer_button=linphone_gtk_get_widget(callview,"accept_call"); - image=create_pixmap (linphone_gtk_get_ui_config("start_call_icon","startcall-green.png")); + image=create_pixmap (linphone_gtk_get_ui_config("start_call_icon","startcall-small.png")); gtk_button_set_label(GTK_BUTTON(answer_button),_("Answer")); gtk_button_set_image(GTK_BUTTON(answer_button),image); gtk_widget_show(image); - image=create_pixmap (linphone_gtk_get_ui_config("stop_call_icon","stopcall-red.png")); + image=create_pixmap (linphone_gtk_get_ui_config("stop_call_icon","stopcall-small.png")); gtk_button_set_image(GTK_BUTTON(linphone_gtk_get_widget(callview,"decline_call")),image); gtk_widget_show(image); @@ -636,7 +640,6 @@ void linphone_gtk_in_call_view_set_in_call(LinphoneCall *call){ gtk_widget_set_visible(linphone_gtk_get_widget(callview,"buttons_panel"),!in_conf); - gtk_widget_hide(linphone_gtk_get_widget(callview,"answer_decline_panel")); gtk_label_set_markup(GTK_LABEL(status),in_conf ? _("In conference") : _("In call")); @@ -648,7 +651,7 @@ void linphone_gtk_in_call_view_set_in_call(LinphoneCall *call){ update_tab_header(call,FALSE); linphone_gtk_enable_mute_button( GTK_BUTTON(linphone_gtk_get_widget(callview,"incall_mute")),TRUE); - gtk_widget_show_all(linphone_gtk_get_widget(callview,"buttons_panel")); + if (taskid==0){ taskid=g_timeout_add(250,(GSourceFunc)linphone_gtk_in_call_view_refresh,call); g_object_set_data(G_OBJECT(callview),"taskid",GINT_TO_POINTER(taskid)); @@ -659,6 +662,7 @@ void linphone_gtk_in_call_view_set_in_call(LinphoneCall *call){ linphone_gtk_set_in_conference(call); gtk_widget_set_sensitive(linphone_gtk_get_widget(callview,"incall_mute"),FALSE); } + gtk_widget_show_all(linphone_gtk_get_widget(callview,"buttons_panel")); if (call_stats) show_used_codecs(call_stats,call); } diff --git a/gtk/main.c b/gtk/main.c index 734079c1..5d915871 100644 --- a/gtk/main.c +++ b/gtk/main.c @@ -724,9 +724,14 @@ static void linphone_gtk_update_call_buttons(LinphoneCall *call){ gtk_widget_set_visible(button,add_call); //gtk_widget_set_sensitive(linphone_gtk_get_widget(mw,"terminate_call"),stop_active); - - linphone_gtk_enable_transfer_button(lc,call_list_size>1); - linphone_gtk_enable_conference_button(lc,call_list_size>1); + GtkWidget *conf_frame=(GtkWidget *)g_object_get_data(G_OBJECT(mw),"conf_frame"); + if(conf_frame==NULL){ + linphone_gtk_enable_transfer_button(lc,call_list_size>1); + linphone_gtk_enable_conference_button(lc,call_list_size>1); + } else { + linphone_gtk_enable_transfer_button(lc,FALSE); + linphone_gtk_enable_conference_button(lc,FALSE); + } update_video_title(); if (call) linphone_gtk_update_video_button(call); } @@ -1497,7 +1502,7 @@ static void linphone_gtk_configure_main_window(){ home=linphone_gtk_get_ui_config("home","http://www.linphone.org"); start_call_icon=linphone_gtk_get_ui_config("start_call_icon","startcall-green.png"); add_call_icon=linphone_gtk_get_ui_config("add_call_icon","addcall-green.png"); - //stop_call_icon=linphone_gtk_get_ui_config("stop_call_icon","stopcall-red.png"); + //stop_call_icon=linphone_gtk_get_ui_config("stop_call_icon","stopcall-small.png"); search_icon=linphone_gtk_get_ui_config("directory_search_icon",NULL); update_check_menu=linphone_gtk_get_ui_config_int("update_check_menu",0); buttons_have_borders=linphone_gtk_get_ui_config_int("buttons_border",1); diff --git a/gtk/main.ui b/gtk/main.ui index 1229289c..a68ea4cb 100644 --- a/gtk/main.ui +++ b/gtk/main.ui @@ -387,28 +387,29 @@ - - 90 + True False + gtk-missing-image + 0 False False - end 2 - + + 90 + 10 True False - gtk-missing-image - 1 False False + 1 end 3 @@ -416,7 +417,7 @@ False - True + False 3 @@ -480,6 +481,7 @@ Pause + True True True False @@ -497,7 +499,6 @@ True True False - half @@ -596,14 +597,15 @@ 90 + 10 True False GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_STRUCTURE_MASK Call quality rating - True - True + False + False 2 @@ -944,9 +946,6 @@ 2 - - - False @@ -963,30 +962,23 @@ True False + 4 - + True - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - ● - none - True - False - False - True - True - + False + GDK_POINTER_MOTION_MASK | GDK_STRUCTURE_MASK + 0 + Contacts + True False - True - 4 + False + 3 0 - - - True @@ -1000,7 +992,7 @@ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True False - 0 + 1 @@ -1011,7 +1003,7 @@ True True - 2 + 1 @@ -1073,7 +1065,7 @@ False False - 3 + 2 diff --git a/pixmaps/startcall-small.png b/pixmaps/startcall-small.png new file mode 100644 index 0000000000000000000000000000000000000000..30b32789a802b49afbd0e0c576ca3fd92a743520 GIT binary patch literal 3869 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 Y2b(D#43G;Xl>h($07*qoM6N<$f+Q;%&j0`b diff --git a/pixmaps/stopcall-small.png b/pixmaps/stopcall-small.png new file mode 100644 index 0000000000000000000000000000000000000000..de77592c742fd52596af41ff6f62350a81d15c0a GIT binary patch literal 3764 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 eS?0CMp8p4%DIN@v3nY~Q0000