return w;
}
+static void linphone_gtk_in_call_set_animation_image(GtkWidget *callview, const char *image_name, gboolean is_stock){
+ GtkWidget *container=linphone_gtk_get_widget(callview,"in_call_animation");
+ GList *elem=gtk_container_get_children(GTK_CONTAINER(container));
+ GtkWidget *image;
+ if (!is_stock)
+ image=create_pixmap(image_name);
+ else
+ image=gtk_image_new_from_stock(image_name,GTK_ICON_SIZE_DIALOG);
+ if (elem)
+ gtk_widget_destroy((GtkWidget*)elem->data);
+ gtk_widget_show(image);
+ gtk_container_add(GTK_CONTAINER(container),image);
+
+}
+
+static void linphone_gtk_in_call_set_animation_spinner(GtkWidget *callview){
+ GtkWidget *container=linphone_gtk_get_widget(callview,"in_call_animation");
+ GList *elem=gtk_container_get_children(GTK_CONTAINER(container));
+ GtkWidget *spinner=gtk_spinner_new();
+ if (elem)
+ gtk_widget_destroy((GtkWidget*)elem->data);
+ gtk_widget_show(spinner);
+ gtk_container_add(GTK_CONTAINER(container),spinner);
+ gtk_spinner_start(GTK_SPINNER(spinner));
+}
+
+
static void linphone_gtk_transfer_call(LinphoneCall *dest_call){
LinphoneCall *call=linphone_gtk_get_currently_displayed_call();
linphone_core_transfer_call_to_another (linphone_gtk_get_core(),call,dest_call);
GtkWidget *status=linphone_gtk_get_widget(callview,"in_call_status");
GtkWidget *callee=linphone_gtk_get_widget(callview,"in_call_uri");
GtkWidget *duration=linphone_gtk_get_widget(callview,"in_call_duration");
- GtkWidget *animation=linphone_gtk_get_widget(callview,"in_call_animation");
- GdkPixbufAnimation *pbuf=create_pixbuf_animation("calling_anim.gif");
gtk_label_set_markup(GTK_LABEL(status),_("<b>Calling...</b>"));
display_peer_name_in_label(callee,linphone_call_get_remote_address (call));
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));
- }else gtk_image_set_from_stock(GTK_IMAGE(animation),GTK_STOCK_FIND,GTK_ICON_SIZE_DIALOG);
+ linphone_gtk_in_call_set_animation_spinner(callview);
}
void linphone_gtk_in_call_view_set_incoming(LinphoneCall *call, bool_t with_pause){
GtkWidget *callview=(GtkWidget*)linphone_call_get_user_pointer(call);
GtkWidget *status=linphone_gtk_get_widget(callview,"in_call_status");
GtkWidget *callee=linphone_gtk_get_widget(callview,"in_call_uri");
- GtkWidget *animation=linphone_gtk_get_widget(callview,"in_call_animation");
- GdkPixbufAnimation *pbuf=create_pixbuf_animation("calling_anim.gif");
GtkWidget *answer_button;
GtkWidget *image;
gtk_button_set_image(GTK_BUTTON(linphone_gtk_get_widget(callview,"decline_call")),image);
gtk_widget_show(image);
- if (pbuf!=NULL){
- gtk_image_set_from_animation(GTK_IMAGE(animation),pbuf);
- g_object_unref(G_OBJECT(pbuf));
- }else gtk_image_set_from_stock(GTK_IMAGE(animation),GTK_STOCK_EXECUTE,GTK_ICON_SIZE_DIALOG);
+ linphone_gtk_in_call_set_animation_image(callview,GTK_STOCK_DIALOG_INFO,TRUE);
}
static void rating_to_color(float rating, GdkColor *color){
GtkWidget *status=linphone_gtk_get_widget(callview,"in_call_status");
GtkWidget *callee=linphone_gtk_get_widget(callview,"in_call_uri");
GtkWidget *duration=linphone_gtk_get_widget(callview,"in_call_duration");
- GtkWidget *animation=linphone_gtk_get_widget(callview,"in_call_animation");
- GdkPixbufAnimation *pbuf=create_pixbuf_animation("incall_anim.gif");
guint taskid=GPOINTER_TO_INT(g_object_get_data(G_OBJECT(callview),"taskid"));
display_peer_name_in_label(callee,linphone_call_get_remote_address (call));
gtk_label_set_markup(GTK_LABEL(status),_("<b>In call</b>"));
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));
- }else gtk_image_set_from_stock(GTK_IMAGE(animation),GTK_STOCK_EXECUTE,GTK_ICON_SIZE_DIALOG);
+ linphone_gtk_in_call_set_animation_image(callview,GTK_STOCK_MEDIA_PLAY,TRUE);
linphone_gtk_enable_mute_button(
GTK_BUTTON(linphone_gtk_get_widget(callview,"incall_mute")),TRUE);
if (taskid==0){
void linphone_gtk_in_call_view_set_paused(LinphoneCall *call){
GtkWidget *callview=(GtkWidget*)linphone_call_get_user_pointer(call);
GtkWidget *status=linphone_gtk_get_widget(callview,"in_call_status");
- GtkWidget *animation=linphone_gtk_get_widget(callview,"in_call_animation");
gtk_widget_hide(linphone_gtk_get_widget(callview,"answer_decline_panel"));
gtk_label_set_markup(GTK_LABEL(status),_("<b>Paused call</b>"));
- gtk_image_set_from_stock(GTK_IMAGE(animation),GTK_STOCK_MEDIA_PAUSE,GTK_ICON_SIZE_DIALOG);
+ linphone_gtk_in_call_set_animation_image(callview,GTK_STOCK_MEDIA_PAUSE,TRUE);
}
void linphone_gtk_in_call_view_update_duration(LinphoneCall *call){
void linphone_gtk_in_call_view_terminate(LinphoneCall *call, const char *error_msg){
GtkWidget *callview=(GtkWidget*)linphone_call_get_user_pointer(call);
GtkWidget *status=linphone_gtk_get_widget(callview,"in_call_status");
- GtkWidget *animation=linphone_gtk_get_widget(callview,"in_call_animation");
- GdkPixbuf *pbuf=create_pixbuf(linphone_gtk_get_ui_config("stop_call_icon","stopcall-red.png"));
guint taskid=GPOINTER_TO_INT(g_object_get_data(G_OBJECT(callview),"taskid"));
if (error_msg==NULL)
gtk_label_set_markup(GTK_LABEL(status),msg);
g_free(msg);
}
- if (pbuf!=NULL){
- gtk_image_set_from_pixbuf(GTK_IMAGE(animation),pbuf);
- g_object_unref(G_OBJECT(pbuf));
- }
+ linphone_gtk_in_call_set_animation_image(callview,
+ linphone_gtk_get_ui_config("stop_call_icon","stopcall-red.png"),FALSE);
+
gtk_widget_hide(linphone_gtk_get_widget(callview,"answer_decline_panel"));
linphone_gtk_enable_mute_button(
GTK_BUTTON(linphone_gtk_get_widget(callview,"incall_mute")),FALSE);