[empathy/mc5: 165/483] Merge commit 'upstream/master' into mc5



commit 1d153c1cf91edce537bc64efb01b5a496b35518e
Merge: b50b703... 6df1c4b...
Author: Sjoerd Simons <sjoerd simons collabora co uk>
Date:   Tue Jul 28 11:20:27 2009 +0200

    Merge commit 'upstream/master' into mc5
    
    Conflicts:
    	libempathy-gtk/empathy-account-widget.c
    	src/empathy.c

 NEWS                                            |   66 +
 configure.ac                                    |    8 +-
 data/empathy.schemas.in                         |   14 +
 empathy.doap                                    |    1 +
 help/de/de.po                                   |  780 +++----
 libempathy-gtk/Makefile.am                      |    4 +
 libempathy-gtk/empathy-account-chooser.c        |   10 +-
 libempathy-gtk/empathy-account-widget-irc.c     |    2 +-
 libempathy-gtk/empathy-avatar-chooser.c         |   10 +-
 libempathy-gtk/empathy-avatar-image.c           |    2 +-
 libempathy-gtk/empathy-cell-renderer-expander.c |   38 +-
 libempathy-gtk/empathy-chat-text-view.c         |   10 +-
 libempathy-gtk/empathy-chat.c                   |  104 +-
 libempathy-gtk/empathy-contact-dialogs.c        |   21 +-
 libempathy-gtk/empathy-contact-dialogs.h        |    4 +-
 libempathy-gtk/empathy-contact-list-store.c     |   44 +-
 libempathy-gtk/empathy-contact-list-store.h     |    1 +
 libempathy-gtk/empathy-contact-list-view.c      |   62 +-
 libempathy-gtk/empathy-contact-list-view.h      |    1 +
 libempathy-gtk/empathy-contact-menu.c           |  135 ++-
 libempathy-gtk/empathy-contact-menu.h           |    2 +
 libempathy-gtk/empathy-contact-widget.c         |   15 +-
 libempathy-gtk/empathy-contact-widget.ui        |   12 +-
 libempathy-gtk/empathy-geometry.c               |   20 +-
 libempathy-gtk/empathy-kludge-label.c           |   89 +
 libempathy-gtk/empathy-kludge-label.h           |   53 +
 libempathy-gtk/empathy-new-message-dialog.ui    |   84 +-
 libempathy-gtk/empathy-presence-chooser.c       |   12 +-
 libempathy-gtk/empathy-share-my-desktop.c       |  245 ++
 libempathy-gtk/empathy-share-my-desktop.h       |   28 +
 libempathy-gtk/empathy-status-preset-dialog.c   |    4 +-
 libempathy-gtk/empathy-theme-adium.c            |  388 +++-
 libempathy-gtk/empathy-theme-manager.c          |   67 +-
 libempathy-gtk/empathy-theme-manager.h          |    1 +
 libempathy-gtk/empathy-ui-utils.c               |    9 +-
 libempathy-gtk/empathy-video-widget.c           |    6 +-
 libempathy/empathy-chatroom-manager.c           |    2 +-
 libempathy/empathy-contact-groups.c             |    4 +-
 libempathy/empathy-contact-list.c               |   11 +
 libempathy/empathy-contact-list.h               |   12 +
 libempathy/empathy-contact-manager.c            |   34 +-
 libempathy/empathy-contact-manager.h            |    4 +-
 libempathy/empathy-contact.c                    |   24 +
 libempathy/empathy-contact.h                    |    2 +
 libempathy/empathy-debug.h                      |    1 +
 libempathy/empathy-log-store-empathy.c          |    8 +
 libempathy/empathy-message.c                    |   36 +
 libempathy/empathy-message.h                    |    3 +
 libempathy/empathy-status-presets.c             |    4 +-
 libempathy/empathy-tp-chat.c                    |   65 +-
 libempathy/empathy-tp-contact-list.c            |  133 +-
 megaphone/src/megaphone-applet.c                |    2 +-
 po/POTFILES.in                                  |    1 +
 po/ar.po                                        | 2279 ++++++++++++-------
 po/be.po                                        | 2698 +++++++++++++++------
 po/es.po                                        |  798 ++++---
 po/fr.po                                        | 2103 +++++++++++------
 po/gl.po                                        | 1831 +++++++++------
 po/lt.po                                        |  616 +++---
 po/pa.po                                        | 1060 +++++----
 po/sv.po                                        | 2860 +++++++++++------------
 po/ta.po                                        |  819 ++++---
 po/zh_CN.po                                     | 2392 ++++++++++++-------
 src/empathy-accounts-dialog.ui                  |   43 +-
 src/empathy-call-window-fullscreen.c            |    6 +-
 src/empathy-call-window.c                       |   12 +-
 src/empathy-chat-window.c                       |   38 +-
 src/empathy-debug-dialog.c                      |    4 +-
 src/empathy-main-window.c                       |  226 ++-
 src/empathy-main-window.ui                      |   57 +
 src/empathy-new-chatroom-dialog.ui              |   43 +-
 src/empathy-preferences.c                       |  223 +--
 src/empathy-preferences.ui                      |  138 --
 src/empathy-sidebar.c                           |    2 +-
 src/empathy.c                                   |   65 +-
 src/ephy-spinner.c                              |    4 +-
 76 files changed, 12906 insertions(+), 8109 deletions(-)
---
diff --cc libempathy-gtk/empathy-account-widget-irc.c
index 4bca910,c0699b2..c04f346
--- a/libempathy-gtk/empathy-account-widget-irc.c
+++ b/libempathy-gtk/empathy-account-widget-irc.c
@@@ -429,9 -430,9 +429,9 @@@ empathy_account_widget_irc_new (Empathy
    gchar *filename;
  
    settings = g_slice_new0 (EmpathyAccountWidgetIrc);
 -  settings->account = g_object_ref (account);
 +  settings->settings = g_object_ref (account_settings);
  
-   dir = g_build_filename (g_get_home_dir (), ".gnome2", PACKAGE_NAME, NULL);
+   dir = g_build_filename (g_get_user_config_dir (), PACKAGE_NAME, NULL);
    g_mkdir_with_parents (dir, S_IRUSR | S_IWUSR | S_IXUSR);
    user_file_with_path = g_build_filename (dir, IRC_NETWORKS_FILENAME, NULL);
    g_free (dir);
diff --cc libempathy/empathy-log-store-empathy.c
index d0487e7,b814def..4bb17e4
--- a/libempathy/empathy-log-store-empathy.c
+++ b/libempathy/empathy-log-store-empathy.c
@@@ -27,10 -27,15 +27,17 @@@
  #include <string.h>
  #include <stdio.h>
  #include <stdlib.h>
+ 
+ /* FIXME: g_mapped_file_free has been deprecated in GLib 2.22, but the
+  * replacement symbol, g_mapped_file_unref is not available in older Glib
+  * and we're not ready to bump our version requirement just for this. When
+  * we're ready to bump our version requirement, just revert this patch. */
+ #undef G_DISABLE_DEPRECATED
  #include <glib/gstdio.h>
+ #define G_DISABLE_DEPRECATED
  
 +#include <telepathy-glib/util.h>
 +
  #include "empathy-log-store.h"
  #include "empathy-log-store-empathy.h"
  #include "empathy-log-manager.h"
diff --cc src/empathy.c
index 3d8fe6e,0754eb7..4e824bc
--- a/src/empathy.c
+++ b/src/empathy.c
@@@ -309,39 -322,66 +309,100 @@@ create_salut_account_if_needed (Empathy
  }
  
  static void
 +connection_managers_ready_cb (EmpathyConnectionManagers *managers,
 +	GParamSpec *spec, gpointer user_data)
 +{
 +	if (empathy_connection_managers_is_ready (managers))
 +		{
 +			create_salut_account_if_needed (managers);
 +			g_object_unref (managers);
 +			managers = NULL;
 +		}
 +}
 +
 +static void
 +create_salut_account (void)
 +{
 +	EmpathyConnectionManagers *managers;
 +
 +	if (!should_create_salut_account ())
 +		return;
 +
 +	managers = empathy_connection_managers_dup_singleton ();
 +
 +	if (empathy_connection_managers_is_ready (managers))
 +		{
 +			create_salut_account_if_needed (managers);
 +			g_object_unref (managers);
 +		}
 +	else
 +		{
 +			g_signal_connect (managers, "notify::ready",
 +				G_CALLBACK (connection_managers_ready_cb), NULL);
 +		}
 +}
 +
++static void
+ migrate_config_to_xdg_dir (void)
+ {
+ 	gchar *xdg_dir, *old_dir, *xdg_filename, *old_filename;
+ 	int i;
+ 	GFile *xdg_file, *old_file;
+ 	static const gchar* filenames[] = {
+ 		"geometry.ini",
+ 		"irc-networks.xml",
+ 		"chatrooms.xml",
+ 		"contact-groups.xml",
+ 		"status-presets.xml",
+ 		"accels.txt",
+ 		NULL
+ 	};
+ 
+ 	xdg_dir = g_build_filename (g_get_user_config_dir (), PACKAGE_NAME, NULL);
+ 	if (g_file_test (xdg_dir, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR)) {
+ 		/* xdg config dir already exists */
+ 		g_free (xdg_dir);
+ 		return;
+ 	}
+ 
+ 	old_dir = g_build_filename (g_get_home_dir (), ".gnome2", PACKAGE_NAME, NULL);
+ 	if (!g_file_test (old_dir, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR)) {
+ 		/* old config dir didn't exist */
+ 		g_free (xdg_dir);
+ 		g_free (old_dir);
+ 		return;
+ 	}
+ 
+ 	if (g_mkdir_with_parents (xdg_dir, (S_IRUSR | S_IWUSR | S_IXUSR)) == -1) {
+ 		DEBUG ("Failed to create configuration directory; aborting migration");
+ 		g_free (xdg_dir);
+ 		g_free (old_dir);
+ 		return;
+ 	}
+ 
+ 	for (i = 0; filenames[i]; i++) {
+ 		old_filename = g_build_filename (old_dir, filenames[i], NULL);
+ 		if (!g_file_test (old_filename, G_FILE_TEST_EXISTS)) {
+ 			g_free (old_filename);
+ 			continue;
+ 		}
+ 		xdg_filename = g_build_filename (xdg_dir, filenames[i], NULL);
+ 		old_file = g_file_new_for_path (old_filename);
+ 		xdg_file = g_file_new_for_path (xdg_filename);
+ 		if (!g_file_move (old_file, xdg_file, G_FILE_COPY_NONE,
+ 				  NULL, NULL, NULL, NULL)) {
+ 			DEBUG ("Failed to migrate %s", filenames[i]);
+ 		}
+ 		g_free (old_filename);
+ 		g_free (xdg_filename);
+ 		g_object_unref (old_file);
+ 		g_object_unref (xdg_file);
+ 	}
+ 
+ 	g_free (xdg_dir);
+ 	g_free (old_dir);
+ }
+ 
  /* The code that handles single-instance and startup notification is
   * copied from gedit.
   *
@@@ -662,14 -695,13 +723,16 @@@ main (int argc, char *argv[]
  	if (autoconnect && ! no_connect &&
  		tp_connection_presence_type_cmp_availability (empathy_idle_get_state
  			(idle), TP_CONNECTION_PRESENCE_TYPE_OFFLINE) <= 0) {
 -		empathy_idle_set_state (idle, MC_PRESENCE_AVAILABLE);
 +		empathy_idle_set_state (idle, TP_CONNECTION_PRESENCE_TYPE_AVAILABLE);
  	}
  
 +	/* account management */
 +	account_manager = empathy_account_manager_dup_singleton ();
 +	g_signal_connect (account_manager, "notify::ready",
 +		G_CALLBACK (account_manager_ready_cb), NULL);
  
+ 	migrate_config_to_xdg_dir ();
 -	create_salut_account ();
+ 
  	/* Setting up UI */
  	window = empathy_main_window_show ();
  	icon = empathy_status_icon_new (GTK_WINDOW (window), hide_contact_list);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]