diff -Naur --exclude CVS ../abi-current/abi/src/af/xap/Makefile abi/src/af/xap/Makefile
--- ../abi-current/abi/src/af/xap/Makefile	Thu Jul 27 09:34:29 2000
+++ abi/src/af/xap/Makefile	Mon Jul 31 19:01:14 2000
@@ -69,6 +69,7 @@
 			$(OBJDIR)/xap_$(ABI_FE)$(ABI_GNOME_PREFIX)Dlg_FontChooser.$(OBJ_SUFFIX)	\
 			$(OBJDIR)/xap_$(ABI_FE)$(ABI_GNOME_PREFIX)Dlg_Insert_Symbol.$(OBJ_SUFFIX)	\
 			$(OBJDIR)/xap_$(ABI_FE)$(ABI_GNOME_PREFIX)Dlg_MessageBox.$(OBJ_SUFFIX)	\
+			$(OBJDIR)/xap_$(ABI_FE)$(ABI_GNOME_PREFIX)Dlg_Print.$(OBJ_SUFFIX) 	\
 			$(OBJDIR)/xap_$(ABI_FE)$(ABI_GNOME_PREFIX)Dlg_Zoom.$(OBJ_SUFFIX)	\
 			$(OBJDIR)/xap_$(ABI_FE)$(ABI_GNOME_PREFIX)Frame.$(OBJ_SUFFIX)
 endif
diff -Naur --exclude CVS ../abi-current/abi/src/af/xap/unix/gnome/Makefile abi/src/af/xap/unix/gnome/Makefile
--- ../abi-current/abi/src/af/xap/unix/gnome/Makefile	Mon May 22 07:12:17 2000
+++ abi/src/af/xap/unix/gnome/Makefile	Mon Jul 31 18:56:48 2000
@@ -27,6 +27,7 @@
 			xap_UnixGnomeDlg_FontChooser.cpp   \
 			xap_UnixGnomeDlg_Insert_Symbol.cpp   \
 			xap_UnixGnomeDlg_MessageBox.cpp    \
+			xap_UnixGnomeDlg_Print.cpp         \
 			xap_UnixGnomeDlg_Zoom.cpp          \
 			xap_UnixGnomeFrame.cpp
 
diff -Naur --exclude CVS ../abi-current/abi/src/af/xap/unix/gnome/xap_UnixGnomeDlg_Print.cpp abi/src/af/xap/unix/gnome/xap_UnixGnomeDlg_Print.cpp
--- ../abi-current/abi/src/af/xap/unix/gnome/xap_UnixGnomeDlg_Print.cpp	Wed Dec 31 19:00:00 1969
+++ abi/src/af/xap/unix/gnome/xap_UnixGnomeDlg_Print.cpp	Mon Jul 31 20:26:31 2000
@@ -0,0 +1,212 @@
+/* AbiSource Application Framework
+ * Copyright (C) 1998 AbiSource, Inc.
+ * 
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ * 
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  
+ * 02111-1307, USA.
+ */
+
+#include <gnome.h>
+
+//#include <libgnomeprint/gnome-printer-dialog.h>
+#include <libgnomeprint/gnome-print.h>
+#include <libgnomeprint/gnome-printer.h>
+#include <libgnomeprint/gnome-print-dialog.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "ut_debugmsg.h"
+#include "ut_string.h"
+#include "ut_assert.h"
+#include "ut_dialogHelper.h"
+#include "xap_Dialog_Id.h"
+#include "xap_UnixDlg_Print.h"
+#include "xap_UnixGnomeDlg_Print.h"
+#include "xap_UnixDlg_MessageBox.h"
+#include "xap_UnixApp.h"
+#include "xap_UnixFrame.h"
+#include "xap_UnixPSGraphics.h"
+#include "xap_Strings.h"
+#include <gtk/gtk.h>
+#include <glib.h>
+
+XAP_Dialog * XAP_UnixGnomeDialog_Print::static_constructor(XAP_DialogFactory * pFactory,
+													 XAP_Dialog_Id id)
+{
+	XAP_UnixGnomeDialog_Print * p = new XAP_UnixGnomeDialog_Print(pFactory,id);
+	return p;
+}
+
+XAP_UnixGnomeDialog_Print::XAP_UnixGnomeDialog_Print(XAP_DialogFactory * pDlgFactory,
+										   XAP_Dialog_Id id)
+	: XAP_UnixDialog_Print(pDlgFactory,id)
+{
+}
+
+XAP_UnixGnomeDialog_Print::~XAP_UnixGnomeDialog_Print(void)
+{
+}
+
+void XAP_UnixGnomeDialog_Print::_raisePrintDialog(XAP_Frame * pFrame)
+{
+	GnomePrintDialog *gpd;
+	GnomePrinter *printer = NULL;
+	int copies=1, collate=FALSE;
+	int first=1, end = 0, range;
+
+	const XAP_StringSet * pSS = pFrame->getApp()->getStringSet();
+	UT_ASSERT(pSS);
+
+	// There are four basic parts to _raisePrintDialog:
+	//		1.  Create the dialog widget
+	//		2.  Toggle dialog options to match persistent values
+	// 		3.  Run dialog
+	//		4.  Set new persistent values from dialog
+
+	// 1.  Create the dialog widget
+	gpd = (GnomePrintDialog *)gnome_print_dialog_new(
+			_(pSS->getValue(XAP_STRING_ID_DLG_UP_PrintTitle)), 
+			GNOME_PRINT_DIALOG_RANGE|GNOME_PRINT_DIALOG_COPIES);
+
+	/* sorry about the ugly C-style cast -- ignore the "_Active Page" too */
+	gnome_print_dialog_construct_range_page(gpd,
+		GNOME_PRINT_RANGE_ALL| GNOME_PRINT_RANGE_RANGE | GNOME_PRINT_RANGE_SELECTION,
+		m_nFirstPage, m_nLastPage,
+		"_Active Page", (char *)pSS->getValue(XAP_STRING_ID_DLG_UP_PageRanges));
+
+	gnome_dialog_set_default (GNOME_DIALOG (gpd),
+				  GNOME_PRINT_PRINT);
+
+	// get top level window and it's GtkWidget *
+	XAP_UnixFrame * frame = static_cast<XAP_UnixFrame *>(pFrame);
+	UT_ASSERT(frame);
+	GtkWidget * parent = frame->getTopLevelWindow();
+	UT_ASSERT(parent);
+	gnome_dialog_set_parent(GNOME_DIALOG(gpd), GTK_WINDOW(parent));
+	//centerDialog(parent, GTK_WIDGET(gpd));
+
+	// don't set transient - this is a gnome-dialog
+
+	// 2.  Toggle dialog options to match persistent values
+	if (!m_bPersistValid)		// first time called
+	{
+		m_persistPrintDlg.bEnablePrintToFile = m_bEnablePrintToFile;
+		m_persistPrintDlg.bEnablePageRange = m_bEnablePageRange;
+		m_persistPrintDlg.bEnableSelection = m_bEnablePrintSelection;
+		m_persistPrintDlg.nFromPage = m_nFirstPage;
+		m_persistPrintDlg.nToPage = m_nLastPage;
+		// The first time through, grab the settings and set min and max for range checking
+		m_persistPrintDlg.nMinPage = m_nFirstPage;
+		m_persistPrintDlg.nMaxPage = m_nLastPage;
+
+		m_persistPrintDlg.colorSpace = GR_Graphics::GR_COLORSPACE_COLOR;
+		
+		UT_cloneString(m_persistPrintDlg.szPrintCommand, "lpr");
+	}
+
+	// TODO: We're not really persistant. I view this as a good thing, others don't.
+	// Gnome Print really doesn't do persistance too well (limited accessor
+	// functions), so we have to give something up in order to get the pretty
+	// dialog (for now)
+
+	// 3.  Run dialog
+	switch( gnome_dialog_run(GNOME_DIALOG(gpd)) ) {
+		case GNOME_PRINT_PRINT:
+			break;
+		case GNOME_PRINT_PREVIEW:
+		  /* TODO: support Gnome Print-Preview */ 
+		default:
+			gnome_dialog_close(GNOME_DIALOG(gpd));
+			m_answer = a_CANCEL;
+			return;
+	}
+
+	// 4.  Set new persistent values from dialog
+	// TODO
+
+	gnome_print_dialog_get_copies(gpd, &copies, &collate);
+	printer = gnome_print_dialog_get_printer (gpd);
+	range = gnome_print_dialog_get_range_page(gpd, &first, &end);
+	gnome_dialog_close(GNOME_DIALOG(gpd));
+
+	// Record outputs
+	m_bDoPrintRange				= (range == GNOME_PRINT_RANGE_RANGE);
+	m_bDoPrintSelection			= (range == GNOME_PRINT_RANGE_SELECTION);
+	m_bCollate				= collate;
+	m_cColorSpace				= GR_Graphics::GR_COLORSPACE_BW;  //BUG
+	m_nFirstPage				= first;
+	m_nLastPage				= end;
+	m_nCopies				= copies;
+	m_answer 				= a_OK;
+
+	/* hack - detect the pipe ('|') gnome print adds for printing to a non-file */
+	m_bDoPrintToFile = *(printer->filename) != '|';
+	
+	if(m_bDoPrintToFile) 
+	  {
+	    /* postscript output to a file */
+	    UT_cloneString(m_szPrintToFilePathname, printer->filename);
+	    UT_cloneString(m_szPrintCommand, "");
+	  }
+	else
+	  {
+	    /* printing using lpr or similar */
+	    UT_cloneString(m_szPrintCommand, printer->filename+1); /* hack to remove "|" from "|lpr" */
+	    UT_cloneString(m_szPrintToFilePathname, "");
+	  }
+
+	UT_DEBUGMSG(("Printing to file: %d\n", m_bDoPrintToFile));
+	UT_DEBUGMSG(("Print range: %d Selection: %d\n", m_bDoPrintRange, m_bDoPrintSelection));
+	UT_DEBUGMSG(("Driver: %s Filename: %s\n", m_szPrintCommand, m_szPrintToFilePathname));
+
+	return;
+}
+
+void XAP_UnixGnomeDialog_Print::_getGraphics(void)
+{
+	UT_ASSERT(m_answer == a_OK);
+
+	XAP_App * app = m_pUnixFrame->getApp();
+	UT_ASSERT(app);
+	
+	XAP_UnixApp * unixapp = static_cast<XAP_UnixApp *> (app);
+	UT_ASSERT(unixapp);
+
+	XAP_UnixFontManager * fontmgr = unixapp->getFontManager();
+	UT_ASSERT(fontmgr);
+	
+	if (m_bDoPrintToFile)
+	{
+		m_pPSGraphics = new PS_Graphics(m_szPrintToFilePathname, m_szDocumentTitle,
+										m_pUnixFrame->getApp()->getApplicationName(),
+										fontmgr,
+										UT_TRUE, app);
+	}
+	else
+	{		
+		m_pPSGraphics = new PS_Graphics(m_szPrintCommand, m_szDocumentTitle,
+										m_pUnixFrame->getApp()->getApplicationName(),
+										fontmgr,
+										UT_FALSE, app);
+	}
+
+	UT_ASSERT(m_pPSGraphics);
+
+	// set the color mode
+	m_pPSGraphics->setColorSpace(m_cColorSpace);
+	
+	m_answer = a_OK;
+	return;
+}
diff -Naur --exclude CVS ../abi-current/abi/src/af/xap/unix/gnome/xap_UnixGnomeDlg_Print.h abi/src/af/xap/unix/gnome/xap_UnixGnomeDlg_Print.h
--- ../abi-current/abi/src/af/xap/unix/gnome/xap_UnixGnomeDlg_Print.h	Wed Dec 31 19:00:00 1969
+++ abi/src/af/xap/unix/gnome/xap_UnixGnomeDlg_Print.h	Mon Jul 31 20:27:55 2000
@@ -0,0 +1,48 @@
+/* AbiSource Application Framework
+ * Copyright (C) 1998 AbiSource, Inc.
+ * 
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ * 
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  
+ * 02111-1307, USA.
+ */
+
+#ifndef XAP_UNIXGNOMEDIALOG_PRINT_H
+#define XAP_UNIXGNOMEDIALOG_PRINT_H
+
+#include "xap_UnixFrame.h"
+#include "xap_UnixDlg_Print.h"
+class XAP_UnixFrame;
+class PS_Graphics;
+
+/*****************************************************************/
+
+// NOTE: 	This is the first cut.  I am a bit unhappy with it, as it does
+// 			not really use anything in gnome-print other than the pretty
+//			dialog.  Subsequent patches to at least use gnome-print's PS
+//			backend wanted.  :)
+
+class XAP_UnixGnomeDialog_Print : public XAP_UnixDialog_Print
+{
+public:
+	XAP_UnixGnomeDialog_Print(XAP_DialogFactory * pDlgFactory, XAP_Dialog_Id id);
+	virtual ~XAP_UnixGnomeDialog_Print(void);
+
+	static XAP_Dialog *		static_constructor(XAP_DialogFactory *, XAP_Dialog_Id id);
+
+protected:
+	virtual void			_raisePrintDialog(XAP_Frame * pFrame);
+	virtual void                    _getGraphics(void);
+};
+
+#endif /* XAP_UNIXGNOMEDIALOG_PRINT_H */
diff -Naur --exclude CVS ../abi-current/abi/src/af/xap/unix/xap_UnixDlg_Print.h abi/src/af/xap/unix/xap_UnixDlg_Print.h
--- ../abi-current/abi/src/af/xap/unix/xap_UnixDlg_Print.h	Wed May  5 15:44:39 1999
+++ abi/src/af/xap/unix/xap_UnixDlg_Print.h	Mon Jul 31 20:27:21 2000
@@ -53,8 +53,8 @@
 
 	printCBStruct			m_callbackData;
 	
-	void					_raisePrintDialog(XAP_Frame * pFrame);
-	void					_getGraphics(void);
+	virtual void			_raisePrintDialog(XAP_Frame * pFrame);
+	virtual void			_getGraphics(void);
 
 //	void 					_notifyError_OKOnly(XAP_Frame * pFrame, const char * message);
 	
diff -Naur --exclude CVS ../abi-current/abi/src/af/xap/unix/xap_UnixFont.cpp abi/src/af/xap/unix/xap_UnixFont.cpp
--- ../abi-current/abi/src/af/xap/unix/xap_UnixFont.cpp	Mon Jul 31 17:50:47 2000
+++ abi/src/af/xap/unix/xap_UnixFont.cpp	Mon Jul 31 20:43:29 2000
@@ -718,7 +718,7 @@
 	}
 
 	// call down to the Adobe code
-	int result = parseFile(fp, &m_metricsData, P_GM);
+	int result = abi_parseFile(fp, &m_metricsData, P_GM);
 	switch (result)
 	{
 	case parseError:
diff -Naur --exclude CVS ../abi-current/abi/src/af/xap/unix/xap_UnixPSParseAFM.c abi/src/af/xap/unix/xap_UnixPSParseAFM.c
--- ../abi-current/abi/src/af/xap/unix/xap_UnixPSParseAFM.c	Wed Jun  7 17:49:24 2000
+++ abi/src/af/xap/unix/xap_UnixPSParseAFM.c	Mon Jul 31 18:56:48 2000
@@ -1092,7 +1092,7 @@
  *  pointer upon return of this function is undefined.
  */
 
-extern int parseFile (FILE *fp, ABIFontInfo **fi, FLAGS flags)
+extern int abi_parseFile (FILE *fp, ABIFontInfo **fi, FLAGS flags)
 {
     
     int code = ok; 	/* return code from each of the parsing routines */
diff -Naur --exclude CVS ../abi-current/abi/src/af/xap/unix/xap_UnixPSParseAFM.h abi/src/af/xap/unix/xap_UnixPSParseAFM.h
--- ../abi-current/abi/src/af/xap/unix/xap_UnixPSParseAFM.h	Thu Dec  2 20:22:01 1999
+++ abi/src/af/xap/unix/xap_UnixPSParseAFM.h	Mon Jul 31 18:56:48 2000
@@ -337,7 +337,7 @@
 #ifdef __cplusplus
 extern "C" {
 #endif
-  extern int parseFile (FILE *fp, ABIFontInfo **fi, FLAGS flags); 
+  extern int abi_parseFile (FILE *fp, ABIFontInfo **fi, FLAGS flags); 
 #ifdef __cplusplus
 };
 #endif
diff -Naur --exclude CVS ../abi-current/abi/src/config/abi_defs.mk abi/src/config/abi_defs.mk
--- ../abi-current/abi/src/config/abi_defs.mk	Thu Jul 27 13:00:05 2000
+++ abi/src/config/abi_defs.mk	Mon Jul 31 19:03:11 2000
@@ -434,7 +434,7 @@
 ifeq ($(ABI_NATIVE),unix)
 ifdef ABI_OPT_GNOME
 GNOME_CFLAGS	:= $(shell $(GNOME_CONFIG) --cflags gnomeui)
-GNOME_LIBS	:= $(shell $(GNOME_CONFIG) --libs gnomeui)
+GNOME_LIBS	:= $(shell $(GNOME_CONFIG) --libs gnomeui print)
 CFLAGS 		+=	$(GNOME_CFLAGS) -DHAVE_GNOME
 EXTRA_LIBS	+=	$(GNOME_LIBS)
 ABI_GNOME_DIR		= gnome
diff -Naur --exclude CVS ../abi-current/abi/src/wp/ap/.#Makefile.1.68 abi/src/wp/ap/.#Makefile.1.68
--- ../abi-current/abi/src/wp/ap/.#Makefile.1.68	Wed Dec 31 19:00:00 1969
+++ abi/src/wp/ap/.#Makefile.1.68	Sun Jul 30 17:56:36 2000
@@ -0,0 +1,131 @@
+#! gmake
+
+## AbiWord
+## Copyright (C) 1998-2000 AbiSource, Inc.
+##
+## This program is free software; you can redistribute it and/or
+## modify it under the terms of the GNU General Public License
+## as published by the Free Software Foundation; either version 2
+## of the License, or (at your option) any later version.
+## 
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+## 
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  
+## 02111-1307, USA.
+
+ABI_ROOT:=$(shell pwd)/../../..
+include $(ABI_ROOT)/src/config/abi_defs_wp.mk
+
+DIRS=			xp $(ABI_NATIVE)
+LIBRARY_NAME=		AbiWPAp
+LIBRARY_VERSION=	$(ABI_VERSION)
+TARGETS=		$(LIBRARY)
+
+PLATFORM_OBJS=	$(OBJDIR)/ap_$(ABI_FE)App.$(OBJ_SUFFIX)			\
+		$(OBJDIR)/ap_$(ABI_FE)Clipboard.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_$(ABI_FE)DialogFactory.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_$(ABI_FE)Dialog_Break.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_$(ABI_FE)Dialog_WordCount.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_$(ABI_FE)Dialog_Field.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_$(ABI_FE)Dialog_Goto.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_$(ABI_FE)Dialog_Insert_DateTime.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_$(ABI_FE)Dialog_Lists.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_$(ABI_FE)Dialog_Options.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_$(ABI_FE)Dialog_Paragraph.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_$(ABI_FE)Dialog_Replace.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_$(ABI_FE)Dialog_Spell.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_$(ABI_FE)Dialog_Columns.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_$(ABI_FE)Frame.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_$(ABI_FE)LeftRuler.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_$(ABI_FE)Prefs.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_$(ABI_FE)StatusBar.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_$(ABI_FE)Toolbar_StyleCombo.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_$(ABI_FE)Toolbar_FontCombo.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_$(ABI_FE)Toolbar_SizeCombo.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_$(ABI_FE)Toolbar_ZoomCombo.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_$(ABI_FE)_TB_CFactory.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_$(ABI_FE)TopRuler.$(OBJ_SUFFIX)
+
+
+ifeq ($(ABI_FE), Unix)
+PLATFORM_OBJS += 	$(OBJDIR)/ap_$(ABI_FE)ViewListener.$(OBJ_SUFFIX)
+endif
+
+ifdef ABI_OPT_GNOME
+PLATFORM_OBJS+=	$(OBJDIR)/ap_$(ABI_FE)$(ABI_GNOME_PREFIX)App.$(OBJ_SUFFIX)			\
+		$(OBJDIR)/ap_$(ABI_FE)$(ABI_GNOME_PREFIX)Dialog_Break.$(OBJ_SUFFIX) 		\
+		$(OBJDIR)/ap_$(ABI_FE)$(ABI_GNOME_PREFIX)Dialog_Field.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_$(ABI_FE)$(ABI_GNOME_PREFIX)Dialog_Goto.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_$(ABI_FE)$(ABI_GNOME_PREFIX)Dialog_Replace.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_$(ABI_FE)$(ABI_GNOME_PREFIX)Dialog_WordCount.$(OBJ_SUFFIX)         \
+		$(OBJDIR)/ap_$(ABI_FE)$(ABI_GNOME_PREFIX)Dialog_Paragraph.$(OBJ_SUFFIX)         \
+		$(OBJDIR)/ap_$(ABI_FE)$(ABI_GNOME_PREFIX)Dialog_Lists.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_$(ABI_FE)$(ABI_GNOME_PREFIX)Dialog_Options.$(OBJ_SUFFIX)
+endif
+
+OBJS=		$(PLATFORM_OBJS)				\
+		$(OBJDIR)/ap_Convert.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_Dialog_Break.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_Dialog_WordCount.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_Dialog_Field.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_Dialog_Goto.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_Dialog_Insert_DateTime.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_Dialog_Lists.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_Dialog_Options.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_Dialog_Paragraph.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_Dialog_Replace.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_Dialog_Spell.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_Dialog_Columns.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_EditMethods.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_FrameData.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_LeftRuler.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_LoadBindings.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_LB_DeadAbovedot.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_LB_DeadAcute.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_LB_DeadBreve.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_LB_DeadCaron.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_LB_DeadCedilla.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_LB_DeadCircumflex.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_LB_DeadDiaeresis.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_LB_DeadDoubleacute.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_LB_DeadGrave.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_LB_DeadMacron.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_LB_DeadOgonek.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_LB_DeadTilde.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_LB_Default.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_LB_Emacs.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_LB_EmacsCtrlX.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_LB_viEdit.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_LB_viEdit_colon.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_LB_viEdit_c.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_LB_viEdit_d.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_LB_viEdit_y.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_LB_viInput.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_Menu_ActionSet.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_Menu_Functions.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_Menu_LabelSet.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_Menu_Layouts.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_Prefs.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_Preview_Paragraph.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_Ruler.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_StatusBar.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_Strings.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_Toolbar_ActionSet.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_Toolbar_Functions.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_Toolbar_Icons.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_Toolbar_LabelSet.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_Toolbar_Layouts.$(OBJ_SUFFIX)	\
+		$(OBJDIR)/ap_TopRuler.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_wp_splash.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_wp_sidebar.$(OBJ_SUFFIX)
+
+
+include $(ABI_ROOT)/src/config/abi_rules.mk
+
+
+build:: $(TARGETS)
diff -Naur --exclude CVS ../abi-current/abi/src/wp/ap/unix/.#ap_UnixDialog_All.h.1.39 abi/src/wp/ap/unix/.#ap_UnixDialog_All.h.1.39
--- ../abi-current/abi/src/wp/ap/unix/.#ap_UnixDialog_All.h.1.39	Wed Dec 31 19:00:00 1969
+++ abi/src/wp/ap/unix/.#ap_UnixDialog_All.h.1.39	Sun Jul 30 17:57:18 2000
@@ -0,0 +1,140 @@
+/* AbiWord
+ * Copyright (C) 1998 AbiSource, Inc.
+ * 
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ * 
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  
+ * 02111-1307, USA.
+ */
+
+/*****************************************************************
+******************************************************************
+** IT IS IMPORTANT THAT THIS FILE ALLOW ITSELF TO BE INCLUDED
+** MORE THAN ONE TIME.  Each time you add an entry to the top-half
+** of this file be sure to add a corresponding entry to the other
+** half and be sure to add an entry to each of the other platforms.
+******************************************************************
+*****************************************************************/
+
+#ifndef AP_UNIXDIALOG_ALL_H
+
+#	define AP_UNIXDIALOG_ALL_H
+
+// Temporary "standard" sizes for some Gtk widgets.
+// We need better cross-platform dialog layout guidelines.
+#	define DEFAULT_BUTTON_WIDTH	85
+
+#	include "xap_UnixDlg_MessageBox.h"
+#	include "xap_UnixDlg_FileOpenSaveAs.h"
+#	include "xap_UnixDlg_Print.h"
+#	include "xap_UnixDlg_WindowMore.h"
+#	include "xap_UnixDlg_FontChooser.h"
+#	include "xap_UnixDlg_About.h"
+#	include "xap_UnixDlg_Zoom.h"
+#	include "xap_UnixDlg_Insert_Symbol.h"
+
+#	include "ap_UnixDialog_Replace.h"
+#	include "ap_UnixDialog_Break.h"
+#	include "ap_UnixDialog_Goto.h"
+#	include "ap_UnixDialog_Paragraph.h"
+#	include "ap_UnixDialog_Options.h"
+#	include "ap_UnixDialog_Spell.h"
+#	include "ap_UnixDialog_Insert_DateTime.h"
+#	include "ap_UnixDialog_WordCount.h"
+#	include "ap_UnixDialog_Field.h"
+#	include "ap_UnixDialog_Lists.h"
+#	include "ap_UnixDialog_Columns.h"
+
+#ifdef HAVE_GNOME
+#	include "xap_UnixGnomeDlg_About.h"
+#	include "xap_UnixGnomeDlg_FontChooser.h"
+#	include "xap_UnixGnomeDlg_Insert_Symbol.h"
+#	include "xap_UnixGnomeDlg_MessageBox.h"
+#	include "xap_UnixGnomeDlg_Zoom.h"
+
+#	include "ap_UnixGnomeDialog_Replace.h"
+#	include "ap_UnixGnomeDialog_Break.h"
+#	include "ap_UnixGnomeDialog_Goto.h"
+#	include "ap_UnixGnomeDialog_Paragraph.h"
+#	include "ap_UnixGnomeDialog_Options.h"
+#	include "ap_UnixGnomeDialog_WordCount.h"
+#	include "ap_UnixGnomeDialog_Field.h"
+#       include "ap_UnixGnomeDialog_Lists.h"
+
+#endif
+
+	// ... add new dialogs here ...
+
+#else
+
+#   ifdef HAVE_GNOME
+	DeclareDialog(XAP_DIALOG_ID_MESSAGE_BOX,	XAP_UnixGnomeDialog_MessageBox)
+	DeclareDialog(XAP_DIALOG_ID_FILE_OPEN,		XAP_UnixDialog_FileOpenSaveAs)
+	DeclareDialog(XAP_DIALOG_ID_FILE_SAVEAS,	XAP_UnixDialog_FileOpenSaveAs)
+	DeclareDialog(XAP_DIALOG_ID_PRINT,			XAP_UnixDialog_Print)
+	DeclareDialog(XAP_DIALOG_ID_PRINTTOFILE,	XAP_UnixDialog_FileOpenSaveAs)
+	DeclareDialog(XAP_DIALOG_ID_FONT,			XAP_UnixGnomeDialog_FontChooser)
+	DeclareDialog(XAP_DIALOG_ID_WINDOWMORE,		XAP_UnixDialog_WindowMore)
+	DeclareDialog(XAP_DIALOG_ID_ZOOM,			XAP_UnixGnomeDialog_Zoom)
+	DeclareDialog(XAP_DIALOG_ID_ABOUT,			XAP_UnixGnomeDialog_About)
+	DeclareDialog(XAP_DIALOG_ID_INSERT_SYMBOL,  XAP_UnixGnomeDialog_Insert_Symbol)
+	DeclareDialog(XAP_DIALOG_ID_INSERT_PICTURE,	XAP_UnixDialog_FileOpenSaveAs)
+
+	DeclareDialog(AP_DIALOG_ID_REPLACE,			AP_UnixGnomeDialog_Replace)
+	DeclareDialog(AP_DIALOG_ID_FIND,			AP_UnixGnomeDialog_Replace)
+	DeclareDialog(AP_DIALOG_ID_GOTO,			AP_UnixGnomeDialog_Goto)
+	DeclareDialog(AP_DIALOG_ID_BREAK,			AP_UnixGnomeDialog_Break)
+	DeclareDialog(AP_DIALOG_ID_SPELL,			AP_UnixDialog_Spell)
+	DeclareDialog(AP_DIALOG_ID_PARAGRAPH,		AP_UnixGnomeDialog_Paragraph)	
+	DeclareDialog(AP_DIALOG_ID_OPTIONS,			AP_UnixGnomeDialog_Options)
+	DeclareDialog(AP_DIALOG_ID_INSERT_DATETIME,	AP_UnixDialog_Insert_DateTime)			
+	DeclareDialog(AP_DIALOG_ID_WORDCOUNT,       AP_UnixGnomeDialog_WordCount)
+	DeclareDialog(AP_DIALOG_ID_FIELD,			AP_UnixGnomeDialog_Field)
+	DeclareDialog(AP_DIALOG_ID_LISTS,		     AP_UnixGnomeDialog_Lists)
+	DeclareDialog(AP_DIALOG_ID_COLUMNS,			AP_UnixDialog_Columns)
+
+	// ... also add new dialogs here ...
+#   else
+	DeclareDialog(XAP_DIALOG_ID_MESSAGE_BOX,	XAP_UnixDialog_MessageBox)
+	DeclareDialog(XAP_DIALOG_ID_FILE_OPEN,		XAP_UnixDialog_FileOpenSaveAs)
+	DeclareDialog(XAP_DIALOG_ID_FILE_SAVEAS,	XAP_UnixDialog_FileOpenSaveAs)
+	DeclareDialog(XAP_DIALOG_ID_PRINT,			XAP_UnixDialog_Print)
+	DeclareDialog(XAP_DIALOG_ID_PRINTTOFILE,	XAP_UnixDialog_FileOpenSaveAs)
+	DeclareDialog(XAP_DIALOG_ID_FONT,			XAP_UnixDialog_FontChooser)
+	DeclareDialog(XAP_DIALOG_ID_WINDOWMORE,		XAP_UnixDialog_WindowMore)
+	DeclareDialog(XAP_DIALOG_ID_ZOOM,			XAP_UnixDialog_Zoom)
+	DeclareDialog(XAP_DIALOG_ID_INSERT_SYMBOL,  XAP_UnixDialog_Insert_Symbol)
+	DeclareDialog(XAP_DIALOG_ID_INSERT_PICTURE,	XAP_UnixDialog_FileOpenSaveAs)
+
+	DeclareDialog(XAP_DIALOG_ID_ABOUT,			XAP_UnixDialog_About)
+
+	DeclareDialog(AP_DIALOG_ID_REPLACE,			AP_UnixDialog_Replace)
+	DeclareDialog(AP_DIALOG_ID_FIND,			AP_UnixDialog_Replace)
+	DeclareDialog(AP_DIALOG_ID_GOTO,			AP_UnixDialog_Goto)
+	DeclareDialog(AP_DIALOG_ID_BREAK,			AP_UnixDialog_Break)
+	DeclareDialog(AP_DIALOG_ID_SPELL,			AP_UnixDialog_Spell)
+	DeclareDialog(AP_DIALOG_ID_PARAGRAPH,		AP_UnixDialog_Paragraph)	
+	DeclareDialog(AP_DIALOG_ID_OPTIONS,			AP_UnixDialog_Options)
+	DeclareDialog(AP_DIALOG_ID_INSERT_DATETIME,	AP_UnixDialog_Insert_DateTime)		
+	DeclareDialog(AP_DIALOG_ID_WORDCOUNT,		AP_UnixDialog_WordCount)
+	DeclareDialog(AP_DIALOG_ID_FIELD,			AP_UnixDialog_Field)
+	DeclareDialog(AP_DIALOG_ID_LISTS,			AP_UnixDialog_Lists)
+	DeclareDialog(AP_DIALOG_ID_COLUMNS,			AP_UnixDialog_Columns)
+
+	// ... also add new dialogs here ...
+#   endif
+
+#endif
+
+
+
diff -Naur --exclude CVS ../abi-current/abi/src/wp/ap/unix/ap_UnixDialog_All.h abi/src/wp/ap/unix/ap_UnixDialog_All.h
--- ../abi-current/abi/src/wp/ap/unix/ap_UnixDialog_All.h	Mon Jul 31 17:50:47 2000
+++ abi/src/wp/ap/unix/ap_UnixDialog_All.h	Mon Jul 31 19:04:12 2000
@@ -60,6 +60,7 @@
 #	include "xap_UnixGnomeDlg_FontChooser.h"
 #	include "xap_UnixGnomeDlg_Insert_Symbol.h"
 #	include "xap_UnixGnomeDlg_MessageBox.h"
+#       include "xap_UnixGnomeDlg_Print.h"
 #	include "xap_UnixGnomeDlg_Zoom.h"
 
 #	include "ap_UnixGnomeDialog_Replace.h"
@@ -81,7 +82,7 @@
 	DeclareDialog(XAP_DIALOG_ID_MESSAGE_BOX,	XAP_UnixGnomeDialog_MessageBox)
 	DeclareDialog(XAP_DIALOG_ID_FILE_OPEN,		XAP_UnixDialog_FileOpenSaveAs)
 	DeclareDialog(XAP_DIALOG_ID_FILE_SAVEAS,	XAP_UnixDialog_FileOpenSaveAs)
-	DeclareDialog(XAP_DIALOG_ID_PRINT,			XAP_UnixDialog_Print)
+	DeclareDialog(XAP_DIALOG_ID_PRINT,			XAP_UnixGnomeDialog_Print)
 	DeclareDialog(XAP_DIALOG_ID_PRINTTOFILE,	XAP_UnixDialog_FileOpenSaveAs)
 	DeclareDialog(XAP_DIALOG_ID_FONT,			XAP_UnixGnomeDialog_FontChooser)
 	DeclareDialog(XAP_DIALOG_ID_WINDOWMORE,		XAP_UnixDialog_WindowMore)
diff -Naur --exclude CVS ../abi-current/abi/src/wp/ap/unix/gnome/.#Makefile.1.5 abi/src/wp/ap/unix/gnome/.#Makefile.1.5
--- ../abi-current/abi/src/wp/ap/unix/gnome/.#Makefile.1.5	Wed Dec 31 19:00:00 1969
+++ abi/src/wp/ap/unix/gnome/.#Makefile.1.5	Sun Jul 30 17:55:48 2000
@@ -0,0 +1,51 @@
+#! gmake
+
+## AbiWord
+## Copyright (C) 1998 AbiSource, Inc.
+##
+## This program is free software; you can redistribute it and/or
+## modify it under the terms of the GNU General Public License
+## as published by the Free Software Foundation; either version 2
+## of the License, or (at your option) any later version.
+## 
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+## 
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  
+## 02111-1307, USA.
+
+ABI_ROOT:=$(shell pwd)/../../../../..
+
+include $(ABI_ROOT)/src/config/abi_defs_wp.mk
+
+ABI_WP_INCS+=	/wp/ap/$(ABI_NATIVE)/$(ABI_GNOME_DIR)
+
+PLATFORM_OBJS+=	$(OBJDIR)/ap_$(ABI_FE)$(ABI_GNOME_PREFIX)App.$(OBJ_SUFFIX)			\
+		$(OBJDIR)/ap_$(ABI_FE)$(ABI_GNOME_PREFIX)Dialog_Break.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_$(ABI_FE)$(ABI_GNOME_PREFIX)Dialog_Field.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_$(ABI_FE)$(ABI_GNOME_PREFIX)Dialog_Goto.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_$(ABI_FE)$(ABI_GNOME_PREFIX)Dialog_Replace.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_$(ABI_FE)$(ABI_GNOME_PREFIX)Dialog_WordCount.$(OBJ_SUFFIX)         \
+		$(OBJDIR)/ap_$(ABI_FE)$(ABI_GNOME_PREFIX)Dialog_Paragraph.$(OBJ_SUFFIX)         \
+		$(OBJDIR)/ap_$(ABI_FE)$(ABI_GNOME_PREFIX)Dialog_Lists.$(OBJ_SUFFIX)		\
+		$(OBJDIR)/ap_$(ABI_FE)$(ABI_GNOME_PREFIX)Dialog_Options.$(OBJ_SUFFIX)
+
+CPPSRCS=		ap_$(ABI_FE)$(ABI_GNOME_PREFIX)App.cpp			\
+			ap_$(ABI_FE)$(ABI_GNOME_PREFIX)Dialog_Break.cpp		\
+			ap_$(ABI_FE)$(ABI_GNOME_PREFIX)Dialog_Field.cpp		\
+			ap_$(ABI_FE)$(ABI_GNOME_PREFIX)Dialog_Goto.cpp		\
+			ap_$(ABI_FE)$(ABI_GNOME_PREFIX)Dialog_Replace.cpp	\
+			ap_$(ABI_FE)$(ABI_GNOME_PREFIX)Dialog_WordCount.cpp     \
+			ap_$(ABI_FE)$(ABI_GNOME_PREFIX)Dialog_Paragraph.cpp     \
+			ap_$(ABI_FE)$(ABI_GNOME_PREFIX)Dialog_Lists.cpp		\
+			ap_$(ABI_FE)$(ABI_GNOME_PREFIX)Dialog_Options.cpp
+
+TARGETS=		$(OBJS)
+
+include $(ABI_ROOT)/src/config/abi_rules.mk
+
+build:: $(TARGETS)
