summaryrefslogtreecommitdiff
path: root/library/resource.cpp
Unidiff
Diffstat (limited to 'library/resource.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--library/resource.cpp34
1 files changed, 29 insertions, 5 deletions
diff --git a/library/resource.cpp b/library/resource.cpp
index b31876f..3b5e9ec 100644
--- a/library/resource.cpp
+++ b/library/resource.cpp
@@ -28,11 +28,13 @@
28// this namespace is just a workaround for a gcc bug 28// this namespace is just a workaround for a gcc bug
29// gcc exports inline functions in the generated file 29// gcc exports inline functions in the generated file
30// inlinepics_p.h 30// inlinepics_p.h
31 31
32#ifndef LIBQPE_NO_INLINE_IMAGES
32namespace { 33namespace {
33#include "inlinepics_p.h" 34#include "inlinepics_p.h"
34} 35}
36#endif
35 37
36static bool g_notUseSet = ::getenv("OVERWRITE_ICON_SET"); 38static bool g_notUseSet = ::getenv("OVERWRITE_ICON_SET");
37 39
38/*! 40/*!
@@ -95,9 +97,8 @@ QBitmap Resource::loadBitmap( const QString &pix )
95*/ 97*/
96QString Resource::findPixmap( const QString &pix ) 98QString Resource::findPixmap( const QString &pix )
97{ 99{
98 QString picsPath = QPEApplication::qpeDir() + "pics/"; 100 QString picsPath = QPEApplication::qpeDir() + "pics/";
99
100 QString f; 101 QString f;
101 102
102 // Common case optimizations... 103 // Common case optimizations...
103 f = picsPath + pix + ".png"; 104 f = picsPath + pix + ".png";
@@ -106,8 +107,19 @@ QString Resource::findPixmap( const QString &pix )
106 f = picsPath + pix + ".xpm"; 107 f = picsPath + pix + ".xpm";
107 if ( QFile( f ).exists() ) 108 if ( QFile( f ).exists() )
108 return f; 109 return f;
109 110
111#ifdef LIBQPE_NO_INLINE_IMAGES
112 QString picsPathInline = picsPath + "inline/";
113 // Common case optimizations...
114 f = picsPathInline + pix + ".png";
115 if ( QFile( f ).exists() )
116 return f;
117 f = picsPathInline + pix + ".xpm";
118 if ( QFile( f ).exists() )
119 return f;
120#endif
121
110 // All formats... 122 // All formats...
111 QStrList fileFormats = QImageIO::inputFormats(); 123 QStrList fileFormats = QImageIO::inputFormats();
112 QString ff = fileFormats.first(); 124 QString ff = fileFormats.first();
113 while ( fileFormats.current() ) { 125 while ( fileFormats.current() ) {
@@ -162,22 +174,34 @@ QStringList Resource::allSounds()
162} 174}
163 175
164static QImage load_image(const QString &name) 176static QImage load_image(const QString &name)
165{ 177{
178 QImage img;
179
166 if (g_notUseSet ) { 180 if (g_notUseSet ) {
167 // try file 181 // try file
168 QImage img;
169 QString f = Resource::findPixmap(name); 182 QString f = Resource::findPixmap(name);
170 if ( !f.isEmpty() ) 183 if ( !f.isEmpty() )
171 img.load(f); 184 img.load(f);
185#ifndef LIBQPE_NO_INLINE_IMAGES
172 if (img.isNull() ) 186 if (img.isNull() )
173 img = qembed_findImage(name.latin1() ); 187 img = qembed_findImage(name.latin1() );
188#endif
174 return img; 189 return img;
175 } 190 }
176 else{ 191 else{
177 QImage img = qembed_findImage(name.latin1()); 192#ifndef LIBQPE_NO_INLINE_IMAGES
178 193 img = qembed_findImage(name.latin1());
179 if ( img.isNull() ) { 194#else
195 QString f = Resource::findPixmap( "/inline/" + name );
196 if ( !f.isEmpty() )
197 {
198 img.load(f);
199 return img;
200 }
201#endif
202 if ( img.isNull() )
203 {
180 // No inlined image, try file 204 // No inlined image, try file
181 QString f = Resource::findPixmap(name); 205 QString f = Resource::findPixmap(name);
182 if ( !f.isEmpty() ) 206 if ( !f.isEmpty() )
183 img.load(f); 207 img.load(f);