aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarco Barisione <marco.barisione@collabora.co.uk>2013-05-06 21:02:09 +0800
committerMarco Barisione <marco.barisione@collabora.co.uk>2013-08-20 18:03:05 +0800
commit88819ece017f0693803f33bb560e4d01140174c1 (patch)
treeeff64c70d25e3a59d13d74ecbb1099e6b6860890
parentdc5ad68355fa55261f24098d9be184a2c6f6f459 (diff)
downloadgsoc2013-empathy-88819ece017f0693803f33bb560e4d01140174c1.tar
gsoc2013-empathy-88819ece017f0693803f33bb560e4d01140174c1.tar.gz
gsoc2013-empathy-88819ece017f0693803f33bb560e4d01140174c1.tar.bz2
gsoc2013-empathy-88819ece017f0693803f33bb560e4d01140174c1.tar.lz
gsoc2013-empathy-88819ece017f0693803f33bb560e4d01140174c1.tar.xz
gsoc2013-empathy-88819ece017f0693803f33bb560e4d01140174c1.tar.zst
gsoc2013-empathy-88819ece017f0693803f33bb560e4d01140174c1.zip
tpaw-utils: move empathy_connect_new_account to tp-aw and rename it
This commit also changes the licence of the moved code (all copyrighted by Collabora Ltd.) from GPL to LGPL. https://bugzilla.gnome.org/show_bug.cgi?id=699492
-rw-r--r--libempathy-gtk/empathy-local-xmpp-assistant-widget.c3
-rw-r--r--libempathy/empathy-utils.c43
-rw-r--r--libempathy/empathy-utils.h3
-rw-r--r--src/empathy-accounts-dialog.c3
-rw-r--r--src/empathy-import-widget.c3
-rw-r--r--tp-account-widgets/tpaw-account-widget.c3
-rw-r--r--tp-account-widgets/tpaw-utils.c46
-rw-r--r--tp-account-widgets/tpaw-utils.h7
8 files changed, 59 insertions, 52 deletions
diff --git a/libempathy-gtk/empathy-local-xmpp-assistant-widget.c b/libempathy-gtk/empathy-local-xmpp-assistant-widget.c
index 04275282a..971ad5e96 100644
--- a/libempathy-gtk/empathy-local-xmpp-assistant-widget.c
+++ b/libempathy-gtk/empathy-local-xmpp-assistant-widget.c
@@ -23,6 +23,7 @@
#include <glib/gi18n-lib.h>
#include <tp-account-widgets/tpaw-account-widget.h>
+#include <tp-account-widgets/tpaw-utils.h>
#include "empathy-ui-utils.h"
#include "empathy-utils.h"
@@ -181,7 +182,7 @@ account_enabled_cb (GObject *source,
account_mgr = tp_account_manager_dup ();
- empathy_connect_new_account (account, account_mgr);
+ tpaw_connect_new_account (account, account_mgr);
g_object_unref (account_mgr);
}
diff --git a/libempathy/empathy-utils.c b/libempathy/empathy-utils.c
index 25624bf00..b06edeb01 100644
--- a/libempathy/empathy-utils.c
+++ b/libempathy/empathy-utils.c
@@ -564,49 +564,6 @@ empathy_account_manager_get_accounts_connected (gboolean *connecting)
return out_connected;
}
-/* Change the RequestedPresence of a newly created account to ensure that it
- * is actually connected. */
-void
-empathy_connect_new_account (TpAccount *account,
- TpAccountManager *account_manager)
-{
- TpConnectionPresenceType presence;
- gchar *status, *message;
-
- /* only force presence if presence was offline, unknown or unset */
- presence = tp_account_get_requested_presence (account, NULL, NULL);
- switch (presence)
- {
- case TP_CONNECTION_PRESENCE_TYPE_OFFLINE:
- case TP_CONNECTION_PRESENCE_TYPE_UNKNOWN:
- case TP_CONNECTION_PRESENCE_TYPE_UNSET:
- presence = tp_account_manager_get_most_available_presence (
- account_manager, &status, &message);
-
- if (presence == TP_CONNECTION_PRESENCE_TYPE_OFFLINE)
- /* Global presence is offline; we force it so user doesn't have to
- * manually change the presence to connect his new account. */
- presence = TP_CONNECTION_PRESENCE_TYPE_AVAILABLE;
-
- tp_account_request_presence_async (account, presence,
- status, NULL, NULL, NULL);
-
- g_free (status);
- g_free (message);
- break;
-
- case TP_CONNECTION_PRESENCE_TYPE_AVAILABLE:
- case TP_CONNECTION_PRESENCE_TYPE_AWAY:
- case TP_CONNECTION_PRESENCE_TYPE_EXTENDED_AWAY:
- case TP_CONNECTION_PRESENCE_TYPE_HIDDEN:
- case TP_CONNECTION_PRESENCE_TYPE_BUSY:
- case TP_CONNECTION_PRESENCE_TYPE_ERROR:
- default:
- /* do nothing if the presence is not offline */
- break;
- }
-}
-
/* Translate Folks' general presence type to the Tp presence type */
TpConnectionPresenceType
empathy_folks_presence_type_to_tp (FolksPresenceType type)
diff --git a/libempathy/empathy-utils.h b/libempathy/empathy-utils.h
index f002c41cd..1a86755c6 100644
--- a/libempathy/empathy-utils.h
+++ b/libempathy/empathy-utils.h
@@ -75,9 +75,6 @@ GType empathy_type_dbus_ao (void);
gboolean empathy_account_manager_get_accounts_connected (gboolean *connecting);
-void empathy_connect_new_account (TpAccount *account,
- TpAccountManager *account_manager);
-
TpConnectionPresenceType empathy_folks_presence_type_to_tp (
FolksPresenceType type);
gboolean empathy_folks_individual_contains_contact (
diff --git a/src/empathy-accounts-dialog.c b/src/empathy-accounts-dialog.c
index 409a9ce38..bf3934502 100644
--- a/src/empathy-accounts-dialog.c
+++ b/src/empathy-accounts-dialog.c
@@ -29,6 +29,7 @@
#include <glib/gi18n-lib.h>
#include <tp-account-widgets/tpaw-account-widget.h>
+#include <tp-account-widgets/tpaw-utils.h>
#include "empathy-accounts-common.h"
#include "empathy-import-dialog.h"
@@ -212,7 +213,7 @@ accounts_dialog_enable_account_cb (GObject *object,
{
am = tp_account_manager_dup ();
- empathy_connect_new_account (account, am);
+ tpaw_connect_new_account (account, am);
g_object_unref (am);
}
}
diff --git a/src/empathy-import-widget.c b/src/empathy-import-widget.c
index 0103b6a8f..400a00629 100644
--- a/src/empathy-import-widget.c
+++ b/src/empathy-import-widget.c
@@ -26,6 +26,7 @@
#include "empathy-import-widget.h"
#include <glib/gi18n-lib.h>
+#include <tp-account-widgets/tpaw-utils.h>
#include "empathy-ui-utils.h"
#include "empathy-utils.h"
@@ -169,7 +170,7 @@ import_widget_create_account_cb (GObject *source,
if (tp_account_is_enabled (account))
{
account_manager = tp_account_manager_dup ();
- empathy_connect_new_account (account, account_manager);
+ tpaw_connect_new_account (account, account_manager);
g_object_unref (account_manager);
}
diff --git a/tp-account-widgets/tpaw-account-widget.c b/tp-account-widgets/tpaw-account-widget.c
index fcde66f36..e2c8016a6 100644
--- a/tp-account-widgets/tpaw-account-widget.c
+++ b/tp-account-widgets/tpaw-account-widget.c
@@ -29,6 +29,7 @@
#include <glib/gi18n-lib.h>
#include <dbus/dbus-protocol.h>
+#include <tp-account-widgets/tpaw-utils.h>
#include "tpaw-account-widget-irc.h"
#include "tpaw-account-widget-private.h"
@@ -895,7 +896,7 @@ account_widget_account_enabled_cb (GObject *source_object,
}
else
{
- empathy_connect_new_account (account, self->priv->account_manager);
+ tpaw_connect_new_account (account, self->priv->account_manager);
}
g_signal_emit (self, signals[CLOSE], 0, GTK_RESPONSE_APPLY);
diff --git a/tp-account-widgets/tpaw-utils.c b/tp-account-widgets/tpaw-utils.c
index d8bebdac0..8570658c3 100644
--- a/tp-account-widgets/tpaw-utils.c
+++ b/tp-account-widgets/tpaw-utils.c
@@ -1,7 +1,8 @@
/*
- * Copyright (C) 2013 Collabora Ltd.
+ * Copyright (C) 2009-2013 Collabora Ltd.
*
* Authors: Marco Barisione <marco.barisione@collabora.co.uk>
+ * Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -23,3 +24,46 @@
#define DEBUG_FLAG EMPATHY_DEBUG_OTHER
#include "empathy-debug.h"
+
+/* Change the RequestedPresence of a newly created account to ensure that it
+ * is actually connected. */
+void
+tpaw_connect_new_account (TpAccount *account,
+ TpAccountManager *account_manager)
+{
+ TpConnectionPresenceType presence;
+ gchar *status, *message;
+
+ /* only force presence if presence was offline, unknown or unset */
+ presence = tp_account_get_requested_presence (account, NULL, NULL);
+ switch (presence)
+ {
+ case TP_CONNECTION_PRESENCE_TYPE_OFFLINE:
+ case TP_CONNECTION_PRESENCE_TYPE_UNKNOWN:
+ case TP_CONNECTION_PRESENCE_TYPE_UNSET:
+ presence = tp_account_manager_get_most_available_presence (
+ account_manager, &status, &message);
+
+ if (presence == TP_CONNECTION_PRESENCE_TYPE_OFFLINE)
+ /* Global presence is offline; we force it so user doesn't have to
+ * manually change the presence to connect his new account. */
+ presence = TP_CONNECTION_PRESENCE_TYPE_AVAILABLE;
+
+ tp_account_request_presence_async (account, presence,
+ status, NULL, NULL, NULL);
+
+ g_free (status);
+ g_free (message);
+ break;
+
+ case TP_CONNECTION_PRESENCE_TYPE_AVAILABLE:
+ case TP_CONNECTION_PRESENCE_TYPE_AWAY:
+ case TP_CONNECTION_PRESENCE_TYPE_EXTENDED_AWAY:
+ case TP_CONNECTION_PRESENCE_TYPE_HIDDEN:
+ case TP_CONNECTION_PRESENCE_TYPE_BUSY:
+ case TP_CONNECTION_PRESENCE_TYPE_ERROR:
+ default:
+ /* do nothing if the presence is not offline */
+ break;
+ }
+}
diff --git a/tp-account-widgets/tpaw-utils.h b/tp-account-widgets/tpaw-utils.h
index 8c5dc8cb1..55d83d506 100644
--- a/tp-account-widgets/tpaw-utils.h
+++ b/tp-account-widgets/tpaw-utils.h
@@ -1,7 +1,8 @@
/*
- * Copyright (C) 2013 Collabora Ltd.
+ * Copyright (C) 2009-2013 Collabora Ltd.
*
* Authors: Marco Barisione <marco.barisione@collabora.co.uk>
+ * Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -22,9 +23,13 @@
#define __TPAW_UTILS_H__
#include <glib.h>
+#include <telepathy-glib/telepathy-glib.h>
G_BEGIN_DECLS
+void tpaw_connect_new_account (TpAccount *account,
+ TpAccountManager *account_manager);
+
G_END_DECLS
#endif /* __TPAW_UTILS_H__ */