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