summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Test that the CMake files create appropriate version variables.Stephen Kelly2013-04-051-0/+10
| | | | | | | Change-Id: I1d8061302fbb8494b5ae31e20a644745fe969f10 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Brad King <brad.king@kitware.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Stabilize tst_qcompleter.Friedemann Kleint2013-04-051-41/+54
| | | | | | | | | | | | - Use qWaitForWindowActive in task178797_activatedOnReturn(). - Remove hardcoded timeouts, use qWaitForWindowActive/Exposed. - Instantiate widgets on stack or use QScopedPointer to ensure cleanup. - Move widgets to a central location, avoiding taskbar areas. Change-Id: I98991b70067dddab9aa69b1681fa80398ec8b1f6 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Fix sql tests in respect to Oracle databasesAndy Shaw2013-04-059-377/+394
| | | | | | | | | | Oracle has a limitation of 30 characters for a tablename so the main change is to account for this, which meant changing all the usages of qTableName(). Some other fixes are included that ensure the tests are working correctly as far as Oracle is concerned. Change-Id: I8ad8a5a33e6a70fcad235f6a7e82e91687b74fee Reviewed-by: Mark Brand <mabrand@mabrand.nl>
* QSaveFile: allow saving to a writable file in a non-writable directoryDavid Faure2013-04-051-9/+76
| | | | | | | | | | The only way to make this possible is to disable the atomic-rename-from-temp-file behavior. This is not done by default, but only if the application allows this to happen. https://bugs.kde.org/show_bug.cgi?id=312415 Change-Id: I71ce54ae1f7f50ab5e8379f04c0ede74ebe3136d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix Qt tests for Android.BogDan Vatra2013-04-035-31/+87
| | | | | Change-Id: I53856056a00684a9a37596a74b79f46d3b47331f Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Move the dbmstype to QSqlDriverPrivate so it can be used for all driversAndy Shaw2013-04-029-17/+17
| | | | | | | | | By moving it to QSqlDriverPrivate we make it easier to check what database is actually connected which is particularly useful for the autotests. Change-Id: I54d1c2c998919c1d54efb1b6ac9303070ece54aa Reviewed-by: Mark Brand <mabrand@mabrand.nl>
* Cache QAccessibleInterfaces.Frederik Gladhorn2013-04-023-169/+186
| | | | | | | | | | | | | | | | | | | | | | | | | | | Since there already is a one-to-one relationship between QObject and QAccessibleInterface it makes little sense to create and destroy the interfaces on each call to queryAccessibleInterface. Add a cache and keep created interfaces around for the lifetime of the corresponding QObject. This changes the memory management rules: accessible interfaces must no longer be deleted. If you get an QAccessibleIntrface pointer that pointer will stay valid as long as the corresponding QObject is not deleted. This also re-enables accessibility for Mac. We limit the range of the IDs so that they are useable for Windows directly. That means we can get rid of the event cache there. This is based on: Iebf2f374916fc70a9dd29e95f45a6444b85f6cee Change-Id: I9fe6531812c0dbc5b41101ac05830a6dd75e13a3 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Upgrade the bundled PCRE to 8.32Giuseppe D'Angelo2013-04-011-2/+0
| | | | | | | | | | | | | | Changelog: http://pcre.org/changelog.txt Amongst other things, the Unicode tables were upgraded to 6.2.0 and case folding support was added, which also fixes a QString autotest (marked as XFAIL). Qt still requires 8.30, not 8.32. Change-Id: I4056c1dc1d949d33443bb8ca280de4c8c363ac74 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Update QLocale data to CLDRv23Konstantin Ritt2013-04-011-2/+3
| | | | | | | | Say hello to Interlingua and Mongolian once again. Change-Id: I735fbc5793f34620be1f6932a251224b9ded02e3 Reviewed-by: Denis Dzyubenko <denis@ddenis.info> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* QLocale: Report textDirection() by looking to the locale scriptKonstantin Ritt2013-03-301-0/+42
| | | | | Change-Id: Ic562b0301271ba414d5d3ff75a308d84bd288f56 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* tst_qthread: fix race on "bool visited"David Faure2013-03-291-4/+4
| | | | | Change-Id: I438bad9a4f8afb76272c8d8f08461a6d2c9a0b18 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Update the high-dpi manual test.Morten Johan Sørvig2013-03-299-40/+169
| | | | | | | | | - Organize the test images into different sizes. - Add a button and icon drawing test. - Don't show all tests by default. Change-Id: I95eff846b8c5159085f53b413dea7212c1ea5071 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* QtSql tests: Remove DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0Debao Zhang2013-03-2812-12/+0
| | | | | Change-Id: I93169244b51f8b993f97f7595e0bc7006ae04e3a Reviewed-by: Mark Brand <mabrand@mabrand.nl>
* QtWidgets tests: Remove DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0Debao Zhang2013-03-28111-120/+0
| | | | | Change-Id: I1264784d6984edc70bf07e58ed763e1d1b001d7d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* QtWidgets tests: Replace qFindChild{ren} with QObject::findChild{ren}Debao Zhang2013-03-2728-185/+185
| | | | | Change-Id: I79a26387bcce0d7f79f4f9f70293e97dae52f949 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Test with random qobject instead of widget twiceFrederik Gladhorn2013-03-271-1/+1
| | | | | Change-Id: Ibece0f65dafa7fc59486c5a4c1467c93636b93c1 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Populate includes, defines and pic flags in target interfaces.Stephen Kelly2013-03-275-0/+203
| | | | | | | | | | | | | | | Used by features in CMake 2.8.11. This matches the features in FindQt4 in that version of CMake, namely that the IMPORTED targets contain the appropriate INTERFACE_INCLUDE_DIRECTORIES and INTERFACE_COMPILE_DEFINITIONS and that the qtmain.lib static library is automatically linked to on Windows by executables. Additionally, the INTERFACE_POSITION_INDEPENDENT_CODE property is set appropriately if Qt requires users to use position independent code. Change-Id: Ide341f43fcaf7d722a7bdf1a12b1071c7e548ccc Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* QtWidgets tests: Don't use the deprecated QTest::qWaitForWindowShown()Debao Zhang2013-03-276-8/+8
| | | | | Change-Id: I2dd5a54f9485591ca2dab65f7a352ef453c185e2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* QtWidgets tests: Don't call the empty function QApplication::syncX()Debao Zhang2013-03-277-15/+0
| | | | | Change-Id: I2c732afd43586209cf5a2b72caac53e34abb9090 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* tst_qgraphicseffectsource: Don't use the deprecated QGraphicsItem::children()Debao Zhang2013-03-272-21/+21
| | | | | Change-Id: I0cc0c5284a675fb1c7f960e9790baa89c56112b1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* QtXml tests: Remove DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0Debao Zhang2013-03-275-5/+0
| | | | | Change-Id: Ifb9363fb6d397a91501fc906454e172731d4c06d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* QtGui tests: Remove DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0Debao Zhang2013-03-2775-75/+0
| | | | | Change-Id: I48c83fa0c5eccd86a5242fc8ed51ac6d7623f7f3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* QtConcurrent tests: Remove DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0Debao Zhang2013-03-275-5/+0
| | | | | Change-Id: Ia0c4751b891ae81a66b072bc504b555d81625172 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* QtTest tests: Remove DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0Debao Zhang2013-03-2746-46/+0
| | | | | Change-Id: Id67ab0ea3be47d3b365aa01a354829b8745b7250 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Cocoa: Correct enter/leave event handling.Morten Johan Sørvig2013-03-262-0/+154
| | | | | | | | | | | | | | | | | | Make top-level windows generate enter/leave events for sub-windows. Keep track of the current "under mouse" window in mouseMoved and send EnterLeave events when it changes. mouseEntered/mouseExited handles enters and leaves from the top-level window. Add tests/manual/cocoa/nativewidgets. Task-number: QTBUG-27550 Task-number: QTBUG-29751 Change-Id: If4b9f9e0f39d9fb05fdab45a100ffdcf107965ad Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* QNetworkInterface auto test: do not abort without sessionPeter Hartmann2013-03-261-5/+8
| | | | | | | ... but only if the QNetworkConfiguration manager requires one. Change-Id: I1c69c43438f1df9080d207c8598a42201f759c5b Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* tst_qtreeview: Use QRect::intersected instead of QRect::intersectDebao Zhang2013-03-261-1/+1
| | | | | Change-Id: I4579929473a408b73f3ad9014ea30ce5a602259c Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Remove dependency on QPlatformSupport in fontdatabase testEskil Abrahamsen Blomfeldt2013-03-252-16/+1
| | | | | | | | | | | | | | | | | | | If you include a static library in the test, all symbols will be duplicated, and this can cause nasty crashes because global static data is also duplicated. This happened on Linux because of a global static cache in the font engine where the two instances of it would get out of sync, and we would reference invalid data. To test QPlatformSupport features, a QPlatformSupport test which does not load any platform plugin (or uses its own platform plugin which does not load QPlatformSupport) is needed. For now, I will just revert adding the test, since it is broken and was added as part of supporting Windows CE: f2fabf77f9bc18448aed0e99a6d7d1d6c5c9c736. Change-Id: I6c002d1e0880ee8e031a68eee80e781fe0c62af4 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* QMdi: Don't emit subWindowActivated during StyleChange handling.David Faure2013-03-251-0/+31
| | | | | | | | | | | | | | The handling of StyleChange de-maximizes the child window temporarily, which was emitting subWindowActivated. This would crash lokalize, because deactivating a window means deleting the widgets associated with it, and style-change handling is done in QApplication by looping over QApplication::allWidgets, which would then contain dangling pointers. Full valgrind log at https://bugs.kde.org/show_bug.cgi?id=271494#c7 Change-Id: Ifb24032cde2cd470dcae7cd553ec5ab45a919dd6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Ensure QTemporaryFile can create files when an identical dir exists.Mitch Curtis2013-03-231-0/+35
| | | | | | | | | | | | | | | | | | When QTemporaryFile attempts to create a new file in createFileFromTemplate, it fails if the filename exists and is a directory. Windows returns error code 5 (ERROR_ACCESS_DENIED) in this case - rather than ERROR_FILE_EXISTS - which is not handled. This patch handles ERROR_ACCESS_DENIED in addition to the already handled ERROR_FILE_EXISTS, meaning that QTemporaryFile will continue to look for unique names when a directory with the same name exists. Task-number: QTBUG-30058 Change-Id: I42339887d7f5483e3dc6a03a9da15111c350da8f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Do not update accessibility for invalid interfacesFrederik Gladhorn2013-03-231-0/+18
| | | | | Change-Id: I8dc29ea51393406e529c76f25bf2f8cf426e26cf Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Compile most manual tests with Qt 4.Friedemann Kleint2013-03-2248-45/+236
| | | | | | | | Replace <QtWidgets> includes by class includes, remove tests that do not compile. Change-Id: I52837e8c567dc8ac365c7d43c37beb9a368f6f72 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Only instantiate QAccessibleWidget after trying inherited classesFrederik Gladhorn2013-03-221-40/+96
| | | | | | | | | | | | The plugin should try each class name from the meta object in succession instead of giving up right away and just using QWidget. This improves the handling of the itemviews and makes many sub-classes of QWidget outside of Qt work. Change-Id: Id81017c648fe229c3eb85d6d9ae6696d5f16a1ef Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Merge remote-tracking branch 'gerrit/release' into stableSamuel Rødal2013-03-215-23/+70
|\ | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure mkspecs/features/qt_module_headers.prf mkspecs/features/qt_tool.prf src/angle/angle.pro src/tools/bootstrap/bootstrap.pro tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp Change-Id: Ide5759fe419a50f1c944211a48f7c66f662684e0
| * Skip unstable tst_QSslSocket test case.Samuel Rødal2013-03-201-0/+2
| | | | | | | | | | | | | | | | | | | | The connection to qt-project.org seems to be the one that causes this particular test case to fail. Task-number: QTBUG-29941 Change-Id: Ie5e430646997e86e3acb04132cd90a1773a091da Reviewed-by: Richard J. Moore <rich@kde.org> Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
| * Tests: stabilize tst_QDockWidget on small screensJ-P Nurmi2013-03-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | The test has been recently failing in CI. The problem was easy to reproduce in a virtual machine by resizing the window of the virtual machine small enough. This change makes sure that the requested size hint is significantly smaller than the desktop size, to avoid the window manager stepping in and limiting the window size. Change-Id: Id8ce63b2b88cbed964e0330633c5d2e1dc33598c Reviewed-by: Caroline Chao <caroline.chao@digia.com> (cherry picked from commit 36e6632fa363152e1a0d42e53a0e5ada09092324) Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
| * Attempt to prevent tst_QWidget::scroll() from failing in CI.Samuel Rødal2013-03-201-4/+8
| | | | | | | | | | | | | | | | | | | | Skip the test on X11 where it's consistently failing in CI but not when trying to reproduce locally. Also attempt to make test slightly more robust on other platforms (it's already #ifndef'd for Q_OS_MAC). Task-number: QTBUG-30271 Change-Id: I6743eb99549abbd945e380a3a54ce8620000298a Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| * Fixed artifacts when drawing same line with different clips.Samuel Rødal2013-03-141-11/+47
| | | | | | | | | | | | | | | | | | | | Expanding on the change fixing QTBUG-24762 with the realization that any line needs to be drawn in a consistent way regardless of system or painter clip, not just dashed lines. Task-number: QTBUG-25036 Change-Id: Ief7ef19cc92c52e7d792500a581a072ba032767e Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| * Correct QString's warnings involving QRegularExpression.Mitch Curtis2013-03-121-2/+16
| | | | | | | | | | | | | | | | | | | | Replaces "QRegularExpresssion" with "QRegularExpression" and adds some auto tests for the warning itself. Task-number: QTBUG-30054 Change-Id: Iba333a4388795eccca809fb430c295f503794263 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
| * Revert 6497649730daeab5d3dfac7e806105e99a237656 and clarify docs.Mitch Curtis2013-03-121-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It introduced a regression by requiring that a p/P was also present: QTime time = QTime::currentTime(); qDebug() << time.toString("h:mm:ss a"); // Outputs "10:05:42 am" in Qt 4.8. // Outputs "10:05:42 a" with 6497649730daeab5d3dfac7e806105e99a237656. This patch also clarifies the QTime::toString(QString) documentation. Change-Id: I4d73a959c2ca76304f03a4ce9717b540ad4e8811 Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* | Merge "Merge branch 'dev' into stable" into refs/staging/stableSergio Ahumada2013-03-20385-3695/+12727
|\ \
| * \ Merge branch 'dev' into stableOswald Buddenhagen2013-03-20385-3695/+12727
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This starts Qt 5.1 release cycle Conflicts: src/gui/text/qfontdatabase.cpp src/gui/text/qharfbuzz_copy_p.h src/widgets/kernel/qapplication.cpp src/widgets/kernel/qcoreapplication.cpp Change-Id: I72fbf83ab3c2206aeea1b089428b0fc2a89bd62b
| | * | Fix the font engines leakingKonstantin Ritt2013-03-204-0/+159
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. when there were some engines with ref > 1 in the cache, prior to calling QFontDatabase::{add,remove}ApplicationFont()/removeAllApplicationFonts() (QFontCache::clear() has never decreased engine's cache_count); 2. when the QFontEngineData's engine is not in cache i.e. the Box or Test font engine (~QFontEngineData() didn't free engines it keeps). Instead of using the font engine's (external) "cache_count" counter, QFontCache now references a given font engine every time it is inserted to the cache and dereferences exactly that number of times in clear(). Change-Id: I87677ebd24c1f4a81a53526f2e726e596b043c61 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | * | Support connection to functor with multiple operator()Olivier Goffart2013-03-191-0/+126
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When variadic templates and decltype are supported, detect the best overload of operator() to call. Currently, the code takes the type of the operator(), which requires that the functor only has one, and that it has no template parameter. This feature is required if we want to connect to c++1y generic lambda (N3418) Change-Id: Ifa957da6955ea39ab804b58f320da9f98ff47d63 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
| | * | Fix wildcard signal disconnection in QDBusAbstractInterfaceThiago Macieira2013-03-191-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This has been broken forever, just like generic signal disconnection. It didn't use to show up before because in Qt 4, QObject's destructor would not call disconnectNotify(). Just like in the previous commit, we need to verify whether the signal was disconnected from the last receiver. A wildcard disconnect might be disconnecting only from a specific receiver. Task-number: QTBUG-29498 Change-Id: I0790128ea878fdf3ac563c99d96c6aa7d270e9a3 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
| | * | Make sure that signal disconnects don't disconnect too muchThiago Macieira2013-03-191-0/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There has been a latent bug forever in QtDBus that would make a signal disconnect actually disconnect too much. The reason is that disconnectNotify() is called every time a signal is disconnected from a receiver, but that doesn't mean it was the last connection. This test checks whether disconnecting from voidSignal() to our test receiver will also disconnect from exitLoop(). If it does, we'll get a timeout. I could have implemented it with two receivers, but in the buggy case, it would always fail first in the timeout verification. Change-Id: I5766d8a38594eb25e65b304913251303660fad41 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
| | * | tst_qlockfile: increase delay on Windows.David Faure2013-03-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | OpenProcess + WaitForSingleObject is supposed to fail after the process exits, but this seems to take some time until Windows notices. Change-Id: I942a9b4a458c23fc4ac33b28386e28821128e991 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| | * | Add convenience distance methods to QVector2DLaszlo Papp2013-03-181-9/+120
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I8ecdda35912a95e69c2f8dd98ce9c41c77b222d2 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
| | * | Whitespace cleanup: remove trailing whitespaceAxel Waggershauser2013-03-16171-1484/+1466
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove all trailing whitespace from the following list of files: *.cpp *.h *.conf *.qdoc *.pro *.pri *.mm *.rc *.pl *.qps *.xpm *.txt *README excluding 3rdparty, test-data and auto generated code. Note A): the only non 3rdparty c++-files that still have trailing whitespace after this change are: * src/corelib/codecs/cp949codetbl_p.h * src/corelib/codecs/qjpunicode.cpp * src/corelib/codecs/qbig5codec.cpp * src/corelib/xml/qxmlstream_p.h * src/tools/qdoc/qmlparser/qqmljsgrammar.cpp * src/tools/uic/ui4.cpp * tests/auto/other/qtokenautomaton/tokenizers/* * tests/benchmarks/corelib/tools/qstring/data.cpp * util/lexgen/tokenizer.cpp Note B): in about 30 files some overlapping 'leading tab' and 'TAB character in non-leading whitespace' issues have been fixed to make the sanity bot happy. Plus some general ws-fixes here and there as asked for during review. Change-Id: Ia713113c34d82442d6ce4d93d8b1cf545075d11d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
| | * | tst_qlogging: fix test when QT_MESSAGE_PATTERN is already setDavid Faure2013-03-161-5/+14
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I608ac9920e04eb636c8d2e9cee38c6f0cd189f1f Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>