| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/corelib/io/qdatastream.cpp
src/corelib/io/qdatastream.h
src/corelib/json/qjsonwriter.cpp
src/plugins/platforms/cocoa/qcocoawindow.mm
src/plugins/platforms/xcb/qxcbkeyboard.cpp
Change-Id: I46fef1455f5a9f2ce1ec394a3c65881093c51b62
|
| |
| |
| |
| |
| |
| |
| |
| | |
Also implements the Cocoa backend for that.
Change-Id: I32977e12a04e1cf48b12333442482746c69ce133
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Instead of waiting for -drawRect to call -setView on the
NSOpenGLContext, we go ahead and attempt to set the context as soon as
possible. If it is indeed required that we call -drawRect first then
will try to call -setView again during -drawRect with the new
NSOpenGLContext.
Change-Id: I33d9f2ba241b49e8cfa6c9156dd5bf5e4cc6b164
Reviewed-by: Liang Qi <liang.qi@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-31061
Change-Id: Id3275a0510bfa619a52d17cf48a3e48b3bae5354
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
You are not supposed to call NSOpenGLContext -setView: for a view that
has not yet called drawRect. We we attempted to do this, we would get
the invalid drawable error, leading to QGLWidgets just drawing garbage.
Task-number: QTBUG-28175
Change-Id: I47aef07b4676f2db8591f98fc1661f6f447bdef9
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is how it was done in Qt 4.
An issue with the current approach was that it did not consider
modifiers when setting a Qt::Key_* value, which would assign the same
Qt keycode for:
a = a(65)
Alt + a = ā(65) [here it should return a unicode value for 'ā']
This is inconsistent with the other platform plugins.
Also in the combination with a dead keys it was returning nothing in
the output.
Task-number: QTBUG-29005
Change-Id: Ic28eb55b3a9798ecb6012cc2e3fb18589b8b0392
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Cyril Oblikov <munknex@gmail.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
|
|/
|
|
|
|
|
|
| |
No need to use old style Carbon Event Manager function when there is
Cocoa [NSEvent keyCode] equivalent for retrieving virtual key code.
Change-Id: I5cceb76fc662e42a46a17dc69131091a64ca6060
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
|
|
|
|
|
|
|
|
|
| |
Instead, add QCocoaWindow::setEmbeddedInForeignView which can be called
via QPlatformNativeInterface::NativeResourceForIntegrationFunction
Task-number: QTBUG-30805
Change-Id: I05861e80ca664ddb430216388cf0fec573a4d32b
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since we use native Cocoa menus, we cannot rely on the
normal shortcut handling. Shortcuts can be overridden by
the currently focused object in Qt.
In order to make that possible we need to send a
QShortcutOverride event before accepting any key event.
For menus the key event goes from the NSApp directly to
the menu, so the shortcutOverride would not work.
This is mostly an adaptation of the Qt 4 code.
Task-number: QTBUG-30695
Change-Id: Icb4979309d2d6f9606eb9c8abc4130dc79926593
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
|
|
|
|
|
| |
Change-Id: I881a8ff3fedf3db73ee37046a4363c70960a92a6
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
|
|
|
|
|
|
|
| |
Also, get rid of qt_mac_toCGImage and QPainter warnings.
Change-Id: I9e2a0e93d74c318d99651de9222994615e082ac9
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
If CMD modificator is active [nsevent characters] is used now to get
keyCode. In this case for example English "X" is returned instead of
Russian "Ч" even if Russian input source is selected.
Task-number: QTBUG-30306
Change-Id: I93cd292633e68327df0c580ed74fe8ad1c9ed27d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The default implementation (in the super class) passes the event
to the next responder. This seems to be one valid way to handle
the Qt::WindowTransparentForInput flag. So if a non-alien widget
for which a native NSView is created has the flag
WA_TransparentForMouseEvents, that means the window will have
Qt::WindowTransparentForInput, and the NSView which is created
on its behalf will pass on each event so that other NSViews have
a chance to handle it. (It will also try to reject becoming
first responder, but that doesn't seem to be enough for the following
events to be passed on.) This is a followup to
I979be9f72f7d225d7b960fc5db4c3956d2749982 which purported to
obey the WindowTransparentForInput flag, but actually doesn't.
Change-Id: Ia72a3573c2e3cbfa7ede70bee41ac36df6924598
Task-number: QTBUG-28816
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Re-use the QCocoaWindow implementation.
This gives a small performance boost since NSWindow
can skip drawing the background if it knows that the
content view will fill with opaque pixels.
Change-Id: I4a9a14135d890e9132dd1cb0af5a1c1a769d7e2f
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
|
|
|
|
|
| |
Change-Id: I4c0c5130e6513fb4031e847be01feff3653f256e
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| | |
Change-Id: If02ce190d93fcae18f1e1b41bc73c83b3226d4e7
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
configure
qmake/generators/mac/pbuilder_pbx.cpp
src/corelib/kernel/qtimerinfo_unix.cpp
src/plugins/platforms/cocoa/qcocoabackingstore.mm
src/plugins/platforms/cocoa/qcocoawindow.mm
src/plugins/platforms/windows/qwindowswindow.cpp
src/plugins/platforms/xcb/qglxintegration.cpp
Change-Id: I8d125fe498f5304874e6976b53f588d3e98a66ac
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This patch includes a few different fixes to make transparent toplevels
work on cocoa.
- When setting alpha on the toplevel, it also needs setOpaque:NO
- The OpenGL context needs a separate flag for this to work.
- Make sure setOpaque fighting between setMask, setFormat and
setOpacity ends up correctly
Task-number: QTBUG-28214
Change-Id: Ic3a2d71193bb653e181c98787b4ebda002424092
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/widgets/styles/qmacstyle_mac.mm
Change-Id: If8326db9e7da3cbf45dbf7475fdff9915c7723b1
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Conflicts:
src/concurrent/doc/qtconcurrent.qdocconf
src/corelib/doc/qtcore.qdocconf
src/corelib/global/qglobal.h
src/dbus/doc/qtdbus.qdocconf
src/dbus/qdbusmessage.h
src/gui/doc/qtgui.qdocconf
src/gui/image/qimagereader.cpp
src/network/doc/qtnetwork.qdocconf
src/opengl/doc/qtopengl.qdocconf
src/opengl/qgl.h
src/plugins/platforms/windows/qwindowswindow.cpp
src/printsupport/doc/qtprintsupport.qdocconf
src/sql/doc/qtsql.qdocconf
src/testlib/doc/qttestlib.qdocconf
src/tools/qdoc/doc/config/qt-cpp-ignore.qdocconf
src/widgets/doc/qtwidgets.qdocconf
src/xml/doc/qtxml.qdocconf
Change-Id: Ie9a1fa2cc44bec22a0b942e817a1095ca3414629
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Calling popUpMenuPositioningItem:atLocation:inView: will swallow any
mouse up/released event, if we popup on mouse down/pressed. Since we
cache the button state in QNSView, the safest way seems to be to clear
this button state. Another option would be to send Cocoa mouse up
events for each mouse button, but we prefer to keep things simple.
Change-Id: I7f3f369c45e9f5ed9d2ab693bffd8be4a4596ae6
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
|
| |\ \ \ \
| | | | | |
| | | | | |
| | | | | | |
Change-Id: I12b4d8b99bdccae53b1a978cd6eb8f4ac6fb3c76
|
| |\ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Conflicts:
src/plugins/platforms/windows/qwindowsdialoghelpers.cpp
Change-Id: I4ca87d44129fa5c1d8541cd58b8d62bc69080688
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | | |
refs/staging/dev
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Change-Id: I1e05ef39aa67f8febdd27215d8ad05d26ece7caa
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
|
|\ \ \ \ \ \ \ \
| |_|_|_|_|_|_|/
|/| | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Conflicts:
tests/auto/opengl/qgl/tst_qgl.cpp
Change-Id: I3c601351c984c1f4b00478d3c47ac9eeb021e892
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
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>
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
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>
|
| | |_|_|_|_|/
| |/| | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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>
|
|/ / / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This allows embedding a QWindow in a foreign NSView
hierarchy.
Don't create a NSWindow. Add code paths for handling
the embedded window case. Avoid changing the other
window cases. There is potential for merging some of
these cases but that can be done at a later point in
time.
Change-Id: I54c7b4eb82fad268f90ea6b716fc650ae31bd3af
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
|
| |_|_|_|/
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The window position was getting passed as both the window
and global positions.
QTBUG-29543
Change-Id: I24746675e5ba45adbd054742877bd2fe783d6608
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
|
| |_|_|/
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Missing apostrophes
Change-Id: I3ef5e9d494fb7a37f8e6075f24cd3a274e572c23
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
|
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Within qcocoahelpers, make function cocoaButton2QtButton() handle
all button numbers. Within qnsview, call the function in several
places (eliminating duplicate, inefficient code).
Task-number: QTBUG-28567
Change-Id: Ibae2ae4e8a881b825a8862afb82aa80437751111
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Rick Stockton <rickstockton@reno-computerhelp.com>
|
|\ \ \
| |_|/
|/| |
| | | |
Change-Id: Idcaa9b0c63aca5ba11ee3fa2da456178655a1ae3
|
| |/
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-29153
Change-Id: Ib190c074defaa459a8acc738f09af4a65e5d91d1
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For use with public API in QtMacExtras.
This goes into Qt stable: Fix for new functionality,
and close a feature regression against Qt 4.
Change-Id: I555fdff3ddb39336ccd72f9711d465f1c18c6b45
Reviewed-by: James Turner <james.turner@kdab.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
|
|/
|
|
|
| |
Change-Id: Ic804938fc352291d011800d21e549c10acac66fb
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Make tst_qquickview::resizemodeitem pass.
Returning on equal geometry breaks for non-top-level
windows.
Change-Id: I3b361655e25b6cf2d5e29410dc1f3567ab8f54d9
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
Port Qt 4 implementation. Shortcuts such as shift-5
should now work.
Change-Id: I1d8c4c6c4a903142361996b558ee31c8549fcef6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
The default is a "source over", but we want to
completely replace the destination pixels. (Which
is slightly faster).
Change-Id: I4916765258a2236f70f58a8e20b06f80739183c1
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Ideally this should not be required since NSWindow
should resize the content view automatically. However,
in the case of modal QDialogs this does not happen.
Add call to updateGeometry in windowDidResize as a
workaround, and remove code which called QNSView::setFrameSize
with the current size.
This will cause duplicate handleGeometryChange calls
in the non-qdialog case, add a test to see if the geometry
really has changed to prevent that.
Change-Id: I29bea23b2ab72f923aeadf8db8cb9131ae177a28
Reviewed-by: Liang Qi <liang.qi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Enter handling requires knowledge of the mouse
position. Extend the enter handling of
QWindowSystemInterface to receive the position
(implemented for Windows, XCB and Mac), passing it
on to QEnterEvent. Dispatch QEnterEvent from
widgets code.
Change-Id: I49c07d2b1f46310c877017dd55d4cd7d636bdbce
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
|
|
|
|
|
| |
Change-Id: I2e805aa64c65b90d33924ea4a8671735dee581fd
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
|