From e77f19bfacef240db3febcc9da2d1fdf2a1ec92a Mon Sep 17 00:00:00 2001 From: Jakub Adam Date: Wed, 5 Nov 2014 16:34:25 +0100 Subject: [PATCH] appshare: add "Share my desktop" to buddy menu --- src/api/sipe-backend.h | 1 + src/core/sipe-buddy.c | 8 ++++++++ src/purple/purple-buddy.c | 14 ++++++++++++++ 3 files changed, 23 insertions(+) diff --git a/src/api/sipe-backend.h b/src/api/sipe-backend.h index fa453382..bb948be8 100644 --- a/src/api/sipe-backend.h +++ b/src/api/sipe-backend.h @@ -1070,6 +1070,7 @@ enum sipe_buddy_menu_type { SIPE_BUDDY_MENU_ACCESS_LEVEL_HELP, SIPE_BUDDY_MENU_CHANGE_ACCESS_LEVEL, SIPE_BUDDY_MENU_ADD_NEW_DOMAIN, + SIPE_BUDDY_MENU_SHARE_DESKTOP, SIPE_BUDDY_MENU_TYPES }; diff --git a/src/core/sipe-buddy.c b/src/core/sipe-buddy.c index 27590c7b..799ce6a2 100644 --- a/src/core/sipe-buddy.c +++ b/src/core/sipe-buddy.c @@ -2370,6 +2370,14 @@ struct sipe_backend_buddy_menu *sipe_core_buddy_create_menu(struct sipe_core_pub } } +#ifdef HAVE_APPSHARE_SERVER + menu = sipe_backend_buddy_menu_add(sipe_public, + menu, + _("Share my desktop"), + SIPE_BUDDY_MENU_SHARE_DESKTOP, + NULL); +#endif // HAVE_APPSHARE_SERVER + /* access level control */ if (SIPE_CORE_PRIVATE_FLAG_IS(OCS2007)) menu = sipe_backend_buddy_sub_menu_add(sipe_public, diff --git a/src/purple/purple-buddy.c b/src/purple/purple-buddy.c index ca8c4b24..f55a5a2e 100644 --- a/src/purple/purple-buddy.c +++ b/src/purple/purple-buddy.c @@ -665,6 +665,19 @@ static void sipe_purple_buddy_add_new_domain_cb(PurpleBuddy *buddy, gc); } +#ifdef HAVE_APPSHARE_SERVER +static void sipe_purple_buddy_share_desktop_cb(PurpleBuddy *buddy, + SIPE_UNUSED_PARAMETER gpointer parameter) +{ + sipe_core_appshare_share_desktop(PURPLE_BUDDY_TO_SIPE_CORE_PUBLIC, + purple_buddy_get_name(buddy)); +} +#else +static void sipe_purple_buddy_share_desktop_cb(SIPE_UNUSED_PARAMETER PurpleBuddy *buddy, + SIPE_UNUSED_PARAMETER gpointer parameter) +{} +#endif // HAVE_APPSHARE_SERVER + typedef void (*buddy_menu_callback)(PurpleBuddy *buddy, gpointer parameter); static const buddy_menu_callback callback_map[SIPE_BUDDY_MENU_TYPES] = { @@ -677,6 +690,7 @@ static const buddy_menu_callback callback_map[SIPE_BUDDY_MENU_TYPES] = { /* SIPE_BUDDY_MENU_ACCESS_LEVEL_HELP */ sipe_purple_buddy_access_level_help_cb, /* SIPE_BUDDY_MENU_CHANGE_ACCESS_LEVEL */ sipe_purple_buddy_change_access_level_cb, /* SIPE_BUDDY_MENU_ADD_NEW_DOMAIN */ sipe_purple_buddy_add_new_domain_cb, +/* SIPE_BUDDY_MENU_SHARE_DESKTOP */ sipe_purple_buddy_share_desktop_cb, }; struct sipe_backend_buddy_menu *sipe_backend_buddy_menu_start(SIPE_UNUSED_PARAMETER struct sipe_core_public *sipe_public) -- 2.11.4.GIT