You can subscribe to this list here.
| 2001 | Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep (106) | Oct (334) | Nov (246) | Dec (145) | 
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2002 | Jan (42) | Feb (53) | Mar (232) | Apr (109) | May (137) | Jun (63) | Jul (26) | Aug (263) | Sep (193) | Oct (507) | Nov (440) | Dec (241) | 
| 2003 | Jan (567) | Feb (195) | Mar (504) | Apr (481) | May (524) | Jun (522) | Jul (594) | Aug (502) | Sep (643) | Oct (508) | Nov (430) | Dec (377) | 
| 2004 | Jan (361) | Feb (251) | Mar (219) | Apr (499) | May (461) | Jun (419) | Jul (314) | Aug (519) | Sep (416) | Oct (247) | Nov (305) | Dec (382) | 
| 2005 | Jan (267) | Feb (282) | Mar (327) | Apr (338) | May (189) | Jun (400) | Jul (462) | Aug (530) | Sep (316) | Oct (523) | Nov (481) | Dec (650) | 
| 2006 | Jan (536) | Feb (361) | Mar (287) | Apr (146) | May (101) | Jun (169) | Jul (221) | Aug (498) | Sep (300) | Oct (236) | Nov (209) | Dec (205) | 
| 2007 | Jan (30) | Feb (23) | Mar (26) | Apr (15) | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec | 
| 
      
      
      From: <the...@us...> - 2006-09-03 23:30:12
      
     | 
| Revision: 17147
          http://svn.sourceforge.net/gaim/?rev=17147&view=rev
Author:   thekingant
Date:     2006-09-03 16:30:06 -0700 (Sun, 03 Sep 2006)
Log Message:
-----------
Get rid of an assertion failure.  As far as I can tell there
is no benefit to calling got_sessionreq() if context is NULL
Modified Paths:
--------------
    trunk/libgaim/protocols/msn/slp.c
Modified: trunk/libgaim/protocols/msn/slp.c
===================================================================
--- trunk/libgaim/protocols/msn/slp.c	2006-09-03 21:42:52 UTC (rev 17146)
+++ trunk/libgaim/protocols/msn/slp.c	2006-09-03 23:30:06 UTC (rev 17147)
@@ -422,7 +422,8 @@
 
 		context = get_token(content, "Context: ", "\r\n");
 
-		got_sessionreq(slpcall, branch, euf_guid, context);
+		if (context != NULL)
+			got_sessionreq(slpcall, branch, euf_guid, context);
 
 		g_free(context);
 		g_free(euf_guid);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <sa...@us...> - 2006-09-03 21:43:12
      
     | 
| Revision: 17146
          http://svn.sourceforge.net/gaim/?rev=17146&view=rev
Author:   sadrul
Date:     2006-09-03 14:42:52 -0700 (Sun, 03 Sep 2006)
Log Message:
-----------
This will get rid of the compile warnings about redefining DEBUG.
I thought about #undef-ing it first. But rekkanoryo suggested renaming
to GNTDEBUG, which makes a lot more sense.
Modified Paths:
--------------
    trunk/console/libgnt/gnt-skel.c
    trunk/console/libgnt/gntbox.c
    trunk/console/libgnt/gntbutton.c
    trunk/console/libgnt/gntcheckbox.c
    trunk/console/libgnt/gntcombobox.c
    trunk/console/libgnt/gntentry.c
    trunk/console/libgnt/gntlabel.c
    trunk/console/libgnt/gntline.c
    trunk/console/libgnt/gnttextview.c
    trunk/console/libgnt/gnttree.c
    trunk/console/libgnt/gntwidget.c
    trunk/console/libgnt/gntwidget.h
Modified: trunk/console/libgnt/gnt-skel.c
===================================================================
--- trunk/console/libgnt/gnt-skel.c	2006-09-03 21:22:14 UTC (rev 17145)
+++ trunk/console/libgnt/gnt-skel.c	2006-09-03 21:42:52 UTC (rev 17146)
@@ -11,7 +11,7 @@
 static void
 gnt_skel_draw(GntWidget *widget)
 {
-	DEBUG;
+	GNTDEBUG;
 }
 
 static void
@@ -24,7 +24,7 @@
 {
 	if (widget->priv.width == 0 || widget->priv.height == 0)
 		gnt_widget_size_request(widget);
-	DEBUG;
+	GNTDEBUG;
 }
 
 static gboolean
@@ -50,13 +50,13 @@
 	parent_class->size_request = gnt_skel_size_request;
 	parent_class->key_pressed = gnt_skel_key_pressed;
 
-	DEBUG;
+	GNTDEBUG;
 }
 
 static void
 gnt_skel_init(GTypeInstance *instance, gpointer class)
 {
-	DEBUG;
+	GNTDEBUG;
 }
 
 /******************************************************************************
Modified: trunk/console/libgnt/gntbox.c
===================================================================
--- trunk/console/libgnt/gntbox.c	2006-09-03 21:22:14 UTC (rev 17145)
+++ trunk/console/libgnt/gntbox.c	2006-09-03 21:42:52 UTC (rev 17146)
@@ -68,7 +68,7 @@
 		g_free(title);
 	}
 	
-	DEBUG;
+	GNTDEBUG;
 }
 
 static void
@@ -215,7 +215,7 @@
 		gnt_widget_size_request(widget);
 		find_focusable_widget(GNT_BOX(widget));
 	}
-	DEBUG;
+	GNTDEBUG;
 }
 
 /* Ensures that the current widget can take focus */
@@ -498,7 +498,7 @@
 	parent_class->confirm_size = gnt_box_confirm_size;
 	parent_class->size_changed = gnt_box_size_changed;
 
-	DEBUG;
+	GNTDEBUG;
 }
 
 static void
@@ -507,7 +507,7 @@
 	/* Initially make both the height and width resizable.
 	 * Update the flags as necessary when widgets are added to it. */
 	GNT_WIDGET_SET_FLAGS(GNT_WIDGET(instance), GNT_WIDGET_GROW_X | GNT_WIDGET_GROW_Y);
-	DEBUG;
+	GNTDEBUG;
 }
 
 /******************************************************************************
Modified: trunk/console/libgnt/gntbutton.c
===================================================================
--- trunk/console/libgnt/gntbutton.c	2006-09-03 21:22:14 UTC (rev 17145)
+++ trunk/console/libgnt/gntbutton.c	2006-09-03 21:42:52 UTC (rev 17146)
@@ -25,7 +25,7 @@
 	wbkgdset(widget->window, '\0' | COLOR_PAIR(type));
 	mvwprintw(widget->window, 1, 2, button->priv->text);
 
-	DEBUG;
+	GNTDEBUG;
 }
 
 static void
@@ -44,7 +44,7 @@
 {
 	if (widget->priv.width == 0 || widget->priv.height == 0)
 		gnt_widget_size_request(widget);
-	DEBUG;
+	GNTDEBUG;
 }
 
 static gboolean
@@ -78,7 +78,7 @@
 	parent_class->key_pressed = gnt_button_key_pressed;
 	parent_class->clicked = gnt_button_clicked;
 
-	DEBUG;
+	GNTDEBUG;
 }
 
 static void
@@ -92,7 +92,7 @@
 
 	widget->priv.minw = 4;
 	widget->priv.minh = 3;
-	DEBUG;
+	GNTDEBUG;
 }
 
 /******************************************************************************
Modified: trunk/console/libgnt/gntcheckbox.c
===================================================================
--- trunk/console/libgnt/gntcheckbox.c	2006-09-03 21:22:14 UTC (rev 17145)
+++ trunk/console/libgnt/gntcheckbox.c	2006-09-03 21:42:52 UTC (rev 17146)
@@ -30,7 +30,7 @@
 	wbkgdset(widget->window, '\0' | COLOR_PAIR(GNT_COLOR_NORMAL));
 	mvwprintw(widget->window, 0, 4, GNT_BUTTON(cb)->priv->text);
 	
-	DEBUG;
+	GNTDEBUG;
 }
 
 static void
@@ -43,7 +43,7 @@
 {
 	if (widget->priv.width == 0 || widget->priv.height == 0)
 		gnt_widget_size_request(widget);
-	DEBUG;
+	GNTDEBUG;
 }
 
 static void
@@ -102,14 +102,14 @@
 					 NULL, NULL,
 					 g_cclosure_marshal_VOID__VOID,
 					 G_TYPE_NONE, 0);
-	DEBUG;
+	GNTDEBUG;
 }
 
 static void
 gnt_check_box_init(GTypeInstance *instance, gpointer class)
 {
 	GNT_WIDGET_SET_FLAGS(GNT_WIDGET(instance), GNT_WIDGET_NO_BORDER | GNT_WIDGET_NO_SHADOW);
-	DEBUG;
+	GNTDEBUG;
 }
 
 /******************************************************************************
Modified: trunk/console/libgnt/gntcombobox.c
===================================================================
--- trunk/console/libgnt/gntcombobox.c	2006-09-03 21:22:14 UTC (rev 17145)
+++ trunk/console/libgnt/gntcombobox.c	2006-09-03 21:42:52 UTC (rev 17146)
@@ -62,7 +62,7 @@
 	mvwaddch(widget->window, 1, widget->priv.width - 2, ACS_DARROW | COLOR_PAIR(GNT_COLOR_NORMAL));
 
 	g_free(text);
-	DEBUG;
+	GNTDEBUG;
 }
 
 static void
@@ -82,7 +82,7 @@
 {
 	if (widget->priv.width == 0 || widget->priv.height == 0)
 		gnt_widget_size_request(widget);
-	DEBUG;
+	GNTDEBUG;
 }
 
 static void
@@ -208,7 +208,7 @@
 					 gnt_closure_marshal_VOID__POINTER_POINTER,
 					 G_TYPE_NONE, 2, G_TYPE_POINTER, G_TYPE_POINTER);
 
-	DEBUG;
+	GNTDEBUG;
 }
 
 static void
@@ -229,7 +229,7 @@
 	
 	widget->priv.minw = 4;
 	widget->priv.minh = 3;
-	DEBUG;
+	GNTDEBUG;
 }
 
 /******************************************************************************
Modified: trunk/console/libgnt/gntentry.c
===================================================================
--- trunk/console/libgnt/gntentry.c	2006-09-03 21:22:14 UTC (rev 17145)
+++ trunk/console/libgnt/gntentry.c	2006-09-03 21:42:52 UTC (rev 17146)
@@ -129,7 +129,7 @@
 		mvwchgat(widget->window, 0, gnt_util_onscreen_width(entry->scroll, entry->cursor),
 				1, A_REVERSE, COLOR_PAIR(GNT_COLOR_TEXT_NORMAL), NULL);
 
-	DEBUG;
+	GNTDEBUG;
 }
 
 static void
@@ -147,7 +147,7 @@
 {
 	if (widget->priv.width == 0 || widget->priv.height == 0)
 		gnt_widget_size_request(widget);
-	DEBUG;
+	GNTDEBUG;
 }
 
 static void
@@ -502,7 +502,7 @@
 	parent_class->key_pressed = gnt_entry_key_pressed;
 	parent_class->lost_focus = gnt_entry_lost_focus;
 
-	DEBUG;
+	GNTDEBUG;
 }
 
 static void
@@ -528,7 +528,7 @@
 	widget->priv.minw = 3;
 	widget->priv.minh = 1;
 	
-	DEBUG;
+	GNTDEBUG;
 }
 
 /******************************************************************************
Modified: trunk/console/libgnt/gntlabel.c
===================================================================
--- trunk/console/libgnt/gntlabel.c	2006-09-03 21:22:14 UTC (rev 17145)
+++ trunk/console/libgnt/gntlabel.c	2006-09-03 21:42:52 UTC (rev 17146)
@@ -27,7 +27,7 @@
 	wbkgdset(widget->window, '\0' | flag);
 	mvwprintw(widget->window, 0, 0, label->text);
 
-	DEBUG;
+	GNTDEBUG;
 }
 
 static void
@@ -48,7 +48,7 @@
 	parent_class->map = NULL;
 	parent_class->size_request = gnt_label_size_request;
 
-	DEBUG;
+	GNTDEBUG;
 }
 
 static void
@@ -58,7 +58,7 @@
 	GNT_WIDGET_SET_FLAGS(widget, GNT_WIDGET_GROW_X);
 	widget->priv.minw = 3;
 	widget->priv.minh = 1;
-	DEBUG;
+	GNTDEBUG;
 }
 
 /******************************************************************************
Modified: trunk/console/libgnt/gntline.c
===================================================================
--- trunk/console/libgnt/gntline.c	2006-09-03 21:22:14 UTC (rev 17145)
+++ trunk/console/libgnt/gntline.c	2006-09-03 21:42:52 UTC (rev 17146)
@@ -40,7 +40,7 @@
 {
 	if (widget->priv.width == 0 || widget->priv.height == 0)
 		gnt_widget_size_request(widget);
-	DEBUG;
+	GNTDEBUG;
 }
 
 static void
@@ -51,7 +51,7 @@
 	parent_class->map = gnt_line_map;
 	parent_class->size_request = gnt_line_size_request;
 
-	DEBUG;
+	GNTDEBUG;
 }
 
 static void
@@ -61,7 +61,7 @@
 	GNT_WIDGET_SET_FLAGS(widget, GNT_WIDGET_NO_SHADOW | GNT_WIDGET_NO_BORDER);
 	widget->priv.minw = 1;
 	widget->priv.minh = 1;
-	DEBUG;
+	GNTDEBUG;
 }
 
 /******************************************************************************
Modified: trunk/console/libgnt/gnttextview.c
===================================================================
--- trunk/console/libgnt/gnttextview.c	2006-09-03 21:22:14 UTC (rev 17145)
+++ trunk/console/libgnt/gnttextview.c	2006-09-03 21:42:52 UTC (rev 17146)
@@ -92,7 +92,7 @@
 			((view->list && view->list->prev) ? ACS_DARROW : ' ') |
 				COLOR_PAIR(GNT_COLOR_HIGHLIGHT_D));
 
-	DEBUG;
+	GNTDEBUG;
 }
 
 static void
@@ -109,7 +109,7 @@
 {
 	if (widget->priv.width == 0 || widget->priv.height == 0)
 		gnt_widget_size_request(widget);
-	DEBUG;
+	GNTDEBUG;
 }
 
 static gboolean
@@ -235,7 +235,7 @@
 	parent_class->clicked = gnt_text_view_clicked;
 	parent_class->size_changed = gnt_text_view_size_changed;
 
-	DEBUG;
+	GNTDEBUG;
 }
 
 static void
@@ -247,7 +247,7 @@
 
 	widget->priv.minw = 5;
 	widget->priv.minh = 2;
-	DEBUG;
+	GNTDEBUG;
 }
 
 /******************************************************************************
Modified: trunk/console/libgnt/gnttree.c
===================================================================
--- trunk/console/libgnt/gnttree.c	2006-09-03 21:22:14 UTC (rev 17145)
+++ trunk/console/libgnt/gnttree.c	2006-09-03 21:42:52 UTC (rev 17146)
@@ -419,7 +419,7 @@
 
 	redraw_tree(tree);
 	
-	DEBUG;
+	GNTDEBUG;
 }
 
 static void
@@ -447,7 +447,7 @@
 	}
 	tree->top = tree->root;
 	tree->current = tree->root;
-	DEBUG;
+	GNTDEBUG;
 }
 
 static void
@@ -689,7 +689,7 @@
 					 g_cclosure_marshal_VOID__POINTER,
 					 G_TYPE_NONE, 1, G_TYPE_POINTER);
 
-	DEBUG;
+	GNTDEBUG;
 }
 
 static void
@@ -699,7 +699,7 @@
 	GNT_WIDGET_SET_FLAGS(widget, GNT_WIDGET_GROW_X | GNT_WIDGET_GROW_Y);
 	widget->priv.minw = 4;
 	widget->priv.minh = 4;
-	DEBUG;
+	GNTDEBUG;
 }
 
 /******************************************************************************
Modified: trunk/console/libgnt/gntwidget.c
===================================================================
--- trunk/console/libgnt/gntwidget.c	2006-09-03 21:22:14 UTC (rev 17145)
+++ trunk/console/libgnt/gntwidget.c	2006-09-03 21:42:52 UTC (rev 17146)
@@ -33,14 +33,14 @@
 {
 	GntWidget *widget = GNT_WIDGET(instance);
 	widget->priv.name = NULL;
-	DEBUG;
+	GNTDEBUG;
 }
 
 static void
 gnt_widget_map(GntWidget *widget)
 {
 	/* Get some default size for the widget */
-	DEBUG;
+	GNTDEBUG;
 	g_signal_emit(widget, signals[SIG_MAP], 0);
 	GNT_WIDGET_SET_FLAGS(widget, GNT_WIDGET_MAPPED);
 }
@@ -59,7 +59,7 @@
 	}
 
 	parent_class->dispose(obj);
-	DEBUG;
+	GNTDEBUG;
 }
 
 static void
@@ -225,7 +225,7 @@
 					 gnt_closure_marshal_BOOLEAN__INT_INT_INT,
 					 G_TYPE_BOOLEAN, 3, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT);
 
-	DEBUG;
+	GNTDEBUG;
 }
 
 /******************************************************************************
@@ -305,7 +305,7 @@
 	delwin(obj->window);
 	if(!(GNT_WIDGET_FLAGS(obj) & GNT_WIDGET_DESTROYING))
 		g_object_run_dispose(G_OBJECT(obj));
-	DEBUG;
+	GNTDEBUG;
 }
 
 void
Modified: trunk/console/libgnt/gntwidget.h
===================================================================
--- trunk/console/libgnt/gntwidget.h	2006-09-03 21:22:14 UTC (rev 17145)
+++ trunk/console/libgnt/gntwidget.h	2006-09-03 21:42:52 UTC (rev 17146)
@@ -19,8 +19,9 @@
 #define GNT_WIDGET_SET_FLAGS(obj, flags)		(GNT_WIDGET_FLAGS(obj) |= flags)
 #define GNT_WIDGET_UNSET_FLAGS(obj, flags)	(GNT_WIDGET_FLAGS(obj) &= ~(flags))
 #define GNT_WIDGET_IS_FLAG_SET(obj, flags)	(GNT_WIDGET_FLAGS(obj) & (flags))
-#define	DEBUG	fprintf(stderr, "%s\n", __FUNCTION__)
 
+#define	GNTDEBUG	fprintf(stderr, "%s\n", __FUNCTION__)
+
 typedef struct _GnWidget			GntWidget;
 typedef struct _GnWidgetPriv		GntWidgetPriv;
 typedef struct _GnWidgetClass		GntWidgetClass;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <the...@us...> - 2006-09-03 21:22:16
      
     | 
| Revision: 17145
          http://svn.sourceforge.net/gaim/?rev=17145&view=rev
Author:   thekingant
Date:     2006-09-03 14:22:14 -0700 (Sun, 03 Sep 2006)
Log Message:
-----------
This fixes compiling for me.  The problem is that panel.h includes
/usr/include/ncurses/curses.h, which then prevents us from
correctly including /usr/include/ncursesw/ncurses.h.  So I just
moved the include for panel.h below the other include
Modified Paths:
--------------
    trunk/console/libgnt/gntmain.c
Modified: trunk/console/libgnt/gntmain.c
===================================================================
--- trunk/console/libgnt/gntmain.c	2006-09-03 19:06:50 UTC (rev 17144)
+++ trunk/console/libgnt/gntmain.c	2006-09-03 21:22:14 UTC (rev 17145)
@@ -3,8 +3,6 @@
 
 #include "config.h"
 
-#include <panel.h>
-
 #include <gmodule.h>
 
 #include "gnt.h"
@@ -15,6 +13,8 @@
 #include "gnttree.h"
 #include "gntwm.h"
 
+#include <panel.h>
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <locale.h>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <amc...@us...> - 2006-09-03 19:07:01
      
     | 
| Revision: 17144
          http://svn.sourceforge.net/gaim/?rev=17144&view=rev
Author:   amc_grim
Date:     2006-09-03 12:06:50 -0700 (Sun, 03 Sep 2006)
Log Message:
-----------
sadrul said the last version didn't work for him, so now we're trying absolute include paths which still work fine for me
Modified Paths:
--------------
    trunk/configure.ac
Modified: trunk/configure.ac
===================================================================
--- trunk/configure.ac	2006-09-03 18:45:16 UTC (rev 17143)
+++ trunk/configure.ac	2006-09-03 19:06:50 UTC (rev 17144)
@@ -821,7 +821,7 @@
 
 	dnl # Some distros put the headers in ncursesw/, some don't
 	found_ncurses_h=no
-	for f in ncurses.h ncursesw/ncurses.h
+	for f in /usr/include/ncurses.h /usr/include/ncursesw/ncurses.h
 	do
 		AC_CHECK_HEADER($f,[
 			AC_MSG_CHECKING([if $f supports wide characters])
@@ -835,7 +835,7 @@
 			], [
 				dir=`dirname $f`
 				if test x"$dir" != x"." ; then
-					GNT_CFLAGS="-I $dir/"
+					GNT_CFLAGS="-I$dir/"
 				else
 					GNT_CFLAGS=""
 				fi
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <amc...@us...> - 2006-09-03 18:45:21
      
     | 
| Revision: 17143
          http://svn.sourceforge.net/gaim/?rev=17143&view=rev
Author:   amc_grim
Date:     2006-09-03 11:45:16 -0700 (Sun, 03 Sep 2006)
Log Message:
-----------
And I completely forgot this as well...
Modified Paths:
--------------
    trunk/console/libgnt/Makefile.am
Modified: trunk/console/libgnt/Makefile.am
===================================================================
--- trunk/console/libgnt/Makefile.am	2006-09-03 18:44:11 UTC (rev 17142)
+++ trunk/console/libgnt/Makefile.am	2006-09-03 18:45:16 UTC (rev 17143)
@@ -53,4 +53,5 @@
 
 AM_CPPFLAGS = \
 	$(GLIB_CFLAGS) \
+	$(GNT_CFLAGS) \
 	-Wall
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <amc...@us...> - 2006-09-03 18:44:23
      
     | 
| Revision: 17142
          http://svn.sourceforge.net/gaim/?rev=17142&view=rev
Author:   amc_grim
Date:     2006-09-03 11:44:11 -0700 (Sun, 03 Sep 2006)
Log Message:
-----------
Let's find the ncurses.h we're after, without a bunch of hacking in individual files for it.  This checks for some ncursesw specific stuff, and now will not build gntgaim unless we have ncursesw.h.  This could be adapted to just add a define in case we want to support non ncursesw, but this is more than adequate for the time being.
Modified Paths:
--------------
    trunk/configure.ac
    trunk/console/Makefile.am
    trunk/console/libgnt/gntcolors.c
    trunk/console/libgnt/gntmain.c
    trunk/console/libgnt/gntwidget.h
    trunk/console/libgnt/gntwm.h
Modified: trunk/configure.ac
===================================================================
--- trunk/configure.ac	2006-09-03 18:42:04 UTC (rev 17141)
+++ trunk/configure.ac	2006-09-03 18:44:11 UTC (rev 17142)
@@ -810,16 +810,61 @@
 dnl #######################################################################
 dnl # GNT Gaim
 dnl #######################################################################
-GNT_LIBS=
+GNT_LIBS=""
+GNT_CFLAGS=""
 if test "x$enable_gnt" = "xyes"; then
 	AC_CHECK_LIB(ncursesw, initscr, [GNT_LIBS="-lncursesw"], [enable_gnt=no])
 	AC_CHECK_LIB(panelw, update_panels, [GNT_LIBS="$GNT_LIBS -lpanelw"], [enable_gnt=no])
 
-	# Some distros put the headers in ncursesw/, some don't
-	AC_CHECK_HEADER(ncursesw/ncurses.h, [AC_DEFINE(HAVE_NCURSESW_INC, 1, [Define if you have the ncursesw headers in ncursesw/])])
+	LIBS_save="$LIBS"
+	LIBS="$LIBS $GNT_LIBS"
+
+	dnl # Some distros put the headers in ncursesw/, some don't
+	found_ncurses_h=no
+	for f in ncurses.h ncursesw/ncurses.h
+	do
+		AC_CHECK_HEADER($f,[
+			AC_MSG_CHECKING([if $f supports wide characters])
+			AC_TRY_COMPILE([
+				#define _XOPEN_SOURCE_EXTENDED
+				#include <$f>
+			], [
+				#ifndef get_wch
+				# error get_wch not found!
+				#endif
+			], [
+				dir=`dirname $f`
+				if test x"$dir" != x"." ; then
+					GNT_CFLAGS="-I $dir/"
+				else
+					GNT_CFLAGS=""
+				fi
+
+				found_ncurses_h=yes
+				AC_MSG_RESULT([yes])
+				break
+			], [
+				AC_MSG_RESULT([no])
+			])
+		])
+	done
+
+	LIBS="$LIBS_save"
+
+	if test x"$found_ncurses_h" = x"no" ; then
+		GNT_LIBS=""
+		GNT_CFLAGS=""
+		enable_gnt=no
+		AC_MSG_RESULT([no])
+	else
+		AC_MSG_RESULT([yes])
+	fi
 fi
+
 AC_SUBST(GNT_LIBS)
+AC_SUBST(GNT_CFLAGS)
 AM_CONDITIONAL(ENABLE_GNT, test "x$enable_gnt" = "xyes")
+
 AC_CHECK_FUNC(wcwidth, [AC_DEFINE([HAVE_WCWIDTH], [1], [Define to 1 if you have wcwidth function.])])
 
 dnl #######################################################################
Modified: trunk/console/Makefile.am
===================================================================
--- trunk/console/Makefile.am	2006-09-03 18:42:04 UTC (rev 17141)
+++ trunk/console/Makefile.am	2006-09-03 18:44:11 UTC (rev 17142)
@@ -61,5 +61,6 @@
 	$(DEBUG_CFLAGS) \
 	$(GLIB_CFLAGS) \
 	$(DBUS_CFLAGS) \
-	$(LIBXML_CFLAGS) 
+	$(LIBXML_CFLAGS) \
+	$(GNT_CFLAGS)
 endif
Modified: trunk/console/libgnt/gntcolors.c
===================================================================
--- trunk/console/libgnt/gntcolors.c	2006-09-03 18:42:04 UTC (rev 17141)
+++ trunk/console/libgnt/gntcolors.c	2006-09-03 18:44:11 UTC (rev 17142)
@@ -1,10 +1,6 @@
 #include "config.h"
 
-#ifdef HAVE_NCURSESW_INC
-#include <ncursesw/ncurses.h>
-#else
 #include <ncurses.h>
-#endif
 
 #include "gntcolors.h"
 #include "gntstyle.h"
Modified: trunk/console/libgnt/gntmain.c
===================================================================
--- trunk/console/libgnt/gntmain.c	2006-09-03 18:42:04 UTC (rev 17141)
+++ trunk/console/libgnt/gntmain.c	2006-09-03 18:44:11 UTC (rev 17142)
@@ -3,11 +3,7 @@
 
 #include "config.h"
 
-#ifdef HAVE_NCURSESW_INC
-#include <ncursesw/panel.h>
-#else
 #include <panel.h>
-#endif
 
 #include <gmodule.h>
 
Modified: trunk/console/libgnt/gntwidget.h
===================================================================
--- trunk/console/libgnt/gntwidget.h	2006-09-03 18:42:04 UTC (rev 17141)
+++ trunk/console/libgnt/gntwidget.h	2006-09-03 18:44:11 UTC (rev 17142)
@@ -6,11 +6,7 @@
 #include <stdio.h>
 #include <glib.h>
 #include <glib-object.h>
-#ifdef HAVE_NCURSESW_INC
-#include <ncursesw/ncurses.h>
-#else
 #include <ncurses.h>
-#endif
 
 #define GNT_TYPE_WIDGET				(gnt_widget_get_gtype())
 #define GNT_WIDGET(obj)				(G_TYPE_CHECK_INSTANCE_CAST((obj), GNT_TYPE_WIDGET, GntWidget))
Modified: trunk/console/libgnt/gntwm.h
===================================================================
--- trunk/console/libgnt/gntwm.h	2006-09-03 18:42:04 UTC (rev 17141)
+++ trunk/console/libgnt/gntwm.h	2006-09-03 18:44:11 UTC (rev 17142)
@@ -1,10 +1,6 @@
 #include "config.h"
 
-#ifdef HAVE_NCURSESW_INC
-#include <ncursesw/panel.h>
-#else
 #include <panel.h>
-#endif
 
 #include "gntwidget.h"
 
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <amc...@us...> - 2006-09-03 18:42:15
      
     | 
| Revision: 17141
          http://svn.sourceforge.net/gaim/?rev=17141&view=rev
Author:   amc_grim
Date:     2006-09-03 11:42:04 -0700 (Sun, 03 Sep 2006)
Log Message:
-----------
Forgot this one, more svn:ignore stuff
Property Changed:
----------------
    trunk/console/plugins/
Property changes on: trunk/console/plugins
___________________________________________________________________
Name: svn:ignore
   - Makefile.in
.deps
.libs
Makefile
   + Makefile.in
.deps
.libs
Makefile
*.la
*.lo
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <amc...@us...> - 2006-09-03 18:41:20
      
     | 
| Revision: 17140
          http://svn.sourceforge.net/gaim/?rev=17140&view=rev
Author:   amc_grim
Date:     2006-09-03 11:41:14 -0700 (Sun, 03 Sep 2006)
Log Message:
-----------
Adjust more svn:ignore's...
Property Changed:
----------------
    trunk/console/
    trunk/console/libgnt/
Property changes on: trunk/console
___________________________________________________________________
Name: svn:ignore
   - Makefile.in
gmon.out
gntgaim
.libs
.deps
Makefile
.error
   + Makefile.in
gmon.out
gntgaim
.libs
.deps
Makefile
.error
*.o
Property changes on: trunk/console/libgnt
___________________________________________________________________
Name: svn:ignore
   - .deps
gnt.pc
.libs
Makefile
Makefile.in
   + .deps
gnt.pc
.libs
Makefile
Makefile.in
*.dll
*.la
*.lo
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <may...@us...> - 2006-09-03 16:27:19
      
     | 
| Revision: 17139
          http://svn.sourceforge.net/gaim/?rev=17139&view=rev
Author:   mayuan2006
Date:     2006-09-03 09:27:11 -0700 (Sun, 03 Sep 2006)
Log Message:
-----------
add the last time parse option to prepare for the gradually update procedure
committed by MaYuan<may...@gm...>
Modified Paths:
--------------
    branches/soc-2006-msnp13/src/protocols/msn/contact.c
Modified: branches/soc-2006-msnp13/src/protocols/msn/contact.c
===================================================================
--- branches/soc-2006-msnp13/src/protocols/msn/contact.c	2006-09-03 14:42:38 UTC (rev 17138)
+++ branches/soc-2006-msnp13/src/protocols/msn/contact.c	2006-09-03 16:27:11 UTC (rev 17139)
@@ -127,7 +127,9 @@
 	int list_op =0;
 	char * passport;
 	xmlnode * node,*body,*response,*result,*services,*service,*memberships;
+	xmlnode *LastChangeNode;
 	xmlnode *membershipnode,*members,*member,*passportNode;
+	char *lastchange;
 
 	session = contact->session;
 	gaim_debug_misc("xml","parse contact list:{%s}\nsize:%d\n",contact->soapconn->body,contact->soapconn->body_len);
@@ -149,6 +151,12 @@
 	gaim_debug_misc("xml","services{%p},name:%s\n",services,services->name);
 	service =xmlnode_get_child(services,"Service");
 	gaim_debug_misc("xml","service{%p},name:%s\n",service,service->name);
+	
+	/*Last Change Node*/
+	LastChangeNode = xmlnode_get_child(service,"LastChange");
+	lastchange = xmlnode_get_data(LastChangeNode);
+	gaim_debug_misc("MSNContact","LastChangeNode %s\n",lastchange);
+	
 	memberships =xmlnode_get_child(service,"Memberships");
 	gaim_debug_misc("xml","memberships{%p},name:%s\n",memberships,memberships->name);
 	for(membershipnode = xmlnode_get_child(memberships, "Membership"); membershipnode;
@@ -251,7 +259,8 @@
 	xmlnode * node,*body,*response,*result;
 	xmlnode *groups,*group,*groupname,*groupId,*groupInfo;
 	xmlnode	*contacts,*contactNode,*contactId,*contactInfo,*contactType,*passportName,*displayName,*groupIds,*guid;
-	xmlnode *ab;
+	xmlnode *abNode,*LastChangeNode;
+	char *lastchange;
 	char *group_name,*group_id;
 
 	session = contact->session;
@@ -426,7 +435,12 @@
 		}
 	}
 
-	ab =xmlnode_get_child(result,"ab");
+	abNode =xmlnode_get_child(result,"ab");
+	if(abNode != NULL){
+		LastChangeNode = xmlnode_get_child(abNode,"lastChange");
+		lastchange = xmlnode_get_data(LastChangeNode);
+		gaim_debug_info("MsnAB"," lastchange:{%s}\n",lastchange);
+	}
 
 	xmlnode_free(node);
 	msn_soap_free_read_buf(contact->soapconn);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <may...@us...> - 2006-09-03 14:42:45
      
     | 
| Revision: 17138
          http://svn.sourceforge.net/gaim/?rev=17138&view=rev
Author:   mayuan2006
Date:     2006-09-03 07:42:38 -0700 (Sun, 03 Sep 2006)
Log Message:
-----------
fix the bug of oim delete
committed by MaYuan<may...@gm...>
Modified Paths:
--------------
    branches/soc-2006-msnp13/src/protocols/msn/command.c
    branches/soc-2006-msnp13/src/protocols/msn/group.c
    branches/soc-2006-msnp13/src/protocols/msn/oim.c
    branches/soc-2006-msnp13/src/protocols/msn/soap.h
Modified: branches/soc-2006-msnp13/src/protocols/msn/command.c
===================================================================
--- branches/soc-2006-msnp13/src/protocols/msn/command.c	2006-09-03 08:01:12 UTC (rev 17137)
+++ branches/soc-2006-msnp13/src/protocols/msn/command.c	2006-09-03 14:42:38 UTC (rev 17138)
@@ -24,6 +24,10 @@
 #include "msn.h"
 #include "command.h"
 
+/*local Function prototype*/
+int msn_get_payload_position(char *str);
+int msn_set_payload_len(MsnCommand *cmd);
+
 static gboolean
 is_num(char *str)
 {
Modified: branches/soc-2006-msnp13/src/protocols/msn/group.c
===================================================================
--- branches/soc-2006-msnp13/src/protocols/msn/group.c	2006-09-03 08:01:12 UTC (rev 17137)
+++ branches/soc-2006-msnp13/src/protocols/msn/group.c	2006-09-03 14:42:38 UTC (rev 17138)
@@ -76,7 +76,7 @@
 char*
 msn_group_get_id(const MsnGroup *group)
 {
-	g_return_val_if_fail(group != NULL, -1);
+	g_return_val_if_fail(group != NULL, NULL);
 
 	return group->id;
 }
Modified: branches/soc-2006-msnp13/src/protocols/msn/oim.c
===================================================================
--- branches/soc-2006-msnp13/src/protocols/msn/oim.c	2006-09-03 08:01:12 UTC (rev 17137)
+++ branches/soc-2006-msnp13/src/protocols/msn/oim.c	2006-09-03 14:42:38 UTC (rev 17138)
@@ -425,6 +425,7 @@
 		msg_id = oim->oim_list->data;
 		msn_oim_post_delete_msg(oim,msg_id);
 		oim->oim_list = g_list_remove(oim->oim_list, oim->oim_list->data);
+		g_free(msg_id);
 	}
 
 	g_free(passport);
@@ -503,7 +504,7 @@
 		oim->oim_list = g_list_append(oim->oim_list,msgid);
 		msn_oim_post_single_get_msg(oim,msgid);
 		g_free(passport);
-		g_free(msgid);
+//		g_free(msgid);
 		g_free(rTime);
 		g_free(nickname);
 	}
Modified: branches/soc-2006-msnp13/src/protocols/msn/soap.h
===================================================================
--- branches/soc-2006-msnp13/src/protocols/msn/soap.h	2006-09-03 08:01:12 UTC (rev 17137)
+++ branches/soc-2006-msnp13/src/protocols/msn/soap.h	2006-09-03 14:42:38 UTC (rev 17138)
@@ -123,6 +123,7 @@
 /*init a soap conneciton */
 void msn_soap_init(MsnSoapConn *soapconn,char * host,int ssl,GaimSslInputFunction connect_cb,GaimSslErrorFunction error_cb);
 void msn_soap_connect(MsnSoapConn *soapconn);
+void msn_soap_close(MsnSoapConn *soapconn);
 
 /*write to soap*/
 void msn_soap_write(MsnSoapConn * soapconn, char *write_buf, GaimInputFunction written_cb);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <sa...@us...> - 2006-09-03 08:01:18
      
     | 
| Revision: 17137
          http://svn.sourceforge.net/gaim/?rev=17137&view=rev
Author:   sadrul
Date:     2006-09-03 01:01:12 -0700 (Sun, 03 Sep 2006)
Log Message:
-----------
Patch from wabz (Richard Nelson) to show 'Last Seen' for offline buddies.
I have also added a fix to show offline buddies in the tooltip for a contact
if 'show offline buddies' is turned on.
Modified Paths:
--------------
    trunk/console/gntblist.c
Modified: trunk/console/gntblist.c
===================================================================
--- trunk/console/gntblist.c	2006-09-03 07:40:11 UTC (rev 17136)
+++ trunk/console/gntblist.c	2006-09-03 08:01:12 UTC (rev 17137)
@@ -1045,6 +1045,7 @@
 	GntTree *tree;
 	GntWidget *widget, *box;
 	char *title = NULL;
+	int lastseen = 0;
 
 	widget = ggblist->tree;
 	tree = GNT_TREE(widget);
@@ -1070,11 +1071,21 @@
 
 	if (GAIM_BLIST_NODE_IS_CONTACT(node)) {
 		GaimBuddy *pr = gaim_contact_get_priority_buddy((GaimContact*)node);
+		gboolean offline = !GAIM_BUDDY_IS_ONLINE(pr);
+		gboolean showoffline = gaim_prefs_get_bool(PREF_ROOT "/showoffline");
+
 		title = g_strdup(gaim_contact_get_alias((GaimContact*)node));
 		tooltip_for_buddy(pr, str);
 		for (node = node->child; node; node = node->next) {
-			if (node == (GaimBlistNode*)pr || !GAIM_BUDDY_IS_ONLINE((GaimBuddy*)node))
+			if (offline) {
+				int value = gaim_blist_node_get_int(node, "last_seen");
+				if (value > lastseen)
+					lastseen = value;
+			}
+			if (node == (GaimBlistNode*)pr)
 				continue;
+			if (!showoffline && !GAIM_BUDDY_IS_ONLINE((GaimBuddy*)node))
+				continue;
 			str = g_string_append(str, "\n----------\n");
 			g_string_append_printf(str, _("Nickname: %s\n"), gaim_buddy_get_name((GaimBuddy*)node));
 			tooltip_for_buddy((GaimBuddy*)node, str);
@@ -1083,6 +1094,8 @@
 		GaimBuddy *buddy = (GaimBuddy *)node;
 		tooltip_for_buddy(buddy, str);
 		title = g_strdup(gaim_buddy_get_name(buddy));
+		if (!GAIM_BUDDY_IS_ONLINE((GaimBuddy*)node))
+			lastseen = gaim_blist_node_get_int(node, "last_seen");
 	} else if (GAIM_BLIST_NODE_IS_GROUP(node)) {
 		GaimGroup *group = (GaimGroup *)node;
 
@@ -1105,6 +1118,12 @@
 		return;
 	}
 
+	if (lastseen > 0) {
+		char *tmp = gaim_str_seconds_to_string(time(NULL) - lastseen);
+		g_string_append_printf(str, _("\nLast Seen: %s ago"), tmp);
+		g_free(tmp);
+	}
+
 	gnt_widget_get_position(widget, &x, &y);
 	gnt_widget_get_size(widget, &width, NULL);
 	top = gnt_tree_get_selection_visible_line(tree);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <the...@us...> - 2006-09-03 07:40:22
      
     | 
| Revision: 17136
          http://svn.sourceforge.net/gaim/?rev=17136&view=rev
Author:   thekingant
Date:     2006-09-03 00:40:11 -0700 (Sun, 03 Sep 2006)
Log Message:
-----------
Better connection error messages for Yahoo
Modified Paths:
--------------
    trunk/libgaim/protocols/yahoo/yahoo.c
    trunk/libgaim/protocols/yahoo/ycht.c
Modified: trunk/libgaim/protocols/yahoo/yahoo.c
===================================================================
--- trunk/libgaim/protocols/yahoo/yahoo.c	2006-09-03 07:18:35 UTC (rev 17135)
+++ trunk/libgaim/protocols/yahoo/yahoo.c	2006-09-03 07:40:11 UTC (rev 17136)
@@ -2233,9 +2233,21 @@
 
 	len = read(yd->fd, buf, sizeof(buf));
 
-	if (len <= 0) {
-		gaim_connection_error(gc, _("Unable to read"));
+	if (len < 0) {
+		gchar *tmp;
+
+		if (errno == EAGAIN)
+			/* No worries */
+			return;
+
+		tmp = g_strdup_printf(_("Lost connection with server:\n%s"),
+				strerror(errno));
+		gaim_connection_error(gc, tmp);
+		g_free(tmp);
 		return;
+	} else if (len == 0) {
+		gaim_connection_error(gc, _("Server closed the connection."));
+		return;
 	}
 
 	yd->rxqueue = g_realloc(yd->rxqueue, len + yd->rxlen);
@@ -2378,10 +2390,21 @@
 	GString *s;
 
 	len = read(source, bufread, sizeof(bufread) - 1);
-	if (len < 0 && errno == EAGAIN)
+
+	if (len < 0) {
+		gchar *tmp;
+
+		if (errno == EAGAIN)
+			/* No worries */
+			return;
+
+		tmp = g_strdup_printf(_("Lost connection with server:\n%s"),
+				strerror(errno));
+		gaim_connection_error(gc, tmp);
+		g_free(tmp);
 		return;
-	else if (len <= 0) {
-		gaim_connection_error(gc, _("Unable to read"));
+	} else if (len == 0) {
+		gaim_connection_error(gc, _("Server closed the connection."));
 		return;
 	}
 
@@ -2396,7 +2419,7 @@
 
 	if ((strncmp(buf, "HTTP/1.0 302", strlen("HTTP/1.0 302")) &&
 			  strncmp(buf, "HTTP/1.1 302", strlen("HTTP/1.1 302")))) {
-		gaim_connection_error(gc, _("Unable to read"));
+		gaim_connection_error(gc, _("Received unexpected HTTP response from server."));
 		return;
 	}
 
Modified: trunk/libgaim/protocols/yahoo/ycht.c
===================================================================
--- trunk/libgaim/protocols/yahoo/ycht.c	2006-09-03 07:18:35 UTC (rev 17135)
+++ trunk/libgaim/protocols/yahoo/ycht.c	2006-09-03 07:40:11 UTC (rev 17136)
@@ -465,12 +465,21 @@
 
 	len = read(ycht->fd, buf, sizeof(buf));
 
-	if (len < 0 && errno == EAGAIN)
-		return;
+	if (len < 0) {
+		gchar *tmp;
 
-	if (len <= 0) {
-		ycht_connection_error(ycht, _("Unable to read"));
+		if (errno == EAGAIN)
+			/* No worries */
+			return;
+
+		tmp = g_strdup_printf(_("Lost connection with server\n%s"),
+				strerror(errno));
+		ycht_connection_error(ycht, tmp);
+		g_free(tmp);
 		return;
+	} else if (len == 0) {
+		ycht_connection_error(ycht, _("Server closed the connection."));
+		return;
 	}
 
 	ycht->rxqueue = g_realloc(ycht->rxqueue, len + ycht->rxlen);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <the...@us...> - 2006-09-03 07:18:48
      
     | 
| Revision: 17135
          http://svn.sourceforge.net/gaim/?rev=17135&view=rev
Author:   thekingant
Date:     2006-09-03 00:18:35 -0700 (Sun, 03 Sep 2006)
Log Message:
-----------
Add a bunch of perl-related stuff to svn:ignore properties.
These should be similar to the non-gtk svn:ignore properties.
Property Changed:
----------------
    trunk/gtk/plugins/perl/
    trunk/gtk/plugins/perl/common/
Property changes on: trunk/gtk/plugins/perl
___________________________________________________________________
Name: svn:ignore
   + Makefile
Makefile.in
Property changes on: trunk/gtk/plugins/perl/common
___________________________________________________________________
Name: svn:ignore
   + *.bs
*.o
Makefile.PL
Makefile
Makefile.old
blib
lib
const-c.inc
const-xs.inc
pm_to_blib
*.c
*.dll
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <amc...@us...> - 2006-09-03 03:34:53
      
     | 
| Revision: 17134
          http://svn.sourceforge.net/gaim/?rev=17134&view=rev
Author:   amc_grim
Date:     2006-09-02 20:34:47 -0700 (Sat, 02 Sep 2006)
Log Message:
-----------
adjusting svn:ignore ...
Property Changed:
----------------
    trunk/gtk/
    trunk/gtk/plugins/
    trunk/libgaim/
    trunk/libgaim/plugins/
Property changes on: trunk/gtk
___________________________________________________________________
Name: svn:ignore
   - .deps
gaim
gtkgaim.dll.a
.libs
Makefile
Makefile.in
*.dll
*.exe
   + .deps
gaim
gtkgaim.dll.a
.libs
Makefile
Makefile.in
*.dll
*.exe
*.la
*.lo
*.o
Property changes on: trunk/gtk/plugins
___________________________________________________________________
Name: svn:ignore
   - .deps
.libs
Makefile
Makefile.in
*.dll
   + .deps
.libs
Makefile
Makefile.in
*.dll
*.la
*.lo
Property changes on: trunk/libgaim
___________________________________________________________________
Name: svn:ignore
   - dbus-bindings.c
dbus-types.c
dbus-types.h
.deps
gaim-client-bindings.c
gaim-client-bindings.h
gaim-client-example
libgaim.dll
libgaim.dll.a
.libs
Makefile
Makefile.in
   + dbus-bindings.c
dbus-types.c
dbus-types.h
.deps
gaim-client-bindings.c
gaim-client-bindings.h
gaim-client-example
libgaim.dll
libgaim.dll.a
.libs
Makefile
Makefile.in
*.la
*.lo
*.o
Property changes on: trunk/libgaim/plugins
___________________________________________________________________
Name: svn:ignore
   - dbus-example-bindings.c
.deps
.libs
Makefile
Makefile.in
*.dll
   + dbus-example-bindings.c
.deps
.libs
Makefile
Makefile.in
*.dll
*.la
*.lo
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <sa...@us...> - 2006-09-03 02:12:31
      
     | 
| Revision: 17133
          http://svn.sourceforge.net/gaim/?rev=17133&view=rev
Author:   sadrul
Date:     2006-09-02 19:12:26 -0700 (Sat, 02 Sep 2006)
Log Message:
-----------
If the window-title has wide-characters, and you go in move/resize mode,
then reversing the colors screws up the title. This is a fix for that.
It's a bit hackish, but that's the way it's gotta be for now.
Modified Paths:
--------------
    trunk/console/libgnt/gntmain.c
Modified: trunk/console/libgnt/gntmain.c
===================================================================
--- trunk/console/libgnt/gntmain.c	2006-09-02 23:23:30 UTC (rev 17132)
+++ trunk/console/libgnt/gntmain.c	2006-09-03 02:12:26 UTC (rev 17133)
@@ -1,3 +1,6 @@
+#define _XOPEN_SOURCE
+#define _XOPEN_SOURCE_EXTENDED
+
 #include "config.h"
 
 #ifdef HAVE_NCURSESW_INC
@@ -28,6 +31,8 @@
 #include <sys/types.h>
 #include <sys/wait.h>
 
+#include <wchar.h>
+
 /**
  * Notes: Interesting functions to look at:
  * 	scr_dump, scr_init, scr_restore: for workspaces
@@ -647,6 +652,28 @@
 	return FALSE; /* XXX: this should be TRUE */
 }
 
+/* Returns the onscreen width of the character at the position */
+static int
+reverse_char(WINDOW *d, int y, int x, gboolean set)
+{
+	/* This is supposed to simply in_wch the cchar_t, set the attribute,
+	 * and add_wch. But that doesn't currently work, possibly because of
+	 * a bug in ncurses. This is an ugly hack to work around that. */
+	cchar_t ch;
+	int wc = 1, j;
+
+#define DECIDE(ch) (set ? ((ch) | WA_REVERSE) : ((ch) & ~WA_REVERSE))
+
+	if (mvwin_wch(d, y, x, &ch) == OK) {
+		wc = wcswidth(ch.chars, CCHARW_MAX);
+		for (j = 0; j < wc; j++)
+			mvwdelch(d, y, x);
+		ch.attr = DECIDE(ch.attr);
+		mvwins_wch(d, y, x, &ch);
+	}
+	return wc;
+}
+
 static void
 window_reverse(GntWidget *win, gboolean set)
 {
@@ -660,23 +687,13 @@
 	d = win->window;
 	gnt_widget_get_size(win, &w, &h);
 
-#define DECIDE(ch) (set ? ((ch) | A_REVERSE) : ((ch) & ~A_REVERSE))
-
 	/* the top and bottom */
-	for (i = 0; i < w; i++) {
-		chtype ch = mvwinch(d, 0, i);
-		mvwaddch(win->window, 0, i, DECIDE(ch));
-		ch = mvwinch(d, h-1, i);
-		mvwaddch(win->window, h-1, i, DECIDE(ch));
-	}
+	for (i = 0; i < w; i += reverse_char(d, 0, i, set));
+	for (i = 0; i < w; i += reverse_char(d, h-1, i, set));
 
-	/* the left an right */
-	for (i = 0; i < h; i++) {
-		chtype ch = mvwinch(d, i, 0);
-		mvwaddch(win->window, i, 0, DECIDE(ch));
-		ch = mvwinch(d, i, w-1);
-		mvwaddch(win->window, i, w-1, DECIDE(ch));
-	}
+	/* the left and right */
+	for (i = 0; i < h; i += reverse_char(d, i, 0, set));
+	for (i = 0; i < h; i += reverse_char(d, i, w-1, set));
 
 	wrefresh(win->window);
 }
@@ -854,8 +871,7 @@
 			else if (buffer[1] == 0)
 			{
 				mode = GNT_KP_MODE_NORMAL;
-				changed = TRUE;
-				gnt_widget_draw(widget);
+				window_reverse(widget, FALSE);
 			}
 
 			if (changed)
@@ -964,7 +980,7 @@
 
 	if ((pid == (pid_t) - 1) && (errno != ECHILD)) {
 		char errmsg[BUFSIZ];
-		snprintf(errmsg, BUFSIZ, "Warning: waitpid() returned %d", pid);
+		g_snprintf(errmsg, BUFSIZ, "Warning: waitpid() returned %d", pid);
 		perror(errmsg);
 	}
 }
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <sa...@us...> - 2006-09-02 23:23:37
      
     | 
| Revision: 17132
          http://svn.sourceforge.net/gaim/?rev=17132&view=rev
Author:   sadrul
Date:     2006-09-02 16:23:30 -0700 (Sat, 02 Sep 2006)
Log Message:
-----------
Do the same for the texts in buttons, and minor adjustments.
Modified Paths:
--------------
    trunk/console/libgnt/gntbutton.c
    trunk/console/libgnt/gntutils.c
Modified: trunk/console/libgnt/gntbutton.c
===================================================================
--- trunk/console/libgnt/gntbutton.c	2006-09-02 23:06:25 UTC (rev 17131)
+++ trunk/console/libgnt/gntbutton.c	2006-09-02 23:23:30 UTC (rev 17132)
@@ -128,7 +128,7 @@
 	GntWidget *widget = g_object_new(GNT_TYPE_BUTTON, NULL);
 	GntButton *button = GNT_BUTTON(widget);
 
-	button->priv->text = g_strdup(text);
+	button->priv->text = gnt_util_onscreen_fit_string(text, -1);
 	gnt_widget_set_take_focus(widget, TRUE);
 
 	return widget;
Modified: trunk/console/libgnt/gntutils.c
===================================================================
--- trunk/console/libgnt/gntutils.c	2006-09-02 23:06:25 UTC (rev 17131)
+++ trunk/console/libgnt/gntutils.c	2006-09-02 23:23:30 UTC (rev 17132)
@@ -82,17 +82,18 @@
 	while (*start) {
 		if ((end = strchr(start, '\n')) != NULL ||
 			(end = strchr(start, '\r')) != NULL) {
-			if (gnt_util_onscreen_width(start, end) <= maxw) {
-				++end;
-			} else
+			if (gnt_util_onscreen_width(start, end) > maxw)
 				end = NULL;
 		}
 		if (end == NULL)
 			end = gnt_util_onscreen_width_to_pointer(start, maxw, NULL);
 		str = g_string_append_len(str, start, end - start);
+		if (*end) {
+			str = g_string_append_c(str, '\n');
+			if (*end == '\n' || *end == '\r')
+				end++;
+		}
 		start = end;
-		if (*end && *end != '\n' && *end != '\r')
-			str = g_string_append_c(str, '\n');
 	}
 	return g_string_free(str, FALSE);
 }
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <sa...@us...> - 2006-09-02 23:06:43
      
     | 
| Revision: 17131
          http://svn.sourceforge.net/gaim/?rev=17131&view=rev
Author:   sadrul
Date:     2006-09-02 16:06:25 -0700 (Sat, 02 Sep 2006)
Log Message:
-----------
Try to make sure the strings are not too long to get out of the range of the screen.
Modified Paths:
--------------
    trunk/console/libgnt/gntlabel.c
    trunk/console/libgnt/gntutils.c
    trunk/console/libgnt/gntutils.h
Modified: trunk/console/libgnt/gntlabel.c
===================================================================
--- trunk/console/libgnt/gntlabel.c	2006-09-02 20:17:43 UTC (rev 17130)
+++ trunk/console/libgnt/gntlabel.c	2006-09-02 23:06:25 UTC (rev 17131)
@@ -101,7 +101,7 @@
 	GntWidget *widget = g_object_new(GNT_TYPE_LABEL, NULL);
 	GntLabel *label = GNT_LABEL(widget);
 
-	label->text = g_strdup(text);
+	label->text = gnt_util_onscreen_fit_string(text, -1);
 	label->flags = flags;
 	gnt_widget_set_take_focus(widget, FALSE);
 	GNT_WIDGET_SET_FLAGS(widget, GNT_WIDGET_NO_BORDER | GNT_WIDGET_NO_SHADOW);
@@ -112,7 +112,7 @@
 void gnt_label_set_text(GntLabel *label, const char *text)
 {
 	g_free(label->text);
-	label->text = g_strdup(text);
+	label->text = gnt_util_onscreen_fit_string(text, -1);
 
 	if (GNT_WIDGET(label)->window)
 	{
Modified: trunk/console/libgnt/gntutils.c
===================================================================
--- trunk/console/libgnt/gntutils.c	2006-09-02 20:17:43 UTC (rev 17130)
+++ trunk/console/libgnt/gntutils.c	2006-09-02 23:06:25 UTC (rev 17131)
@@ -68,3 +68,32 @@
 	return str;
 }
 
+char *gnt_util_onscreen_fit_string(const char *string, int maxw)
+{
+	const char *start, *end;
+	GString *str;
+
+	if (maxw <= 0)
+		maxw = getmaxx(stdscr) - 4;
+
+	start = string;
+	str = g_string_new(NULL);
+
+	while (*start) {
+		if ((end = strchr(start, '\n')) != NULL ||
+			(end = strchr(start, '\r')) != NULL) {
+			if (gnt_util_onscreen_width(start, end) <= maxw) {
+				++end;
+			} else
+				end = NULL;
+		}
+		if (end == NULL)
+			end = gnt_util_onscreen_width_to_pointer(start, maxw, NULL);
+		str = g_string_append_len(str, start, end - start);
+		start = end;
+		if (*end && *end != '\n' && *end != '\r')
+			str = g_string_append_c(str, '\n');
+	}
+	return g_string_free(str, FALSE);
+}
+
Modified: trunk/console/libgnt/gntutils.h
===================================================================
--- trunk/console/libgnt/gntutils.h	2006-09-02 20:17:43 UTC (rev 17130)
+++ trunk/console/libgnt/gntutils.h	2006-09-02 23:06:25 UTC (rev 17131)
@@ -9,3 +9,11 @@
 int gnt_util_onscreen_width(const char *start, const char *end);
 
 const char *gnt_util_onscreen_width_to_pointer(const char *str, int len, int *w);
+
+/* Inserts newlines in 'string' where necessary so that its onscreen width is
+ * no more than 'maxw'.
+ * 'maxw' can be <= 0, in which case the maximum screen width is considered.
+ *
+ * Returns a newly allocated string.
+ */
+char *gnt_util_onscreen_fit_string(const char *string, int maxw);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <sa...@us...> - 2006-09-02 20:18:01
      
     | 
| Revision: 17130
          http://svn.sourceforge.net/gaim/?rev=17130&view=rev
Author:   sadrul
Date:     2006-09-02 13:17:43 -0700 (Sat, 02 Sep 2006)
Log Message:
-----------
Show the accounts-dialog at startup if there's no enabled account.
Modified Paths:
--------------
    trunk/console/gntaccount.c
    trunk/console/libgnt/wms/s.c
Modified: trunk/console/gntaccount.c
===================================================================
--- trunk/console/gntaccount.c	2006-09-02 19:29:06 UTC (rev 17129)
+++ trunk/console/gntaccount.c	2006-09-02 20:17:43 UTC (rev 17130)
@@ -693,6 +693,8 @@
 
 void gg_accounts_init()
 {
+	GList *iter;
+
 	gaim_signal_connect(gaim_accounts_get_handle(), "account-added",
 			gg_accounts_get_handle(), GAIM_CALLBACK(account_added_callback),
 			NULL);
@@ -700,7 +702,12 @@
 			gg_accounts_get_handle(), GAIM_CALLBACK(account_removed_callback),
 			NULL);
 	
-	gg_accounts_show_all();
+	for (iter = gaim_accounts_get_all(); iter; iter = iter->next) {
+		if (gaim_account_get_enabled(iter->data, GAIM_GNT_UI))
+			break;
+	}
+	if (!iter)
+		gg_accounts_show_all();
 }
 
 void gg_accounts_uninit()
Modified: trunk/console/libgnt/wms/s.c
===================================================================
--- trunk/console/libgnt/wms/s.c	2006-09-02 19:29:06 UTC (rev 17129)
+++ trunk/console/libgnt/wms/s.c	2006-09-02 20:17:43 UTC (rev 17130)
@@ -14,6 +14,7 @@
 	gnt_widget_get_size(win, &w, &h);
 	wresize(win->window, h, w + 1);
 	mvwvline(win->window, 0, w, ACS_VLINE | COLOR_PAIR(GNT_COLOR_NORMAL), h);
+	touchwin(win->window);
 }
 
 static void
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <sa...@us...> - 2006-09-02 19:30:28
      
     | 
| Revision: 17129
          http://svn.sourceforge.net/gaim/?rev=17129&view=rev
Author:   sadrul
Date:     2006-09-02 12:29:06 -0700 (Sat, 02 Sep 2006)
Log Message:
-----------
Print a "<AUTO-REPLY>" before the autoreply messages.
Fix some earlier brain-damaged ifdefs.
Modified Paths:
--------------
    trunk/console/gntconv.c
    trunk/console/libgnt/gntcolors.c
    trunk/console/libgnt/gntmain.c
    trunk/console/libgnt/gntwidget.h
    trunk/console/libgnt/gntwm.h
Modified: trunk/console/gntconv.c
===================================================================
--- trunk/console/gntconv.c	2006-09-02 18:55:27 UTC (rev 17128)
+++ trunk/console/gntconv.c	2006-09-02 19:29:06 UTC (rev 17129)
@@ -301,6 +301,10 @@
 		gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(ggconv->tv),
 					gaim_utf8_strftime("(%H:%M:%S) ", localtime(&mtime)), GNT_TEXT_FLAG_DIM);
 
+	if (flags & GAIM_MESSAGE_AUTO_RESP)
+		gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(ggconv->tv),
+					_("<AUTO-REPLY> "), GNT_TEXT_FLAG_BOLD);
+
 	if (who && *who && (flags & (GAIM_MESSAGE_SEND | GAIM_MESSAGE_RECV)))
 	{
 		char * name = NULL;
Modified: trunk/console/libgnt/gntcolors.c
===================================================================
--- trunk/console/libgnt/gntcolors.c	2006-09-02 18:55:27 UTC (rev 17128)
+++ trunk/console/libgnt/gntcolors.c	2006-09-02 19:29:06 UTC (rev 17129)
@@ -1,3 +1,5 @@
+#include "config.h"
+
 #ifdef HAVE_NCURSESW_INC
 #include <ncursesw/ncurses.h>
 #else
Modified: trunk/console/libgnt/gntmain.c
===================================================================
--- trunk/console/libgnt/gntmain.c	2006-09-02 18:55:27 UTC (rev 17128)
+++ trunk/console/libgnt/gntmain.c	2006-09-02 19:29:06 UTC (rev 17129)
@@ -1,3 +1,5 @@
+#include "config.h"
+
 #ifdef HAVE_NCURSESW_INC
 #include <ncursesw/panel.h>
 #else
@@ -655,7 +657,7 @@
 	if (GNT_WIDGET_IS_FLAG_SET(win, GNT_WIDGET_NO_BORDER))
 		return;
 	
-	d = dupwin(win->window);
+	d = win->window;
 	gnt_widget_get_size(win, &w, &h);
 
 #define DECIDE(ch) (set ? ((ch) | A_REVERSE) : ((ch) & ~A_REVERSE))
@@ -677,7 +679,6 @@
 	}
 
 	wrefresh(win->window);
-	delwin(d);
 }
 
 static gboolean
Modified: trunk/console/libgnt/gntwidget.h
===================================================================
--- trunk/console/libgnt/gntwidget.h	2006-09-02 18:55:27 UTC (rev 17128)
+++ trunk/console/libgnt/gntwidget.h	2006-09-02 19:29:06 UTC (rev 17129)
@@ -1,6 +1,8 @@
 #ifndef GNT_WIDGET_H
 #define GNT_WIDGET_H
 
+#include "config.h"
+
 #include <stdio.h>
 #include <glib.h>
 #include <glib-object.h>
Modified: trunk/console/libgnt/gntwm.h
===================================================================
--- trunk/console/libgnt/gntwm.h	2006-09-02 18:55:27 UTC (rev 17128)
+++ trunk/console/libgnt/gntwm.h	2006-09-02 19:29:06 UTC (rev 17129)
@@ -1,3 +1,5 @@
+#include "config.h"
+
 #ifdef HAVE_NCURSESW_INC
 #include <ncursesw/panel.h>
 #else
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <sa...@us...> - 2006-09-02 18:56:23
      
     | 
| Revision: 17128
          http://svn.sourceforge.net/gaim/?rev=17128&view=rev
Author:   sadrul
Date:     2006-09-02 11:55:27 -0700 (Sat, 02 Sep 2006)
Log Message:
-----------
Keep things neat and clean in gnt_util_onscreen_width_to_pointer.
The only use of this function currently is to truncate a string to
make sure it fits in the drawing area, eg, the title of a window,
or in the combobox. The function is called on a newly allocated
string, which is truncated (if necessary), printed, and freed.
Modified Paths:
--------------
    trunk/console/libgnt/gntbox.c
    trunk/console/libgnt/gntcombobox.c
    trunk/console/libgnt/gntutils.c
    trunk/console/libgnt/gntutils.h
    trunk/console/libgnt/test/focus.c
Modified: trunk/console/libgnt/gntbox.c
===================================================================
--- trunk/console/libgnt/gntbox.c	2006-09-02 16:55:32 UTC (rev 17127)
+++ trunk/console/libgnt/gntbox.c	2006-09-02 18:55:27 UTC (rev 17128)
@@ -30,7 +30,7 @@
 {
 	GntWidget *widget = GNT_WIDGET(box);
 	int len;
-	char *end = gnt_util_onscreen_width_to_pointer(title, widget->priv.width - 4, &len);
+	char *end = (char*)gnt_util_onscreen_width_to_pointer(title, widget->priv.width - 4, &len);
 	
 	if (p)
 		*p = (widget->priv.width - len) / 2;
Modified: trunk/console/libgnt/gntcombobox.c
===================================================================
--- trunk/console/libgnt/gntcombobox.c	2006-09-02 16:55:32 UTC (rev 17127)
+++ trunk/console/libgnt/gntcombobox.c	2006-09-02 18:55:27 UTC (rev 17128)
@@ -36,7 +36,7 @@
 gnt_combo_box_draw(GntWidget *widget)
 {
 	GntComboBox *box = GNT_COMBO_BOX(widget);
-	char *text = NULL;
+	char *text = NULL, *s;
 	GntColorType type;
 	int len;
 	
@@ -53,12 +53,8 @@
 
 	wbkgdset(widget->window, '\0' | COLOR_PAIR(type));
 
-	if ((len = g_utf8_strlen(text, -1)) > widget->priv.width - 4)
-	{
-		char *s = gnt_util_onscreen_width_to_pointer(text, widget->priv.width - 4, NULL);
-		*s = '\0';
-		len = widget->priv.width - 4;
-	}
+	s = (char*)gnt_util_onscreen_width_to_pointer(text, widget->priv.width - 4, &len);
+	*s = '\0';
 
 	mvwprintw(widget->window, 1, 1, text);
 	whline(widget->window, ' ' | COLOR_PAIR(type), widget->priv.width - 4 - len);
Modified: trunk/console/libgnt/gntutils.c
===================================================================
--- trunk/console/libgnt/gntutils.c	2006-09-02 16:55:32 UTC (rev 17127)
+++ trunk/console/libgnt/gntutils.c	2006-09-02 18:55:27 UTC (rev 17128)
@@ -20,15 +20,15 @@
 			if (*s == '\n' || *s == '\r')
 			{
 				count++;
-				len = g_utf8_pointer_to_offset(last, s);
+				len = gnt_util_onscreen_width(last, s);
 				if (max < len)
 					max = len;
 				last = s + 1;
 			}
-			s++;
+			s = g_utf8_next_char(s);
 		}
 
-		len = g_utf8_pointer_to_offset(last, s);
+		len = gnt_util_onscreen_width(last, s);
 		if (max < len)
 			max = len;
 	}
@@ -50,11 +50,11 @@
 	return width;
 }
 
-char *gnt_util_onscreen_width_to_pointer(const char *string, int len, int *w)
+const char *gnt_util_onscreen_width_to_pointer(const char *string, int len, int *w)
 {
 	int size;
 	int width = 0;
-	char *str = (char*)string;
+	const char *str = string;
 
 	while (width < len && *str) {
 		size = g_unichar_iswide(g_utf8_get_char(str)) ? 2 : 1;
Modified: trunk/console/libgnt/gntutils.h
===================================================================
--- trunk/console/libgnt/gntutils.h	2006-09-02 16:55:32 UTC (rev 17127)
+++ trunk/console/libgnt/gntutils.h	2006-09-02 18:55:27 UTC (rev 17128)
@@ -8,4 +8,4 @@
 /* excluding *end */
 int gnt_util_onscreen_width(const char *start, const char *end);
 
-char *gnt_util_onscreen_width_to_pointer(const char *str, int len, int *w);
+const char *gnt_util_onscreen_width_to_pointer(const char *str, int len, int *w);
Modified: trunk/console/libgnt/test/focus.c
===================================================================
--- trunk/console/libgnt/test/focus.c	2006-09-02 16:55:32 UTC (rev 17127)
+++ trunk/console/libgnt/test/focus.c	2006-09-02 18:55:27 UTC (rev 17128)
@@ -25,7 +25,7 @@
 	gnt_init();
 #endif
 	
-	GntWidget *label = gnt_label_new("So wassup dudes and dudettes!!\nSo this is, like,\nthe third line!! \\o/");
+	GntWidget *label = gnt_label_new("So wassup dudes and dudettes!!\u4e0a1\u6d772\u67003\u4f4e4\u67085\nSo this is, like,\nthe third line!! \\o/");
 	GntWidget *vbox, *hbox, *tree, *box, *button;
 	WINDOW *test;
 
@@ -61,7 +61,7 @@
 	gnt_tree_add_choice(GNT_TREE(tree), "b", gnt_tree_create_row(GNT_TREE(tree), "b"), "d", NULL);
 
 	GNT_WIDGET_UNSET_FLAGS(hbox, GNT_WIDGET_NO_BORDER | GNT_WIDGET_NO_SHADOW);
-	gnt_box_set_title(GNT_BOX(hbox), "This is the title …");
+	gnt_box_set_title(GNT_BOX(hbox), "\u4e0a\u6d77\u6700\u4f4e\u6708\u5de5 …");
 
 	g_signal_connect(G_OBJECT(tree), "toggled", G_CALLBACK(toggled), NULL);
 
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <ebl...@us...> - 2006-09-02 16:55:47
      
     | 
| Revision: 17127
          http://svn.sourceforge.net/gaim/?rev=17127&view=rev
Author:   eblanton
Date:     2006-09-02 09:55:32 -0700 (Sat, 02 Sep 2006)
Log Message:
-----------
This fixes titles containing double-column wide characters for me.
Editing of double-column characters in gntentry remains a bit
bustinated (though it is my recollection that it worked at one time).
This additionally does not require wcwidth() and its attendant
funkiness.
The version of gnt_util_onscreen_width_to_pointer in this commit
*appears* to do what the extant version was supposed to do, though I'm
not sure I grokked it fully; it does correct the rendering glitches
for me.  I'm not at all comfortable with the de-constification of the
input string and attendant return of the de-constified pointer.
Sadrul will have to let me know what is supposed to happen there.
Output on non-UTF-8 terminals is not correct, but was not correct
before, either.
Modified Paths:
--------------
    trunk/console/libgnt/configure.ac
    trunk/console/libgnt/gntutils.c
Modified: trunk/console/libgnt/configure.ac
===================================================================
--- trunk/console/libgnt/configure.ac	2006-09-02 07:38:08 UTC (rev 17126)
+++ trunk/console/libgnt/configure.ac	2006-09-02 16:55:32 UTC (rev 17127)
@@ -198,7 +198,7 @@
 AC_CHECK_HEADERS(sys/file.h sys/filio.h sys/ioctl.h sys/msgbuf.h)
 AC_CHECK_HEADERS(sys/select.h sys/uio.h sys/utsname.h sys/wait.h)
 AC_CHECK_HEADERS(termios.h)
-AC_CHECK_FUNC(wcwidth, [AC_DEFINE([HAVE_WCWIDTH], [1], [Define to 1 if you have wcwidth function.])])
+#AC_CHECK_FUNC(wcwidth, [AC_DEFINE([HAVE_WCWIDTH], [1], [Define to 1 if you have wcwidth function.])])
 #AC_VAR_TIMEZONE_EXTERNALS
 
 AC_CHECK_LIB(ncursesw, initscr, , [AC_MSG_ERROR([
Modified: trunk/console/libgnt/gntutils.c
===================================================================
--- trunk/console/libgnt/gntutils.c	2006-09-02 07:38:08 UTC (rev 17126)
+++ trunk/console/libgnt/gntutils.c	2006-09-02 16:55:32 UTC (rev 17127)
@@ -5,14 +5,6 @@
 
 #include "config.h"
 
-#ifndef HAVE_WCWIDTH
-#define wcwidth(X) 1
-#else
-#define __USE_XOPEN
-#endif
-
-#include <wchar.h>
-
 void gnt_util_get_text_bound(const char *text, int *width, int *height)
 {
 	const char *s = text, *last;
@@ -49,47 +41,30 @@
 
 int gnt_util_onscreen_width(const char *start, const char *end)
 {
-	wchar_t wch;
-	int size;
 	int width = 0;
 
 	while (start < end) {
-		if ((size = mbtowc(&wch, start, end - start)) > 0) {
-			start += size;
-			width += wcwidth(wch);
-		} else {
-			++width;
-			++start;
-		}
+		width += g_unichar_iswide(g_utf8_get_char(start)) ? 2 : 1;
+		start = g_utf8_next_char(start);
 	}
 	return width;
 }
 
 char *gnt_util_onscreen_width_to_pointer(const char *string, int len, int *w)
 {
-	wchar_t wch;
 	int size;
 	int width = 0;
 	char *str = (char*)string;
-	int slen = strlen(string);  /* Yeah, no. of bytes */
 
 	while (width < len && *str) {
-		if ((size = mbtowc(&wch, str, slen)) > 0) {
-			if (width + wcwidth(wch) > len)
-				break;
-			str += size;
-			width += wcwidth(wch);
-			slen -= size;
-		} else {
-			++str;
-			++width;
-			--slen;
-		}
+		size = g_unichar_iswide(g_utf8_get_char(str)) ? 2 : 1;
+		if (width + size > len)
+			break;
+		str = g_utf8_next_char(str);
+		width += size;
 	}
-
 	if (w)
 		*w = width;
-
 	return str;
 }
 
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <sa...@us...> - 2006-09-02 07:38:29
      
     | 
| Revision: 17126
          http://svn.sourceforge.net/gaim/?rev=17126&view=rev
Author:   sadrul
Date:     2006-09-02 00:38:08 -0700 (Sat, 02 Sep 2006)
Log Message:
-----------
how about now?
Modified Paths:
--------------
    trunk/console/libgnt/gntutils.c
Modified: trunk/console/libgnt/gntutils.c
===================================================================
--- trunk/console/libgnt/gntutils.c	2006-09-02 06:24:50 UTC (rev 17125)
+++ trunk/console/libgnt/gntutils.c	2006-09-02 07:38:08 UTC (rev 17126)
@@ -2,14 +2,17 @@
 
 #include <stdlib.h>
 #include <string.h>
-#include <wchar.h>
 
 #include "config.h"
 
 #ifndef HAVE_WCWIDTH
 #define wcwidth(X) 1
+#else
+#define __USE_XOPEN
 #endif
 
+#include <wchar.h>
+
 void gnt_util_get_text_bound(const char *text, int *width, int *height)
 {
 	const char *s = text, *last;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <sa...@us...> - 2006-09-02 06:24:56
      
     | 
| Revision: 17125
          http://svn.sourceforge.net/gaim/?rev=17125&view=rev
Author:   sadrul
Date:     2006-09-01 23:24:50 -0700 (Fri, 01 Sep 2006)
Log Message:
-----------
This should fix the problem where multi-column characters would screw up
a window-title.
Modified Paths:
--------------
    trunk/configure.ac
    trunk/console/libgnt/configure.ac
    trunk/console/libgnt/gntbox.c
    trunk/console/libgnt/gntutils.c
Modified: trunk/configure.ac
===================================================================
--- trunk/configure.ac	2006-09-02 05:31:10 UTC (rev 17124)
+++ trunk/configure.ac	2006-09-02 06:24:50 UTC (rev 17125)
@@ -820,6 +820,7 @@
 fi
 AC_SUBST(GNT_LIBS)
 AM_CONDITIONAL(ENABLE_GNT, test "x$enable_gnt" = "xyes")
+AC_CHECK_FUNC(wcwidth, [AC_DEFINE([HAVE_WCWIDTH], [1], [Define to 1 if you have wcwidth function.])])
 
 dnl #######################################################################
 dnl # Look for startup-notification, evolution integration, X-libraries,
Modified: trunk/console/libgnt/configure.ac
===================================================================
--- trunk/console/libgnt/configure.ac	2006-09-02 05:31:10 UTC (rev 17124)
+++ trunk/console/libgnt/configure.ac	2006-09-02 06:24:50 UTC (rev 17125)
@@ -198,6 +198,7 @@
 AC_CHECK_HEADERS(sys/file.h sys/filio.h sys/ioctl.h sys/msgbuf.h)
 AC_CHECK_HEADERS(sys/select.h sys/uio.h sys/utsname.h sys/wait.h)
 AC_CHECK_HEADERS(termios.h)
+AC_CHECK_FUNC(wcwidth, [AC_DEFINE([HAVE_WCWIDTH], [1], [Define to 1 if you have wcwidth function.])])
 #AC_VAR_TIMEZONE_EXTERNALS
 
 AC_CHECK_LIB(ncursesw, initscr, , [AC_MSG_ERROR([
Modified: trunk/console/libgnt/gntbox.c
===================================================================
--- trunk/console/libgnt/gntbox.c	2006-09-02 05:31:10 UTC (rev 17124)
+++ trunk/console/libgnt/gntbox.c	2006-09-02 06:24:50 UTC (rev 17125)
@@ -1,4 +1,5 @@
 #include "gntbox.h"
+#include "gntutils.h"
 
 #include <string.h>
 
@@ -28,26 +29,14 @@
 get_title_thingies(GntBox *box, char *title, int *p, int *r)
 {
 	GntWidget *widget = GNT_WIDGET(box);
-	int pos = g_utf8_strlen(title, -1), right;
-
-	if (pos >= widget->priv.width - 4)
-	{
-		g_utf8_strncpy(title, title, widget->priv.width - 4);
-		pos = 2;
-		right = pos + g_utf8_strlen(title, -1);
-	}
-	else
-	{
-		/* XXX: Position of the title might be configurable */
-		right = pos;
-		pos = (widget->priv.width - pos) / 2;
-		right += pos;
-	}
-
+	int len;
+	char *end = gnt_util_onscreen_width_to_pointer(title, widget->priv.width - 4, &len);
+	
 	if (p)
-		*p = pos;
+		*p = (widget->priv.width - len) / 2;
 	if (r)
-		*r = right;
+		*r = (widget->priv.width + len) / 2;
+	*end = '\0';
 }
 
 static void
Modified: trunk/console/libgnt/gntutils.c
===================================================================
--- trunk/console/libgnt/gntutils.c	2006-09-02 05:31:10 UTC (rev 17124)
+++ trunk/console/libgnt/gntutils.c	2006-09-02 06:24:50 UTC (rev 17125)
@@ -4,7 +4,9 @@
 #include <string.h>
 #include <wchar.h>
 
-#ifndef __USE_XOPEN
+#include "config.h"
+
+#ifndef HAVE_WCWIDTH
 #define wcwidth(X) 1
 #endif
 
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <de...@us...> - 2006-09-02 05:31:47
      
     | 
| Revision: 17124
          http://svn.sourceforge.net/gaim/?rev=17124&view=rev
Author:   deryni9
Date:     2006-09-01 22:31:10 -0700 (Fri, 01 Sep 2006)
Log Message:
-----------
This is a Gaim::Gtk perl module for use by gaim plugins to get access to the
gtkgaim interface functions. It isn't complete because anything dealing with
Gtk widgets themselves doesn't work yet (I need to figure out the best way to
do that). To use this a perl plugin just needs to include 'use Gaim::Gtk;'
either on top of 'use Gaim;' or instead of it.
I'm not done with this yet.
At the moment you have to 'use Gaim;' or 'use Gaim::Gtk;' which loads all the
parts, I'm planning to let you actually say 'use Gaim::Gtk::Debug;' to just
get the gtkdebug.h functions. Though 'use Gaim' would work the same way as
always.
Modified Paths:
--------------
    trunk/configure.ac
    trunk/gtk/plugins/Makefile.am
Added Paths:
-----------
    trunk/gtk/plugins/perl/
    trunk/gtk/plugins/perl/Makefile.am
    trunk/gtk/plugins/perl/common/
    trunk/gtk/plugins/perl/common/Gtk.pm
    trunk/gtk/plugins/perl/common/Gtk.xs
    trunk/gtk/plugins/perl/common/GtkAccount.xs
    trunk/gtk/plugins/perl/common/GtkBlist.xs
    trunk/gtk/plugins/perl/common/GtkConn.xs
    trunk/gtk/plugins/perl/common/GtkConv.xs
    trunk/gtk/plugins/perl/common/GtkConvWin.xs
    trunk/gtk/plugins/perl/common/GtkDebug.xs
    trunk/gtk/plugins/perl/common/GtkDialogs.xs
    trunk/gtk/plugins/perl/common/GtkFt.xs
    trunk/gtk/plugins/perl/common/GtkIMHtml.xs
    trunk/gtk/plugins/perl/common/GtkIMHtmlToolbar.xs
    trunk/gtk/plugins/perl/common/GtkLog.xs
    trunk/gtk/plugins/perl/common/GtkMenuTray.xs
    trunk/gtk/plugins/perl/common/GtkPlugin.xs
    trunk/gtk/plugins/perl/common/GtkPluginPref.xs
    trunk/gtk/plugins/perl/common/GtkPounce.xs
    trunk/gtk/plugins/perl/common/GtkPrefs.xs
    trunk/gtk/plugins/perl/common/GtkPrivacy.xs
    trunk/gtk/plugins/perl/common/GtkRoomlist.xs
    trunk/gtk/plugins/perl/common/GtkSavedStatuses.xs
    trunk/gtk/plugins/perl/common/GtkSession.xs
    trunk/gtk/plugins/perl/common/GtkSound.xs
    trunk/gtk/plugins/perl/common/GtkStatusBox.xs
    trunk/gtk/plugins/perl/common/GtkThemes.xs
    trunk/gtk/plugins/perl/common/GtkUtils.xs
    trunk/gtk/plugins/perl/common/MANIFEST
    trunk/gtk/plugins/perl/common/Makefile.PL.in
    trunk/gtk/plugins/perl/common/gtkmodule.h
    trunk/gtk/plugins/perl/common/typemap
Modified: trunk/configure.ac
===================================================================
--- trunk/configure.ac	2006-09-02 04:40:27 UTC (rev 17123)
+++ trunk/configure.ac	2006-09-02 05:31:10 UTC (rev 17124)
@@ -1822,11 +1822,13 @@
 		   gtk/plugins/Makefile
 		   gtk/plugins/cap/Makefile
 		   gtk/plugins/docklet/Makefile
+		   gtk/plugins/gestures/Makefile
 		   gtk/plugins/gevolution/Makefile
-		   gtk/plugins/gestures/Makefile
 		   gtk/plugins/musicmessaging/Makefile
+		   gtk/plugins/perl/Makefile
+		   gtk/plugins/perl/common/Makefile.PL
+		   gtk/plugins/ticker/Makefile
 		   gtk/sounds/Makefile
-		   gtk/plugins/ticker/Makefile
 		   libgaim/plugins/Makefile
 		   libgaim/plugins/mono/Makefile
 		   libgaim/plugins/mono/api/Makefile
Modified: trunk/gtk/plugins/Makefile.am
===================================================================
--- trunk/gtk/plugins/Makefile.am	2006-09-02 04:40:27 UTC (rev 17123)
+++ trunk/gtk/plugins/Makefile.am	2006-09-02 05:31:10 UTC (rev 17124)
@@ -1,4 +1,4 @@
-DIST_SUBDIRS = cap docklet gevolution gestures musicmessaging ticker
+DIST_SUBDIRS = cap docklet gestures gevolution musicmessaging perl ticker
 
 if BUILD_GEVOLUTION
 GEVOLUTION_DIR = gevolution
@@ -12,12 +12,17 @@
 CAP_DIR = cap
 endif
 
+if USE_PERL
+PERL_DIR = perl
+endif
+
 SUBDIRS = \
 	$(CAP_DIR) \
 	docklet \
+	gestures \
 	$(GEVOLUTION_DIR) \
-	gestures \
 	$(MUSICMESSAGING_DIR) \
+	$(PERL_DIR) \
 	ticker
 
 plugindir = $(libdir)/gaim
Added: trunk/gtk/plugins/perl/Makefile.am
===================================================================
--- trunk/gtk/plugins/perl/Makefile.am	                        (rev 0)
+++ trunk/gtk/plugins/perl/Makefile.am	2006-09-02 05:31:10 UTC (rev 17124)
@@ -0,0 +1,55 @@
+SUBDIRS = . common
+
+common_sources = \
+	common/Gtk.pm \
+	common/Gtk.xs \
+	common/GtkAccount.xs \
+	common/GtkBlist.xs \
+	common/GtkConn.xs \
+	common/GtkConv.xs \
+	common/GtkConvWin.xs \
+	common/GtkDebug.xs \
+	common/GtkDialogs.xs \
+	common/GtkFt.xs \
+	common/GtkIMHtml.xs \
+	common/GtkIMHtmlToolbar.xs \
+	common/GtkLog.xs \
+	common/GtkMenuTray.xs \
+	common/GtkPlugin.xs \
+	common/GtkPluginPref.xs \
+	common/GtkPounce.xs \
+	common/GtkPrefs.xs \
+	common/GtkPrivacy.xs \
+	common/GtkRoomlist.xs \
+	common/GtkSavedStatuses.xs \
+	common/GtkSession.xs \
+	common/GtkSound.xs \
+	common/GtkStatusBox.xs \
+	common/GtkThemes.xs \
+	common/GtkUtils.xs \
+	common/gtkmodule.h \
+	common/typemap
+
+EXTRA_DIST = \
+	Makefile.mingw \
+	common/Makefile.mingw \
+	common/Makefile.Pl.in \
+	$(common_sources)
+
+all-local: common/Makefile
+
+common/Makefile: common/Makefile.PL
+	@cd common && $(perlpath) Makefile.PL $(PERL_MM_PARAMS)
+
+common/Makefile.PL: common/Makefile.PL.in $(top_builddir)/config.status
+	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am_depfiles_maybe)
+
+AM_CPPFLAGS = \
+	-DVERSION=\"$(VERSION)\" \
+	-I$(top_srcdir) \
+	-I$(top_srcdir)/libgaim \
+	-I$(top_srcdir)/gtk \
+	$(DEBUG_CFLAGS) \
+	$(GTK_CFLAGS) \
+	$(PLUGIN_CFLAGS) \
+	$(PERL_CFLAGS)
Property changes on: trunk/gtk/plugins/perl/Makefile.am
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native
Added: trunk/gtk/plugins/perl/common/Gtk.pm
===================================================================
--- trunk/gtk/plugins/perl/common/Gtk.pm	                        (rev 0)
+++ trunk/gtk/plugins/perl/common/Gtk.pm	2006-09-02 05:31:10 UTC (rev 17124)
@@ -0,0 +1,61 @@
+package Gaim::Gtk;
+
+use 5.008;
+use strict;
+use warnings;
+use Carp;
+
+our $VERSION = '0.01';
+
+use Gaim;
+
+require XSLoader;
+XSLoader::load('Gaim::Gtk', $VERSION);
+
+1;
+__END__
+
+=head1 NAME
+
+Gaim::Gtk - Perl extension for the Gaim instant messenger.
+
+=head1 SYNOPSIS
+
+    use Gaim::Gtk;
+
+=head1 ABSTRACT
+
+    This module provides the interface for using perl scripts as plugins in
+    Gaim, with access to the Gaim Gtk interface functions.
+
+=head1 DESCRIPTION
+
+This module provides the interface for using perl scripts as plugins in Gaim,
+with access to the Gaim Gtk interface functions. With this, developers can
+write perl scripts that can be loaded in Gaim as plugins. The script can
+interact with IMs, chats, accoutns, the buddy list, gaim signals, and more.
+
+The API for the perl interface is very similar to that of the Gaim C API,
+which can be viewed at http://gaim.sourceforge.net/api/ or in the header files
+in the Gaim source tree.
+
+=head1 FUNCTIONS
+
+=over
+
+=back
+
+=head1 SEE ALSO
+Gaim C API documentation - http://gaim.sourceforge.net/api/
+
+The Gaim perl module.
+
+Gaim website - http://gaim.sourceforge.net/
+
+=head1 AUTHOR
+
+Etan Reisner, E<lt>de...@gm...<gt>
+
+=head1 COPYRIGHT AND LICENSE
+
+Copyright 2006 by Etan Reisner
Property changes on: trunk/gtk/plugins/perl/common/Gtk.pm
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native
Added: trunk/gtk/plugins/perl/common/Gtk.xs
===================================================================
--- trunk/gtk/plugins/perl/common/Gtk.xs	                        (rev 0)
+++ trunk/gtk/plugins/perl/common/Gtk.xs	2006-09-02 05:31:10 UTC (rev 17124)
@@ -0,0 +1,76 @@
+#include "gtkmodule.h"
+
+/*
+#define GAIM_PERL_BOOT_PROTO(x) \
+	void boot_Gaim__##x(pTHX_ CV *cv);
+
+#define GAIM_PERL_BOOT(x) \
+	gaim_perl_callXS(boot_Gaim__##x, cv, mark)
+
+static void
+gaim_perl_callXS(void (*subaddr)(pTHX_ CV *cv), CV *cv, SV **mark)
+{
+	dSP;
+
+	PUSHMARK(mark);
+	(*subaddr)(aTHX_ cv);
+
+	PUTBACK;
+}
+*/
+
+/* Prototypes for the BOOT section below. */
+GAIM_PERL_BOOT_PROTO(Gtk__Account);
+GAIM_PERL_BOOT_PROTO(Gtk__BuddyList);
+GAIM_PERL_BOOT_PROTO(Gtk__Connection);
+GAIM_PERL_BOOT_PROTO(Gtk__Conversation);
+GAIM_PERL_BOOT_PROTO(Gtk__Conversation__Window);
+GAIM_PERL_BOOT_PROTO(Gtk__Debug);
+GAIM_PERL_BOOT_PROTO(Gtk__Dialogs);
+GAIM_PERL_BOOT_PROTO(Gtk__IMHtml);
+GAIM_PERL_BOOT_PROTO(Gtk__IMHtmlToolbar);
+GAIM_PERL_BOOT_PROTO(Gtk__Log);
+GAIM_PERL_BOOT_PROTO(Gtk__MenuTray);
+GAIM_PERL_BOOT_PROTO(Gtk__Plugin);
+GAIM_PERL_BOOT_PROTO(Gtk__PluginPref);
+GAIM_PERL_BOOT_PROTO(Gtk__Pounce);
+GAIM_PERL_BOOT_PROTO(Gtk__Prefs);
+GAIM_PERL_BOOT_PROTO(Gtk__Privacy);
+GAIM_PERL_BOOT_PROTO(Gtk__Roomlist);
+GAIM_PERL_BOOT_PROTO(Gtk__Status);
+GAIM_PERL_BOOT_PROTO(Gtk__Session);
+GAIM_PERL_BOOT_PROTO(Gtk__Sound);
+GAIM_PERL_BOOT_PROTO(Gtk__StatusBox);
+GAIM_PERL_BOOT_PROTO(Gtk__Themes);
+GAIM_PERL_BOOT_PROTO(Gtk__Utils);
+GAIM_PERL_BOOT_PROTO(Gtk__Xfer);
+
+MODULE = Gaim::Gtk  PACKAGE = Gaim::Gtk PREFIX = gaim_gtk_
+PROTOTYPES: ENABLE
+
+BOOT:
+	GAIM_PERL_BOOT(Gtk__Debug);
+GAIM_PERL_BOOT(Gtk__Account);
+GAIM_PERL_BOOT(Gtk__BuddyList);
+GAIM_PERL_BOOT(Gtk__Connection);
+GAIM_PERL_BOOT(Gtk__Conversation);
+GAIM_PERL_BOOT(Gtk__Conversation__Window);
+GAIM_PERL_BOOT(Gtk__Debug);
+GAIM_PERL_BOOT(Gtk__Dialogs);
+GAIM_PERL_BOOT(Gtk__IMHtml);
+GAIM_PERL_BOOT(Gtk__IMHtmlToolbar);
+GAIM_PERL_BOOT(Gtk__Log);
+GAIM_PERL_BOOT(Gtk__MenuTray);
+GAIM_PERL_BOOT(Gtk__Plugin);
+GAIM_PERL_BOOT(Gtk__PluginPref);
+GAIM_PERL_BOOT(Gtk__Pounce);
+GAIM_PERL_BOOT(Gtk__Prefs);
+GAIM_PERL_BOOT(Gtk__Privacy);
+GAIM_PERL_BOOT(Gtk__Roomlist);
+GAIM_PERL_BOOT(Gtk__Status);
+GAIM_PERL_BOOT(Gtk__Session);
+GAIM_PERL_BOOT(Gtk__Sound);
+GAIM_PERL_BOOT(Gtk__StatusBox);
+GAIM_PERL_BOOT(Gtk__Themes);
+GAIM_PERL_BOOT(Gtk__Utils);
+GAIM_PERL_BOOT(Gtk__Xfer);
Property changes on: trunk/gtk/plugins/perl/common/Gtk.xs
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native
Added: trunk/gtk/plugins/perl/common/GtkAccount.xs
===================================================================
--- trunk/gtk/plugins/perl/common/GtkAccount.xs	                        (rev 0)
+++ trunk/gtk/plugins/perl/common/GtkAccount.xs	2006-09-02 05:31:10 UTC (rev 17124)
@@ -0,0 +1,24 @@
+#include "gtkmodule.h"
+
+MODULE = Gaim::Gtk::Account  PACKAGE = Gaim::Gtk::Account  PREFIX = gaim_gtk_account_
+PROTOTYPES: ENABLE
+
+void *
+gaim_gtk_account_get_handle()
+
+MODULE = Gaim::Gtk::Account  PACKAGE = Gaim::Gtk::Account::Dialog  PREFIX = gaim_gtk_account_dialog_
+PROTOTYPES: ENABLE
+
+void
+gaim_gtk_account_dialog_show(type, account)
+	Gaim::Gtk::Account::Dialog::Type type
+	Gaim::Account account
+
+MODULE = Gaim::Gtk::Account  PACKAGE = Gaim::Gtk::Account::Window  PREFIX = gaim_gtk_accounts_window_
+PROTOTYPES: ENABLE
+
+void
+gaim_gtk_accounts_window_show()
+
+void
+gaim_gtk_accounts_window_hide()
Property changes on: trunk/gtk/plugins/perl/common/GtkAccount.xs
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native
Added: trunk/gtk/plugins/perl/common/GtkBlist.xs
===================================================================
--- trunk/gtk/plugins/perl/common/GtkBlist.xs	                        (rev 0)
+++ trunk/gtk/plugins/perl/common/GtkBlist.xs	2006-09-02 05:31:10 UTC (rev 17124)
@@ -0,0 +1,120 @@
+#include "gtkmodule.h"
+
+/* This can't work at the moment since I don't have a typemap for Gtk::Widget.
+ * I thought about using the one from libgtk2-perl but wasn't sure how to go
+ * about doing that.
+
+void
+gaim_gtk_blist_make_buddy_menu(menu, buddy, sub)
+	Gtk::Widget menu
+	Gaim::Buddy buddy
+	gboolean sub
+*/
+
+/* This can't work at the moment since I don't have a typemap for Gdk::Pixbuf.
+ * I thought about using the one from libgtk2-perl but wasn't sure how to go
+ * about doing that.
+
+GdkPixbuf
+gaim_gtk_blist_get_status_icon(node, size)
+	Gaim::BuddyList::Node node
+	Gaim::Status::IconSize size
+*/
+
+/* This can't work at the moment since I don't have a typemap for Gtk::Widget.
+ * I thought about using the one from libgtk2-perl but wasn't sure how to go
+ * about doing that.
+
+void
+gaim_gtk_append_blist_node_proto_menu(menu, gc, node)
+	Gtk::Widget menu
+	Gaim::Connection gc
+	Gaim::BuddyList::Node node
+
+void
+gaim_gtk_append_blist_node_extended_menu(menu, node)
+	Gtk::Widget menu
+	Gaim::Connection gc
+	Gaim::BuddyList::Node node
+*/
+
+MODULE = Gaim::Gtk::BuddyList  PACKAGE = Gaim::Gtk::BuddyList  PREFIX = gaim_gtk_blist_
+PROTOTYPES: ENABLE
+
+void *
+gaim_gtk_blist_get_handle()
+
+Gaim::Gtk::BuddyList
+gaim_gtk_blist_get_default_gtk_blist()
+
+void
+gaim_gtk_blist_refresh(list)
+	Gaim::BuddyList list
+
+void
+gaim_gtk_blist_update_toolbar()
+
+void
+gaim_gtk_blist_update_columns()
+
+void
+gaim_gtk_blist_update_refresh_timeout()
+
+gboolean
+gaim_gtk_blist_node_is_contact_expanded(node)
+	Gaim::BuddyList::Node node
+
+void
+gaim_gtk_blist_toggle_visibility()
+
+void
+gaim_gtk_blist_visibility_manager_add()
+
+void
+gaim_gtk_blist_visibility_manager_remove()
+
+void
+gaim_gtk_blist_get_sort_methods()
+PREINIT:
+	GList *l;
+PPCODE:
+	for (l = gaim_gtk_blist_get_sort_methods(); l != NULL; l = l->next) {
+		XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::Gtk::BuddyList::SortMethod")));
+	}
+
+void
+gaim_gtk_blist_sort_method_reg(id, name, func)
+	const char * id
+	const char * name
+	Gaim::Gtk::BuddyList::SortFunction func
+
+void
+gaim_gtk_blist_sort_method_unreg(id)
+	const char * id
+
+void
+gaim_gtk_blist_sort_method_set(id)
+	const char * id
+
+void
+gaim_gtk_blist_setup_sort_methods()
+
+void
+gaim_gtk_blist_update_accounts_menu()
+
+void
+gaim_gtk_blist_update_plugin_actions()
+
+void
+gaim_gtk_blist_update_sort_methods()
+
+gboolean
+gaim_gtk_blist_joinchat_is_showable()
+
+void
+gaim_gtk_blist_joinchat_show()
+
+void
+gaim_gtk_blist_update_account_error_state(account, message)
+	Gaim::Account account
+	const char * message
Property changes on: trunk/gtk/plugins/perl/common/GtkBlist.xs
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native
Added: trunk/gtk/plugins/perl/common/GtkConn.xs
===================================================================
--- trunk/gtk/plugins/perl/common/GtkConn.xs	                        (rev 0)
+++ trunk/gtk/plugins/perl/common/GtkConn.xs	2006-09-02 05:31:10 UTC (rev 17124)
@@ -0,0 +1,7 @@
+#include "gtkmodule.h"
+
+MODULE = Gaim::Gtk::Connection  PACKAGE = Gaim::Gtk::Connection  PREFIX = gaim_gtk_connection_
+PROTOTYPES: ENABLE
+
+void *
+gaim_gtk_connection_get_handle()
Property changes on: trunk/gtk/plugins/perl/common/GtkConn.xs
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native
Added: trunk/gtk/plugins/perl/common/GtkConv.xs
===================================================================
--- trunk/gtk/plugins/perl/common/GtkConv.xs	                        (rev 0)
+++ trunk/gtk/plugins/perl/common/GtkConv.xs	2006-09-02 05:31:10 UTC (rev 17124)
@@ -0,0 +1,87 @@
+#include "gtkmodule.h"
+
+/* This can't work at the moment since I don't have a typemap for Gtk::Widget.
+ * I thought about using the one from libgtk2-perl but wasn't sure how to go
+ * about doing that.
+guint
+gaim_gtk_conversations_fill_menu(menu, convs)
+	Gtk::Widget menu
+	SV *convs
+PREINIT:
+	GList *t_GL;
+	int i, t_len;
+PPCODE:
+	t_GL = NULL;
+	t_len = av_len((AV *)SvRV(convs));
+
+	for (i = 0; i < t_len; i++) {
+		STRLEN t_sl;
+		t_GL = g_list_append(t_GL, SvPV(*av_fetch((AV *)SvRV(convs), i, 0), t_sl));
+	}
+	gaim_gtk_conversations_fill_menu(menu, t_GL);
+*/
+
+/* This can't work at the moment since I don't have a typemap for Gtk::Widget.
+ * I thought about using the one from libgtk2-perl but wasn't sure how to go
+ * about doing that.
+GdkPixbuf
+gaim_gtkconv_get_tab_icon(conv, small_icon)
+	Gaim::Conversation conv
+	gboolean small_icon
+*/
+
+/* This can't work at the moment since I don't have a typemap for gboolean *.
+int
+gaim_gtkconv_get_tab_at_xy(win, x, y, to_right)
+	Gaim::Gtk::Conversation::Window win
+	int x
+	int y
+	gboolean * to_right
+*/
+
+MODULE = Gaim::Gtk::Conversation  PACKAGE = Gaim::Gtk::Conversation  PREFIX = gaim_gtkconv_
+PROTOTYPES: ENABLE
+
+void
+gaim_gtkconv_update_buddy_icon(conv)
+	Gaim::Conversation conv
+
+void
+gaim_gtkconv_switch_active_conversation(conv)
+	Gaim::Conversation conv
+
+void
+gaim_gtkconv_update_tabs()
+
+void
+gaim_gtkconv_update_buttons_by_protocol(conv)
+	Gaim::Conversation conv
+
+void
+gaim_gtkconv_present_conversation(conv)
+	Gaim::Conversation conv
+
+Gaim::Gtk::Conversation::Window
+gaim_gtkconv_get_window(conv)
+	Gaim::Gtk::Conversation conv
+
+void
+gaim_gtkconv_new(conv)
+	Gaim::Conversation conv
+
+gboolean
+gaim_gtkconv_is_hidden(gtkconv)
+	Gaim::Gtk::Conversation gtkconv
+
+MODULE = Gaim::Gtk::Conversation  PACKAGE = Gaim::Gtk::Conversations  PREFIX = gaim_gtk_conversations_
+PROTOTYPES: ENABLE
+
+void
+gaim_gtk_conversations_find_unseen_list(type, min_state, hidden_only, max_count)
+	Gaim::ConversationType type
+	Gaim::UnseenState min_state
+	gboolean hidden_only
+	guint max_count
+
+void *
+gaim_gtk_conversations_get_handle()
Property changes on: trunk/gtk/plugins/perl/common/GtkConv.xs
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native
Added: trunk/gtk/plugins/perl/common/GtkConvWin.xs
===================================================================
--- trunk/gtk/plugins/perl/common/GtkConvWin.xs	                        (rev 0)
+++ trunk/gtk/plugins/perl/common/GtkConvWin.xs	2006-09-02 05:31:10 UTC (rev 17124)
@@ -0,0 +1,139 @@
+#include "gtkmodule.h"
+
+MODULE = Gaim::Gtk::Conversation::Window  PACKAGE = Gaim::Gtk::Conversation::Window  PREFIX = gaim_gtk_conv_window_
+PROTOTYPES: ENABLE
+
+Gaim::Gtk::Conversation::Window
+gaim_gtk_conv_window_new()
+
+void
+gaim_gtk_conv_window_destroy(win)
+	Gaim::Gtk::Conversation::Window win
+
+void
+gaim_gtk_conv_window_show(win)
+	Gaim::Gtk::Conversation::Window win
+
+void
+gaim_gtk_conv_window_hide(win)
+	Gaim::Gtk::Conversation::Window win
+
+void
+gaim_gtk_conv_window_raise(win)
+	Gaim::Gtk::Conversation::Window win
+
+void
+gaim_gtk_conv_window_switch_gtkconv(win, gtkconv)
+	Gaim::Gtk::Conversation::Window win
+	Gaim::Gtk::Conversation gtkconv
+
+void
+gaim_gtk_conv_window_add_gtkconv(win, gtkconv)
+	Gaim::Gtk::Conversation::Window win
+	Gaim::Gtk::Conversation gtkconv
+
+void
+gaim_gtk_conv_window_remove_gtkconv(win, gtkconv)
+	Gaim::Gtk::Conversation::Window win
+	Gaim::Gtk::Conversation gtkconv
+
+Gaim::Gtk::Conversation
+gaim_gtk_conv_window_get_gtkconv_at_index(win, index)
+	Gaim::Gtk::Conversation::Window win
+	int index
+
+Gaim::Gtk::Conversation
+gaim_gtk_conv_window_get_active_gtkconv(win)
+	Gaim::Gtk::Conversation::Window win
+
+Gaim::Conversation
+gaim_gtk_conv_window_get_active_conversation(win)
+	Gaim::Gtk::Conversation::Window win
+
+gboolean
+gaim_gtk_conv_window_is_active_conversation(conv)
+	Gaim::Conversation conv
+
+gboolean
+gaim_gtk_conv_window_has_focus(win)
+	Gaim::Gtk::Conversation::Window win
+
+Gaim::Gtk::Conversation::Window
+gaim_gtk_conv_window_get_at_xy(x, y)
+	int x
+	int y
+
+void
+gaim_gtk_conv_window_get_gtkconvs(win)
+	Gaim::Gtk::Conversation::Window win
+PREINIT:
+	GList *l;
+PPCODE:
+	for (l = gaim_gtk_conv_window_get_gtkconvs(win); l != NULL; l = l->next) {
+		XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::Gtk::Conversation")));
+	}
+
+guint
+gaim_gtk_conv_window_get_gtkconv_count(win)
+	Gaim::Gtk::Conversation::Window win
+
+Gaim::Gtk::Conversation::Window
+gaim_gtk_conv_window_first_with_type(type)
+	Gaim::ConversationType type
+
+Gaim::Gtk::Conversation::Window
+gaim_gtk_conv_window_last_with_type(type)
+	Gaim::ConversationType type
+
+MODULE = Gaim::Gtk::Conversation::Window  PACKAGE = Gaim::Gtk::Conversation::Placement  PREFIX = gaim_gtkconv_placement_
+PROTOTYPES: ENABLE
+
+void
+gaim_gtkconv_placement_get_options()
+PREINIT:
+	GList *l;
+PPCODE:
+	for (l = gaim_gtkconv_placement_get_options(); l != NULL; l = l->next) {
+		XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::Gtk::Conversation::Window")));
+	}
+
+void
+gaim_gtkconv_placement_add_fnc(id, name, fnc)
+	const char * id
+	const char * name
+	Gaim::Conversation::PlacementFunc fnc
+
+void
+gaim_gtkconv_placement_remove_fnc(id)
+	const char * id
+
+const char *
+gaim_gtkconv_placement_get_name(id)
+	const char * id
+
+Gaim::Conversation::PlacementFunc
+gaim_gtkconv_placement_get_fnc(id)
+	const char * id
+
+void
+gaim_gtkconv_placement_set_current_func(func)
+	Gaim::Conversation::PlacementFunc func
+
+Gaim::Conversation::PlacementFunc
+gaim_gtkconv_placement_get_current_func()
+
+void
+gaim_gtkconv_placement_place(gtkconv)
+	Gaim::Gtk::Conversation gtkconv
+
+MODULE = Gaim::Gtk::Conversation::Window  PACKAGE = Gaim::Gtk::Conversation::Windows  PREFIX = gaim_gtk_conv_windows_
+PROTOTYPES: ENABLE
+
+void
+gaim_gtk_conv_windows_get_list()
+PREINIT:
+	GList *l;
+PPCODE:
+	for (l = gaim_gtk_conv_windows_get_list(); l != NULL; l = l->next) {
+		XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::Gtk::Conversation::Window")));
+	}
Property changes on: trunk/gtk/plugins/perl/common/GtkConvWin.xs
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native
Added: trunk/gtk/plugins/perl/common/GtkDebug.xs
===================================================================
--- trunk/gtk/plugins/perl/common/GtkDebug.xs	                        (rev 0)
+++ trunk/gtk/plugins/perl/common/GtkDebug.xs	2006-09-02 05:31:10 UTC (rev 17124)
@@ -0,0 +1,16 @@
+#include "gtkmodule.h"
+
+MODULE = Gaim::Gtk::Debug  PACKAGE = Gaim::Gtk::Debug  PREFIX = gaim_gtk_debug_
+PROTOTYPES: ENABLE
+
+void *
+gaim_gtk_debug_get_handle()
+
+MODULE = Gaim::Gtk::Debug  PACKAGE = Gaim::Gtk::Debug::Window  PREFIX = gaim_gtk_debug_window_
+PROTOTYPES: ENABLE
+
+void
+gaim_gtk_debug_window_show()
+
+void
+gaim_gtk_debug_window_hide()
Property changes on: trunk/gtk/plugins/perl/common/GtkDebug.xs
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native
Added: trunk/gtk/plugins/perl/common/GtkDialogs.xs
===================================================================
--- trunk/gtk/plugins/perl/common/GtkDialogs.xs	                        (rev 0)
+++ trunk/gtk/plugins/perl/common/GtkDialogs.xs	2006-09-02 05:31:10 UTC (rev 17124)
@@ -0,0 +1,52 @@
+#include "gtkmodule.h"
+
+MODULE = Gaim::Gtk::Dialogs  PACKAGE = Gaim::Gtk::Dialogs  PREFIX = gaim_gtkdialogs_
+PROTOTYPES: ENABLE
+
+void
+gaim_gtkdialogs_destroy_all()
+
+void
+gaim_gtkdialogs_about()
+
+void
+gaim_gtkdialogs_im()
+
+void
+gaim_gtkdialogs_im_with_user(account, username)
+	Gaim::Account account
+	const char * username
+
+void
+gaim_gtkdialogs_info()
+
+void
+gaim_gtkdialogs_log()
+
+void
+gaim_gtkdialogs_alias_contact(contact)
+	Gaim::BuddyList::Contact contact
+
+void
+gaim_gtkdialogs_alias_buddy(buddy)
+	Gaim::BuddyList::Buddy buddy
+
+void
+gaim_gtkdialogs_alias_chat(chat)
+	Gaim::BuddyList::Chat chat
+
+void
+gaim_gtkdialogs_remove_buddy(buddy)
+	Gaim::BuddyList::Buddy buddy
+
+void
+gaim_gtkdialogs_remove_group(group)
+	Gaim::BuddyList::Group group
+
+void
+gaim_gtkdialogs_remove_chat(chat)
+	Gaim::BuddyList::Chat chat
+
+void
+gaim_gtkdialogs_remove_contact(contact)
+	Gaim::BuddyList::Contact contact
Property changes on: trunk/gtk/plugins/perl/common/GtkDialogs.xs
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native
Added: trunk/gtk/plugins/perl/common/GtkFt.xs
===================================================================
--- trunk/gtk/plugins/perl/common/GtkFt.xs	                        (rev 0)
+++ trunk/gtk/plugins/perl/common/GtkFt.xs	2006-09-02 05:31:10 UTC (rev 17124)
@@ -0,0 +1,49 @@
+#include "gtkmodule.h"
+
+MODULE = Gaim::Gtk::Xfer  PACKAGE = Gaim::Gtk::Xfer  PREFIX = gaim_gtk_xfer_
+PROTOTYPES: ENABLE
+
+void
+gaim_set_gtkxfer_dialog(dialog)
+	Gaim::Gtk::Xfer::Dialog dialog
+
+Gaim::Gtk::Xfer::Dialog
+gaim_get_gtkxfer_dialog()
+
+MODULE = Gaim::Gtk::Xfer  PACKAGE = Gaim::Gtk::Xfer::Dialog  PREFIX = gaim_gtkxfer_dialog_
+PROTOTYPES: ENABLE
+
+Gaim::Gtk::Xfer::Dialog
+gaim_gtkxfer_dialog_new()
+
+void
+gaim_gtkxfer_dialog_destroy(dialog)
+	Gaim::Gtk::Xfer::Dialog dialog
+
+void
+gaim_gtkxfer_dialog_show(dialog = NULL)
+	Gaim::Gtk::Xfer::Dialog dialog
+
+void
+gaim_gtkxfer_dialog_hide(dialog)
+	Gaim::Gtk::Xfer::Dialog dialog
+
+void
+gaim_gtkxfer_dialog_add_xfer(dialog, xfer)
+	Gaim::Gtk::Xfer::Dialog dialog
+	Gaim::Xfer xfer
+
+void
+gaim_gtkxfer_dialog_remove_xfer(dialog, xfer)
+	Gaim::Gtk::Xfer::Dialog dialog
+	Gaim::Xfer xfer
+
+void
+gaim_gtkxfer_dialog_cancel_xfer(dialog, xfer)
+	Gaim::Gtk::Xfer::Dialog dialog
+	Gaim::Xfer xfer
+
+void
+gaim_gtkxfer_dialog_update_xfer(dialog, xfer)
+	Gaim::Gtk::Xfer::Dialog dialog
+	Gaim::Xfer xfer
Property changes on: trunk/gtk/plugins/perl/common/GtkFt.xs
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native
Added: trunk/gtk/plugins/perl/common/GtkIMHtml.xs
===================================================================
--- trunk/gtk/plugins/perl/common/GtkIMHtml.xs	                        (rev 0)
+++ trunk/gtk/plugins/perl/common/GtkIMHtml.xs	2006-09-02 05:31:10 UTC (rev 17124)
@@ -0,0 +1,353 @@
+#include "gtkmodule.h"
+
+/* This can't work at the moment since I don't have a typemap for Gtk::Widget.
+ * I thought about using the one from libgtk2-perl but wasn't sure how to go
+ * about doing that.
+Gtk::Widget
+gtk_imhtml_new(a, b)
+*/
+
+/* This can't work at the moment since I don't have a typemap for
+ * Gtk::TextIter.
+ * I thought about using the one from libgtk2-perl but wasn't sure how to go
+ * about doing that.
+void
+gtk_imhtml_insert_html_at_iter(imhtml, text, options, iter)
+	Gaim::Gtk::IMHtml imhtml
+	const gchar * text
+	Gaim::Gtk::IMHtml::Options options
+	Gtk::TextIter iter
+*/
+
+/* This can't work at the moment since I don't have a typemap for Gtk::Widget.
+ * I thought about using the one from libgtk2-perl but wasn't sure how to go
+ * about doing that.
+void
+gtk_imhtml_delete(imhtml, start, end)
+	Gaim::Gtk::IMHtml imhtml
+	Gtk::TextIter start
+	Gtk::TextIter end
+*/
+
+/* This can't work at the moment since I don't have a typemap for Gtk::Widget.
+ * I thought about using the one from libgtk2-perl but wasn't sure how to go
+ * about doing that.
+void
+gtk_imhtml_insert_link(imhtml, mark, url, text)
+	Gaim::Gtk::IMHtml imhtml
+	Gtk::TextMark mark
+	const char * url
+	const char * text
+*/
+
+/* This can't work at the moment since I don't have a typemap for Gtk::Widget.
+ * I thought about using the one from libgtk2-perl but wasn't sure how to go
+ * about doing that.
+void
+gtk_imhtml_insert_smiley_at_iter(imhtml, sml, smiley, iter)
+	Gaim::Gtk::IMHtml imhtml
+	const char * sml
+	char * smiley
+	Gtk::TextIter iter
+
+void
+gtk_imhtml_insert_image_at_iter(imhtml, id, iter)
+	Gaim::Gtk::IMHtml imhtml
+	int id
+	Gtk::TextIter iter
+*/
+
+/* This can't work at the moment since I don't have a typemap for Gtk::Widget.
+ * I thought about using the one from libgtk2-perl but wasn't sure how to go
+ * about doing that.
+char *
+gtk_imhtml_get_markup_range(imhtml, start, end)
+	Gaim::Gtk::IMHtml imhtml
+	Gtk::TextIter start
+	Gtk::TextIter end
+*/
+
+/* This can't work at the moment since I don't have a typemap for Gtk::Widget.
+ * I thought about using the one from libgtk2-perl but wasn't sure how to go
+ * about doing that.
+char *
+gtk_imhtml_get_text(imhtml, start, end)
+	Gaim::Gtk::IMHtml imhtml
+	Gtk::TextIter start
+	Gtk::TextIter end
+*/
+
+/* This can't work at the moment since I don't have a typemap for Gdk::Pixbuf.
+ * I thought about using the one from libgtk2-perl but wasn't sure how to go
+ * about doing that.
+Gaim::Gtk::IMHtml::Scalable
+gtk_imhtml_image_new(img, filename, id)
+	Gdk::Pixbuf img
+	const gchar * filename
+	int id
+*/
+
+/* This can't work at the moment since I don't have a typemap for Gtk::Widget.
+ * I thought about using the one from libgtk2-perl but wasn't sure how to go
+ * about doing that.
+void
+gtk_imhtml_image_add_to(scale, imhtml, iter)
+	Gaim::Gtk::IMHtml::Scalable scale
+	Gaim::Gtk::IMHtml imhtml
+	Gtk::TextIter iter
+*/
+
+/* This can't work at the moment since I don't have a typemap for Gtk::Widget.
+ * I thought about using the one from libgtk2-perl but wasn't sure how to go
+ * about doing that.
+void
+gtk_imhtml_hr_add_to(scale, imhtml, iter)
+	Gaim::Gtk::IMHtml::Scalable scale
+	Gaim::Gtk::IMHtml imhtml
+	Gtk::TextIter iter
+*/
+
+/* This can't work at the moment since I don't have a typemap for gboolean *.
+void
+gtk_imhtml_get_current_format(imhtml, bold, italic, underline)
+	Gaim::Gtk::IMHtml imhtml
+	gboolean * bold
+	gboolean * italic
+	gboolean * underline
+*/
+
+MODULE = Gaim::Gtk::IMHtml  PACKAGE = Gaim::Gtk::IMHtml  PREFIX = gtk_imhtml_
+PROTOTYPES: ENABLE
+
+Gaim::Gtk::IMHtml::Smiley
+gtk_imhtml_smiley_get(imhtml, sml, text)
+	Gaim::Gtk::IMHtml imhtml
+	const gchar * sml
+	const gchar * text
+
+void
+gtk_imhtml_associate_smiley(imhtml, sml, smiley)
+	Gaim::Gtk::IMHtml imhtml
+	const gchar * sml
+	Gaim::Gtk::IMHtml::Smiley smiley
+
+void
+gtk_imhtml_remove_smileys(imhtml)
+	Gaim::Gtk::IMHtml imhtml
+
+void
+gtk_imhtml_set_funcs(imhtml, f)
+	Gaim::Gtk::IMHtml imhtml
+	Gaim::Gtk::IMHtml::Funcs f
+
+void
+gtk_imhtml_show_comments(imhtml, show)
+	Gaim::Gtk::IMHtml imhtml
+	gboolean show
+
+const char *
+gtk_imhtml_get_protocol_name(imhtml)
+	Gaim::Gtk::IMHtml imhtml
+
+void
+gtk_imhtml_set_protocol_name(imhtml, protocol_name)
+	Gaim::Gtk::IMHtml imhtml
+	const gchar * protocol_name
+
+void
+gtk_imhtml_append_text(imhtml, text, options)
+	Gaim::Gtk::IMHtml imhtml
+	const gchar * text
+	Gaim::Gtk::IMHtml::Options options
+
+void
+gtk_imhtml_append_text_with_images(imhtml, text, options, unused = NULL)
+	Gaim::Gtk::IMHtml imhtml
+	const gchar * text
+	Gaim::Gtk::IMHtml::Options options
+	SV *unused
+PREINIT:
+	GSList *t_GL;
+	int i, t_len;
+PPCODE:
+	t_GL = NULL;
+	t_len = av_len((AV *)SvRV(unused));
+
+	for (i = 0; i < t_len; i++) {
+		STRLEN t_sl;
+		t_GL = g_slist_append(t_GL, SvPV(*av_fetch((AV *)SvRV(unused), i, 0), t_sl));
+	}
+	gtk_imhtml_append_text_with_images(imhtml, text, options, t_GL);
+
+void
+gtk_imhtml_scroll_to_end(imhtml, smooth)
+	Gaim::Gtk::IMHtml imhtml
+	gboolean smooth
+
+void
+gtk_imhtml_clear(imhtml)
+	Gaim::Gtk::IMHtml imhtml
+
+void
+gtk_imhtml_page_up(imhtml)
+	Gaim::Gtk::IMHtml imhtml
+
+void
+gtk_imhtml_page_down(imhtml)
+	Gaim::Gtk::IMHtml imhtml
+
+void
+gtk_imhtml_set_editable(imhtml, editable)
+	Gaim::Gtk::IMHtml imhtml
+	gboolean editable
+
+void
+gtk_imhtml_set_whole_buffer_formatting_only(imhtml, wbo)
+	Gaim::Gtk::IMHtml imhtml
+	gboolean wbo
+
+void
+gtk_imhtml_set_format_functions(imhtml, buttons)
+	Gaim::Gtk::IMHtml imhtml
+	Gaim::Gtk::IMHtml::Buttons buttons
+
+Gaim::Gtk::IMHtml::Buttons
+gtk_imhtml_get_format_functions(imhtml)
+	Gaim::Gtk::IMHtml imhtml
+
+char *
+gtk_imhtml_get_current_fontface(imhtml)
+	Gaim::Gtk::IMHtml imhtml
+
+char *
+gtk_imhtml_get_current_forecolor(imhtml)
+	Gaim::Gtk::IMHtml imhtml
+
+char *
+gtk_imhtml_get_current_backcolor(imhtml)
+	Gaim::Gtk::IMHtml imhtml
+
+char *
+gtk_imhtml_get_current_background(imhtml)
+	Gaim::Gtk::IMHtml imhtml
+
+gint
+gtk_imhtml_get_current_fontsize(imhtml)
+	Gaim::Gtk::IMHtml imhtml
+
+gboolean
+gtk_imhtml_get_editable(imhtml)
+	Gaim::Gtk::IMHtml imhtml
+
+void
+gtk_imhtml_clear_formatting(imhtml)
+	Gaim::Gtk::IMHtml imhtml
+
+void
+gtk_imhtml_toggle_bold(imhtml)
+	Gaim::Gtk::IMHtml imhtml
+
+void
+gtk_imhtml_toggle_italic(imhtml)
+	Gaim::Gtk::IMHtml imhtml
+
+void
+gtk_imhtml_toggle_underline(imhtml)
+	Gaim::Gtk::IMHtml imhtml
+
+void
+gtk_imhtml_toggle_strike(imhtml)
+	Gaim::Gtk::IMHtml imhtml
+
+void
+gtk_imhtml_toggle_forecolor(imhtml, color)
+	Gaim::Gtk::IMHtml imhtml
+	const char * color
+
+void
+gtk_imhtml_toggle_backcolor(imhtml, color)
+	Gaim::Gtk::IMHtml imhtml
+	const char * color
+
+void
+gtk_imhtml_toggle_background(imhtml, color)
+	Gaim::Gtk::IMHtml imhtml
+	const char * color
+
+void
+gtk_imhtml_toggle_fontface(imhtml, face)
+	Gaim::Gtk::IMHtml imhtml
+	const char * face
+
+void
+gtk_imhtml_toggle_link(imhtml, url)
+	Gaim::Gtk::IMHtml imhtml
+	const char * url
+
+void
+gtk_imhtml_insert_smiley(imhtml, sml, smiley)
+	Gaim::Gtk::IMHtml imhtml
+	const char * sml
+	char * smiley
+
+void
+gtk_imhtml_font_set_size(imhtml, size)
+	Gaim::Gtk::IMHtml imhtml
+	gint size
+
+void
+gtk_imhtml_font_shrink(imhtml)
+	Gaim::Gtk::IMHtml imhtml
+
+void
+gtk_imhtml_font_grow(imhtml)
+	Gaim::Gtk::IMHtml imhtml
+
+char *
+gtk_imhtml_get_markup(imhtml)
+	Gaim::Gtk::IMHtml imhtml
+
+char **
+gtk_imhtml_get_markup_lines(imhtml)
+	Gaim::Gtk::IMHtml imhtml
+
+MODULE = Gaim::Gtk::IMHtml  PACKAGE = Gaim::Gtk::IMHtml::Scalable  PREFIX = gtk_imhtml_image_
+PROTOTYPES: ENABLE
+
+void
+gtk_imhtml_image_free(scale)
+	Gaim::Gtk::IMHtml::Scalable scale
+
+void
+gtk_imhtml_image_scale(scale, width, height)
+	Gaim::Gtk::IMHtml::Scalable scale
+	int width
+	int height
+
+MODULE = Gaim::Gtk::IMHtml  PACKAGE = Gaim::Gtk::IMHtml::Hr  PREFIX = gtk_imhtml_hr_
+PROTOTYPES: ENABLE
+
+Gaim::Gtk::IMHtml::Scalable
+gtk_imhtml_hr_new()
+
+void
+gtk_imhtml_hr_free(scale)
+	Gaim::Gtk::IMHtml::Scalable scale
+
+void
+gtk_imhtml_hr_scale(scale, width, height)
+	Gaim::Gtk::IMHtml::Scalable scale
+	int width
+	int height
+
+MODULE = Gaim::Gtk::IMHtml  PACKAGE = Gaim::Gtk::IMHtml::Search  PREFIX = gtk_imhtml_search_
+PROTOTYPES: ENABLE
+
+gboolean
+gtk_imhtml_search_find(imhtml, text)
+	Gaim::Gtk::IMHtml imhtml
+	const gchar * text
+
+void
+gtk_imhtml_search_clear(imhtml)
+	Gaim::Gtk::IMHtml imhtml
Property changes on: trunk/gtk/plugins/perl/common/GtkIMHtml.xs
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native
Added: trunk/gtk/plugins/perl/common/GtkIMHtmlToolbar.xs
===================================================================
--- trunk/gtk/plugins/perl/common/GtkIMHtmlToolbar.xs	                        (rev 0)
+++ trunk/gtk/plugins/perl/common/GtkIMHtmlToolbar.xs	2006-09-02 05:31:10 UTC (rev 17124)
@@ -0,0 +1,22 @@
+#include "gtkmodule.h"
+
+/* This can't work at the moment since I don't have a typemap for Gtk::Widget.
+ * I thought about using the one from libgtk2-perl but wasn't sure how to go
+ * about doing that.
+
+Gtk::Widget
+gtk_imhtmltoolbar_new()
+
+void
+gtk_imhtmltoolbar_attach(toolbar, imhtml)
+	Gaim::Gtk::IMHtmlToolbar toolbar
+	Gtk::Widget imhtml
+*/
+
+MODULE = Gaim::Gtk::IMHtmlToolbar  PACKAGE = Gaim::Gtk::IMHtmlToolbar  PREFIX = gtk_imhtmltoolbar_
+PROTOTYPES: ENABLE
+
+void
+gtk_imhtmltoolbar_associate_smileys(toolbar, proto_id)
+	Gaim::Gtk::IMHtmlToolbar toolbar
+	const char * proto_id
Property changes on: trunk/gtk/plugins/perl/common/GtkIMHtmlToolbar.xs
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native
Added: trunk/gtk/plugins/perl/common/GtkLog.xs
===================================================================
--- trunk/gtk/plugins/perl/common/GtkLog.xs	                        (rev 0)
+++ trunk/gtk/plugins/perl/common/GtkLog.xs	2006-09-02 05:31:10 UTC (rev 17124)
@@ -0,0 +1,23 @@
+#include "gtkmodule.h"
+
+MODULE = Gaim::Gtk::Log  PACKAGE = Gaim::Gtk::Log  PREFIX = gaim_gtk_log_
+PROTOTYPES: ENABLE
+
+void *
+gaim_gtk_log_get_handle()
+
+void
+gaim_gtk_log_show(type, screenname, account)
+	Gaim::LogType type
+	const char * screenname
+	Gaim::Account account
+
+void
+gaim_gtk_log_show_contact(contact)
+	Gaim::BuddyList::Contact contact
+
+MODULE = Gaim::Gtk::Log  PACKAGE = Gaim::Gtk::SysLog  PREFIX = gaim_gtk_syslog_
+PROTOTYPES: ENABLE
+
+void
+gaim_gtk_syslog_show()
Property changes on: trunk/gtk/plugins/perl/common/GtkLog.xs
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native
Added: trunk/gtk/plugins/perl/common/GtkMenuTray.xs
===================================================================
--- trunk/gtk/plugins/perl/common/GtkMenuTray.xs	                        (rev 0)
+++ trunk/gtk/plugins/perl/common/GtkMenuTray.xs	2006-09-02 05:31:10 UTC (rev 17124)
@@ -0,0 +1,33 @@
+#include "gtkmodule.h"
+
+/* This can't work at the moment since I don't have a typemap for Gtk::Widget.
+ * I thought about using the one from libgtk2-perl but wasn't sure how to go
+ * about doing that.
+Gtk::Widget
+gaim_gtk_menu_tray_new()
+
+Gtk::Widget
+gaim_gtk_menu_tray_get_box(menu_tray)
+	Gaim::Gtk::MenuTray menu_tray
+
+void
+gaim_gtk_menu_tray_append(menu_tray, widget, tooltip)
+	Gaim::Gtk::MenuTray menu_tray
+	Gtk::Widget widget
+	const char * tooltip
+
+void
+gaim_gtk_menu_tray_prepend(menu_tray, widget, tooltip)
+	Gaim::Gtk::MenuTray menu_tray
+	Gtk::Widget widget
+	const char * tooltip
+
+void
+gaim_gtk_menu_tray_set_tooltip(menu_tray, widget, tooltip)
+	Gaim::Gtk::MenuTray menu_tray
+	Gtk::Widget widget
+	const char * tooltip
+*/
+
+MODULE = Gaim::Gtk::MenuTray  PACKAGE = Gaim::Gtk::MenuTray  PREFIX = gaim_gtk_menu_tray
+PROTOTYPES: ENABLE
Property changes on: trunk/gtk/plugins/perl/common/GtkMenuTray.xs
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native
Added: trunk/gtk/plugins/perl/common/GtkPlugin.xs
===================================================================
--- trunk/gtk/plugins/perl/common/GtkPlugin.xs	                        (rev 0)
+++ trunk/gtk/plugins/perl/common/GtkPlugin.xs	2006-09-02 05:31:10 UTC (rev 17124)
@@ -0,0 +1,24 @@
+#include "gtkmodule.h"
+
+/* This can't work at the moment since I don't have a typemap for Gtk::Widget.
+ * I thought about using the one from libgtk2-perl but wasn't sure how to go
+ * about doing that.
+Gtk::Widget
+gaim_gtk_plugin_get_config_frame(plugin)
+	Gaim::Plugin plugin
+*/
+
+MODULE = Gaim::Gtk::Plugin  PACKAGE = Gaim::Gtk::Plugin  PREFIX = gaim_gtk_plugin_
+PROTOTYPES: ENABLE
+
+MODULE = Gaim::Gtk::Plugin  PACKAGE = Gaim::Gtk::Plugins  PREFIX = gaim_gtk_plugins_
+PROTOTYPES: ENABLE
+
+void
+gaim_gtk_plugins_save()
+
+MODULE = Gaim::Gtk::Plugin  PACKAGE = Gaim::Gtk::Plugin::Dialog  PREFIX = gaim_gtk_plugin_dialog_
+PROTOTYPES: ENABLE
+
+void
+gaim_gtk_plugin_dialog_show()
Property changes on: trunk/gtk/plugins/perl/common/GtkPlugin.xs
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native
Added: trunk/gtk/plugins/perl/common/GtkPluginPref.xs
===================================================================
--- trunk/gtk/plugins/perl/common/GtkPluginPref.xs	                        (rev 0)
+++ trunk/gtk/plugins/perl/common/GtkPluginPref.xs	2006-09-02 05:31:10 UTC (rev 17124)
@@ -0,0 +1,69 @@
+#include "gtkmodule.h"
+
+/* This can't work at the moment since I don't have a typemap for Gtk::Widget.
+ * I thought about using the one from libgtk2-perl but wasn't sure how to go
+ * about doing that.
+Gtk::Widget
+gaim_gtk_plugin_pref_create_frame(frame)
+	Gaim::PluginPref::Frame frame
+
+Gtk::Widget
+gaim_gtk_prefs_checkbox(title, key, page)
+	const char * title
+	const char * key
+	Gtk::Widget page
+
+Gtk::Widget
+gaim_gtk_prefs_labeled_spin_button(page, title, key, min, max, sg)
+	Gtk::Widget page
+	const gchar * title
+	const char * key
+	int min
+	int max
+	Gtk::Size::Group sg
+
+Gtk::Widget
+gaim_gtk_prefs_labeled_entry(page, title, key, sg)
+	Gtk::Widget page
+	const gchar * title
+	const char * key
+	Gtk::Size::Group sg
+*/
+
+/* TODO I don't know how to handle this in XS
+Gtk::Widget
+gaim_gtk_prefs_dropdown(page, title, type, key, ...)
+	Gtk::Widget page
+	const gchar * title
+	Gaim::Pref::Type type
+	const char * key
+
+*/
+
+/* This can't work at the moment since I don't have a typemap for Gtk::Widget.
+ * I thought about using the one from libgtk2-perl but wasn't sure how to go
+ * about doing that.
+Gtk::Widget
+gaim_gtk_prefs_dropdown_from_list(page, title, type, key, menuitems)
+	Gtk::Widget page
+	const gchar * title
+	Gaim::Pref::Type type
+	const char * key
+	SV *menuitems
+PREINIT:
+	GList *t_GL;
+	int i, t_len;
+CODE:
+	t_GL = NULL;
+	t_len = av_len((AV *)SvRV(menuitems));
+
+	for ( i = 0; i < t_len; i++) {
+		STRLEN t_sl;
+		t_GL = g_list_append(t_GL, SvPV(*av_fetch((AV *)SvRV(menuitems), i, 0), t_sl));
+	RETVAL = gaim_gtk_prefs_dropdown_from_list(page, title, type, key, t_GL);
+OUTPUT:
+	RETVAL
+*/
+
+MODULE = Gaim::Gtk::PluginPref  PACKAGE = Gaim::Gtk::PluginPref  PREFIX = gaim_gtk_plugin_pref_
+PROTOTYPES: ENABLE
Property changes on: trunk/gtk/plugins/perl/common/GtkPluginPref.xs
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native
Added: trunk/gtk/plugins/perl/common/GtkPounce.xs
===================================================================
--- trunk/gtk/plugins/perl/common/GtkPounce.xs	                        (rev 0)
+++ trunk/gtk/plugins/perl/common/GtkPounce.xs	2006-09-02 05:31:10 UTC (rev 17124)
@@ -0,0 +1,25 @@
+#include "gtkmodule.h"
+
+MODULE = Gaim::Gtk::Pounce  PACKAGE = Gaim::Gtk::Pounce  PREFIX = gaim_gtk_pounce_
+PROTOTYPES: ENABLE
+
+void
+gaim_gtk_pounce_editor_show(account, name, cur_pounce)
+	Gaim::Account account
+	const char * name
+	Gaim::Pounce cur_pounce
+
+MODULE = Gaim::Gtk::Pounce  PACKAGE = Gaim::Gtk::Pounces  PREFIX = gaim_gtk_pounces_
+PROTOTYPES: ENABLE
+
+void *
+gaim_gtk_pounces_get_handle()
+
+MODULE = Gaim::Gtk::Pounce  PACKAGE = Gaim::Gtk::Pounces::Manager  PREFIX = gaim_gtk_pounces_manager_
+PROTOTYPES: ENABLE
+
+void
+gaim_gtk_pounces_manager_show()
+
+void
+gaim_gtk_pounces_manager_hide()
Property changes on: trunk/gtk/plugins/perl/common/GtkPounce.xs
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native
Added: trunk/gtk/plugins/perl/common/GtkPrefs.xs
===================================================================
--- trunk/gtk/plugins/perl/common/GtkPrefs.xs	                        (rev 0)
+++ trunk/gtk/plugins/perl/common/GtkPrefs.xs	2006-09-02 05:31:10 UTC (rev 17124)
@@ -0,0 +1,8 @@
+#include "gtkmodule.h"
+
+MODULE = Gaim::Gtk::Prefs  PACKAGE = Gaim::Gtk::Prefs  PREFIX = gaim_gtk_prefs_
+PROTOTYPES: ENABLE
+
+void
+gaim_gtk_prefs_show()
+
Property changes on: trunk/gtk/plugins/perl/common/GtkPrefs.xs
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native
Added: trunk/gtk/plugins/perl/common/GtkPrivacy.xs
===================================================================
--- trunk/gtk/plugins/perl/common/GtkPrivacy.xs	                        (rev 0)
+++ trunk/gtk/plugins/perl/common/GtkPrivacy.xs	2006-09-02 05:31:10 UTC (rev 17124)
@@ -0,0 +1,23 @@
+#include "gtkmodule.h"
+
+MODULE = Gaim::Gtk::Privacy  PACKAGE = Gaim::Gtk::Privacy  PREFIX = gaim_gtk_
+PROTOTYPES: ENABLE
+
+void
+gaim_gtk_request_add_permit(account, name)
+	Gaim::Account account
+	const char * name
+
+void
+gaim_gtk_request_add_block(account, name)
+	Gaim::Account account
+	const char * name
+
+MODULE = Gaim::Gtk::Privacy  PACKAGE = Gaim::Gtk::Privacy::Dialog  PREFIX = gaim_gtk_privacy_dialog_
+PROTOTYPES: ENABLE
+
+void
+gaim_gtk_privacy_dialog_show()
+
+void
+gaim_gtk_privacy_dialog_hide()
Property changes on: trunk/gtk/plugins/perl/common/GtkPrivacy.xs
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native
Added: trunk/gtk/plugins/perl/common/GtkRoomlist.xs
===================================================================
--- trunk/gtk/plugins/perl/common/GtkRoomlist.xs	                        (rev 0)
+++ trunk/gtk/plugins/perl/common/GtkRoomlist.xs	2006-09-02 05:31:10 UTC (rev 17124)
@@ -0,0 +1,24 @@
+#include "gtkmodule.h"
+
+MODULE = Gaim::Gtk::Roomlist  PACKAGE = Gaim::Gtk::Roomlist  PREFIX = gaim_gtk_roomlist_
+PROTOTYPES: ENABLE
+
+gboolean
+gaim_gtk_roomlist_is_showable()
+
+MODULE = Gaim::Gtk::Roomlist  PACKAGE = Gaim::Gtk::Roomlist::Dialog  PREFIX = gaim_gtk_roomlist_dialog_
+PROTOTYPES: ENABLE
+
+void
+gaim_gtk_roomlist_dialog_show(class)
+    C_ARGS: /* void */
+
+Gaim::Gtk::Roomlist::Dialog
+gaim_gtk_roomlist_dialog_new(class)
+    C_ARGS: /* void */
+
+Gaim::Gtk::Roomlist::Dialog
+gaim_gtk_roomlist_dialog_new_with_account(class, account)
+	Gaim::Account account
+    C_ARGS:
+	account
Property changes on: trunk/gtk/plugins/perl/common/GtkRoomlist.xs
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native
Added: trunk/gtk/plugins/perl/common/GtkSavedStatuses.xs
===================================================================
--- trunk/gtk/plugins/perl/common/GtkSavedStatuses.xs	                        (rev 0)
+++ trunk/gtk/plugins/perl/common/GtkSavedStatuses.xs	2006-09-02 05:31:10 UTC (rev 17124)
@@ -0,0 +1,35 @@
+#include "gtkmodule.h"
+
+/* This can't work at the moment since I don't have a typemap for Gtk::Widget.
+ * I thought about using the one from libgtk2-perl but wasn't sure how to go
+ * about doing that.
+ * This also has a GCallback issue that I have no idea how to deal with,
+ * though the core-perl typemap has a mapping for them.
+Gtk::Widget
+gaim_gtk_status_menu(status, callback)
+	Gaim::SavedStatus status
+	GCallback callback
+*/
+
+MODULE = Gaim::Gtk::Status  PACKAGE = Gaim::Gtk::Status  PREFIX = gaim_gtk_status_
+PROTOTYPES: ENABLE
+
+void *
+gaim_gtk_status_get_handle()
+
+MODULE = Gaim::Gtk::Status  PACKAGE = Gaim::Gtk::Status::Editor  PREFIX = gaim_gtk_status_editor_
+PROTOTYPES: ENABLE
+
+void
+gaim_gtk_status_editor_show(edit, status)
+	gboolean edit
+	Gaim::SavedStatus status
+
+MODULE = Gaim::Gtk::Status  PACKAGE = Gaim::Gtk::Status::Window  PREFIX = gaim_gtk_status_window_
+PROTOTYPES: ENABLE
+
+void
+gaim_gtk_status_window_show()
+
+void
+gaim_gtk_status_window_hide()
Property changes on: trunk/gtk/plugins/perl/common/GtkSavedStatuses.xs
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native
Added: trunk/gtk/plugins/perl/common/GtkSession.xs
===================================================================
--- trunk/gtk/plugins/perl/common/GtkSession.xs	                        (rev 0)
+++ trunk/gtk/plugins/perl/common/GtkSession.xs	2006-09-02 05:31:10 UTC (rev 17124)
@@ -0,0 +1,13 @@
+#include "gtkmodule.h"
+
+MODULE = Gaim::Gtk::Session  PACKAGE = Gaim::Gtk::Session  PREFIX = gaim_gtk_session_
+PROTOTYPES: ENABLE
+
+void
+gaim_gtk_session_init(argv0, previous_id, config_dir)
+	gchar * argv0
+	gchar * previous_id
+	gchar * config_dir
+
+void
+gaim_gtk_session_end()
Property changes on: trunk/gtk/plugins/perl/common/GtkSession.xs
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native
Added: trunk/gtk/plugins/perl/common/GtkSound.xs
===================================================================
--- trunk/gtk/plugins/perl/common/GtkSound.xs	                        (rev 0)
+++ trunk/gtk/plugins/perl/common/GtkSound.xs	2006-09-02 05:31:10 UTC (rev 17124)
@@ -0,0 +1,15 @@
+#include "gtkmodule.h"
+
+MODULE = Gaim::Gtk::Sound  PACKAGE = Gaim::Gtk::Sound  PREFIX = gaim_gtk_sound_
+PROTOTYPES: ENABLE
+
+const char *
+gaim_gtk_sound_get_event_option(event)
+	Gaim::SoundEventID event
+
+char *
+gaim_gtk_sound_get_event_label(event)
+	Gaim::SoundEventID event
+
+void *
+gaim_gtk_sound_get_handle()
Property changes on: trunk/gtk/plugins/perl/common/GtkSound.xs
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native
Added: trunk/gtk/plugins/perl/common/GtkStatusBox.xs
===================================================================
--- trunk/gtk/plugins/perl/common/GtkStatusBox.xs	                        (rev 0)
+++ trunk/gtk/plugins/perl/common/GtkStatusBox.xs	2006-09-02 05:31:10 UTC (rev 17124)
@@ -0,0 +1,50 @@
+#include "gtkmodule.h"
+
+/* This can't work at the moment since I don't have a typemap for Gtk::Widget.
+ * I thought about using the one from libgtk2-perl but wasn't sure how to go
+ * about doing that.
+Gtk::Widget
+gtk_gaim_status_box_new()
+
+Gtk::Widget
+gtk_gaim_status_box_new_with_account(account)
+	Gaim::Account account
+
+void
+gtk_gaim_status_box_add(status_box, type, pixbuf, text, sec_text, data)
+	Gaim::Gtk::StatusBox status_box
+	Gaim::Gtk::StatusBox::ItemType type
+	GdkPixbuf pixbuf
+	const char * text
+	const char * sec_text
+	gpointer data
+*/
+
+MODULE = Gaim::Gtk::StatusBox  PACKAGE = Gaim::Gtk::StatusBox  PREFIX = gtk_gaim_status_box
+PROTOTYPES: ENABLE
+
+void
+gtk_gaim_status_box_add_separator(status_box)
+	Gaim::Gtk::StatusBox status_box
+
+void
+gtk_gaim_status_box_set_connecting(status_box, connecting)
+	Gaim::Gtk::StatusBox status_box
+	gboolean connecting
+
+void
+gtk_gaim_status_box_pulse_connecting(status_box)
+	Gaim::Gtk::StatusBox status_box
+
+void
+gtk_gaim_status_box_set_buddy_icon(status_box, filename)
+	Gaim::Gtk::StatusBox status_box
+	const char * filename
+
+const char *
+gtk_gaim_status_box_get_buddy_icon(status_box)
+	Gaim::Gtk::StatusBox status_box
+
+char *
+gtk_gaim_status_box_get_message(status_box)
+	Gaim::Gtk::StatusBox status_box
Property changes on: trunk/gtk/plugins/perl/common/GtkStatusBox.xs
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native
Added: trunk/gtk/plugins/perl/common/GtkThemes.xs
===================================================================
--- trunk/gtk/plugins/perl/common/GtkThemes.xs	                        (rev 0)
+++ trunk/gtk/plugins/perl/common/GtkThemes.xs	2006-09-02 05:31:10 UTC (rev 17124)
@@ -0,0 +1,36 @@
+#include "gtkmodule.h"
+
+/* This can't work at the moment since I don't have a typemap for Gtk::Widget.
+ * I thought about using the one from libgtk2-perl but wasn't sure how to go
+ * about doing that.
+void
+gaim_gtkthemes_smiley_themeize(widget)
+	Gtk::Widget * widget
+*/
+
+MODULE = Gaim::Gtk::Themes  PACKAGE = Gaim::Gtk::Themes  PREFIX = gaim_gtkthemes_
+PROTOTYPES: ENABLE
+
+void
+gaim_gtkthemes_init()
+
+gboolean
+gaim_gtkthemes_smileys_disabled()
+
+void
+gaim_gtkthemes_smiley_theme_probe()
+
+void
+gaim_gtkthemes_load_smiley_theme(file, load)
+	const char * file
+	gboolean load
+
+void
+gaim_gtkthemes_get_proto_smileys(id)
+	const char * id
+PREINIT:
+	GSList *l;
+PPCODE:
+	for (l = gaim_gtkthemes_get_proto_smileys(id); l != NULL; l = l->next) {
+		XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gtk::IMHtml::Smiley")));
+	}
Property changes on: trunk/gtk/plugins/perl/common/GtkThemes.xs
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native
Added: trunk/gtk/plugins/perl/common/GtkUtils.xs
===================================================================
--- trunk/gtk/plugins/perl/common/GtkUtils.xs	                        (rev 0)
+++ trunk/gtk/plugins/perl/common/GtkUtils.xs	2006-09-02 05:31:10 UTC (rev 17124)
@@ -0,0 +1,208 @@
+#include "gtkmodule.h"
+
+/* This can't work at the moment since I don't have a typemap for Gtk::Widget.
+ * I thought about using the one from libgtk2-perl but wasn't sure how to go
+ * about doing that.
+void
+gaim_setup_imhtml(imhtml)
+	Gtk::Widget imhtml
+
+Gtk::Widget
+gaim_gtk_create_imhtml(editable, imhtml_ret, toolbar_ret, sw_ret)
+	gboolean editable
+	GtkWidget ** imhtml_ret
+	GtkWidget ** toolbar_ret
+	GtkWidget ** sw_ret
+
+void
+gaim_gtk_toggle_sensitive(widget, to_toggle)
+	Gtk::Widget widget
+	Gtk::Widget to_toggle
+
+void
+gaim_gtk_set_sensitive_if_input(entry, dialog)
+	Gtk::Widget entry
+	Gtk::Widget dialog
+
+void
+gaim_gtk_toggle_sensitive_array(w, data)
+	Gtk::Widget w
+	GPtrArray data
+
+void
+gaim_gtk_toggle_showhide(widget, to_toggle)
+	Gtk::Widget widget
+	Gtk::Widget to_toggle
+
+void
+gaim_separator(menu)
+	Gtk::Widget menu
+
+Gtk::Widget
+gaim_new_item(menu, str)
+	Gtk::Widget menu
+	const char * str
+
+Gtk::Widget
+gaim_new_check_item(menu, str, sf, data, checked)
+	Gtk::Widget menu
+	const char * str
+	GtkSignalFunc sf
+	gpointer data
+	gboolean checked
+
+Gtk::Widget
+gaim_new_item_from_stock(menu, str, icon, sf, data, accel_key, accel_mods, mod)
+	Gtk::Widget menu
+	const char * str
+	const char * icon
+	GtkSignalFunc sf
+	gpointer data
+	guint accel_key
+	guint accel_mods
+	char * mod
+
+Gtk::Widget
+gaim_pixbuf_button_from_stock(text, icon, style)
+	const char * text
+	const char * icon
+	Gaim::ButtonOrientation style
+
+Gtk::Widget
+gaim_gtk_make_frame(parent, title)
+	Gtk::Widget parent
+	const char * title
+
+Gtk::Widget
+gaim_gtk_protocol_option_menu_new(id, cb, user_data)
+	const char * id
+	GCallback cb
+	gpointer user_data
+
+Gtk::Widget
+gaim_gtk_account_option_menu_new(default_account, show_all, cb, filter_func, user_data)
+	Gaim::Account account
+	gboolean show_all
+	GCallback cb
+	Gaim::Account::FilterFunc filter_func
+	gpointer user_data
+
+Gaim::Account
+gaim_gtk_account_option_menu_get_selected(optmenu)
+	Gtk::Widget optmenu
+
+void
+gaim_gtk_account_option_menu_set_selected(optmenu, account)
+	Gtk::Widget optmenu
+	Gaim::Account account
+
+void
+gaim_gtk_setup_screenname_autocomplete(entry, optmenu, all)
+	Gtk::Widget entry
+	Gtk::Widget optmenu
+	gboolean all
+
+gboolean
+gaim_gtk_check_if_dir(path, filesel)
+	const char * path
+	Gtk::FileSelection filesel
+
+void
+gaim_gtk_setup_gtkspell(textview)
+	Gtk::TextView textview
+
+void
+gaim_gtk_save_accels_cb(accel_group, arg1, arg2, arg3, data)
+	Gtk::AccelGroup accel_group
+	guint arg1
+	Gdk::ModifierType arg2
+	GClosure arg3
+	gpointer data
+*/
+
+/* TODO This needs GaimAccount **
+gboolean
+gaim_gtk_parse_x_im_contact(msg, all_accounts, ret_account, ret_protocol, ret_username, ret_alias)
+	const char * msg
+	gboolean all_accounts
+	Gaim::Account ret_account
+	char ** ret_protocol
+	char ** ret_username
+	char ** ret_alias
+*/
+
+/* This can't work at the moment since I don't have a typemap for Gtk::Widget.
+ * I thought about using the one from libgtk2-perl but wasn't sure how to go
+ * about doing that.
+void
+gaim_set_accessible_lable(w, l)
+	Gtk::Widget w
+	Gtk::Widget l
+
+void
+gaim_gtk_treeview_popup_menu_position_func(menu, x, y, push_in, user_data)
+	Gtk::Menu menu
+	gint x
+	gint y
+	gboolean push_in
+	gpointer user_data
+
+void
+gaim_dnd_file_manage(sd, account, who)
+	Gtk::SelectionData sd
+	Gaim::Account account
+	const char * who
+
+void
+gaim_gtk_buddy_icon_get_scale_size(buf, spec, width, height)
+	Gdk::Pixbuf buf
+	Gaim::Buddy::Icon::Spec spec
+	int width
+	int height
+
+Gdk::Pixbuf
+gaim_gtk_create_prpl_icon(account, scale_factor)
+	const Gaim::Account account
+	double scale_factor
+
+Gdk::Pixbuf
+gaim_gtk_create_prpl_icon_with_status(account, status_type, scale_factor)
+	const Gaim::Account account
+	Gaim::StatusType status_type
+	double scale_factor
+
+Gdk::Pixbuf
+gaim_gtk_create_gaim_icon_with_status(primitive, scale_factor)
+	Gaim::StatusPrimitive primitive
+	double scale_factor
+
+void
+gaim_gtk_append_menu_action(menu, act, gobject)
+	Gtk::Widget menu
+	Gaim::Menu::Action act
+	gpointer gobject
+
+void
+gaim_gtk_set_cursor(widget, cursor_type)
+	Gtk::Widget widget
+	Gdk::CursorType cursor_type
+
+void
+gaim_gtk_clear_cursor(widget)
+	Gtk::Widget widget
+*/
+
+MODULE = Gaim::Gtk::Utils  PACKAGE = Gaim::Gtk::Utils  PREFIX = gaim_gtk_utils_
+PROTOTYPES: ENABLE
+
+gboolean
+gaim_gtk_save_accels(data)
+	gpointer data
+
+void
+gaim_gtk_load_accels()
+
+char *
+gaim_gtk_convert_buddy_icon(plugin, path)
+	Gaim::Plugin plugin
+	const char * path
Property changes on: trunk/gtk/plugins/perl/common/GtkUtils.xs
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native
Added: trunk/gtk/plugins/perl/common/MANIFEST
===================================================================
--- trunk/gtk/plugins/perl/common/MANIFEST	                        (rev 0)
+++ trunk/gtk/plugins/perl/common/MANIFEST	2006-09-02 05:31:10 UTC (rev 17124)
@@ -0,0 +1,28 @@
+Gtk.pm
+Gtk.xs
+GtkAccount.xs
+GtkBlist.xs
+GtkConn.xs
+GtkConv.xs
+GtkConvWin.xs
+GtkDebug.xs
+GtkDialogs.xs
+GtkFt.xs
+GtkIMHtml.xs
+GtkIMHtmlToolbar.xs
+GtkLog.xs
+GtkMenuTray.xs
+GtkPlugin.xs
+GtkPluginPref.xs
+GtkPounce.xs
+GtkPrefs.xs
+GtkPrivacy.xs
+GtkRoomlist.xs
+GtkSavedStatuses.xs
+GtkSession.xs
+GtkSound.xs
+GtkStatusBox.xs
+GtkThemes.xs
+GtkUtils.xs
+MANIFEST
+typemap
Property changes on: trunk/gtk/plugins/perl/common/MANIFEST
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native
Added: trunk/gtk/plugins/perl/common/Makefile.PL.in
===================================================================
--- trunk/gtk/plugins/perl/common/Makefile.PL.in	                        (rev 0)
+++ trunk/gtk/plugins/perl/common/Makefile.PL.in	2006-09-02 05:31:10 UTC (rev 17124)
@@ -0,0 +1,20 @@
+use 5.006;
+use ExtUtils::MakeMaker;
+
+WriteMakefile(
+    'NAME'          => 'Gaim::Gtk',
+    'VERSION_FROM'  => '@srcdir@/Gtk.pm', # finds $VERSION
+    ($] >= 5.005 ? ## Add these new keywords supported since 5.005
+	('ABSTRACT_FROM' => '@srcdir@/Gtk.pm', # finds $ABSTRACT
+	'AUTHOR'        => 'Etan Reisner <de...@gm...>') :  ()),
+    'DEFINE'        => '@DEBUG_CFLAGS@',
+    'INC'           => '-I. -I@srcdir@ -I@top_srcdir@ -I@top_srcdir@/libgaim -I@top_srcdir@/gtk @GTK_CFLAGS@',
+#    'PREREQ_PM'     => { 'Gaim' => '@VERSION@'},
+    # Do this because the MakeMaker Makefile is dumb, and on clean it moves
+    # Makefile to the default setting for MAKEFILE_OLD which is Makefile.old
+    # but this breaks running make clean more than once in a row.
+    'MAKEFILE_OLD'  => "Makefile",
+    'OBJECT'        => '$(O_FILES)',
+    'TYPEMAPS'      => ["@top_srcdir@/libgaim/plugins/perl/common/typemap"],
+#    'OPTIMIZE'      => '-g', # For debugging.
+);
Property changes on: trunk/gtk/plugins/perl/common/Makefile.PL.in
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native
Added: trunk/gtk/plugins/perl/common/gtkmodule.h
===================================================================
--- trunk/gtk/plugins/perl/common/gtkmodule.h	                        (rev 0)
+++ trunk/gtk/plugins/perl/common/gtkmodule.h	2006-09-02 05:31:10 UTC (rev 17124)
@@ -0,0 +1,79 @@
+typedef struct group *Gaim__Gtk__Group;
+
+#define group perl_group
+
+#include <glib.h>
+#include <gtk/gtk.h>
+#ifdef _WIN32
+#undef pipe
+#endif
+#include <EXTERN.h>
+#include <perl.h>
+#include <XSUB.h>
+
+#undef group
+
+#include <plugins/perl/common/module.h>
+
+#include "gtkaccount.h"
+#include "gtkblist.h"
+#include "gtkconn.h"
+#include "gtkconv.h"
+#include "gtkconvwin.h"
+#include "gtkdebug.h"
+#include "gtkdialogs.h"
+#include "gtkft.h"
+#include "gtkimhtml.h"
+#include "gtkimhtmltoolbar.h"
+#include "gtklog.h"
+#include "gtkmenutray.h"
+#include "gtkplugin.h"
+#include "gtkpluginpref.h"
+#include "gtkpounce.h"
+#include "gtkprefs.h"
+#include "gtkprivacy.h"
+#include "gtkroomlist.h"
+#include "gtksavedstatuses.h"
+#include "gtksession.h"
+#include "gtksound.h"
+#include "gtkstatusbox.h"
+#include "gtkthemes.h"
+#include "gtkutils.h"
+
+/* gtkaccount.h */
+typedef GaimGtkAccountDialogType			Gaim__Gtk__Account__Dialog__Type;
+
+/* gtkblist.h */
+typedef GaimGtkBuddyList *				Gaim__Gtk__BuddyList;
+typedef gaim_gtk_blist_sort_function			Gaim__Gtk__BuddyList__SortFunction;
+
+/* gtkconv.h */
+typedef GaimGtkConversation *				Gaim__Gtk__Conversation;
+typedef GaimUnseenState					Gaim__UnseenState;
+
+/* gtkconvwin.h */
+typedef GaimGtkWindow *					Gaim__Gtk__Conversation__Window;
+typedef GaimConvPlacementFunc				Gaim__Conversation__PlacementFunc;
+
+/* gtkft.h */
+typedef GaimGtkXferDialog *				Gaim__Gtk__Xfer__...
 
[truncated message content] | 
| 
      
      
      From: <sa...@us...> - 2006-09-02 04:40:36
      
     | 
| Revision: 17123
          http://svn.sourceforge.net/gaim/?rev=17123&view=rev
Author:   sadrul
Date:     2006-09-01 21:40:27 -0700 (Fri, 01 Sep 2006)
Log Message:
-----------
Reverse the colors of the borders of a window when resizing or moving.
Modified Paths:
--------------
    trunk/console/libgnt/gntmain.c
Modified: trunk/console/libgnt/gntmain.c
===================================================================
--- trunk/console/libgnt/gntmain.c	2006-09-02 01:25:43 UTC (rev 17122)
+++ trunk/console/libgnt/gntmain.c	2006-09-02 04:40:27 UTC (rev 17123)
@@ -645,6 +645,41 @@
 	return FALSE; /* XXX: this should be TRUE */
 }
 
+static void
+window_reverse(GntWidget *win, gboolean set)
+{
+	int i;
+	int w, h;
+	WINDOW *d;
+
+	if (GNT_WIDGET_IS_FLAG_SET(win, GNT_WIDGET_NO_BORDER))
+		return;
+	
+	d = dupwin(win->window);
+	gnt_widget_get_size(win, &w, &h);
+
+#define DECIDE(ch) (set ? ((ch) | A_REVERSE) : ((ch) & ~A_REVERSE))
+
+	/* the top and bottom */
+	for (i = 0; i < w; i++) {
+		chtype ch = mvwinch(d, 0, i);
+		mvwaddch(win->window, 0, i, DECIDE(ch));
+		ch = mvwinch(d, h-1, i);
+		mvwaddch(win->window, h-1, i, DECIDE(ch));
+	}
+
+	/* the left an right */
+	for (i = 0; i < h; i++) {
+		chtype ch = mvwinch(d, i, 0);
+		mvwaddch(win->window, i, 0, DECIDE(ch));
+		ch = mvwinch(d, i, w-1);
+		mvwaddch(win->window, i, w-1, DECIDE(ch));
+	}
+
+	wrefresh(win->window);
+	delwin(d);
+}
+
 static gboolean
 io_invoke(GIOChannel *source, GIOCondition cond, gpointer null)
 {
@@ -728,6 +763,7 @@
 				{
 					/* Move a window */
 					mode = GNT_KP_MODE_MOVE;
+					window_reverse(ordered->data, TRUE);
 				}
 				else if (strcmp(buffer + 1, "w") == 0 && focus_list)
 				{
@@ -744,6 +780,7 @@
 				{
 					/* Resize window */
 					mode = GNT_KP_MODE_RESIZE;
+					window_reverse(ordered->data, TRUE);
 				}
 				else if (strcmp(buffer + 1, ",") == 0 && focus_list)
 				{
@@ -828,6 +865,7 @@
 		else if (*buffer == '\r')
 		{
 			mode = GNT_KP_MODE_NORMAL;
+			window_reverse(ordered->data, FALSE);
 		}
 	}
 	else if (mode == GNT_KP_MODE_WINDOW_LIST && _list.window)
@@ -848,10 +886,10 @@
 	}
 	else if (mode == GNT_KP_MODE_RESIZE)
 	{
-		if (buffer[0] == '\r' || (buffer[0] == 27 && buffer[1] == 0))
+		if (buffer[0] == '\r' || (buffer[0] == 27 && buffer[1] == 0)) {
 			mode = GNT_KP_MODE_NORMAL;
-		else if (buffer[0] == 27)
-		{
+			window_reverse(ordered->data, FALSE);
+		} else if (buffer[0] == 27) {
 			GntWidget *widget = ordered->data;
 			gboolean changed = FALSE;
 			int width, height;
@@ -888,6 +926,7 @@
 			if (changed)
 			{
 				gnt_screen_resize_widget(widget, width, height);
+				window_reverse(widget, TRUE);
 			}
 		}
 	}
@@ -1299,7 +1338,7 @@
 	win = action_list->window;
 	tree = action_list->tree;
 
-	gnt_box_set_title(GNT_BOX(win), "Available Actions");
+	gnt_box_set_title(GNT_BOX(win), "Actions");
 	GNT_WIDGET_SET_FLAGS(tree, GNT_WIDGET_NO_BORDER);
 	/* XXX: Do we really want this? */
 	gnt_tree_set_compare_func(GNT_TREE(tree), compare_action);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 |