Commit Graph

1572 Commits (fc7d2f60ffae502bed849695cb58df5686edf2fa)

Author SHA1 Message Date
Richard Moe Gustavsen fd4106e2d1 Cocoa: fix unresponsive dialogs causes application to hang
The reason for this bug seems to be related to how we wait for
more events in the event dispatcher. We use the nextEventMatchingMask
function, which already in Qt4 showed to have problems when telling
it to not dequeue the event. The solution back then was to
tell it to dequeue the event, and instead repost in front again.
Why this was changed in Qt5 is uncertain (other than it being tempting)
but moving the same code back in will solve the bug.

Note that this bug might also stem from the fact that the run loop
sources we add in the event dispatcher fires before the application
is really ready to show modal dialogs. E.g refusing to execute a
modal dialog before NSAppDelegate applicationWillFinishLaunching
is called will also fix the problem. But this code change is to big
atm, and can easily introduce other unforeseen regressions.

Task-number: QTBUG-28283
Change-Id: I07cd109568c2b9c782cf5120a9eb2ac71128cada
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-12-05 17:29:46 +01:00
Tasuku Suzuki 6a98976791 Make qtbase compile with QT_NO_IMAGEFORMATPLUGIN
Change-Id: I1fef96481fa902cfd9de63fa814f70412eee4d15
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: aavit <eirik.aavitsland@digia.com>
2012-12-05 15:30:07 +01:00
Pierre Rossi 3b5537765e QWindowsFontDatabase: provide better fallbackFamilies.
Borrowed some code from QWindowsFontDatabase::createEngine that will
help ensure our fallback options are thorough enough to display say
chinese glyphs when using the QRawFont + QTextLayout combination that
QtWebKit relies on.

Task-number: QTWEBKIT-383
Change-Id: Ie4c1d5ef7d58588afaa436c89a9575ffd646c314
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2012-12-04 20:49:46 +01:00
Andy Shaw f6cc1f3aea Ensure ctrl + click sends a right mouse button press in Cocoa
Since Mac's typically just have one button for their mice then pressing
Control then clicking the button should end it as a right mouse button
event.

Task-number: QTBUG-28350
Change-Id: Iabcac5b315c36cb8cd062c27d7b1506bc066f5bb
Reviewed-by: Liang Qi <liang.qi@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-12-04 15:31:55 +01:00
Oswald Buddenhagen 5ea41a2efa properly syncqt-ize harfbuzz headers
we were already installing them into QtCore/private, so turn them into
proper private headers to start with. this cleans up our project files.

Change-Id: I0795f79e03b60b5854de9e4dc339e9b5a5e6fd87
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-12-04 13:57:55 +01:00
Rafael Roquetto 2dc2f1a28e QNX: Fix plugin compilation
Fix the plugin compilation after cd34da5426
renamed the QWindow API.

Change-Id: I3ec4ce9ae2df9a66f6bf24a18277bc59c05d2e8e
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
2012-12-04 10:28:22 +01:00
Liang Qi edb4e66f5f Mac: fix regression to make dialog resizable
Task-number: QTBUG-28254

Change-Id: I8623a68d589bec17042935ad308f85ddc953540d
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-12-03 22:15:01 +01:00
Shawn Rutledge 5021c1d977 xcb: notify when the logical DPI changes; add Q_MM_PER_INCH constant
Change-Id: I15696bf45ae99cc5b0fd95dab4884fc85cbfc6da
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-12-03 14:29:37 +01:00
Shawn Rutledge 168f32f3f4 Removed temporary backwards-compat properties and accessors in QWindow
Change-Id: I718b877e3b6c0b1191a932d934599d5c2f5aa958
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-12-03 14:29:27 +01:00
Teemu Katajisto 179a480941 Cocoa: create dialogs as NSPanels
NSPanels have builtin support to work with modal sessions.

Task-number: QTBUG-28111

Change-Id: Ifeb6de03129e77aad744b3989931964c375cdbc7
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-12-01 10:31:20 +01:00
Zeno Albisser f1cc2aaea9 Properly release pixel format and context in QCocoaGLContext.
Change-Id: Idd13924dccc8d7798f463484eeb3c3074f7b51f1
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-12-01 08:34:19 +01:00
Morten Johan Sørvig 5e61bbe586 Basic high-dpi "retina" support for Qt 5.
Bring Qt 5 on par with Qt 4, prepare for more comprehensive
support later on.

Introduce device independent pixels (dips), device pixels,
and devicePixelRatio. Add high-dpi support to QPainter,
QGLWidget, the cocoa platform plugin, mac and fusion styles.

Dips are similar to CSS pixels, Apple points and
Android density-independent pixels. Device pixels
are pixels in the backing store/physical pixels on screen.
devicePixelRatio is the ratio between them, which is
1.0 on standard displays and 2.0 on "retina" displays.

New API:
QImage::devicePixelRatio() and setDevicePixelRatio()
QPixmap::devicePixelRatio() and setDevicePixelRatio()
QWindow::devicePixelRatio()
QScreen::devicePixelRatio()
QGuiApplicaiton::devicePixelRatio()

Change-Id: If98c3ca9bfdf0e1bdbcf7574cd5b912c9ff63856
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2012-12-01 08:33:20 +01:00
Shawn Rutledge c8dc41bacd QWidget windows have fullscreen button by default; manual test for it
It's again possible for QWindows and widget windows to go into
fullscreen mode on the Mac.

Change-Id: I7b304a135838394ef0392f89be4f225f2949fad3
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-12-01 08:32:26 +01:00
Morten Johan Sørvig 134f5e0cce Cocoa: Disable accessibility.
The accessibility implementation is unstable and
causes application crashes. Disable until it has
been stabilized.

Change-Id: Ic34361a0ad599c6f92df722499d274fe0655646b
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2012-12-01 08:32:12 +01:00
Teemu Katajisto 5dbcd9dfea Cocoa: fix modal native dialogs with ongoing modal sessions
Commit 26db7de13d introduced the
modal session cleanup for Cocoa print dialog before running the
modal event loop for the dialog. Add the same cleanup for Cocoa
file, font and color dialog helpers.

Task-number: QTBUG-28146

Change-Id: Ifeb7c82566db35f0c6654be7762e9aaffbafb900
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-12-01 08:29:33 +01:00
Rafael Roquetto 1b95d3331c QNX: Move buffer count check to appropriate location
The buffer count check should take place right after buffers are created. For
some reason, the buffer count value inside libscreen may become incosistent during
the course of the program.

Change-Id: Icbbaf4734eac5b0c5c95bdd93771899f9fcdb7db
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
2012-12-01 08:28:25 +01:00
Montel Laurent 5f03e89b74 Fix compile with QT_NO_SHORTCUT
Change-Id: Ib11f2e01fecb0c231211c92e4590cbaddc76246f
Reviewed-by: David Faure <david.faure@kdab.com>
2012-12-01 01:49:46 +01:00
Tasuku Suzuki eed1e548bb make minimalegl plugin compile without QtWidgets
Change-Id: I060ea584dd78e5f389010ab007567aed11793c23
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2012-11-30 18:38:32 +01:00
Richard Moe Gustavsen bb38d1b1d5 Cocoa: update OpenGL viewport when nsview moves
NSOpenGLContext expexts an -update call whenever the
physical position of the view it draws to changes
on screen. Since we don't get geometry callbacks for such
views when the parent view moves, we need to
register a special notification for that case, and
tell Qt that we need to repaint the QWindow that the
view is backing.

This case does not hit very often, but is evident in
MDI applications where the subwindows are OpenGL
backed QGraphicsView widgets. Dragging the subwindows
around produces garbage inside the windows.

Change-Id: I1b162470b03cca6ed722c6c54080459f2c5e91d9
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-11-28 21:09:42 +01:00
Sergio Martins 779ef8bb7e QNX: Fix window focus problems when using QNX 6.5.0.
In blackberry, activation events come through the navigator,
but we might not have a navigator.

Change-Id: I0d9e1a08336aa403035fdf00be46d839a83f4b58
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2012-11-28 16:21:57 +01:00
Oliver Wolff e9a8b026f5 Fix touch event handling for Windows
Filtering touch events depending on Qt::WA_AcceptTouchEvents
is not trivial. I thought about doing so in
QWidgetWindow::handleTouchEvent but the target widget (not
window), which has to be checked, has to be obtained using
the primary touch event's position etc.
Thus that is not part of this commit and will be done in a
followup.

Change-Id: I876ee72acd7fdfbe46da61c6eb3c5891ea319cd8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-11-27 16:18:19 +01:00
Samuel Rødal 7a7102ad07 Fixed abbreviations in QWindow::framePos() and QWindow::setFramePos().
As 672e7c875e did changing pos() to
position() and setPos() to setPosition().

Luckily there's not much code that uses these.

Change-Id: I1e1982f00412a22bd376e667a5e8c30b6149f9b5
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-11-27 15:24:31 +01:00
Liang Qi 99ff142fcf Mac: Fix wheel event handling on 10.6
Change "else" case to support compiling on 10.7+
and deploying on 10.6

Task-number: QTBUG-28060
Change-Id: Iaaeaaefe98083863ed750c7cb320db02e16543af
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-11-27 07:46:01 +01:00
Sergio Ahumada c80b33a62f Change license header from Nokia to Digia
Change-Id: I2be215284d7670f60f8b5838fce1e6832dde2270
Reviewed-by: Martin Smith <martin.smith@digia.com>
2012-11-26 17:33:37 +01:00
Samuel Rødal 9a90c2232f Fixed excessive enter/leave events being generated with the xcb plugin.
When we get a leave event we peek ahead in the queue to see if there's
an enter event already pending. If so we use
QWindowSystemInterface::handleEnterLeave() instead of two separate
window system interface events, so that you don't get leave and enter
events for the whole parent chain when moving the mouse cursor between
two neighbouring native child widgets.

We skip VIRTUAL events as they are generated for parent windows, and we
only care about the bottom-most window that is being entered / left. Qt
can take care of the rest since it knows the QWindow hierarchy.

We need to not skip leave events with detail set to INFERIOR, since Qt
expects to get a handleEnterLeave() when the mouse moves from a parent
window to a child window.

Task-number: QTBUG-27550
Change-Id: I7457d2e59d8b694081f2e43a16cd2e58d769624e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-11-23 17:04:00 +01:00
Gabriel de Dietrich 601d99d062 Cocoa: Make sure non windowed QCocoaWindows hide their content views
Change-Id: I92b8600c513ba033c459b6911ca62fc31698dc4a
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-11-23 17:04:00 +01:00
Gabriel de Dietrich 8a091a848b Cocoa: Make sure child windows' QNSView is properly released
Child QCocoaWindows don't have an assigned NSWindow, but still get a
QNSView as backing store. That QNSView is added as a subview to
the parent window's QNSView. That would leave an unmanaged QNSView
alive.

Change-Id: I10f57fb971f7aa1e278bb0af4217052d1e4bb0bc
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2012-11-23 17:04:00 +01:00
Richard Moe Gustavsen 4bddcf9c41 Cocoa: QGLWidget draws wrong within QMainWindow on Mac OS
The resons for this bug is that Qt can share the same backingstore
between several windows (if they exist in the same hierarchy), but
this was just not supported by the Cocoa plugin.

This patch will make sure that we pay attention to which window
the QCocoaBackingStore is told to flush, and forward this information
to the QNSView that backs it up. Inside the views drawRect
function we then take some extra steps to get the correct sub-part
of the possibly shared backingstore image.

This patch also does some effort to ensure that we recreate the
backingstore image as little as possible, as we can often get
several resizes to the backingstore before we actually draw anything.
Moreover, by being a bit careful on how we tell UiKit to update
the view upon a flush, we can minimize the number of drawRect calls
(and then CGImageRef creations) we need to do. This patch actually
ends up improving resize/repaint performance a lot as well.

QT-BUG: 27390
Change-Id: I2c2a26b149fa855411b6bff8b9cc9a61694ae72f
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2012-11-23 17:04:00 +01:00
Zeno Albisser 92724e533d Add nsOpenGLContextForContext to QCocoaNativeInterface.
This change enables receiving the native NSOpenGLContext that is used
by a QOpenGLContext. This clearly is non-public api that is only meant to
be used as a last resort for cases where it is really necessary to
get hold of a native context object.

Change-Id: Iea7c6abb458acc7aa15926052673270d25d1d9d1
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-11-23 17:04:00 +01:00
Thomas Senyk b1e9d4c097 xcb plugin: Move the include XInput2.h statements
If the include of egl.h does nasty things with X11-defines
(this happens with the imx6 gpu-drivers) errors are avoided if
the include of XInput2.h is next to the other X-includes,
and not after include of egl.h

Change-Id: I182d0e1fcf3fa3e6abce880d34e63cc1d2ce8ed4
Reviewed-by: Laszlo Agocs <lagocs83@gmail.com>
2012-11-23 15:04:06 +01:00
Gabriel de Dietrich d6cfd2c522 Cocoa: Fix disabled colors in palette
Change-Id: I1e6cf2a860f611e08ae2720c2e4eed65a85dbe9c
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-11-23 10:08:10 +01:00
Morten Johan Sørvig dc2fd227ab Add WindowFullscreenButtonHint.
Adds the fullscreen button on Mac OS X. Has no effect
on other platforms. Regarding the name I dropped the
"Mac" prefix (like MacWindowToolBarButtonHint). Other
platforms can use and we don't want to accumulate "Mac"
API's.

Change logic in QCocoaWindow check for this flag instead
of using WindowsMaximizebutton.

Change-Id: I9f2db75e8e71b3da36777c7e48852eda3ce9d534
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2012-11-23 00:47:48 +01:00
Frederik Gladhorn a7647939f1 Accessibility Mac: Return textArea as role for multi line text.
Change-Id: I88eb4746463b7372c2dfe089ba74ea4cb0098396
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2012-11-23 00:47:48 +01:00
Frederik Gladhorn 1dff3d1d83 Accessibility: set multiline state for text edits.
Change-Id: I22d3baac8fc57db0c89d8543019a93263b2023ca
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2012-11-23 00:47:48 +01:00
Gatis Paeglis c8c1604e88 Fix drops from external sources.
Task-number: QTBUG-26832

Change-Id: Ia1ccce391178e73d26a4f09955bce6c37616384f
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-22 22:57:51 +01:00
Weng Xuetian dccd784edf Pass extended key event infomation in xcb platform.
Bare QKeyEvent missing some useful info for input method.
Use new construct of QKeyEvent to create extended QKeyEvent

Change-Id: I8c89e80e7329b92e3e04d5fe52d07c6f6f9e006f
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-22 22:56:50 +01:00
Gabriel de Dietrich 127c30cbef Cocoa: Properly set QNSView's geometry when it's a subview
Task-number: QTBUG-26960
Change-Id: Ib8ca76572c868305f378d22c21d13511b4999244
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2012-11-22 17:42:32 +01:00
Mitch Curtis 3249439b20 Remove warnings from qtbase.
geometryengine.cpp: In member function 'void
GeometryEngine::drawCubeGeometry(QGLShaderProgram*)':
geometryengine.cpp:159:93:  warning: cast to pointer from integer of
different sie [-Wint-to-pointer-cast] geometryengine.cpp:167:95:
warning: cast to pointer f rom integer ofdifferent size
[-Wint-to-pointer-cast]
benchmarking.cpp: In member function 'void TestBenchmark::multiple()':
benchmarking.cpp:85:9: warning: variable 'result' set but not used
[-Wunused-but-set-variable]
benchmarking.cpp: In member function 'void TestBenchmark::series()':
benchmarking.cpp:120:9: warning: variable 'result' set but not used
[-Wunused-but-set-variable]
qstandarditemmodel.cpp:2717:45: warning: unused variable 'd'
[-Wunused-variable]
qxcbconnection.cpp: In member function 'xcb_timestamp_t
QXcbConnection::getTimestamp()': qxcbconnection.cpp:930:40: warning:
suggest  parentheses around assignment used as truth value
[-Wparentheses]
tst_qguiapplication.cpp: In constructor
'BlockableWindow::BlockableWindow()':  tst_qguiapplication.cpp:340:9:
warning:'BlockableWindow::enters' will be initialized after [-Wreorder]
tst_qguia pplication.cpp:339:9: warning 'int BlockableWindow::leaves'
[-Wreorder] tst_qguiapplication.cpp:342:12:  waring: when initialized
here [-Wreorder]
tst_qsqltablemodel.cpp:570:10: warning: unused parameter 'value'
[-Wunused-parameter]
tst_qabstractitemview.cpp:1546:8: warning: unused parameter 'index'
[-Wunused-parameter]

Change-Id: I49c88547182e4669cfde2c2536403fc5573ca2da
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-11-21 18:23:59 +01:00
Frederik Gladhorn 4223519868 Accessibility: unhide text() function in TextWidget subclasses.
Change-Id: Ib5a64ff8de175d1ffc6e4357ec9ec45c4c2f2917
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2012-11-21 16:36:50 +01:00
Sergio Martins d429d65628 QNX: Fix crash due to re-entering QToolTip::show().
The flushWindowSystemEvents() was added to send the geometry
event synchronously. A side effect was that all input events were
also sent.

We don't want that. We're probably in setGeometry() because some
other input event brought us here, and it's still in the call
stack.

One crashy example is the static method QToolTip::show() which
uses static variables([1]). If we process input events while the
first QToolTip::show() is still on the call stack, it will trigger
a second one, deleting stuff ([1]) that the first invocation will
still need once the stack unwinds.

Change-Id: Iea22419a7f386d6b6231404666092340dfd1afed
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
2012-11-21 14:02:16 +01:00
John Layt d48d83a1ac SIC QPrintSupport: Remove unused PPK_SuppressSystemPrintStatus
Print Engine key PPK_SuppressSystemPrintStatus was added in Qt4.1
for Cocoa dialog to suppress the progress dialog.  In Qt5 all cocoa
code has been removed and this key is now unused.

Change-Id: I3a91e9651e16f81611a9a736163f76acf9f20096
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-11-21 11:03:48 +01:00
Oswald Buddenhagen b4479cc409 exclude 3rdparty from lupdate
Change-Id: I00c569787943a87dda60786b179af1f55a94ea68
Reviewed-by: hjk <qthjk@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-20 14:13:07 +01:00
Morten Johan Sørvig a890c78980 Use setImage workaround on all OS X versions.
The painting bug that we are working around/fixing
here has been observed on 10.7 as well.

Change-Id: Ic29421bcc84405afa085af2f0ed2bc554c684f98
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Teemu Katajisto <teemu.katajisto@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-11-20 08:49:19 +01:00
Friedemann Kleint 433e7cef1e QSystemTrayIcon/X11: Use display obtained as native screen resource.
Previously, the screen name was used, which contained the
display name. This was changed to return the xrandr-name.

Task-number: QTBUG-5416
Change-Id: I560143d6d459a8051c9640079cf7d39a3caebfec
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-11-19 17:12:58 +01:00
Morten Johan Sorvig cfa0f3bd56 Compile with -no-widgets.
Remove QApplication usage in qcocoasystemtrayicon.mm

Move qt_mac_cg_context from qpaintengine_mac.mm to
qcocoahelpers.mm to make it available in no-widgets
builds.

(Move qt_mac_colorSpaceForDeviceType as well; color
space support needs to be cleaned up later on.)

Change-Id: I724fdb09538d65eae56c26165f3ba53b6814ea78
Reviewed-by: Liang Qi <liang.qi@digia.com>
2012-11-19 08:30:05 +01:00
Frederik Gladhorn 581d3adb2b Accessibility Mac: Implement value interface
Change-Id: Iea6e3c69b220d35bddb1798ff991f8e67e1749e3
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-11-15 16:04:12 +01:00
Morten Johan Sorvig 65866bcff5 Implement EditableText accessibility for Mac.
Change-Id: Ibe03975bafc5a6a420b3bd69dfaa93dbf65c9958
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2012-11-15 16:03:57 +01:00
Miikka Heikkinen 9ae2159251 Fix QApplication::primaryScreen() in Windows
QPlatformInterface::screenAdded() documentation specifies that first
added screen will be the primary screen, so we need to ensure that
the screen Windows reports as the main display gets added first.

Task-number: QTBUG-27988
Change-Id: Ibc17b05a6c37007ff749fb54ab62d47ffa40f8ac
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-11-15 13:55:00 +01:00
Oliver Wolff 46fe591a53 Windows: Fixed mouse events related to size grips
The code which was adapted from Qt4 seems not to work as expected on
current Windows versions. There are no additional mouse move events
after releasing the mouse button from the size grip.

One special behaviour in regards to SizeGrips here seems to be that
there is no WM_LBUTTONUP message but a WM_MOUSEMOVE received when
the mouse button is released from the size grip. Due to mouse event
handling in the Windows plugin that event triggers the desired mouse
release event so everything should be fine.

With the previous implementation the behaviour from the bug report
can be explained by the fact, that the mouseMove event is eaten in
qwindowsmousehandler and so the second mouse click isn't even
delivered. Basically the first click triggers the press event without
a release and the second click does not trigger a press but a release
event.

Task-number: QTBUG-27864

Change-Id: I987c6e01dec4a6b6189ed30959daf7a2fcc17df6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
2012-11-15 13:55:00 +01:00
Miikka Heikkinen b8be2e67ea Change to enter/leave policy while grabbing.
Sending enter and leave events to other windows than the grabbing
window is not logical. The policy should be that only the grabbing
window receives enter and leave events.

Changed the documentation accordingly and provided the necessary
changes to Windows implementation.

Also removed explicit leave event generation for widgets when
popup is opened as that is now redundant.

tst_QWidget::underMouse() test was changed to behave according to
new logic.

Task-number: QTBUG-27871
Change-Id: I127fb8685b4a4206d1a319f42cba491ec02bc8ca
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-11-15 11:59:34 +01:00