Commit Graph

11857 Commits

Author SHA1 Message Date
Samuel Rødal
678320788e Skip unstable tst_QSslSocket test case.
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>
2013-03-20 16:11:40 +01:00
Gabriel de Dietrich
613cef516c qtbase: Fix duplicate symbol errors in static build on Mac
There is some code duplication between QMacStyle anf the Cocoa QPA
plugin regarding painting and bridging with Cocoa.

Task-number: QTBUG-29725
Change-Id: I347407a9bca47b6fccd77fb924688bd35135d96b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
(cherry picked from commit 5f948eb62d)
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2013-03-20 15:47:31 +01:00
Friedemann Kleint
426f2ccafc Windows native file dialogs: Split suffix list correctly.
Task-number: QTBUG-30185

Change-Id: I9a3d16eafb5417d6720a702af662fb219487549d
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-03-20 13:12:12 +01:00
J-P Nurmi
5fd509c4d7 Tests: stabilize tst_QDockWidget on small screens
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 36e6632fa3)
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2013-03-20 09:58:06 +01:00
Samuel Rødal
677313fc0b Attempt to prevent tst_QWidget::scroll() from failing in CI.
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>
2013-03-20 09:58:03 +01:00
Mitch Curtis
f523883c2f Make QVariant docs refer to QMetaType::Type.
Task-number: QTBUG-30014

Change-Id: Ie4c0df92345bcb79ef44fb6f345cba9fc934d32f
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2013-03-19 10:58:20 +01:00
Jan Arve Saether
d76b0d9c6f Don't call updateAccessibility from graphicsview
Graphics items are not accessible anyway, so it doesn't
make much sense.

Task-number: QTBUG-30169

Change-Id: Id10b0897bce88d9b91db84609a09495aac41b0b4
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-03-15 21:30:29 +01:00
Oswald Buddenhagen
0189cd123d add/unify progress messages to/from the configures
it's weird that the output from the two variants is differing, and that
after building qmake it appears to hang.

Change-Id: I2ac3ace11e958effe787b13e1300eb1d2839ae98
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-03-15 21:30:26 +01:00
Oswald Buddenhagen
1b69786a3f fix all "qt style yes options" which start with -l
7de9d3709 broke them, because suddenly every -l* switch was parsed as a
library. fix this by re-arranging how the options are parsed.
this obsoletes d7ab351cdd as well, by being more generic.

fwiw, this syntax is stupid to start with, because all unknown -l*
options are implicitly libraries and create confusing configure
failures. emulating the compiler/linker command lines isn't such a great
idea ...

Task-number: QTBUG-29174
Change-Id: I11bac7a6f458664dff8cbe57ed9cd33a08d5e9ec
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-03-15 21:30:23 +01:00
Oswald Buddenhagen
ec145129c3 fix setup of output directory for subprojects in IDE generator backends
unlike before, the output dir is now important already during the project
evaluation phase, as finding .qmake.conf depends on it if .qmake.cache is
also present.

ChangeLog: fixed qmake -tp vc (and configure without -no-vcproj)
Change-Id: Ifdb95f3b38a70c0d08e71238059292e761dcfa53
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2013-03-15 18:06:31 +01:00
Oswald Buddenhagen
79a144d746 allow passing values with spaces to -device-option
note that the value is written verbatim to the qmake file, so additional
quoting may be required on the command line.

Task-number: QTBUG-30102
Change-Id: I02ca9a44fae82b6932982e6385508b8a304cc1e7
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-03-15 18:04:34 +01:00
Oswald Buddenhagen
b6f8557af8 fix LD_LIBRARY_PATH setup of check targets
amends 4c34b418

Change-Id: Id9d214fe936d947aaea4a56fd724ad50381032e1
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-03-15 18:04:23 +01:00
Oswald Buddenhagen
1b00363b2f fix replacement base path
this affects only webkit when doing module-by-module installation, so it
went unnoticed.

Change-Id: Iab87f4a76fcb0fa9a1b1d6bcab9a73756e416120
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-03-15 18:03:27 +01:00
Oswald Buddenhagen
a5d09b9036 enumerate modules in QT_MODULES, not QT_CONFIG
QT_CONFIG is supposed to contain configure output, not a list of
modules. for example, enumerating modules is not cleanly possible if
modules are mixed with other flags.

the conflation was merely historical, due to webkit and phonon doing
it this way in the preliminary qt4 modularization.

we now have a much cleaner way to query modules (qtHaveModule(<module>),
or less recently, !isEmpty(QT.<module>.name)), which is already used
throughout Qt.

the old way was supposed to be removed for 5.0 already, but it slipped.
better do it now, before people actually start using it.

Change-Id: Iabdf0cdfaab9cd674f634f4c6ece105b2039c850
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-03-15 18:02:18 +01:00
Oswald Buddenhagen
bb793f8b50 broaden the effect of CONFIG+=force_independent somewhat
modules which demand it (i.e., qtwebkit) need forwarding pris, etc.,
even when not making a -prefix build.

Change-Id: Id405be8763e94cc074854f799bd785e9cdf62e8e
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2013-03-15 18:02:09 +01:00
Oswald Buddenhagen
457afb3749 fix parallelized "jom install"
unlike unix' mkdir -p, windows' md complains if the directory already
exists. the workaround is a quite complex command, so the so far used
concept for assembling the command line from pieces was replaced with a
single template. for symmetry, adapt the makefile existence check to the
new concept as well.

QMAKE_CHK_EXISTS and QMAKE_MKDIR_CMD were added, with hard-coded
fallbacks (ugly).
QMAKE_CHK_FILE_EXISTS and QMAKE_CHK_EXISTS_GLUE (introduced in 5.0.0)
are simply deleted again.
QMAKE_CHK_DIR_EXISTS and QMAKE_MKDIR remain for legacy reasons, as qmake
emits them into the Makefiles, and custom commands may rely on their
presence.

Task-number: QTBUG-28132
Change-Id: I3d049cb5d26947e5c3d102d0c2da33afb2a95140
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-03-15 18:01:57 +01:00
Mitch Curtis
40236c35a6 Fixed crash when VNCing and trying to use non-present XFixes extension.
Task-number: QTBUG-29978
Change-Id: I1a6759bafaac7a1d2b598412f0d32077a42192a4
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-03-15 10:45:11 +01:00
Mitch Curtis
958b621ba2 Correct QDate and QTime documentation.
Task-number: QTBUG-30055

Change-Id: I94c8e023f5e3d23ff2f1c74d0763b1c825deb3d1
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-03-14 16:17:22 +01:00
Samuel Rødal
c7191d3e21 Fixed artifacts when drawing same line with different clips.
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>
2013-03-14 12:37:20 +01:00
Oswald Buddenhagen
97be79012c clean paths of found files in prepareProject()
any of the directories may be the root, which would lead to double slashes
in the constructed filenames.

Change-Id: I053e167a19b795b40e780fc29db356c7f24d286a
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-03-12 18:55:53 +01:00
Oswald Buddenhagen
dd06f991af actually use the temp variable we just assigned ...
Change-Id: I535a4bfc268a07d6b1813e47cdae862e5e459efc
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-03-12 18:54:59 +01:00
Oswald Buddenhagen
64d03e1c34 do not append a trailing slash to output directory
it's entirely counterproductive and confuses the subsequent code.

Change-Id: Iadcfd2af80acd2d7ed50807b3e001e26d83075a5
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-03-12 14:08:27 +01:00
Mitch Curtis
c1771a78ed Correct QString's warnings involving QRegularExpression.
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>
2013-03-12 11:43:01 +01:00
Mitch Curtis
6bc691dde5 Revert 6497649730 and clarify docs.
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 6497649730.

This patch also clarifies the QTime::toString(QString) documentation.

Change-Id: I4d73a959c2ca76304f03a4ce9717b540ad4e8811
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2013-03-12 11:43:01 +01:00
Kai Koehne
124da59cb4 Fix static builds with ICU
Make sure we actually link against the static version of the ICU libs for
static builds.

Task-number: QTBUG-29478

Change-Id: Ida7b439f11c5393bee43bfe804f9ec84bf272b34
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-03-12 09:07:38 +01:00
Samuel Rødal
a12f6ba302 Fixed dashes being rendered differently depending on system clip.
We need to clip lines to the unclipped device rect in the case of
dashing, since otherwise the dashes will be shifted and rendered
differently when partial repaints are done.

Task-number: QTBUG-24762
Change-Id: I3599b54baa552acc20bf8cc2e12f846b45f6019e
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-03-07 02:54:08 +01:00
Samuel Rødal
7128bcbbd5 Attempt to stabilize tst_qgl::graphicsViewClipping().
Make sure the graphics view is exposed and has been painted before
trying to grab the framebuffer.

Task-number: QTBUG-29943
Change-Id: I2945cb78b58265864744a0d5fc99fb430306b578
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-03-07 00:45:04 +01:00
Mitch Curtis
a8c6708260 Correct QLocale(const QString &) documentation.
Change-Id: I6430ff2636083204fa12437980626260f848e269
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-03-07 00:44:21 +01:00
Oswald Buddenhagen
3f5633bc25 remove some cryptic code relating to output directories
the purpose of it is truly elusive - the output directory is maintained
by the surrounding code anyway.

Change-Id: Id1a481d85a7b83ab0676ef650c900414d0ba83b3
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-03-07 00:42:56 +01:00
Gabriel de Dietrich
083c8ce840 Cocoa: Pick right rectangle when rendering window mask
Ususally, the object setting the mask knows better than the window,
since the latter may not have had its size set by then.

Task-number: QTBUG-29856
Change-Id: Ib24d452a98a76b57f5d9236d5fa1ba4755cf0840
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-03-06 20:07:41 +01:00
Gabriel de Dietrich
544f1cbe27 Cocoa: Fix shadowless popups
The window shadow was never invalidated after setting the transparency
mask. We now do it right after the first draw after setting the mask.

Change-Id: Icc5c6002d25abeb25d58ee4d1f868e928121ae9b
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-03-06 20:07:41 +01:00
Mitch Curtis
5a83785567 Correct sentence in QNetworkProxy::setApplicationProxy() documentation.
Change-Id: I46fa7f814901cbe6a1f8f003f461bf1eee6f8bde
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Jonas Gastal <jgastal@gmail.com>
2013-03-06 18:01:13 +01:00
Oswald Buddenhagen
b4d3047422 require modules to define their version
otherwise they would inherit it from qtbase, which may effectively
result in a lie if building against a different release.

for convenience we define the version centrally per repo.
qtbase is special, in that we use the version defined in qglobal.h to
avoid defining it redundantly (the instance in qglobal.h is currently
needed to bootstrap qmake; the configures would need some work to change
this).

Task-number: QTBUG-29838
Change-Id: Ie9a5b0ff0d64b69ff2d34af2f7c42d6278e957cc
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-03-06 18:01:13 +01:00
Samuel Rødal
711773776e Fixed potential access violation in QPixmap::copy() for <32 bit pixmaps.
QImage is supposed to maintain the invariant that each scan-line begins
on a 4-byte boundary, so we need to verify that this is the case before
using the optimized path of short-cutting QImage::copy() by referencing
the source image's bits directly.

Task-number: QTBUG-14766
Change-Id: I0a178aeb2f34cc64f98deae9470b55b5c53fcb06
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-03-06 15:00:35 +01:00
Morten Johan Sørvig
7ee4ab1463 Cocoa: Improve expose event handling.
Send expose events on window and view show/hide
notifications. Implement QCocoaWindow::isExposed.

Close all windows on quit. This allows sending (de-)expose
events for those windows while the event loop is running.

Remove the flushWindowSystemEvents call in setVisible.
This function is called from application code. Flushing
window system events here is wrong since it can lead
to events being processed in the middle of the user
code call stack. flushWindowSystemEvents should only
be called as a result of (native) window system activity.

Skip one of the tst_qtooltip tests which becomes unstable/
fails in the CI system as a result of this change.

Task-number: QTBUG-29583
Change-Id: I3fb8b3f77e2b2e19dfeafba5d7dfcef602891d37
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-03-06 11:43:22 +01:00
Mitch Curtis
a65982d659 Add snippet for QT_VERSION_CHECK.
Change-Id: I048771f21ce694329a7e9acd4dbfbebfec964b05
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-27 12:02:34 +01:00
Andy Shaw
4a6a066df2 Fix generation of XCode projects for XCode 4.6
When a framework is referenced in the XCode project then it is known as
a framework by the lastKnownFileType and not the reference type. This
ensures it works in both XCode 3 and XCode 4.

Task-number: QTBUG-29371
Change-Id: I434246a46d6c5bfd50ba7de1a7c710c0caf0bc0a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 12:01:28 +01:00
Mitch Curtis
6269c9a414 Fix some punctuation errors.
Change-Id: I6aa2ad2b506466fbef6a22380d151988930807c9
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-02-27 12:00:46 +01:00
Friedemann Kleint
2bab4a6552 Fix Qt Designer warning about being unable to handle property.
Qt Designer warns:

"The property "document" of type 1053 (user type)  is not supported yet!"

when loading forms containing a QTextEdit.

Introduced by 468c22f673 .

Change-Id: Ia1b7bdc9f7188e0b092c010056fcd12c9e891fd7
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2013-02-26 10:47:45 +01:00
Venugopal Shivashankar
f28b6f8453 Doc: Added the missing example snippets
The snippet files referred were outside the scope exampledirs for
QtCore. I made of a copy of those files in the snippets folder to
fix this issue.

Task-number: QTBUG-29755
Change-Id: I2f765104394071d035e9cee610945ae290033deb
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Nico Vertriest <nico.vertriest@digia.com>
2013-02-26 10:45:59 +01:00
Eskil Abrahamsen Blomfeldt
a00e74914c Remove extra $ in default libexec directory
Produces qt_lbexpath=$PREFIX/29677QT_INSTALL_LIBEXECS_DIRNAME
in qconfig.cpp

Change-Id: Ie6f208d759a748dfcd4f1547943a1dfb4b7aedd5
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-02-25 07:25:06 +01:00
Frederik Gladhorn
395f00ae18 Remove debug output that can cause crashes in static builds.
Currently static builds ignore the accessibility plugins.
The debug output would also potentially crash for
other events when they could not create interfaces.

Task-number: QTBUG-28707
Change-Id: I5ae20cac89bd7f4a74add2b80834f4e9d4fa438c
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2013-02-25 07:25:06 +01:00
Stephen Kelly
d7ae34fdfd List the Release library before the Debug library in cmake files.
This way, the Release library is chosen if Qt is configured to
build both debug and release, and if the consumer configuration
is not an exact match for 'Debug'.

This means that RelWithDebInfo and MinSizeRel, which are 'standard'
configurations in CMake with mulit-configuration generators, will use
the Release version of Qt. All other configurations will also use the
Release version, unless MAP_IMPORTED_CONFIG_<CONFIG> is used as
described in:

 http://doc-snapshot.qt-project.org/5.0/qtdoc/cmake-manual.html

and in the cmake documentation:

 http://www.cmake.org/cmake/help/v2.8.10/cmake.html#prop_tgt:MAP_IMPORTED_CONFIG_CONFIG

Task-number: QTBUG-29186
Change-Id: Ifc11a9e19fcb304297c204e34a3b25c510329767
Reviewed-by: Brad King <brad.king@kitware.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-02-22 08:27:01 +01:00
Stephen Kelly
7661e39c02 Create module-specific internal cmake macros
This ensures that invoking the macro from a different module (operating
on a different target) is not possible.

Change-Id: Idbcd41d03172a8f1dcea26954464ab981fce8879
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-02-21 22:41:14 +01:00
Stephen Kelly
7477d50fce Populate the cmake variables only one time.
Since we're only including the Extras file one time, invoking set() for
the include dirs again will overwrite the addition of include dirs in
the extras file.

We only need to populate these variables if not set anyway, so do that.

Change-Id: I04dad0674778e79c8c12c18231b8ce6c92edf881
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-02-21 22:41:05 +01:00
Cyril Oblikov
057fabab7c Hiding scrollbar on MacOSX 10.7 if policy is set to ScrollBarAlwaysOff
On Mac OS X 10.7 (if System Preferences -> General -> Show scroll bar is
"When scrolling") scroll bar was shown even if policy was set to
ScrollBarAlwaysOff.

This is a regression from 5.0.0.

Change-Id: I161b350874c085a1397df7b398af8f3fb0fbeacf
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-02-21 17:44:27 +01:00
Olivier Goffart
b05f19f232 moc: Fix infinite recursion in macro substitution
When performing macro argument substitution, one should keep the set of
macro to exclude, else we can enter an infinite recursion.

Testcase:
 #define M1(A) A
 #define M2 M1(M2)

Task-number: QTBUG-29759
Change-Id: I564bbfed65e1c8599592eaf12c6d67285d2fd9ce
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2013-02-21 16:55:41 +01:00
Thiago Macieira
ec166aaa70 Add qcore_mac_p.h to the list of headers.
Change-Id: I3a8db99166a34c15c19b142a05bf81ababb2eeb8
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-21 08:18:47 +01:00
Albert Astals Cid
70f6652ebd Forward the 3rd parameter of dataChanged
Change-Id: I94f893bf65cd150c3cb1099c91cb13882bcca79a
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-02-21 00:58:32 +01:00
Albert Astals Cid
20dbad1bbf Emit which role actually changed
Change-Id: I596a81628e5553779986a94769e114d89a44b264
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-02-21 00:58:25 +01:00