This patch makes qt build on RH-8.0 with Gcc 3.2.
(there are also some other changes...)

Index: ChangeLog
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/frontends/qt2/ChangeLog,v
retrieving revision 1.239
diff -u -p -r1.239 ChangeLog
--- ChangeLog	14 Oct 2002 20:20:34 -0000	1.239
+++ ChangeLog	15 Oct 2002 08:55:00 -0000
@@ -63,8 +63,8 @@
 2002-09-24  Lars Gullik Bj�nnes  <[EMAIL PROTECTED]>
 
 	* ui/moc/Makefile.am (INCLUDES):
-	* ui/Makefile.am (INCLUDES): 
-	* moc/Makefile.am (INCLUDES): 
+	* ui/Makefile.am (INCLUDES):
+	* moc/Makefile.am (INCLUDES):
 	* Makefile.am (INCLUDES): loose SIGC_INCLUDES
 
 2002-09-24  John Levon  <[EMAIL PROTECTED]>
Index: FileDialog.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/frontends/qt2/FileDialog.C,v
retrieving revision 1.6
diff -u -p -r1.6 FileDialog.C
--- FileDialog.C	24 Sep 2002 13:57:07 -0000	1.6
+++ FileDialog.C	15 Oct 2002 08:55:00 -0000
@@ -13,8 +13,6 @@
 #endif
 
 #include <config.h>
-#include <gettext.h>
-#include <utility>
 
 #include "commandtags.h"
 #include "LString.h"
@@ -23,18 +21,21 @@
 #include "debug.h"
 
 #include <qapplication.h>
- 
+
+#include <gettext.h>
+#include <utility>
+
 using std::make_pair;
 using std::pair;
 using std::endl;
 
-struct FileDialog::Private { 
+struct FileDialog::Private {
 	Button b1;
 	Button b2;
 };
- 
+
 FileDialog::FileDialog(LyXView *lv, string const & t, kb_action s, Button b1, Button b2)
-	: private_(new FileDialog::Private()), lv_(lv), title_(t), success_(s)
+	: private_(new FileDialog::Private), lv_(lv), title_(t), success_(s)
 {
 	private_->b1 = b1;
 	private_->b2 = b2;
@@ -57,14 +58,14 @@ FileDialog::Result const FileDialog::Sel
 	lyxerr[Debug::GUI] << "Select with path \"" << path << "\", mask \"" << filter << "\", suggested \"" << suggested << endl;
 
 	dlg.setMode(QFileDialog::AnyFile);
- 
+
 	if (!suggested.empty())
 		dlg.setSelection(suggested.c_str());
 
 	// This code relies on DestructiveClose which is broken
 	// in Qt < 3.0.5. So we just don't allow it for now.
 	//if (success_ == LFUN_SELECT_FILE_SYNC) {
- 
+
 	FileDialog::Result result;
 	lyxerr[Debug::GUI] << "Synchronous FileDialog : " << endl;
 	result.first = FileDialog::Chosen;
Index: FileDialog_private.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/frontends/qt2/FileDialog_private.C,v
retrieving revision 1.11
diff -u -p -r1.11 FileDialog_private.C
--- FileDialog_private.C	24 Sep 2002 13:57:07 -0000	1.11
+++ FileDialog_private.C	15 Oct 2002 08:55:00 -0000
@@ -14,17 +14,19 @@
 #pragma implementation
 #endif
 
-#include <qapplication.h>
-#include <qtoolbutton.h>
-
-#include "FileDialog_private.h"
-
 #include "QtLyXView.h"
 #include "debug.h"
 #include "funcrequest.h"
 #include "lyxfunc.h"
+#include "FileDialog_private.h"
+
 #include "support/lstrings.h"
 
+#include <qapplication.h>
+#include <qfiledialog.h>
+#include <qtoolbutton.h>
+
+
 namespace {
 	/// return the Qt form of the label
 	string const getLabel(string const & str) {
@@ -40,9 +42,12 @@ namespace {
 	}
 }
 
-LyXFileDialog::LyXFileDialog(string const & p, string const & m, string const & t,
+
+LyXFileDialog::LyXFileDialog(string const & p, string const & m,
+			     string const & t,
 		FileDialog::Button const & b1, FileDialog::Button const & b2)
-	: QFileDialog(p.c_str(), m.c_str(), qApp->mainWidget(), t.c_str(), true),
+	: QFileDialog(p.c_str(), m.c_str(),
+		      qApp->mainWidget(), t.c_str(), true),
 	  b1_(0), b2_(0)
 {
 	setCaption(t.c_str());
Index: QBrowseBox.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/frontends/qt2/QBrowseBox.C,v
retrieving revision 1.1
diff -u -p -r1.1 QBrowseBox.C
--- QBrowseBox.C	9 Oct 2002 08:59:02 -0000	1.1
+++ QBrowseBox.C	15 Oct 2002 08:55:00 -0000
@@ -25,7 +25,8 @@
 #include "QBrowseBox.h"
 
 
-QBrowseBox::QBrowseBox(int rows, int cols, QWidget* parent=0 , const char* name=0 , WFlags fl=0 )
+QBrowseBox::QBrowseBox(int rows, int cols, QWidget* parent,
+		       char const * name, WFlags fl)
     : QGridView()
 {
     setNumRows( rows );
@@ -66,13 +67,13 @@ int QBrowseBox::coordsToIndex( int row, 
     return row + col*numCols();
 }
 
-  
+
 void QBrowseBox::insertItem( const QString& text, int row, int col )
 {
     _texts[ coordsToIndex( row, col ) ] = text;
 }
 
-  
+
 void QBrowseBox::insertItem( QPixmap pixmap, int row, int col )
 {
     _pixmaps[ coordsToIndex( row, col ) ] = pixmap;
@@ -82,9 +83,9 @@ void QBrowseBox::insertItem( QPixmap pix
 {
    int w = (pixmap.width()/numCols());
     int h = (pixmap.height()/numRows());
-    
+
    for( int row = 0; row < numRows(); row++ )
-    for( int col = 0; col < numCols(); col++ ) 
+    for( int col = 0; col < numCols(); col++ )
 	     {
 	    QPixmap small(w,h);
 	    bitBlt(&small,0,0,&pixmap,col*w,row*h,w,h,Qt::CopyROP,false);
@@ -94,14 +95,14 @@ void QBrowseBox::insertItem( QPixmap pix
     resize(pixmap.width() + (numCols()+1)*frameWidth(),
 	   pixmap.height() +(numRows()+1)*frameWidth());
 }
-  
+
 void QBrowseBox::removeItem( int row, int col )
 {
     _texts[ coordsToIndex( row, col ) ] = "";
     _pixmaps[ coordsToIndex( row, col ) ].resize( 0, 0 );
 }
 
-  
+
 void QBrowseBox::clear()
 {
 	for( int row = 0; row < numRows(); row++ )
@@ -109,7 +110,7 @@ void QBrowseBox::clear()
 	    removeItem( row, col );
 }
 
-  
+
 QString QBrowseBox::text( int row, int col )
 {
     if( col<0 || col >= numCols() || row<0 || row >= numRows() )
@@ -117,7 +118,7 @@ QString QBrowseBox::text( int row, int c
     return _texts[ coordsToIndex( row, col ) ];
 }
 
-  
+
 QPixmap QBrowseBox::pixmap( int row, int col )
 {
     static QPixmap empty;
@@ -148,7 +149,7 @@ void QBrowseBox::keyPressEvent( QKeyEven
 	default:
 		e->ignore();
 	}
-	
+
 }
 
 void QBrowseBox::mouseReleaseEvent( QMouseEvent* e )
@@ -167,7 +168,7 @@ void QBrowseBox::paintCell( class QPaint
 {
     painter->setClipRect(cellGeometry(row,col));//, QPainter::CoordPainter);
     bool ispixmap = false;
-    
+
     if( ! _pixmaps[coordsToIndex(row,col)].isNull() ) {
 	painter->drawPixmap(0,0,_pixmaps[coordsToIndex(row,col)]);
 	ispixmap = true;
@@ -211,7 +212,7 @@ void QBrowseBox::mouseMoveEvent( QMouseE
 
   int cellx;
   int celly;
-   
+
   if( x < 0 || y < 0 || x > width() || y > height() ) {
      // outside the box
      cellx = -1;
@@ -232,17 +233,17 @@ void QBrowseBox::mouseMoveEvent( QMouseE
 	    // remove old highlighting
 	   updateCell( oldactivecellx, oldactivecelly );
 	    // set new highlighting
-	   updateCell( _activecell.x(), _activecell.y() ); 
+	   updateCell( _activecell.x(), _activecell.y() );
 	 }
 }
 
 void QBrowseBox::moveLeft( )
 {
    int const y = _activecell.y();
-   
+
    if (y>0)
        _activecell.setY(y-1);
-   
+
    updateCell(_activecell.x(), y);
    updateCell(_activecell.x(), _activecell.y());
 }
@@ -250,10 +251,10 @@ void QBrowseBox::moveLeft( )
 void QBrowseBox::moveRight( )
 {
    int const y = _activecell.y();
-   
+
    if (y<numCols()-1)
        _activecell.setY(y+1);
-   
+
    updateCell(_activecell.x(), y);
    updateCell(_activecell.x(),_activecell.y());
 }
@@ -261,10 +262,10 @@ void QBrowseBox::moveRight( )
 void QBrowseBox::moveUp( )
 {
    int const x = _activecell.x();
-   
+
    if (x>0)
        _activecell.setX(x-1);
-   
+
    updateCell(x, _activecell.y());
    updateCell(_activecell.x(),_activecell.y());
 }
@@ -272,10 +273,10 @@ void QBrowseBox::moveUp( )
 void QBrowseBox::moveDown( )
 {
    int const x = _activecell.x();
-   
+
    if (x<numRows()-1)
        _activecell.setX(x+1);
-   
+
    updateCell(x, _activecell.y());
    updateCell(_activecell.x(),_activecell.y());
 }
Index: QCharacter.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/frontends/qt2/QCharacter.C,v
retrieving revision 1.9
diff -u -p -r1.9 QCharacter.C
--- QCharacter.C	24 Sep 2002 13:57:07 -0000	1.9
+++ QCharacter.C	15 Oct 2002 08:55:00 -0000
@@ -101,7 +101,10 @@ namespace {
 template<class A, class B>
 int findPos2nd(vector<std::pair<A,B> > const & vec, B const & val)
 {
-	vector<std::pair<A,B> >::const_iterator cit = vec.begin();
+	typedef typename vector<std::pair<A, B> >::const_iterator
+		const_iterator;
+
+	const_iterator cit = vec.begin();
 	for (; cit != vec.end(); ++cit) {
 		if (cit->second == val)
 			return int(cit - vec.begin());
Index: QDocument.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/frontends/qt2/QDocument.C,v
retrieving revision 1.15
diff -u -p -r1.15 QDocument.C
--- QDocument.C	9 Oct 2002 08:59:02 -0000	1.15
+++ QDocument.C	15 Oct 2002 08:55:00 -0000
@@ -2,7 +2,7 @@
  * \file QDocument.C
  * This file is part of LyX, the document processor.
  * Licence details can be found in the file COPYING.
- * 
+ *
  * \author Edwin Leuven
  *
  * Full author contact details are available in file CREDITS
@@ -45,6 +45,8 @@
 
 #include <vector>
 
+using std::vector;
+
 typedef Qt2CB<ControlDocument, Qt2DB<QDocumentDialog> > base_class;
 
 QDocument::QDocument()
@@ -71,7 +73,7 @@ void QDocument::build_dialog()
 		dialog_->langModule->languageCO->insertItem(
 			lit->first.c_str());
 	}
-	
+
 	dialog_->langModule->quoteStyleCO->insertItem(_("``text''"));
 	dialog_->langModule->quoteStyleCO->insertItem(_("''text''"));
 	dialog_->langModule->quoteStyleCO->insertItem(_(",,text``"));
@@ -85,7 +87,7 @@ void QDocument::build_dialog()
 			     "koi8-r","koi8-u","cp866","cp1251",
 			     "iso88595","pt154",0};
 	dialog_->packagesModule->encodingCO->insertStrList(items);
-	
+
 	dialog_->packagesModule->lspacingCO->insertItem(
 		_("Single"),Spacing::Single);
 	dialog_->packagesModule->lspacingCO->insertItem(
@@ -95,8 +97,7 @@ void QDocument::build_dialog()
 	dialog_->packagesModule->lspacingCO->insertItem(
 		_("Custom"),Spacing::Other);
 
-	int n;
-	for (n=0; tex_graphics[n][0]; ++n) {
+	for (int n=0; tex_graphics[n][0]; ++n) {
 		QString enc = tex_graphics[n];
 		dialog_->packagesModule->psdriverCO->insertItem(enc);
 	}
@@ -114,16 +115,16 @@ void QDocument::build_dialog()
 		dialog_->layoutModule->classCO->insertItem(cit->description().c_str());
 	}
 
-	for (n=0; tex_fonts[n][0]; ++n) {
+	for (int n = 0; tex_fonts[n][0]; ++n) {
 		QString font = tex_fonts[n];
 		dialog_->layoutModule->fontsCO->insertItem(font);
 	}
-	
+
 	dialog_->layoutModule->fontsizeCO->insertItem(_("default"));
 	dialog_->layoutModule->fontsizeCO->insertItem(_("10"));
 	dialog_->layoutModule->fontsizeCO->insertItem(_("11"));
 	dialog_->layoutModule->fontsizeCO->insertItem(_("12"));
-	
+
 	dialog_->layoutModule->skipCO->insertItem(_("Smallskip"));
 	dialog_->layoutModule->skipCO->insertItem(_("Medskip"));
 	dialog_->layoutModule->skipCO->insertItem(_("Bigskip"));
@@ -140,8 +141,8 @@ void QDocument::build_dialog()
 
 	string const bmtablefile = LibFileSearch("images", "standard", "xpm");
 	QString s = bmtablefile.c_str();
-   qWarning("%d",s);
-   
+	qWarning("%d", s);
+
 	// Manage the restore, ok, apply, restore and cancel/close buttons
 	bc().setOK(dialog_->okPB);
 	bc().setApply(dialog_->applyPB);
@@ -155,7 +156,7 @@ void QDocument::apply()
 	/* preamble */
 	controller().params().preamble =
 		dialog_->preambleModule->preambleMLE->text().latin1();
-	
+
 	/* biblio */
 	controller().params().use_natbib =
 		dialog_->biblioModule->natbibCB->isChecked();
@@ -168,7 +169,7 @@ void QDocument::apply()
 	else
 		controller().params().quotes_times = InsetQuotes::DoubleQ;
 
-	
+
 	InsetQuotes::quote_language lga = InsetQuotes::EnglishQ;
 	switch (dialog_->langModule->quoteStyleCO->currentItem()) {
 	case 0:
@@ -219,13 +220,13 @@ void QDocument::apply()
 				   );
 		break;
 	}
-	
+
 	controller().params().graphicsDriver =
 		dialog_->packagesModule->psdriverCO->currentText().latin1();
-	
+
 	controller().params().use_amsmath =
 		dialog_->packagesModule->amsCB->isChecked();
-	
+
 	controller().params().inputenc =
 		dialog_->packagesModule->encodingCO->currentText().latin1();
 
@@ -234,16 +235,16 @@ void QDocument::apply()
 		dialog_->layoutModule->classCO->currentItem();
 
 	//bool succes = controller().classApply();
-	
+
 	controller().params().fonts =
 		dialog_->layoutModule->fontsCO->currentText().latin1();
-	
+
 	controller().params().fontsize =
 		dialog_->layoutModule->fontsizeCO->currentText().latin1();
-	
+
 	controller().params().pagestyle =
 		dialog_->layoutModule->pagestyleCO->currentText().latin1();
-	
+
 	if (dialog_->layoutModule->indentRB->isChecked())
 		controller().params().paragraph_separation = BufferParams::PARSEP_INDENT;
 	else
@@ -278,14 +279,14 @@ void QDocument::apply()
 
 	controller().params().options =
 		dialog_->layoutModule->optionsLE->text().latin1();
-	
+
 	controller().params().float_placement =
 		dialog_->layoutModule->floatPlacementLE->text().latin1();
 
 	/* paper */
 	controller().params().papersize2 =
 		dialog_->paperModule->papersizeCO->currentItem();
-	
+
 	controller().params().paperwidth =
 		LyXLength(dialog_->paperModule->paperwidthLE->text().toDouble(),
 			  dialog_->paperModule->paperwidthUnitCO->currentLengthItem()
@@ -300,12 +301,12 @@ void QDocument::apply()
 		controller().params().columns = 2;
 	else
 		controller().params().columns = 1;
-	
+
 	if (dialog_->paperModule->facingPagesCB->isChecked())
 		controller().params().sides = LyXTextClass::TwoSides;
 	else
 		controller().params().sides = LyXTextClass::OneSide;
-	
+
 	if (dialog_->paperModule->landscapeRB->isChecked())
 		controller().params().orientation = BufferParams::ORIENTATION_LANDSCAPE;
 	else
@@ -320,12 +321,12 @@ void QDocument::apply()
 		margin = margin - 1;
 	}
 	controller().params().paperpackage = char(margin);
-	
+
 	controller().params().leftmargin =
 		LyXLength(dialog_->marginsModule->innerLE->text().toDouble(),
 			  dialog_->marginsModule->innerUnit->currentLengthItem()
 			  ).asString();
-	
+
 	controller().params().topmargin =
 		LyXLength(dialog_->marginsModule->topLE->text().toDouble(),
 			  dialog_->marginsModule->topUnit->currentLengthItem()
@@ -395,13 +396,13 @@ void QDocument::update_contents()
 		controller().params().use_natbib);
 	dialog_->biblioModule->citeStyleCO->setCurrentItem(
 		controller().params().use_numerical_citations ? 1 : 0);
-	
+
 	/* language & quotes */
 	dialog_->langModule->singleQuoteRB->setChecked(
 		controller().params().quotes_times == InsetQuotes::SingleQ);
 	dialog_->langModule->doubleQuoteRB->setChecked(
 		controller().params().quotes_times == InsetQuotes::DoubleQ);
-	
+
 	int const pos = int(findPos(lang_,
 				    controller().params().language->lang()));
 	dialog_->langModule->languageCO->setCurrentItem(pos);
@@ -428,18 +429,18 @@ void QDocument::update_contents()
 		}
 		++pos2;
 	}
-	
-	
+
+
 	QString text = controller().params().graphicsDriver.c_str();
 	int nitem = dialog_->packagesModule->psdriverCO->count();
-	for (int n=0; n<nitem ; ++n) {
+	for (int n = 0; n < nitem ; ++n) {
 		QString enc = tex_graphics[n];
-		if (enc==text) {
+		if (enc == text) {
 			dialog_->packagesModule->psdriverCO->setCurrentItem(n);
 		}
 	}
-	
-	
+
+
 	dialog_->packagesModule->amsCB->setChecked(
 		controller().params().use_amsmath);
 
@@ -463,12 +464,12 @@ void QDocument::update_contents()
 
 	dialog_->updateFontsize(controller().textClass().opt_fontsize(),
 				controller().params().fontsize);
-	
+
 	dialog_->updatePagestyle(controller().textClass().opt_pagestyle(),
 				 controller().params().pagestyle);
-	
-	
-	for (int n=0; tex_fonts[n][0]; ++n) {
+
+
+	for (int n = 0; tex_fonts[n][0]; ++n) {
 		if (tex_fonts[n]==controller().params().fonts) {
 			dialog_->layoutModule->fontsCO->setCurrentItem(n);
 			break;
@@ -481,7 +482,7 @@ void QDocument::update_contents()
 	} else {
 		dialog_->layoutModule->skipRB->setChecked(true);
 	}
-	
+
 	int skip = 0;
 	switch (controller().params().getDefSkip().kind()) {
 	case VSpace::SMALLSKIP:
@@ -514,7 +515,7 @@ void QDocument::update_contents()
 	} else {
 		dialog_->layoutModule->optionsLE->setText("");
 	}
-	
+
 	/* paper */
 	int const psize = controller().params().papersize2;
 	dialog_->paperModule->papersizeCO->setCurrentItem(psize);
@@ -528,27 +529,27 @@ void QDocument::update_contents()
 
 	dialog_->paperModule->facingPagesCB->setChecked(
 		controller().params().sides == LyXTextClass::TwoSides);
-	
+
 	dialog_->paperModule->twoColumnCB->setChecked(
 		controller().params().columns == 2);
-	
+
 	dialog_->paperModule->paperwidthUnitCO->setCurrentItem(
 		LyXLength(controller().params().paperwidth).unit());
-	
+
 	dialog_->paperModule->paperwidthLE->setText(
 		tostr(LyXLength(controller().params().paperwidth).value()).c_str());
-	
+
 	dialog_->paperModule->paperheightUnitCO->setCurrentItem(
 		LyXLength(controller().params().paperheight).unit());
 
 	dialog_->paperModule->paperheightLE->setText(
 		tostr(LyXLength(controller().params().paperheight).value()).c_str());
-		
+
 	/* margins */
 	int item = controller().params().paperpackage;
 	if (controller().params().use_geometry) {
 		item = 1;
-	} else if (item>0) {
+	} else if (item > 0) {
 		item = item + 1;
 	}
 	dialog_->marginsModule->marginCO->setCurrentItem(item);
@@ -558,43 +559,36 @@ void QDocument::update_contents()
 		LyXLength(controller().params().topmargin).unit());
 	dialog_->marginsModule->topLE->setText(
 		tostr(LyXLength(controller().params().topmargin).value()).c_str());
-	
+
 	dialog_->marginsModule->bottomUnit->setCurrentItem(
 		LyXLength(controller().params().bottommargin).unit());
 	dialog_->marginsModule->bottomLE->setText(
 		tostr(LyXLength(controller().params().bottommargin).value()).c_str());
-	
+
 	dialog_->marginsModule->innerUnit->setCurrentItem(
 		LyXLength(controller().params().leftmargin).unit());
 	dialog_->marginsModule->innerLE->setText(
 		tostr(LyXLength(controller().params().leftmargin).value()).c_str());
-	
+
 	dialog_->marginsModule->outerUnit->setCurrentItem(
 		LyXLength(controller().params().rightmargin).unit());
 	dialog_->marginsModule->outerLE->setText(
 		tostr(LyXLength(controller().params().rightmargin).value()).c_str());
-	
+
 	dialog_->marginsModule->headheightUnit->setCurrentItem(
 		LyXLength(controller().params().headheight).unit());
 	dialog_->marginsModule->headheightLE->setText(
 		tostr(LyXLength(controller().params().headheight).value()).c_str());
-	
+
 	dialog_->marginsModule->headsepUnit->setCurrentItem(
 		LyXLength(controller().params().headsep).unit());
 	dialog_->marginsModule->headsepLE->setText(
 		tostr(LyXLength(controller().params().headsep).value()).c_str());
-	
+
 	dialog_->marginsModule->footskipUnit->setCurrentItem(
 		LyXLength(controller().params().footskip).unit());
 	dialog_->marginsModule->footskipLE->setText(
 		tostr(LyXLength(controller().params().footskip).value()).c_str());
-	
-	
-}
-
-
-
-
-
 
 
+}
Index: QERT.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/frontends/qt2/QERT.C,v
retrieving revision 1.6
diff -u -p -r1.6 QERT.C
--- QERT.C	24 Sep 2002 13:57:08 -0000	1.6
+++ QERT.C	15 Oct 2002 08:55:00 -0000
@@ -54,7 +54,7 @@ void QERT::apply()
 
 void QERT::update_contents()
 {
-	QRadioButton * rb;
+	QRadioButton * rb = 0;
 
 	switch (controller().params().status) {
 		case InsetERT::Open: rb = dialog_->openRB; break;
Index: QParagraph.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/frontends/qt2/QParagraph.C,v
retrieving revision 1.9
diff -u -p -r1.9 QParagraph.C
--- QParagraph.C	24 Sep 2002 13:57:08 -0000	1.9
+++ QParagraph.C	15 Oct 2002 08:55:01 -0000
@@ -223,7 +223,7 @@ void setWidgetsFromVSpace(VSpace const &
 	value->setEnabled(false);
 	unit->setEnabled(false);
 
-	int item;
+	int item = 0;
 	switch (space.kind()) {
 	case VSpace::NONE:
 		item = 0;
Index: qfont_loader.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/frontends/qt2/qfont_loader.C,v
retrieving revision 1.9
diff -u -p -r1.9 qfont_loader.C
--- qfont_loader.C	14 Oct 2002 14:49:00 -0000	1.9
+++ qfont_loader.C	15 Oct 2002 08:55:01 -0000
@@ -4,7 +4,7 @@
  * Licence details can be found in the file COPYING.
  *
  * \author Asger Alstrup
- * \author John Levon 
+ * \author John Levon
  *
  * Full author contact details are available in file CREDITS
  */
@@ -20,9 +20,9 @@
 #include "debug.h"
 #include "lyxrc.h"
 #include "BufferView.h"
- 
+
 using std::endl;
- 
+
 qfont_loader::qfont_loader()
 {
 }
@@ -35,14 +35,10 @@ qfont_loader::~qfont_loader()
 
 void qfont_loader::update()
 {
-	int i1,i2,i3,i4;
-
-	// fuck this !
- 
-	for (i1 = 0; i1 < LyXFont::NUM_FAMILIES; ++i1) {
-		for (i2 = 0; i1 < 2; ++i2) {
-			for (i3 = 0; i1 < 4; ++i3) {
-				for (i4 = 0; i1 < 10; ++i4) {
+	for (int i1 = 0; i1 < LyXFont::NUM_FAMILIES; ++i1) {
+		for (int i2 = 0; i1 < 2; ++i2) {
+			for (int i3 = 0; i1 < 4; ++i3) {
+				for (int i4 = 0; i1 < 10; ++i4) {
 					fontinfo_[i1][i2][i3][i4].reset(0);
 				}
 			}
@@ -50,22 +46,28 @@ void qfont_loader::update()
 	}
 }
 
- 
+
 QFont const & qfont_loader::get(LyXFont const & f)
 {
 	QFont const & ret(getfontinfo(f)->font);
- 
+
 	if (lyxerr.debugging(Debug::FONT)) {
 		lyxerr[Debug::FONT] << "Font '" << f.stateText(0)
-			<< "' matched by\n" << ret.rawName().latin1() << endl;
+			<< "' matched by\n" << ret.rawName() << endl;
 	}
+
+	lyxerr[Debug::FONT] << "The font has size: "
+			    << ret.pointSizeFloat() << endl;
+
 	return ret;
 }
 
- 
+
 qfont_loader::font_info::font_info(LyXFont const & f)
 	: metrics(font)
 {
+	font.setStyleStrategy(QFont::StyleStrategy(QFont::PreferDefault | QFont::PreferOutline | QFont::PreferAntialias));
+
 	switch (f.family()) {
 		case LyXFont::SYMBOL_FAMILY:
 			font.setRawName("-*-symbol-*-*-*-*-*-*-*-*-*-*-adobe-fontspecific");
@@ -101,12 +103,20 @@ qfont_loader::font_info::font_info(LyXFo
 			font.setFamily("courier");
 			break;
 	}
- 
-	font.setPointSize(int((lyxrc.font_sizes[f.size()] * lyxrc.dpi * 
-		(lyxrc.zoom / 100.0)) / 72.27 + 0.5));
- 
+
+	float const pointSize = (lyxrc.font_sizes[f.size()] * lyxrc.dpi *
+				 (lyxrc.zoom / 100.0)) / 72.27;
+
+	lyxerr[Debug::FONT] << "Try to get font with size " << pointSize
+			    << endl;
+
+	font.setPointSizeFloat(pointSize);
+
+	lyxerr[Debug::FONT] << "Got font size: " << font.pointSizeFloat()
+			    << endl;
+
 	// FIXME: lyxrc, check for failure etc.
- 
+
 	switch (f.series()) {
 		case LyXFont::MEDIUM_SERIES:
 			font.setWeight(QFont::Normal);
@@ -115,7 +125,7 @@ qfont_loader::font_info::font_info(LyXFo
 			font.setWeight(QFont::Bold);
 			break;
 	}
- 
+
 	switch (f.realShape()) {
 		case LyXFont::ITALIC_SHAPE:
 		case LyXFont::SLANTED_SHAPE:
@@ -123,6 +133,16 @@ qfont_loader::font_info::font_info(LyXFo
 			break;
 	}
 
+	// Is this an exact match?
+	if (font.exactMatch()) {
+		lyxerr[Debug::FONT] << "This font is an exact match" << endl;
+	} else {
+		lyxerr[Debug::FONT] << "This font is NOT an exact match"
+				    << endl;
+	}
+
+	lyxerr[Debug::FONT] << "XFLD: " << font.rawName() << endl;
+
 	metrics = QFontMetrics(font);
 }
 
@@ -134,16 +154,15 @@ qfont_loader::font_info const * qfont_lo
 	}
 
 	font_info * fi = fontinfo_[f.family()][f.series()][f.realShape()][f.size()].get();
-	if (fi) {
-		return fi;
-	} else {
+	if (!fi) {
 		fi = new font_info(f);
 		fontinfo_[f.family()][f.series()][f.realShape()][f.size()].reset(fi);
-		return fi;
 	}
+
+	return fi;
 }
 
- 
+
 bool qfont_loader::available(LyXFont const & f)
 {
 	if (!lyxrc.use_gui)
Index: qfont_loader.h
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/frontends/qt2/qfont_loader.h,v
retrieving revision 1.6
diff -u -p -r1.6 qfont_loader.h
--- qfont_loader.h	24 Sep 2002 13:57:09 -0000	1.6
+++ qfont_loader.h	15 Oct 2002 08:55:01 -0000
@@ -16,6 +16,8 @@
 #pragma interface
 #endif
 
+#include <config.h>
+
 #include "lyxfont.h"
 
 #include <qfont.h>

-- 
        Lgb

Reply via email to