summaryrefslogtreecommitdiff
path: root/library
Side-by-side diff
Diffstat (limited to 'library') (more/less context) (show whitespace changes)
-rw-r--r--library/resource.cpp34
1 files changed, 29 insertions, 5 deletions
diff --git a/library/resource.cpp b/library/resource.cpp
index b31876f..3b5e9ec 100644
--- a/library/resource.cpp
+++ b/library/resource.cpp
@@ -30,7 +30,9 @@
// inlinepics_p.h
+#ifndef LIBQPE_NO_INLINE_IMAGES
namespace {
#include "inlinepics_p.h"
}
+#endif
static bool g_notUseSet = ::getenv("OVERWRITE_ICON_SET");
@@ -97,5 +99,4 @@ QString Resource::findPixmap( const QString &pix )
{
QString picsPath = QPEApplication::qpeDir() + "pics/";
-
QString f;
@@ -108,4 +109,15 @@ QString Resource::findPixmap( const QString &pix )
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();
@@ -164,18 +176,30 @@ 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);