KDE4: evaluate frameWidth in the Qt thread

When opening a document via Java UNO without a running LO instance, one
gets the following Qt error messages:

CE>  QObject: Cannot create children for a parent that is in a different thread.
CE>  (Parent is Oxygen::WidgetStateEngine(0x8deb878), parent's thread is QThread(0x8d6cf70), current thread is QThread(0xa8fa7fc8)
CE>  QObject::installEventFilter(): Cannot filter events for objects in a different thread.
CE>  QObject::installEventFilter(): Cannot filter events for objects in a different thread.
CE>  QObject::installEventFilter(): Cannot filter events for objects in a different thread.

This happens, because the Java UNO call is processed in the first /
Qt thread while document loading happens in a second thread.

Document loading actually just calls getNativeControlRegion, which
should not involve any drawing. But the KDE4 backend does some style
processing to get the correct frame width (QWidget::ensurePolished(),
which uses GUI based events and need to be processed in the Qt
thread.

Change-Id: I344d5089d958963c48a9a8a84bfa9fe8f092b75a
(cherry picked from commit 7163d64b90ac4d4259b1d0379cfca348dd30601c)
KDE4: Report correct check and radio item sizes

Use the correct sizs from the current style.

Change-Id: I7e163bdc8d467baf2d6e3d0d2bc3e1da7558cf42
(cherry picked from commit ab1f5eab4830f00dbbd7c883b98b59975ecd3bb1)
Revert "KDE4: sleep in yield for native file picker"

This reverts commit 380f3b4b6cbbe8e82b58ddf55e95c5005307b51f.

Conflicts:

	vcl/unx/kde4/KDEXLib.cxx
	vcl/unx/kde4/KDEXLib.hxx

Change-Id: I8a201c89be63cebab7401124002261be23e049c7
(cherry picked from commit 52a2bde753fdf62cd8bb8498ef92abcce86e6c12)
Revert "Rewrite Qt4 based nested yield mutex locking."

This reverts the unx/kde4/KDEXLib.cxx part of

commit 13a34f4c6307d1bd2443cbf3fbd83bfdd8cdbafb.

Conflicts:

	vcl/unx/kde4/KDE4FilePicker.cxx
	vcl/unx/kde4/KDEXLib.cxx

Change-Id: Ica8a0f678f080ae7d763bb7da7761d20ceec328c
(cherry picked from commit daf011870efae282244c0298494820d9a0c6d3bc)
KDE4: Drop Qt 4.9 support

I don't think there will ever be any 4.9 release, so drop all the
unused code.

Change-Id: I4b72de96e6064240582cd83d4e45547096a2efb0
(cherry picked from commit 7dd973344a8e2c09ac52aa02739b6b921f6df87e)
KDE4: change eventLoopType enum to glib bool

Just check for glib; it's the default in later Qt4 versions on unix.

Change-Id: Ia99466e9010eb835bea0c3c4420da3c8b3cd4671
(cherry picked from commit 516a8dedac9c3cb77cd26a740cf793b1cab920d0)
KDE4: add Qt4 glib ExcludeSocket runtime check

Add a runtime check and configure warning to disable KDE4 native
file pickers, if the Qt4 glib dispatcher doesn't honor the
QEventLoop::ExcludeSocketNotifiers flag.

This way polling the QClipboard using the event loop won't
crash LibreOffice with recursive paint events,

See https://bugreports.qt-project.org/browse/QTBUG-37380

Change-Id: I5cad30ead74571e49a075c084cca7a19acff7523
(cherry picked from commit cc8d566d74a2e0b969b92d9cf22cc95a3bf31a98)
Revert "fdo#67011: Run Display::Yield through KDEXLib::Yield."

This reverts commit 95f60222e75486336b6569afa8f34d60b51c94ad.
(cherry picked from commit 69e7f4491ec78384c46653d3cd8870c97cc9218a)
fdo#67011 KDE4: prevent blocking in Display::Yield

SalX11Display registers a Yield handler, which splits check and
and processing into two functions, which both lock the yield mutex.

Normally this no problem, but during a Drag'n'Drop operation the
D'n'D thread also checks and processes XEvents (for D'n'D). So the
XNextEvent in Display::Yield will actually block, if the seen XEvent
was for D'n'D and was already processed.

(cherry picked from commit 6c7374f071d998f726cd4a5b67baf54e357d096b)

Change-Id: I9f8d96d4f9986997cbe150a2b66bc767b4bbc2f1