changeset 22778:1cd829a1d27e

disapproval of revision '38c3a1050aefc66e1c541e3d91ae6f7fe6930559'
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Wed, 30 Apr 2008 11:27:47 +0000
parents 087c3ed328d3
children 133798922e2d
files libpurple/protocols/msn/msn.c libpurple/protocols/msnp9/msn.c libpurple/protocols/myspace/myspace.c libpurple/prpl.h pidgin/gtkaccount.c
diffstat 5 files changed, 21 insertions(+), 73 deletions(-) [+]
line wrap: on
line diff
--- a/libpurple/protocols/msn/msn.c	Wed Apr 30 05:37:19 2008 +0000
+++ b/libpurple/protocols/msn/msn.c	Wed Apr 30 11:27:47 2008 +0000
@@ -132,16 +132,8 @@
 	return list;
 }
 
-static GHashTable *
-msn_get_account_text_table()
-{
-	GHashTable *table;
-	
-	table = g_hash_table_new(g_str_hash, g_str_equal);
-	
-	g_hash_table_insert(table, "login_label", (gpointer)_("E-mail Address..."));
-
-	return table;
+const char *msn_get_login_label() {
+	return _("E-mail Address...");
 }
 
 static PurpleCmdRet
@@ -2317,7 +2309,7 @@
 	NULL,					/* unregister_user */
 	msn_send_attention,                     /* send_attention */
 	msn_attention_types,                    /* attention_types */
-	msn_get_account_text_table			/* get_account_text_table */
+	msn_get_login_label			/* account_login_label */
 };
 
 static PurplePluginInfo info =
--- a/libpurple/protocols/msnp9/msn.c	Wed Apr 30 05:37:19 2008 +0000
+++ b/libpurple/protocols/msnp9/msn.c	Wed Apr 30 11:27:47 2008 +0000
@@ -133,16 +133,9 @@
 	return list;
 }
 
-static GHashTable *
-msn_get_account_text_table()
-{
-	GHashTable *table;
 
-	table = g_hash_table_new(g_str_hash, g_str_equal);
-
-	g_hash_table_insert(table, "login_label", (gpointer)_("E-mail Address..."));
-
-	return table;
+const char *msn_get_login_label() {
+	return _("E-mail Address...");
 }
 
 static PurpleCmdRet
@@ -2158,7 +2151,7 @@
 	NULL,					/* unregister_user */
 	msn_send_attention,                     /* send_attention */
 	msn_attention_types,                    /* attention_types */
-	msn_get_account_text_table			/* get_account_text_table */
+	msn_get_login_label			/* account_login_label */
 };
 
 static PurplePluginInfo info =
--- a/libpurple/protocols/myspace/myspace.c	Wed Apr 30 05:37:19 2008 +0000
+++ b/libpurple/protocols/myspace/myspace.c	Wed Apr 30 11:27:47 2008 +0000
@@ -2449,16 +2449,8 @@
 	return normalized;
 }
 
-static GHashTable *
-msim_get_account_text_table()
-{
-	GHashTable *table;
-
-	table = g_hash_table_new(g_str_hash, g_str_equal);
-
-	g_hash_table_insert(table, "login_label", (gpointer)_("E-mail Address..."));
-
-	return table;
+const char *msim_get_login_label() {
+	return _("E-mail Address...");
 }
 
 /** Return whether the buddy can be messaged while offline.
@@ -3143,7 +3135,7 @@
 	NULL,                  /* unregister_user */
 	msim_send_attention,   /* send_attention */
 	msim_attention_types,  /* attention_types */
-	msim_get_account_text_table /* get_account_text_table */
+	msim_get_login_label /* get screen name field title */
 };
 
 
--- a/libpurple/prpl.h	Wed Apr 30 05:37:19 2008 +0000
+++ b/libpurple/prpl.h	Wed Apr 30 11:27:47 2008 +0000
@@ -398,15 +398,11 @@
 	gboolean (*send_attention)(PurpleConnection *gc, const char *username, guint type);
 	GList *(*get_attention_types)(PurpleAccount *acct);
 
-	/** This allows protocols to specify additional strings to be used for
-	 * various purposes.  The idea is to stuff a bunch of strings in this hash
-	 * table instead of expanding the struct for every addition.  This hash
-	 * table is allocated every call and MUST be unrefed by the caller.
-	 *
-	 * @param account The account to specify.  This can be NULL.
-	 * @return The protocol's string hash table.
+	/* This allows protocols to specify a more specific term for the "ScreenName" field
+	 * in the add account window. This helps avoid confusion for users using protocols
+	 * such as MySpace or MSN
 	 */
-	GHashTable *(*get_account_text_table)(PurpleAccount *account);
+	const char *(*account_login_label)(void);
 };
 
 #define PURPLE_IS_PROTOCOL_PLUGIN(plugin) \
--- a/pidgin/gtkaccount.c	Wed Apr 30 05:37:19 2008 +0000
+++ b/pidgin/gtkaccount.c	Wed Apr 30 11:27:47 2008 +0000
@@ -258,19 +258,10 @@
 static gboolean
 screenname_focus_cb(GtkWidget *widget, GdkEventFocus *event, AccountPrefsDialog *dialog)
 {
-	GHashTable *table;
-	const char *label;
-	
-	table = dialog->prpl_info->get_account_text_table(NULL);
-	label = g_hash_table_lookup(table, "login_label");
-
-	if(!strcmp(gtk_entry_get_text(GTK_ENTRY(widget)), label)) {
-		gtk_entry_set_text(GTK_ENTRY(widget), "");
-		gtk_widget_modify_text(widget, GTK_STATE_NORMAL,NULL);
+	if (!strcmp(gtk_entry_get_text(GTK_ENTRY(widget)),dialog->prpl_info->account_login_label())) {
+		gtk_entry_set_text(GTK_ENTRY(widget),"");
+		gtk_widget_modify_text(widget,GTK_STATE_NORMAL,NULL);
 	}
-
-	g_hash_table_unref(table);
-
 	return FALSE;
 }
 
@@ -293,25 +284,16 @@
 screenname_nofocus_cb(GtkWidget *widget, GdkEventFocus *event, AccountPrefsDialog *dialog)
 {
 	GdkColor color = {0, 34952, 35466, 34181};
-	GHashTable *table;
-	const char *label;
-
-	table = dialog->prpl_info->get_account_text_table(NULL);
-	label = g_hash_table_lookup(table, "login_label");
-
 	if (*gtk_entry_get_text(GTK_ENTRY(widget)) == '\0') {
 		/* We have to avoid hitting the screenname_changed_cb function 
 		 * because it enables buttons we don't want enabled yet ;)
 		 */
 		g_signal_handlers_block_by_func(widget, G_CALLBACK(screenname_changed_cb), dialog);
-		gtk_entry_set_text(GTK_ENTRY(widget), label);
+		gtk_entry_set_text(GTK_ENTRY(widget),dialog->prpl_info->account_login_label());
 		/* Make sure we can hit it again */
 		g_signal_handlers_unblock_by_func(widget, G_CALLBACK(screenname_changed_cb), dialog);
-		gtk_widget_modify_text(widget, GTK_STATE_NORMAL, &color);
+		gtk_widget_modify_text(widget,GTK_STATE_NORMAL,&color);
 	}
-
-	g_hash_table_unref(table);
-
 	return FALSE;
 }
 
@@ -410,8 +392,6 @@
 	GList *l, *l2;
 	char *username = NULL;
 	GdkColor color = {0, 34952, 35466, 34181};
-	GHashTable *table;
-	const char *label;
 
 	if (dialog->protocol_menu != NULL)
 	{
@@ -458,18 +438,13 @@
 
 	add_pref_box(dialog, vbox, _("Screen _name:"), dialog->screenname_entry);
 
-	if (dialog->prpl_info->get_account_text_table) {
-		table = dialog->prpl_info->get_account_text_table(NULL);
-		label = g_hash_table_lookup(table, "login_label");
-
-		gtk_entry_set_text(GTK_ENTRY(dialog->screenname_entry), label);
+	if (dialog->prpl_info->account_login_label) {
+		gtk_entry_set_text(dialog->screenname_entry,dialog->prpl_info->account_login_label());
 		g_signal_connect(G_OBJECT(dialog->screenname_entry), "focus-in-event",
 						G_CALLBACK(screenname_focus_cb), dialog);
 		g_signal_connect(G_OBJECT(dialog->screenname_entry), "focus-out-event",
 						G_CALLBACK(screenname_nofocus_cb), dialog);
-		gtk_widget_modify_text(dialog->screenname_entry, GTK_STATE_NORMAL, &color);
-
-		g_hash_table_unref(table);
+		gtk_widget_modify_text(dialog->screenname_entry,GTK_STATE_NORMAL,&color);
 	}
 
 	g_signal_connect(G_OBJECT(dialog->screenname_entry), "changed",