[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-core-devel
Subject: Patch: switch khtml to use pixel sizes
From: Rik Hemsley <rik () kde ! org>
Date: 2000-09-30 22:19:01
[Download RAW message or body]
This patch makes khtml use pixel sizes when selecting fonts. It is a
different approach to the patch I posted before.
On most systems you should not notice a difference, while of XF86 4 fonts
should be a reasonable size now.
This screws up kmail a little, but I can fix that :)
Rik
["khtml.diff" (text/x-c++)]
Index: khtml_settings.cc
===================================================================
RCS file: /home/kde/kdelibs/khtml/khtml_settings.cc,v
retrieving revision 1.27
diff -u -3 -p -r1.27 khtml_settings.cc
--- khtml_settings.cc 2000/09/26 22:41:26 1.27
+++ khtml_settings.cc 2000/09/30 22:14:22
@@ -20,6 +20,7 @@
#include "khtml_settings.h"
#include "khtmldefaults.h"
#include <kglobalsettings.h>
+#include <ksimpleconfig.h>
#include <kconfig.h>
#include <kapp.h>
#include <kglobal.h>
@@ -299,13 +300,42 @@ bool KHTMLSettings::isCSSEnabled( const
void KHTMLSettings::resetFontSizes()
{
m_fontSizes.clear();
- for ( int i = 0; i < MAXFONTSIZES; i++ )
- if( m_fontSize == 0 ) // small
- m_fontSizes << defaultSmallFontSizes[ i ];
- else if( m_fontSize == 2 ) // large
- m_fontSizes << defaultLargeFontSizes[ i ];
- else
- m_fontSizes << defaultMediumFontSizes[ i ];
+
+ switch (m_fontSize) {
+
+ case 0: // small
+ for (int i = 0; i < MAXFONTSIZES; i++)
+ m_fontSizes << defaultSmallFontSizes[i];
+ break;
+
+ case 2: // large
+ for (int i = 0; i < MAXFONTSIZES; i++)
+ m_fontSizes << defaultLargeFontSizes[i];
+ break;
+
+ case 3: // custom
+ {
+ KSimpleConfig * c = new KSimpleConfig("kdeglobals", true);
+ c->setGroup("CustomHTMLFontSizes");
+
+ for (int i = 0; i < MAXFONTSIZES; i++)
+ m_fontSizes <<
+ c->readNumEntry(
+ "Size_" + QString::number(i),
+ defaultMediumFontSizes[i] // Use medium set as default.
+ );
+
+ delete c;
+ c = 0;
+ }
+ break;
+
+ case 1:
+ default: // medium
+ for (int i = 0; i < MAXFONTSIZES; i++)
+ m_fontSizes << defaultMediumFontSizes[i];
+ break;
+ }
}
void KHTMLSettings::setFontSizes(const QValueList<int> &_newFontSizes )
Index: css/cssstyleselector.cpp
===================================================================
RCS file: /home/kde/kdelibs/khtml/css/cssstyleselector.cpp,v
retrieving revision 1.61
diff -u -3 -p -r1.61 cssstyleselector.cpp
--- css/cssstyleselector.cpp 2000/09/27 21:26:51 1.61
+++ css/cssstyleselector.cpp 2000/09/30 22:14:38
@@ -1603,8 +1603,7 @@ void khtml::applyRule(khtml::RenderStyle
QValueList<int> standardSizes = e->ownerDocument()->view()->part()->fontSizes();
if(e->parentNode())
{
- QFontInfo fi(e->parentNode()->style()->font());
- oldSize = fi.pointSize();
+ oldSize = e->parentNode()->style()->font().pointSize();
}
else
oldSize = standardSizes[3];
@@ -1693,7 +1692,7 @@ void khtml::applyRule(khtml::RenderStyle
if(diff < .15) // 15% deviation, otherwise we use a scaled font...
size = bestSize;
}
- f.setPointSize(size);
+ f.setPixelSize(size);
//KGlobal::charsets()->setQFont(f, e->ownerDocument()->view()->part()->settings()->charset);
style->setFont(f);
return;
Index: html/html_documentimpl.cpp
===================================================================
RCS file: /home/kde/kdelibs/khtml/html/html_documentimpl.cpp,v
retrieving revision 1.86
diff -u -3 -p -r1.86 html_documentimpl.cpp
--- html/html_documentimpl.cpp 2000/09/27 11:34:46 1.86
+++ html/html_documentimpl.cpp 2000/09/30 22:14:43
@@ -392,7 +392,7 @@ void HTMLDocumentImpl::attach(KHTMLView
size = settings->minFontSize();
QFont f = KGlobalSettings::generalFont();
f.setFamily(settings->stdFontName());
- f.setPointSize(size);
+ f.setPixelSize(size);
//kdDebug() << "HTMLDocumentImpl::attach: setting to charset " << settings->charset() << endl;
KGlobal::charsets()->setQFont(f, settings->charset());
m_style->setFont(f);
@@ -448,7 +448,7 @@ void HTMLDocumentImpl::applyChanges(bool
size = settings->minFontSize();
QFont f = KGlobalSettings::generalFont();
f.setFamily(settings->stdFontName());
- f.setPointSize(size);
+ f.setPixelSize(size);
//kdDebug() << "HTMLDocumentImpl::applyChanges: setting to charset " << settings->charset() << endl;
KGlobal::charsets()->setQFont(f, settings->charset());
//kdDebug() << "HTMLDocumentImpl::applyChanges " << f.charSet() << f.family() << endl;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic