changeset 18017:e9475e67e277

propagate from branch 'im.pidgin.pidgin' (head 7fa526ccf77d3d2da927a55aa8115be7e1be184d) to branch 'im.pidgin.rlaager.merging.for_2_1_0' (head 732274030c41038a70db50927f8a4db4b30f6cdf)
author Richard Laager <rlaager@wiktel.com>
date Sun, 20 May 2007 14:57:39 +0000
parents 33da621d4b1f (current diff) afb25cb38e75 (diff)
children 2c10f77c2378
files ChangeLog libpurple/idle.c
diffstat 11 files changed, 143 insertions(+), 30 deletions(-) [+]
line wrap: on
line diff
--- a/COPYRIGHT	Sun May 20 14:55:19 2007 +0000
+++ b/COPYRIGHT	Sun May 20 14:57:39 2007 +0000
@@ -87,6 +87,7 @@
 Palmer Cox
 Jeramey Crawford
 Michael Culbertson
+Steven Danna
 Martijn Dekker
 Vinicius Depizzol
 Philip Derrin
--- a/ChangeLog	Sun May 20 14:55:19 2007 +0000
+++ b/ChangeLog	Sun May 20 14:57:39 2007 +0000
@@ -45,6 +45,15 @@
 	  conversation tabs (Ma Xuan)
 	* Fix IRC connection bug with dircproxy (xjoe)
 	* Ctrl+[shift]+tab focuses the next most active tab (William Thompson)
+	* Add a Google Talk item to the protocol list, to help users who think
+	  we don't support Google Talk.  The item acts just like "XMPP".
+	* Remember if the X server supports XScreenSaver, to avoid waking it
+	  every 5 seconds.  (Arjan van de Ven with Intel Corporation)
+	* Change our idle checking to poll only as necessary and raise the
+	  unidle timeout from 5 seconds to 60 when using XScreenSaver.  This
+	  and the XScreenSaver change will reduce Pidgin's effect on power
+	  consumption when running with NO_HZ.  (Arjan van de Ven with Intel
+	  Corporation)
 
 	Finch:
 	* Userlist in chat windows, which can be turned on or off using
--- a/finch/libgnt/Makefile.am	Sun May 20 14:55:19 2007 +0000
+++ b/finch/libgnt/Makefile.am	Sun May 20 14:57:39 2007 +0000
@@ -66,10 +66,10 @@
 
 gntmarshal.c: $(srcdir)/genmarshal gntmarshal.h
 	echo "#include \"gntmarshal.h\"" > $@
-	cat $(srcdir)/genmarshal | glib-genmarshal --prefix=gnt_closure_marshal --body >> $@
+	glib-genmarshal --prefix=gnt_closure_marshal --body $(srcdir)/genmarshal >> $@
 
 gntmarshal.h: $(srcdir)/genmarshal
-	cat $(srcdir)/genmarshal | glib-genmarshal --prefix=gnt_closure_marshal --header > $@
+	glib-genmarshal --prefix=gnt_closure_marshal --header $(srcdir)/genmarshal > $@
 
 libgnt_laincludedir=$(includedir)/gnt
 libgnt_lainclude_HEADERS = \
--- a/libpurple/idle.c	Sun May 20 14:55:19 2007 +0000
+++ b/libpurple/idle.c	Sun May 20 14:57:39 2007 +0000
@@ -197,8 +197,8 @@
 	}
 	else if (!no_away && time_idle < away_seconds)
 	{
+		no_away = 1;
 		purple_savedstatus_set_idleaway(FALSE);
-		no_away = 1;
 		if (time_until_next_idle_event == 0 || (away_seconds - time_idle) < time_until_next_idle_event)
 			time_until_next_idle_event = away_seconds - time_idle;
 	}
--- a/libpurple/plugins/perl/common/SavedStatuses.xs	Sun May 20 14:55:19 2007 +0000
+++ b/libpurple/plugins/perl/common/SavedStatuses.xs	Sun May 20 14:57:39 2007 +0000
@@ -1,41 +1,129 @@
 #include "module.h"
 
+/* I can't get this to work, both with and without the const on the return
+ * type I get errors from gcc. One way about ignoring types in a cast, and the
+ * other about assigning to read-only variables.
+const Purple::StatusType
+purple_savedstatus_substatus_get_type(substatus)
+	const Purple::SavedStatus::Sub substatus
+*/
+
 MODULE = Purple::SavedStatus  PACKAGE = Purple::SavedStatus  PREFIX = purple_savedstatus_
 PROTOTYPES: ENABLE
 
-gboolean
-purple_savedstatus_delete(title)
-	const char *title
-
-Purple::SavedStatus
-purple_savedstatus_find(title)
-	const char *title
-
-const char *
-purple_savedstatus_get_message(saved_status)
-	Purple::SavedStatus saved_status
-
-const char *
-purple_savedstatus_get_title(saved_status)
-	Purple::SavedStatus saved_status
-
-Purple::StatusPrimitive
-purple_savedstatus_get_type(saved_status)
-	Purple::SavedStatus saved_status
-
 Purple::SavedStatus
 purple_savedstatus_new(title, type)
 	const char *title
 	Purple::StatusPrimitive type
 
 void
+purple_savedstatus_set_title(status, title)
+	Purple::SavedStatus status
+	const char *title
+
+void
+purple_savedstatus_set_type(status, type)
+	Purple::SavedStatus status
+	Purple::StatusPrimitive type
+
+void
 purple_savedstatus_set_message(status, message)
 	Purple::SavedStatus status
 	const char *message
 
+void
+purple_savedstatus_set_substatus(status, account, type, message)
+	Purple::SavedStatus status
+	Purple::Account account
+	Purple::StatusType type
+	const char *message
+
+void
+purple_savedstatus_unset_substatus(status, account)
+	Purple::SavedStatus status
+	Purple::Account account
+
+gboolean
+purple_savedstatus_delete(title)
+	const char *title
+
 Purple::SavedStatus
 purple_savedstatus_get_current()
 
+Purple::SavedStatus
+purple_savedstatus_get_default()
+
+Purple::SavedStatus
+purple_savedstatus_get_idleaway()
+
+gboolean
+purple_savedstatus_is_idleaway()
+
+void
+purple_savedstatus_set_idleaway(idleaway)
+	gboolean idleaway
+
+Purple::SavedStatus
+purple_savedstatus_get_startup()
+
+Purple::SavedStatus
+purple_savedstatus_find(title)
+	const char *title
+
+Purple::SavedStatus
+purple_savedstatus_find_by_creation_time(creation_time)
+	time_t creation_time
+
+Purple::SavedStatus
+purple_savedstatus_find_transient_by_type_and_message(type, message)
+	Purple::StatusPrimitive type
+	const char *message
+
+gboolean
+purple_savedstatus_is_transient(saved_status)
+	const Purple::SavedStatus saved_status
+
+const char *
+purple_savedstatus_get_title(saved_status)
+	const Purple::SavedStatus saved_status
+
+Purple::StatusPrimitive
+purple_savedstatus_get_type(saved_status)
+	const Purple::SavedStatus saved_status
+
+const char *
+purple_savedstatus_get_message(saved_status)
+	const Purple::SavedStatus saved_status
+
+time_t
+purple_savedstatus_get_creation_time(saved_status)
+	const Purple::SavedStatus saved_status
+
+gboolean
+purple_savedstatus_has_substatuses(saved_status)
+	const Purple::SavedStatus saved_status
+
+Purple::SavedStatus::Sub
+purple_savedstatus_get_substatus(saved_status, account)
+	Purple::SavedStatus saved_status
+	Purple::Account account
+
+void
+purple_savedstatus_activate(saved_status)
+	Purple::SavedStatus saved_status
+
+void
+purple_savedstatus_activate_for_account(saved_status, account)
+	const Purple::SavedStatus saved_status
+	Purple::Account account
+
+MODULE = Purple::SavedStatus::Sub  PACKAGE = Purple::SavedStatus::Sub  PREFIX = purple_savedstatus_substatus_
+PROTOTYPES: ENABLE
+
+const char *
+purple_savedstatus_substatus_get_message(substatus)
+	const Purple::SavedStatus::Sub substatus
+
 MODULE = Purple::SavedStatus  PACKAGE = Purple::SavedStatuses  PREFIX = purple_savedstatuses_
 PROTOTYPES: ENABLE
 
@@ -48,6 +136,16 @@
 		XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::SavedStatus")));
 	}
 
+void
+purple_savedstatuses_get_popular(how_many)
+	unsigned int how_many
+PREINIT:
+	const GList *l;
+PPCODE:
+	for (l = purple_savedstatuses_get_popular(how_many); l != NULL; l = l->next) {
+		XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::SavedStatus")));
+	}
+
 Purple::Handle
 purple_savedstatuses_get_handle()
 
--- a/libpurple/plugins/perl/common/module.h	Sun May 20 14:55:19 2007 +0000
+++ b/libpurple/plugins/perl/common/module.h	Sun May 20 14:57:39 2007 +0000
@@ -236,7 +236,7 @@
 
 /* savedstatuses.h */
 typedef PurpleSavedStatus *		Purple__SavedStatus;
-typedef PurpleSavedStatusSub *		Purple__SavedStatusSub;
+typedef PurpleSavedStatusSub *		Purple__SavedStatus__Sub;
 
 /* sound.h */
 typedef PurpleSoundEventID		Purple__SoundEventID;
--- a/libpurple/plugins/perl/common/typemap	Sun May 20 14:55:19 2007 +0000
+++ b/libpurple/plugins/perl/common/typemap	Sun May 20 14:57:39 2007 +0000
@@ -137,7 +137,9 @@
 Purple::RoomlistRoomType			T_IV
 
 Purple::SavedStatus			T_PurpleObj
-Purple::SavedStatusSub			T_PurpleObj
+const Purple::SavedStatus			T_PurpleObj
+Purple::SavedStatus::Sub			T_PurpleObj
+const Purple::SavedStatus::Sub			T_PurpleObj
 Purple::SoundEventID			T_IV
 Purple::Sound::UiOps			T_PurpleObj
 
--- a/libpurple/protocols/gg/lib/pubdir50.c	Sun May 20 14:55:19 2007 +0000
+++ b/libpurple/protocols/gg/lib/pubdir50.c	Sun May 20 14:57:39 2007 +0000
@@ -347,7 +347,7 @@
 
 		/* jeśli dostaliśmy namier na następne wyniki, to znaczy że
 		 * mamy koniec wyników i nie jest to kolejna osoba. */
-		if (!g_ascii_strcasecmp(field, "nextstart")) {
+		if (!strcasecmp(field, "nextstart")) {
 			res->next = atoi(value);
 			num--;
 		} else {
@@ -390,7 +390,7 @@
 	}
 
 	for (i = 0; i < res->entries_count; i++) {
-		if (res->entries[i].num == num && !g_ascii_strcasecmp(res->entries[i].field, field)) {
+		if (res->entries[i].num == num && !strcasecmp(res->entries[i].field, field)) {
 			value = res->entries[i].value;
 			break;
 		}
--- a/libpurple/protocols/msn/msn.c	Sun May 20 14:55:19 2007 +0000
+++ b/libpurple/protocols/msn/msn.c	Sun May 20 14:57:39 2007 +0000
@@ -342,8 +342,10 @@
 
 	if (session->passport_info.file == NULL)
 	{
+		MsnCmdProc *cmdproc = session->notification->cmdproc;
 		purple_notify_error(gc, NULL,
 						  _("This Hotmail account may not be active."), NULL);
+		msn_cmdproc_send(cmdproc, "URL", "%s", "INBOX");
 		return;
 	}
 
--- a/libpurple/protocols/msn/notification.c	Sun May 20 14:55:19 2007 +0000
+++ b/libpurple/protocols/msn/notification.c	Sun May 20 14:57:39 2007 +0000
@@ -592,6 +592,10 @@
 qng_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd)
 {
 	static int count = 0;
+	MsnSession *session = cmdproc->session;
+
+	if (session->passport_info.file == NULL)
+		return;
 
 	if (count++ < 26)
 		return;
--- a/pidgin/plugins/pidginrc.c	Sun May 20 14:55:19 2007 +0000
+++ b/pidgin/plugins/pidginrc.c	Sun May 20 14:57:39 2007 +0000
@@ -45,15 +45,12 @@
 static GtkWidget *color_widgets[G_N_ELEMENTS(color_prefs)];
 
 static const char *widget_size_prefs[] = {
-	"/plugins/gtk/purplerc/size/GtkTreeView::expander_size",
 	"/plugins/gtk/purplerc/size/GtkTreeView::horizontal_separator"
 };
 static const char *widget_size_prefs_set[] = {
-	"/plugins/gtk/purplerc/set/size/GtkTreeView::expander_size",
 	"/plugins/gtk/purplerc/set/size/GtkTreeView::horizontal_separator"
 };
 static const char *widget_size_names[] = {
-	N_("GtkTreeView Expander Size"),
 	N_("GtkTreeView Horizontal Separation")
 };
 static GtkWidget *widget_size_widgets[G_N_ELEMENTS(widget_size_prefs)];