-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | Rules.make | 3 | ||||
-rw-r--r-- | config.in | 4 | ||||
-rw-r--r-- | library/resource.cpp | 34 |
4 files changed, 38 insertions, 6 deletions
@@ -23,10 +23,11 @@ * n.a. - PackageManager - fixed where last package in status file was not shown as installed when it should be (drw) Internal -------- - * Work around bug in Qt/Embedded 2.3.10: qt_version() returns 231 (mickeyl) + * Worked around bug in Qt/Embedded 2.3.10: qt_version() returns 231 (mickeyl) * Killed the need for weak symbols in QtE (zecke) + * Added optional building libqpe without inline images (mickeyl) 2005-02-03 Opie 1.1.9 New Features @@ -59,8 +59,11 @@ ifeq ($(CONFIG_OPIELOGIN_USEPAM),y) endif ifeq ($(CONFIG_LIBQPE_WITHROHFEEDBACK),y) echo CONFIG += LIBQPE_WITHROHFEEDBACK >> $@ endif +ifeq ($(CONFIG_LIBQPE_NO_INLINE_IMAGES),y) + echo DEFINES += LIBQPE_NO_INLINE_IMAGES >> $@ +endif ifeq ($(CONFIG_OPIE_NO_BUILTIN_SHUTDOWN),y) echo DEFINES += OPIE_NO_BUILTIN_SHUTDOWN >> $@ endif ifeq ($(CONFIG_OPIE_NO_BUILTIN_CALIBRATE),y) @@ -169,8 +169,12 @@ config OPIE_TASKBAR_LOCK_KEY_STATE config LIBQPE_WITHROHFEEDBACK boolean "Build libqpe with Right-On-Hold feedback" default y +config LIBQPE_NO_INLINE_IMAGES + boolean "Build libqpe without inline images" + default y + config OPIE_NO_SOUND_PCM_READ_BITS boolean "There is not a pcm_read_bits io control" default y if TARGET_SHARP default n if ! TARGET_SHARP diff --git a/library/resource.cpp b/library/resource.cpp index b31876f..3b5e9ec 100644 --- a/library/resource.cpp +++ b/library/resource.cpp @@ -28,11 +28,13 @@ // this namespace is just a workaround for a gcc bug // gcc exports inline functions in the generated file // inlinepics_p.h +#ifndef LIBQPE_NO_INLINE_IMAGES namespace { #include "inlinepics_p.h" } +#endif static bool g_notUseSet = ::getenv("OVERWRITE_ICON_SET"); /*! @@ -95,9 +97,8 @@ QBitmap Resource::loadBitmap( const QString &pix ) */ QString Resource::findPixmap( const QString &pix ) { QString picsPath = QPEApplication::qpeDir() + "pics/"; - QString f; // Common case optimizations... f = picsPath + pix + ".png"; @@ -106,8 +107,19 @@ QString Resource::findPixmap( const QString &pix ) f = picsPath + pix + ".xpm"; if ( QFile( f ).exists() ) return f; +#ifdef LIBQPE_NO_INLINE_IMAGES + QString picsPathInline = picsPath + "inline/"; + // Common case optimizations... + f = picsPathInline + pix + ".png"; + if ( QFile( f ).exists() ) + return f; + f = picsPathInline + pix + ".xpm"; + if ( QFile( f ).exists() ) + return f; +#endif + // All formats... QStrList fileFormats = QImageIO::inputFormats(); QString ff = fileFormats.first(); while ( fileFormats.current() ) { @@ -162,22 +174,34 @@ QStringList Resource::allSounds() } static QImage load_image(const QString &name) { + QImage img; + if (g_notUseSet ) { // try file - QImage img; QString f = Resource::findPixmap(name); if ( !f.isEmpty() ) img.load(f); +#ifndef LIBQPE_NO_INLINE_IMAGES if (img.isNull() ) img = qembed_findImage(name.latin1() ); +#endif return img; } else{ - QImage img = qembed_findImage(name.latin1()); - - if ( img.isNull() ) { +#ifndef LIBQPE_NO_INLINE_IMAGES + img = qembed_findImage(name.latin1()); +#else + QString f = Resource::findPixmap( "/inline/" + name ); + if ( !f.isEmpty() ) + { + img.load(f); + return img; + } +#endif + if ( img.isNull() ) + { // No inlined image, try file QString f = Resource::findPixmap(name); if ( !f.isEmpty() ) img.load(f); |