summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--Rules.make3
-rw-r--r--config.in4
-rw-r--r--library/library.pro6
-rw-r--r--library/qpeapplication.cpp10
-rw-r--r--library/qt_override.cpp40
5 files changed, 44 insertions, 19 deletions
diff --git a/Rules.make b/Rules.make
index 4833b11..a1e6f09 100644
--- a/Rules.make
+++ b/Rules.make
@@ -29,6 +29,9 @@ else
echo CONFIG += quick-app-bin >> $@
echo \} >> $@
endif
+ifeq ($(CONFIG_OPIE_NO_OVERRIDE_QT),y)
+ echo CONFIG += no-override >> $@
+endif
$(TOPDIR)/.depends : $(shell if [ -e $(TOPDIR)/config.in ]\; then echo $(TOPDIR)/config.in\; fi\;) $(TOPDIR)/.config $(TOPDIR)/packages
@echo Generating dependency information...
diff --git a/config.in b/config.in
index dac9024..ddbc93b 100644
--- a/config.in
+++ b/config.in
@@ -41,6 +41,10 @@ config RELEASE
config QUICK_LAUNCH
boolean "Enable Quick Launch"
default n
+
+config OPIE_NO_OVERRIDE_QT
+ boolean "Build Opie against an unpatched version of Qt"
+ default n
config SPECFILE
string
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