summaryrefslogtreecommitdiff
authorsandman <sandman>2002-12-03 01:11:05 (UTC)
committer sandman <sandman>2002-12-03 01:11:05 (UTC)
commit5a3a7cb4b7d0c1b569e68fa1cde43b9c10376e80 (patch) (unidiff)
tree512867937241ef5a50ea7ac86499d534226d3013
parentee1180d2aa5e59db52078aa5dee06477093b3d35 (diff)
downloadopie-5a3a7cb4b7d0c1b569e68fa1cde43b9c10376e80.zip
opie-5a3a7cb4b7d0c1b569e68fa1cde43b9c10376e80.tar.gz
opie-5a3a7cb4b7d0c1b569e68fa1cde43b9c10376e80.tar.bz2
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)
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/libpreload/libpreload.pro2
-rw-r--r--core/launcher/libpreload/preload.cpp45
2 files changed, 45 insertions, 2 deletions
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 @@
1TEMPLATE = lib 1TEMPLATE = lib
2 2
3CONFIG = release warn_on 3CONFIG = qt release warn_on
4 4
5SOURCES = preload.cpp 5SOURCES = preload.cpp
6 6
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 @@
3//#define private public 3//#define private public
4//#define protected public 4//#define protected public
5 5
6#include <qapplication.h>
6#include <qwsdecoration_qws.h> 7#include <qwsdecoration_qws.h>
7#include <qcommonstyle.h> 8#include <qcommonstyle.h>
8 9
@@ -10,9 +11,10 @@
10//#include <qfont.h> 11//#include <qfont.h>
11 12
12//class QStyle; 13//class QStyle;
13class QApplication; 14//class QApplication;
14class QFont; 15class QFont;
15//class QWSDecoration; 16//class QWSDecoration;
17class QFontDatabase;
16 18
17#include <dlfcn.h> 19#include <dlfcn.h>
18#include <unistd.h> 20#include <unistd.h>
@@ -23,6 +25,8 @@ class QFont;
23typedef void ( *qapp_setstyle_t ) ( QStyle * ); 25typedef void ( *qapp_setstyle_t ) ( QStyle * );
24typedef void ( *qapp_setdeco_t ) ( QWSDecoration * ); 26typedef void ( *qapp_setdeco_t ) ( QWSDecoration * );
25typedef void ( *qapp_setfont_t ) ( const QFont &, bool, const char * ); 27typedef void ( *qapp_setfont_t ) ( const QFont &, bool, const char * );
28typedef void ( *qapp_polish_t ) ( QApplication *, QWidget * );
29typedef QValueList <int> ( *qfdb_pointsizes_t ) ( QFontDatabase *, QString const &, QString const &, QString const & );
26 30
27 31
28static int *opie_block_style_p = 0; 32static int *opie_block_style_p = 0;
@@ -45,6 +49,45 @@ static void *resolve_symbol ( const char *sym )
45 return adr; 49 return adr;
46} 50}
47 51
52void polish__12QApplicationP7QWidget ( QApplication *that, QWidget *w )
53{
54 static qapp_polish_t qpolish = 0;
55
56 if ( !qpolish )
57 qpolish = (qapp_polish_t) resolve_symbol ( "polish__12QApplicationP7QWidget" );
58
59 if ( qpolish )
60 ( *qpolish ) ( that, w );
61
62 if (( ::strcmp ( qApp-> argv ( ) [0], "HancomMobileWord" ) == 0 ) && ( w-> inherits ( "HTextEdit" ))) {
63 QPalette pal = w-> palette ( );
64 pal. setColor ( QColorGroup::Background, pal. color ( QPalette::Active, QColorGroup::Base ));
65 w-> setPalette ( pal );
66 // w-> setPalette ( w-> palette ( ). active ( ). color ( QColorGroup::Base ));
67 }
68}
69
70extern QValueList <int> pointSizes__13QFontDatabaseRC7QStringN21 ( QFontDatabase *that, QString const &family, QString const &style, QString const &charset )
71{
72 static qfdb_pointsizes_t qpointsizes = 0;
73
74 if ( !qpointsizes )
75 qpointsizes = (qfdb_pointsizes_t) resolve_symbol ( "pointSizes__13QFontDatabaseRC7QStringN21" );
76
77 QValueList <int> sl;
78
79 if ( qpointsizes ) {
80 sl = ( *qpointsizes ) ( that, family, style, charset );
81
82 if ( ::strcmp ( qApp-> argv ( ) [0], "HancomMobileWord" ) == 0 ) {
83 for ( QValueList <int>::Iterator it = sl. begin ( ); it != sl. end ( ); ++it )
84 *it *= 10;
85 }
86 }
87
88 return sl;
89}
90
48extern void setStyle__12QApplicationP6QStyle ( QStyle *style ) 91extern void setStyle__12QApplicationP6QStyle ( QStyle *style )
49{ 92{
50 static qapp_setstyle_t qsetstyle = 0; 93 static qapp_setstyle_t qsetstyle = 0;