diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2014-09-19 17:54:07 +0200 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2014-09-19 17:54:07 +0200 |
commit | a4dbb28c4602421a3166e83ffc0011e49e1b37b2 (patch) | |
tree | 0927bf4a7ebd0c47c5d58a8070079a1ade60e040 | |
parent | 8415b9601b033d43f9267f5a2cada747e8fd0e63 (diff) | |
parent | bf249abee98727d517f52b1126dc7fda8af4e302 (diff) | |
download | qtsvg-a4dbb28c4602421a3166e83ffc0011e49e1b37b2.tar.gz |
Merge remote-tracking branch 'origin/5.4' into dev
Change-Id: I75941126eb0ea28d1190c42e5267c1d6e427a164
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | examples/svg/embedded/fluidlauncher/demoapplication.cpp | 17 | ||||
-rw-r--r-- | examples/svg/embedded/fluidlauncher/fluidlauncher.cpp | 2 | ||||
-rw-r--r-- | examples/svg/embedded/fluidlauncher/fluidlauncher.pro | 2 | ||||
-rw-r--r-- | examples/svg/embedded/fluidlauncher/fluidlauncher.qrc | 43 | ||||
-rw-r--r-- | examples/svg/embedded/fluidlauncher/slideshow.cpp | 6 | ||||
-rw-r--r-- | src/svg/qsvggenerator.cpp | 2 |
7 files changed, 69 insertions, 4 deletions
@@ -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 " |