summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--library/resource.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/library/resource.cpp b/library/resource.cpp
index 6f164c7..80ce7a2 100644
--- a/library/resource.cpp
+++ b/library/resource.cpp
@@ -41,129 +41,130 @@ namespace {
41 \brief The Resource class provides access to named resources. 41 \brief The Resource class provides access to named resources.
42 42
43 The resources may be provided from files or other sources. 43 The resources may be provided from files or other sources.
44 44
45 The allSounds() function returns a list of all the sounds available. 45 The allSounds() function returns a list of all the sounds available.
46 A particular sound can be searched for using findSound(). 46 A particular sound can be searched for using findSound().
47 47
48 Images can be loaded with loadImage(), loadPixmap(), loadBitmap() 48 Images can be loaded with loadImage(), loadPixmap(), loadBitmap()
49 and loadIconSet(). 49 and loadIconSet().
50 50
51 \ingroup qtopiaemb 51 \ingroup qtopiaemb
52*/ 52*/
53 53
54/*! 54/*!
55 \fn Resource::Resource() 55 \fn Resource::Resource()
56 \internal 56 \internal
57*/ 57*/
58 58
59/*! 59/*!
60 Returns the QPixmap called \a pix. You should avoid including 60 Returns the QPixmap called \a pix. You should avoid including
61 any filename type extension (e.g. .png, .xpm). 61 any filename type extension (e.g. .png, .xpm).
62*/ 62*/
63QPixmap Resource::loadPixmap( const QString &pix ) 63QPixmap Resource::loadPixmap( const QString &pix )
64{ 64{
65 QPixmap pm; 65 QPixmap pm;
66 QString key="QPE_"+pix; 66 QString key="QPE_"+pix;
67 if ( !QPixmapCache::find(key,pm) ) { 67 if ( !QPixmapCache::find(key,pm) ) {
68 pm.convertFromImage(loadImage(pix)); 68 pm.convertFromImage(loadImage(pix));
69 QPixmapCache::insert(key,pm); 69 QPixmapCache::insert(key,pm);
70 } 70 }
71 return pm; 71 return pm;
72} 72}
73 73
74/*! 74/*!
75 Returns the QBitmap called \a pix. You should avoid including 75 Returns the QBitmap called \a pix. You should avoid including
76 any filename type extension (e.g. .png, .xpm). 76 any filename type extension (e.g. .png, .xpm).
77*/ 77*/
78QBitmap Resource::loadBitmap( const QString &pix ) 78QBitmap Resource::loadBitmap( const QString &pix )
79{ 79{
80 QBitmap bm; 80 QBitmap bm;
81 bm = loadPixmap(pix); 81 bm = loadPixmap(pix);
82 return bm; 82 return bm;
83} 83}
84 84
85/*! 85/*!
86 Returns the filename of a pixmap called \a pix. You should avoid including 86 Returns the filename of a pixmap called \a pix. You should avoid including
87 any filename type extension (e.g. .png, .xpm). 87 any filename type extension (e.g. .png, .xpm).
88 88
89 Normally you will use loadPixmap() rather than this function. 89 Normally you will use loadPixmap() rather than this function.
90*/ 90*/
91QString Resource::findPixmap( const QString &pix ) 91QString Resource::findPixmap( const QString &pix )
92{ 92{
93 QString picsPath = QPEApplication::qpeDir() + "pics/"; 93 QString picsPath = QPEApplication::qpeDir() + "pics/";
94 94
95 QString f; 95 QString f;
96 96
97 // Common case optimizations... 97 // Common case optimizations...
98 f = picsPath + pix + ".png"; 98 f = picsPath + pix + ".png";
99 if ( QFile( f ).exists() ) 99 if ( QFile( f ).exists() )
100 return f; 100 return f;
101 f = picsPath + pix + ".xpm"; 101 f = picsPath + pix + ".xpm";
102 if ( QFile( f ).exists() ) 102 if ( QFile( f ).exists() )
103 return f; 103 return f;
104 104
105 qDebug ( "\nLoading of image '%s' is not ideal (either it doesn't exist or an extension was specified)\n", pix.latin1()); 105 //qDebug ( "\nLoading of image '%s' is not ideal (either it doesn't exist or an extension was specified)\n", pix.latin1());
106//is this really necessary??
106 107
107 // All formats... 108 // All formats...
108 QStrList fileFormats = QImageIO::inputFormats(); 109 QStrList fileFormats = QImageIO::inputFormats();
109 QString ff = fileFormats.first(); 110 QString ff = fileFormats.first();
110 while ( fileFormats.current() ) { 111 while ( fileFormats.current() ) {
111 QStringList exts = MimeType("image/"+ff.lower()).extensions(); 112 QStringList exts = MimeType("image/"+ff.lower()).extensions();
112 for ( QStringList::ConstIterator it = exts.begin(); it!=exts.end(); ++it ) { 113 for ( QStringList::ConstIterator it = exts.begin(); it!=exts.end(); ++it ) {
113 QString f = picsPath + pix + "." + *it; 114 QString f = picsPath + pix + "." + *it;
114 if ( QFile(f).exists() ) 115 if ( QFile(f).exists() )
115 return f; 116 return f;
116 } 117 }
117 ff = fileFormats.next(); 118 ff = fileFormats.next();
118 } 119 }
119 120
120 // Finally, no (or existing) extension... 121 // Finally, no (or existing) extension...
121 if ( QFile( picsPath + pix ).exists() ) 122 if ( QFile( picsPath + pix ).exists() )
122 return picsPath + pix; 123 return picsPath + pix;
123 124
124 //qDebug("Cannot find pixmap: %s", pix.latin1()); 125 //qDebug("Cannot find pixmap: %s", pix.latin1());
125 return QString(); 126 return QString();
126} 127}
127 128
128/*! 129/*!
129 Returns a sound file for a sound called \a name. 130 Returns a sound file for a sound called \a name.
130 131
131 You should avoid including any filename type extension (e.g. .wav), 132 You should avoid including any filename type extension (e.g. .wav),
132 as the system will search for only those fileformats which are supported 133 as the system will search for only those fileformats which are supported
133 by the library. 134 by the library.
134 135
135 Currently, only WAV files are supported. 136 Currently, only WAV files are supported.
136*/ 137*/
137QString Resource::findSound( const QString &name ) 138QString Resource::findSound( const QString &name )
138{ 139{
139 QString picsPath = QPEApplication::qpeDir() + "sounds/"; 140 QString picsPath = QPEApplication::qpeDir() + "sounds/";
140 141
141 QString result; 142 QString result;
142 if ( QFile( (result = picsPath + name + ".wav") ).exists() ) 143 if ( QFile( (result = picsPath + name + ".wav") ).exists() )
143 return result; 144 return result;
144 145
145 return QString(); 146 return QString();
146} 147}
147 148
148/*! 149/*!
149 Returns a list of all sound names. 150 Returns a list of all sound names.
150*/ 151*/
151QStringList Resource::allSounds() 152QStringList Resource::allSounds()
152{ 153{
153 QDir resourcedir( QPEApplication::qpeDir() + "sounds/", "*.wav" ); 154 QDir resourcedir( QPEApplication::qpeDir() + "sounds/", "*.wav" );
154 QStringList entries = resourcedir.entryList(); 155 QStringList entries = resourcedir.entryList();
155 QStringList result; 156 QStringList result;
156 for (QStringList::Iterator i=entries.begin(); i != entries.end(); ++i) 157 for (QStringList::Iterator i=entries.begin(); i != entries.end(); ++i)
157 result.append((*i).replace(QRegExp("\\.wav"),"")); 158 result.append((*i).replace(QRegExp("\\.wav"),""));
158 return result; 159 return result;
159} 160}
160 161
161static QImage load_image(const QString &name) 162static QImage load_image(const QString &name)
162{ 163{
163 QImage img = qembed_findImage(name.latin1()); 164 QImage img = qembed_findImage(name.latin1());
164 if ( img.isNull() ) { 165 if ( img.isNull() ) {
165 // No inlined image, try file 166 // No inlined image, try file
166 QString f = Resource::findPixmap(name); 167 QString f = Resource::findPixmap(name);
167 if ( !f.isEmpty() ) 168 if ( !f.isEmpty() )
168 img.load(f); 169 img.load(f);
169 } 170 }