diff options
author | Travis Reitter <treitter@gmail.com> | 2010-08-12 01:33:40 +0800 |
---|---|---|
committer | Travis Reitter <treitter@gmail.com> | 2010-08-16 23:59:00 +0800 |
commit | 65ebc3c5f77b566def16ef0477109877d82fe185 (patch) | |
tree | f9f8ec9f18c85be94433c0b5e95683c21efe9627 /libempathy-gtk | |
parent | 148655a23b2ead60f6349590d8ce7793abe11989 (diff) | |
download | gsoc2013-empathy-65ebc3c5f77b566def16ef0477109877d82fe185.tar gsoc2013-empathy-65ebc3c5f77b566def16ef0477109877d82fe185.tar.gz gsoc2013-empathy-65ebc3c5f77b566def16ef0477109877d82fe185.tar.bz2 gsoc2013-empathy-65ebc3c5f77b566def16ef0477109877d82fe185.tar.lz gsoc2013-empathy-65ebc3c5f77b566def16ef0477109877d82fe185.tar.xz gsoc2013-empathy-65ebc3c5f77b566def16ef0477109877d82fe185.tar.zst gsoc2013-empathy-65ebc3c5f77b566def16ef0477109877d82fe185.zip |
Make Send File context menu choose the first capable contact.
Diffstat (limited to 'libempathy-gtk')
-rw-r--r-- | libempathy-gtk/empathy-individual-menu.c | 24 |
1 files changed, 6 insertions, 18 deletions
diff --git a/libempathy-gtk/empathy-individual-menu.c b/libempathy-gtk/empathy-individual-menu.c index 61269e7b5..67baa3db1 100644 --- a/libempathy-gtk/empathy-individual-menu.c +++ b/libempathy-gtk/empathy-individual-menu.c @@ -458,17 +458,12 @@ empathy_individual_log_menu_item_new (FolksIndividual *individual) } static void -individual_file_transfer_menu_item_activate_cb (FolksIndividual *individual) +empathy_individual_file_transfer_menu_item_activated (GtkMenuItem *item, + EmpathyContact *contact) { - EmpathyContact *contact; - - contact = empathy_contact_dup_from_folks_individual (individual); - g_return_if_fail (EMPATHY_IS_CONTACT (contact)); empathy_send_file_with_file_chooser (contact); - - g_object_unref (contact); } GtkWidget * @@ -476,25 +471,18 @@ empathy_individual_file_transfer_menu_item_new (FolksIndividual *individual) { GtkWidget *item; GtkWidget *image; - EmpathyContact *contact; g_return_val_if_fail (FOLKS_IS_INDIVIDUAL (individual), NULL); - contact = empathy_contact_dup_from_folks_individual (individual); - - g_return_val_if_fail (EMPATHY_IS_CONTACT (contact), NULL); - item = gtk_image_menu_item_new_with_mnemonic (_("Send File")); image = gtk_image_new_from_icon_name (EMPATHY_IMAGE_DOCUMENT_SEND, - GTK_ICON_SIZE_MENU); - gtk_widget_set_sensitive (item, empathy_contact_can_send_files (contact)); + GTK_ICON_SIZE_MENU); gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image); gtk_widget_show (image); - g_signal_connect_swapped (item, "activate", - G_CALLBACK (individual_file_transfer_menu_item_activate_cb), individual); - - g_object_unref (contact); + menu_item_set_first_contact (item, individual, + G_CALLBACK (empathy_individual_file_transfer_menu_item_activated), + empathy_contact_can_send_files); return item; } |