-rw-r--r-- | library/resource.cpp | 35 |
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 | */ | ||
32 | bool 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(); |