-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
@@ -26,4 +26,5 @@ -------- - * 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) @@ -62,2 +62,5 @@ ifeq ($(CONFIG_LIBQPE_WITHROHFEEDBACK),y) endif +ifeq ($(CONFIG_LIBQPE_NO_INLINE_IMAGES),y) + echo DEFINES += LIBQPE_NO_INLINE_IMAGES >> $@ +endif ifeq ($(CONFIG_OPIE_NO_BUILTIN_SHUTDOWN),y) @@ -172,2 +172,6 @@ config LIBQPE_WITHROHFEEDBACK +config LIBQPE_NO_INLINE_IMAGES + boolean "Build libqpe without inline images" + default y + config OPIE_NO_SOUND_PCM_READ_BITS diff --git a/library/resource.cpp b/library/resource.cpp index b31876f..3b5e9ec 100644 --- a/library/resource.cpp +++ b/library/resource.cpp @@ -31,2 +31,3 @@ +#ifndef LIBQPE_NO_INLINE_IMAGES namespace { @@ -34,2 +35,3 @@ namespace { } +#endif @@ -98,3 +100,2 @@ QString Resource::findPixmap( const QString &pix ) QString picsPath = QPEApplication::qpeDir() + "pics/"; - QString f; @@ -109,2 +110,13 @@ QString Resource::findPixmap( const QString &pix ) +#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... @@ -165,5 +177,6 @@ static QImage load_image(const QString &name) { + QImage img; + if (g_notUseSet ) { // try file - QImage img; QString f = Resource::findPixmap(name); @@ -171,4 +184,6 @@ static QImage load_image(const QString &name) img.load(f); +#ifndef LIBQPE_NO_INLINE_IMAGES if (img.isNull() ) img = qembed_findImage(name.latin1() ); +#endif return img; @@ -176,5 +191,14 @@ static QImage load_image(const QString &name) 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 |