summaryrefslogtreecommitdiff
path: root/library/resource.cpp
Unidiff
Diffstat (limited to 'library/resource.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--library/resource.cpp35
1 files changed, 23 insertions, 12 deletions
diff --git a/library/resource.cpp b/library/resource.cpp
index 18139b9..da09892 100644
--- a/library/resource.cpp
+++ b/library/resource.cpp
@@ -25,6 +25,12 @@
25#include <qdir.h> 25#include <qdir.h>
26#include <qpixmapcache.h> 26#include <qpixmapcache.h>
27 27
28/*
29 * enable or disable the search for the icon without .png or .xpm
30 * suffix. We would use MimeType to lookup possible extensions...
31 */
32bool qpe_fast_findPixmap = false; // visible in libqpe
33
28// this namespace is just a workaround for a gcc bug 34// this namespace is just a workaround for a gcc bug
29// gcc exports inline functions in the generated file 35// gcc exports inline functions in the generated file
30// inlinepics_p.h 36// inlinepics_p.h
@@ -65,13 +71,15 @@ QPixmap Resource::loadPixmap( const QString &pix )
65 QPixmap pm; // null pixmap 71 QPixmap pm; // null pixmap
66 QString key="QPE_"+pix; 72 QString key="QPE_"+pix;
67 if ( !QPixmapCache::find(key,pm) ) { 73 if ( !QPixmapCache::find(key,pm) ) {
68 QImage I = loadImage(pix); 74 QImage I = loadImage(pix);
69 if( I.isNull() ) { 75 if( I.isNull() ) {
70 qWarning( "Could not load %s", pix.latin1() ); 76 qWarning( "Could not load %s", pix.latin1() );
71 } else { 77 } else {
72 pm.convertFromImage(I); 78 pm.convertFromImage(I);
73 QPixmapCache::insert(key,pm); 79 QPixmapCache::insert(key,pm);
74 } 80 }
81 }else {
82 qWarning("In Cache for %s pixmap %s", qApp->argv()[0], pix.local8Bit().data() );
75 } 83 }
76 return pm; 84 return pm;
77} 85}
@@ -140,17 +148,20 @@ QString Resource::findPixmap( const QString &pix )
140 if ( QFile( f ).exists() ) 148 if ( QFile( f ).exists() )
141 return f; 149 return f;
142 150
143 // All formats... 151 if ( !qpe_fast_findPixmap ) {
144 QStringList exts = opie_imageExtensions(); 152 printf("Doing slow search for %s %s\n", qApp->argv()[0], pix.local8Bit().data() );
145 for ( QStringList::ConstIterator it = exts.begin(); it!=exts.end(); ++it ) { 153 // All formats...
146 QString f = picsPath + pix + "." + *it; 154 QStringList exts = opie_imageExtensions();
147 if ( QFile(f).exists() ) 155 for ( QStringList::ConstIterator it = exts.begin(); it!=exts.end(); ++it ) {
148 return f; 156 QString f = picsPath + pix + "." + *it;
149 } 157 if ( QFile(f).exists() )
158 return f;
159 }
150 160
151 // Finally, no (or existing) extension... 161 // Finally, no (or existing) extension...
152 if ( QFile( picsPath + pix ).exists() ) 162 if ( QFile( picsPath + pix ).exists() )
153 return picsPath + pix; 163 return picsPath + pix;
164 }
154 165
155 //qDebug("Cannot find pixmap: %s", pix.latin1()); 166 //qDebug("Cannot find pixmap: %s", pix.latin1());
156 return QString(); 167 return QString();