[empathy/mc5] Remove the hardcode
- From: Sjoerd Simons <sjoerds src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [empathy/mc5] Remove the hardcode
- Date: Sat, 22 Aug 2009 18:53:23 +0000 (UTC)
commit 1ca4a9ee58260df26a03bc6565867b7958333f4c
Author: Arnaud Maillet <arnaud maillet collabora co uk>
Date: Tue Jul 28 15:07:53 2009 +0200
Remove the hardcode
src/empathy-accounts-dialog.c | 36 +++++++++++++-----------------------
1 files changed, 13 insertions(+), 23 deletions(-)
---
diff --git a/src/empathy-accounts-dialog.c b/src/empathy-accounts-dialog.c
index 391c42b..3532e97 100644
--- a/src/empathy-accounts-dialog.c
+++ b/src/empathy-accounts-dialog.c
@@ -134,34 +134,24 @@ accounts_dialog_update_name_label (EmpathyAccountsDialog *dialog,
static GtkWidget *
get_account_setup_widget (EmpathyAccountSettings *settings)
{
- const gchar *cm = empathy_account_settings_get_cm (settings);
const gchar *proto = empathy_account_settings_get_protocol (settings);
+ EmpathyConnectionManagers *cm =
+ empathy_connection_managers_dup_singleton ();
+ GList *cms = empathy_connection_managers_get_cms (cm);
+ GList *l;
- struct {
- const gchar *cm;
- const gchar *proto;
- } dialogs[] = {
- { "gabble", "jabber" },
- { "butterfly", "msn" },
- { "salut", "local-xmpp" },
- { "idle", "irc" },
- { "haze", "icq" },
- { "haze", "aim" },
- { "haze", "yahoo" },
- { "haze", "groupwise" },
- { "sofiasip", "sip" },
- { NULL, NULL }
- };
- int i;
-
- for (i = 0; dialogs[i].cm != NULL; i++)
+ for (l = cms; l; l = l->next)
{
- if (!tp_strdiff (cm, dialogs[i].cm)
- && !tp_strdiff (proto, dialogs[i].proto))
- return empathy_account_widget_new_for_protocol (dialogs[i].proto,
- settings);
+ TpConnectionManager *tp_cm = l->data;
+ if (tp_connection_manager_has_protocol (tp_cm, proto))
+ {
+ g_object_unref (cm);
+ return empathy_account_widget_new_for_protocol
+ (proto, settings);
+ }
}
+ g_object_unref (cm);
return empathy_account_widget_new_for_protocol ("generic", settings);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]