-rw-r--r-- | Rules.make | 3 | ||||
-rw-r--r-- | config.in | 4 | ||||
-rw-r--r-- | library/qpeapplication.h | 4 | ||||
-rw-r--r-- | library/qt_override.cpp | 9 |
4 files changed, 18 insertions, 2 deletions
@@ -43,16 +43,19 @@ endif ifeq ($(CONFIG_SQL_PIM_BACKEND),y) echo ENABLE_SQL_PIM_BACKEND=$(CONFIG_SQL_PIM_BACKEND) >> $@ else echo ENABLE_SQL_PIM_BACKEND=n >> $@ endif ifeq ($(CONFIG_OPIE_NO_OVERRIDE_QT),y) echo CONFIG += no-override >> $@ endif +ifeq ($(CONFIG_OPIE_NO_ERASERECT_FIX),y) + echo DEFINES += OPIE_NO_ERASE_RECT_HACKFIX >> $@ +endif ifeq ($(CONFIG_OPIE_NO_BUILTIN_SHUTDOWN),y) echo DEFINES += OPIE_NO_BUILTIN_SHUTDOWN >> $@ endif ifeq ($(CONFIG_OPIE_NO_BUILTIN_CALIBRATE),y) echo DEFINES += OPIE_NO_BUILTIN_CALIBRATE >> $@ endif ifeq ($(CONFIG_USE_REALTIME_AUDIO_THREAD),y) echo DEFINES += USE_REALTIME_AUDIO_THREAD >> $@ @@ -101,16 +101,20 @@ config EXPERIMENTAL endmenu menu "Configuration" config OPIE_NO_OVERRIDE_QT boolean "Build Opie against an unpatched version of Qt" default n +config OPIE_NO_ERASERECT_FIX + boolean "Disable Fixup eraseRect for HancomMobileWord,neocal.. to make libopiecore work on Sharps libqpe" + default n + config OPIE_NO_BUILTIN_SHUTDOWN boolean "Disable the built in shutdown application" default y config OPIE_NO_BUILTIN_CALIBRATE boolean "Disable the built in calibrate application" default y if TARGET_YOPY default n if ! TARGET_YOPY diff --git a/library/qpeapplication.h b/library/qpeapplication.h index 8c85ad0..d2782e4 100644 --- a/library/qpeapplication.h +++ b/library/qpeapplication.h @@ -159,18 +159,20 @@ protected: void internalSetStyle( const QString &style ); void prepareForTermination(bool willrestart); virtual void restart(); virtual void shutdown(); bool eventFilter( QObject *, QEvent * ); void timerEvent( QTimerEvent * ); bool raiseAppropriateWindow(); virtual void tryQuit(); -#if QT_VERSION > 233 +#ifndef OPIE_NO_ERASE_RECT_HACKFIX + #if QT_VERSION > 233 virtual void polish ( QWidget * ); // this is actually implemented in qt_override.cpp (!) + #endif #endif private: #ifndef QT_NO_TRANSLATION void installTranslation( const QString& baseName ); #endif void mapToDefaultAction( QWSKeyEvent *ke, int defKey ); void processQCopFile(); diff --git a/library/qt_override.cpp b/library/qt_override.cpp index 4d1f475..56f82d7 100644 --- a/library/qt_override.cpp +++ b/library/qt_override.cpp @@ -7,33 +7,38 @@ #include <stdio.h> #include <limits.h> #include <sys/param.h> // for toolchains with old libc headers #include "qt_override_p.h" #if QT_VERSION > 233 +#ifndef OPIE_NO_ERASE_RECT_HACKFIX struct color_fix_t { char *m_app; char *m_class; char *m_name; QColorGroup::ColorRole m_set; 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 } }; +#endif + +#ifndef OPIE_NO_OVERRIDE_QT + static const char * const apps_that_need_pointsizes_times_10 [] = { "HancomMobileWord", "hancomsheet", "HancomPresenterViewer", 0 }; @@ -84,16 +89,17 @@ extern void __gmon_start__ ( ) __attribute__(( weak )); extern void __gmon_start__ ( ) { } } +#ifndef OPIE_NO_ERASE_RECT_HACKFIX // 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 // TT made it an inline ...) void QPEApplication::polish ( QWidget *w ) { #ifndef OPIE_NO_OVERRIDE_QT // qDebug ( "QPEApplication::polish()" ); @@ -105,16 +111,17 @@ void QPEApplication::polish ( QWidget *w ) QPalette pal = w-> palette ( ); pal. setColor ( ptr-> m_set, pal. color ( QPalette::Active, ptr-> m_get )); w-> setPalette ( pal ); } } #endif QApplication::polish ( w ); } +#endif #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) QValueList <int> QFontDatabase::pointSizes ( QString const &family, QString const &style, QString const &charset ) { |