summaryrefslogtreecommitdiff
path: root/library
authorzecke <zecke>2003-10-04 08:59:51 (UTC)
committer zecke <zecke>2003-10-04 08:59:51 (UTC)
commitdc9510f788212a6be063349461540e4bea690f51 (patch) (side-by-side diff)
treeb8728fdc12c1580287f16f3828180beac5d55c13 /library
parent23f729eb7487ad189591c3b0c9af9d3afecd3b91 (diff)
downloadopie-dc9510f788212a6be063349461540e4bea690f51.zip
opie-dc9510f788212a6be063349461540e4bea690f51.tar.gz
opie-dc9510f788212a6be063349461540e4bea690f51.tar.bz2
Allow Opie beeing build with a Plain version of Qt without weak symbols
Diffstat (limited to 'library') (more/less context) (ignore whitespace changes)
-rw-r--r--library/library.pro6
-rw-r--r--library/qpeapplication.cpp10
-rw-r--r--library/qt_override.cpp40
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