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