changeset 27993:429fce11f244

merge of '5a2bb37da0d5add24e122a13a827437ecae61ad3' and 'c50b70f39d25c72517b6b9125278c4446137057a'
author Etan Reisner <pidgin@unreliablesource.net>
date Tue, 21 Jul 2009 23:45:49 +0000
parents 3fc434ac0c57 (current diff) 22dd196b9a0c (diff)
children c43c87965db9
files libpurple/blist.c pidgin/gtkblist.c pidgin/gtkconv.c pidgin/pixmaps/dialogs/64/scalable/auth.svg pidgin/pixmaps/dialogs/64/scalable/cool.svg pidgin/pixmaps/dialogs/64/scalable/dialog.svg pidgin/pixmaps/dialogs/64/scalable/error.svg pidgin/pixmaps/dialogs/64/scalable/info.svg pidgin/pixmaps/dialogs/64/scalable/mail.svg pidgin/pixmaps/dialogs/64/scalable/question.svg pidgin/pixmaps/dialogs/64/scalable/warning.svg pidgin/pixmaps/emblems/16/scalable/aol-client.svg pidgin/pixmaps/emblems/16/scalable/birthday.svg pidgin/pixmaps/emblems/16/scalable/blocked.svg pidgin/pixmaps/emblems/16/scalable/bot.svg pidgin/pixmaps/emblems/16/scalable/external.svg pidgin/pixmaps/emblems/16/scalable/female.svg pidgin/pixmaps/emblems/16/scalable/free-for-chat.svg pidgin/pixmaps/emblems/16/scalable/game.svg pidgin/pixmaps/emblems/16/scalable/male.svg pidgin/pixmaps/emblems/16/scalable/mobile.svg pidgin/pixmaps/emblems/16/scalable/music.svg pidgin/pixmaps/emblems/16/scalable/not-authorized.svg pidgin/pixmaps/emblems/16/scalable/qq-member.svg pidgin/pixmaps/emblems/16/scalable/secure.svg pidgin/pixmaps/emblems/16/scalable/unavailable.svg pidgin/pixmaps/emblems/16/scalable/video.svg pidgin/pixmaps/emblems/16/scalable/voice.svg pidgin/pixmaps/icons/hicolor/48x48/apps/scalable/pidgin.svg pidgin/pixmaps/protocols/48/scalable/aim.svg pidgin/pixmaps/protocols/48/scalable/bonjour.svg pidgin/pixmaps/protocols/48/scalable/gadu-gadu.svg pidgin/pixmaps/protocols/48/scalable/google-talk.svg pidgin/pixmaps/protocols/48/scalable/icq.svg pidgin/pixmaps/protocols/48/scalable/irc.svg pidgin/pixmaps/protocols/48/scalable/jabber.svg pidgin/pixmaps/protocols/48/scalable/meanwhile.svg pidgin/pixmaps/protocols/48/scalable/msn.svg pidgin/pixmaps/protocols/48/scalable/novell.svg pidgin/pixmaps/protocols/48/scalable/qq.svg pidgin/pixmaps/protocols/48/scalable/silc.svg pidgin/pixmaps/protocols/48/scalable/simple.svg pidgin/pixmaps/protocols/48/scalable/yahoo.svg pidgin/pixmaps/protocols/48/scalable/zephyr.svg
diffstat 4 files changed, 38 insertions(+), 29 deletions(-) [+]
line wrap: on
line diff
--- a/libpurple/blist.c	Tue Jul 21 17:10:29 2009 +0000
+++ b/libpurple/blist.c	Tue Jul 21 23:45:49 2009 +0000
@@ -1299,8 +1299,8 @@
 	PurpleBlistUiOps *ops = purple_blist_get_ui_ops();
 	PurpleChat *chat;
 
-	g_return_val_if_fail(account != NULL, FALSE);
-	g_return_val_if_fail(components != NULL, FALSE);
+	g_return_val_if_fail(account != NULL, NULL);
+	g_return_val_if_fail(components != NULL, NULL);
 
 	chat = g_new0(PurpleChat, 1);
 	chat->account = account;
--- a/libpurple/win32/targets.mak	Tue Jul 21 17:10:29 2009 +0000
+++ b/libpurple/win32/targets.mak	Tue Jul 21 23:45:49 2009 +0000
@@ -36,7 +36,7 @@
 $(PIDGIN_INSTALL_DIR):
 	mkdir -p $(PIDGIN_INSTALL_DIR)
 
-$(PIDGIN_INSTALL_PERLMOD_DIR):
+$(PIDGIN_INSTALL_PERL_DIR):
 	mkdir -p $(PIDGIN_INSTALL_PERL_DIR)
 
 $(PIDGIN_INSTALL_PLUGINS_DIR):
--- a/pidgin/gtkblist.c	Tue Jul 21 17:10:29 2009 +0000
+++ b/pidgin/gtkblist.c	Tue Jul 21 23:45:49 2009 +0000
@@ -6980,12 +6980,9 @@
 static void
 add_chat_cb(GtkWidget *w, PidginAddChatData *data)
 {
-	GHashTable *components;
 	GList *tmp;
 	PurpleChat *chat;
-	PurpleGroup *group;
-	const char *group_name;
-	const char *value;
+	GHashTable *components;
 
 	components = g_hash_table_new_full(g_str_hash, g_str_equal,
 									   g_free, g_free);
@@ -7001,7 +6998,8 @@
 		}
 		else
 		{
-			value = gtk_entry_get_text(tmp->data);
+			const char *value = gtk_entry_get_text(tmp->data);
+
 			if (*value != '\0')
 				g_hash_table_replace(components,
 						g_strdup(g_object_get_data(tmp->data, "identifier")),
@@ -7010,28 +7008,31 @@
 	}
 
 	chat = purple_chat_new(data->chat_data.rq_data.account,
-							   gtk_entry_get_text(GTK_ENTRY(data->alias_entry)),
-							   components);
-
-	group_name = pidgin_text_combo_box_entry_get_text(data->group_combo);
-
-	group = NULL;
-	if ((group_name != NULL) && (*group_name != '\0') && ((group = purple_find_group(group_name)) == NULL))
-	{
-		group = purple_group_new(group_name);
-		purple_blist_add_group(group, NULL);
-	}
-
-	if (chat != NULL)
-	{
+	                       gtk_entry_get_text(GTK_ENTRY(data->alias_entry)),
+	                       components);
+
+	if (chat != NULL) {
+		PurpleGroup *group;
+		const char *group_name;
+
+		group_name = pidgin_text_combo_box_entry_get_text(data->group_combo);
+
+		group = NULL;
+		if ((group_name != NULL) && (*group_name != '\0') &&
+		    ((group = purple_find_group(group_name)) == NULL))
+		{
+			group = purple_group_new(group_name);
+			purple_blist_add_group(group, NULL);
+		}
+
 		purple_blist_add_chat(chat, group, NULL);
-	}
-
-	if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->autojoin)))
-		purple_blist_node_set_bool((PurpleBlistNode*)chat, "gtk-autojoin", TRUE);
-
-	if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->persistent)))
-		purple_blist_node_set_bool((PurpleBlistNode*)chat, "gtk-persistent", TRUE);
+
+		if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->autojoin)))
+			purple_blist_node_set_bool((PurpleBlistNode*)chat, "gtk-autojoin", TRUE);
+
+		if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->persistent)))
+			purple_blist_node_set_bool((PurpleBlistNode*)chat, "gtk-persistent", TRUE);
+	}
 
 	gtk_widget_destroy(data->chat_data.rq_data.window);
 	g_free(data->chat_data.default_chat_name);
--- a/pidgin/gtkconv.c	Tue Jul 21 17:10:29 2009 +0000
+++ b/pidgin/gtkconv.c	Tue Jul 21 23:45:49 2009 +0000
@@ -959,6 +959,12 @@
 }
 
 static void
+menu_join_chat_cb(gpointer data, guint action, GtkWidget *widget)
+{
+	pidgin_blist_joinchat_show();
+}
+
+static void
 savelog_writefile_cb(void *user_data, const char *filename)
 {
 	PurpleConversation *conv = (PurpleConversation *)user_data;
@@ -3133,6 +3139,8 @@
 
 	{ N_("/Conversation/New Instant _Message..."), "<CTL>M", menu_new_conv_cb,
 			0, "<StockItem>", PIDGIN_STOCK_TOOLBAR_MESSAGE_NEW },
+	{ N_("/Conversation/Join a _Chat..."), "<CTL>C", menu_join_chat_cb,
+			0, "<StockItem>", PIDGIN_STOCK_CHAT },
 
 	{ "/Conversation/sep0", NULL, NULL, 0, "<Separator>", NULL },