summaryrefslogtreecommitdiff
path: root/library
Side-by-side diff
Diffstat (limited to 'library') (more/less context) (ignore whitespace changes)
-rw-r--r--library/resource.cpp35
-rw-r--r--library/resource.h11
2 files changed, 33 insertions, 13 deletions
diff --git a/library/resource.cpp b/library/resource.cpp
index 18139b9..da09892 100644
--- a/library/resource.cpp
+++ b/library/resource.cpp
@@ -27,2 +27,8 @@
+/*
+ * enable or disable the search for the icon without .png or .xpm
+ * suffix. We would use MimeType to lookup possible extensions...
+ */
+bool qpe_fast_findPixmap = false; // visible in libqpe
+
// this namespace is just a workaround for a gcc bug
@@ -67,4 +73,4 @@ QPixmap Resource::loadPixmap( const QString &pix )
if ( !QPixmapCache::find(key,pm) ) {
- QImage I = loadImage(pix);
- if( I.isNull() ) {
+ QImage I = loadImage(pix);
+ if( I.isNull() ) {
qWarning( "Could not load %s", pix.latin1() );
@@ -74,2 +80,4 @@ QPixmap Resource::loadPixmap( const QString &pix )
}
+ }else {
+ qWarning("In Cache for %s pixmap %s", qApp->argv()[0], pix.local8Bit().data() );
}
@@ -142,13 +150,16 @@ QString Resource::findPixmap( const QString &pix )
- // All formats...
- QStringList exts = opie_imageExtensions();
- for ( QStringList::ConstIterator it = exts.begin(); it!=exts.end(); ++it ) {
- QString f = picsPath + pix + "." + *it;
- if ( QFile(f).exists() )
- return f;
- }
+ if ( !qpe_fast_findPixmap ) {
+ printf("Doing slow search for %s %s\n", qApp->argv()[0], pix.local8Bit().data() );
+ // All formats...
+ QStringList exts = opie_imageExtensions();
+ for ( QStringList::ConstIterator it = exts.begin(); it!=exts.end(); ++it ) {
+ QString f = picsPath + pix + "." + *it;
+ if ( QFile(f).exists() )
+ return f;
+ }
- // Finally, no (or existing) extension...
- if ( QFile( picsPath + pix ).exists() )
- return picsPath + pix;
+ // Finally, no (or existing) extension...
+ if ( QFile( picsPath + pix ).exists() )
+ return picsPath + pix;
+ }
diff --git a/library/resource.h b/library/resource.h
index 1f1ba9a..4a3502a 100644
--- a/library/resource.h
+++ b/library/resource.h
@@ -44,5 +44,12 @@ public:
+extern bool qpe_fast_findPixmap;
// Inline for compatibility with SHARP ROMs
-inline QIconSet Resource::loadIconSet( const QString &pix )
+inline QIconSet Resource::loadIconSet( const QString &pix )
{
+ /*
+ * disable the slow load
+ */
+ bool oldMode = qpe_fast_findPixmap;
+ qpe_fast_findPixmap = true;
+
QPixmap dpm = loadPixmap( pix + "_disabled" );
@@ -52,2 +59,4 @@ inline QIconSet Resource::loadIconSet( const QString &pix )
is.setPixmap( dpm, pm.width() <= 22 ? QIconSet::Small : QIconSet::Large, QIconSet::Disabled );
+
+ qpe_fast_findPixmap = oldMode;
return is;