summaryrefslogtreecommitdiff
path: root/library
authorzecke <zecke>2005-04-04 20:23:39 (UTC)
committer zecke <zecke>2005-04-04 20:23:39 (UTC)
commit8ea4d025ded75eee0918258121d54273aead66ad (patch) (unidiff)
tree9fd3ac0d4c355cc3e5c7345b2de8c7edd3b60db1 /library
parentbe7d04d2b402e5515cfac3a2b32ed5831e15340b (diff)
downloadopie-8ea4d025ded75eee0918258121d54273aead66ad.zip
opie-8ea4d025ded75eee0918258121d54273aead66ad.tar.gz
opie-8ea4d025ded75eee0918258121d54273aead66ad.tar.bz2
Speed up start times of applications:
-Do not load MimeType when using Resource::loadIconSet we introduce a global boolean (like TT) What is bad: The boolean is visible outside of libqpe and we've that extern in the header... On the former we can use visibility attributes soon
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 @@
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
@@ -67,4 +73,4 @@ QPixmap Resource::loadPixmap( const QString &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() );
@@ -74,2 +80,4 @@ QPixmap Resource::loadPixmap( const QString &pix )
74 } 80 }
81 }else {
82 qWarning("In Cache for %s pixmap %s", qApp->argv()[0], pix.local8Bit().data() );
75 } 83 }
@@ -142,13 +150,16 @@ QString Resource::findPixmap( const QString &pix )
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
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:
44 44
45extern bool qpe_fast_findPixmap;
45// Inline for compatibility with SHARP ROMs 46// Inline for compatibility with SHARP ROMs
46inline QIconSet Resource::loadIconSet( const QString &pix ) 47inline QIconSet Resource::loadIconSet( const QString &pix )
47{ 48{
49 /*
50 * disable the slow load
51 */
52 bool oldMode = qpe_fast_findPixmap;
53 qpe_fast_findPixmap = true;
54
48 QPixmap dpm = loadPixmap( pix + "_disabled" ); 55 QPixmap dpm = loadPixmap( pix + "_disabled" );
@@ -52,2 +59,4 @@ inline QIconSet Resource::loadIconSet( const QString &pix )
52 is.setPixmap( dpm, pm.width() <= 22 ? QIconSet::Small : QIconSet::Large, QIconSet::Disabled ); 59 is.setPixmap( dpm, pm.width() <= 22 ? QIconSet::Small : QIconSet::Large, QIconSet::Disabled );
60
61 qpe_fast_findPixmap = oldMode;
53 return is; 62 return is;