From 06bf7c534fd270bfac0d20876f121cd8fd8cb9b8 Mon Sep 17 00:00:00 2001 From: Xavier Claessens Date: Wed, 20 Feb 2008 15:44:18 +0000 Subject: [PATCH] Add GUI to configure ICQ accounts. Fixes bug #513673 (Andreas Henriksson). svn path=/trunk/; revision=656 --- data/icq.profile | 2 +- .../empathy-account-widget-icq.glade | 258 ++++++++++++++++++ libempathy-gtk/empathy-account-widget.c | 33 +++ libempathy-gtk/empathy-account-widget.h | 1 + libempathy-gtk/empathy-accounts-dialog.c | 4 + 5 files changed, 297 insertions(+), 1 deletion(-) create mode 100644 libempathy-gtk/empathy-account-widget-icq.glade diff --git a/data/icq.profile b/data/icq.profile index c8776b52..0f4622e7 100644 --- a/data/icq.profile +++ b/data/icq.profile @@ -3,7 +3,7 @@ Manager=haze Protocol=icq IconName = im-icq DisplayName=ICQ -ConfigurationUI = haze +ConfigurationUI = icq Capabilities = chat-p2p, supports-alias, supports-avatars, supports-roster VCardDefault = 1 VCardField = X-ICQ diff --git a/libempathy-gtk/empathy-account-widget-icq.glade b/libempathy-gtk/empathy-account-widget-icq.glade new file mode 100644 index 00000000..0c0c114d --- /dev/null +++ b/libempathy-gtk/empathy-account-widget-icq.glade @@ -0,0 +1,258 @@ + + + + + + True + ICQ account settings + False + + + True + 6 + + + True + 2 + 3 + 12 + 6 + + + True + True + False + * + + + 1 + 2 + 1 + 2 + + + + + + True + True + * + + + 1 + 3 + + + + + + True + 0 + ICQ _UIN: + True + entry_uin + + + GTK_FILL + + + + + + True + True + Forget password and clear the entry. + 0 + + + True + gtk-clear + 1 + + + + + 2 + 3 + 1 + 2 + GTK_FILL + + + + + + True + 0 + Pass_word: + True + entry_password + + + 1 + 2 + GTK_FILL + + + + + + False + False + + + + + True + True + + + True + + + True + 1 + 2 + 12 + 6 + + + True + True + * + + + 1 + 2 + + + + + + True + 0 + _Charset: + True + entry_charset + + + GTK_FILL + + + + + + + + True + 0 + GTK_SHADOW_NONE + + + True + 12 + + + True + 2 + 2 + 6 + 6 + + + True + True + 5222 0 65556 1 10 10 + 1 + True + + + 1 + 2 + 1 + 2 + + + + + + True + True + * + + + 1 + 2 + + + + + + True + 0 + _Port: + True + spinbutton_port + + + 1 + 2 + GTK_FILL + + + + + + True + 0 + _Server: + True + entry_server + + + GTK_FILL + + + + + + + + + + True + <b>Override server settings</b> + True + + + label_item + + + + + 1 + + + + + + + True + <b>Advanced</b> + True + + + label_item + + + + + False + False + 1 + + + + + + diff --git a/libempathy-gtk/empathy-account-widget.c b/libempathy-gtk/empathy-account-widget.c index f161a678..b6521977 100644 --- a/libempathy-gtk/empathy-account-widget.c +++ b/libempathy-gtk/empathy-account-widget.c @@ -557,3 +557,36 @@ empathy_account_widget_jabber_new (McAccount *account) return widget; } +GtkWidget * +empathy_account_widget_icq_new (McAccount *account) +{ + GladeXML *glade; + GtkWidget *widget; + GtkWidget *spinbutton_port; + + glade = empathy_glade_get_file ("empathy-account-widget-icq.glade", + "vbox_icq_settings", + NULL, + "vbox_icq_settings", &widget, + "spinbutton_port", &spinbutton_port, + NULL); + + empathy_account_widget_handle_params (account, glade, + "entry_uin", "account", + "entry_password", "password", + "entry_server", "server", + "spinbutton_port", "port", + "entry_charset", "charset", + NULL); + + emapthy_account_widget_add_forget_button (account, glade, + "button_forget", + "entry_password"); + + g_object_unref (glade); + + gtk_widget_show (widget); + + return widget; +} + diff --git a/libempathy-gtk/empathy-account-widget.h b/libempathy-gtk/empathy-account-widget.h index 25a65c18..8ba36c85 100644 --- a/libempathy-gtk/empathy-account-widget.h +++ b/libempathy-gtk/empathy-account-widget.h @@ -44,6 +44,7 @@ GtkWidget *empathy_account_widget_generic_new (McAccount *account); GtkWidget *empathy_account_widget_salut_new (McAccount *account); GtkWidget *empathy_account_widget_msn_new (McAccount *account); GtkWidget *empathy_account_widget_jabber_new (McAccount *account); +GtkWidget *empathy_account_widget_icq_new (McAccount *account); G_END_DECLS diff --git a/libempathy-gtk/empathy-accounts-dialog.c b/libempathy-gtk/empathy-accounts-dialog.c index 83206337..2131c9f1 100644 --- a/libempathy-gtk/empathy-accounts-dialog.c +++ b/libempathy-gtk/empathy-accounts-dialog.c @@ -274,6 +274,10 @@ accounts_dialog_update_account (EmpathyAccountsDialog *dialog, dialog->settings_widget = empathy_account_widget_irc_new (account); } + else if (!tp_strdiff(config_ui, "icq")) { + dialog->settings_widget = + empathy_account_widget_icq_new (account); + } else { dialog->settings_widget = empathy_account_widget_generic_new (account); -- 2.39.2