diff options
author | Travis Reitter <treitter@gmail.com> | 2010-08-13 07:08:25 +0800 |
---|---|---|
committer | Travis Reitter <treitter@gmail.com> | 2010-08-16 23:59:01 +0800 |
commit | 383c3b1166a577e9fe5ae6bd6934c92f8499cc5f (patch) | |
tree | 3aba1b80a2d507c5d0d7a0ce9390e4de1ca19901 | |
parent | 90a91152a1d7db0c8f33eaf73ca766051efd7422 (diff) | |
download | gsoc2013-empathy-383c3b1166a577e9fe5ae6bd6934c92f8499cc5f.tar gsoc2013-empathy-383c3b1166a577e9fe5ae6bd6934c92f8499cc5f.tar.gz gsoc2013-empathy-383c3b1166a577e9fe5ae6bd6934c92f8499cc5f.tar.bz2 gsoc2013-empathy-383c3b1166a577e9fe5ae6bd6934c92f8499cc5f.tar.lz gsoc2013-empathy-383c3b1166a577e9fe5ae6bd6934c92f8499cc5f.tar.xz gsoc2013-empathy-383c3b1166a577e9fe5ae6bd6934c92f8499cc5f.tar.zst gsoc2013-empathy-383c3b1166a577e9fe5ae6bd6934c92f8499cc5f.zip |
Support desktop sharing in the Personas menu.
-rw-r--r-- | libempathy-gtk/empathy-individual-menu.c | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/libempathy-gtk/empathy-individual-menu.c b/libempathy-gtk/empathy-individual-menu.c index 994bdf1f2..10427cbf4 100644 --- a/libempathy-gtk/empathy-individual-menu.c +++ b/libempathy-gtk/empathy-individual-menu.c @@ -237,7 +237,7 @@ empathy_individual_menu_new (FolksIndividual *individual, /* Share my desktop */ /* FIXME we should add the "Share my desktop" menu item if Vino is a registered handler in MC5 */ - item = empathy_individual_share_my_desktop_menu_item_new (individual); + item = empathy_individual_share_my_desktop_menu_item_new (individual, NULL); gtk_menu_shell_append (shell, item); gtk_widget_show (item); @@ -666,21 +666,33 @@ empathy_individual_share_my_desktop_menu_item_activated (GtkMenuItem *item, } GtkWidget * -empathy_individual_share_my_desktop_menu_item_new (FolksIndividual *individual) +empathy_individual_share_my_desktop_menu_item_new (FolksIndividual *individual, + EmpathyContact *contact) { GtkWidget *item; GtkWidget *image; - g_return_val_if_fail (FOLKS_IS_INDIVIDUAL (individual), NULL); + g_return_val_if_fail (FOLKS_IS_INDIVIDUAL (individual) || + EMPATHY_IS_CONTACT (contact), + NULL); item = gtk_image_menu_item_new_with_mnemonic (_("Share My Desktop")); image = gtk_image_new_from_icon_name (GTK_STOCK_NETWORK, GTK_ICON_SIZE_MENU); gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image); gtk_widget_show (image); - menu_item_set_first_contact (item, individual, - G_CALLBACK (empathy_individual_share_my_desktop_menu_item_activated), - empathy_contact_can_use_rfb_stream_tube); + if (contact != NULL) + { + menu_item_set_contact (item, contact, + G_CALLBACK (empathy_individual_share_my_desktop_menu_item_activated), + empathy_contact_can_use_rfb_stream_tube); + } + else + { + menu_item_set_first_contact (item, individual, + G_CALLBACK (empathy_individual_share_my_desktop_menu_item_activated), + empathy_contact_can_use_rfb_stream_tube); + } return item; } |