summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@digia.com>2014-09-19 17:54:07 +0200
committerFrederik Gladhorn <frederik.gladhorn@digia.com>2014-09-19 17:54:07 +0200
commita4dbb28c4602421a3166e83ffc0011e49e1b37b2 (patch)
tree0927bf4a7ebd0c47c5d58a8070079a1ade60e040
parent8415b9601b033d43f9267f5a2cada747e8fd0e63 (diff)
parentbf249abee98727d517f52b1126dc7fda8af4e302 (diff)
downloadqtsvg-a4dbb28c4602421a3166e83ffc0011e49e1b37b2.tar.gz
Merge remote-tracking branch 'origin/5.4' into dev
Change-Id: I75941126eb0ea28d1190c42e5267c1d6e427a164
-rw-r--r--.gitignore1
-rw-r--r--examples/svg/embedded/fluidlauncher/demoapplication.cpp17
-rw-r--r--examples/svg/embedded/fluidlauncher/fluidlauncher.cpp2
-rw-r--r--examples/svg/embedded/fluidlauncher/fluidlauncher.pro2
-rw-r--r--examples/svg/embedded/fluidlauncher/fluidlauncher.qrc43
-rw-r--r--examples/svg/embedded/fluidlauncher/slideshow.cpp6
-rw-r--r--src/svg/qsvggenerator.cpp2
7 files changed, 69 insertions, 4 deletions
diff --git a/.gitignore b/.gitignore
index 2f510c4..22ff3b8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -69,7 +69,6 @@ bin/pixeltool*
bin/qmake*
bin/qdoc3*
bin/qt3to4*
-bin/qtdemo*
bin/qttracereplay*
bin/rcc*
bin/uic*
diff --git a/examples/svg/embedded/fluidlauncher/demoapplication.cpp b/examples/svg/embedded/fluidlauncher/demoapplication.cpp
index a01894f..dfba309 100644
--- a/examples/svg/embedded/fluidlauncher/demoapplication.cpp
+++ b/examples/svg/embedded/fluidlauncher/demoapplication.cpp
@@ -48,6 +48,11 @@ DemoApplication::DemoApplication(QString executableName, QString caption, QStrin
else
executablePath = QDir::cleanPath(QDir::currentPath() + QLatin1Char('/') + executableName);
+#ifdef WIN32
+ if (!executablePath.endsWith(QLatin1String(".exe")))
+ executablePath.append(QLatin1String(".exe"));
+#endif
+
arguments = args;
process.setProcessChannelMode(QProcess::ForwardedChannels);
@@ -69,7 +74,17 @@ void DemoApplication::launch()
QImage DemoApplication::getImage() const
{
- return imagePath.isEmpty() ? QImage() : QImage(imagePath);
+ if (imagePath.isEmpty())
+ return QImage();
+
+ // in local dir?
+ QImage result(imagePath);
+ if (!result.isNull())
+ return result;
+
+ // provided by qrc
+ result = QImage(QString(":/fluidlauncher/%1").arg(imagePath));
+ return result;
}
QString DemoApplication::getCaption()
diff --git a/examples/svg/embedded/fluidlauncher/fluidlauncher.cpp b/examples/svg/embedded/fluidlauncher/fluidlauncher.cpp
index 599bd56..e9e6492 100644
--- a/examples/svg/embedded/fluidlauncher/fluidlauncher.cpp
+++ b/examples/svg/embedded/fluidlauncher/fluidlauncher.cpp
@@ -72,7 +72,7 @@ FluidLauncher::FluidLauncher(QStringList* args)
if ( (configIndex != -1) && (configIndex != args->count()-1) )
success = loadConfig(args->at(configIndex+1));
else
- success = loadConfig("config.xml");
+ success = loadConfig(":/fluidlauncher/config.xml");
if (success) {
populatePictureFlow();
diff --git a/examples/svg/embedded/fluidlauncher/fluidlauncher.pro b/examples/svg/embedded/fluidlauncher/fluidlauncher.pro
index f2d4b60..4046055 100644
--- a/examples/svg/embedded/fluidlauncher/fluidlauncher.pro
+++ b/examples/svg/embedded/fluidlauncher/fluidlauncher.pro
@@ -15,7 +15,7 @@ SOURCES += \
pictureflow.cpp \
slideshow.cpp
-EXAMPLE_FILES += config.xml screenshots slides
+RESOURCES = fluidlauncher.qrc
target.path = $$[QT_INSTALL_EXAMPLES]/svg/embedded/fluidlauncher
INSTALLS += target
diff --git a/examples/svg/embedded/fluidlauncher/fluidlauncher.qrc b/examples/svg/embedded/fluidlauncher/fluidlauncher.qrc
new file mode 100644
index 0000000..e4a451b
--- /dev/null
+++ b/examples/svg/embedded/fluidlauncher/fluidlauncher.qrc
@@ -0,0 +1,43 @@
+<RCC>
+ <qresource prefix="/fluidlauncher">
+ <file>slides/demo_1.png</file>
+ <file>slides/demo_2.png</file>
+ <file>slides/demo_3.png</file>
+ <file>slides/demo_4.png</file>
+ <file>slides/demo_5.png</file>
+ <file>slides/demo_6.png</file>
+ <file>screenshots/anomaly_s60.png</file>
+ <file>screenshots/concentriccircles.png</file>
+ <file>screenshots/context2d_s60.png</file>
+ <file>screenshots/deform.png</file>
+ <file>screenshots/desktopservices_s60.png</file>
+ <file>screenshots/digiflip.png</file>
+ <file>screenshots/elasticnodes.png</file>
+ <file>screenshots/embeddedsvgviewer_s60.png</file>
+ <file>screenshots/embeddedsvgviewer.png</file>
+ <file>screenshots/flickable.png</file>
+ <file>screenshots/flightinfo_s60.png</file>
+ <file>screenshots/fridgemagnets_s60.png</file>
+ <file>screenshots/ftp_s60.png</file>
+ <file>screenshots/lightmaps.png</file>
+ <file>screenshots/mediaplayer.png</file>
+ <file>screenshots/pathstroke.png</file>
+ <file>screenshots/qmlcalculator.png</file>
+ <file>screenshots/qmlclocks.png</file>
+ <file>screenshots/qmldialcontrol.png</file>
+ <file>screenshots/qmleasing.png</file>
+ <file>screenshots/qmlflickr.jpg</file>
+ <file>screenshots/qmlphotoviewer.jpg</file>
+ <file>screenshots/qmltwitter.jpg</file>
+ <file>screenshots/raycasting.png</file>
+ <file>screenshots/saxbookmarks_s60.png</file>
+ <file>screenshots/softkeys_s60.png</file>
+ <file>screenshots/spectrum.png</file>
+ <file>screenshots/styledemo_s60.png</file>
+ <file>screenshots/styledemo.png</file>
+ <file>screenshots/weatherinfo.png</file>
+ <file>screenshots/wiggly_s60.png</file>
+ <file>screenshots/wiggly.png</file>
+ <file>config.xml</file>
+ </qresource>
+</RCC>
diff --git a/examples/svg/embedded/fluidlauncher/slideshow.cpp b/examples/svg/embedded/fluidlauncher/slideshow.cpp
index efdb97c..2df6642 100644
--- a/examples/svg/embedded/fluidlauncher/slideshow.cpp
+++ b/examples/svg/embedded/fluidlauncher/slideshow.cpp
@@ -98,8 +98,14 @@ void SlideShow::addImageDir(QString dirName)
{
QDir dir(dirName);
+ // lookup in directories
QStringList fileNames = dir.entryList(QDir::Files | QDir::Readable, QDir::Name);
+ for (int i=0; i<fileNames.count(); i++)
+ d->imagePaths << dir.absoluteFilePath(fileNames[i]);
+ // lookup in qrc
+ dir = QDir(QString(":/fluidlauncher/" + dirName));
+ fileNames = dir.entryList(QDir::Files | QDir::Readable, QDir::Name);
for (int i=0; i<fileNames.count(); i++)
d->imagePaths << dir.absoluteFilePath(fileNames[i]);
}
diff --git a/src/svg/qsvggenerator.cpp b/src/svg/qsvggenerator.cpp
index bc67436..6a12043 100644
--- a/src/svg/qsvggenerator.cpp
+++ b/src/svg/qsvggenerator.cpp
@@ -1045,6 +1045,8 @@ void QSvgPaintEngine::drawTextItem(const QPointF &pt, const QTextItem &textItem)
return;
const QTextItemInt &ti = static_cast<const QTextItemInt &>(textItem);
+ if (ti.chars == 0)
+ QPaintEngine::drawTextItem(pt, ti); // Draw as path
QString s = QString::fromRawData(ti.chars, ti.num_chars);
*d->stream << "<text "