Calling raise() on a hidden window should not show it. The setVisible()
function will ensure that the window is raised (since we use orderFront
or makeKeyAndOrderFront). This fixes the failing
tst_QDockWidget::task169808_setFloating() test as well.
Task-number: QTBUG-24774
Change-Id: If34472ebbcd615c10654efafd54c84c03d10bc8c
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Qt and Cocoa opacity levels are compatible, so we just need to forward
the setOpacity() argument to [NSWindow setAlphaValue]
Change-Id: I5fd5678894fd6949811ad1c4b493e592561f01f6
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
This implementation was disabled and didn't really work
properly, so it doesn't make sense to update or do
bug fixes to it. Removing it completely instead.
Change-Id: I62abe35f0f9a91bb207b87296d25c3c62d58228e
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
Use qt_scrollImageInRect() from QtGui to accelerate scrolling in the
Cocoa plugin.
Change-Id: I8ad1377ed3307345f72d17c72049cec5472c97d3
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Implement -flagsChanged: in QNSView so that we can calculate the
necessary modifier key events to send.
Change-Id: I3de89537d6e22b4a6d69ae646a71d9722dd9f82a
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
The NSWindow we create could either be a QNSWindow (our NSWindow
subclass) or a QNSPanel (our NSPanel subclass).
Change-Id: I6e5c18328bf0fd1786a042d1fddc5b3e8be17f89
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Appears as though the QT_NAMESPACE macros are incorrect here.
In fact in qisenum.h because the #define is no respecter of a namespace
in most of these conditional compile cases they will be ignored
effectively. The QT_HEADER also - if qtypetraits.h conditional compile
occurs then it will result in adding extern "C" { twice. For the macros
invoking them will not cause the extern "C" { to be used anyway, so just
remove this altogether.
Task-number: QTBUG-24903
Change-Id: I710dc330f58357f395241a0cf3172e41a5864576
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Reviewed-by: Glenn Watson <glenn.watson@nokia.com>
Reviewed-by: Sarah Jane Smith <sarah.j.smith@nokia.com>
The less X header dependencies the better, we might at some time in the
future be able to do without the XCB_USE_XLIB define as well.
Change-Id: Ib45986036febef70798851ee8455e054eafc9d22
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Jan Arne Petersen <jpetersen@openismus.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Added a new accessible interface for QGroupBox, as QAccessibleDisplay
is not good enough when the QGroupBox is checkable.
AccessibleFactory was modified to return a QAccessibleGroupBox when
the accessible interface of a QGroupBox is requested.
Created tst_QAccessibility::groupBoxTest
Port to Qt5 of the patch by José Millán Soto <fid@gpul.org>
Change-Id: I6c23dcf5562b3ea269b04102e78463b65827188a
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
(cherry picked from commit c03ceb203c65d9e3485fad848bfc0c4b6ee3e9aa)
The dlxxx functions are in libdl and the xcb_shm functions are in
libxcb-shm.
Change-Id: I412e1df4dc2939b7dac4f6b244c46e23c79da630
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
No surprise, the files generated by midl contains code that only
the MS compiler will understand.
However, since the generated files are only needed for IA2, we
can still compile the old IAccessible/MSAA implementation for mingw
(like it was before the introduction of IA2)
I used mingw 4.6.1 to test this.
Change-Id: Iad581f2fee087bd7b796ac5a01548f2fcacbd595
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
The bridge can do the mapping to and from screen position.
This is now done in the windows bridge.
Change-Id: I5ca5df0fbeeb58202539f55a0f62717fb1685092
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
For some reason, XCB accepts positions as unsigned
integers, even though the X protocol explicitly
allows negative values (windows overlapping the
left/top screen border).
After discussion with Samuel and Laszlo, use a
reinterpret_cast to convert from the signed
representation to the unsigned one.
I also extended the clipping of the extents to
the position. I guess if X can't handle widths
beyond XCOORD_MAX, it won't be happy with
x-coordinates exceeding that limit, either.
Change-Id: I2fa0e61f823b6cd45dad6471eaa55f38bb3c3e52
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
We now have better replacements for QGLPaintDevice etc.
Change-Id: I3ac563f0ac26a563b3c788d16c77e0237d9d96d9
Reviewed-by: Donald Carr <donald.carr@nokia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Reviewed-by: Andy Nichols <andy.nichols@nokia.com>
Extends platform services for QNX devices.
Change-Id: I1eb685cdb38591cd73eaaf40ffb5691db0142953
Reviewed-by: Jeff Kehres <jkehres@rim.com>
Reviewed-by: Sean Harmer <sh@theharmers.co.uk>
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
QWorkspace had been called Q3Workspace before Qt4.0 finally released.
In a sense, it is a Qt3 support Widget. And QWorkspace has been
deprecated and replaced by QMdiArea at Qt4.3.
Change-Id: Iea1bf831c9960c23c2b21d51fdc7c13b303642ea
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Key events were not sent to items on graphics view after the change
412dbdf410. This is because the change
only checks if QGuiApplication::focusObject() exists. Qt::ImEnabled
needs to be checked too.
Change-Id: I2a78af717a7a1a5d84fbc8b521253bdc25b43286
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Use the heuristic that windows that are not an
NSPanel and has the MaximizedButtonHint get the
fullscreen button.
Change-Id: I9a3520b7e4cd1833421d5d2f5b73da7edbfc3e74
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Change-Id: Ibc3a95f3560af909a45d147098184c2194187932
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Fixed Q_WS_WIN flagging to Q_OS_WIN in QPrinter API and related
implementation to make API match the documentation and Qt 4.8.
Also Removed the unused internal HDC related functions from the API,
that were previously behind Q_WS_WIN flag.
Some of the properties tested are documented to be valid for native
print engine only in X11 environment, so skipped testing those in
non-xcb environments.
Copy collation is also apparently not supported in Windows native print
engine, though this seems to be undocumented, so skipped that only in
Windows.
At least one of the test blocks in tst_QPrinter::valuePreservation()
failed due to default printer not getting set properly, so fixed that,
too.
Task-number: QTBUG-24191
Task-number: QTBUG-22927
Change-Id: I44a5e3d647a1279fcc7f1e99de6881f9be330246
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Previously the primary sceen number wasn't stripped before adding the
actual screen number, resulting in names such as ":0.0.0".
Change-Id: Ifbcf12dcf1c200fd6bc5e4b95a5d82483957e0d2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Refactor from polling in an endless loop running in a separate thread
to using a QSocketNotifier working on the main thread.
Similar to "de-threading" of the navigator event handling in
9dc86ac0f2
Change-Id: I994dceed07312a3846737c8bea34cffa4ab408f1
Reviewed-by: Sean Harmer <sh@theharmers.co.uk>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Manual merge of the original fix 1ef309e9 in the Qt 4.8 repo.
Task-number: QTBUG-20480
Change-Id: Id08500c2dd16965af3942e65cff1f4afa24180b0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Make sure that if ShowAlphaChannel option is set then also setShowsAlpha
needs to be set for the panel before setting the current color, otherwise
alpha channel value is omitted.
Task-number: QTBUG-24320
Change-Id: Ifb3822711af8ffd0cf6cb4c8aab2b0020d296663
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Only swap width/height of initial geometry if orthogonal to initial
rotation not orthogonal to current rotation
Change-Id: I825954e98dee6c0d07a284307dfb8e1f9fd538e6
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Sean Harmer <sh@theharmers.co.uk>
Since change 2e4d8f67a8 the need for Map and Unmap events has
gone away, as now the Expose event is used to notify the application
about when it can start rendering.
The Map and Unmap events weren't really used except by QWidget to set
the WA_Mapped flag, which we now set based on the expose / unexpose.
Also guarantee that a Resize event is always sent before the first
Expose, by re-introducing an asynchronous expose event handler. Since
an expose is required before rendering to a QWindow, show a warning if
QOpenGLContext::swapBuffers() or QBackingStore::flush() if called on a
window that has not received its first expose.
Change-Id: Ia6b609aa275d5b463b5011a96f2fd9bbe52e9bc4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Removes the need for an extra thread by creating the event handler's
socket notifier in the context of the main thread.
Change-Id: If8c7bb986074083b5b9a7b9c96734a970ba32f92
Reviewed-by: Sean Harmer <sh@theharmers.co.uk>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
The warnings about "Internal mouse button tracking invalid" should check
for the correct button before emitting a warning. The warning should
also mention the correct button as well. For otherMouseDragged, we
simply check for any button that's not the left or right button.
Change-Id: I9eb6d6bd7fb5919e745b7f8eb517b4bc9efd36a6
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Make Qt window activation follow the Cocoa key
window, with one exception: Popup windows become
the key window but not the Qt active window.
Change-Id: Ic4d8685737fa3ec5c15a68b81844929370c9cd8e
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
As usual the y coordinate needs to be inverted.
Change-Id: Iac9b48f9bdb475a3d5a76b930c2e138a625f1ef8
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
The QPalette::Inactive text color should be the same as
kThemeTextColorDialogActive. kThemeTextColorDialogInactive is for
disabled widgets/windows.
Change-Id: I55eb63fff213cb9870a991455cbc3254b9d1538e
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
With the move to the QPA architecture EGL is now only required by
individual platform plugins and the configure script has been adjusted to
reflect this.
Change-Id: Ieadacef0b970f29752d9e3e36a007e5cbb005b0d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
egl.h on certain platforms directly includes X11 headers, resulting in an
all too familiar header conflict. There are existing defines we merely need
to set in order to avoid this eventuality.
Change-Id: Ic91b66286ad6cc329f9c88b5e47834690a8eb96a
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
This is the equivalent of 821fc4cf4e520a74b8d4c834f2fb46e4e2f27001
from qt4 but done differently because qt5 has egl.prf.
Change-Id: I52114239bdeda6c300db04a7859cae52aa9e9b41
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
The cocoa plugin uses NSPanel instead of NSWindow
for popup-type windows. With the exception of tooltips
and splash screens these windows should take input
focus as well.
Change-Id: Icdf0854e7c511ccc106e035dae4763ae90c23aa5
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Make the QCoreTextFontEngine::glyphFormat depend on the primary
display's subpixel layout (if any). This change also refactors the
antialiasing threshold setting to live beside the defaultGlyphFormat.
Change-Id: I27f94f775d91d2a68cd647cc24503b31b6ff5e61
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
On OS X, child windows (in the Qt sense) are not
windows. Add special case to window creation that
links the content views instead of creating a
NSWindow. Add a similar special case to
setGeometry().
Refactor window (re)creation into recreateWindow(),
which is called from both the QCocoaWindow
constructor and setParent().
m_nsWindow may now be null, add null-pointer checks
to all usages. Change winId() to return the
m_contentView pointer instead of m_nsWindow.
QGLWidget now works, but probably has sibling window
stacking issues which we won't be able to fix without
moving to client-side compositing.
Change-Id: I2e74cf27734dba7076c150e0d8341f0a62d3de2d
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
The XCB plugin requries libxcb >= 1.5. Configure and
config.tests/qpa/xcb now check for this.
Change-Id: I96c688b79bf5b49fd3ecc4ddc12ebdc2d3788790
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
This function calls platform specific function
QWindowsPrinterSupport::supportedPaperSizes(), which then called back
to QPrinterInfo::supportedPaperSizes(), causing infinite recursion.
Fixed by providing a proper implementation for querying supported
paper sizes in QWin32PrintEngine - the same implementation was used in
Qt 4.8.
Task-number: QTBUG-24190
Change-Id: I64a2773d83596df19818bf2636f1255943d7851d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Read and save the modifiers at the beginning of the
event stream to keep the event interpretation constant
for the entire event stream.
Change-Id: I66046dea8f8fd3ff2f88c48da5f076377bda32dd
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Cocoa sends function keys (e.g. arrow keys, backspace, F1-F35, etc.) as
Unicode characters in the U+F700-U+F8FF range. Do not deliver text for
events that contain a single control character (to match Qt 4 behavior).
With this fix, keyboard navigation works again in Qt Creator when
running against Qt 5.
Change-Id: I5854bf713c2855dbc5ee491bace2f9dc1acd9426
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
KeyPress events could be shortcuts or deadkeys, but we don't know which
until we try. Shortcuts take precedence over deadkeys, so send them
through QWindowSystemInterface::tryHandleSynchronousShortcutEvent()
before passing it onto the input method.
Change-Id: I479a3a7ff1c35e7c5692e8a17fb2173576dd0a29
Reviewed-by: Tasuku Suzuki <tasuku.suzuki@nokia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Handle the action message on the application delegate.
Change-Id: I23686fd6e936a4dbbb141da3dd04a64cbf6a051a
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Adds missing QT_NO_ACCESSIBILITY checks where required to build
without accessibility support.
Change-Id: Id98ecdcb9b351289b21dc2d382100d0b63857db9
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Add QCoccoaClipboard which wraps the existing
QMacPasteboard implementation. Remove unused
QClipboard integration code from qmacclipboard.mm
Change mime type cleanup from using qAddPostRoutine
to using an explicit call to destroyMimieTypes in
the cocoa platform integration destructor. This is
necessary to ensure cleanup happens in the correct
order on app shutdown.
Change-Id: Ief0e0d996b04c8e84e9fd2cd3a17fb5bd73bb761
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
We should only query the position for top levels, otherwise trust the
position given in the event.
Change-Id: Ic29f25983af3e2c2f27eeb527c08069435ac938c
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
There should be a clear QWidget free path for people with no interest in
legacy QWidget functionality. Adding this option to configure makes this
path readily accessible and hence testable.
Change-Id: If87c1063fcf4c46f5280836126c11999feaa9f8a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
There was no development done to make this working on Qt 5
Change-Id: Ia08d53c6680a65cb1e60a30e55caa992eaa54bc7
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Add an invokable method that takes the QPrintEngine (which will
always be a QMacPrintEngine) and return the NSPrintInfo* from the
QMacPrintEnginePrivate. This will be used by the native dialogs in
QtPrintSupport to get/set printer settings.
Change-Id: If1e49027e8f0d505656db51be1f40a23f60e8e57
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
When we need to use PMPrintSession, PMPrintSettings, and PMPageLayout,
get these directly from the NSPrintInfo when needed. This avoids us
needing to keep the settings in sync. The native dialogs can then only
rely on getting a pointer to NSPrintInfo (to be done in a future
commit).
Change-Id: I4720284dcf999e454f86766b4291fbda7bf3c537
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
This is used to create the actual QPrintEngine and to query the system
about printer information.
The QCocoaPrinterSupport actually lives in the Cocoa platform plugin,
so the QCocoaPrinterSupportPlugin uses the
createPlatformPrinterSupport() function in the QPlatformNativeInterface
(since the latter is a QObject). This is done to avoid adding a printing
related virtual function to QPlatformIntegration (since we have plans
to do a new printing API in the future).
Change-Id: I8bf9be668ff8ae1d07840e2af1e0846dc3299334
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Copy qprintengine_mac_p.h, qprintengine_mac.mm, qpaintengine_mac_p.h,
and qpaintengine_mac.cpp (as qpaintengine_mac.mm) from src/gui/painting/
in the 4.8 branch of http://git.gitorious.org/qt/qt.git at commit
e6bd33d4aef0e4538d7918e7ab130624c911b553.
The following changes are necessary to port these files to the Qt 5 API:
- The copyright notice on these files has been updated to match the
header.LGPL template.
- Fix #includes for qprintengine_mac* and qpaintengine_mac*, as some
headers have moved in Qt 5.
- Remove extern forward declarations for functions that no longer exist.
- Remove friend declarations for classes/functions that are not part of
the Cocoa platform plugin.
- Remove QT_MAC_USE_COCOA blocks. Qt is always using Cocoa now, there
is no need to keep the non-Cocoa code paths anymore. The
QMacPrintEngine::shouldSuppressStatus() method was also removed,
since it is no longer used.
- Do not use Qt::UniteClip, it was removed in commit
01b72952c3
- Use QCocoaAutoReleasePool in qprintengine_mac.mm
- Use QPlatformPrintSupport::convert*() functions in QMacPrintEngine,
since we cannot use non-exported functions from QtPrintSupport in the
Cocoa plugin.
- Use qt_mac_image_to_cg_image() to convert QPixmap to CGImageRef. First
convert QPixmap to QImage (cheap, since the Cocoa platform plugin
uses QRasterPlatformPixmap), and then convert the QImage to CFImageRef
using the existing helper function.
- Copy qt_mac_cg_context() to the Cocoa platform plugin from
qmacstyle_mac.mm, adding a note at each location about the
duplication.
- Add qt_mac_QRegionToHIMutableShape() helper. Adapt the Qt 4.x code for
QRegion::toHIMutableShape(), and use this in QCoreGraphicsPaintEngine.
- Add qt_mac_drawCGImage() and qt_mac_get_scalefactor() helper. These
functions are copied directly from the 4.8 branch of
http://git.gitorious.org/qt/qt.git at the same revision shown above.
- Add qt_mac_create_imagemask() helper in qpaintengine_mac.cpp. This
helper is based on the function with the same name from the 4.8
branch of http://git.gitorious.org/qt/qt.git at the same revision
shown above. The correctness of the implementation has not yet been
verified.
Since these files use the QPrinter API from QtPrintSupport, the Cocoa
plugin now needs to link to that library as well.
Change-Id: I90b9bbe201327489ef9e1b3294e68e91ddda27bd
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Remove references to libQtOpenGL, and use QGuiApplication instead of
QApplication
Change-Id: If8f652223492cf758175a260c27b687f3af1c4ad
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
In the old implementation, the QPlatformIntegration was asked
for the theme first, so there was no way of overriding that
by a custom plugin. Also, there was a memory leak in case
the platform theme was actually created by a plugin.
QGuiApplication now asks the QPlatformIntegration for a list
of potential theme names first, tries to load them using
the plugin loader and finally invokes a factory method of
QPlatformIntegration in case that fails. The theme is now
owned by QGuiApplication.
In the XCB plugin, the environment variable DESKTOP_SESSION
is queried and appended to the list of themes, making it possible
to load plugins for other session types.
Change-Id: I1a4b4e061815bca16c65b23e591bb7563a3e44e2
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Refactor NSWindow creation into createNSWindow and
setNSWindow. This is necessary to support QMacNativeWidget
where we re-use an already created window.
Implement popup window handling. Make sure the window
is displayed correctly and closes when it should.
Take control over window activation in order to prevent
infinite loops involving the QtCreator "cmd-k" window.
Activation events are for now not sent to popup-type
windows.
There is now a different set of test failures: add
and remove some QEXPECT_FAILs.
Change-Id: I229761b59f90c9815b968eacc2cbc9c20cc5047e
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Change-Id: Ib207e0036226dd7131195244bf49bbfae142cd22
Reviewed-by: Sean Harmer <sh@theharmers.co.uk>
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Harald Fernengel <harald.fernengel@nokia.com>
Don't use QWindowsFontDatabaseFT::systemDefaultFont() and
QWindowsFontDatabaseFT::LOGFONT_to_QFont() in qwindowsfontdatabase.cpp and
qwindowstheme.cpp because it is not available when building with
-no-freetype.
Change-Id: I11075475ff435c55b0c641540f95a4d3861b79da
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Change 50ca45f059 caused mapped windows to not receive focus by
default. The _NET_WM_USER_TIME spec says that if the user time is set to
0 (or CurrentTime), the window will not be initially focused. Thus, if
the connection time has not yet been set, we skip this part to restore
the old behavior.
Change-Id: I19de3602c78629ad2bc65f5e1976313949c82c4c
Reviewed-by: Jan Arne Petersen <jpetersen@openismus.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
The QUDevHelper class is now replaced by QUDeviceHelper class.
All evdev input plugins are using the new udev helper now to enable
hotplugin for keyboard and mouse input.
EvdevTouch plugin still only uses the first detected device by udev,
this cannot be tested on my side, due to the lack of multiple touch input devices.
Change-Id: I01a4cfe1a80000bfb27c67a2f53faf560906b73c
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
OS-X provides a buttonNumber within Event data for otherMouseDown:
and otherMouseUp: Events. Instead of mapping all occurences of these
event types to Qt::MiddleButton, this Update uses that data
to support a total of 16 mouse buttons.
Task-number: QTBUG-24702
Change-Id: I3cffb32498f98ea182509d7c42f3fc6634155ebb
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
The webkit AtomicallyInitializedStatic and Qt's Q_GLOBAL_STATIC can
deadlock on the Mac, as the mac compiler inserts calls to
__cxa_guard_acquire and __cxa_guard_release around initialisation of
local statics.
In Q_GLOBAL_STATIC case, this is the QGlobalStaticDeleter local static
Whereas webkit AtomicallyInitializedStatic is a local static variable
in any case.
Problem is triggered because webkit constructs QNetworkConfigurationManager
inside the constructor of a local static - networkStateNotifier
And the generic bearer plugin calls QNetworkInterface::allInterfaces
in the bearer thread, which needs an initialised Q_GLOBAL_STATIC.
Reviewed-by: Laszlo Agocs
(cherry picked from commit 38db40d9a2db44e47b0aabd9487284cd1106b353)
Task-number: QTBUG-24554
Change-Id: Id2c7818faefb46e66b0bbc30ce30595d46d53016
Reviewed-by: Zeno Albisser <zeno.albisser@nokia.com>
No longer base the implementation on a QWidget which is not
necessary when all that is required is a message window listening
to task-tray messages. Export a service function creating a message
window from the Windows native interface and use that.
Task-number: QTBUG-20978
Change-Id: I01d0faeac777df4eee802c51d2bc722fce814080
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
This is a semi-automatic search, so I'm
reasonably sure that all the exported ones
have been caught.
Change-Id: I314d341ad0db4e9d4bbf353a9537c9422ad8a54b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Changing the naming scheme from Blackberry to QNX in line with pattern
of using platform names.
Change-Id: I048a6a18010bc932311d63c8dde19ccab97894c8
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
This was never a good idea since it has issues:
It doesn't really work with more than one update without
the client fetching the data. The same is unlikely to work reliable
since it involves two ipc roundtrips.
Instead we should have an extended QAccessibleEvent that contains
the data so that the bridges can decide how to pass on the data if
needed.
Change-Id: Iaf6b74f49586f7155909a6fe1a17137b71b31175
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
eglfs uses the (old) OpenGL paint engine for paint operations. This drags in a
QWidget dependency and hence everything bar the kitchen sink. This change
gets eglfs buildable without widget support although anything which relies
on a QPaintDevice will end up rendering nothing to the screen. (Similar
to the QWS simplegl driver)
Change-Id: If7fcdb79038ef7568e771402fd1667bc0318ff5f
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
The mask of possible mouse buttons in QNX provides tracking for the
up/down State of up to 8 mouse buttons. This update adds support
for the 5 buttons which we previously ignored in Qt on this Platform.
Task-number: QTBUG-24682
Change-Id: I8c1d2b2a5d0deb3b857fb387c242c3792e21ff95
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Fix a typo that caused a variable to be hidden such that
the Qt::WindowFlags were not used.
Change-Id: Iea4456b0cd4c968e0fbfdd53e5006ffee0298b24
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
- Introduce cursor() accessor to QPlatformScreen.
- Remove screen member of QPlatformCursor (a
cursor can be shared by multiple screens
of a virtual desktop).
- Add QCursor::pos()/ QCursor::setPos() taking
a QScreen-parameter, use primaryScreen() for
old overloads. QCursor::pos() can then query
the platform cursor for the position and return
the position even if the mouse position is outside
the windows owned by the Qt application.
- Fix tests
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Task-number: QTBUG-22457
Task-number: QTBUG-22565
Task-number: QTBUG-20753
Change-Id: Ia69f37343f95772e934eab1cd806bd54cbdbbe51
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Fixed a logic error that prevented override cursors being applied in
Windows plugin. The logic for override cursor handling is already
in crossplatform code, so no need to do extra checks in plugin.
Task-number: QTBUG-24657
Change-Id: Ied9b36b57f22607ef5bb5c30f2926b0053eebca5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Implement drag and drop support for drags originating
from outside Qt. Port mime and pasteboard code from
Qt 4. Use QSimpleDrag from from platform support to
implement internal Qt drags.
Change-Id: I5b664a95ebb00f48de2bd21c24dfb579af16123e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
- Remove QPlatformFontDatabase::defaultFonts() returning
a hash containing widget name ->font and the Windows
implementation.
- Add enumeration and font accessor to QPlatformTheme. The value
returned for the enumeration value overwrites the default font
of the font database.
- Implement for Windows, Mac and KDE.
- Add more Windows palettes.
Task-number: QTBUG-23686
Change-Id: I8a2abdfd216df23daa7c9630c54264cdf61295db
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Mac has to work with -qtnamespace as well, and other files have gotten
this right, so follow their example.
Change-Id: I551e1843e8a0e82a82d1d5ea8c8cd5f20e6880fa
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
I tested, it didn't work. This is from a previous patch I had
already gotten working before 40a5ba4d3fccb449dcfd8d9a0deaf4c7f0fe12bc
was submitted.
Change-Id: I868f069fe834b3122ed9b5b3dc9af0781d6e1d0d
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>