author | zecke <zecke> | 2003-10-04 08:59:51 (UTC) |
---|---|---|
committer | zecke <zecke> | 2003-10-04 08:59:51 (UTC) |
commit | dc9510f788212a6be063349461540e4bea690f51 (patch) (side-by-side diff) | |
tree | b8728fdc12c1580287f16f3828180beac5d55c13 /library | |
parent | 23f729eb7487ad189591c3b0c9af9d3afecd3b91 (diff) | |
download | opie-dc9510f788212a6be063349461540e4bea690f51.zip opie-dc9510f788212a6be063349461540e4bea690f51.tar.gz opie-dc9510f788212a6be063349461540e4bea690f51.tar.bz2 |
Allow Opie beeing build with a Plain version of Qt without weak symbols
-rw-r--r-- | library/library.pro | 6 | ||||
-rw-r--r-- | library/qpeapplication.cpp | 10 | ||||
-rw-r--r-- | library/qt_override.cpp | 40 |
3 files changed, 37 insertions, 19 deletions
diff --git a/library/library.pro b/library/library.pro index 80a0f62..ab1f451 100644 --- a/library/library.pro +++ b/library/library.pro @@ -118,6 +118,8 @@ SOURCES = calendar.cpp \ lnkproperties.cpp \ qt_override.cpp + + # Qt 3 compatibility HEADERS += quuid.h qcom.h qlibrary.h qlibrary_p.h SOURCES += quuid.cpp qlibrary.cpp qlibrary_unix.cpp @@ -149,3 +151,7 @@ TRANSLATIONS = ../i18n/de/libqpe.ts \ include ( $(OPIEDIR)/include.pro ) + +contains( CONFIG, no-override ){ + DEFINES += OPIE_NO_OVERRIDE_QT +} diff --git a/library/qpeapplication.cpp b/library/qpeapplication.cpp index 28fb13a..feba8b6 100644 --- a/library/qpeapplication.cpp +++ b/library/qpeapplication.cpp @@ -1124,7 +1124,8 @@ void QPEApplication::applyStyle() Config config( "qpe" ); config.setGroup( "Appearance" ); - #if QT_VERSION > 233 +#if QT_VERSION > 233 +#if !defined(OPIE_NO_OVERRIDE_QT) // don't block ourselves ... Opie::force_appearance = 0; @@ -1138,6 +1139,9 @@ void QPEApplication::applyStyle() break; } } +#else + int nostyle = 0; +#endif // Widget style QString style = config.readEntry( "Style", "FlatStyle" ); @@ -1194,10 +1198,12 @@ void QPEApplication::applyStyle() setFont ( QFont ( ff, fs ), true ); +#if !defined(OPIE_NO_OVERRIDE_QT) // revert to global blocking policy ... Opie::force_appearance = config. readBoolEntry ( "ForceStyle", false ) ? Opie::Force_All : Opie::Force_None; Opie::force_appearance &= ~nostyle; - #endif +#endif +#endif } void QPEApplication::systemMessage( const QCString& msg, const QByteArray& data ) diff --git a/library/qt_override.cpp b/library/qt_override.cpp index edda874..df5a419 100644 --- a/library/qt_override.cpp +++ b/library/qt_override.cpp @@ -22,12 +22,12 @@ struct color_fix_t { QColorGroup::ColorRole m_get; }; - +#ifndef OPIE_NO_OVERRIDE_QT static const color_fix_t apps_that_need_special_colors [] = { { "HancomMobileWord", "HTextEdit", 0, QColorGroup::Background, QColorGroup::Base }, { "neocal", "Display", 0, QColorGroup::Background, QColorGroup::Base }, - + { 0, 0, 0, QColorGroup::Base, QColorGroup::Base } }; @@ -35,7 +35,7 @@ static const char * const apps_that_need_pointsizes_times_10 [] = { "HancomMobileWord", "hancomsheet", "HancomPresenterViewer", - + 0 }; @@ -56,32 +56,35 @@ static void binaryNameFree ( ) const char *Opie::binaryName ( ) { static const char *appname = 0; - + if ( !appname ) { char dst [PATH_MAX + 1]; int l = ::readlink ( "/proc/self/exe", dst, PATH_MAX ); - - if ( l <= 0 ) + + if ( l <= 0 ) l = 0; - + dst [l] = 0; const char *b = ::strrchr ( dst, '/' ); appname = ::strdup ( b ? b + 1 : dst ); - + ::atexit ( binaryNameFree ); - } + } return appname; } +#else +int Opie::force_appearance = 0; +#endif -// Fix for a toolchain incompatibility (binaries compiled with +// Fix for a toolchain incompatibility (binaries compiled with // old tcs using shared libs compiled with newer tcs) extern "C" { extern void __gmon_start__ ( ) __attribute__(( weak )); -extern void __gmon_start__ ( ) +extern void __gmon_start__ ( ) { } @@ -89,11 +92,12 @@ extern void __gmon_start__ ( ) // Fix for apps, that use QPainter::eraseRect() which doesn't work with styles -// that set a background pixmap (it would be easier to fix eraseRect(), but +// that set a background pixmap (it would be easier to fix eraseRect(), but // TT made it an inline ...) void QPEApplication::polish ( QWidget *w ) { +#ifndef OPIE_NO_OVERRIDE_QT // qDebug ( "QPEApplication::polish()" ); for ( const color_fix_t *ptr = apps_that_need_special_colors; ptr-> m_app; ptr++ ) { @@ -105,10 +109,12 @@ void QPEApplication::polish ( QWidget *w ) w-> setPalette ( pal ); } } +#endif QApplication::polish ( w ); } +#ifndef OPIE_NO_OVERRIDE_QT // Fix for the binary incompatibility that TT introduced in Qt/E 2.3.4 -- point sizes // were multiplied by 10 (which was incorrect) @@ -120,8 +126,8 @@ QValueList <int> QFontDatabase::pointSizes ( QString const &family, QString cons for ( const char * const *ptr = apps_that_need_pointsizes_times_10; *ptr; ptr++ ) { if ( ::strcmp ( Opie::binaryName ( ), *ptr ) == 0 ) { - for ( QValueList <int>::Iterator it = sl. begin ( ); it != sl. end ( ); ++it ) - *it *= 10; + for ( QValueList <int>::Iterator it = sl. begin ( ); it != sl. end ( ); ++it ) + *it *= 10; } } return sl; @@ -156,7 +162,7 @@ void QApplication::setFont ( const QFont &fnt, bool informWidgets, const char *c if (!( Opie::force_appearance & Opie::Force_Font )) QApplication::setFont_NonWeak ( fnt, informWidgets, className ); } - + void QApplication::qwsSetDecoration ( QWSDecoration *deco ) { @@ -167,5 +173,5 @@ void QApplication::qwsSetDecoration ( QWSDecoration *deco ) else QApplication::qwsSetDecoration_NonWeak ( deco ); } - -#endif
\ No newline at end of file +#endif +#endif |