summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--ChangeLog3
-rw-r--r--Rules.make3
-rw-r--r--config.in4
-rw-r--r--library/resource.cpp34
4 files changed, 38 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index c39e7ce..86d9766 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -21,14 +21,15 @@
* #1558 - Fixed opie-login breaking opie startup (mickeyl)
* #1570 - Confirmation needed befor Restore a backup and overwrite local data (ar)
* 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
------------
* Number of icon columns in Launcher is customizable through Launcher.conf (hrw,zecke,mickeyl)
diff --git a/Rules.make b/Rules.make
index 64237cf..df1e6e5 100644
--- a/Rules.make
+++ b/Rules.make
@@ -57,12 +57,15 @@ endif
ifeq ($(CONFIG_OPIELOGIN_USEPAM),y)
echo CONFIG += OPIELOGIN_USEPAM >> $@
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)
echo DEFINES += OPIE_NO_BUILTIN_CALIBRATE >> $@
endif
diff --git a/config.in b/config.in
index e9ffed2..228e682 100644
--- a/config.in
+++ b/config.in
@@ -167,12 +167,16 @@ config OPIE_TASKBAR_LOCK_KEY_STATE
default n if !TARGET_SHARP
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
endmenu
diff --git a/library/resource.cpp b/library/resource.cpp
index b31876f..3b5e9ec 100644
--- a/library/resource.cpp
+++ b/library/resource.cpp
@@ -26,15 +26,17 @@
#include <qpixmapcache.h>
// 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");
/*!
\class Resource resource.h
\brief The Resource class provides access to named resources.
@@ -93,23 +95,33 @@ QBitmap Resource::loadBitmap( const QString &pix )
Normally you will use loadPixmap() rather than this function.
*/
QString Resource::findPixmap( const QString &pix )
{
QString picsPath = QPEApplication::qpeDir() + "pics/";
-
QString f;
// Common case optimizations...
f = picsPath + pix + ".png";
if ( QFile( f ).exists() )
return f;
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() ) {
QStringList exts = MimeType("image/"+ff.lower()).extensions();
for ( QStringList::ConstIterator it = exts.begin(); it!=exts.end(); ++it ) {
@@ -160,26 +172,38 @@ QStringList Resource::allSounds()
result.append((*i).replace(QRegExp("\\.wav"),""));
return result;
}
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);
}
return img;