diff -Nru empathy-3.1.1/debian/changelog empathy-3.1.1/debian/changelog --- empathy-3.1.1/debian/changelog 2011-05-10 15:32:40.000000000 +0000 +++ empathy-3.1.1/debian/changelog 2011-06-03 20:54:08.000000000 +0000 @@ -1,215 +1,431 @@ -empathy (3.1.1-0ubuntu1) oneiric; urgency=low +empathy (3.1.1-1ubuntu2~bcurtiswx) oneiric; urgency=low - * New Upstream Release + * debian/control + - added libchamplain and geoclue + * debian/rules + - enabled maps and location + - [linx-any] with libnm - -- Brian Curtis Tue, 10 May 2011 11:16:54 -0400 + -- Brian Curtis Fri, 03 Jun 2011 15:49:03 -0400 -empathy (3.0.1-0ubuntu1~build2) natty; urgency=low +empathy (3.1.1-1ubuntu1) oneiric; urgency=low - * New upstream release + [ Brian Curtis ] + * Merge with Debian experimental, remaining Ubuntu changes: * debian/control: - - change build-dep libgcr-dev to libgcr-3-dev + - Drop geoclue/mapping build-depends (they are in Universe) + - Add Vcz-Bzr link + - Add Suggests on telepathy-idle + - Bump telepathy-butterfly, telepathy-haze to recommends + - Don't recommend the freedesktop sound theme we have an ubuntu one + - Add build depend for libunity-dev + * debian/rules: + - Use autoreconf.mk + - Disable map and location + * debian/empathy.install: + - Install message indicator configuration + * debian/indicators/empathy: + - Message indicator configuration + * debian/patches/01_lpi.patch: + - Add Launchpad integration + * debian/patches/10_use_notify_osd_icons.patch: + - Use the notify-osd image for new messages + * debian/patches/34_start_raised_execpt_in_session.patch + - If not started with the session, we should always raise + * debian/patches/36_chat_window_default_size.patch: + - Make the default chat window size larger + * debian/patches/37_facebook_default.patch: + - Make facebook the default chat account type + * debian/patches/38_lp_569289.patch + - Set freenode as default IRC network for new IRC accounts + * debian/patches/41_unity_launcher_progress.patch + - Display file transfer progress in the unity launcher - -- Rico Tzschichholz Sat, 07 May 2011 08:11:34 +0200 + [ Ken VanDine ] + * debian/control + - build depend on libgcr-3-dev instead of libgcr-dev + - dropped build depends for libindicate, we will use telepathy-indicator + - Depend on dconf-gsettings-backend | gsettings-backend + - Added a Recommends for telepathy-indicator + * +debian/empathy.gsettings-override + - Added an override for notifications-focus + * debian/patches/series + - commented out 23_idomessagedialog_for_voip_and_ft.patch, until ido has + been ported to gtk3 -empathy (3.0.0-0ubuntu1~build2) natty; urgency=low + -- Brian Curtis Wed, 01 Jun 2011 10:35:24 -0400 - * debian/rules - - enable-webkit - - added with-ca-file to configure args - * debian/control - - bumped build depends on libgcr-dev to >= 3.0.0 +empathy (3.1.1-1) experimental; urgency=low - -- Ken VanDine Mon, 02 May 2011 13:59:57 -0400 + * New upstream release. + * debian/control: + + Update glib and tp-glib build-dep versions for new release. + + Change libgcr-dev build-dep to libgcr-3-dev. + + -- Jonny Lamb Tue, 10 May 2011 10:26:38 +0100 -empathy (3.0.0-0ubuntu1~build1) natty; urgency=low +empathy (3.0.0-1) experimental; urgency=low * New upstream release - -- Rico Tzschichholz Mon, 04 Apr 2011 16:35:24 +0200 + -- Sjoerd Simons Fri, 08 Apr 2011 22:00:01 +0200 -empathy (2.91.93-0ubuntu1~build2) natty; urgency=low +empathy (2.91.92-1) experimental; urgency=low - * debian/patches: - + 01_lpi.patch, 02_notifications_focus.patch, - 10_use_notify_osd_icons.patch, 36_chat_window_default_size.patch, - 37_facebook_default.patch, 38_lp_569289.patch - - refreshed and enabled + * New upstream release. + + debian/control: + - Bump libtelepathy-glib-dev build dependency. + * debian/rules: + + Don't create an shlibs file for empathy. - -- Rico Tzschichholz Wed, 30 Mar 2011 15:19:55 +0200 + -- Emilio Pozuelo Monfort Thu, 24 Mar 2011 17:29:07 +0000 -empathy (2.91.93-0ubuntu1~build1) natty; urgency=low +empathy (2.91.91.1-1) experimental; urgency=low + [ Sjoerd Simons ] * New upstream release + * Update b-d to libfolks >= 0.4.0 + * Enable contacts on a map + + [ Emilio Pozuelo Monfort ] + * debian/control: + - Don't recommend all the geoclue-* packages. geoclue is enough, + and it suggests the geoclue-* packages. Closes: #599646. + - Add geoclue support for Hurd, since it's available there now. - -- Rico Tzschichholz Mon, 28 Mar 2011 13:19:47 +0200 + -- Sjoerd Simons Sat, 19 Mar 2011 18:51:04 +0000 -empathy (2.91.92-0ubuntu1~build1) natty; urgency=low +empathy (2.91.91-1) experimental; urgency=low * New upstream release + * Build-depend on libgtk-3-dev (>= 3.0.2) + + -- Sjoerd Simons Thu, 10 Mar 2011 00:41:41 +0000 + +empathy (2.91.90.2-1) experimental; urgency=low + + [ Emilio Pozuelo Monfort ] + * New upstream release. + - debian/control: + + Update build dependencies. + + [ Sjoerd Simons ] + * debian/control: Update build-depend on tp-logger >= 0.2.0 + * Explicitly disable the control center embedding + + [ Emilio Pozuelo Monfort ] + * debian/control, + debian/rules: + - Let CDBS call dh_bugfiles for us. + * debian/rules, + debian/control, + debian/empathy.install: + - Re-enable the control center panel now that it builds fine. + * debian/rules: + - Remove obsolete configure flag. + + -- Emilio Pozuelo Monfort Mon, 28 Feb 2011 08:01:59 +0000 + +empathy (2.91.6.1-1) experimental; urgency=low + * debian/control: - + bump build-deps on libtelepathy-glib-dev (>= 0.14.1), - libgtk-3-dev (>= 3.0.2) + - Re-enable nautilus-sendto plugin. + * New upstream release. + - debian/control: + + Bump the libfolks and telepathy-glib build dependencies. - -- Rico Tzschichholz Sun, 27 Mar 2011 19:51:55 +0200 + -- Emilio Pozuelo Monfort Tue, 01 Feb 2011 18:39:57 +0000 -empathy (2.91.91.1-0ubuntu1~build1) natty; urgency=low +empathy (2.91.5.1-1) experimental; urgency=low - * New Upstream Release - -Can't setup an irc server (Guillaume Desmottes) - -Empathy should check Reconnect_Required before calling Reconnect() (Guillaume Desmottes) - -Allow pinning contacts (showing them even when they are offline) (Guillaume Desmottes) - -Implement a channel factory (Guillaume Desmottes) - -Hide the user Individual from the contact list (Philip Withnall) - -MUC does not show user status (Guillaume Desmottes) - -Assertion failure when sending a file to yourself (Guillaume Desmottes) - -contact tooltip are never destroyed (Guillaume Desmottes) - -Crash when trying to show contact info (Guillaume Desmottes) - -Update for libfolks API changes to IndividualAggregator.add_persona_from_details (Philip Withnall) - -Set FileTransfer.URI (Guillaume Desmottes) - -cc-panel: make sure to always pack a widget during construction (Cosimo Cecchi) - -accounts: fill in the right categories to show up in control-center (Cosimo Cecchi) - -connectivity: Uses old connman D-BUS names (Rob Bradford) - -Port to champlain 0.10 (Guillaume Desmottes) - -Group expander is always in the same state (Guillaume Desmottes) - -Reset Networks' list button in IRC network chooser dialog (Chandni Verma) - -Hitting Enter doesn't activate the "Enter password" dialog (Guillaume Desmottes) - -Incomplete list of servers and port numbers for Freenode (Debarshi Ray) - -Empathy and empathy-chat should appear as the same app in gnome-shell (Guillaume Desmottes) - -Improve context menu reference management (Guillaume Desmottes) - -Wrong capitalization for check-boxes (Milo Casagrande) - -Chat window close button is huge (Guillaume Desmottes) - -/query and /msg command are broken (Guillaume Desmottes) - -Use tp_capabilities_supports_room_list() (Guillaume Desmottes) - -Header collision between clutter-gtk-1.0 and clutter-gtk-0.10 due to include path order (Nirbheek Chauhan) - -Certificate dialog should disappear if the connection goes away (Guillaume Desmottes) - -Empathy preferences appears in "Appearence" in control-center (Cosimo Cecchi) - -throbber/status message input widget disapper when contact list too narrow (Robert Sajdok) - -Empathy ask to confirm certificate even if it is trusted in system stash (Stef Walter) - -Autoreject incoming calls when there is one in progress (Emilio Pozuelo Monfort) - -Support Ch.I.CredentialsStorage in auth-client (Danielle Madeley) - -Auth client should have Observer.DelayApprovers (Guillaume Desmottes) - -MSN protocol name may not be recognizable to some users (Guillaume Desmottes) - -Missing mnemonic for "I don't want to enable this feature for now" (Guillaume Desmottes) - -Warn if the user has insufficient disk space to receive file (Danielle Madeley) - -all: set the primary-toolbar style class on primary toolbars (Cosimo Cecchi) - -Display a notification when rejecting a call (Guillaume Desmottes) - -Fix various issues in the Call observer (Guillaume Desmottes) - -Contact Info should respect Overwritten_By_Nickname (Guillaume Desmottes) - -new app icon for empathy (Jakub Steiner) - -Allow to block specific contacts (Danielle Madeley) - -SSL server validation should follow override server CancelOk (Stef Walter) - -Have to enter password even if provided during account creation (Guillaume Desmottes) - -Should set EmpathyChat as PreferredHandler when requesting a text channel (Guillaume Desmottes) - -Don't set your contact info if nothing's changed (Guillaume Desmottes) - -Don't clobber alias updates through using both Aliasing and ContactInfo (Guillaume Desmottes) - -Support Error.EmergencyCallsNotSupported (Emilio Pozuelo Monfort) - -Support Error.SoftwareUpgradeRequired (Emilio Pozuelo Monfort) - -Should set password-prompt on IRC accounts when needed (Guillaume Desmottes) - -Empathy.Auth.client doesn't have DelayApprovers (Guillaume Desmottes) - -Install .service and .client files for empathy-call (Emilio Pozuelo Monfort) - -Remove contact doesn't work (Guillaume Desmottes) - -Sidebar is very wide (Guillaume Desmottes) - -Clear logs improvements (Emilio Pozuelo Monfort) - -History window: filter accounts without logs (Emilio Pozuelo Monfort) - -Don't update Contact menu on a focus-in (Michael Terry) - -Patch for warnings from GCC 4.6 about variables that are set but not used (Kjartan Maraas) - -empathy-auth-client should implement the Debug interface (Guillaume Desmottes) - -ICQ widget: should be able to enter an email address (Guillaume Desmottes) - * debian/control - -bumped dep on tp-glip, tp-logger, gtk+3.0, folks - * Updated Translations + [ Laurent Bigonville ] + * debian/control: Bump libdconf0 to Depends + + [ Emilio Pozuelo Monfort ] + * debian/control, + debian/rules: + + Re-enable webkit support. + * New upstream release. + * debian/rules: + + Don't tell CDBS what the dbg package is, it already knows that. + + No need to tell dh_install to look at debian/tmp, it does that + since compat 7. + + Link with -Wl,-z,defs -Wl,-O1 again. + + -- Emilio Pozuelo Monfort Wed, 19 Jan 2011 20:16:39 +0000 + +empathy (2.91.5-1) experimental; urgency=low + + * New upstream release. + + d/p/0001-Simplify-filter-adding-code-by-just-using-gdk_x11-fu.patch: + - Removed, included upstream. + + debian/control: + - Bump the libgtk3.0-dev build dependency to get the latest ABI. + * debian/rules: + + Reuse $(DEB_BUILD_ARCH_OS) from CDBS. + + -- Emilio Pozuelo Monfort Thu, 13 Jan 2011 11:58:52 +0000 + +empathy (2.91.4.3-1) experimental; urgency=low + + * New upstream release + * Bump libgcr-dev build-dep + * d/p/0001-Simplify-filter-adding-code-by-just-using-gdk_x11-fu.patch + + Added simplify code and fix building against older gtk + + -- Sjoerd Simons Sun, 26 Dec 2010 14:09:03 +0100 + +empathy (2.91.4-1) experimental; urgency=low + + * New upstream release. + - Bump libgtk3.0-dev and libtelepathy-glib-dev build requirements. + + -- Emilio Pozuelo Monfort Mon, 20 Dec 2010 18:58:37 +0000 + +empathy (2.91.3.1-1) experimental; urgency=low - -- Brian Curtis Fri, 18 Mar 2011 09:17:52 -0400 + * New upstream release. + - Bump libfolks and telepathy-glib build requirements. + + -- Emilio Pozuelo Monfort Tue, 14 Dec 2010 18:13:27 +0100 -empathy (2.91.6.1-0ubuntu1~build2) natty; urgency=low +empathy (2.91.3-2) experimental; urgency=low + * Add debian/empathy.bug-control: Include version of + telepathy-connection-manager in bugreport (Closes: #604441) + * debian/rules: Install bug-control file + * Bump debhelper to 8 * debian/control: - - Use new GTK3 package names + - Build-depend against gsettings-desktop-schemas-dev instead + of gsettings-desktop-schemas (Closes: #605898) + - Add gsettings-desktop-schemas as dependency for empathy package + - Bump libgcr-dev build-dependency to 2.91.3 to avoid build issue - -- Rodrigo Moya Wed, 23 Feb 2011 12:53:47 +0100 + -- Laurent Bigonville Sun, 05 Dec 2010 00:52:05 +0100 -empathy (2.91.6.1-0ubuntu1~build1) natty; urgency=low +empathy (2.91.3-1) experimental; urgency=low - * New Upstream Release - - Add a throbber in the info bar when joining a room protected room (Jonny Lamb) - - Add "Firefox style" info bar to save room password (Jonny Lamb) - - support Contact Search API (Emilio Pozuelo Monfort) - - Display "typing" icon in muc contacts list (Chandni Verma) - - Don't display "typing" icon in muc tabs (Chandni Verma) - - Enforce a format for birthday (Vitaly Minko) - - Empathy does not allow Yahoo server to be added to account. (Guillaume Desmottes) - - empathy-chat crashes when trying to send a file (Guillaume Desmottes) - - Send video button greyed out but Video->Video On menu not (Guillaume Desmottes) - - Adjust for Folks avatar and presence interface renames (Travis Reitter) - - Incoming message sound played twice (Guillaume Desmottes) - - main-window: use line-wrap for "no match" label (Diego Escalante Urrelo) - - Crash when trying to create an ICQ account (Guillaume Desmottes) - - Rename and clean-up EmpathyIdle (Guillaume Desmottes) - - Mark a non-user-visible string as untranslatable. (Will Thompson) - - Empathy is eating all the memory (Guillaume Desmottes) + [ Laurent Bigonville ] + * debian/control: + - Bump telepathy-logger to Depends (Closes: #595078) + + [ Sjoerd Simons ] + * New upstream release + * debian/control: fix typon the libfolks-telepathy-dev build-depends + + [ Emilio Pozuelo Monfort ] + * New upstream release. + - Remove the libgconf2-dev build dependency. + - Build depend on gsettings-desktop-schemas. + - Bump libfolks-dev build dependency to 0.3.2. + - 0001-Stop-using-removed-Individual-convenience-methods-fr.patch: + + Removed, applied upstream. + * debian/control: + - Use architecture wildwards. + - Add myself to Uploaders. + + -- Emilio Pozuelo Monfort Wed, 01 Dec 2010 20:46:23 +0100 + +empathy (2.34.0-0ubuntu4) oneiric; urgency=low + + [ Omer Akram ] + * debian/patches/70_append_messages_in_notifications.patch: + - Append new messages in notifications. (LP: #769234) + + -- Martin Pitt Mon, 30 May 2011 09:41:40 +0200 + +empathy (2.34.0-0ubuntu3) natty; urgency=low + + * Rebuild against latest libunity (soname bump) + + -- Didier Roche Thu, 07 Apr 2011 12:27:30 +0200 + +empathy (2.34.0-0ubuntu2) natty; urgency=low + + *debian/patches + - added 00_lp_748535.patch + - Fix a crasher with event_manager_add (LP: #748535) + + -- Brian Curtis Mon, 04 Apr 2011 09:07:20 -0400 + +empathy (2.34.0-0ubuntu1) natty; urgency=low + + * New upstream release + * debian/control + - Bumped build depends on libtelepathy-glib to >= 0.14.1 + * debian/patches/20_libindicate.patch + - refreshed + * debian/patches/23_idomessagedialog_for_voip_and_ft.patch + - refreshed + * debian/patches/42_dont_change_menu_on_focus.patch + - removed patch, its upstream now. + + -- Brian Curtis Thu, 24 Mar 2011 12:41:44 -0400 + +empathy (2.33.4-0ubuntu1) natty; urgency=low + + * New upstream release * debian/control - -bumped build-dep on libfolks and telepathy-glib - * Updated Translations + - Bumped build depends libfolks-dev and libfolks-telepathy-dev to >= 0.4.0 + - Bumped build depends libtelepathy-glib-dev to >= 0.13.17 + + -- Ken VanDine Wed, 16 Mar 2011 13:48:12 -0400 - -- Brian Curtis Tue, 01 Feb 2011 10:16:39 -0500 +empathy (2.33.3-0ubuntu3) natty; urgency=low -empathy (2.91.5.1-0ubuntu1~build4) natty; urgency=low + * debian/patches/42_dont_change_menu_on_focus.patch: + - Don't change Contact menu when receiving a focus-in event. This makes + it difficult for global menu implementations like indicator-appmenu. + LP: #729191 - * Upstream Version until libindicate gets updated/fixed + -- Michael Terry Wed, 16 Mar 2011 09:06:02 -0400 - -- Brian Curtis Sat, 22 Jan 2011 16:41:53 -0500 +empathy (2.33.3-0ubuntu2) natty; urgency=low -empathy (2.91.5.1-0ubuntu1~build3) natty; urgency=low + * debian/patches/23_idomessagedialog_for_voip_and_ft.patch + - Use the IdoMessageDialog for all incoming calls + -- Ken VanDine Tue, 15 Mar 2011 09:56:43 -0400 + +empathy (2.33.3-0ubuntu1) natty; urgency=low + + * New Upstream Release (LP: #732077) + * debian/control + -bumped dep for tp-glib + * debian/patches/23_idomessagedialog_for_voip_and_ft.patch + - fixed a fuzz issue with build by refreshing patch + + -- Brian Curtis Wed, 09 Mar 2011 10:46:13 -0500 + +empathy (2.33.2-0ubuntu2) natty; urgency=low + + * debian/patches/23_idomessagedialog_for_voip_and_ft.patch + - Make incoming call and file transfer dialogs decorated + + -- Ken VanDine Thu, 24 Feb 2011 15:52:19 -0500 + +empathy (2.33.2-0ubuntu1) natty; urgency=low + + * New upstream release + * -debian/patches/reword_subscription_dailog_to_be_less_technical.patch + - merged upstream + * debian/control + - Bumped build depends for tp-logger, tp-glib, folks and libunity-dev + + -- Ken VanDine Thu, 24 Feb 2011 11:54:47 -0500 + +empathy (2.33.1-0ubuntu4) natty; urgency=low + + * debian/patches/41_unity_launcher_progress.patch + - Added support for file transfer progress in the unity launcher + * debian/patches/40_unity_launcher_count.patch + - renamed for consistency and clarity + + -- Ken VanDine Tue, 15 Feb 2011 15:36:35 -0500 + +empathy (2.33.1-0ubuntu3) natty; urgency=low + + [ Brian Curtis ] + * debian/patches/40_libunity.patch + -add launcher support for empathy + * debian/changelog + -add libunity-dev to deps + + [ Ken VanDine ] + * debian/patches/40_libunity.patch + - cleaned up some debugging messages + - unref the launcher + + -- Brian Curtis Mon, 14 Feb 2011 17:28:40 -0500 + +empathy (2.33.1-0ubuntu2) natty; urgency=low + + * debian/patches/23_idomessagedialog_for_voip_and_ft.patch + - Use IdoMessageDialog for incoming file transfers as well as voip + + -- Ken VanDine Mon, 14 Feb 2011 15:48:48 -0500 + +empathy (2.33.1-0ubuntu1) natty; urgency=low + + [ Brian Curtis ] * New Upstream Release + * debian/control + -bumped dep on folks, telepathy-glib and libnotify + * debian/patches + -removed patches now in source -refreshed patches - -removed debian/patches/31_really_raise_window from series + + [ Ken VanDine ] * debian/patches/20_libindicate.patch - - updated libindicate check to -0.5 - - empathy_chat_SOURCES additions + - Updated notification code to match the libnotify4-dev API * debian/rules - - disabled webkit until NEWED in natty + - Explicitly disable location awareness + + -- Ken VanDine Thu, 03 Feb 2011 12:17:02 -0500 + +empathy (2.32.2-0ubuntu8) natty; urgency=low + + * debian/patches/23_idomessagedialog_for_voip.patch + - Raise a IdoMessageDialog for incoming voip calls (LP: #440865) * debian/control - - bumped build-depends + - Added a new build depends on libido-0.1-dev, needed for IdoMessageDialog - -- Brian Curtis Fri, 14 Jan 2011 19:22:08 -0500 + -- Ken VanDine Tue, 01 Feb 2011 12:29:11 -0500 -empathy (2.91.4.3-0ubuntu1) UNRELEASED; urgency=low +empathy (2.32.2-0ubuntu7) natty; urgency=low - * New upstream release - * debian/control: - - Bump build-depends on libglib2.0-dev, libgtk3.0-dev, - libtelepathy-glib-dev, libcanberra-gtk3-dev, libnotify4-dev, - libwebkitgtk-3.0-dev, nautilus-sendto, libfolks-dev, - libfolks-telepathy-dev, liblaunchpad-integration-3.0-dev, - libtelepathy-glib-dev, libgnome-keyring-dev - - Add build-depends on gsettings-desktop-schemas-dev - - Update Vcs-Bzr link + * debian/patches/00_git_conn_disc_notif.patch (LP: #582757) + * debian/patches/00_git_F2_opens_contact_info.patch (LP: #387991) + * debian/patches/00_git_tooltip_on_error_info.patch (LP: #681413) + * debian/rules + - added --with-ca-file='/etc/ssl/certs/ca-certificates.crt' - -- Robert Ancell Fri, 07 Jan 2011 16:02:56 +1100 + -- Brian Curtis Tue, 25 Jan 2011 13:20:01 -0500 -empathy (2.91.4.3-0ubuntu1~build1) natty; urgency=low +empathy (2.32.2-0ubuntu6) natty; urgency=low - * New Upstream Release + * debian/patches/22_tell_if_the_message_is_a_pending_one_or_not.patch: + * debian/patches/22_dont_display_notifications_for_pending_messages.patch: + - Don't display duplicate notifications. (LP: #666288) - -- Brian Curtis Mon, 03 Jan 2011 12:11:57 -0500 + -- Omer Akram Mon, 17 Jan 2011 20:11:44 +0500 -empathy (2.91.3-0ubuntu1) UNRELEASED; urgency=low +empathy (2.32.2-0ubuntu5) natty; urgency=low + + * debian/control + - Bumped build depends for libindicate and libindicate-gtk to >= 0.4.91 + * debian/patches/20_libindicate.patch + - Updated to check for indicate-0.5 + + -- Ken VanDine Fri, 14 Jan 2011 12:52:27 -0600 + +empathy (2.32.2-0ubuntu4) natty; urgency=low - * DOES NOT BUILD due to nautilus-sendto being provided by the - nautils module now, but the header files not being in nautilus. - Needs checking as to which module needs fixing. - * New upstream release * debian/control: - - Bump build-depends on libglib2.0-dev, libgtk3.0-dev, - libtelepathy-glib-dev, libcanberra-gtk3-dev, libnotify4-dev, - libwebkitgtk-3.0-dev, nautilus-sendto, libfolks-dev, - libfolks-telepathy-dev, liblaunchpad-integration-3.0-dev - - Add build-depends on gsettings-desktop-schemas-dev - - Update Vcs-Bzr link + - Change build-depends from libwebkit-dev to libwebkitgtk-dev + + -- Robert Ancell Mon, 10 Jan 2011 15:07:47 -0600 + +empathy (2.32.2-0ubuntu3) natty; urgency=low + + * debian/patches/00git_folks_api.patch: + - Update to latest folks API + + [ Omer Akram ] + * debian/patches/enable_pidgin_imported_contacts.patch: + - Enable pidgin imported accounts by default. (LP: #622215) + * debian/patches/reword_subscription_dailog_to_be_less_technical.patch: + - Reword subscription request dialog to be less technical. (LP: #670197) + + -- Robert Ancell Thu, 06 Jan 2011 14:32:31 +1100 - -- Robert Ancell Fri, 03 Dec 2010 14:55:50 +1100 +empathy (2.32.2-0ubuntu2) natty; urgency=low + + * debian/patches/00git_folks_aliasable_groupable.patch: + * debian/patches/00git_individual_methods.patch: + - Use latest libfolks API + + -- Robert Ancell Mon, 06 Dec 2010 16:14:51 +1100 empathy (2.32.2-0ubuntu1) natty; urgency=low @@ -239,6 +455,19 @@ -- Brian Curtis Tue, 16 Nov 2010 22:01:18 -0500 +empathy (2.32.0.1-2) experimental; urgency=low + + * Re-enable map support + + -- Laurent Bigonville Wed, 03 Nov 2010 19:50:21 +0100 + +empathy (2.32.0.1-1) experimental; urgency=low + + * New upstream release + - Bump libgtk2.0-dev build-dependency + + -- Laurent Bigonville Sun, 10 Oct 2010 16:34:01 +0200 + empathy (2.32.0.1-0ubuntu1) maverick-proposed; urgency=low * New upstream release (LP: #654981) @@ -257,6 +486,12 @@ -- Ken VanDine Mon, 04 Oct 2010 12:03:51 -0400 +empathy (2.32.0-1) experimental; urgency=low + + * New upstream release + + -- Laurent Bigonville Thu, 30 Sep 2010 23:13:22 +0200 + empathy (2.32.0-0ubuntu2) maverick; urgency=low * debian/patches/91_git_fix_gtalk_for_new_accounts.patch: @@ -277,6 +512,14 @@ -- Brian Curtis Mon, 27 Sep 2010 10:21:30 -0400 +empathy (2.31.92-1) experimental; urgency=low + + * New upstream release + - Bump libtelepathy-glib-dev build-dependency + * debian/control: Add missing libgcr-dev build-dependency (Closes: #596522) + + -- Laurent Bigonville Sun, 19 Sep 2010 20:05:45 +0200 + empathy (2.31.92-0ubuntu2) maverick; urgency=low * debian/patches/20_libindicate.patch @@ -324,6 +567,18 @@ -- Didier Roche Thu, 02 Sep 2010 12:40:03 +0200 +empathy (2.31.91-1) experimental; urgency=low + + [ Laurent Bigonville ] + * New upstream release + * debian/control: + - Adjust build-dependencies + + [ Sjoerd Simons ] + * Temporarily disable map support (libchamplain 0.8 isn't packages yet) + + -- Sjoerd Simons Sun, 05 Sep 2010 13:34:59 +0100 + empathy (2.31.91-0ubuntu1) maverick; urgency=low * New upstream release: @@ -436,7 +691,7 @@ empathy (2.31.2-2) experimental; urgency=low * Add versionized depedency for gnome-icon-theme - * Add Breaks for telepathy-butterfly (<< 0.5.10) as the contacts don't + * Add Breaks for telepathy-butterfly (<< 0.5.10) as the contacts don't appear in the contact list with previous versions -- Laurent Bigonville Tue, 25 May 2010 15:31:33 +0200 @@ -454,6 +709,15 @@ -- Laurent Bigonville Sat, 08 May 2010 14:53:57 +0200 +empathy (2.30.3-1) unstable; urgency=low + + * New upstream release + * debian/control: + - Bump Standards-Version to 3.9.1 + - Use Breaks instead of Conflicts (per policy ยง7.4) + + -- Laurent Bigonville Mon, 11 Oct 2010 14:33:50 +0200 + empathy (2.30.2-1) unstable; urgency=low * New upstream release diff -Nru empathy-3.1.1/debian/compat empathy-3.1.1/debian/compat --- empathy-3.1.1/debian/compat 2011-05-10 15:32:40.000000000 +0000 +++ empathy-3.1.1/debian/compat 2011-06-03 20:54:08.000000000 +0000 @@ -1 +1 @@ -7 +8 diff -Nru empathy-3.1.1/debian/control empathy-3.1.1/debian/control --- empathy-3.1.1/debian/control 2011-05-10 15:32:40.000000000 +0000 +++ empathy-3.1.1/debian/control 2011-06-03 20:54:08.000000000 +0000 @@ -8,47 +8,48 @@ Simon McVittie , Riccardo Setti , Laurent Bigonville , - Jonny Lamb -Build-Depends: cdbs, - debhelper (>= 7), + Jonny Lamb , + Emilio Pozuelo Monfort +Build-Depends: cdbs (>= 0.4.90), + debhelper (>= 8), dh-autoreconf, - gnome-common, rarian-compat, librarian-dev, - libglib2.0-dev (>= 2.28.0), + libglib2.0-dev (>= 2.28), libgtk-3-dev (>= 3.0.2), - gsettings-desktop-schemas-dev, libtelepathy-glib-dev (>= 0.14.3), libtelepathy-logger-dev (>= 0.2.0), - libebook1.2-dev, intltool, libenchant-dev (>= 1.2.0), iso-codes, - libgnutls-dev (>= 2.8.5), + libebook1.2-dev, xsltproc, gnome-doc-utils (>= 0.17.3), - libcanberra-gtk3-dev (>= 0.25), - libnotify4-dev (>= 0.7.0), + libcanberra-gtk3-dev, + libnotify-dev (>= 0.7.0), libx11-dev, libgstfarsight0.10-dev, libdbus-glib-1-dev, libtelepathy-farsight-dev (>= 0.0.14), libgstreamer0.10-dev, libgstreamer-plugins-base0.10-dev, - libnm-glib-dev (>= 0.7) [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], - libnm-util-dev (>= 0.7) [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], - libwebkitgtk-3.0-dev (>= 1.3.2), + libnm-glib-dev (>= 0.7) [linux-any], + libnm-util-dev (>= 0.7) [linux-any], libgnome-keyring-dev (>= 2.26.0), - libgcr-3-dev (>= 3.0.0), -# nautilus-sendto (>= 2.90.0), + libgcr-3-dev (>= 2.91.4), libfolks-dev (>= 0.4.0), libfolks-telepathy-dev (>= 0.4.0), - libindicate-dev (>= 0.4.91), - libindicate-gtk-dev (>= 0.4.91), + libgnutls-dev (>= 2.8.5), + libwebkitgtk-3.0-dev (>= 1.3.2), + libgnome-control-center-dev (>= 2.91), + gsettings-desktop-schemas-dev, + nautilus-sendto (>= 2.90), liblaunchpad-integration-3.0-dev, - gnome-control-center-dev (>= 2.31.4) + libunity-dev (>= 3.8.4), + libchamplain-gtk-0.10-dev, + libgeoclue-dev (>= 0.11) Standards-Version: 3.9.1 -Vcs-Bzr: https://code.launchpad.net/~gnome3-team/empathy/ubuntu +Vcs-Bzr: https://code.launchpad.net/~ubuntu-desktop/empathy/ubuntu Homepage: http://live.gnome.org/Empathy Package: empathy @@ -57,18 +58,21 @@ ${misc:Depends}, empathy-common (= ${source:Version}), telepathy-mission-control-5, + gsettings-desktop-schemas, gnome-icon-theme (>= 2.30.0), + geoclue, + telepathy-logger, dbus-x11, - telepathy-logger + dconf-gsettings-backend | gsettings-backend Recommends: telepathy-gabble, telepathy-salut, - libdconf0, gvfs-backends, + nautilus-sendto-empathy, telepathy-haze, telepathy-butterfly, - nautilus-sendto-empathy -Suggests: telepathy-idle, - vino + telepathy-indicator +Suggests: vino, + telepathy-idle Replaces: libempathy-gtk-common Breaks: telepathy-butterfly (<< 0.5.10) Description: GNOME multi-protocol chat and call client @@ -109,16 +113,18 @@ This package contains the architecture independent files for Empathy IM application. -#Package: nautilus-sendto-empathy -#Architecture: any -#Depends: ${shlibs:Depends}, ${misc:Depends}, empathy-common (= ${source:Version}) -#Recommends: nautilus-sendto (>= 2.28.2-2) -#Replaces: nautilus-sendto (<< 2.28.2-2) -#Breaks: nautilus-sendto (<< 2.28.2-2) -#Description: GNOME multi-protocol chat and call client (nautilus-sendto plugin) -# Instant messaging program supporting text, voice, video, file transfers -# and inter-application communication over many different protocols, -# including: AIM, MSN, Google Talk (Jabber/XMPP), Facebook, Yahoo!, Salut, -# Gadu-Gadu, Groupwise, ICQ and QQ. -# . -# This package contains nautilus-sendto plugin for the Empathy IM application. +Package: nautilus-sendto-empathy +Architecture: any +Depends: ${shlibs:Depends}, + ${misc:Depends}, + empathy-common (= ${source:Version}) +Recommends: nautilus-sendto (>= 2.28.2-2) +Replaces: nautilus-sendto (<< 2.28.2-2) +Breaks: nautilus-sendto (<< 2.28.2-2) +Description: GNOME multi-protocol chat and call client (nautilus-sendto plugin) + Instant messaging program supporting text, voice, video, file transfers + and inter-application communication over many different protocols, + including: AIM, MSN, Google Talk (Jabber/XMPP), Facebook, Yahoo!, Salut, + Gadu-Gadu, Groupwise, ICQ and QQ. + . + This package contains nautilus-sendto plugin for the Empathy IM application. diff -Nru empathy-3.1.1/debian/empathy.bug-control empathy-3.1.1/debian/empathy.bug-control --- empathy-3.1.1/debian/empathy.bug-control 1970-01-01 00:00:00.000000000 +0000 +++ empathy-3.1.1/debian/empathy.bug-control 2011-06-03 20:54:08.000000000 +0000 @@ -0,0 +1 @@ +package-status: telepathy-connection-manager diff -Nru empathy-3.1.1/debian/empathy-common.debhelper.log empathy-3.1.1/debian/empathy-common.debhelper.log --- empathy-3.1.1/debian/empathy-common.debhelper.log 2011-05-10 15:32:42.000000000 +0000 +++ empathy-3.1.1/debian/empathy-common.debhelper.log 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -dh_autoreconf_clean diff -Nru empathy-3.1.1/debian/empathy-dbg.debhelper.log empathy-3.1.1/debian/empathy-dbg.debhelper.log --- empathy-3.1.1/debian/empathy-dbg.debhelper.log 2011-05-10 15:32:42.000000000 +0000 +++ empathy-3.1.1/debian/empathy-dbg.debhelper.log 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -dh_autoreconf_clean diff -Nru empathy-3.1.1/debian/empathy.debhelper.log empathy-3.1.1/debian/empathy.debhelper.log --- empathy-3.1.1/debian/empathy.debhelper.log 2011-05-10 15:32:42.000000000 +0000 +++ empathy-3.1.1/debian/empathy.debhelper.log 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -dh_autoreconf_clean diff -Nru empathy-3.1.1/debian/empathy.gsettings-override empathy-3.1.1/debian/empathy.gsettings-override --- empathy-3.1.1/debian/empathy.gsettings-override 1970-01-01 00:00:00.000000000 +0000 +++ empathy-3.1.1/debian/empathy.gsettings-override 2011-06-03 20:54:08.000000000 +0000 @@ -0,0 +1,2 @@ +[org.gnome.Empathy.notifications] +notifications-focus=true diff -Nru empathy-3.1.1/debian/empathy.install empathy-3.1.1/debian/empathy.install --- empathy-3.1.1/debian/empathy.install 2011-05-10 15:32:40.000000000 +0000 +++ empathy-3.1.1/debian/empathy.install 2011-06-03 20:54:08.000000000 +0000 @@ -1,5 +1,6 @@ usr/bin/ usr/lib/empathy/ +usr/lib/control-center-1/panels/*.so usr/share/man/man1/ usr/share/applications/ usr/share/dbus-1/services/ diff -Nru empathy-3.1.1/debian/patches/02_notifications_focus.patch empathy-3.1.1/debian/patches/02_notifications_focus.patch --- empathy-3.1.1/debian/patches/02_notifications_focus.patch 2011-05-10 15:32:40.000000000 +0000 +++ empathy-3.1.1/debian/patches/02_notifications_focus.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,16 +0,0 @@ -## Description: add some description -## Origin/Author: add some origin or author -## Bug: bug URL -Index: empathy-2.91.93/data/org.gnome.Empathy.gschema.xml.in -=================================================================== ---- empathy-2.91.93.orig/data/org.gnome.Empathy.gschema.xml.in -+++ empathy-2.91.93/data/org.gnome.Empathy.gschema.xml.in -@@ -147,7 +147,7 @@ - <_description>Whether to show popup notifications when away or busy. - - -- false -+ true - <_summary>Pop up notifications if the chat isn't focused - <_description>Whether to show a popup notification when receiving a new message even if the chat is already opened, but not focused. - diff -Nru empathy-3.1.1/debian/patches/11_empathy_accounts_category.patch empathy-3.1.1/debian/patches/11_empathy_accounts_category.patch --- empathy-3.1.1/debian/patches/11_empathy_accounts_category.patch 2011-05-10 15:32:40.000000000 +0000 +++ empathy-3.1.1/debian/patches/11_empathy_accounts_category.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,42 +0,0 @@ -Description: Put empathy-accounts in correct category -Bug: https://bugzilla.gnome.org/show_bug.cgi?id=611913 - -Index: empathy-2.91.5.1/data/empathy-accounts.desktop -=================================================================== ---- empathy-2.91.5.1.orig/data/empathy-accounts.desktop 2011-01-18 10:01:05.000000000 -0500 -+++ empathy-2.91.5.1/data/empathy-accounts.desktop 2011-01-20 12:49:34.914712998 -0500 -@@ -99,7 +99,7 @@ - StartupNotify=true - Terminal=false - Type=Application --Categories=GNOME;GTK;Settings;DesktopSettings; -+Categories=GNOME;GTK;Settings;X-GNOME-PersonalSettings; - X-GNOME-Settings-Panel=empathy-accounts - X-GNOME-Bugzilla-Bugzilla=GNOME - X-GNOME-Bugzilla-Product=empathy -Index: empathy-2.91.5.1/data/empathy-accounts.desktop.in -=================================================================== ---- empathy-2.91.5.1.orig/data/empathy-accounts.desktop.in 2011-01-18 10:00:49.000000000 -0500 -+++ empathy-2.91.5.1/data/empathy-accounts.desktop.in 2011-01-20 12:49:34.914712998 -0500 -@@ -7,7 +7,7 @@ - StartupNotify=true - Terminal=false - Type=Application --Categories=GNOME;GTK;Settings;DesktopSettings; -+Categories=GNOME;GTK;Settings;X-GNOME-PersonalSettings; - X-GNOME-Settings-Panel=empathy-accounts - X-GNOME-Bugzilla-Bugzilla=GNOME - X-GNOME-Bugzilla-Product=empathy -Index: empathy-2.91.5.1/data/empathy-accounts.desktop.in.in -=================================================================== ---- empathy-2.91.5.1.orig/data/empathy-accounts.desktop.in.in 2010-12-02 08:42:03.000000000 -0500 -+++ empathy-2.91.5.1/data/empathy-accounts.desktop.in.in 2011-01-20 12:49:34.914712998 -0500 -@@ -7,7 +7,7 @@ - StartupNotify=true - Terminal=false - Type=Application --Categories=GNOME;GTK;Settings;DesktopSettings; -+Categories=GNOME;GTK;Settings;X-GNOME-PersonalSettings; - X-GNOME-Settings-Panel=empathy-accounts - X-GNOME-Bugzilla-Bugzilla=GNOME - X-GNOME-Bugzilla-Product=empathy diff -Nru empathy-3.1.1/debian/patches/20_libindicate.patch empathy-3.1.1/debian/patches/20_libindicate.patch --- empathy-3.1.1/debian/patches/20_libindicate.patch 2011-05-10 15:32:40.000000000 +0000 +++ empathy-3.1.1/debian/patches/20_libindicate.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,1697 +0,0 @@ -Description: Integrate into messaging menu -Bug: https://bugs.launchpad.net/bugs/340180 - -=== modified file 'configure.ac' -Index: empathy-2.91.5.1/configure.ac -=================================================================== ---- empathy-2.91.5.1.orig/configure.ac 2011-01-21 12:23:46.043997001 -0500 -+++ empathy-2.91.5.1/configure.ac 2011-01-21 12:23:48.053997002 -0500 -@@ -54,6 +54,8 @@ - NETWORK_MANAGER_REQUIRED=0.7.0 - WEBKIT_REQUIRED=1.3.2 - GNOME_CONTROL_CENTER_REQUIRED=2.31.4 -+INDICATE_REQUIRED=0.3.1 -+INDICATE_GTK_REQUIRED=0.3.1 - - # Use --enable-maintainer-mode to disable deprecated symbols, - # disable single include and enable GSEAL. If this is not a released empathy, -@@ -403,6 +405,34 @@ - AC_SUBST(MEEGO_LIBS) - - # ----------------------------------------------------------- -+# libindicate -+# ----------------------------------------------------------- -+AC_ARG_ENABLE(libindicate, -+ AS_HELP_STRING([--enable-libindicate=@<:@no/yes/auto@:>@], -+ [build libindicate support]), , -+ enable_libindicate=auto) -+ -+if test "x$enable_libindicate" != "xno"; then -+ PKG_CHECK_MODULES(INDICATE, -+ [ -+ indicate-0.5 >= $INDICATE_REQUIRED, -+ indicate-gtk-0.5 >= $INDICATE_GTK_REQUIRED -+ ], have_libindicate="yes", have_libindicate="no") -+ -+ if test "x$have_libindicate" = "xyes"; then -+ AC_DEFINE(HAVE_LIBINDICATE, 1, [Define if you have libindicate]) -+ fi -+else -+ have_libindicate=no -+fi -+ -+if test "x$enable_libindicate" = "xyes" -a "x$have_libindicate" != "xyes"; then -+ AC_MSG_ERROR([Couldn't find libindicate.]) -+fi -+ -+AM_CONDITIONAL(HAVE_LIBINDICATE, test "x$have_libindicate" = "xyes") -+ -+# ----------------------------------------------------------- - # nautilus-sendto - # ----------------------------------------------------------- - AC_ARG_ENABLE(nautilus-sendto, -@@ -501,6 +531,7 @@ - Coding style checks.........: ${ENABLE_CODING_STYLE_CHECKS} - - Features: -+ Message indicator support (libindicate): ${have_libindicate} - Spell checking (enchant)....: ${have_enchant} - Display maps (libchamplain).: ${have_libchamplain} - Location awareness (Geoclue): ${have_geoclue} -Index: empathy-2.91.5.1/libempathy-gtk/empathy-ui-utils.c -=================================================================== ---- empathy-2.91.5.1.orig/libempathy-gtk/empathy-ui-utils.c 2011-01-10 05:01:59.000000000 -0500 -+++ empathy-2.91.5.1/libempathy-gtk/empathy-ui-utils.c 2011-01-21 12:23:48.063997002 -0500 -@@ -1564,25 +1564,36 @@ - Display *dpy; - GdkWindow *gdk_window; - -- gtk_status_icon_get_geometry (status_icon, NULL, &icon_location, NULL); -- gdk_window = gtk_widget_get_window (GTK_WIDGET (window)); -- dpy = GDK_WINDOW_XDISPLAY (gdk_window); -+ // If the status icon isn't visible (because indicators are used) then -+ // attempting to change the properties of the status icon doesn't work. -+ if (gtk_status_icon_get_visible (status_icon)) { -+ gtk_status_icon_get_geometry (status_icon, NULL, &icon_location, NULL); -+ gdk_window = gtk_widget_get_window (GTK_WIDGET (window)); -+ dpy = GDK_WINDOW_XDISPLAY (gdk_window); - -- data[0] = icon_location.x; -- data[1] = icon_location.y; -- data[2] = icon_location.width; -- data[3] = icon_location.height; -+ data[0] = icon_location.x; -+ data[1] = icon_location.y; -+ data[2] = icon_location.width; -+ data[3] = icon_location.height; - -- XChangeProperty (dpy, -- GDK_WINDOW_XID (gdk_window), -- gdk_x11_get_xatom_by_name_for_display ( -- gdk_window_get_display (gdk_window), -- "_NET_WM_ICON_GEOMETRY"), -- XA_CARDINAL, 32, PropModeReplace, -- (guchar *)&data, 4); -+ XChangeProperty (dpy, -+ GDK_WINDOW_XID (gdk_window), -+ gdk_x11_get_xatom_by_name_for_display ( -+ gdk_window_get_display (gdk_window), -+ "_NET_WM_ICON_GEOMETRY"), -+ XA_CARDINAL, 32, PropModeReplace, -+ (guchar *)&data, 4); -+ } - - gtk_window_set_skip_taskbar_hint (window, TRUE); -- gtk_window_iconify (window); -+ // If the status icon isn't present then the WM will probably choose to -+ // iconfy to the taskbar, which doesn't look as good as the taskbar -+ // entry has just been removed. Just hide instead. -+ if (gtk_status_icon_get_visible (status_icon)) { -+ gtk_window_iconify (window); -+ } else { -+ gtk_widget_hide (GTK_WIDGET(window)); -+ } - } - - /* Takes care of moving the window to the current workspace. */ -Index: empathy-2.91.5.1/po/POTFILES.in -=================================================================== ---- empathy-2.91.5.1.orig/po/POTFILES.in 2011-01-10 05:01:59.000000000 -0500 -+++ empathy-2.91.5.1/po/POTFILES.in 2011-01-21 12:23:48.063997002 -0500 -@@ -91,6 +91,8 @@ - [type: gettext/glade]src/empathy-ft-manager.ui - src/empathy-import-dialog.c - src/empathy-import-widget.c -+src/empathy-indicator.c -+src/empathy-indicator-manager.c - [type: gettext/glade]src/empathy-import-dialog.ui - src/empathy-import-widget.c - src/empathy-main-window.c -Index: empathy-2.91.5.1/src/Makefile.am -=================================================================== ---- empathy-2.91.5.1.orig/src/Makefile.am 2011-01-10 05:02:00.000000000 -0500 -+++ empathy-2.91.5.1/src/Makefile.am 2011-01-21 12:24:32.493997002 -0500 -@@ -6,6 +6,7 @@ - $(ERROR_CFLAGS) \ - -I$(top_srcdir) \ - -DG_LOG_DOMAIN=\"empathy\" \ -+ -DDESKTOPDIR=\"$(datadir)/applications\" \ - -DBIN_DIR=\"$(bindir)\" \ - $(DISABLE_DEPRECATED) \ - $(WARN_CFLAGS) \ -@@ -14,6 +15,7 @@ - AM_LDFLAGS = -lm - AM_CPPFLAGS = \ - $(CPPFLAGS_COMMON) \ -+ $(INDICATE_CFLAGS) \ - $(LIBCHAMPLAIN_CFLAGS) \ - $(WEBKIT_CFLAGS) \ - $(NULL) -@@ -24,6 +26,7 @@ - $(top_builddir)/extensions/libemp-extensions.la \ - $(GCR_LIBS) \ - $(EMPATHY_LIBS) \ -+ $(INDICATE_LIBS) \ - $(LIBCHAMPLAIN_LIBS) \ - $(WEBKIT_LIBS) - -@@ -117,12 +120,29 @@ - - empathy_chat_SOURCES = \ - empathy-about-dialog.c empathy-about-dialog.h \ -- empathy-chat-manager.c empathy-chat-manager.h \ -+ empathy-accounts-dialog.c empathy-accounts-dialog.h \ - empathy-chat-window.c empathy-chat-window.h \ -+ empathy-chatrooms-window.c empathy-chatrooms-window.h \ -+ empathy-event-manager.c empathy-event-manager.h \ -+ empathy-ft-manager.c empathy-ft-manager.h \ - empathy-invite-participant-dialog.c empathy-invite-participant-dialog.h \ -+ empathy-import-dialog.c empathy-import-dialog.h \ -+ empathy-import-pidgin.c empathy-import-pidgin.h \ -+ empathy-import-widget.c empathy-import-widget.h \ -+ empathy-import-utils.c empathy-import-utics.h \ -+ empathy-indicator-manager.c empathy-indicator-manager.h \ -+ empathy-indicator.c empathy-indicator.h \ -+ empathy-main-window.c empathy-main-window.h \ -+ empathy-migrate-butterfly-logs.c empathy-migrate-butterfly-logs.h \ -+ empathy-new-chatroom-dialog.c empathy-new-chatroom-dialog.h \ -+ empathy-preferences.c empathy-preferences.h \ -+ empathy-chat-manager.c empathy-chat-manager.h \ - empathy-chat.c \ - $(NULL) - -+empathy_chat_CFLAGS = $(AM_CFLAGS) -+ -+ - empathy_handwritten_source = \ - empathy-about-dialog.c empathy-about-dialog.h \ - empathy-chat-window.c empathy-chat-window.h \ -@@ -149,6 +169,7 @@ - $(top_builddir)/libempathy/libempathy.la \ - $(top_builddir)/extensions/libemp-extensions.la \ - $(EMPATHY_LIBS) \ -+ $(INDICATE_LIBS) \ - $(LIBCHAMPLAIN_LIBS) \ - $(WEBKIT_LIBS) \ - $(NULL) -@@ -181,6 +202,17 @@ - $(autostart_DATA) \ - $(ui_DATA) - -+if HAVE_LIBINDICATE -+empathy_handwritten_source += \ -+ empathy-indicator-manager.c empathy-indicator-manager.h \ -+ empathy-indicator.c empathy-indicator.h -+else -+EXTRA_DIST += \ -+ empathy-indicator-manager.c \ -+ empathy-indicator-manager.h \ -+ empathy-indicator.c empathy-indicator.h -+endif -+ - if HAVE_LIBCHAMPLAIN - empathy_handwritten_source += \ - empathy-map-view.c \ -Index: empathy-2.91.5.1/src/empathy-chat-window.c -=================================================================== ---- empathy-2.91.5.1.orig/src/empathy-chat-window.c 2011-01-21 12:23:46.043997001 -0500 -+++ empathy-2.91.5.1/src/empathy-chat-window.c 2011-01-21 12:23:48.063997002 -0500 -@@ -63,6 +63,9 @@ - #include "empathy-about-dialog.h" - #include "empathy-invite-participant-dialog.h" - -+#include "empathy-indicator.h" -+#include "empathy-indicator-manager.h" -+ - #define DEBUG_FLAG EMPATHY_DEBUG_CHAT - #include - -@@ -84,7 +87,11 @@ - GtkWidget *dialog; - GtkWidget *notebook; - NotifyNotification *notification; -- -+#ifdef HAVE_LIBINDICATE -+ EmpathyIndicatorManager *indicator_manager; -+ /* EmpathyChat -> EmpathyIndicator for that chat, if any */ -+ GHashTable *indicators; -+#endif - GtkTargetList *contact_targets; - GtkTargetList *file_targets; - -@@ -1269,6 +1276,72 @@ - } - } - -+#ifdef HAVE_LIBINDICATE -+static void -+chat_window_indicator_activate_cb (EmpathyIndicator *indicator, guint timestamp, -+ EmpathyChat *chat) -+{ -+ empathy_chat_window_present_chat (chat, timestamp); -+ empathy_indicator_hide (indicator); -+} -+ -+static void -+chat_window_add_indicator (EmpathyChatWindow *window, -+ EmpathyMessage *message, -+ EmpathyChat *chat) -+{ -+ EmpathyChatWindowPriv *priv = GET_PRIV (window); -+ EmpathyContact *sender; -+ const char *body; -+ gboolean use_libindicate; -+ EmpathyIndicator *indicator = NULL; -+ GSettings *gsettings; -+ -+ gsettings = g_settings_new (EMPATHY_PREFS_UI_SCHEMA); -+ use_libindicate = g_settings_get_boolean (gsettings, EMPATHY_PREFS_UI_USE_LIBINDICATE); -+ g_object_unref (gsettings); -+ -+ if (!use_libindicate) { -+ return; -+ } -+ -+ sender = empathy_message_get_sender (message); -+ body = empathy_message_get_body (message); -+ -+ indicator = g_hash_table_lookup (priv->indicators, chat); -+ if (indicator != NULL) { -+ DEBUG ("indicator exists"); -+ empathy_indicator_update (indicator, body); -+ } else { -+ DEBUG ("indicator doesn't exist yet, creating a new indicator"); -+ indicator = empathy_indicator_manager_create_indicator (priv->indicator_manager, -+ sender, body); -+ g_signal_connect (indicator, "activate", -+ G_CALLBACK (chat_window_indicator_activate_cb), chat); -+ -+ g_hash_table_insert (priv->indicators, chat, indicator); -+ } -+ empathy_indicator_show (indicator); -+} -+ -+static void -+chat_window_remove_indicator (EmpathyChatWindow *window, EmpathyChat *chat) -+{ -+ EmpathyIndicator *indicator = NULL; -+ EmpathyChatWindowPriv *priv = GET_PRIV (window); -+ -+ indicator = g_hash_table_lookup (priv->indicators, chat); -+ -+ if ((indicator) && (indicator != NULL)) { -+ DEBUG ("indicator is %p", indicator); -+ empathy_indicator_hide (indicator); -+ g_hash_table_remove (priv->indicators, chat); -+ } else { -+ DEBUG ("indicator is NULL, nothing to remove"); -+ } -+} -+#endif -+ - static void - chat_window_show_or_update_notification (EmpathyChatWindow *window, - EmpathyMessage *message, -@@ -1464,6 +1537,9 @@ - * display a notification for those. */ - if (!pending) - chat_window_show_or_update_notification (window, message, chat); -+#ifdef HAVE_LIBINDICATE -+ chat_window_add_indicator (window, message, chat); -+#endif - } - - /* update the number of unread messages and the window icon */ -@@ -1530,6 +1606,10 @@ - empathy_chat_messages_read (chat); - - chat_window_update_chat_tab (chat); -+ -+#ifdef HAVE_LIBINDICATE -+ chat_window_remove_indicator (window, chat); -+#endif - } - - static void -@@ -1643,6 +1723,11 @@ - /* Update the title, since we now mark all unread messages as read. */ - chat_window_update_chat_tab (priv->current_chat); - -+#ifdef HAVE_LIBINDICATE -+ /* Remove the indicator for the active chat */ -+ chat_window_remove_indicator (window, priv->current_chat); -+#endif -+ - return FALSE; - } - -@@ -1992,6 +2077,11 @@ - priv->gsettings_notif = g_settings_new (EMPATHY_PREFS_NOTIFICATIONS_SCHEMA); - priv->gsettings_ui = g_settings_new (EMPATHY_PREFS_UI_SCHEMA); - priv->chatroom_manager = empathy_chatroom_manager_dup_singleton (NULL); -+#ifdef HAVE_LIBINDICATE -+ priv->indicator_manager = empathy_indicator_manager_dup_singleton (); -+ priv->indicators = g_hash_table_new_full (g_direct_hash, g_direct_equal, -+ NULL, g_object_unref); -+#endif - - priv->sound_mgr = empathy_sound_manager_dup_singleton (); - -Index: empathy-2.91.5.1/src/empathy-indicator-manager.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ empathy-2.91.5.1/src/empathy-indicator-manager.c 2011-01-21 12:23:48.063997002 -0500 -@@ -0,0 +1,467 @@ -+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ -+/* -+ * Copyright (C) 2009 Canonical Ltd. -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU General Public License as -+ * published by the Free Software Foundation; either version 2 of the -+ * License, or (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public -+ * License along with this program; if not, write to the -+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, -+ * Boston, MA 02110-1301 USA -+ * -+ * Authors: James Westby -+ * -+ */ -+ -+#include -+ -+#include -+ -+#include -+#include -+#include -+ -+#include -+#include -+ -+#include -+ -+#include "empathy-event-manager.h" -+#include "empathy-indicator.h" -+#include "empathy-indicator-manager.h" -+ -+#include -+#include -+ -+#define DEBUG_FLAG EMPATHY_DEBUG_OTHER -+#include -+ -+#define INDICATOR_LOGIN_TIMEOUT 15 -+#define EMPATHY_DESKTOP_PATH DESKTOPDIR "/empathy.desktop" -+ -+#define GET_PRIV(obj) EMPATHY_GET_PRIV (obj, EmpathyIndicatorManager) -+ -+enum { -+ SERVER_ACTIVATE, -+ LAST_SIGNAL -+}; -+ -+static guint signals[LAST_SIGNAL]; -+ -+typedef struct { -+ EmpathyEventManager *event_manager; -+ IndicateServer *indicate_server; -+ GSList *indicator_events; -+ GHashTable *login_timeouts; -+} EmpathyIndicatorManagerPriv; -+ -+typedef struct { -+ EmpathyIndicator *indicator; -+ EmpathyEvent *event; -+} IndicatorEvent; -+ -+typedef struct { -+ EmpathyIndicatorManager *manager; -+ EmpathyIndicator *indicator; -+} LoginData; -+ -+G_DEFINE_TYPE (EmpathyIndicatorManager, empathy_indicator_manager, G_TYPE_OBJECT); -+ -+static EmpathyIndicatorManager *manager_singleton = NULL; -+ -+static EmpathyEvent * -+event_copy (EmpathyEvent *event) -+{ -+ EmpathyEvent *ret = g_new0 (EmpathyEvent, 1); -+ -+ ret->contact = g_object_ref (event->contact); -+ ret->icon_name = g_strdup (event->icon_name); -+ ret->header = g_strdup (event->header); -+ ret->message = g_strdup (event->message); -+ ret->must_ack = event->must_ack; -+ -+ return ret; -+} -+ -+static gboolean -+compare_events (EmpathyEvent *ev1, EmpathyEvent *ev2) -+{ -+ return ((g_strcmp0 (ev1->icon_name, ev2->icon_name) == 0) && -+ (g_strcmp0 (ev1->header, ev2->header) == 0) && -+ (ev1->must_ack == ev2->must_ack) && -+ (ev1->contact == ev2->contact)); -+} -+ -+static IndicatorEvent * -+indicator_event_new (EmpathyIndicator *indicator, -+ EmpathyEvent *event) -+{ -+ IndicatorEvent *indicator_event; -+ -+ indicator_event = g_slice_new0 (IndicatorEvent); -+ indicator_event->indicator = g_object_ref (indicator); -+ indicator_event->event = event_copy (event); -+ -+ return indicator_event; -+} -+ -+ -+static void -+indicator_event_free (IndicatorEvent *indicator_event) -+{ -+ g_object_unref (indicator_event->indicator); -+ g_free (indicator_event); -+} -+ -+ -+static void -+indicate_server_activate (IndicateServer *server, guint timestamp, -+ EmpathyIndicatorManager *manager) -+{ -+ g_signal_emit (manager, signals[SERVER_ACTIVATE], 0, timestamp); -+} -+ -+ -+static void -+indicate_show_cb (EmpathyIndicator *indicator, guint timestamp, -+ EmpathyEvent *event) -+{ -+ empathy_event_activate (event); -+} -+ -+ -+static void -+indicator_manager_event_added_cb (EmpathyEventManager *event_manager, -+ EmpathyEvent *event, -+ EmpathyIndicatorManager *manager) -+{ -+ EmpathyIndicator *indicator = NULL; -+ EmpathyIndicatorManagerPriv *priv; -+ IndicatorEvent *indicator_event; -+ -+ priv = GET_PRIV (manager); -+ -+ DEBUG ("Event added"); -+ -+ if (event->contact == NULL) -+ return; -+ -+ indicator = empathy_indicator_new (event->contact, event->message, "im"); -+ if (indicator == NULL) { -+ return; -+ } -+ -+ empathy_indicator_show (indicator); -+ g_signal_connect (G_OBJECT(indicator), "activate", -+ G_CALLBACK (indicate_show_cb), -+ event); -+ indicator_event = indicator_event_new (indicator, event); -+ g_object_unref (indicator); -+ priv->indicator_events = g_slist_prepend (priv->indicator_events, -+ indicator_event); -+} -+ -+static void -+indicator_manager_event_removed_cb (EmpathyEventManager *event_manager, -+ EmpathyEvent *event, -+ EmpathyIndicatorManager *manager) -+{ -+ EmpathyIndicatorManagerPriv *priv; -+ GSList *l; -+ -+ priv = GET_PRIV (manager); -+ -+ DEBUG ("Event removed"); -+ -+ for (l = priv->indicator_events; l; l = l->next) -+ { -+ IndicatorEvent *indicator_event; -+ indicator_event = l->data; -+ -+ if (compare_events (indicator_event->event, event)) { -+ priv->indicator_events = g_slist_remove (priv->indicator_events, -+ indicator_event); -+ empathy_indicator_hide (indicator_event->indicator); -+ return; -+ } -+ } -+} -+ -+ -+static void -+indicator_manager_event_updated_cb (EmpathyEventManager *event_manager, -+ EmpathyEvent *event, -+ EmpathyIndicatorManager *manager) -+{ -+ EmpathyIndicatorManagerPriv *priv; -+ GSList *l; -+ -+ priv = GET_PRIV (manager); -+ -+ for (l = priv->indicator_events; l; l = l->next) -+ { -+ IndicatorEvent *indicator_event; -+ indicator_event = l->data; -+ if (compare_events (indicator_event->event, event)) { -+ empathy_indicator_update (indicator_event->indicator, -+ event->message); -+ return; -+ } -+ } -+} -+ -+ -+/* Remove the login indicator when it times out */ -+static gboolean -+indicate_login_timeout (gpointer data) -+{ -+ LoginData *login_data; -+ EmpathyIndicator *e_indicator; -+ EmpathyIndicatorManager *manager; -+ EmpathyIndicatorManagerPriv *priv; -+ -+ login_data = (LoginData *) data; -+ e_indicator = login_data->indicator; -+ manager = login_data->manager; -+ priv = GET_PRIV (manager); -+ -+ empathy_indicator_hide (e_indicator); -+ g_hash_table_remove (priv->login_timeouts, e_indicator); -+ -+ return FALSE; -+} -+ -+ -+static void -+indicate_login_cb (EmpathyIndicator *e_indicator, guint timestamp, -+ EmpathyIndicatorManager *manager) -+{ -+ EmpathyIndicatorManagerPriv *priv; -+ GSList *events, *l; -+ EmpathyContact *contact; -+ -+ priv = GET_PRIV (manager); -+ -+ empathy_indicator_hide (e_indicator); -+ g_hash_table_remove (priv->login_timeouts, e_indicator); -+ -+ contact = empathy_indicator_get_contact (e_indicator); -+ /* If the contact has an event activate it, otherwise the -+ * default handler of row-activated will be called. */ -+ events = empathy_event_manager_get_events (priv->event_manager); -+ for (l = events; l; l = l->next) { -+ EmpathyEvent *event; -+ -+ event = l->data; -+ if (event->contact == contact) { -+ empathy_event_activate (event); -+ return; -+ } -+ } -+ -+ /* Else start a new conversation */ -+ empathy_dispatcher_chat_with_contact (contact, timestamp); -+} -+ -+ -+EmpathyIndicatorManager * -+empathy_indicator_manager_dup_singleton (void) -+{ -+ return g_object_new (EMPATHY_TYPE_INDICATOR_MANAGER, NULL); -+} -+ -+ -+static void -+indicator_manager_dispose (GObject *object) -+{ -+ EmpathyIndicatorManagerPriv *priv; -+ -+ priv = GET_PRIV (object); -+ -+ if (priv->indicator_events) { -+ g_slist_foreach (priv->indicator_events, (GFunc) indicator_event_free, -+ NULL); -+ g_slist_free (priv->indicator_events); -+ priv->indicator_events = NULL; -+ } -+ if (priv->event_manager) { -+ g_object_unref (priv->event_manager); -+ priv->event_manager = NULL; -+ } -+ if (priv->indicate_server) { -+ g_object_unref (priv->indicate_server); -+ priv->indicate_server = NULL; -+ } -+ if (priv->login_timeouts) { -+ g_hash_table_unref (priv->login_timeouts); -+ priv->login_timeouts = NULL; -+ } -+ -+ G_OBJECT_CLASS (empathy_indicator_manager_parent_class)->dispose (object); -+} -+ -+ -+static GObject * -+indicator_manager_constructor (GType type, -+ guint n_props, -+ GObjectConstructParam *props) -+{ -+ GObject *retval; -+ -+ if (manager_singleton != NULL) { -+ retval = g_object_ref (manager_singleton); -+ } else { -+ retval = G_OBJECT_CLASS (empathy_indicator_manager_parent_class)->constructor -+ (type, n_props, props); -+ -+ manager_singleton = EMPATHY_INDICATOR_MANAGER (retval); -+ g_object_add_weak_pointer (retval, (gpointer) &manager_singleton); -+ } -+ -+ return retval; -+} -+ -+ -+static void -+empathy_indicator_manager_class_init (EmpathyIndicatorManagerClass *klass) -+{ -+ GObjectClass *object_class; -+ -+ object_class = G_OBJECT_CLASS (klass); -+ object_class->dispose = indicator_manager_dispose; -+ object_class->constructor = indicator_manager_constructor; -+ -+ signals[SERVER_ACTIVATE] = -+ g_signal_new ("server-activate", -+ G_TYPE_FROM_CLASS (klass), -+ G_SIGNAL_RUN_LAST, -+ 0, -+ NULL, NULL, -+ g_cclosure_marshal_VOID__UINT, -+ G_TYPE_NONE, 1, G_TYPE_UINT); -+ -+ g_type_class_add_private (object_class, sizeof (EmpathyIndicatorManagerPriv)); -+} -+ -+ -+static void -+empathy_indicator_manager_init (EmpathyIndicatorManager *manager) -+{ -+ EmpathyIndicatorManagerPriv *priv; -+ -+ priv = G_TYPE_INSTANCE_GET_PRIVATE (manager, -+ EMPATHY_TYPE_INDICATOR_MANAGER, EmpathyIndicatorManagerPriv); -+ manager->priv = priv; -+ -+ priv->event_manager = empathy_event_manager_dup_singleton (); -+ priv->login_timeouts = g_hash_table_new_full (NULL, NULL, -+ (GDestroyNotify) g_object_unref, (GDestroyNotify) g_source_unref); -+ priv->indicate_server = indicate_server_ref_default (); -+ indicate_server_set_type (priv->indicate_server, "message.instant"); -+ indicate_server_set_desktop_file (priv->indicate_server, -+ EMPATHY_DESKTOP_PATH); -+ -+ g_signal_connect (priv->indicate_server, -+ INDICATE_SERVER_SIGNAL_SERVER_DISPLAY, -+ G_CALLBACK (indicate_server_activate), -+ manager); -+ -+ g_signal_connect (priv->event_manager, "event-added", -+ G_CALLBACK (indicator_manager_event_added_cb), -+ manager); -+ g_signal_connect (priv->event_manager, "event-removed", -+ G_CALLBACK (indicator_manager_event_removed_cb), -+ manager); -+ g_signal_connect (priv->event_manager, "event-updated", -+ G_CALLBACK (indicator_manager_event_updated_cb), -+ manager); -+} -+ -+void -+empathy_indicator_manager_set_server_visible (EmpathyIndicatorManager *manager, -+ gboolean visible) -+{ -+ EmpathyIndicatorManagerPriv *priv; -+ -+ priv = GET_PRIV (manager); -+ if (visible) { -+ DEBUG ("Show indicator"); -+ indicate_server_show (priv->indicate_server); -+ } else { -+ DEBUG ("Hide indicator"); -+ indicate_server_hide (priv->indicate_server); -+ } -+} -+ -+ -+EmpathyIndicator * -+empathy_indicator_manager_create_indicator (EmpathyIndicatorManager *manager, -+ EmpathyContact *sender, -+ const gchar *body) -+{ -+ return empathy_indicator_new (sender, body, "im"); -+} -+ -+ -+static LoginData * -+login_data_new (EmpathyIndicator *e_indicator, -+ EmpathyIndicatorManager *manager) -+{ -+ LoginData *login_data; -+ -+ login_data = g_slice_new0 (LoginData); -+ login_data->manager = g_object_ref (manager); -+ login_data->indicator = g_object_ref (e_indicator); -+ -+ return login_data; -+} -+ -+ -+static void -+indicator_destroy_login_data (gpointer data) -+{ -+ LoginData *login_data; -+ -+ login_data = (LoginData *)data; -+ -+ g_object_unref (login_data->manager); -+ g_object_unref (login_data->indicator); -+ g_slice_free (LoginData, login_data); -+} -+ -+ -+/* Add an indicator for someone logging in. This will be displayed for -+ * a short period only. -+ */ -+void -+empathy_indicator_manager_add_login_indicator (EmpathyIndicatorManager *manager, -+ EmpathyContact *contact) -+{ -+ EmpathyIndicatorManagerPriv *priv; -+ GSource *timeout; -+ EmpathyIndicator *e_indicator; -+ LoginData *login_data; -+ -+ priv = GET_PRIV (manager); -+ e_indicator = empathy_indicator_new (contact, NULL, "login"); -+ login_data = login_data_new (e_indicator, manager); -+ -+ timeout = g_timeout_source_new_seconds (INDICATOR_LOGIN_TIMEOUT); -+ g_source_set_callback (timeout, indicate_login_timeout, login_data, -+ indicator_destroy_login_data); -+ g_source_attach (timeout, NULL); -+ -+ g_hash_table_insert (priv->login_timeouts, e_indicator, timeout); -+ -+ g_signal_connect (e_indicator, "activate", -+ G_CALLBACK (indicate_login_cb), manager); -+ empathy_indicator_show (e_indicator); -+} -Index: empathy-2.91.5.1/src/empathy-indicator-manager.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ empathy-2.91.5.1/src/empathy-indicator-manager.h 2011-01-21 12:23:48.063997002 -0500 -@@ -0,0 +1,77 @@ -+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ -+/* -+ * Copyright (C) 2009 Canonical Ltd. -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU General Public License as -+ * published by the Free Software Foundation; either version 2 of the -+ * License, or (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public -+ * License along with this program; if not, write to the -+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, -+ * Boston, MA 02110-1301 USA -+ * -+ * Authors: James Westby -+ * -+ */ -+ -+#ifndef __EMPATHY_INDICATOR_MANAGER_H__ -+#define __EMPATHY_INDICATOR_MANAGER_H__ -+ -+#include -+ -+#include -+#include "empathy-indicator.h" -+ -+G_BEGIN_DECLS -+ -+#define EMPATHY_TYPE_INDICATOR_MANAGER \ -+ (empathy_indicator_manager_get_type ()) -+#define EMPATHY_INDICATOR_MANAGER(o) \ -+ (G_TYPE_CHECK_INSTANCE_CAST ((o), EMPATHY_TYPE_INDICATOR_MANAGER, \ -+ EmpathyIndicatorManager)) -+#define EMPATHY_INDICATOR_MANAGER_CLASS(k) \ -+ (G_TYPE_CHECK_CLASS_CAST((k), EMPATHY_TYPE_INDICATOR_MANAGER, \ -+ EmpathyIndicatorManagerClass)) -+#define EMPATHY_IS_INDICATOR_MANAGER(o) \ -+ (G_TYPE_CHECK_INSTANCE_TYPE ((o), EMPATHY_TYPE_INDICATOR_MANAGER)) -+#define EMPATHY_IS_INDICATOR_MANAGER_CLASS(k) \ -+ (G_TYPE_CHECK_CLASS_TYPE ((k), EMPATHY_TYPE_INDICATOR_MANAGER)) -+#define EMPATHY_INDICATOR_MANAGER_GET_CLASS(o) \ -+ (G_TYPE_INSTANCE_GET_CLASS ((o), EMPATHY_TYPE_INDICATOR_MANAGER, \ -+ EmpathyIndicatorManagerClass)) -+ -+typedef struct _EmpathyIndicatorManager EmpathyIndicatorManager; -+typedef struct _EmpathyIndicatorManagerClass EmpathyIndicatorManagerClass; -+ -+struct _EmpathyIndicatorManager { -+ GObject parent; -+ gpointer priv; -+}; -+ -+struct _EmpathyIndicatorManagerClass { -+ GObjectClass parent_class; -+}; -+ -+GType empathy_indicator_manager_get_type (void) G_GNUC_CONST; -+EmpathyIndicatorManager *empathy_indicator_manager_dup_singleton (void); -+void empathy_indicator_manager_set_server_visible ( -+ EmpathyIndicatorManager *manager, -+ gboolean visible); -+EmpathyIndicator *empathy_indicator_manager_create_indicator ( -+ EmpathyIndicatorManager *manager, -+ EmpathyContact *sender, -+ const gchar *body); -+void empathy_indicator_manager_add_login_indicator ( -+ EmpathyIndicatorManager *manager, -+ EmpathyContact *contact); -+ -+G_END_DECLS -+ -+#endif /* __EMPATHY_INDICATOR_MANAGER_H__ */ -Index: empathy-2.91.5.1/src/empathy-indicator.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ empathy-2.91.5.1/src/empathy-indicator.c 2011-01-21 12:23:48.063997002 -0500 -@@ -0,0 +1,325 @@ -+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ -+/* -+ * Copyright (C) 2009 Canonical Ltd. -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU General Public License as -+ * published by the Free Software Foundation; either version 2 of the -+ * License, or (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public -+ * License along with this program; if not, write to the -+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, -+ * Boston, MA 02110-1301 USA -+ * -+ * Authors: James Westby -+ * -+ */ -+ -+#include -+ -+#include -+#include -+ -+#include -+#include -+ -+#include "empathy-indicator.h" -+ -+#include -+#include -+ -+#define DEBUG_FLAG EMPATHY_DEBUG_OTHER -+#include -+ -+#define GET_PRIV(obj) EMPATHY_GET_PRIV ((obj), EmpathyIndicator) -+ -+enum { -+ PROP_0, -+ PROP_CONTACT, -+ PROP_BODY, -+ PROP_SUBTYPE, -+ PROP_VISIBLE -+}; -+ -+enum { -+ ACTIVATE, -+ LAST_SIGNAL -+}; -+ -+static guint signals[LAST_SIGNAL]; -+ -+typedef struct { -+ IndicateIndicator *indicator; -+ EmpathyContact *contact; -+ gchar *body; -+ gchar *subtype; -+} EmpathyIndicatorPriv; -+ -+G_DEFINE_TYPE (EmpathyIndicator, empathy_indicator, G_TYPE_OBJECT) -+ -+ -+static void -+empathy_indicator_dispose (GObject *object) -+{ -+ EmpathyIndicatorPriv *priv; -+ -+ priv = GET_PRIV (object); -+ -+ if (priv->indicator) { -+ g_object_unref (priv->indicator); -+ priv->indicator = NULL; -+ } -+ if (priv->contact) { -+ g_object_unref (priv->contact); -+ priv->contact = NULL; -+ } -+ -+ G_OBJECT_CLASS (empathy_indicator_parent_class)->dispose (object); -+} -+ -+ -+static void -+empathy_indicator_finalize (GObject *object) -+{ -+ EmpathyIndicatorPriv *priv; -+ -+ priv = GET_PRIV (object); -+ -+ g_free (priv->body); -+ g_free (priv->subtype); -+ -+ G_OBJECT_CLASS (empathy_indicator_parent_class)->finalize (object); -+} -+ -+static void -+indicate_show_cb (IndicateIndicator *indicator, guint timestamp, -+ EmpathyIndicator *e_indicator) -+{ -+ g_signal_emit (e_indicator, signals[ACTIVATE], 0, timestamp); -+} -+ -+ -+static IndicateIndicator * -+empathy_indicator_get_indicator (EmpathyIndicator *e_indicator) -+{ -+ EmpathyIndicatorPriv *priv; -+ -+ priv = GET_PRIV (e_indicator); -+ if (priv->indicator) -+ return priv->indicator; -+ -+ priv->indicator = indicate_indicator_new (); -+ g_assert (priv->indicator); -+ g_signal_connect (G_OBJECT (priv->indicator), -+ INDICATE_INDICATOR_SIGNAL_DISPLAY, -+ G_CALLBACK (indicate_show_cb), -+ e_indicator); -+ -+ return priv->indicator; -+} -+ -+ -+static void -+empathy_indicator_set_property (GObject *object, -+ guint param_id, -+ const GValue *value, -+ GParamSpec *pspec) -+{ -+ EmpathyIndicator *e_indicator; -+ EmpathyIndicatorPriv *priv; -+ IndicateIndicator *indicator; -+ GTimeVal time; -+ GdkPixbuf *pixbuf_avatar = NULL; -+ -+ e_indicator = EMPATHY_INDICATOR (object); -+ priv = GET_PRIV (e_indicator); -+ -+ indicator = empathy_indicator_get_indicator (e_indicator); -+ -+ switch (param_id) { -+ case PROP_CONTACT: -+ priv->contact = g_object_ref (g_value_get_object (value)); -+ g_assert (priv->contact); -+ indicate_indicator_set_property (indicator, "sender", -+ empathy_contact_get_alias (priv->contact)); -+ /* get the scaled avatar (22,22) until LP bug #433143 is fixed then switch to -+ to letting indicate-messages handle the scaling by setting the size to 0, 0 */ -+ pixbuf_avatar = empathy_pixbuf_avatar_from_contact_scaled (priv->contact, 22, 22); -+ if (pixbuf_avatar != NULL) -+ { -+ indicate_indicator_set_property_icon(indicator, "icon", pixbuf_avatar); -+ g_object_unref(G_OBJECT(pixbuf_avatar)); -+ } -+ break; -+ case PROP_BODY: -+ if (priv->body) -+ g_free (priv->body); -+ priv->body = g_strdup (g_value_get_string (value)); -+ indicate_indicator_set_property (indicator, "body", priv->body); -+ if (priv->body != NULL) { -+ g_get_current_time (&time); -+ indicate_indicator_set_property_time (indicator, "time", &time); -+ } -+ break; -+ case PROP_SUBTYPE: -+ if (priv->subtype) -+ g_free (priv->subtype); -+ priv->subtype = g_strdup (g_value_get_string (value)); -+ indicate_indicator_set_property (indicator, "subtype", priv->subtype); -+ if (g_strcmp0 (priv->subtype, "login") != 0 ) { -+ indicate_indicator_set_property (indicator, "draw-attention", "true"); -+ } -+ break; -+ case PROP_VISIBLE: -+ if (g_value_get_boolean (value)) -+ indicate_indicator_show (indicator); -+ else -+ indicate_indicator_hide (indicator); -+ break; -+ default: -+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); -+ break; -+ } -+} -+ -+ -+static void -+empathy_indicator_get_property (GObject *object, -+ guint param_id, -+ GValue *value, -+ GParamSpec *pspec) -+{ -+ EmpathyIndicator *e_indicator; -+ EmpathyIndicatorPriv *priv; -+ -+ e_indicator = EMPATHY_INDICATOR (object); -+ priv = GET_PRIV (e_indicator); -+ -+ switch (param_id) { -+ case PROP_CONTACT: -+ g_value_set_object (value, priv->contact); -+ break; -+ case PROP_BODY: -+ g_value_set_string (value, priv->body); -+ break; -+ case PROP_SUBTYPE: -+ g_value_set_string (value, priv->subtype); -+ break; -+ case PROP_VISIBLE: -+ g_value_set_boolean (value, indicate_indicator_is_visible (priv->indicator)); -+ break; -+ default: -+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); -+ break; -+ } -+} -+ -+ -+static void -+empathy_indicator_class_init (EmpathyIndicatorClass *klass) -+{ -+ GObjectClass *object_class; -+ -+ object_class = G_OBJECT_CLASS (klass); -+ -+ object_class->set_property = empathy_indicator_set_property; -+ object_class->get_property = empathy_indicator_get_property; -+ object_class->dispose = empathy_indicator_dispose; -+ object_class->finalize = empathy_indicator_finalize; -+ -+ g_object_class_install_property (object_class, PROP_CONTACT, -+ g_param_spec_object ("contact", -+ "Contact", -+ "The contact being indicated", -+ EMPATHY_TYPE_CONTACT, -+ (G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY))); -+ g_object_class_install_property (object_class, PROP_BODY, -+ g_param_spec_string ("body", -+ "Body", -+ "The text for this contact", -+ NULL, -+ (G_PARAM_READWRITE | G_PARAM_CONSTRUCT))); -+ g_object_class_install_property (object_class, PROP_SUBTYPE, -+ g_param_spec_string ("subtype", -+ "Subtype", -+ "The type of this indicator", -+ NULL, -+ (G_PARAM_READWRITE | G_PARAM_CONSTRUCT))); -+ g_object_class_install_property (object_class, PROP_VISIBLE, -+ g_param_spec_boolean ("visible", -+ "Visible", -+ "The visibility of this indicator", -+ FALSE, -+ G_PARAM_READWRITE)); -+ -+ signals[ACTIVATE] = -+ g_signal_new ("activate", -+ G_TYPE_FROM_CLASS (klass), -+ G_SIGNAL_RUN_LAST, -+ 0, -+ NULL, NULL, -+ g_cclosure_marshal_VOID__UINT, -+ G_TYPE_NONE, 1, G_TYPE_UINT); -+ -+ g_type_class_add_private (object_class, sizeof (EmpathyIndicatorPriv)); -+} -+ -+ -+static void -+empathy_indicator_init (EmpathyIndicator *e_indicator) -+{ -+ e_indicator->priv = G_TYPE_INSTANCE_GET_PRIVATE (e_indicator, -+ EMPATHY_TYPE_INDICATOR, -+ EmpathyIndicatorPriv); -+} -+ -+ -+EmpathyIndicator * -+empathy_indicator_new (EmpathyContact *sender, -+ const gchar *body, -+ const gchar *subtype) -+{ -+ DEBUG ("Creating a new indicator"); -+ return g_object_new (EMPATHY_TYPE_INDICATOR, "contact", sender, "body", body, -+ "subtype", subtype, NULL); -+} -+ -+ -+void -+empathy_indicator_show (EmpathyIndicator *e_indicator) -+{ -+ DEBUG ("Showing indicator %p", e_indicator); -+ g_object_set (e_indicator, "visible", TRUE, NULL); -+} -+ -+ -+void -+empathy_indicator_hide (EmpathyIndicator *e_indicator) -+{ -+ DEBUG ("Hiding indicator %p", e_indicator); -+ g_object_set (e_indicator, "visible", FALSE, NULL); -+} -+ -+ -+void -+empathy_indicator_update (EmpathyIndicator *e_indicator, -+ const gchar *body) -+{ -+ DEBUG ("Updating existing indicator %p", e_indicator); -+ g_object_set (e_indicator, "body", body, NULL); -+} -+ -+ -+EmpathyContact * -+empathy_indicator_get_contact (EmpathyIndicator *e_indicator) -+{ -+ EmpathyContact *contact; -+ g_object_get (e_indicator, "contact", &contact, NULL); -+ return contact; -+} -Index: empathy-2.91.5.1/src/empathy-indicator.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ empathy-2.91.5.1/src/empathy-indicator.h 2011-01-21 12:23:48.063997002 -0500 -@@ -0,0 +1,65 @@ -+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ -+/* -+ * Copyright (C) 2009 Canonical Ltd. -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU General Public License as -+ * published by the Free Software Foundation; either version 2 of the -+ * License, or (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public -+ * License along with this program; if not, write to the -+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, -+ * Boston, MA 02110-1301 USA -+ * -+ * Authors: James Westby -+ * -+ */ -+ -+#ifndef __EMPATHY_INDICATOR_H__ -+#define __EMPATHY_INDICATOR_H__ -+ -+#include -+ -+#include -+ -+G_BEGIN_DECLS -+ -+#define EMPATHY_TYPE_INDICATOR (empathy_indicator_get_type ()) -+#define EMPATHY_INDICATOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), EMPATHY_TYPE_INDICATOR, EmpathyIndicator)) -+#define EMPATHY_INDICATOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), EMPATHY_TYPE_INDICATOR, EmpathyIndicatorClass)) -+#define EMPATHY_IS_INDICATOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), EMPATHY_TYPE_INDICATOR)) -+#define EMPATHY_IS_INDICATOR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EMPATHY_TYPE_INDICATOR)) -+#define EMPATHY_INDICATOR_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), EMPATHY_TYPE_INDICATOR, EmpathyIndicatorClass)) -+ -+typedef struct _EmpathyIndicator EmpathyIndicator; -+typedef struct _EmpathyIndicatorClass EmpathyIndicatorClass; -+ -+struct _EmpathyIndicator { -+ GObject parent; -+ gpointer priv; -+}; -+ -+struct _EmpathyIndicatorClass { -+ GObjectClass parent_class; -+}; -+ -+GType empathy_indicator_get_type (void) G_GNUC_CONST; -+EmpathyIndicator *empathy_indicator_new (EmpathyContact *sender, -+ const gchar *body, -+ const gchar *type); -+void empathy_indicator_show (EmpathyIndicator *e_indicator); -+void empathy_indicator_hide (EmpathyIndicator *e_indicator); -+void empathy_indicator_update (EmpathyIndicator *e_indicator, -+ const gchar *body); -+EmpathyContact *empathy_indicator_get_contact (EmpathyIndicator *e_indicator); -+ -+G_END_DECLS -+ -+ -+#endif /* __EMPATHY-INDICATOR_H__ */ -Index: empathy-2.91.5.1/src/empathy-main-window.c -=================================================================== ---- empathy-2.91.5.1.orig/src/empathy-main-window.c 2011-01-21 12:23:46.043997001 -0500 -+++ empathy-2.91.5.1/src/empathy-main-window.c 2011-01-21 12:23:48.063997002 -0500 -@@ -79,6 +79,10 @@ - #include "empathy-ft-manager.h" - #include "empathy-migrate-butterfly-logs.h" - -+#ifdef HAVE_LIBINDICATE -+#include "empathy-indicator-manager.h" -+#endif -+ - #define DEBUG_FLAG EMPATHY_DEBUG_OTHER - #include - -@@ -159,6 +163,10 @@ - - /* Actions that are enabled when there are connected accounts */ - GList *actions_connected; -+#ifdef HAVE_LIBINDICATE -+ EmpathyIndicatorManager *indicator_manager; -+ GHashTable *indicator_timeouts; -+#endif - - /* The idle event source to migrate butterfly's logs */ - guint butterfly_log_migration_members_changed_id; -@@ -306,6 +314,15 @@ - gtk_widget_destroy (error_widget); - g_hash_table_remove (priv->auths, event); - } -+ -+#ifdef HAVE_LIBINDICATE -+ if (event->type == EMPATHY_EVENT_TYPE_PRESENCE && -+ tp_connection_presence_type_cmp_availability (empathy_contact_get_presence (event->contact), -+ TP_CONNECTION_PRESENCE_TYPE_OFFLINE) > 0) { -+ empathy_indicator_manager_add_login_indicator (priv->indicator_manager, -+ event->contact); -+ } -+#endif - } - - static void -@@ -880,6 +897,10 @@ - g_object_unref (priv->ui_manager); - g_object_unref (priv->chatroom_manager); - -+#ifdef HAVE_LIBINDICATE -+ g_object_unref (priv->indicator_manager); -+#endif -+ - g_object_unref (priv->gsettings_ui); - g_object_unref (priv->gsettings_contacts); - -@@ -1945,6 +1966,10 @@ - l = l->next; - } - -+#ifdef HAVE_LIBINDICATE -+ priv->indicator_manager = empathy_indicator_manager_dup_singleton (); -+#endif -+ - /* Show offline ? */ - show_offline = g_settings_get_boolean (priv->gsettings_ui, - EMPATHY_PREFS_UI_SHOW_OFFLINE); -Index: empathy-2.91.5.1/src/empathy-preferences.c -=================================================================== ---- empathy-2.91.5.1.orig/src/empathy-preferences.c 2010-12-17 04:44:29.000000000 -0500 -+++ empathy-2.91.5.1/src/empathy-preferences.c 2011-01-21 12:23:48.063997002 -0500 -@@ -57,6 +57,7 @@ - - GtkWidget *checkbutton_show_smileys; - GtkWidget *checkbutton_show_contacts_in_rooms; -+ GtkWidget *checkbutton_use_libindicate; - GtkWidget *combobox_chat_theme; - GtkWidget *checkbutton_separate_chat_windows; - GtkWidget *checkbutton_events_notif_area; -@@ -236,6 +237,16 @@ - priv->checkbutton_show_smileys, - "active", - G_SETTINGS_BIND_DEFAULT); -+#ifdef HAVE_LIBINDICATE -+ g_settings_bind (priv->gsettings_ui, -+ EMPATHY_PREFS_UI_USE_LIBINDICATE, -+ priv->checkbutton_use_libindicate, -+ "active", -+ G_SETTINGS_BIND_DEFAULT); -+#else -+ gtk_widget_hide (GTK_WIDGET (priv->checkbutton_use_libindicate)); -+#endif -+ - g_settings_bind (priv->gsettings_chat, - EMPATHY_PREFS_CHAT_SHOW_CONTACTS_IN_ROOMS, - priv->checkbutton_show_contacts_in_rooms, -@@ -883,6 +894,7 @@ - "notebook", &priv->notebook, - "checkbutton_show_smileys", &priv->checkbutton_show_smileys, - "checkbutton_show_contacts_in_rooms", &priv->checkbutton_show_contacts_in_rooms, -+ "checkbutton_use_libindicate", &priv->checkbutton_use_libindicate, - "combobox_chat_theme", &priv->combobox_chat_theme, - "checkbutton_separate_chat_windows", &priv->checkbutton_separate_chat_windows, - "checkbutton_events_notif_area", &priv->checkbutton_events_notif_area, -Index: empathy-2.91.5.1/src/empathy-preferences.ui -=================================================================== ---- empathy-2.91.5.1.orig/src/empathy-preferences.ui 2010-12-06 06:09:05.000000000 -0500 -+++ empathy-2.91.5.1/src/empathy-preferences.ui 2011-01-21 12:23:48.063997002 -0500 -@@ -266,6 +266,20 @@ - 1 - - -+ -+ -+ Show incoming messages in the messaging menu -+ True -+ True -+ False -+ True -+ -+ -+ False -+ False -+ 2 -+ -+ - - - 1 -Index: empathy-2.91.5.1/src/empathy-status-icon.c -=================================================================== ---- empathy-2.91.5.1.orig/src/empathy-status-icon.c 2011-01-10 05:02:00.000000000 -0500 -+++ empathy-2.91.5.1/src/empathy-status-icon.c 2011-01-21 12:23:48.063997002 -0500 -@@ -46,6 +46,12 @@ - #include "empathy-preferences.h" - #include "empathy-event-manager.h" - -+#ifdef HAVE_LIBINDICATE -+#include "empathy-indicator-manager.h" -+#include -+#include -+#endif -+ - #define DEBUG_FLAG EMPATHY_DEBUG_DISPATCHER - #include - -@@ -68,6 +74,10 @@ - GtkAction *show_window_item; - GtkAction *new_message_item; - GtkAction *status_item; -+#ifdef HAVE_LIBINDICATE -+ EmpathyIndicatorManager *indicator_manager; -+ IndicateServer *indicate_server; -+#endif - } EmpathyStatusIconPriv; - - G_DEFINE_TYPE (EmpathyStatusIcon, empathy_status_icon, G_TYPE_OBJECT); -@@ -227,6 +237,92 @@ - empathy_window_present (GTK_WINDOW (priv->window)); - } - } -+#ifdef HAVE_LIBINDICATE -+static void -+empathy_status_icon_set_visible (gboolean show_icon, EmpathyStatusIcon *icon) -+{ -+ EmpathyStatusIconPriv *priv = GET_PRIV (icon); -+ gtk_status_icon_set_visible (priv->icon, show_icon); -+} -+ -+static void -+empathy_indicator_interest_status_icon (gboolean icon_visibility, -+ EmpathyStatusIcon *icon) -+{ -+ EmpathyStatusIconPriv *priv = GET_PRIV (icon); -+ EmpathyIndicatorManager *manager; -+ gboolean use_libindicate; -+ -+ manager = empathy_indicator_manager_dup_singleton(); -+ use_libindicate = g_settings_get_boolean (priv->gsettings_ui, -+ EMPATHY_PREFS_UI_USE_LIBINDICATE); -+ -+ if (use_libindicate && !icon_visibility) { -+ empathy_indicator_manager_set_server_visible (manager, TRUE); -+ /* Hide the status icon so there are not two ways to access -+ * empathy. -+ */ -+ DEBUG ("Hiding the icon, we are shown in the indicator"); -+ empathy_status_icon_set_visible (FALSE, icon); -+ } else { -+ empathy_indicator_manager_set_server_visible (manager, -+ FALSE); -+ DEBUG ("Show the icon, we are not shown in the indicator"); -+ empathy_status_icon_set_visible (TRUE, icon); -+ } -+} -+ -+static void -+empathy_indicator_interest_added (IndicateServer * server, -+ IndicateInterests interest, EmpathyStatusIcon *icon) -+{ -+ if (interest != INDICATE_INTEREST_SERVER_SIGNAL) { -+ return; -+ } -+ DEBUG ("Indicator received interest-added signal"); -+ empathy_indicator_interest_status_icon(FALSE, icon); -+} -+ -+static void -+empathy_indicator_interest_removed (IndicateServer * server, -+ IndicateInterests interest, EmpathyStatusIcon *icon) -+{ -+ if (interest != INDICATE_INTEREST_SERVER_SIGNAL) { -+ return; -+ } -+ -+ DEBUG ("Indicator received interest-removed signal"); -+ empathy_indicator_interest_status_icon(TRUE, icon); -+} -+ -+static void -+status_icon_set_use_libindicate (EmpathyStatusIcon *icon, -+ gboolean use_libindicate) -+{ -+ EmpathyStatusIconPriv *priv = GET_PRIV (icon); -+ -+ if (use_libindicate) { -+ empathy_indicator_manager_set_server_visible (priv->indicator_manager, TRUE); -+ } else { -+ empathy_indicator_manager_set_server_visible (priv->indicator_manager, FALSE); -+ empathy_status_icon_set_visible(TRUE, icon); -+ } -+} -+ -+static void -+status_icon_notify_libindicate_cb (GSettings *gsettings, -+ const gchar *key, -+ gpointer user_data) -+{ -+ EmpathyStatusIcon *icon = user_data; -+ EmpathyStatusIconPriv *priv = GET_PRIV (icon); -+ gboolean use_libindicate; -+ -+ use_libindicate = g_settings_get_boolean (priv->gsettings_ui, -+ EMPATHY_PREFS_UI_USE_LIBINDICATE); -+ status_icon_set_use_libindicate (icon, use_libindicate); -+} -+#endif - - static void - status_icon_notify_visibility_cb (GSettings *gsettings, -@@ -246,10 +342,36 @@ - EmpathyStatusIconPriv *priv = GET_PRIV (icon); - gboolean visible; - -+ - visible = gtk_window_is_active (priv->window); -+#ifdef HAVE_LIBINDICATE -+ gboolean use_libindicate; -+ use_libindicate = g_settings_get_boolean (priv->gsettings_ui, -+ EMPATHY_PREFS_UI_USE_LIBINDICATE); -+ if (use_libindicate) { -+ /* If indicators are used then we may very well not be active -+ * when toggled, as they are usually windows themselves. This -+ * makes it damn hard to toggle, so we just look at whether -+ * we are visible. -+ */ -+ visible = gtk_widget_get_visible (priv->window); -+ status_icon_set_visibility (icon, TRUE, TRUE); -+ return; -+ } -+#endif -+ - status_icon_set_visibility (icon, !visible, TRUE); - } - -+#ifdef HAVE_LIBINDICATE -+static void -+indicate_server_activate_cb (EmpathyIndicatorManager *manager, -+ guint timestamp, EmpathyStatusIcon *icon) -+{ -+ status_icon_toggle_visibility (icon); -+} -+#endif -+ - static void - status_icon_presence_changed_cb (EmpathyStatusIcon *icon) - { -@@ -415,6 +537,9 @@ - g_object_unref (priv->ui_manager); - g_object_unref (priv->gsettings_ui); - g_object_unref (priv->window); -+#ifdef HAVE_LIBINDICATE -+ g_object_unref (priv->indicator_manager); -+#endif - } - - static void -@@ -475,6 +600,13 @@ - G_CALLBACK (status_icon_notify_visibility_cb), - icon); - -+#ifdef HAVE_LIBINDICATE -+ g_signal_connect (priv->gsettings_ui, -+ "changed::" EMPATHY_PREFS_UI_USE_LIBINDICATE, -+ G_CALLBACK (status_icon_notify_libindicate_cb), -+ icon); -+#endif -+ - status_icon_create_menu (icon); - - g_signal_connect_swapped (priv->account_manager, -@@ -504,6 +636,9 @@ - EmpathyStatusIconPriv *priv; - EmpathyStatusIcon *icon; - gboolean should_hide; -+#ifdef HAVE_LIBINDICATE -+ gboolean use_libindicate; -+#endif - - g_return_val_if_fail (GTK_IS_WINDOW (window), NULL); - -@@ -511,6 +646,24 @@ - priv = GET_PRIV (icon); - - priv->window = g_object_ref (window); -+#ifdef HAVE_LIBINDICATE -+ priv->indicator_manager = empathy_indicator_manager_dup_singleton (); -+ priv->indicate_server = indicate_server_ref_default (); -+ -+ g_signal_connect (priv->indicator_manager, "server-activate", -+ G_CALLBACK (indicate_server_activate_cb), -+ icon); -+ -+ g_signal_connect (priv->indicate_server, -+ INDICATE_SERVER_SIGNAL_INTEREST_ADDED, -+ G_CALLBACK(empathy_indicator_interest_added), -+ icon); -+ -+ g_signal_connect (priv->indicate_server, -+ INDICATE_SERVER_SIGNAL_INTEREST_REMOVED, -+ G_CALLBACK(empathy_indicator_interest_removed), -+ icon); -+#endif - - g_signal_connect_after (priv->window, "key-press-event", - G_CALLBACK (status_icon_key_press_event_cb), -@@ -527,6 +680,12 @@ - should_hide = TRUE; - } - -+#ifdef HAVE_LIBINDICATE -+ use_libindicate = g_settings_get_boolean (priv->gsettings_ui, -+ EMPATHY_PREFS_UI_USE_LIBINDICATE); -+ status_icon_set_use_libindicate (icon, use_libindicate); -+#endif -+ - status_icon_set_visibility (icon, !should_hide, FALSE); - - return icon; -Index: empathy-2.91.5.1/libempathy/empathy-gsettings.h -=================================================================== ---- empathy-2.91.5.1.orig/libempathy/empathy-gsettings.h 2010-12-21 03:14:52.000000000 -0500 -+++ empathy-2.91.5.1/libempathy/empathy-gsettings.h 2011-01-21 12:23:48.063997002 -0500 -@@ -70,6 +70,7 @@ - #define EMPATHY_PREFS_UI_SHOW_AVATARS "show-avatars" - #define EMPATHY_PREFS_UI_SHOW_PROTOCOLS "show-protocols" - #define EMPATHY_PREFS_UI_COMPACT_CONTACT_LIST "compact-contact-list" -+#define EMPATHY_PREFS_UI_USE_LIBINDICATE "use-libindicate" - #define EMPATHY_PREFS_UI_CHAT_WINDOW_PANED_POS "chat-window-paned-pos" - #define EMPATHY_PREFS_UI_SHOW_OFFLINE "show-offline" - -Index: empathy-2.91.5.1/data/org.gnome.Empathy.gschema.xml.in -=================================================================== ---- empathy-2.91.5.1.orig/data/org.gnome.Empathy.gschema.xml.in 2011-01-21 12:23:46.783997002 -0500 -+++ empathy-2.91.5.1/data/org.gnome.Empathy.gschema.xml.in 2011-01-21 12:23:48.063997002 -0500 -@@ -81,6 +81,11 @@ - <_summary>The position for the chat window side pane - <_description>The stored position (in pixels) of the chat window side pane. - -+ -+ true -+ Use the messaging indicator -+ Whether or not to use the messaging indicator, if false the icon in the notification area will be displayed. -+ - - - diff -Nru empathy-3.1.1/debian/patches/21_login_indicators.patch empathy-3.1.1/debian/patches/21_login_indicators.patch --- empathy-3.1.1/debian/patches/21_login_indicators.patch 2011-05-10 15:32:40.000000000 +0000 +++ empathy-3.1.1/debian/patches/21_login_indicators.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,58 +0,0 @@ -Description: Only display indicator for signon events if the preference is set -Bug: https://bugs.launchpad.net/bugs/533857 - -=== modified file 'src/empathy-indicator-manager.c' -Index: empathy-2.31.4/src/empathy-indicator-manager.c -=================================================================== ---- empathy-2.31.4.orig/src/empathy-indicator-manager.c 2010-07-06 13:47:10.156662001 +1000 -+++ empathy-2.31.4/src/empathy-indicator-manager.c 2010-07-06 13:47:57.146662001 +1000 -@@ -25,6 +25,7 @@ - - #include - -+#include - #include - #include - #include -@@ -449,19 +450,28 @@ - GSource *timeout; - EmpathyIndicator *e_indicator; - LoginData *login_data; -+ gboolean contact_signon_notifications; -+ GSettings *gsettings; - -- priv = GET_PRIV (manager); -- e_indicator = empathy_indicator_new (contact, NULL, "login"); -- login_data = login_data_new (e_indicator, manager); -+ gsettings = g_settings_new (EMPATHY_PREFS_NOTIFICATIONS_SCHEMA); -+ contact_signon_notifications = g_settings_get_boolean (gsettings, EMPATHY_PREFS_NOTIFICATIONS_CONTACT_SIGNIN); -+ g_object_unref (gsettings); -+ -+ if (contact_signon_notifications) { -+ priv = GET_PRIV (manager); -+ e_indicator = empathy_indicator_new (contact, NULL, "login"); -+ login_data = login_data_new (e_indicator, manager); -+ -+ timeout = g_timeout_source_new_seconds (INDICATOR_LOGIN_TIMEOUT); -+ g_source_set_callback (timeout, indicate_login_timeout, login_data, -+ indicator_destroy_login_data); -+ g_source_attach (timeout, NULL); -+ -+ g_hash_table_insert (priv->login_timeouts, e_indicator, timeout); -+ -+ g_signal_connect (e_indicator, "activate", -+ G_CALLBACK (indicate_login_cb), manager); -+ empathy_indicator_show (e_indicator); -+ } - -- timeout = g_timeout_source_new_seconds (INDICATOR_LOGIN_TIMEOUT); -- g_source_set_callback (timeout, indicate_login_timeout, login_data, -- indicator_destroy_login_data); -- g_source_attach (timeout, NULL); -- -- g_hash_table_insert (priv->login_timeouts, e_indicator, timeout); -- -- g_signal_connect (e_indicator, "activate", -- G_CALLBACK (indicate_login_cb), manager); -- empathy_indicator_show (e_indicator); - } diff -Nru empathy-3.1.1/debian/patches/23_idomessagedialog_for_voip_and_ft.patch empathy-3.1.1/debian/patches/23_idomessagedialog_for_voip_and_ft.patch --- empathy-3.1.1/debian/patches/23_idomessagedialog_for_voip_and_ft.patch 1970-01-01 00:00:00.000000000 +0000 +++ empathy-3.1.1/debian/patches/23_idomessagedialog_for_voip_and_ft.patch 2011-06-03 20:54:08.000000000 +0000 @@ -0,0 +1,216 @@ +=== modified file 'configure.ac' +Index: empathy-2.34.0/configure.ac +=================================================================== +--- empathy-2.34.0.orig/configure.ac 2011-03-24 12:59:57.738546917 -0400 ++++ empathy-2.34.0/configure.ac 2011-03-24 13:00:00.018546918 -0400 +@@ -44,6 +44,7 @@ + TELEPATHY_GLIB_REQUIRED=0.14.1 + TELEPATHY_LOGGER=0.2.0 + UNIQUE_REQUIRED=1.1.2 ++IDO_REQUIRED=0.1.14 + + # Optionnal deps + CLUTTER_GTK_REQUIRED=0.10 +@@ -162,6 +163,7 @@ + libxml-2.0 + telepathy-glib >= $TELEPATHY_GLIB_REQUIRED + telepathy-logger-0.2 >= $TELEPATHY_LOGGER ++ libido-0.1 >= $IDO_REQUIRED + x11 + launchpad-integration + ]) +Index: empathy-2.34.0/src/empathy-event-manager.c +=================================================================== +--- empathy-2.34.0.orig/src/empathy-event-manager.c 2011-03-24 11:15:16.000000000 -0400 ++++ empathy-2.34.0/src/empathy-event-manager.c 2011-03-24 13:00:00.018546918 -0400 +@@ -48,6 +48,9 @@ + #include + #include + ++#include ++#include ++ + #include "empathy-event-manager.h" + #include "empathy-main-window.h" + +@@ -473,6 +476,7 @@ + } + } + ++ + static void + event_manager_call_window_confirmation_dialog_response_cb (GtkDialog *dialog, + gint response, gpointer user_data) +@@ -499,13 +503,75 @@ + } + + static void ++event_channel_process_ft_func (EventPriv *event) ++{ ++ GtkWidget *dialog; ++ GtkWidget *button; ++ GtkWidget *image; ++ gint width, height; ++ GdkPixbuf *avatar; ++ ++ if (event->approval->dialog != NULL) ++ { ++ gtk_window_present (GTK_WINDOW (event->approval->dialog)); ++ return; ++ } ++ ++ dialog = ido_message_dialog_new (NULL, ++ GTK_DIALOG_MODAL, ++ GTK_MESSAGE_QUESTION, ++ GTK_BUTTONS_NONE, ++ _("Incoming file transfer from %s"), ++ empathy_contact_get_alias (event->approval->contact)); ++ gtk_message_dialog_format_secondary_markup (GTK_WINDOW (dialog), _("%s is sending you a file. Do you want to accept it?"), ++ empathy_contact_get_alias (event->approval->contact)); ++ ++ avatar = empathy_pixbuf_avatar_from_contact_scaled (event->approval->contact, 48, 48); ++ if (avatar != NULL) ++ { ++ image = gtk_image_new_from_pixbuf (avatar); ++ } else { ++ /* Set image of the dialog */ ++ image = gtk_image_new_from_icon_name (EMPATHY_IMAGE_DOCUMENT_SEND, ++ GTK_ICON_SIZE_DIALOG); ++ } ++ ++ gtk_message_dialog_set_image (GTK_MESSAGE_DIALOG (dialog), image); ++ gtk_widget_show (image); ++ ++ gtk_dialog_set_default_response (GTK_DIALOG (dialog), ++ GTK_RESPONSE_OK); ++ ++ button = gtk_dialog_add_button (GTK_DIALOG (dialog), ++ _("_Reject"), GTK_RESPONSE_REJECT); ++ image = gtk_image_new_from_icon_name ("stop", ++ GTK_ICON_SIZE_BUTTON); ++ gtk_button_set_image (GTK_BUTTON (button), image); ++ ++ button = gtk_dialog_add_button (GTK_DIALOG (dialog), ++ _("_Accept"), GTK_RESPONSE_ACCEPT); ++ ++ image = gtk_image_new_from_icon_name ("filesaveas.png", GTK_ICON_SIZE_BUTTON); ++ gtk_button_set_image (GTK_BUTTON (button), image); ++ ++ g_signal_connect (dialog, "response", ++ G_CALLBACK (event_manager_call_window_confirmation_dialog_response_cb), ++ event->approval); ++ ++ gtk_widget_show (dialog); ++ ++ event->approval->dialog = dialog; ++} ++ ++static void + event_channel_process_voip_func (EventPriv *event) + { + GtkWidget *dialog; + GtkWidget *button; + GtkWidget *image; + gboolean video; +- gchar *title; ++ gint width, height; ++ GdkPixbuf *avatar; + EmpathyEventType etype = event->public.type; + + if (event->approval->dialog != NULL) +@@ -532,33 +598,33 @@ + return; + } + +- dialog = gtk_message_dialog_new (NULL, 0, +- GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE, +- video ? _("Incoming video call"): _("Incoming call")); +- +- gtk_message_dialog_format_secondary_text ( +- GTK_MESSAGE_DIALOG (dialog), video ? +- _("%s is video calling you. Do you want to answer?"): +- _("%s is calling you. Do you want to answer?"), +- empathy_contact_get_alias (event->approval->contact)); +- +- title = g_strdup_printf (_("Incoming call from %s"), +- empathy_contact_get_alias (event->approval->contact)); +- +- gtk_window_set_title (GTK_WINDOW (dialog), title); +- g_free (title); +- +- /* Set image of the dialog */ +- if (video) ++ dialog = ido_message_dialog_new (NULL, ++ GTK_DIALOG_MODAL, ++ GTK_MESSAGE_QUESTION, ++ GTK_BUTTONS_NONE, ++ video ? _("Incoming video call from %s"): _("Incoming call from %s"), empathy_contact_get_alias (event->approval->contact)); ++ gtk_message_dialog_format_secondary_markup (GTK_WINDOW (dialog), video ? ++ _("%s is video calling you. Do you want to answer?"): ++ _("%s is calling you. Do you want to answer?"), ++ empathy_contact_get_alias (event->approval->contact)); ++ ++ avatar = empathy_pixbuf_avatar_from_contact_scaled (event->approval->contact, 48, 48); ++ if (avatar != NULL) ++ { ++ image = gtk_image_new_from_pixbuf (avatar); ++ } else { ++ /* Set image of the dialog */ ++ if (video) + { + image = gtk_image_new_from_icon_name (EMPATHY_IMAGE_VIDEO_CALL, + GTK_ICON_SIZE_DIALOG); + } +- else ++ else + { + image = gtk_image_new_from_icon_name (EMPATHY_IMAGE_VOIP, + GTK_ICON_SIZE_DIALOG); + } ++ } + + gtk_message_dialog_set_image (GTK_MESSAGE_DIALOG (dialog), image); + gtk_widget_show (image); +@@ -955,7 +1021,7 @@ + event_manager_add (approval->manager, NULL, + approval->contact, EMPATHY_EVENT_TYPE_TRANSFER, + EMPATHY_IMAGE_DOCUMENT_SEND, header, NULL, +- approval, event_channel_process_func, NULL); ++ approval, event_channel_process_ft_func, NULL); + + /* FIXME better sound for incoming file transfers ?*/ + empathy_sound_play (window, EMPATHY_SOUND_CONVERSATION_NEW); +Index: empathy-2.34.0/src/empathy-indicator-manager.c +=================================================================== +--- empathy-2.34.0.orig/src/empathy-indicator-manager.c 2011-03-24 12:59:59.218546917 -0400 ++++ empathy-2.34.0/src/empathy-indicator-manager.c 2011-03-24 13:00:00.018546918 -0400 +@@ -144,6 +144,12 @@ + EmpathyEvent *event, + EmpathyIndicatorManager *manager) + { ++ if (event->type == EMPATHY_EVENT_TYPE_VOIP ++ || event->type == EMPATHY_EVENT_TYPE_CALL ++ || event->type == EMPATHY_EVENT_TYPE_TRANSFER) { ++ return; ++ } ++ + EmpathyIndicator *indicator = NULL; + EmpathyIndicatorManagerPriv *priv; + IndicatorEvent *indicator_event; +Index: empathy-2.34.0/src/empathy-status-icon.c +=================================================================== +--- empathy-2.34.0.orig/src/empathy-status-icon.c 2011-03-24 12:59:57.748546917 -0400 ++++ empathy-2.34.0/src/empathy-status-icon.c 2011-03-24 13:00:00.018546918 -0400 +@@ -226,6 +226,12 @@ + } + + if (priv->event) { ++ if (priv->event->type == EMPATHY_EVENT_TYPE_VOIP ++ || priv->event->type == EMPATHY_EVENT_TYPE_CALL ++ || priv->event->type == EMPATHY_EVENT_TYPE_TRANSFER) { ++ empathy_event_activate (priv->event); ++ return; ++ } + gchar *message_esc = NULL; + gboolean has_x_canonical_append; + NotifyNotification *notification = priv->notification; diff -Nru empathy-3.1.1/debian/patches/31_really_raise_window.patch empathy-3.1.1/debian/patches/31_really_raise_window.patch --- empathy-3.1.1/debian/patches/31_really_raise_window.patch 2011-05-10 15:32:40.000000000 +0000 +++ empathy-3.1.1/debian/patches/31_really_raise_window.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,79 +0,0 @@ -Description: Force focus of the window when selected from the indicator -Bug: https://bugs.launchpad.net/bugs/442389 - -=== modified file 'libempathy-gtk/empathy-ui-utils.c' -Index: empathy-2.91.93/libempathy-gtk/empathy-ui-utils.c -=================================================================== ---- empathy-2.91.93.orig/libempathy-gtk/empathy-ui-utils.c -+++ empathy-2.91.93/libempathy-gtk/empathy-ui-utils.c -@@ -1582,6 +1582,41 @@ - gtk_window_iconify (window); - } - -+/* Really raise the window, even if the window manager doesn't agree */ -+static void -+really_activate_window (GtkWindow *window) -+{ -+ Screen *screen; -+ Time timestamp; -+ XEvent xev; -+ -+ g_return_if_fail (GTK_IS_WINDOW (window)); -+ -+ screen = GDK_SCREEN_XSCREEN (gtk_widget_get_screen (GTK_WIDGET (window))); -+ timestamp = GDK_CURRENT_TIME; -+ -+ xev.xclient.type = ClientMessage; -+ xev.xclient.serial = 0; -+ xev.xclient.send_event = True; -+ xev.xclient.display = gdk_display_get_default (); -+ xev.xclient.window = gdk_x11_window_get_xid (gtk_widget_get_window (GTK_WIDGET(window))); -+ xev.xclient.message_type = gdk_x11_get_xatom_by_name ("_NET_ACTIVE_WINDOW"); -+ xev.xclient.format = 32; -+ xev.xclient.data.l[0] = 2; /* Pager client type */ -+ xev.xclient.data.l[1] = timestamp; -+ xev.xclient.data.l[2] = 0; -+ xev.xclient.data.l[3] = 0; -+ xev.xclient.data.l[4] = 0; -+ -+ gdk_error_trap_push (); -+ XSendEvent (gdk_display_get_default (), -+ RootWindowOfScreen (screen), -+ False, -+ SubstructureRedirectMask | SubstructureNotifyMask, -+ &xev); -+ gdk_error_trap_pop (); -+} -+ - /* Takes care of moving the window to the current workspace. */ - void - empathy_window_present_with_time (GtkWindow *window, -@@ -1616,6 +1651,7 @@ - - gtk_window_set_skip_taskbar_hint (window, FALSE); - gtk_window_deiconify (window); -+ really_activate_window (window); - } - - void -Index: empathy-2.91.93/src/empathy-event-manager.c -=================================================================== ---- empathy-2.91.93.orig/src/empathy-event-manager.c -+++ empathy-2.91.93/src/empathy-event-manager.c -@@ -43,6 +43,7 @@ - #include - #include - #include -+#include - - #include "empathy-event-manager.h" - #include "empathy-main-window.h" -@@ -494,7 +495,7 @@ - - if (event->approval->dialog != NULL) - { -- gtk_window_present (GTK_WINDOW (event->approval->dialog)); -+ empathy_window_present (GTK_WINDOW (event->approval->dialog)); - return; - } - diff -Nru empathy-3.1.1/debian/patches/34_start_raised_execpt_in_session.patch empathy-3.1.1/debian/patches/34_start_raised_execpt_in_session.patch --- empathy-3.1.1/debian/patches/34_start_raised_execpt_in_session.patch 2011-05-10 15:32:40.000000000 +0000 +++ empathy-3.1.1/debian/patches/34_start_raised_execpt_in_session.patch 2011-06-03 20:54:08.000000000 +0000 @@ -2,28 +2,25 @@ Bug: bugs.launchpad.net/bugs/503052 === modified file 'src/empathy-status-icon.c' -Index: empathy-2.91.3/src/empathy-status-icon.c -=================================================================== ---- empathy-2.91.3.orig/src/empathy-status-icon.c 2010-12-13 15:16:22.425014963 +1100 -+++ empathy-2.91.3/src/empathy-status-icon.c 2010-12-13 15:22:39.129014963 +1100 -@@ -639,6 +639,9 @@ - #ifdef HAVE_LIBINDICATE - gboolean use_libindicate; - #endif +--- old/src/empathy-status-icon.c 2011-06-02 14:12:16 +0000 ++++ new/src/empathy-status-icon.c 2011-06-02 14:23:10 +0000 +@@ -505,6 +505,8 @@ + EmpathyStatusIcon *icon; + gboolean should_hide; + + const gchar *desktop_autostart_id; -+ + desktop_autostart_id = g_getenv ("DESKTOP_AUTOSTART_ID"); - g_return_val_if_fail (GTK_IS_WINDOW (window), NULL); -@@ -674,8 +677,16 @@ + icon = g_object_new (EMPATHY_TYPE_STATUS_ICON, NULL); +@@ -521,8 +523,16 @@ icon); if (!hide_contact_list) { - should_hide = g_settings_get_boolean (priv->gsettings_ui, - EMPATHY_PREFS_UI_MAIN_WINDOW_HIDDEN); + /* If not started with the session, we should raise the window. -+ https://bugs.launchpad.net/ubuntu/+source/empathy/+bug/503052 */ ++ https://bugs.launchpad.net/ubuntu/+source/empathy/+bug/503052 */ + if (desktop_autostart_id == NULL) { + DEBUG ("Not started with session, showing contact list"); + should_hide = FALSE; diff -Nru empathy-3.1.1/debian/patches/38_lp_569289.patch empathy-3.1.1/debian/patches/38_lp_569289.patch --- empathy-3.1.1/debian/patches/38_lp_569289.patch 2011-05-10 15:32:40.000000000 +0000 +++ empathy-3.1.1/debian/patches/38_lp_569289.patch 2011-06-03 20:54:08.000000000 +0000 @@ -1,14 +1,6 @@ -Description: Patch to set freenode as default IRC network - This patch fixes ubuntu bug #569289 by setting Freenode as the default - IRC network for new IRC accounts. - -Author: Bilal Akhtar -Bug-Ubuntu: https://launchpad.net/bugs/569289 -Forwarded: https://bugzilla.gnome.org/show_bug.cgi?id=625675 -Index: empathy-2.91.93/libempathy-gtk/empathy-irc-network-chooser.c -=================================================================== ---- empathy-2.91.93.orig/libempathy-gtk/empathy-irc-network-chooser.c -+++ empathy-2.91.93/libempathy-gtk/empathy-irc-network-chooser.c +=== modified file 'libempathy-gtk/empathy-irc-network-chooser.c' +--- old/libempathy-gtk/empathy-irc-network-chooser.c 2011-02-24 17:01:06 +0000 ++++ new/libempathy-gtk/empathy-irc-network-chooser.c 2011-02-24 17:08:47 +0000 @@ -40,7 +40,7 @@ #include "empathy-irc-network-chooser.h" @@ -18,3 +10,4 @@ #define DEFAULT_IRC_PORT 6667 #define DEFAULT_IRC_SSL FALSE + diff -Nru empathy-3.1.1/debian/patches/41_unity_launcher_progress.patch empathy-3.1.1/debian/patches/41_unity_launcher_progress.patch --- empathy-3.1.1/debian/patches/41_unity_launcher_progress.patch 1970-01-01 00:00:00.000000000 +0000 +++ empathy-3.1.1/debian/patches/41_unity_launcher_progress.patch 2011-06-03 20:54:08.000000000 +0000 @@ -0,0 +1,242 @@ +=== modified file 'configure.ac' +--- old/configure.ac 2011-06-02 14:12:16 +0000 ++++ new/configure.ac 2011-06-02 14:53:30 +0000 +@@ -50,6 +50,7 @@ + ISO_CODES_REQUIRED=0.35 + LIBCHAMPLAIN_GTK_REQUIRED=0.7.1 + LIBCHAMPLAIN_REQUIRED=0.9 ++UNITY_REQUIRED=3.4.0 + NAUTILUS_SENDTO_REQUIRED=2.90.0 + NETWORK_MANAGER_REQUIRED=0.7.0 + WEBKIT_REQUIRED=1.3.2 +@@ -374,6 +375,34 @@ + AC_SUBST(GEOCLUE_CFLAGS) + AC_SUBST(GEOCLUE_LIBS) + ++# libunity ++# ----------------------------------------------------------- ++AC_ARG_ENABLE(libunity, ++ AS_HELP_STRING([--enable-libunity=@<:@no/yes/auto@:>@], ++ [build libunity support]), , ++ enable_libunity=auto) ++ ++if test "x$enable_unity" != "xno"; then ++ PKG_CHECK_MODULES(UNITY, ++ [ ++ unity >= $UNITY_REQUIRED ++ ], have_unity="yes", have_unity="no") ++ ++ if test "x$have_unity" = "xyes"; then ++ AC_DEFINE(HAVE_UNITY, 1, [Define if you have unity]) ++ fi ++else ++ have_unity=no ++fi ++ ++if test "x$enable_unity" = "xyes" -a "x$have_unity" != "xyes"; then ++ AC_MSG_ERROR([Could not find libunity.]) ++fi ++ ++AM_CONDITIONAL(HAVE_UNITY, test "x$have_unity" = "xyes") ++AC_SUBST([UNITY_CFLAGS]) ++AC_SUBST([UNITY_LIBS]) ++ + # ----------------------------------------------------------- + # meego widgets support + # ----------------------------------------------------------- +@@ -507,6 +536,7 @@ + Display maps (libchamplain).: ${have_libchamplain} + Location awareness (Geoclue): ${have_geoclue} + Adium themes (Webkit).......: ${have_webkit} ++ Unity panel support (unity).: ${have_unity} + Meego widgets ..............: ${have_meego} + Control center embedding....: ${have_control_center_embedding} + + +=== modified file 'src/Makefile.am' +--- old/src/Makefile.am 2011-06-02 14:12:16 +0000 ++++ new/src/Makefile.am 2011-06-02 15:01:54 +0000 +@@ -14,6 +14,7 @@ + AM_LDFLAGS = -lm + AM_CPPFLAGS = \ + $(CPPFLAGS_COMMON) \ ++ $(UNITY_CFLAGS) \ + $(LIBCHAMPLAIN_CFLAGS) \ + $(WEBKIT_CFLAGS) \ + $(NULL) +@@ -24,6 +25,7 @@ + $(top_builddir)/extensions/libemp-extensions.la \ + $(GCR_LIBS) \ + $(EMPATHY_LIBS) \ ++ $(UNITY_LIBS) \ + $(LIBCHAMPLAIN_LIBS) \ + $(WEBKIT_LIBS) + +@@ -172,6 +174,7 @@ + $(top_builddir)/extensions/libemp-extensions.la \ + $(EMPATHY_LIBS) \ + $(LIBCHAMPLAIN_LIBS) \ ++ $(UNITY_LIBS) \ + $(WEBKIT_LIBS) \ + $(NULL) + + +=== modified file 'src/empathy-ft-manager.c' +--- old/src/empathy-ft-manager.c 2011-06-02 14:12:16 +0000 ++++ new/src/empathy-ft-manager.c 2011-06-02 14:27:17 +0000 +@@ -46,6 +46,8 @@ + + #include "empathy-ft-manager.h" + ++#include ++ + enum + { + COL_PERCENT, +@@ -65,6 +67,7 @@ + GtkWidget *open_button; + GtkWidget *abort_button; + GtkWidget *clear_button; ++ UnityLauncherEntry *launcher; + } EmpathyFTManagerPriv; + + enum +@@ -84,6 +87,53 @@ + static void ft_handler_hashing_started_cb (EmpathyFTHandler *handler, + EmpathyFTManager *manager); + ++static gchar * ft_manager_format_progress_bytes_and_percentage ( ++ guint64 current, ++ guint64 total, ++ gdouble speed, ++ int *percentage); ++ ++static void ++ft_update_unity_launcher (EmpathyFTManager *manager) ++{ ++ EmpathyFTManagerPriv *priv; ++ ++ priv = GET_PRIV (manager); ++ g_return_if_fail (priv->launcher != NULL); ++ ++ guint64 current_bytes = 0; ++ guint64 total_bytes = 0; ++ int percentage; ++ gdouble progress; ++ GHashTableIter iter; ++ gpointer handler; ++ ++ g_hash_table_iter_init (&iter, priv->ft_handler_to_row_ref); ++ while (g_hash_table_iter_next (&iter, &handler, NULL)) ++ { ++ if (!empathy_ft_handler_is_completed (handler) && ++ !empathy_ft_handler_is_cancelled (handler)) ++ { ++ current_bytes = current_bytes + empathy_ft_handler_get_transferred_bytes (handler); ++ total_bytes = total_bytes + empathy_ft_handler_get_total_bytes (handler); ++ } ++ } ++ ft_manager_format_progress_bytes_and_percentage (current_bytes, total_bytes, -1, &percentage); ++ ++ progress = percentage; ++ progress = progress / 100; ++ ++ unity_launcher_entry_set_progress (priv->launcher, progress); ++ if (progress > 0 && progress < 100) ++ { ++ unity_launcher_entry_set_progress_visible (priv->launcher, TRUE); ++ } ++ else ++ { ++ unity_launcher_entry_set_progress_visible (priv->launcher, FALSE); ++ } ++} ++ + static gchar * + ft_manager_format_interval (guint interval) + { +@@ -393,6 +443,8 @@ + COL_PERCENT, percentage, + -1); + ++ ft_update_unity_launcher (manager); ++ + gtk_tree_path_free (path); + + } +@@ -459,6 +511,8 @@ + ft_manager_clear_handler_time (manager, row_ref); + ft_manager_update_buttons (manager); + ++ ft_update_unity_launcher (manager); ++ + g_free (message); + } + +@@ -466,6 +520,7 @@ + do_real_transfer_done (EmpathyFTManager *manager, + EmpathyFTHandler *handler) + { ++ EmpathyFTManagerPriv *priv; + const char *contact_name; + const char *filename; + char *first_line, *second_line, *message; +@@ -475,6 +530,8 @@ + GtkRecentManager *recent_manager; + GFile *file; + ++ priv = GET_PRIV (manager); ++ + row_ref = ft_manager_get_row_from_handler (manager, handler); + g_return_if_fail (row_ref != NULL); + +@@ -500,6 +557,8 @@ + ft_manager_update_handler_message (manager, row_ref, message); + ft_manager_clear_handler_time (manager, row_ref); + ++ ft_update_unity_launcher (manager); ++ + /* update buttons */ + ft_manager_update_buttons (manager); + +@@ -536,6 +595,8 @@ + DEBUG ("Transfer done, no hashing"); + + do_real_transfer_done (manager, handler); ++ ++ ft_update_unity_launcher (manager); + } + + static void +@@ -577,6 +638,8 @@ + EmpathyTpFile *tp_file, + EmpathyFTManager *manager) + { ++ EmpathyFTManagerPriv *priv; ++ priv = GET_PRIV (manager); + guint64 transferred_bytes, total_bytes; + + DEBUG ("Transfer started"); +@@ -1084,6 +1147,12 @@ + + g_hash_table_destroy (priv->ft_handler_to_row_ref); + ++ if (priv->launcher != NULL) ++ { ++ g_object_unref(priv->launcher); ++ priv->launcher = NULL; ++ } ++ + G_OBJECT_CLASS (empathy_ft_manager_parent_class)->finalize (object); + } + +@@ -1101,6 +1170,8 @@ + g_direct_equal, (GDestroyNotify) g_object_unref, + (GDestroyNotify) gtk_tree_row_reference_free); + ++ priv->launcher = unity_launcher_entry_get_for_desktop_id ("empathy.desktop"); ++ + ft_manager_build_ui (manager); + } + + diff -Nru empathy-3.1.1/debian/patches/series empathy-3.1.1/debian/patches/series --- empathy-3.1.1/debian/patches/series 2011-05-10 15:32:40.000000000 +0000 +++ empathy-3.1.1/debian/patches/series 2011-06-03 20:54:08.000000000 +0000 @@ -1,11 +1,8 @@ 01_lpi.patch -02_notifications_focus.patch 10_use_notify_osd_icons.patch -#11_empathy_accounts_category.patch -#20_libindicate.patch -#21_login_indicators.patch -#31_really_raise_window.patch -#34_start_raised_execpt_in_session.patch +#23_idomessagedialog_for_voip_and_ft.patch +34_start_raised_execpt_in_session.patch 36_chat_window_default_size.patch 37_facebook_default.patch 38_lp_569289.patch +41_unity_launcher_progress.patch diff -Nru empathy-3.1.1/debian/rules empathy-3.1.1/debian/rules --- empathy-3.1.1/debian/rules 2011-05-10 15:32:40.000000000 +0000 +++ empathy-3.1.1/debian/rules 2011-06-03 20:54:08.000000000 +0000 @@ -1,9 +1,7 @@ #!/usr/bin/make -f -DEB_DH_INSTALL_SOURCEDIR=debian/tmp - -include /usr/share/cdbs/1/rules/debhelper.mk include /usr/share/cdbs/1/rules/autoreconf.mk +include /usr/share/cdbs/1/rules/debhelper.mk include /usr/share/cdbs/1/class/gnome.mk # List any files which are not installed @@ -12,28 +10,24 @@ # Ensure at build time that the library has no dependencies on undefined # symbols, and speed up loading. -#LDFLAGS += -Wl,-z,defs -Wl,-O1 +LDFLAGS += -Wl,-z,defs -Wl,-O1 DEB_CONFIGURE_EXTRA_FLAGS := --enable-spell \ - --enable-libindicate \ - --disable-tests \ - --disable-schemas-compile \ --enable-webkit \ - --enable-map=no \ - --enable-location=no \ - --enable-favourite-contacts=no \ - --with-ca-file='/etc/ssl/certs/ca-certificates.crt' - -DEB_DBG_PACKAGE_empathy = empathy-dbg + --enable-map=yes \ + --enable-location=yes \ + --disable-schemas-compile DEB_BUILD_ARCH_OS := $(shell dpkg-architecture -qDEB_BUILD_ARCH_OS) ifeq ($(DEB_BUILD_ARCH_OS),linux) - DEB_CONFIGURE_EXTRA_FLAGS += --with-connectivity=nm --enable-location=no + DEB_CONFIGURE_EXTRA_FLAGS += --with-connectivity=nm --enable-location=yes else ifeq ($(DEB_BUILD_ARCH_OS),kfreebsd) DEB_CONFIGURE_EXTRA_FLAGS += --with-connectivity=no --enable-location=no else DEB_CONFIGURE_EXTRA_FLAGS += --with-connectivity=no --enable-location=no endif +DEB_DH_MAKESHLIBS_ARGS_empathy = --no-act + include $(CURDIR)/debian/update-patches.mk diff -Nru empathy-3.1.1/debian/update-patches.mk empathy-3.1.1/debian/update-patches.mk --- empathy-3.1.1/debian/update-patches.mk 2011-05-10 15:32:40.000000000 +0000 +++ empathy-3.1.1/debian/update-patches.mk 2011-06-03 20:54:08.000000000 +0000 @@ -1,7 +1,8 @@ update-patches: mkdir -p $(CURDIR)/debian/patches rm -f $(CURDIR)/debian/patches/*.patch - git format-patch -o $(CURDIR)/debian/patches debian-patches ^upstream + git format-patch -o $(CURDIR)/debian/patches debian-patches ^upstream | \ + xargs -n 1 basename > $(CURDIR)/debian/patches/series for patch in $$(ls $(CURDIR)/debian/patches/*.patch) ; \ do \ lines=$$(cat $$patch | wc -l) ; \