From 5a3a7cb4b7d0c1b569e68fa1cde43b9c10376e80 Mon Sep 17 00:00:00 2001 From: sandman Date: Tue, 03 Dec 2002 01:11:05 +0000 Subject: Two additional functions preloaded to make HancomWord happy ... 1) the old pointSizes() problem in the FontDatabase (bic change from qt/e 2.3.3 -> 2.3.4) 2) the QPalette for the text widget has to be adjusted (hancom uses QPainter::eraseRect(), which doesn't work with background pixmaps, like e.g. in liquid) --- (limited to 'core/launcher') diff --git a/core/launcher/libpreload/libpreload.pro b/core/launcher/libpreload/libpreload.pro index 7630d01..ed426da 100644 --- a/core/launcher/libpreload/libpreload.pro +++ b/core/launcher/libpreload/libpreload.pro @@ -1,6 +1,6 @@ TEMPLATE = lib -CONFIG = release warn_on +CONFIG = qt release warn_on SOURCES = preload.cpp diff --git a/core/launcher/libpreload/preload.cpp b/core/launcher/libpreload/preload.cpp index cc1baac..345620b 100644 --- a/core/launcher/libpreload/preload.cpp +++ b/core/launcher/libpreload/preload.cpp @@ -3,6 +3,7 @@ //#define private public //#define protected public +#include #include #include @@ -10,9 +11,10 @@ //#include //class QStyle; -class QApplication; +//class QApplication; class QFont; //class QWSDecoration; +class QFontDatabase; #include #include @@ -23,6 +25,8 @@ class QFont; typedef void ( *qapp_setstyle_t ) ( QStyle * ); typedef void ( *qapp_setdeco_t ) ( QWSDecoration * ); typedef void ( *qapp_setfont_t ) ( const QFont &, bool, const char * ); +typedef void ( *qapp_polish_t ) ( QApplication *, QWidget * ); +typedef QValueList ( *qfdb_pointsizes_t ) ( QFontDatabase *, QString const &, QString const &, QString const & ); static int *opie_block_style_p = 0; @@ -45,6 +49,45 @@ static void *resolve_symbol ( const char *sym ) return adr; } +void polish__12QApplicationP7QWidget ( QApplication *that, QWidget *w ) +{ + static qapp_polish_t qpolish = 0; + + if ( !qpolish ) + qpolish = (qapp_polish_t) resolve_symbol ( "polish__12QApplicationP7QWidget" ); + + if ( qpolish ) + ( *qpolish ) ( that, w ); + + if (( ::strcmp ( qApp-> argv ( ) [0], "HancomMobileWord" ) == 0 ) && ( w-> inherits ( "HTextEdit" ))) { + QPalette pal = w-> palette ( ); + pal. setColor ( QColorGroup::Background, pal. color ( QPalette::Active, QColorGroup::Base )); + w-> setPalette ( pal ); + // w-> setPalette ( w-> palette ( ). active ( ). color ( QColorGroup::Base )); + } +} + +extern QValueList pointSizes__13QFontDatabaseRC7QStringN21 ( QFontDatabase *that, QString const &family, QString const &style, QString const &charset ) +{ + static qfdb_pointsizes_t qpointsizes = 0; + + if ( !qpointsizes ) + qpointsizes = (qfdb_pointsizes_t) resolve_symbol ( "pointSizes__13QFontDatabaseRC7QStringN21" ); + + QValueList sl; + + if ( qpointsizes ) { + sl = ( *qpointsizes ) ( that, family, style, charset ); + + if ( ::strcmp ( qApp-> argv ( ) [0], "HancomMobileWord" ) == 0 ) { + for ( QValueList ::Iterator it = sl. begin ( ); it != sl. end ( ); ++it ) + *it *= 10; + } + } + + return sl; +} + extern void setStyle__12QApplicationP6QStyle ( QStyle *style ) { static qapp_setstyle_t qsetstyle = 0; -- cgit v0.9.0.2