changeset 15438:a415922e2882

merge of '8f5c72b9dbcf628f35e4674469f97b34f9c6fa2c' and 'e082ba7b9cfaf0fef0531d0fe9b54af7831f75df'
author Ethan Blanton <elb@pidgin.im>
date Sun, 28 Jan 2007 01:24:15 +0000
parents c9497aad9fc4 (diff) ea9ec8c3a3b8 (current diff)
children 8ff4af28c9f9 56a2a0bb290a
files pidgin/gaimstock.c pidgin/gaimstock.h pidgin/gtkconv.c pidgin/pixmaps/emotes/default/scalable/Makefile.am pidgin/pixmaps/emotes/default/scalable/Makefile.mingw pidgin/pixmaps/emotes/default/scalable/act-up.svg pidgin/pixmaps/emotes/default/scalable/airplane.svg pidgin/pixmaps/emotes/default/scalable/alien.svg pidgin/pixmaps/emotes/default/scalable/angel.svg pidgin/pixmaps/emotes/default/scalable/angry.svg pidgin/pixmaps/emotes/default/scalable/arrogant.svg pidgin/pixmaps/emotes/default/scalable/bad.svg pidgin/pixmaps/emotes/default/scalable/bashful.svg pidgin/pixmaps/emotes/default/scalable/beat-up.svg pidgin/pixmaps/emotes/default/scalable/beauty.svg pidgin/pixmaps/emotes/default/scalable/beer.svg pidgin/pixmaps/emotes/default/scalable/blowkiss.svg pidgin/pixmaps/emotes/default/scalable/bomb.svg pidgin/pixmaps/emotes/default/scalable/bowl.svg pidgin/pixmaps/emotes/default/scalable/boy.svg pidgin/pixmaps/emotes/default/scalable/brb.svg pidgin/pixmaps/emotes/default/scalable/bye.svg pidgin/pixmaps/emotes/default/scalable/cake.svg pidgin/pixmaps/emotes/default/scalable/camera.svg pidgin/pixmaps/emotes/default/scalable/can.svg pidgin/pixmaps/emotes/default/scalable/car.svg pidgin/pixmaps/emotes/default/scalable/cat.svg pidgin/pixmaps/emotes/default/scalable/chicken.svg pidgin/pixmaps/emotes/default/scalable/clap.svg pidgin/pixmaps/emotes/default/scalable/clock.svg pidgin/pixmaps/emotes/default/scalable/cloudy.svg pidgin/pixmaps/emotes/default/scalable/clover.svg pidgin/pixmaps/emotes/default/scalable/clown.svg pidgin/pixmaps/emotes/default/scalable/coffee.svg pidgin/pixmaps/emotes/default/scalable/coins.svg pidgin/pixmaps/emotes/default/scalable/computer.svg pidgin/pixmaps/emotes/default/scalable/confused.svg pidgin/pixmaps/emotes/default/scalable/console.svg pidgin/pixmaps/emotes/default/scalable/cow.svg pidgin/pixmaps/emotes/default/scalable/crying.svg pidgin/pixmaps/emotes/default/scalable/curl-lip.svg pidgin/pixmaps/emotes/default/scalable/curse.svg pidgin/pixmaps/emotes/default/scalable/cute.svg pidgin/pixmaps/emotes/default/scalable/dance.svg pidgin/pixmaps/emotes/default/scalable/dazed.svg pidgin/pixmaps/emotes/default/scalable/desire.svg pidgin/pixmaps/emotes/default/scalable/devil.svg pidgin/pixmaps/emotes/default/scalable/disapointed.svg pidgin/pixmaps/emotes/default/scalable/disdain.svg pidgin/pixmaps/emotes/default/scalable/doctor.svg pidgin/pixmaps/emotes/default/scalable/dog.svg pidgin/pixmaps/emotes/default/scalable/doh.svg pidgin/pixmaps/emotes/default/scalable/dont-know.svg pidgin/pixmaps/emotes/default/scalable/drink.svg pidgin/pixmaps/emotes/default/scalable/drool.svg pidgin/pixmaps/emotes/default/scalable/eat.svg pidgin/pixmaps/emotes/default/scalable/embarrassed.svg pidgin/pixmaps/emotes/default/scalable/excruciating.svg pidgin/pixmaps/emotes/default/scalable/eyeroll.svg pidgin/pixmaps/emotes/default/scalable/film.svg pidgin/pixmaps/emotes/default/scalable/fingers-crossed.svg pidgin/pixmaps/emotes/default/scalable/flag.svg pidgin/pixmaps/emotes/default/scalable/foot-in-mouth.svg pidgin/pixmaps/emotes/default/scalable/freaked-out.svg pidgin/pixmaps/emotes/default/scalable/ghost.svg pidgin/pixmaps/emotes/default/scalable/girl.svg pidgin/pixmaps/emotes/default/scalable/glasses-cool.svg pidgin/pixmaps/emotes/default/scalable/glasses-nerdy.svg pidgin/pixmaps/emotes/default/scalable/go-away.svg pidgin/pixmaps/emotes/default/scalable/good.svg pidgin/pixmaps/emotes/default/scalable/hammer.svg pidgin/pixmaps/emotes/default/scalable/handcuffs.svg pidgin/pixmaps/emotes/default/scalable/handshake.svg pidgin/pixmaps/emotes/default/scalable/highfive.svg pidgin/pixmaps/emotes/default/scalable/hug-left.svg pidgin/pixmaps/emotes/default/scalable/hug-right.svg pidgin/pixmaps/emotes/default/scalable/hypnotized.svg pidgin/pixmaps/emotes/default/scalable/in-love.svg pidgin/pixmaps/emotes/default/scalable/island.svg pidgin/pixmaps/emotes/default/scalable/jump.svg pidgin/pixmaps/emotes/default/scalable/knife.svg pidgin/pixmaps/emotes/default/scalable/lamp.svg pidgin/pixmaps/emotes/default/scalable/lashes.svg pidgin/pixmaps/emotes/default/scalable/laugh.svg pidgin/pixmaps/emotes/default/scalable/liquor.svg pidgin/pixmaps/emotes/default/scalable/love-over.svg pidgin/pixmaps/emotes/default/scalable/love.svg pidgin/pixmaps/emotes/default/scalable/lying.svg pidgin/pixmaps/emotes/default/scalable/mail.svg pidgin/pixmaps/emotes/default/scalable/mean.svg pidgin/pixmaps/emotes/default/scalable/meeting.svg pidgin/pixmaps/emotes/default/scalable/mobile.svg pidgin/pixmaps/emotes/default/scalable/moneymouth.svg pidgin/pixmaps/emotes/default/scalable/monkey.svg pidgin/pixmaps/emotes/default/scalable/moon.svg pidgin/pixmaps/emotes/default/scalable/msn-away.svg pidgin/pixmaps/emotes/default/scalable/msn-busy.svg pidgin/pixmaps/emotes/default/scalable/msn.svg pidgin/pixmaps/emotes/default/scalable/msn_online.svg pidgin/pixmaps/emotes/default/scalable/musical-note.svg pidgin/pixmaps/emotes/default/scalable/neutral.svg pidgin/pixmaps/emotes/default/scalable/party.svg pidgin/pixmaps/emotes/default/scalable/peace.svg pidgin/pixmaps/emotes/default/scalable/phone.svg pidgin/pixmaps/emotes/default/scalable/pig.svg pidgin/pixmaps/emotes/default/scalable/pill.svg pidgin/pixmaps/emotes/default/scalable/pissed-off.svg pidgin/pixmaps/emotes/default/scalable/pizza.svg pidgin/pixmaps/emotes/default/scalable/plate.svg pidgin/pixmaps/emotes/default/scalable/poop.svg pidgin/pixmaps/emotes/default/scalable/pray.svg pidgin/pixmaps/emotes/default/scalable/present.svg pidgin/pixmaps/emotes/default/scalable/question.svg pidgin/pixmaps/emotes/default/scalable/quiet.svg pidgin/pixmaps/emotes/default/scalable/rain.svg pidgin/pixmaps/emotes/default/scalable/rainbow.svg pidgin/pixmaps/emotes/default/scalable/rose-dead.svg pidgin/pixmaps/emotes/default/scalable/rose.svg pidgin/pixmaps/emotes/default/scalable/sad.svg pidgin/pixmaps/emotes/default/scalable/sarcastic.svg pidgin/pixmaps/emotes/default/scalable/search.svg pidgin/pixmaps/emotes/default/scalable/secret.svg pidgin/pixmaps/emotes/default/scalable/shame.svg pidgin/pixmaps/emotes/default/scalable/sheep.svg pidgin/pixmaps/emotes/default/scalable/shock.svg pidgin/pixmaps/emotes/default/scalable/shut-mouth.svg pidgin/pixmaps/emotes/default/scalable/sick.svg pidgin/pixmaps/emotes/default/scalable/sigarette.svg pidgin/pixmaps/emotes/default/scalable/silly.svg pidgin/pixmaps/emotes/default/scalable/skeleton.svg pidgin/pixmaps/emotes/default/scalable/sleepy.svg pidgin/pixmaps/emotes/default/scalable/smile-big.svg pidgin/pixmaps/emotes/default/scalable/smile.svg pidgin/pixmaps/emotes/default/scalable/smirk.svg pidgin/pixmaps/emotes/default/scalable/snail.svg pidgin/pixmaps/emotes/default/scalable/snicker.svg pidgin/pixmaps/emotes/default/scalable/snowman.svg pidgin/pixmaps/emotes/default/scalable/soccerball.svg pidgin/pixmaps/emotes/default/scalable/soldier.svg pidgin/pixmaps/emotes/default/scalable/star.svg pidgin/pixmaps/emotes/default/scalable/starving.svg pidgin/pixmaps/emotes/default/scalable/struggle.svg pidgin/pixmaps/emotes/default/scalable/sun.svg pidgin/pixmaps/emotes/default/scalable/sweat.svg pidgin/pixmaps/emotes/default/scalable/teeth.svg pidgin/pixmaps/emotes/default/scalable/terror.svg pidgin/pixmaps/emotes/default/scalable/thinking.svg pidgin/pixmaps/emotes/default/scalable/thunder.svg pidgin/pixmaps/emotes/default/scalable/tongue.svg pidgin/pixmaps/emotes/default/scalable/tremble.svg pidgin/pixmaps/emotes/default/scalable/turtle.svg pidgin/pixmaps/emotes/default/scalable/tv.svg pidgin/pixmaps/emotes/default/scalable/umbrella.svg pidgin/pixmaps/emotes/default/scalable/vampire.svg pidgin/pixmaps/emotes/default/scalable/victory.svg pidgin/pixmaps/emotes/default/scalable/watermelon.svg pidgin/pixmaps/emotes/default/scalable/weep.svg pidgin/pixmaps/emotes/default/scalable/wilt.svg pidgin/pixmaps/emotes/default/scalable/wink.svg pidgin/pixmaps/emotes/default/scalable/yawn.svg pidgin/pixmaps/emotes/default/scalable/yin-yang.svg pidgin/pixmaps/gaim_auth.png pidgin/pixmaps/gaim_cool.png pidgin/pixmaps/gaim_error.png pidgin/pixmaps/gaim_info.png pidgin/pixmaps/gaim_question.png pidgin/pixmaps/gaim_warning.png
diffstat 6 files changed, 48 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/console/libgnt/gntmain.c	Sat Jan 27 11:48:43 2007 +0000
+++ b/console/libgnt/gntmain.c	Sun Jan 28 01:24:15 2007 +0000
@@ -211,9 +211,9 @@
 	int result;
 	channel = g_io_channel_unix_new(STDIN_FILENO);
 
+#if 0
 	g_io_channel_set_encoding(channel, NULL, NULL);
 	g_io_channel_set_buffered(channel, FALSE);
-#if 0
 	g_io_channel_set_flags(channel, G_IO_FLAG_NONBLOCK, NULL );
 #endif
 
@@ -303,9 +303,9 @@
 	if (channel)
 		return;
 	
-	setup_io();
+	locale = setlocale(LC_ALL, "");
 
-	locale = setlocale(LC_ALL, "");
+	setup_io();
 
 	if (locale && (strstr(locale, "UTF") || strstr(locale, "utf")))
 		ascii_only = FALSE;
--- a/pidgin/gaimstock.c	Sat Jan 27 11:48:43 2007 +0000
+++ b/pidgin/gaimstock.c	Sun Jan 28 01:24:15 2007 +0000
@@ -46,6 +46,7 @@
 #endif
 	{ GAIM_STOCK_BGCOLOR,         "buttons", "change-bgcolor-small.png" },
 	{ GAIM_STOCK_BLOCK,           NULL,      GTK_STOCK_STOP             },
+	{ GAIM_STOCK_UNBLOCK,         NULL,      GTK_STOCK_STOP /* XXX: */  },
 	{ GAIM_STOCK_CHAT,            NULL,      GTK_STOCK_JUMP_TO          },
 	{ GAIM_STOCK_CLEAR,           NULL,      GTK_STOCK_CLEAR            },
 	{ GAIM_STOCK_CLOSE_TABS,      NULL,      GTK_STOCK_CLOSE            },
--- a/pidgin/gaimstock.h	Sat Jan 27 11:48:43 2007 +0000
+++ b/pidgin/gaimstock.h	Sun Jan 28 01:24:15 2007 +0000
@@ -38,6 +38,7 @@
 #define GAIM_STOCK_AWAY            "gaim-away"
 #define GAIM_STOCK_BGCOLOR         "gaim-bgcolor"
 #define GAIM_STOCK_BLOCK           "gaim-block"
+#define GAIM_STOCK_UNBLOCK         "gaim-unblock"
 #define GAIM_STOCK_CHAT            "gaim-chat"
 #define GAIM_STOCK_CLEAR           "gaim-clear"
 #define GAIM_STOCK_CLOSE_TABS      "gaim-close-tab"
--- a/pidgin/gtkconv.c	Sat Jan 27 11:48:43 2007 +0000
+++ b/pidgin/gtkconv.c	Sun Jan 28 01:24:15 2007 +0000
@@ -712,6 +712,20 @@
 }
 
 static void
+unblock_cb(GtkWidget *widget, GaimGtkConversation *gtkconv)
+{
+	GaimConversation *conv = gtkconv->active_conv;
+	GaimAccount *account;
+
+	account = gaim_conversation_get_account(conv);
+
+	if (account != NULL && gaim_account_is_connected(account))
+		gaim_gtk_request_add_permit(account, gaim_conversation_get_name(conv));
+
+	gtk_widget_grab_focus(GAIM_GTK_CONVERSATION(conv)->entry);
+}
+
+static void
 do_invite(GtkWidget *w, int resp, InviteBuddyInfo *info)
 {
 	const char *buddy, *message;
@@ -1297,6 +1311,17 @@
 }
 
 static void
+menu_unblock_cb(gpointer data, guint action, GtkWidget *widget)
+{
+	GaimGtkWindow *win = data;
+	GaimConversation *conv;
+
+	conv = gaim_gtk_conv_window_get_active_conversation(win);
+
+	unblock_cb(NULL, GAIM_GTK_CONVERSATION(conv));
+}
+
+static void
 menu_add_remove_cb(gpointer data, guint action, GtkWidget *widget)
 {
 	GaimGtkWindow *win = data;
@@ -2735,6 +2760,8 @@
 			"<StockItem>", GAIM_STOCK_EDIT },
 	{ N_("/Conversation/_Block..."), NULL, menu_block_cb, 0,
 			"<StockItem>", GAIM_STOCK_BLOCK },
+	{ N_("/Conversation/_Unblock..."), NULL, menu_unblock_cb, 0,
+			"<StockItem>", GAIM_STOCK_UNBLOCK },
 	{ N_("/Conversation/_Add..."), NULL, menu_add_remove_cb, 0,
 			"<StockItem>", GTK_STOCK_ADD },
 	{ N_("/Conversation/_Remove..."), NULL, menu_add_remove_cb, 0,
@@ -2951,6 +2978,10 @@
 		gtk_item_factory_get_widget(win->menu.item_factory,
 		                            N_("/Conversation/Block..."));
 
+	win->menu.unblock = 
+		gtk_item_factory_get_widget(win->menu.item_factory,
+					    N_("/Conversation/Unblock..."));
+	
 	win->menu.add =
 		gtk_item_factory_get_widget(win->menu.item_factory,
 		                            N_("/Conversation/Add..."));
@@ -5627,7 +5658,13 @@
 		gtk_widget_show(win->menu.get_info);
 		gtk_widget_hide(win->menu.invite);
 		gtk_widget_show(win->menu.alias);
-		gtk_widget_show(win->menu.block);
+ 		if (gaim_privacy_check(account, gaim_conversation_get_name(conv))) {
+ 			gtk_widget_hide(win->menu.unblock);
+ 			gtk_widget_show(win->menu.block);
+ 		} else {
+ 			gtk_widget_hide(win->menu.block);
+ 			gtk_widget_show(win->menu.unblock);
+ 		}
 
 		if ((account == NULL) || gaim_find_buddy(account, gaim_conversation_get_name(conv)) == NULL) {
 			gtk_widget_show(win->menu.add);
@@ -6574,10 +6611,9 @@
 	GaimConversation *conv;
 
 	gtkconv = get_gtkconv_with_contact(gaim_buddy_get_contact(buddy));
-	if (gtkconv)
-	{
+	if (gtkconv) {
 		conv = gtkconv->active_conv;
-		gaim_gtkconv_update_fields(conv, GAIM_GTKCONV_TAB_ICON);
+		gaim_gtkconv_update_fields(conv, GAIM_GTKCONV_TAB_ICON | GAIM_GTKCONV_MENU);
 	}
 }
 
--- a/pidgin/gtkconvwin.h	Sat Jan 27 11:48:43 2007 +0000
+++ b/pidgin/gtkconvwin.h	Sun Jan 28 01:24:15 2007 +0000
@@ -56,6 +56,7 @@
 
 		GtkWidget *alias;
 		GtkWidget *block;
+		GtkWidget *unblock;
 		GtkWidget *add;
 		GtkWidget *remove;
 
--- a/pidgin/gtkprivacy.c	Sat Jan 27 11:48:43 2007 +0000
+++ b/pidgin/gtkprivacy.c	Sun Jan 28 01:24:15 2007 +0000
@@ -529,9 +529,9 @@
 confirm_permit_block_cb(GaimGtkPrivacyRequestData *data, int option)
 {
 	if (data->block)
-		gaim_privacy_deny_add(data->account, data->name, FALSE);
+		gaim_privacy_deny(data->account, data->name, FALSE, FALSE);
 	else
-		gaim_privacy_permit_add(data->account, data->name, FALSE);
+		gaim_privacy_allow(data->account, data->name, FALSE, FALSE);
 
 	destroy_request_data(data);
 }