43 |
43 |
44 #include <QtGui> |
44 #include <QtGui> |
45 #include <QtWebKit> |
45 #include <QtWebKit> |
46 |
46 |
47 static const int pictureSize = 256; |
47 static const int pictureSize = 256; |
48 static const char* const msgPartNotInTdf = " Warning: The .tdf file does not have a part for "; |
|
49 static const char* const msgSvgNotFound = " Fatal: Could not find part .svg "; |
|
50 |
48 |
51 void dumpPartPictures(const QHash<QString, QPicture> &partPictures) { |
49 void dumpPartPictures(const QHash<QString, QPicture> &partPictures) { |
52 foreach (const QString &partKey, partPictures.keys()) { |
50 foreach (const QString &partKey, partPictures.keys()) { |
53 QPicture partPicture = partPictures.value(partKey); |
51 QPicture partPicture = partPictures.value(partKey); |
54 qDebug() << partKey << partPicture.boundingRect(); |
52 qDebug() << partKey << partPicture.boundingRect(); |
84 }; |
82 }; |
85 |
83 |
86 WebKitSVGRenderer::WebKitSVGRenderer(QWidget *parent) |
84 WebKitSVGRenderer::WebKitSVGRenderer(QWidget *parent) |
87 : QWebView(parent) |
85 : QWebView(parent) |
88 { |
86 { |
89 |
|
90 connect(this, SIGNAL(loadFinished(bool)), SLOT(loadFinishedSlot(bool))); |
87 connect(this, SIGNAL(loadFinished(bool)), SLOT(loadFinishedSlot(bool))); |
91 setFixedSize(pictureSize, pictureSize); |
88 setFixedSize(pictureSize, pictureSize); |
92 QPalette pal = palette(); |
89 QPalette pal = palette(); |
93 pal.setColor(QPalette::Base, Qt::transparent); |
90 pal.setColor(QPalette::Base, Qt::transparent); |
94 setPalette(pal); |
91 setPalette(pal); |
203 bool success = parseTdfFile(tdfFile, parsedPartSvgs, parsedColors); |
200 bool success = parseTdfFile(tdfFile, parsedPartSvgs, parsedColors); |
204 if (!success) |
201 if (!success) |
205 return false; |
202 return false; |
206 const QString tdfBasePath = QFileInfo(tdfFile).absolutePath(); |
203 const QString tdfBasePath = QFileInfo(tdfFile).absolutePath(); |
207 WebKitSVGRenderer renderer; |
204 WebKitSVGRenderer renderer; |
208 foreach (const QString &partKey, QS60Style::partKeys()) { |
205 foreach(const QString& partKey, parsedPartSvgs.keys()) { |
209 qDebug() << partKey; |
206 const QString tdfFullName = |
210 QString tdfFullName; |
207 tdfBasePath + QDir::separator() + parsedPartSvgs.value(partKey); |
211 if (parsedPartSvgs.contains(partKey)) { |
208 if (!QFile(tdfFullName).exists()) |
212 tdfFullName = tdfBasePath + QDir::separator() + parsedPartSvgs.value(partKey); |
209 qWarning() << "Could not find part:" << parsedPartSvgs.value(partKey); |
213 } else { |
|
214 qWarning() << msgPartNotInTdf << partKey; |
|
215 tdfFullName = tdfBasePath + QDir::separator() + partKey + QLatin1String(".svg"); |
|
216 } |
|
217 if (!QFile(tdfFullName).exists()) { |
|
218 qWarning() << msgSvgNotFound << QDir::toNativeSeparators(tdfFullName); |
|
219 return false; |
|
220 } |
|
221 const QPicture partPicture = renderer.svgToQPicture(tdfFullName); |
210 const QPicture partPicture = renderer.svgToQPicture(tdfFullName); |
222 parsedPartPictures.insert(partKey, partPicture); |
211 parsedPartPictures.insert(partKey, partPicture); |
223 } |
212 } |
224 // dumpPartPictures(parsedPartPictures); |
213 // dumpPartPictures(parsedPartPictures); |
225 // dumpColors(colors); |
214 // dumpColors(colors); |
285 WebKitSVGRenderer renderer; |
274 WebKitSVGRenderer renderer; |
286 foreach (const QString &partKey, QS60Style::partKeys()) { |
275 foreach (const QString &partKey, QS60Style::partKeys()) { |
287 const QString partFileName = partKey + QLatin1String(".svg"); |
276 const QString partFileName = partKey + QLatin1String(".svg"); |
288 const QString partFile(dir.absolutePath() + QDir::separator() + partFileName); |
277 const QString partFile(dir.absolutePath() + QDir::separator() + partFileName); |
289 if (!QFile::exists(partFile)) { |
278 if (!QFile::exists(partFile)) { |
290 qWarning() << msgSvgNotFound << partFileName; |
279 qWarning() << "Could not find part:" << partFileName; |
291 return false; |
280 continue; |
292 } |
281 } |
293 const QPicture partPicture = renderer.svgToQPicture(partFile); |
282 const QPicture partPicture = renderer.svgToQPicture(partFile); |
294 partPictures.insert(partKey, partPicture); |
283 partPictures.insert(partKey, partPicture); |
295 } |
284 } |
296 return true; |
285 return true; |