summaryrefslogtreecommitdiff
path: root/library
authorzecke <zecke>2005-02-08 22:59:18 (UTC)
committer zecke <zecke>2005-02-08 22:59:18 (UTC)
commitf24d8318de30b47ec8f877293fd175deaa0b914c (patch) (unidiff)
tree980c18e803b7b85573e1ab11a9ade2b281273d3e /library
parent7cff42233a2e0e2761f54fea89db785c7b519c94 (diff)
downloadopie-f24d8318de30b47ec8f877293fd175deaa0b914c.zip
opie-f24d8318de30b47ec8f877293fd175deaa0b914c.tar.gz
opie-f24d8318de30b47ec8f877293fd175deaa0b914c.tar.bz2
-Kill the need to compile Opie against a patched version of Qt/E
Remove the setStyle and setFont overrides as a result remove settings from the buildsystem and the Apperance GUI We do this as we won't run NeoCal or TKC Apps on a GCC3 (now default compiler) libqpe, to run these applications one can use oz-compat
Diffstat (limited to 'library') (more/less context) (ignore whitespace changes)
-rw-r--r--library/library.pro6
-rw-r--r--library/qpeapplication.cpp40
-rw-r--r--library/qpeapplication.h5
-rw-r--r--library/qt_override.cpp170
-rw-r--r--library/qt_override_p.h25
5 files changed, 0 insertions, 246 deletions
diff --git a/library/library.pro b/library/library.pro
index 04e125f..95c18a2 100644
--- a/library/library.pro
+++ b/library/library.pro
@@ -54,17 +54,16 @@ HEADERS = calendar.h \
54 ir.h \ 54 ir.h \
55 backend/vobject_p.h \ 55 backend/vobject_p.h \
56 findwidget_p.h \ 56 findwidget_p.h \
57 finddialog.h \ 57 finddialog.h \
58 lnkproperties.h \ 58 lnkproperties.h \
59 windowdecorationinterface.h \ 59 windowdecorationinterface.h \
60 textcodecinterface.h \ 60 textcodecinterface.h \
61 imagecodecinterface.h \ 61 imagecodecinterface.h \
62 qt_override_p.h \
63 qpeglobal.h 62 qpeglobal.h
64 63
65 SOURCES= calendar.cpp \ 64 SOURCES= calendar.cpp \
66 global.cpp \ 65 global.cpp \
67 xmlreader.cpp \ 66 xmlreader.cpp \
68 mimetype.cpp \ 67 mimetype.cpp \
69 menubutton.cpp \ 68 menubutton.cpp \
70 network.cpp \ 69 network.cpp \
@@ -112,34 +111,29 @@ SOURCES = calendar.cpp \
112 categoryselect.cpp \ 111 categoryselect.cpp \
113 categorywidget.cpp \ 112 categorywidget.cpp \
114 ir.cpp \ 113 ir.cpp \
115 backend/vcc_yacc.cpp \ 114 backend/vcc_yacc.cpp \
116 backend/vobject.cpp \ 115 backend/vobject.cpp \
117 findwidget_p.cpp \ 116 findwidget_p.cpp \
118 finddialog.cpp \ 117 finddialog.cpp \
119 lnkproperties.cpp \ 118 lnkproperties.cpp \
120 qt_override.cpp \
121 widget_showing.cpp 119 widget_showing.cpp
122 120
123 121
124 122
125# Qt 3 compatibility 123# Qt 3 compatibility
126HEADERS += quuid.h qcom.h qlibrary.h qlibrary_p.h 124HEADERS += quuid.h qcom.h qlibrary.h qlibrary_p.h
127SOURCES += quuid.cpp qlibrary.cpp qlibrary_unix.cpp 125SOURCES += quuid.cpp qlibrary.cpp qlibrary_unix.cpp
128INCLUDEPATH += $(OPIEDIR)/include backend 126INCLUDEPATH += $(OPIEDIR)/include backend
129 LIBS += -ldl -lcrypt -lm 127 LIBS += -ldl -lcrypt -lm
130INTERFACES = passwordbase_p.ui categoryeditbase_p.ui findwidgetbase_p.ui lnkpropertiesbase_p.ui 128INTERFACES = passwordbase_p.ui categoryeditbase_p.ui findwidgetbase_p.ui lnkpropertiesbase_p.ui
131 TARGET = qpe 129 TARGET = qpe
132 DESTDIR = $(OPIEDIR)/lib$(PROJMAK) 130 DESTDIR = $(OPIEDIR)/lib$(PROJMAK)
133 VERSION = 1.5.0.1 131 VERSION = 1.5.0.1
134 132
135include( $(OPIEDIR)/include.pro ) 133include( $(OPIEDIR)/include.pro )
136 134
137contains( CONFIG, no-override ){
138 DEFINES += OPIE_NO_OVERRIDE_QT
139}
140
141contains( CONFIG, LIBQPE_WITHROHFEEDBACK ){ 135contains( CONFIG, LIBQPE_WITHROHFEEDBACK ){
142 DEFINES += OPIE_WITHROHFEEDBACK 136 DEFINES += OPIE_WITHROHFEEDBACK
143 SOURCES += backend/rohfeedback.cpp 137 SOURCES += backend/rohfeedback.cpp
144 HEADERS += backend/rohfeedback.h 138 HEADERS += backend/rohfeedback.h
145} 139}
diff --git a/library/qpeapplication.cpp b/library/qpeapplication.cpp
index 1c5ced3..2bd7cbe 100644
--- a/library/qpeapplication.cpp
+++ b/library/qpeapplication.cpp
@@ -91,17 +91,16 @@
91#include <qtopia/qpeglobal.h> 91#include <qtopia/qpeglobal.h>
92 92
93#include <unistd.h> 93#include <unistd.h>
94#include <sys/file.h> 94#include <sys/file.h>
95#include <sys/ioctl.h> 95#include <sys/ioctl.h>
96#ifndef QT_NO_SOUND 96#ifndef QT_NO_SOUND
97#include <sys/soundcard.h> 97#include <sys/soundcard.h>
98#endif 98#endif
99#include "qt_override_p.h"
100 99
101#include <backend/rohfeedback.h> 100#include <backend/rohfeedback.h>
102 101
103 102
104static bool useBigPixmaps = 0; 103static bool useBigPixmaps = 0;
105 104
106class HackWidget : public QWidget 105class HackWidget : public QWidget
107{ 106{
@@ -1347,41 +1346,19 @@ extern bool qt_left_hand_scrollbars QPE_WEAK_SYMBOL;
1347 \internal 1346 \internal
1348*/ 1347*/
1349void QPEApplication::applyStyle() 1348void QPEApplication::applyStyle()
1350{ 1349{
1351 Config config( "qpe" ); 1350 Config config( "qpe" );
1352 config.setGroup( "Appearance" ); 1351 config.setGroup( "Appearance" );
1353 1352
1354#if QT_VERSION > 233 1353#if QT_VERSION > 233
1355#if !defined(OPIE_NO_OVERRIDE_QT)
1356 // don't block ourselves ...
1357 Opie::force_appearance = 0;
1358
1359 static QString appname = Opie::binaryName ( );
1360
1361 QStringList ex = config. readListEntry ( "NoStyle", ';' );
1362 int nostyle = 0;
1363 for ( QStringList::Iterator it = ex. begin ( ); it != ex. end ( ); ++it ) {
1364 if ( QRegExp (( *it ). mid ( 1 ), false, true ). find ( appname, 0 ) >= 0 ) {
1365 nostyle = ( *it ). left ( 1 ). toInt ( 0, 32 );
1366 break;
1367 }
1368 }
1369#else
1370 int nostyle = 0;
1371#endif
1372
1373 // Widget style 1354 // Widget style
1374 QString style = config.readEntry( "Style", "FlatStyle" ); 1355 QString style = config.readEntry( "Style", "FlatStyle" );
1375 1356
1376 // don't set a custom style
1377 if ( nostyle & Opie::Force_Style )
1378 style = "FlatStyle";
1379
1380 internalSetStyle ( style ); 1357 internalSetStyle ( style );
1381 1358
1382 // Colors - from /etc/colors/Liquid.scheme 1359 // Colors - from /etc/colors/Liquid.scheme
1383 QColor bgcolor( config.readEntry( "Background", "#E0E0E0" ) ); 1360 QColor bgcolor( config.readEntry( "Background", "#E0E0E0" ) );
1384 QColor btncolor( config.readEntry( "Button", "#96c8fa" ) ); 1361 QColor btncolor( config.readEntry( "Button", "#96c8fa" ) );
1385 QPalette pal( btncolor, bgcolor ); 1362 QPalette pal( btncolor, bgcolor );
1386 QString color = config.readEntry( "Highlight", "#73adef" ); 1363 QString color = config.readEntry( "Highlight", "#73adef" );
1387 pal.setColor( QColorGroup::Highlight, QColor( color ) ); 1364 pal.setColor( QColorGroup::Highlight, QColor( color ) );
@@ -1402,43 +1379,26 @@ void QPEApplication::applyStyle()
1402 1379
1403 // Set the ScrollBar on the 'right' side but only if the weak symbol is present 1380 // Set the ScrollBar on the 'right' side but only if the weak symbol is present
1404 if (&qt_left_hand_scrollbars ) 1381 if (&qt_left_hand_scrollbars )
1405 qt_left_hand_scrollbars = config.readBoolEntry( "LeftHand", false ); 1382 qt_left_hand_scrollbars = config.readBoolEntry( "LeftHand", false );
1406 1383
1407 // Window Decoration 1384 // Window Decoration
1408 QString dec = config.readEntry( "Decoration", "Flat" ); 1385 QString dec = config.readEntry( "Decoration", "Flat" );
1409 1386
1410 // don't set a custom deco
1411 if ( nostyle & Opie::Force_Decoration )
1412 dec = "";
1413
1414
1415 if ( dec != d->decorationName ) { 1387 if ( dec != d->decorationName ) {
1416 qwsSetDecoration( new QPEDecoration( dec ) ); 1388 qwsSetDecoration( new QPEDecoration( dec ) );
1417 d->decorationName = dec; 1389 d->decorationName = dec;
1418 } 1390 }
1419 1391
1420 // Font 1392 // Font
1421 QString ff = config.readEntry( "FontFamily", font().family() ); 1393 QString ff = config.readEntry( "FontFamily", font().family() );
1422 int fs = config.readNumEntry( "FontSize", font().pointSize() ); 1394 int fs = config.readNumEntry( "FontSize", font().pointSize() );
1423 1395
1424 // don't set a custom font
1425 if ( nostyle & Opie::Force_Font ) {
1426 ff = "Vera";
1427 fs = 10;
1428 }
1429
1430 setFont ( QFont ( ff, fs ), true ); 1396 setFont ( QFont ( ff, fs ), true );
1431
1432#if !defined(OPIE_NO_OVERRIDE_QT)
1433 // revert to global blocking policy ...
1434 Opie::force_appearance = config. readBoolEntry ( "ForceStyle", false ) ? Opie::Force_All : Opie::Force_None;
1435 Opie::force_appearance &= ~nostyle;
1436#endif
1437#endif 1397#endif
1438} 1398}
1439 1399
1440void QPEApplication::systemMessage( const QCString& msg, const QByteArray& data ) 1400void QPEApplication::systemMessage( const QCString& msg, const QByteArray& data )
1441{ 1401{
1442#ifdef Q_WS_QWS 1402#ifdef Q_WS_QWS
1443 QDataStream stream( data, IO_ReadOnly ); 1403 QDataStream stream( data, IO_ReadOnly );
1444 if ( msg == "applyStyle()" ) { 1404 if ( msg == "applyStyle()" ) {
diff --git a/library/qpeapplication.h b/library/qpeapplication.h
index 849d5b3..167fe69 100644
--- a/library/qpeapplication.h
+++ b/library/qpeapplication.h
@@ -161,21 +161,16 @@ protected:
161 void internalSetStyle( const QString &style ); 161 void internalSetStyle( const QString &style );
162 void prepareForTermination(bool willrestart); 162 void prepareForTermination(bool willrestart);
163 virtual void restart(); 163 virtual void restart();
164 virtual void shutdown(); 164 virtual void shutdown();
165 bool eventFilter( QObject *, QEvent * ); 165 bool eventFilter( QObject *, QEvent * );
166 void timerEvent( QTimerEvent * ); 166 void timerEvent( QTimerEvent * );
167 bool raiseAppropriateWindow(); 167 bool raiseAppropriateWindow();
168 virtual void tryQuit(); 168 virtual void tryQuit();
169#ifndef OPIE_NO_ERASE_RECT_HACKFIX
170 #if QT_VERSION > 233
171 virtual void polish ( QWidget * ); // this is actually implemented in qt_override.cpp (!)
172 #endif
173#endif
174private: 169private:
175 void mapToDefaultAction( QWSKeyEvent *ke, int defKey ); 170 void mapToDefaultAction( QWSKeyEvent *ke, int defKey );
176 void processQCopFile(); 171 void processQCopFile();
177 172
178#if defined(Q_WS_QWS) && !defined(QT_NO_COP) 173#if defined(Q_WS_QWS) && !defined(QT_NO_COP)
179 QCopChannel *sysChannel; 174 QCopChannel *sysChannel;
180 QCopChannel *pidChannel; 175 QCopChannel *pidChannel;
181#endif 176#endif
diff --git a/library/qt_override.cpp b/library/qt_override.cpp
deleted file mode 100644
index a0d753b..0000000
--- a/library/qt_override.cpp
+++ b/dev/null
@@ -1,170 +0,0 @@
1
2#include <qpe/qpeapplication.h>
3#include <qfontdatabase.h>
4
5#include <unistd.h>
6#include <stdlib.h>
7#include <stdio.h>
8#include <limits.h>
9#include <sys/param.h> // for toolchains with old libc headers
10
11#include <qtopia/qpeglobal.h>
12#include "qt_override_p.h"
13
14#if QT_VERSION > 233
15
16#ifndef OPIE_NO_ERASE_RECT_HACKFIX
17struct color_fix_t {
18 char *m_app;
19 char *m_class;
20 char *m_name;
21 QColorGroup::ColorRole m_set;
22 QColorGroup::ColorRole m_get;
23};
24
25
26
27static const color_fix_t apps_that_need_special_colors [] = {
28 { "HancomMobileWord", "HTextEdit", 0, QColorGroup::Background, QColorGroup::Base },
29 { "neocal", "Display", 0, QColorGroup::Background, QColorGroup::Base },
30
31 { 0, 0, 0, QColorGroup::Base, QColorGroup::Base }
32};
33
34#endif
35
36#ifndef OPIE_NO_OVERRIDE_QT
37
38static const char * const apps_that_need_pointsizes_times_10 [] = {
39 "HancomMobileWord",
40 "hancomsheet",
41 "HancomPresenterViewer",
42
43 0
44};
45
46
47
48
49int Opie::force_appearance = 0;
50
51
52// Return the *real* name of the binary - not just a quick guess
53// by looking at argv [0] (which could be anything)
54
55static void binaryNameFree ( )
56{
57 ::free ((void *) Opie::binaryName ( )); // we need to cast away the const here
58}
59
60const char *Opie::binaryName ( )
61{
62 static const char *appname = 0;
63
64 if ( !appname ) {
65 char dst [PATH_MAX + 1];
66 int l = ::readlink ( "/proc/self/exe", dst, PATH_MAX );
67
68 if ( l <= 0 )
69 l = 0;
70
71 dst [l] = 0;
72 const char *b = ::strrchr ( dst, '/' );
73 appname = ::strdup ( b ? b + 1 : dst );
74
75 ::atexit ( binaryNameFree );
76 }
77 return appname;
78}
79
80#else
81int Opie::force_appearance = 0;
82#endif
83
84// Fix for a toolchain incompatibility (binaries compiled with
85// old tcs using shared libs compiled with newer tcs)
86
87extern "C" {
88
89extern void __gmon_start__ ( ) QPE_WEAK_SYMBOL;
90extern void __gmon_start__ ( )
91{
92}
93
94}
95
96
97#ifndef OPIE_NO_ERASE_RECT_HACKFIX
98// Fix for apps, that use QPainter::eraseRect() which doesn't work with styles
99// that set a background pixmap (it would be easier to fix eraseRect(), but
100// TT made it an inline ...)
101
102void QPEApplication::polish ( QWidget *w )
103{
104#ifndef OPIE_NO_OVERRIDE_QT
105 for ( const color_fix_t *ptr = apps_that_need_special_colors; ptr-> m_app; ptr++ ) {
106 if (( ::strcmp ( Opie::binaryName ( ), ptr-> m_app ) == 0 ) &&
107 ( ptr-> m_class ? w-> inherits ( ptr-> m_class ) : true ) &&
108 ( ptr-> m_name ? ( ::strcmp ( w-> name ( ), ptr-> m_name ) == 0 ) : true )) {
109 QPalette pal = w-> palette ( );
110 pal. setColor ( ptr-> m_set, pal. color ( QPalette::Active, ptr-> m_get ));
111 w-> setPalette ( pal );
112 }
113 }
114#endif
115 QApplication::polish ( w );
116}
117#endif
118
119
120#ifndef OPIE_NO_OVERRIDE_QT
121// Fix for the binary incompatibility that TT introduced in Qt/E 2.3.4 -- point sizes
122// were multiplied by 10 (which was incorrect)
123
124QValueList <int> QFontDatabase::pointSizes ( QString const &family, QString const &style, QString const &charset )
125{
126 QValueList <int> sl = pointSizes_NonWeak ( family, style, charset );
127
128 for ( const char * const *ptr = apps_that_need_pointsizes_times_10; *ptr; ptr++ ) {
129 if ( ::strcmp ( Opie::binaryName ( ), *ptr ) == 0 ) {
130 for ( QValueList <int>::Iterator it = sl. begin ( ); it != sl. end ( ); ++it )
131 *it *= 10;
132 }
133 }
134 return sl;
135}
136
137
138// Various style/font/color related overrides for weak symbols in Qt/E,
139// which allows us to force the usage of the global Opie appearance.
140
141void QApplication::setStyle ( QStyle *style )
142{
143 if ( Opie::force_appearance & Opie::Force_Style )
144 delete style;
145 else
146 QApplication::setStyle_NonWeak ( style );
147}
148
149void QApplication::setPalette ( const QPalette &pal, bool informWidgets, const char *className )
150{
151 if (!( Opie::force_appearance & Opie::Force_Style ))
152 QApplication::setPalette_NonWeak ( pal, informWidgets, className );
153}
154
155void QApplication::setFont ( const QFont &fnt, bool informWidgets, const char *className )
156{
157 if (!( Opie::force_appearance & Opie::Force_Font ))
158 QApplication::setFont_NonWeak ( fnt, informWidgets, className );
159}
160
161
162void QApplication::qwsSetDecoration ( QWSDecoration *deco )
163{
164 if ( Opie::force_appearance & Opie::Force_Decoration )
165 delete deco;
166 else
167 QApplication::qwsSetDecoration_NonWeak ( deco );
168}
169#endif
170#endif
diff --git a/library/qt_override_p.h b/library/qt_override_p.h
deleted file mode 100644
index cb05d15..0000000
--- a/library/qt_override_p.h
+++ b/dev/null
@@ -1,25 +0,0 @@
1#ifndef __QT_OVERRIDE_H__
2#define __QT_OVERRIDE_H__
3
4#if QT_VERSION > 233
5
6namespace Opie {
7
8enum ForceAppearance {
9 Force_Style = 0x01,
10 Force_Font = 0x02,
11 Force_Decoration = 0x04,
12
13 Force_All = 0xff,
14 Force_None = 0x00,
15};
16
17extern const char *binaryName ( );
18
19extern int force_appearance;
20
21}
22
23#endif // (QT_VERSION >233)
24
25#endif