160 CleanupStack::PopAndDestroy( 3, &file ); |
160 CleanupStack::PopAndDestroy( 3, &file ); |
161 ); |
161 ); |
162 return result; |
162 return result; |
163 } |
163 } |
164 |
164 |
|
165 int ThumbnailManagerPrivate::setThumbnail( const QImage& source, const QString& fileName, |
|
166 void * clientData, int priority ) |
|
167 { |
|
168 int result( -1 ); |
|
169 RBuf file; |
|
170 _LIT( mime, "image/png" ); |
|
171 |
|
172 if( !byteArray ){ |
|
173 byteArray = new QByteArray(); |
|
174 } |
|
175 QBuffer buffer( byteArray ); |
|
176 buffer.open( QBuffer::ReadWrite ); |
|
177 QDataStream dataStream( &buffer ); |
|
178 |
|
179 dataStream << source; |
|
180 |
|
181 int offset = ( dataStream.version() >= 5 ? 4 : 0 ); |
|
182 |
|
183 TRAP_IGNORE( |
|
184 CleanupClosePushL( file ); |
|
185 file.CreateL( fileName.length() ); |
|
186 file.Copy( fileName.utf16(), fileName.length() ); |
|
187 |
|
188 HBufC* mimetype = HBufC::NewLC( 9 ); |
|
189 mimetype->Des() = mime(); |
|
190 |
|
191 TPtrC8* ptr = new TPtrC8( reinterpret_cast<const TUint8*>( byteArray->data() + offset ), byteArray->count() - offset ); |
|
192 |
|
193 CThumbnailObjectSource* objSrc = CThumbnailObjectSource::NewLC( ptr, *mimetype, file ); |
|
194 result = iThumbnailManager->SetThumbnailL( *objSrc, clientData, priority ); |
|
195 CleanupStack::PopAndDestroy( 3, &file ); |
|
196 ); |
|
197 |
|
198 return result; |
|
199 } |
|
200 |
165 void ThumbnailManagerPrivate::deleteThumbnails( const QString& fileName ) |
201 void ThumbnailManagerPrivate::deleteThumbnails( const QString& fileName ) |
166 { |
202 { |
167 QString symbFileName( fileName ); |
203 QString symbFileName( fileName ); |
168 |
204 |
169 if( symbFileName.contains( "/" ) ) |
205 if( symbFileName.contains( "/" ) ) |