Commit Graph

759 Commits (fbd45a9311db8b2fcfec5ffd5c3ff4f5a684b760)

Author SHA1 Message Date
Bradley T. Hughes 7a597e6c43 Make QCocoaEventDispatcher inherit from QAbstractEventDispatcher
... instead of QEventDispatcherUNIX. The Cocoa dispatcher does not use
any of the facilities of the UNIX dispatcher, and it reimplements every
virtual method already (with the exception of flush(), which just needs
an empty implementation).

Change-Id: I24aefd169888946afac7800192a0f96770787718
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-01-03 22:02:20 +01:00
Frederik Gladhorn 9ea608cb54 Use meta object to get string rep of QAccessible::Role.
Change-Id: I69320b69ea13ebc594575277e39d30a066df61fd
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2012-01-03 19:27:17 +01:00
Holger Hans Peter Freyther 991b91ce57 directfb: Refer to the right class in the error message
Change-Id: I41d0b95092d16bc3a643fca903c68be82813dad6
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2012-01-03 11:23:35 +01:00
Yuchen Deng c0542c607b Build fix if using '-no-stl' configure option
MSVC2010SP1:
error C3861: 'wmemcpy': identifier not found

Change-Id: Ib28edb5e38d691635c56dac846134e1c88c3f312
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-01-03 09:35:04 +01:00
Bradley T. Hughes 2bbf9befd8 Add Qt::TimerType argument to QAbstractEventDispatcher::registerTimer()
... and deprecate the old registerTimer() functions. The new pure-
virtual registerTimer() breaks source-compatibility. Subclasses cannot
be instantiated anymore, since the pure virtual function signature has
changed.

QAbstractEventDispatcher::TimerInfo is no longer a QPair. It is now a
struct with timerId, interval, and timerType members. This is a source
incompatibility that should only affect subclasses of
QAbstractEventDispatcher, which will need to pass 3 arguments to the
TimerInfo constructor instead of 2. If the subclass used QPair<int,int>
instead of the TimerInfo typedef, the QPair<int,int> declarations will
need to be replaced with TimerInfo.

Call the new registerTimer() function with the type from
QObject::startTimer(). Change all subclasses of QAbstractEventDispatcher
to reimplement the new virtual function. The type argument is unused at
the momemnt, except to ensure that registeredTimers() returns the type
each timer was registered with. Implementations for the various
dispatchers will be done in separate commits.

Author: Thiago Macieira <thiago.macieira@nokia.com>
Change-Id: Ia22697e0ab0847810c5d162ef473e0e5a17a904b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-01-02 10:44:00 +01:00
Jan-Arve Saether a203debb0b Fix regression, make sure hit testing work on windows again.
The previous code did not make much sense

This regressed due to 74c9f9d83f

Change-Id: Ia4374623257863edca706a1c3d8b565d0c6bd4c1
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2011-12-23 13:40:12 +01:00
Jørgen Lind e6ee1848a3 Disable logging in xcb
The logging groves and modifies a vector.. It should at least be a
linked-list. but anyway, it shouldn't be enabled by default

Change-Id: Iaebb1158eea1c907e31e9606b143c0318a189dd1
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2011-12-22 10:01:16 +01:00
Jan-Arve Saether f718728567 Do not crash in the windows accessibility bridge
If the object did not have a QAccessibleInterface subclass it would
crash in the windows accessibility bridge.

Change-Id: I931d69466a5a74a87f1c1c577fb1c918dcc8accf
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2011-12-22 00:47:03 +01:00
Laszlo Agocs 2edada763a Update the touchscreen plug-in.
Now works with bcm5974: Added manual contact tracking for drivers that
do not report a tracking id and fixed abs limit querying to use
ABS_MT_* instead of ABS_*.

Fixed reported area: The incoming point was the top-left point instead
of the center which was incorrect.

Added pressure support.

Tracking of event type has been removed as handleTouchEvent no longer
needs it.

Broken debug prints have been removed.

Changed udev auto-detection to pick only /dev/input/event*.

Fixed multiple released state reports with some drivers.

Name and capabilities are now set properly for the QTouchDevice.

Change-Id: I8f026c9a14465bfb6d567f4dcf36c5c03f843868
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-12-19 17:29:10 +01:00
Friedemann Kleint bbc098ab9f Windows: Remove Window from list before calling DestroyWindow.
Change-Id: Ifef99d9e4e46f0450cecf8ecba18ce79ebec3e8d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-12-19 12:27:45 +01:00
Frederik Gladhorn 74c9f9d83f Accessibility: childAt returns interface
childAt used to return an integer.
Return an interface instead.

Not requiring a direct child to be returned allows optimizing
by bypassing iterating through the hierarchy of accessibles.
For QtQuick this is the only sensible way of implementing this.

The bridges are still responsible for finding the top-most element.

The default implementation in QAccessibleObject is sufficient
to return direct children. The implementation in
QAccessibleApplication is therfore no longer needed.

Change-Id: Id7100dd5bcc3a98de516a7f4a12eaaa41cb46d26
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-12-19 12:27:45 +01:00
Chris Meyer e75e4421cd Enable option to see filename extension in Mac save dialog
Many Mac OS users expect to have the option to see the file extension
of the file being saved in the save dialog. This patch enables that
option.

Change-Id: I7713bcef16b6f43135b382c7107f306009c7a0a1
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-12-19 09:55:24 +01:00
Chris Meyer b13f630c81 Add check to make sure qApp exists before using
Check for qApp before using. I'm aware that this is in commented
out code right now; but I wanted to make sure it doesn't
accidently slip back in without this check so I'm submitting
this patch. It caused problems at shutdown in 4.8.

Change-Id: I1c2358ab94f8b698e5519b3e0f988fb5cdd653fa
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-12-19 09:53:42 +01:00
Morten Johan Sorvig ac0e35c8c7 Cocoa: Accept mouse clicks that activates windows.
Events for mouse clicks that active windows are by
default suppressed. Qt needs to see all events in
order to properly close popup windows.

Wether or not the event should be sent to the
target needs to be implemented later on - in the
QWidget world this is controlled by WA_MacNoClickThrough

Change-Id: I4b96d33978ed2b3cb793f52bb5b6fef234190a00
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
2011-12-16 14:57:04 +01:00
Morten Johan Sorvig 7b874b7fc4 Cocoa: Update geometry on window move.
Call [QNSView updateGeometry] directly. We can't
got through the frameDidChange notification since
we are not actually changing the QNSView frame.

Rename frameDidChangeNotification -> updateGeometry
sine it now handles updates from two different sources.

Change-Id: I848e558294093cd51d97778734b5cf872435266a
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-12-15 21:04:27 +01:00
Morten Johan Sorvig 140579cb3e Cocoa: Don't set window size in propagateSizeHints
Unless QWindow:baseSize returns a valid value.
Setting the size caused lots of window geometry
instability in Creator.

Change-Id: Iab45e88b47207db900c7655c217959391d84a1bb
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-12-15 21:04:27 +01:00
Morten Johan Sorvig c13b223979 Cocoa: Add version check for convertRectToScreen.
convertRectToScreen was added in 10.7, use
convertBaseToScreen on 10.6

Change-Id: Ica1ee0f62e1fc9b0d5ccf463419496684da779b7
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-12-15 21:04:27 +01:00
Morten Sorvig f950a0f0c0 Make QCocoaWindow independent of NSWindow.
QCocoaWindow now gets resize events from QNSViev
and does not require a NSWindow. QWindow instances
can now be inserted in NSView hierarchies. This is
useful for Qt-as-a-plugin use cases and is needed to
implement QMacNativeWidget for Qt 5.

Change-Id: Ia95ea9c22a15a3e62d1e6543466cff07390c70a2
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-12-14 23:26:15 +01:00
Morten Johan Sorvig f295ef1a4b Cocoa: Add window debug output
Add logging for setGeometry/setVisible/propagateSizeHints.

Change-Id: I3590caed586d36f789dd67b1951e8152f923a407
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2011-12-14 23:26:15 +01:00
Friedemann Kleint 3b2d99a5c8 QIBusPlatformInputContext: Fix a crash in tst_qinputpanel::update.
Change-Id: If50c442958b6f25f17325f7792bb3f882e4b13e7
Reviewed-by: Pekka Vuorela <pekka.ta.vuorela@nokia.com>
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
2011-12-14 23:26:15 +01:00
Friedemann Kleint 56c4ddfdf6 QPlatformDialogHelpers: Reduce dependency on QDialog.
For each QDialog-derived class, introduce a Q[X]Options class
containing the options of the dialog. An instance is shared
between the QDialog (or dialog desktop component) and the
helper.

Change-Id: Ibabf508a4b9eaea25615638a47a4c1b8f93c019e
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-12-14 21:49:33 +01:00
Morten Johan Sorvig 876b2d06f7 Cocoa: Use new 10.7 mouse wheel API.
Silence "deprecated" warnings. Use the old API
on 10.6.

Change-Id: I0cfa3a083108618023b491589a85ddfc268f990b
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-12-14 09:27:04 +01:00
Bradley T. Hughes d308797d00 Finish removing virtual child integers
Finish the work started by commit
beb72b2fbf. This silences warnings found
by -Woverloaded-virtual.

Change-Id: Ic6f5e77e324463ade8349f23f272b41b509d87e4
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2011-12-13 14:54:09 +01:00
Johannes Zellner 8757aaaf2f Fix debug output in eglfs with QEGL_EXTRA_DEBUG enabled
Change-Id: I615a953b52184d01c5b1b78d1cff283f94c458d9
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-12-13 13:58:56 +01:00
Bradley Smith 0553ab9127 Fix QPA xlib plugin handling of setParent(0).
Dereference of the parent argument did not check for nullptr. For
example, the hellogl example would crash. Now if the parent
argument is null, the screen's root window is used.

Change-Id: Ib06181c9ab9794d577722f1c1dd5ee92e4edaee5
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-12-13 11:11:58 +01:00
Thorbjørn Lund Martsum 4465fdd166 Compile fix - qxcbconnection.cpp (‘Display’ was not declared)
To avoid getting
qxcbconnection.cpp:89:29: error: ‘Display’ was not declared in this scope

Platform linux - configured with
./configure -nokia-developer -nomake examples -nomake demos -nomake tests -no-gtkstyle -no-v8

Change-Id: Ief7315bb8aa67c6454cdeddb1c02e60ea79801b5
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-12-13 00:44:09 +01:00
Robin Burchell a3b3cfe3b8 Use QVarLengthArray in QXcbConnection.
There's no need in using a QList here, since it's never passed around anywhere;
the reference counting is just unnecessary overhead.

Change-Id: I92107c69f7338acc396e2ac4a69123c6a2becaed
Reviewed-by: John Brooks <john.brooks@dereferenced.net>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-12-13 00:44:00 +01:00
Morten Johan Sørvig 82b73ab03a Cocoa: Add autorelease pools.
A couple of cases where we call Cococa APIs without
having an autorelease pool in place surfaced after
removing the global autorelease pool in 1a218a7. 
(This happens when when Qt API is called before 
app.exec() has started the Cocoa event loop.)

Add local autorelease pools to prevent memory leaks.

Change-Id: I0c4be3ff102aaff4539235857f95ab29fdbc9d70
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
2011-12-12 17:27:19 +01:00
Friedemann Kleint c9d6def002 Windows-DnD: Fix cursors.
Re-add pixmaps that were removed from QGuiApplication.

Change-Id: I9936da115e494cf816116159419d40840176afd5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-12-12 15:38:47 +01:00
Friedemann Kleint 5b7a1ca85b Windows: Fix clipboard test.
Return the QMimeData set on the Ole object if we own it.

Change-Id: I08de0968e04a7356fed1255feb495f7b85e7a6f8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-12-12 15:38:40 +01:00
Laszlo Agocs 6f1c4fb342 Store the primary status in the touch point flags.
For some reason the primary bit has previously been encoded in the
touch point state, even though it has nothing to do with the regular
states like Pressed, Released, etc.

The value is now stored in the recently introduced flags member of the
touch points. This also reduces the need for error-prone internal
masking of the state value.

The structure used by QWindowSystemInterface::handleTouchEvent also
becomes cleaner because the primary status can now be set in the flags
member and the isPrimary bool can be dropped.

Change-Id: I1da2cb99154afd97e1e3a5943ab115cae3a8232f
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-12-12 12:28:29 +01:00
Laszlo Agocs 5da5230ab2 Remove event type parameter from handleTouchEvent.
Requiring platform and generic plug-ins to pass TouchBegin,
TouchUpdate, or TouchEnd is unnecessary. The type can be easily
deduced from the touch point states. In fact handleTouchEvent already
collected the combined point states, it was just not utilized until
now.

Change-Id: Icf3c787fefdebc51609a763bc4286c18a0b6aac2
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-12-09 16:35:43 +01:00
Bradley T. Hughes b986131c6d Correctly reimplement QPlatformCursor::pos() in QCocoaCursor
QPlatformCursor::pos() is a const function, the reimplementation should
be as well.

Change-Id: I7e37e41086e3b329dc31ebc060fcb0915771d884
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-12-09 14:15:37 +01:00
Laszlo Agocs 4222603f8e Extend touch events.
The capability flags indicate which information is valid in the touch
points. Previously there was no way to tell if e.g. the value returned
by pressure() is actually the value provided by the driver/device or
it is just something bogus due to pressure not being supported.

The points' flags return information about the individual touch
points. One use case is to differentiate between touches made by
finger and pen.

Velocity, if available, is now also exposed.

Each touch point can now contain an additional list of "raw"
positions. These points are not reported individually but are taken
into account in some way by the underlying device and drivers to
generate the final, "accurate" touch point. In case the underlying
drivers expose these additional positions, they are made available in
the lists returned by the touch points' rawScreenPosition().

The raw positions are only available in screen coordinates to prevent
wasting time with mapping from global positions in applications that
do not use this data. Instead, apps can query the QWindow to which the
touch event was sent via QTouchEvent::window() and can call
mapFromGlobal() manually if they need local raw positions.

The capability and device type information is now held in a new
QTouchDevice class. Each touch event will contain only a pointer to
one of the global QTouchDevice instances. On top of type and
capability, the new class also contains a name which can be used to
differentiate between multiple touch input devices (i.e. to tell from
which one a given QTouchEvent originates from).

The introduction of QTouchDevice has three implications: The
QTouchEvent constructor and QWindowSystemInterface::handleTouchEvent
need to be changed (to pass a QTouchDevice pointer instead of merely a
device type value), and each platform or generic plug-in is now
responsible for registering one or more devices using the new API
QWindowSystemInterface::registerTouchDevice.

Change-Id: Ic1468d3e43933d8b5691d75aa67c43e1bc7ffe3e
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-12-09 14:15:37 +01:00
Frederik Gladhorn 6651e4fae3 Do not assert on invalid model index.
No need to crash here, just warn.
This will happen when asking a table for out of range indexes.

Change-Id: Ida83604bd587390a3b54fbed68f98dab8038c757
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-12-09 10:17:55 +01:00
Albert Astals Cid f5f92c9fe7 Add support for three new X11 keys
New keys are: XF86XK_TouchpadToggle, XF86XK_TouchpadOn and XF86XK_TouchpadOff

Change-Id: I51c0330213def093adf959d4065ee6d7c1f66d76
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-12-09 10:17:55 +01:00
Morten Johan Sorvig 1a218a7ee1 Cocoa: remove autoreleasepool in QCocoaIntegration
This one was far to long lived and would delay
releases until application shutdown.

We might get more "no autoreleasepool in place"
warnings now, these should be fixed by adding local
auto release pools.

Change-Id: Ia7a46ab05fb1937154997d0c47b8899d2a0cef65
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
2011-12-08 12:46:08 +01:00
Frederik Gladhorn 1e37a053ed Create a class to contain accessibilty enums.
This is needed in order to expose the enums to qml.
Do not inherit QAccessible.

Change-Id: I220a0ea3add2d790e4fa6e93ce3deda762859e1a
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-12-08 08:51:35 +01:00
Samuel Rødal bab5329437 Better handling of GLX / EGL errors.
If context creation fails, try again without a shared context. Added
QPlatformOpenGLContext::isSharing() and
QPlatformOpenGLContext::isValid() to propagate whether the platform
context was successfully created with or without sharing.

Change-Id: I37080b645f531fd207946441057be6d3f6be3f6e
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-12-07 11:15:28 +01:00
Holger Hans Peter Freyther f091eccf91 directfbegl: Add unimplemented QDirectFbWindow::eglSurface, build fix
QDirectFbScreen needs to have the full QDirectFbCursor definition, include
the header file directly instead of a forward declaration.

Impelement QDirectFbWindowEGL::eglSurface to return the EGLSurface of the
underlying DirectFBWindow.

Change-Id: Ib6765331ffea6e0b5f10f738d9e05320b7f8155f
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-12-06 20:14:10 +01:00
Gunnar Sletta 6ddcdee120 Ask for a context that is likely to be supported.
Most embedded GL chips support 24-bit depth with packed
8 bit stencil, but more rarely 32-bit. Asking for 32
bit means we often fail on other properties to, such as
multisampling.

Change-Id: Ib913d94af0635b09913ff15cff54cc694ba293fc
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-12-06 08:40:25 +01:00
Morten Johan Sorvig 3a72240d86 Cocoa: Handle accessible interface children.
Implement AccessIbleChildrenAttribute and
accessiblityHitTest.

Change-Id: Ia9fa80e3015edbb969d173a2587cb53b9c69852e
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2011-12-02 11:13:15 +01:00
Jan-Arve Saether 1efa30b7ef Don't inherit QAccessible from QWindowsAccessible
Qualify all references to QAccessible members with QAccessible::

Change-Id: Ia78d8482bbab3d77c9e258a52bc74f8e7c0c7e10
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2011-12-02 11:11:24 +01:00
Frederik Gladhorn 0d7cc00c07 Clean formatting.
Remove extra spaces, remove virtual keywords.
This code was simply inconsistent with the rest.

Change-Id: Iec8e9542dd4c458ddd535cb1766c90c18051686a
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-12-02 08:19:58 +01:00
Frederik Gladhorn 04c65c2454 Accessibility: table2 -> table
Rename the new interface after the old one has been removed.
This interface is very close to the IAccessible2 Table2 interface.

Change-Id: I8659232189fe0e8307151c743727de425c30ac9a
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-12-02 08:16:44 +01:00
Holger Hans Peter Freyther 6534898cc6 directfb: Introduce EGL integration for DirectFB
Introduce a new platform called 'directfbegl' that allows platform
integration with EGL. Change the QDirectFbIntegration to make it more
easy to hook up in the creation process, introduce an EGL integration
with custom screen, window and EGL Platform Context.
Vendors might need to add custom code to initialize EGL to be used with
DirectFB, this can be done in QDirectFbScreenEGL::platformInit.

Change-Id: I7bee277ede27c72437cd7c5977fa6ed85e65f538
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-12-02 00:08:32 +01:00
Holger Hans Peter Freyther 614bb9c085 directfb: Use QT_BEGIN_NAMESPACE/QT_END_NAMESPACE around the code
Change-Id: Iabf32130dcfe4f5a383e9c99f661ded176432817
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-12-02 00:08:32 +01:00
Holger Hans Peter Freyther 3d07ef1d0c directfb: Move the macro to the qdirectfbconvenience header file
We will need to have logging outside of the blitter code, make the
macro available to everyone.

Change-Id: I811ecb98a870a818630276b5daa788790db71ccd
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-12-02 00:08:32 +01:00
Frederik Gladhorn dd02fcd711 Make cell a proper QAccessible2Interface.
Change-Id: I9b245037e8448f39ed2cb80d1ef5fb0714173518
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-12-01 19:18:34 +01:00
Gunnar Sletta 389538c2e7 Fix image format use in cocoa plugin
The screen should be opaque. It is used to create the
default pixmap data which should be RGB32 on mac.

The backing store uses premultiplied in the resize but
initializes with non premultiplied. Unify this to all
premultiplied

Change-Id: I7d17d492fcff30b555a768da852ff9be0a9d96aa
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-12-01 12:34:16 +01:00
Jiang Jiang a80a8b4703 Mac Core Text font database for QPA
Add Core Text fontdatabase for Mac and use it as default. It also
reenabled Core Text font engine for native font rendering on Mac,
though it's not used in declarative UI (by default declarative
will still use scenegraph, which will only use this font engine
for retrieving font metrics and outlines).

With the new fontdatabase it's now possible to load all the fonts
installed in the system as well as adding application fonts.

Change-Id: I0d2aa1420019adf6d0f70dd147a9d71b2684d3f1
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-11-30 13:56:22 +01:00
Zeno Albisser 5fb239e8a3 Include qglobal.h first in qnsview.mm compilation unit.
If cocoa headers are being included first, this messes up
the defines MAC_OS_X_VERSION_MAX_ALLOWED and MAC_OS_X_VERSION_MIN_REQUIRED
when compiling with clang.

Change-Id: I07177d07a0ac7c5f7e72b04f42d6343e689e0d33
Reviewed-by: Ali Akhtarzada <ali.akhtarzada@nokia.com>
Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
2011-11-30 13:53:24 +01:00
Jan-Arve Saether 84e66f69ae Fix casting. Casting is now done through the virtual interface_cast.
Change interface_cast to return void* to avoid using virtual
inheritance.
Get rid of the magic Q_ACCESSIBLE_OBJECT macro.

Change-Id: I94b824aef53f2ba657d39d406b387c8681d47ee4
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2011-11-30 12:12:08 +01:00
Samuel Rødal 3aeeb53d73 Prevented Xlib sequence errors in xcb plugin.
Prevent Xlib errors of the form
"Xlib: sequence lost (0x2716a > 0x1717c) in reply type 0x11!" from
being printed. We know the cause of these is because we're manually
calling the XESetWireToEvent handlers since those are not handled by
XCB, and this confuses Xlib since it's then seeing events with old
sequence numbers. We simply set the sequence number to the latest
sequence number and the errors go away.

Change-Id: I2a9e7a7cfd0ba8692e43ce61f796a8189305e0d3
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
2011-11-29 14:00:01 +01:00
Johannes Zellner 6366a3186a Remove QPlatformPrinterSupport usage
QPlatformPrinterSupport seems to not exist anymore.

Change-Id: I142ce99877620e0b678fd6693bc72257ca230e4f
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-11-29 14:00:01 +01:00
Toby Tomkins e881f4f5fd Fixed Qtbase OSX specific namespace compilation.
Change-Id: Idacfa679df7aa6417f8017f80928907830d15df2
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2011-11-29 03:44:58 +01:00
Jędrzej Nowacki a291519e3e Fix a small memory leak in QXcbIntegration.
Prefer to use a smart pointer over a raw pointer.

Change-Id: If8b5cbef8767433eab2f82c14abaa9608b8e61d0
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-11-29 01:53:38 +01:00
Friedemann Kleint b8d330904b QtGui: Bring back HBITMAP/HICON conversion functions.
- Move the conversion functions from the Lighthouse plugin
  to QtGui as qt_pixmap/From/To/HBITMAP/HICON().
- Re-enable them in Widgets (QFileIconProvider, QWindowsStyle).
- Use them in QtPrintSupport.

Change-Id: I1436bc604160d94c78ef270ad2b31bf3b20b5c90
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-11-28 16:57:58 +01:00
Gunnar Sletta ac188d9582 Introduce QWindowSystemInterface::handleSynchronousCloseEvent
And use it from the Cocoa backend.

In general, for threaded GL rendering to work, any function that
affect the surface must be synchronous, so the implementor (such as
QQuickCanvas) can pick it up and block until the GL context has
released the surface. Otherwise, we will crash.

Change-Id: Id8484dac7452fe96fa80ade4ea321145f32124b4
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-11-25 14:44:39 +01:00
Jan-Arve Saether 53e4dfec7b Change default implementation of window() to just return 0
Instead move the traversal up to the ancestors to the bridge.
This simplifies the default implementation to just return 0

Change-Id: Ic3ec60851f378587f4a23363aec2039d0e8a08a1
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2011-11-25 11:29:11 +01:00
Gunnar Sletta 7dabd65ff6 Make cocoa opengl backend threadsafe.
The current implementation on Mac OS X called update() inside
the cocoa plugin from the GUI thread, which breaks when trying
to use the GL context from another thread and the window gets
resized. We now only call it from makeCurrent()

Change-Id: I025aad3a3b140e85e729816bf3b68827337cc80d
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-11-25 09:54:38 +01:00
Frederik Gladhorn cc37a8cf41 Fix navigate returning invalid pointer.
Navigate would return a random pointer here when asked for example for
not handled relations (label etc).

Change-Id: Iec4de94e6f76f14e89b43fe7327d98878aad58ee
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-11-24 20:26:52 +01:00
Holger Hans Peter Freyther c420e1f101 directfb: Use the QPlatformWindow in the DirectFB Backingstore
Remove usage of QDirectFbConvenience::dfbDisplayLayer in the
QDirectFbBackingStore code and resolve the IDirectFBWindow through
the QPlatformWindow.

Change-Id: Ia7db8dedc91096648bc9de029d034002ba0d6a03
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-11-24 12:11:04 +01:00
Holger Hans Peter Freyther 426cda9089 directfb: Get the IDirectFBDisplayLayer through the QPlatformScreen
Change-Id: I1e8bacc2a5c39065f1c0667cda900730c5670066
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-11-24 12:11:04 +01:00
Holger Hans Peter Freyther 13505b53b6 directfb: Fix the typo in the parameter
Change-Id: I3d373872c533bc4b6f4f010f5cce4dbb41dbb561
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-11-24 12:11:04 +01:00
Holger Hans Peter Freyther ab0e62205f directfb: Remove dfbDisplayLayer from QDirectFbInput
Change-Id: I2ae61c40c28b337448077cff5643a007b54a3d71
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-11-24 12:11:04 +01:00
Holger Hans Peter Freyther a0e0359567 directfb: Pass the IDirectFBWindow to the QDirectFbInput methods
No need to go from IDirectFBWindow -> WindowID -> IDirectFBWindow
to attach the event buffer for the event system.

Change-Id: Ia5f7c20d06e8e1da5142f1bd99ca69906107adba
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-11-24 12:11:04 +01:00
Holger Hans Peter Freyther 7da24c14fd directfb: Use DirectFBErrorFatal for errors we don't handle well
In case we fail to initialize DirectFB, use the DirectFBErrorFatal
to quit as there is no way we can recover from this error and the
QPA backend has already been selected.

Change-Id: I8001bf32d0a14ba21c2ec13121748a6384b87c2b
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-11-24 12:11:04 +01:00
Holger Hans Peter Freyther 6b22448fa3 directfb: Access the screen layer through QWindow::screen()
Instead of assuming which layer was assigned to Qt, resolve the to
be used layer via QWindow::screen()->handle(). Add a method to the
DirectFB QPlatformScreen to provide a pointer to the IDirectFBDisplayLayer

Change-Id: Iaea9466ca84daff752a4932deafbe38f48123715
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-11-24 08:31:02 +01:00
Holger Hans Peter Freyther 0948237d7f directfb: Move QDirectFbScreen into a separate file
The screen handling will get a bit more complex due the integration
of different ways to do OpenGL. Move to a new file.

Change-Id: Ibe3e397d13da1b270ec4afaf046d28be50e976f9
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-11-24 08:29:09 +01:00
Frederik Gladhorn beb72b2fbf Remove virtual child integers.
This makes the accessibility apis much
simpler and less error prone.

Disable the itemviews implementation that is in complex widgets.
The itemviews will use the new code from itemviews.h/cpp everywhere now.

QToolBox was broken before, now at least it simply exposes all its children.
The children are the buttons (tabs of the toolbox) and their contents.

Change-Id: I45e218f49f02aebbd678ddfe29f94c2a112a2125
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-11-23 14:54:01 +01:00
Friedemann Kleint e739ca0071 Accessible widgets: Fix warning.
Change-Id: Iaf9b112db86a4238ef24f3c6341c83ab0f9ba217
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2011-11-23 11:08:51 +01:00
Joona Petrell 0c8f471c96 Remove handlesInputPanelVisibility() deprecation mechanism
Task-number: QTBUG-21964
Change-Id: I508ba690c90369d31ca33390d3001064857fb62e
Reviewed-by: Pekka Vuorela <pekka.ta.vuorela@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-11-21 22:46:11 +01:00
Frederik Gladhorn 6e7f08182e Accessibility: Clean up usage of navigate.
Prefer to use parent/child functions instead.

Change-Id: Ic92165b9439eb750c9d762ddf5dcd2a5ccf0277d
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-11-21 15:53:16 +01:00
Simon Hausmann 24cfb9d748 Fix debug output in meego platform input context
Don't show debug output by default :)

Change-Id: I7df9264b3e0211e459cecb2cd9f389e017e9bca4
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
2011-11-21 14:25:09 +01:00
Oswald Buddenhagen a5d2c48e6b Ensure that the corewlan plugin can be built with the Mac OS X 10.7 sdk
When the 10.7 SDK was specified explicitly then it would fail the check
inside the pro file.  So this ensures that this is accounted for.

Task-number: QTBUG-20516

Merge-request: 2657
Reviewed-by: ossi
(cherry picked from commit ce1a25fc692abcaa1c825f465d6a158efa953b06)
Change-Id: Ice1a25fc692abcaa1c825f465d6a158efa953b06
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2011-11-18 12:11:44 +01:00
Oswald Buddenhagen 54e8d660ad remove obsolete define
(cherry picked from commit 85cd78b01812d108f381e42b044abaa888c4146e)
Change-Id: I85cd78b01812d108f381e42b044abaa888c4146e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2011-11-18 12:11:44 +01:00
Jędrzej Nowacki 2aba4e12ba Fix a memory leak in QXcbConnection.
Change-Id: I2307bf434c53d9321c71609eeacc1f3883bbbb13
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-11-18 10:31:07 +01:00
Friedemann Kleint abe5a0a432 qtbase: Warnings fixes.
Change-Id: Ie97e36bc168b3de3cae2d0eb615e777884529a06
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2011-11-18 10:31:07 +01:00
Rohan McGovern fc3705cd04 Fixed crashes from tests using xcb plugin with -qtnamespace.
Use QT_BEGIN_NAMESPACE/QT_END_NAMESPACE consistently in xcb plugin.
Some, but not all, of the sources were already using QT_BEGIN_NAMESPACE.

Change-Id: I23b83cc88870fd4039437b733084ab86dd807356
Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
2011-11-18 03:18:48 +01:00
Jørgen Lind 18affc8c0a Add correct event mask for Qt::WindowTransparentForInput in xcb plugin
Change-Id: I4c683c08876cc6fa934971399af7e48b160168fc
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-11-15 20:07:17 +01:00
Laszlo Agocs fc659979e6 Properly handle position in non-synthetic ConfigureNotify with xcb
The received window position cannot be trusted blindly, e.g. in case
of resizing a window via the mouse or calling showMaximized() the
position is bogus (for our purposes). Instead, it needs to be queried.

Before 37f338e5ed an incomplete
workaround was in place however it got removed in that commit,
resulting in weird off-by-a-certain-amount mouse position issues in
certain use cases. This patch aims to fix the issue similarly to how
it was done in Qt4.

Change-Id: I2d2a69b81a2782117b700fe366fae4c102aca1f4
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-11-15 01:05:49 +01:00
Rick Stockton a329fc574b Support 31 mouse buttons (with platform plugins xcb and xlib).
This commit includes changes for mouse button support within the XCB
and XLIB platform plugins. Support in other platform plugins will be
added in the future. The namespace update is prerequisite to compile
the the Plugins, and the update in qguiapplication.cpp is required for
the enhancements to actually work.

Task-number: QTBUG-22642
Change-Id: Ie18fca3b9c86d0b6abbf2103a4f8582e6ce83e7d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-11-14 18:41:17 +01:00
Friedemann Kleint 0572b972d8 Windows platform plugin: Fix compilation with MinGW.
Change-Id: Ibecfc7c5314d0dea7d796cbc586e5db05e2a80ee
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-11-14 10:27:57 +01:00
Friedemann Kleint 4e732b87d2 Factor out QPlatformTheme from QPlatformPlugin.
Implement QCocoaPlatformTheme. The menus and dialog
API is moved from the platform to the theme plugin.
(Both APIs contain references to QtWidget classes,
which we are working towards removing.)

The theme plugin is created after the platform
plugin, first by asking the platform plugin, then
by looking for a separate plugin if the platform
does not specify a theme.

Initial-patch-by: Morten Sorvig <msorvig@trolltech.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>

Change-Id: I2778cdd3a205c4ce35ead93e39fe6b4cd58a39f9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-11-11 15:22:02 +01:00
Friedemann Kleint af914694d8 QPlatformDialogHelper: Split class hierarchy, decouple from Dialog
- Introduce hierarchy of QPlatformDialogHelper-derived classes
  for font, color and file dialogs.
- Start reducing dependencies on QDialog:
  * Remove QDialog-specifics from interface, introduce enumeration
    for DialogCode
  * Make the helpers Q_OBJECTS to be able to add the signals
    passed on to the QDialogs
  * Remove QDialogPrivate pointer
- Split setVisible_sys() in show_sys() (factory method for native
  dialogs) and hide_sys(). Pass parent window to  show_sys(),
  removing the necessity to query the QDialog for it
- Introduce a styleHint() similar to QGuiApplication's for
  platform-specific
- Fix compile in cocoa/windows, reduce depency on QDialog
  (-private) classes.

Change-Id: Ic1cb715e1edf767f2cb18b9780341d189339ef1d
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-11-11 10:58:10 +01:00
Morten Sorvig 95c007e1f5 Compile.
QNSPanel must be a NSPanel and not a QNSWindow
subclass.

Change-Id: I1de31e147757824610f4aabc0ef66ae3906dc0f6
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2011-11-10 12:55:36 +01:00
Johannes Zellner 08c2368911 Fix build when QEGL_EXTRA_DEBUG is defined for debug output
Also shift EGL configuration plot above window surface creation

Change-Id: I2de860e087cb2648b6e8e9b75365fbe78fe7687a
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-11-09 22:13:20 +01:00
Johannes Zellner b44011fb77 Adopt eglfs platform plugin to changed QEGLPlatformContext API
eglClientVersion is not used anymore

Change-Id: I8595a17386c1466d7766522adbdbd7cd5002ecf8
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-11-09 18:20:00 +01:00
Morten Sorvig 2fd3dbb00c Cocoa: Implement mouse and keyboard grab.
Change-Id: Id53ff19d43213d79aaf8f1a6617a06ef9d0cfb4b
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
2011-11-09 12:16:58 +01:00
Morten Sorvig ed55c4a14c Cocoa cursor support: Add QCocoaCursor.
Port the Qt 4 mac implementation.

Change-Id: I3bc6fd0b5a0398dcf43a5aaa3b498bb74b42c105
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-11-08 15:52:28 +01:00
Friedemann Kleint 5a67cd2495 Windows: Add dialog helpers for native dialogs.
Implement QPlatformDialogHelper for file dialogs based on
IFileDialog. Add prototypical implementation of color dialogs.

Change-Id: If3c7470be6c0b8fbf8cfea1b6638bda43afafea7
Reviewed-by: Oliver Wolff <oliver.wolff@nokia.com>
2011-11-04 15:58:17 +01:00
Friedemann Kleint 7d7b2d4218 QtGui: Fix compilation with gcc 4.4
- Do not mix QStringLiteral and Q_TR_NOOP.
- Replace static QString member variables by
- static member functions to return the strings.
- Use tr() since QAccessibleActionInterface declares it.

Acked-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>

Change-Id: Iabbee8ef61a5d7bfd35978a3f1cce1866329d065
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-11-03 20:07:04 +01:00
Oliver Wolff e84b8a3475 Fixed returned geometry of toplevel child widgets
If a widget has got a parent widget but also is a toplevel widget it
should not return its geometry relative to its parent.
In addition to that, child widgets which are not toplevel should not
change their left and top values according to their parent but also
keep their width and height intact.

Change-Id: I5e641abf5ddc0b8d056ba023f8de52af1d2ccc9f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-11-03 18:43:52 +01:00
Friedemann Kleint 7d560240fa Windows platform plugin: Fix compiler warnings.
Change-Id: Id7111ca74455b93aabb803babff51c4393508dbc
Reviewed-by: Oliver Wolff <oliver.wolff@nokia.com>
2011-11-02 15:44:04 +01:00
Bradley T. Hughes ca25b63bea Silence warning from clang: semicolon before method body is ignored
qnsview.mm:171:45: warning: semicolon before method body is ignored
      [-Wsemicolon-before-method-body]
- (void)handleMouseEvent:(NSEvent *)theEvent;
                                            ^

Change-Id: I0b2fdd9c28586ce03f14f784d35e88dbbb5bd8f4
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-11-02 13:23:10 +01:00
Liang Qi 1365d290c6 Remove S60/symbian specific code in plugins/bearer
Clean up and remove Symbian specific code and data.

Change-Id: Icef41c22f143278a66f6a46ca80c495d083bf9a9
Reviewed-by: Alex <alex.blasche@nokia.com>
2011-11-01 01:51:32 +01:00
Lars Knoll d7649245ec Fixes to the ibus input context
Adjust to changes in the QPlatformInputContext
and implement commit(). Fix a bug that caused the
cursor to be hidden after the first commit.

Change-Id: I85e59a72766d1180a54df412cf33beb653af4e7b
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
2011-11-01 01:51:32 +01:00
Lars Knoll d94c61a941 Remove S60/symbian specific code
Clean up and remove Symbian specific code and
data.

Change-Id: I89976fd087d485e04d37eccd3aeb3d2beac59b0a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2011-10-29 21:18:45 +02:00
Friedemann Kleint 1cae2fdb86 Examples, plugins: Remove remains of qpa in profiles.
Change-Id: I0fc45c6c4df6d1f07472aec30b9e64b55db8e543
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-10-28 15:04:54 +02:00
Bradley T. Hughes 6476ac738c Replace implicit QAtomic* casts with explicit load()/store()
Change-Id: Ia7ef1a8e01001f203e409c710c977d6f4686342e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2011-10-27 18:57:38 +02:00
Friedemann Kleint 434824aede Fix compiler warnings.
- Fix gcc 4.6.X warnings about assigned but unused variables
- Remove trailing ';' from inline functions (Clang)

Change-Id: I8670afd6b149748a740f22c65de137762e9f18e1
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-10-27 16:35:12 +02:00
Friedemann Kleint 19b029cd9d Windows: More fine-grained paint event handling.
Pass expose events to GL widgets, handle invalid
update rectangles, ignore WM_ERASEBKND (using code from 4.8).

Change-Id: Ide062efb392292fff556d37b0ef0e880676748a2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-10-27 11:12:38 +02:00
Simon Hausmann 92740638df Initial support for MeeGo's input method server
This platform input context plugin is based on the dbus protocol used in MeeGo
1.2 Harmattan's input method server.

It supports composition, mouse-click-on-preedit as well as basic input method
hints. Missing are: Copy & paste, preedit injection, key redirection as well
as a bunch of other smaller MeeGoTouch specific features.

Change-Id: Ic3a8741f7a5ed18b379985e316cb137f7b8f6a8e
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Reviewed-by: Kenneth Rohde Christiansen <kenneth.r.christiansen@nokia.com>
2011-10-27 11:12:38 +02:00
Frederik Gladhorn 5aa14793c4 Add default actions to QAccessibleWidget.
Change-Id: I9f251aad663fd0b8db2ef068c6581241d91c090d
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-10-27 11:12:38 +02:00
Morten Sorvig 8f912c5c0f Native file dialog support for Mac
* New API: QPlatformDialogHelper to support native dialog on QPA.
    (Currently, It supports only file dialog.)
* Modify QDialog* and QFileDialog* to support native dialog.
* Add native file dialog support to cocoa platform plugin.

Change-Id: I957f046748a27a33fd9f8af3c525feabd1b0f582
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-10-27 11:12:38 +02:00
Morten Sorvig 3849455ee7 Cocoa: Set correct child window geometry.
Remote globalGeometry which was completely wrong,
replace with flipRect which converts from Qt
screen coordinates to OS X screen coordinates.

Change-Id: Ie560cb7c2266fe779da8a44a35596d2d12af77f5
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-10-27 09:38:26 +02:00
Morten Sorvig db44fdf4d6 Cocoa: Implement propagateSizeHints.
Change-Id: Idc1244ffbf975972f01d9ee48092500a72739d37
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-10-27 09:37:29 +02:00
Friedemann Kleint 82d6518696 Windows: Fix Open GL formats.
- Add swapInterval as additional format
- Query context format correctly and store in separate struct
  (default vs requested/obtained)
- Cosmetics, rename enumerations, structs.

Change-Id: I381cf8e1bde33e6624feb549437c7b95dd85e93c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-10-26 18:06:39 +02:00
Frederik Gladhorn b8d702dc8e Implement child instead of navigate in QAccessibleMainWindow.
Change-Id: I321ce4f8bb6e724db87a0419f890174b32cc1fe2
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-10-26 13:50:12 +02:00
Oliver Wolff 318a274381 Readded PrintSupport for Windows
The prepared plugin architecture for
printing support was used as much as
possible but some functionality had to
be done in src/printsupport.

Change-Id: Ic8446cb8018a0970b4da97c1912ba6dc20d2a09f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-10-25 15:55:10 +02:00
Laszlo Agocs 54c132480b Update readme about xcb plugin dependencies
Change-Id: Ia317ce96db3400f43cf800619fddcf76b5ab450a
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-10-25 15:50:56 +02:00
Morten Sorvig 5603f94eaa Remove "duplicate objective-c class" warning.
Qt would dlopen both libqcocoa.dylib and
libqcocoa_debug.dylib, causing duplicate implementations
if the classes in the cocoa plugin (QNSView etc)

Fix this by building the release version only.

Change-Id: I1244a83c49999ce28edd97400e792fa2a0665fec
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-10-23 10:23:32 +02:00
Morten Sorvig f6e0a2f59f Cocoa: clean up compiler warnings.
Change-Id: I2cb65bb455b79b218a317b21e5a3b0d9792e0e22
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-10-23 10:23:23 +02:00
Holger Hans Peter Freyther c7df1af337 [directfb] Implement grab/ungrab of keyboard/pointer
Change-Id: Ie2b99bb659e324c63bfd23e96d6c89c13a8df3b4
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-10-21 16:54:45 +02:00
Holger Hans Peter Freyther 960502d91a [directfb] Remove grabbing of the pointer on input
This should not be done on the input level but we should handle the
requests on the QWindow to grab/ungrab the pointer

Change-Id: Ibc61b300bf8de20f576fb8972fadf18de4a142c1
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-10-21 16:54:45 +02:00
Holger Hans Peter Freyther c8746d886f [directfb] Implement QPixmap::fromFile using DirectFB routines
The code is based on Qt 4.8 DirectFB support, it was reduced
in size (cosmetic changes, by using the outPtr()) and it has a
bugfix to pass loadAsBitmapOrPixmap that assumes the loadFromFile
routine will add '.png' and other extensions to the file.

Change-Id: I25b11206053c02be5c04730fba5bb42bd07426d1
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-10-21 16:54:45 +02:00
Holger Hans Peter Freyther b1c803a925 [directfb] Prepare to select the alpha/opaque pixel formats
Right now we assume to use 32bpp but depending on the hardware
this might not be optimal at all. Begin to prepare the code for
not having a 32bpp surfaces.

Change-Id: Iedfa49c568559e074dfaeae2a216c9eb93721d2c
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-10-21 16:54:45 +02:00
Holger Hans Peter Freyther d43775b93b [directfb] Manage the font database with a QScopedPointer
Attempt to fix a memory leak on exit by deleting the font database.

Change-Id: I07b0865c97bb8ef26950bf231b5239ca01e95c56
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-10-21 16:54:45 +02:00
Holger Hans Peter Freyther 577d51ee22 [directfb] Remove some duplication in the QDirectFbBlitter c'tor.
Introduce dfb_blitter_capabilities that returns the QBlittable::Capabilities
of the DirectFB blitter.

Change-Id: Ifb803ff4f07376d5333ad2d05ff72d9a63d17fff
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-10-21 16:54:45 +02:00
Holger Hans Peter Freyther 91e99d1420 directfb: Initialize m_dfb after DirectFBInit has been called
The QDirectFBIntegration is responsibe for deleting the DirectFB
instance but it can only initialize the DirectFB instance after
the DirectFBInit has been called. Change the order. This issue
got introduced by myself in 3faa89f4.

Change-Id: Ia67d439152d895e2e0a47f35eed57348c629f79f
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-10-21 16:54:45 +02:00
Holger Hans Peter Freyther 500dc2a6f8 [directfb] Introduce the QDirectFBPointer from QWS/gfxdrivers
Introduce QDirectFBPointer and use it throughout the code to
fix various resource leaks in the DirectFB backend. Fix the surface
ownership of the IDirectFBSurface in the Blittable/BackingStore
code.

Change-Id: I0d4572eaab80b3558e644f26d76222461bf37bbb
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-10-21 16:54:45 +02:00
Holger Hans Peter Freyther 405894fc39 [directfb] Make QDirectFBInput a QThread to allow proper exits
Without this patch the application will get stuck waiting for the
IDFBEventBuffer to report an event. We will use the
IDFBEventBuffer::WakeUp function to interrupt the waiting but this
produces the below error on exit:
QEventLoop: Cannot be used without QApplication
QThread: Destroyed while thread is still running

This is solved by making the QDirectFBInput a QThread, reimplement
the run() method to handle the events. It should work as this is
only posting events to the QApplication event loop.

Change-Id: I24adf2b080f96c72ede6a5499f484ac33fdd44fc
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-10-21 16:54:45 +02:00
Holger Hans Peter Freyther acd09c21f7 [directfb] Use QScopedPointer to manage heap allocated objects
Use QScopedPointer to avoid trying to manually delete objects. For
some of the cases the leak would only be viewable when things are
getting shut down. Leave in some more warnings for cleaning it up,
e.g. the m_eventBuffer of the Input is leaked and the input task will
only stop after another key event.

Change-Id: Ic54568343605b4ab7094a7dece40e22250184a37
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-10-21 16:54:45 +02:00
Holger Hans Peter Freyther 9e54d1deab [directfb] Fix memory leak when passing arguments to directFB
We need to delete the array but also the elements inside it.

Change-Id: Ib61beeca569802638b9ff3b94ede79c0beebb399
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-10-21 16:54:45 +02:00
Holger Hans Peter Freyther 421abf8d59 [directfb] Do not call a pure virtual function
In 688d9f6ec0 the base class
was changed from QWindowSurface to QPlatformBackingStore but
QPlatformBackingStore::resize is pure virtual now.

Change-Id: Ib36f177d80e9458e7e8e34f587e4554c0462e35c
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-10-21 16:54:45 +02:00
Holger Hans Peter Freyther d8fc8aa585 [directfb] Rename class from WindowSurface to BackingStore
Catch up with the naming by renaming the file from windowsurface
to backingstore, update the class names and include files.

Change-Id: I1b16826b60c19490946a77f61518e18f8099adce
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-10-21 16:54:45 +02:00
Holger Hans Peter Freyther ab50b60f5c [blitter] Work on tst_QPixmap::clear()
By default QPixmap may not hasAlphaChannel(), only if setMask()
or fill() with a transparent color is called a QPixmap will
hasAlphaChannel().

Make the QBlittablePlatformPixmap remember if there is an alpha
channel, pass this as parameter in createBlittable to make it
clear that this is required and not optional.

Update the DirectFB plugin to handle this parameter to create a
RGB32 or ARGB Surface depending on the alpha value, also only use
PreMultiplied alpha when using ARGB. Separate the two constructors
for the QDirectFbBlitter to either adopt a DirectFB Surface or to
create one.

Change-Id: I8abf82408ecd2d075fc6f241ace8be2a34ac56e7
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-10-21 16:54:45 +02:00
Laszlo Agocs d40f4105cd Remove mtdev dependency from the touchscreen QPA plugin.
There is no reason to enforce the usage of the mtdev library. As long
as ABS_MT_TRACKING_ID is provided protocol type A is perfectly enough.

This makes the plugin more suitable for embedded systems.

Change-Id: I73ce4a1056a6dc27daacb69dc4761bca393a7e43
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
2011-10-21 12:34:50 +02:00
Jan-Arve Saether df1c1d28de Mark the most important MSAA functions as "moz: [important]"
See comment inside commit for explanation.

Change-Id: Ifc05d479ac5094f21f8db0390ae21d99eef0dbe1
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2011-10-20 02:32:41 +02:00
Morten Sorvig cff475f339 Move a11y inspector from tools to util.
Change-Id: Ifc032c511aea72a8f7a4ec62d304e89718f712db
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-10-20 02:31:45 +02:00
Friedemann Kleint 40738b185d Windows: Fix Geometry, OpenGL formats
- Do not use size returned by GetWindowRect for child windows
- Turn Open GL samples off if number is 1.

Change-Id: I2f44606d965fe691548094771deda7bca51ef9a6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-10-19 22:27:09 +02:00
Frederik Gladhorn 4dc25c1f29 Refactor QAccessibleActionInterface.
Some refinements done by Jan-Arve Sæther.

Change-Id: I99195b3c7273316cfa9c46e451924bbcfddd11a9
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-10-19 19:25:42 +02:00
Morten Sorvig 946805f07f Cocoa: Add initial accessibility implementation.
See qcocoaaccessiblity.h for details.

For now only the first level of the hierarchy is
made accessible.

Also add tools/accessibilityinspector which is an
utility for inspecting and debugging the Qt
accessibility tree.

Change-Id: Iff520bec26b3761feb0c2e00471feb379daaa735
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-10-19 03:04:40 +02:00
Friedemann Kleint b419e567c0 Windows platform: Improve Open GL.
- Pass on version to ARB.
- Query obtained ARB format more fine-grained depending on version,
  indicate failures
- Fix GDI contexts and introduce gl=gdi to activate the GDI
  functionality
- Adapt window flags after setParent if top level state changes
- Remove unused OpenGL flag from integration/context

Change-Id: I59ca74ee1fa727bd2bcfd605b3907bc82cca18fa
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-10-18 15:47:49 +02:00
Casper van Donderen 0e341948ae Remove stale documentation.
Change-Id: I85139e0334b648bee0d18129cef9387dcc6c3222
Reviewed-by: Jerome Pasion <jerome.pasion@nokia.com>
2011-10-18 10:26:39 +02:00
Friedemann Kleint 41b01096cc Remove Q_WS_ in text codecs.
Change-Id: Id27d82f91a21107f31f73d7f2920629a512dc2a1
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
2011-10-18 08:21:33 +02:00
Jocelyn Turcotte 4ab691ad65 Fix TouchEnd events not being received on Harmattan.
TouchEnd is sent when all the touch points have a TouchPointReleased state,
and we would clear all touch points on finger release before sending them
up the stack.

Change-Id: I14e7347090ce9a1865743202f6926ae2fc035bd3
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
2011-10-17 18:03:13 +02:00
Jocelyn Turcotte 4521e2ec61 Add multipoint touch support for Harmattan to the xcb platform plugin.
Proper multipoint touch support was only introduced in XInput2.1, but Harmattan uses
a tweaked version of XInput2.0 that transfers touch data through mouse events.

This patch applies on the xcb plugin a subset of the changes that were applied on the
Qt 4.7 that was shipped to Harmattan to get similar multipoint touch support.

Change-Id: Ifda7ad40de29d7ded1443d4f78b3ec3807303a9f
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
2011-10-17 18:03:13 +02:00
Laszlo Agocs 5d8d7b1dbc Add a warning and a return value to xcb's createGLPlatformContext
There was no value returned previously when none of GLX, EGL, DRI was
enabled. Now we show a warning message and return null (resulting in a
crash). Previously not returning a value resulted in obscure crashes
with strange-looking call stacks, now it will be clear what the
problem is.

This is particularly important because not having libx11-xcb-dev
installed results in silently disabled xlib support which in turn
disallows the usage of glx too. The result is an obscure crash in any
GL (e.g. QML2) app. Now there will be a proper warning message at
least.

Change-Id: I15cf3a6c16ca373d4ada7abb6d3c8f7e30c1e03d
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-10-17 10:29:57 +02:00
Laszlo Agocs 86ea95259d Do not fail user time window creation when xcb is using xlib
QXcbWindow::updateNetWmUserTime() creates a new window using the
actual window as its parent. This operation was failing when Xlib
usage and GLX (or EGL) was enabled because in these cases the real
window was created with a different visual using XCreateWindow.

For the user time window however we were passing the xcb_screen's
root_visual always, and this cannot work when Xlib+GLX/EGL is in use,
resulting in a BAD_MATCH (followed by some annoying flicker on the
screen on Ubuntu at least, or a full log off (X crash?) on Fedora).

The patch saves the visual id used to create the actual window and
passes that when creating the user time window. This way the creation
of the user time window succeeds with Xlib+GLX too.

Change-Id: If3925d9ac1670d385dcc7c2b475c196908569f06
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-10-17 10:28:25 +02:00
Laszlo Agocs be1e6d17b9 Make the window active in eglfs and minimal plaform plugins.
Without a call to QWindowSystemInterface::handleWindowActivated() or
QPlatformWindow::requestWindowActivated() QGuiApplication's
activeWindow() and focusWindow() will return 0 all the time, and this
breaks key event delivery when key events are received not from a
windowing system but directly from e.g. evdev. In such cases the only
choice is to send the event to the active window but if there isn't
one the event will be lost.

These platforms will have one fullscreen window at a time so marking
it the active one should be a safe assumption.

Change-Id: Ia6f0e9f021fbd61bbd368ddc46f8a13fccda1c2f
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-10-14 19:42:17 +02:00
Frederik Gladhorn 736b3a6aca Accessibility plugin for mac and xcb.
Instead of creating new instances of the class whenever
accessibility() is called, create one on startup.

Change-Id: Idd5b06ee935d7acf4934b98882d254a1ef0ca04e
Reviewed-on: http://codereview.qt-project.org/6435
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-10-14 11:41:16 +02:00
Jocelyn Turcotte bb22b49650 Fix OpenGL on Harmattan showing only the first frame.
swapBuffers would wait until DRI2_InvalidateBuffers was received from the
X server, but would never receive it since we are not running the xlib event loop.

This patch calls the XESetWireToEvent xlib callback of an unhandled event from the
xcb event loop directly, if one is available for its response type.

Change-Id: I3b4ef3f6e3efbae25f49f161e229e9b15e951778
Reviewed-on: http://codereview.qt-project.org/6557
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-10-14 00:25:20 +02:00
Laszlo Agocs 472028c1d4 Calculate an area in the touchscreen qpa plugin.
Instead of ignoring the touch major/minor and returning a rectangle
with width and height of 1, the size of the area is now calculated
based on the major. This is incomplete and far from perfect but at
least it makes visualizers, like the fingerpaint example app, work out
of the box.

Change-Id: I3bb70b4d7247f289e5cae4e7de2460ecf2c9d009
Reviewed-on: http://codereview.qt-project.org/6566
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
2011-10-13 17:36:01 +02:00
Morten Sorvig 8346c192ad Cocoa: Update QPlatformWindow geometry on move
Change-Id: I976e4da646480d10cc6af444288c421d0645f689
Reviewed-on: http://codereview.qt-project.org/6541
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-10-13 12:57:22 +02:00
Laszlo Agocs 75246bbda7 Migrate the touchscreen generic qpa plugin to QWindow.
This plugin was still using QApplication and QDesktopWidget. The code
is now migrated to QGuiApplication, QWindow, and QScreen.

Change-Id: I22a7e15982efea16cbf560d09c8831cd82ed29d0
Reviewed-on: http://codereview.qt-project.org/6528
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
2011-10-13 08:05:48 +02:00
Friedemann Kleint 32ec981745 Windows: Adapt to new Lighthouse API
- Implement debug/deprecated options of QSurfaceFormat
- Implement stylehints
- Fixed input context to position the input window correctly.

Change-Id: Icba22f183c6895e30bd34d60cf6d2307ed3188cd
Reviewed-on: http://codereview.qt-project.org/6446
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-10-11 17:38:34 +02:00
Joona Petrell e941b37fcc Move input panel visibility ownership from QInputPanel to QPlatformInputContext
Now QInputPanel::visible() can be set true even when platform doesn't provide
a virtual keyboard. Like keyboard geometry, visibility should be dictated by
the platform plugin and not QInputPanel, whose role is more like that of a mediator.
QInputPanel::show() and ::hide() calls should be treated as requests that may fail.
Changed the QInputPanel's visible property to read-only as a setter that may
fail is not really a setter, show() and hide() should be used instead.

Enabling the new functionality cannot be activated immediatelly without breaking
existing keyboards, added a temporary function handlesInputPanelVisibility that
handovers the responsiblity of updating input panel visibility to QInputContextPlatform
only once QInputContextPlatform says that it is able to handle it.

Change-Id: Ideecaf7225cc3971f33a0ac976bd92cf7767475b
Reviewed-on: http://codereview.qt-project.org/6429
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Pekka Vuorela <pekka.ta.vuorela@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-10-11 16:03:25 +02:00
Casper van Donderen 0e6a401028 Remove stale documentation and fix qdoc errors.
Change-Id: I51bb0c52eb32d9d672d115f31b16d414f81708e2
Reviewed-on: http://codereview.qt-project.org/6433
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2011-10-11 16:03:12 +02:00
Olli Werwolff de6445272d Use freetype font engine on Windows
As windows' fontdatabases also uses functionalities from
qbasicunixfontdatabase it was renamed to qbasicfontdatabase. But instead
of iterating over the font directories' files it uses system calls to
obtain the list of fonts and uses registry values to find the according
filenames to add.
The native font engine was still kept. It can be activated by adding
fontengine=native as platformargument.

Change-Id: I7197bed5d18b8a33d4aa97ce91bfa1cd281b80ea
Reviewed-on: http://codereview.qt-project.org/5839
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Sanity-Review: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2011-10-10 13:17:44 +02:00
Jani Uusi-Rantala 2374bf3915 Minor build fix for newer XCB versions
- Defines XCB_WM_STATE_WITHDRAWN as XCB_ICCCM_WM_STATE_WITHDRAWN if necessary

Change-Id: I4212a0e1d7f14ac6695d23d6586dd97f898d3f2b
Signed-off-by: Jani Uusi-Rantala <jani.uusi-rantala@nokia.com>
Reviewed-on: http://codereview.qt-project.org/6267
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
2011-10-10 10:35:03 +02:00
Samuel Rødal 8ba313ee5a Make sure window state is synced back to Qt from the XCB plugin.
We should properly react to the property notify events.

Task-number: QTBUG-21856
Change-Id: I0d2aa90b7d8da3b96acf4d88684b0200de7d7413
Reviewed-on: http://codereview.qt-project.org/6266
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-10-07 22:27:13 +02:00
Samuel Rødal c5006a6fe2 Fixed potential issue in XCB plugin.
Use the actual atom instead of the enum value of the atom when
signaling that the event loop should exit.

Change-Id: Ib98c6a46cadcecc727b28411b4c0c12c434ea828
Reviewed-on: http://codereview.qt-project.org/6265
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-10-07 22:25:33 +02:00
Simon Hausmann 090d825e1d Fix QMouse/Wheel/TouchEvent::modifiers with the XCB back-end
The modifiers are provided by X and need to be propagated through the
QWindowSystemInterface.

Change-Id: I127d0b6e9918b558ca15d9302c4cc0cbd94eb757
Reviewed-on: http://codereview.qt-project.org/6244
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Sanity-Review: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
2011-10-07 18:27:53 +02:00
Morten Sorvig cdef653519 Compile on 10.6
Change-Id: Ifce1ab6ced179f68a3d08162940e9092b90beb11
Reviewed-on: http://codereview.qt-project.org/6124
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-10-06 11:24:20 +02:00
Samuel Rødal 7d2cfbe5aa Improved logical and physical DPI APIs.
Made physicalSize() return QSizeF instead, to prevent rounding errors.
Added logicalSize() as the base to compute font pixel sizes instead, and
added convenience functions in QScreen to access the logical and
physical sizes and DPI metrics.

Task-number: QTBUG-21736
Task-number: QTBUG-21737
Change-Id: Ic705dc98eb3632617659e65a0c9a552673dc0c65
Reviewed-on: http://codereview.qt-project.org/5888
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-10-06 09:36:39 +02:00
Frederik Gladhorn 74448afd03 Use child/parent function in QAccessibleWidget and test.
This also uncovered a missing implementation of child for
dock widgets.

Change-Id: Iac4c5a51d4626769af11b277a9a345e1e31dc490
Reviewed-on: http://codereview.qt-project.org/5987
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-10-06 01:28:12 +02:00
Zeno Albisser c46f59fadf Cocoa: Fix a variable shadowing issue that caused a crash on mac
Change-Id: I2d5ceb9502c769b5a585cdc6f1053168dfadbf12
Reviewed-on: http://codereview.qt-project.org/6000
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
2011-10-04 18:31:21 +02:00
Morten Sorvig 5066c914bd Cocoa: Add env variable for disabling foreground.
Setting QT_MAC_DISABLE_FOREGROUND_APPLICATION_TRANSFORM
prevents the process from having an dock icon and
taking focus.

Change-Id: Id127967d8ec1dadda790128f36a7c1f50d581433
Reviewed-on: http://codereview.qt-project.org/5968
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Zeno Albisser <zeno.albisser@nokia.com>
2011-10-04 13:29:13 +02:00
Simon Hausmann 4ebc83745d Fix compilation on Harmattan
Include Xlib.h for XInitThreads and add the SUPPORT_X11 macro
to DEFINES for Harmattan's EGL library.

Change-Id: I34ad284fe5b671f3924e406a18b8c5520df8346a
Reviewed-on: http://codereview.qt-project.org/5935
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-10-04 11:21:25 +02:00
Simon Hausmann 76a7f2048e Fix XCB back-end on Harmattan
Use RGB16 as image format on 16-bpp displays.

Based on patch by Jocelyn

Change-Id: Ic91ab33132769da59a2097abb43b64a2d09c0009
Reviewed-on: http://codereview.qt-project.org/5971
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-10-04 11:21:25 +02:00
Holger Hans Peter Freyther 68da915373 [fontdatabase] Use the CONFIG += qpa/genericunixfontdatabase
Late follow up of fc9a648dc0 that
tries to make plugins indifferent of where the source is located
in relation to qtbase.

Change-Id: I9a5944fe737056216c7174d8d9151c8d0e776a22
Merge-request: 64
Reviewed-on: http://codereview.qt-project.org/5933
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-10-03 17:25:57 +02:00
Simon Hausmann ab247307af Fix compilation on Harmattan
The inclusion of qbearerengine_p.h requires network-private

Change-Id: Ie28136dc6ee423721978d073fd401fecde2a7d35
Reviewed-on: http://codereview.qt-project.org/5930
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-10-03 17:25:57 +02:00
Frederik Gladhorn 5ea2eab00d Simplify QAccessibleAbstractScrollArea and Calendar.
Change-Id: Iea1df37fd9fd486295458ec7627f5b6908053cdf
Reviewed-on: http://codereview.qt-project.org/5727
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-10-03 15:31:42 +02:00
Morten Sorvig 9ac51af083 Cocoa: Send proper mouse coordinates.
Clear up coordinate system confusion. Also change
QApplicationPrivate::pickMouseReceiver to indicate
that, yes, it does modify the 3rd argument in
addition to returning the mouse receiver widget.

Change-Id: If2c44eff65aedfdc78c6da1728f31d6e2db71f9d
Reviewed-on: http://codereview.qt-project.org/5919
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
2011-10-03 15:31:42 +02:00
Paul Olav Tvete 75a66c3d76 Moving wayland plugin to the qtwayland submodule
The wayland platform plugin now lives in its own Qt module, together with
the qtcompositor library.

Change-Id: I4e85292cf41da4ef021ea832545ac37f5ed4e991
Reviewed-on: http://codereview.qt-project.org/5836
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Andy Nichols
2011-10-03 13:42:05 +02:00
Frederik Gladhorn 91ba742329 Rename description to localizedDescription in Action interface.
Change-Id: I9e15dabd47bb7dc27cb3748f6763789d8ccc7b42
Reviewed-on: http://codereview.qt-project.org/5622
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-10-03 09:59:27 +02:00
Frederik Gladhorn b67708f3d3 Use interfaces in QAccessibleWidget childAt.
Simplify the implementation of childAt.
Using rect(child) depends on the virtual children.

For QAccessibleMenuBar the implementation would assert.

Change-Id: I6ef018a063beee67d7436dff148e8b0219ff2a3c
Reviewed-on: http://codereview.qt-project.org/5742
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-10-03 09:58:27 +02:00
Morten Sorvig 7f57f29125 Cocoa: Fix spelling errors in comments.
This could be the basis for a "english spelling
for norwegians" course.

Change-Id: I1d6de11b6673ec0a8ba3c2ff12dd8472fb467703
Reviewed-on: http://codereview.qt-project.org/5691
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-10-03 09:56:09 +02:00
Morten Sorvig a7b92e8401 Cocoa: Fix window resizing
Set the geomeotry on the platform window on resize. (There
used to be a callback form the QWindow earlier.)

Change-Id: I2298a03d1e015279b28a02da9f05f90f25148efb
Reviewed-on: http://codereview.qt-project.org/5834
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-10-03 09:56:09 +02:00
Jan-Arve Saether 7e1a12d07d Fix QWindowsAccessible::GetWindow()
Since we added QAI::window() we now have a more reliable way of
getting hold of a HWND.

Change-Id: I330ecee67f041d5b204ef4bc1401ce4cc76de2b7
Reviewed-on: http://codereview.qt-project.org/5840
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2011-10-03 09:56:09 +02:00
Friedemann Kleint 73945fb9f2 Windows plugin: Fix compilation with MinGW.
Change-Id: I6c522b121fbac31ac5fc60a9125e1565e78d50c0
Reviewed-on: http://codereview.qt-project.org/5890
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-10-03 07:57:41 +02:00
Tor Arne Vestbø 95dfb6e668 Don't use un-guarded printfs for debug logging in XCB platform plugin
Using qDebug() instead of printf and friends allows clients to install a
message handler to supress the output.

The remaining printfs in the code are all guarded by custom debug ifdefs.

Change-Id: I38edc7452184783152f26b4dde6342c3bb9ef799
Reviewed-on: http://codereview.qt-project.org/5875
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-10-03 05:57:45 +02:00
Jan-Arve Saether 87ae97c11a Refactor accessibility for Qt5
* Moved most stuff to gui\accessible
* Moved widget-specific stuff to widgets\accessible
* Moved platform-specific code to either the bridge plugin (this was already the case)
  or to the platform plugin.
* Added several classes and functions. These have not yet gone through an API
  review. The plan is to do that in a later commit.
  Classes:
   - QPlatformAccessibility
   - QWindowsAccessibility
  Functions:
   - QWindow *QAccessibleInterface::window();
   - QPlatformAccessibility *QPlatformIntegration::accessibility()

* The bridge code can now either be a plugin or integrated into the platform plugin
* Mac accessibility is left out for now. Unix "should still work" (tm). These platforms
  should be fixed soon.

Change-Id: Ib49ffa73b647ee0af90864544c2769440157f562
Reviewed-on: http://codereview.qt-project.org/5330
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-09-29 13:32:59 +02:00
Kent Hansen dea76f3496 Make qtbase build with Qt-in-namespace again
Change-Id: I5faa8690a05d6ec352fc69c0b69848539f2ed216
Reviewed-on: http://codereview.qt-project.org/5460
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-28 12:18:37 +02:00
Friedemann Kleint 24b99f819c Re-enable the Windows plugin.
Revert 732bfbe8e8.

Change-Id: Ia24d06b4e89936ede97c89b76214d1a9c9de9b53
Reviewed-on: http://codereview.qt-project.org/5679
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-09-28 12:17:24 +02:00
Friedemann Kleint 36850d5cec Fix compiler warnings.
Change-Id: I6b6d86097074a12c9c4e3d22fe61a6b962ffa21e
Reviewed-on: http://codereview.qt-project.org/5627
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-09-28 03:17:51 +02:00
Frederik Gladhorn e918598e2d Simplify QAccessibleTextEdit.
Before the text edit tried to represent each line of text as a child
of itself. With the editable text interface this is no longer needed.

Change-Id: If9927e522f955e863e91fd0a529a1ce6fafaddc3
Reviewed-on: http://codereview.qt-project.org/5624
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-09-28 03:17:28 +02:00
Frederik Gladhorn 96b6a16220 Always return something.
Change-Id: I39a357295eae82b2af8b97c964924965c74e0fbd
Reviewed-on: http://codereview.qt-project.org/5623
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-09-28 03:17:25 +02:00
Frederik Gladhorn 34f0f0bf7d Remove dead code from QAccessibleTabBar.
Change-Id: I084259184228beea4374e8c5370f9a21064cae26
Reviewed-on: http://codereview.qt-project.org/5526
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-09-28 03:17:22 +02:00
Frederik Gladhorn eee2de6aa1 QAccessibleToolButton fixes.
ToolButtons now consist of only one button.
They implement the action interface so that the menu
can be opened programmatically and the button clicked/checked.
The menu shows in the hierarchy as child of the button.

Change-Id: Ifebe5e19b4c55a9db4fb688274da906293566cc2
Reviewed-on: http://codereview.qt-project.org/5536
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-09-28 03:17:19 +02:00
Lars Knoll 8655e4bef4 Remove debug output
Change-Id: I1d1884956a02bc58e760f0893ec4762e3c2f3f4d
Reviewed-on: http://codereview.qt-project.org/5560
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
2011-09-28 03:17:16 +02:00
Samuel Rødal 187184b6c7 Prevent potential crash in QXcbConnection::checkEvent().
Change-Id: I4b2ed85fecbfc1cc4fecfa9bb37aa0d9bd329817
Reviewed-on: http://codereview.qt-project.org/5616
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-28 03:17:13 +02:00
Lars Knoll 66f8be7b73 Fix mouse coordinate translation when searching for a drop target
Correctly transform the coordinates when mapping from parent to
child in the window hierarchy. Also avoid a second roundtrip
to the xserver querying information that we already have.

Change-Id: Ia13f1c7ee20c60df283562daa4869d6db30a37e9
Reviewed-on: http://codereview.qt-project.org/5558
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-09-28 03:17:04 +02:00
Lars Knoll c4049750e7 Unlock the eventreader before calling handleEvent()
Handle event can cause accesses to the event queue from
other places (e.g. through checkEvent()). Unlock the
reader to avoid deadlocks.

Change-Id: I1e5a79ce556920127848fccc3387d711c7cd32c2
Reviewed-on: http://codereview.qt-project.org/5557
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-09-28 03:16:56 +02:00
Gunnar Sletta fff26f6287 Respect the QSurfaceFormat when constructing a QOpenGLContext on Mac
Change-Id: I1a17d2e7e060d9931d84afeb0fd42bc3b1f44e5d
Reviewed-on: http://codereview.qt-project.org/5527
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-09-27 05:15:38 +02:00
Frederik Gladhorn eddd87826e Simplify QAccessibleDial and make it inherit QAccessibleAbstractSlider.
This adds the value interface and removes the children of the dial.

Change-Id: I47eac77c01dce36db077f553054ef37353242f77
Reviewed-on: http://codereview.qt-project.org/4821
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2011-09-27 05:15:23 +02:00
Frederik Gladhorn a8dc1b15dc Simplify QAccessibleSpinboxes.
Change-Id: I2fb3ef0ccd108539d8a4abbf3bbd3fdf6d94fac2
Reviewed-on: http://codereview.qt-project.org/4823
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-09-27 05:15:09 +02:00
Samuel Rødal 0bc19b4997 Implemented QWidget's move() vs setGeometry() distinction in QWindow.
QWidget's move() sets the position of the window including the window
frame, unlike setGeometry(). There was no equivalent for this in
QWindow, so several QWidget auto-tests were failing. Now we add
setFramePos() to achieve the same purpose in QWindow.

This fixes tst_QWidget::windowState(), which uses move().

Change-Id: I9a3e558bd615a8f0234cc3dd94fbb2bf5ecbc148
Reviewed-on: http://codereview.qt-project.org/5405
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-23 11:31:21 +02:00
Samuel Rødal 5fb67c1dac Don't flood expose events in the xcb plugin.
The X server sends a series of expose events, where the count member
specifies how many expose events are remaining in the current series. By
merging them into an expose region we can send a single expose event to
the lighthouse interface.

Change-Id: If73c9972fe02c5e4137e8742aaaf5679ccea5a09
Reviewed-on: http://codereview.qt-project.org/5366
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-23 11:30:54 +02:00
Samuel Rødal 078d701819 Only set frame margins as dirty when we get a configure notify event.
It's dangerous to set them as dirty in anticipation of a configure
notify event, as if frameMargins() is called before the event is
received the computed values are bogus.

Change-Id: Ib6db975fba5fcb13a2511e4716cbb5ca79265c34
Reviewed-on: http://codereview.qt-project.org/5365
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-23 11:30:47 +02:00
Samuel Rødal 37f338e5ed Fixed geometry issues.
We need to compare against the window's currently known geometry to know
when to send resize and move events. Also make sure at least one resize
event is sent, instead of sending one before each expose.

Change-Id: Id7ebe4c1c0e723af9198c668a0c736d64efdbf3e
Reviewed-on: http://codereview.qt-project.org/5364
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-23 11:30:38 +02:00
Frederik Gladhorn d8784cd393 Accessible ComboBox: remove virt children, add actions.
Simplify the combobox implementation by removing child logic.
Instead have an option to open the combobox.

Change-Id: I1bb517d0d064aefa28594b8fa957b8b2c9d48e88
Reviewed-on: http://codereview.qt-project.org/5032
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-09-23 11:15:36 +02:00
Jiang Jiang 8b4e40f535 Support adding application fonts with QFontconfigDatabase
QFontDatabaseQPA should be able to reinitialize database and
reregister all the fonts when an application font is added, because
it will trigger db->invalidate().

Add cloneWithSize support to QFontEngineBox so that even no usable
font is found in QFontDatabase, QRawFont::setPixelSize can still
work (without making the result rawfont invalid).

Register application fonts with QFontconfigDatabase, the code is
adapted from QFontDatabaseX11.

Reenable QRawFont tests for QPA, these usages are now supported in
QPA.

Fix QStaticText tests, raster in QPA does support transformations.
Translate the text before ZAxix rotation so that it will be visible
in canvas.

Add back fixedPitch support to QPA, and fix QFontDatabase tests.

Fix QGlyphRun tests, ignore non-existence glyphs in alphaMap
locking.

Fix QFontMetrics tests.

Task-number: QTBUG-21415, QTBUG-20754, QTBUG-20977,
             QTBUG-20976, QTBUG-20760, QTBUG-20759
Change-Id: I24aea7d6ec6b2ac6342134d1f2591327c23a692b
Reviewed-on: http://codereview.qt-project.org/5384
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2011-09-23 10:48:37 +02:00
Eskil Abrahamsen Blomfeldt 7f9b7c478b Fix preedit text on XCB
indexOfMethod() requires a full signature, not just a method name.

Change-Id: Icb15ab46cab61b35f5d56e8e94b71f5e3b72f97a
Reviewed-on: http://codereview.qt-project.org/5386
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-23 10:37:49 +02:00
Frederik Gladhorn 2af41a655a Accessible SpinBox remove dead code.
Change-Id: I8f3110a1683af98af605982277a618aa0ba97a64
Reviewed-on: http://codereview.qt-project.org/4822
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-09-23 00:34:31 +02:00
Oswald Buddenhagen 9b0b72fa48 workaround XCB-ICCCM 3.8 breakage, second instance
Change-Id: Ic456f6ca9d845f50506b41d71bb5d2b83239a37e
Reviewed-on: http://codereview.qt-project.org/5333
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-23 00:34:28 +02:00
Morten Sorvig 91ec8261ab Cocoa: Enable native menus.
Fix menu duplication bug: make QCocoaMenu::addAction
do nothing before the native menu has ben created.

Change-Id: Ifca192421f2073264de9f5faeb053008ecb8532e
Reviewed-on: http://codereview.qt-project.org/5135
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-09-22 09:11:45 +02:00
Frederik Gladhorn 1782bcefb6 Accessible Slider: Remove virtual children.
Change-Id: I58eca7d807b046b312117f9dbec6e2e36b5332cf
Reviewed-on: http://codereview.qt-project.org/4820
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-09-21 15:40:34 +02:00
Frederik Gladhorn 4f1e2aa27a Accessible Scrollbar: Remove virtual children, value interface
Change-Id: I3a8e74130eb79d289143cb7ac7b8c47cdd3db90c
Reviewed-on: http://codereview.qt-project.org/4819
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-09-21 12:07:19 +02:00
Lars Knoll 4ed5f2600f Fixes to the Xdnd code in xcb
Make sure we move the drag pixmap when required,
and readd some commented out code from Qt 4.x.

Change-Id: Ib4302b394f4ac7b966d0146267651b9c3860c62b
Reviewed-on: http://codereview.qt-project.org/5262
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-09-21 12:07:19 +02:00
Lars Knoll 0d4918950e Add Qt::WindowTransparentForMouseEvents
Add a flag for output only windows that are
transparent for mouse events and implement it
for the xcb backend.

Change-Id: I24afdb6b27de34bcdf0c061a5a4987ac2880e4ae
Reviewed-on: http://codereview.qt-project.org/5260
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-09-21 12:07:19 +02:00
Lars Knoll e915b7924f Create the window when needed
We need to create the XWindow here to
avoid crashes, when resizing the backing store
before creating the window.

Change-Id: Ib8d9efca3552e5a91f5f63a9262449080ae301e5
Reviewed-on: http://codereview.qt-project.org/5259
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-09-21 12:07:19 +02:00
Frederik Gladhorn 88dd8a25d8 Check argument count before accessing argument.
Also use QList::at instead of operator[].

Fixes: QTBUG-21403
Reviewed-by: Gabi
(cherry picked from commit 6997b836f445908cf53c1c96a69e3eb7ba535706)

Change-Id: I5d9de189e931b2b55fbd7baab0baad94adae352b
Reviewed-on: http://codereview.qt-project.org/4782
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
2011-09-21 10:27:48 +02:00
Pekka Vuorela dbdfdb2c95 Implemented key filter support on platform input context
As previously with QInputContext, now supporting filterEvent()
interface. Usage only on XCB so far.

Change-Id: I8e5972626552bda32318fe060017d0217bb79a94
Reviewed-on: http://codereview.qt-project.org/5240
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-20 19:18:19 +02:00
Bjørn Erik Nilsen 6a56b95b30 Cocoa: Adjust touch point rectangle by -0.5.
The actual touch point is supposed to be in the center of the rectangle,
and since the rectangle is 1x1 it means we have to subtract 0.5 from x
and y.

Change-Id: Ica4aba26dbe61328c8e7cbdcf8b02c96e2f41a40
Reviewed-on: http://codereview.qt-project.org/5256
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Bjørn Erik Nilsen <bjorn.nilsen@nokia.com>
2011-09-20 17:38:04 +02:00
Bjørn Erik Nilsen 4d310b52ee Cocoa: Update the geometry whenever the window moves.
Change-Id: I3d47d62aaa0b4ccc88159ba9b6d1a3ebd42fedf5
Reviewed-on: http://codereview.qt-project.org/5255
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Bjørn Erik Nilsen <bjorn.nilsen@nokia.com>
2011-09-20 17:37:50 +02:00
Bjørn Erik Nilsen ba654f8034 Cocoa: Add helper functions for NSPoint <-> QPoint(F) conversion.
... and use [NSEvent mouseLocation] as global mouse position rather than
relying on QCursor::pos() (which is buggy at the moment).

Change-Id: Ieb8000089d0d824bed89abd8b2add9e28273f227
Reviewed-on: http://codereview.qt-project.org/5254
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Bjørn Erik Nilsen <bjorn.nilsen@nokia.com>
2011-09-20 17:37:34 +02:00
Bjørn Erik Nilsen 3803111692 Cocoa platform plugin: Reduce multitouch area to be one pixel.
Mac only support multitouch points, hence width/height 1. Also add
comment about performance related to multitouch events.

Change-Id: I307261492366e361e17f9edf446f456c07c87a22
Reviewed-on: http://codereview.qt-project.org/5162
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Bjørn Erik Nilsen <bjorn.nilsen@nokia.com>
2011-09-19 18:56:32 +02:00
Bjørn Erik Nilsen 6e1f1df625 Cocoa platform plugin: update headers for multitouch.
See commit: b888bf1b515b47bc12dfaeac06f33af762ce0372
(Moved multitouch code from gui/widgets/ to plugins/platforms/cocoa)

Change-Id: I7c71f4d858cba4918392d477c6597b48e271ea99
Reviewed-on: http://codereview.qt-project.org/5154
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
2011-09-19 16:37:51 +02:00
Bjørn Erik Nilsen dc91f2f29b Cocoa platform plugin: Implement multitouch support.
Change-Id: Ic4b5bc4e48bd1e70cffedf15530b8a933037de66
Reviewed-on: http://codereview.qt-project.org/5153
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
2011-09-19 16:37:51 +02:00
Bjørn Erik Nilsen a201004830 Mac: Adapt multitouch code for cocoa to QWindowSystemInterface.
Change-Id: I4a80ed8a497dfb1b8b477e4a40ec91a16f1bb541
Reviewed-on: http://codereview.qt-project.org/5152
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
2011-09-19 16:37:51 +02:00
Bjørn Erik Nilsen 9d7e365918 Mac: Move multitouch support from widgets to cocoa platform plugin.
Change-Id: I91994801aefa1257e7bda51b409290f70ab9128e
Reviewed-on: http://codereview.qt-project.org/5151
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
2011-09-19 16:37:51 +02:00
Samuel Rødal 003060e292 Make sure to clip in QXcbBackingStore::flush()
Clip to image and window dimensions to prevent X errors.

Change-Id: I7fa581217444e00d6eb83ac356c600f86ae03636
Reviewed-on: http://codereview.qt-project.org/5140
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Holger Ihrig <holger.ihrig@nokia.com>
2011-09-19 16:37:51 +02:00
Frederik Gladhorn 76d0d19264 Add parent and child functions to QAccessibleInterface.
Stop the mis-use of navigate to find the parent.
In order to make navigation straight forward
parent and child functions are now part of
QAccessibleInterface.
This allows navigating the hierarchy of
accessible objects without the 1-based indexes in the
navigate function which lead to confusion.

Eventually the support for Ancestor in navigate can be completely removed
and forwarded in the windows bridge if needed.

In addition default parameters for virtual children.
This will make the transition smooth since it allows to remove the integer
already.

Change-Id: I278287ce17161f9fa46797ac244676778c859576
Reviewed-on: http://codereview.qt-project.org/5024
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-09-19 12:06:13 +02:00
Samuel Rødal 884251cdc1 Fixed XComposite hardware integration in wayland plugin.
We should set both the pixmap and window bits for XComposite to work on
a stricter EGL / GLX implementation.

Change-Id: Ie1be44ebcc68fed87f48c74dffd887ffae1189d5
Reviewed-on: http://codereview.qt-project.org/4893
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
2011-09-17 03:20:55 +02:00
Samuel Rødal 3061050b7f Set the correct buffer pointer (protected member variables are evil).
Change-Id: I6cdd64fbee5a9b46b44d8fadfc0f443dd1f4b140
Reviewed-on: http://codereview.qt-project.org/4862
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-09-17 03:20:37 +02:00
Frederik Gladhorn 79b19fd859 Accessibility: TabWidget - remove virt children, add action interface.
Remove virtual children by creating accessible objects for
tab buttons. Add action interface to activate tabs.

Change-Id: Ifc5e8ae6ec2708df97bbb9a94ddc1421d431ff87
Reviewed-on: http://codereview.qt-project.org/4793
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-09-16 08:54:47 +02:00
Jędrzej Nowacki f005dee1b3 Fix xcb-icccm 3.8 support
Build fix on platforms having xcb-icccm >= 3.8

Change-Id: Ia20c9a439d57e147db90d635679e471bfa02c840
Reviewed-on: http://codereview.qt-project.org/4779
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2011-09-15 20:39:28 +02:00
Frederik Gladhorn 9d3417d2a8 The Q_WS_X11 define exists no longer. Use Q_OS_UNIX.
Change-Id: I1c4b5d4187e1593aa52bc9162d9692959b55e077
Reviewed-on: http://codereview.qt-project.org/4786
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
2011-09-15 20:39:28 +02:00
Jason Barron 5043501e64 Get the Windows GL context to compile.
Not sure why this was not the case all along, but on my MSVC2008
installation the include must be prefixed by the 'GL' directory.

Change-Id: Icb29b072446bab386b5c62ab0df453ded41b8ede
Reviewed-on: http://codereview.qt-project.org/4914
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-15 09:11:35 +02:00
Jason Barron ebb929d493 Make the Windows input context compile after the refactoring.
There is no longer a focusObject setter/getter in the input context.
Instead the object can be gotten from the new input panel API. Instead
of reimplementing setFocusObject(), implementations should now connect
to the inputItemChanged() signal of QInputPanel.

Change-Id: I6c674424da5a0c8c3995e5f5acd191ef91ba8a00
Reviewed-on: http://codereview.qt-project.org/4913
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-15 09:11:35 +02:00
Frederik Gladhorn 204108d37b Remove AccessibleEx classes.
This was a binary compatibility hack to extend the accessibility
framework towards IAccessible2. Start fixing it properly.

Change-Id: I82bb0daa6469930c5bf6e440c919159603d56a83
Reviewed-on: http://codereview.qt-project.org/4750
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-09-15 09:11:35 +02:00
Jason McDonald 9fcb01810c Fix missing/incorrect license headers
Change-Id: I9db33c63c951f288f7a106c3008771699662d104
Reviewed-on: http://codereview.qt-project.org/4852
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2011-09-15 03:27:45 +02:00
Jason McDonald bf448d945a Fix email address in license headers.
Change-Id: I5abf378f91a3a8f453058f36254f04258147cc15
Reviewed-on: http://codereview.qt-project.org/4851
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2011-09-15 03:27:45 +02:00
Jason McDonald 0b788682d2 Fix stale license headers from refactor branch
Change-Id: I38cd941202641f50bf632af35165a944d03a20e3
Reviewed-on: http://codereview.qt-project.org/4848
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2011-09-15 03:27:45 +02:00
Jason McDonald e16314d9c7 Add missing license headers.
Change-Id: I3ea0028dbf712b569ca00646098a729d3ac40717
Reviewed-on: http://codereview.qt-project.org/4379
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lasse Holmstedt
2011-09-15 03:27:45 +02:00
Joona Petrell 486f1c284c Use QPlaftormInputContextFactory to load input context in Wayland plugin
Change-Id: Icd1d934463b550f0fcdf7d58df7c4fd1acb77ad8
Reviewed-on: http://codereview.qt-project.org/4740
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-14 21:30:42 +02:00
Joona Petrell 5926e4041a Fix warnings received when xcb platform is ran without ibus platforminputcontext
Warnings like
QMetaObject::invokeMethod: No such method PlatformInputContext::x11FilterEvent(uint,uint,uint,bool)
QMetaObject::invokeMethod: No such method PlatformInputContext::x11FilterEvent(uint,uint,uint,bool)
QMetaObject::invokeMethod: No such method PlatformInputContext::x11FilterEvent(uint,uint,uint,bool)
QMetaObject::invokeMethod: No such method PlatformInputContext::x11FilterEvent(uint,uint,uint,bool)

Ibus is not always available and QPlatformInputContextFactory is allowed to load different input methods.

Change-Id: Id498a5e024e6646e73ed4db2efe5b007e6601698
Reviewed-on: http://codereview.qt-project.org/4738
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-14 21:30:26 +02:00
Paul Olav Tvete 2aaa8a28d4 Don't build ibus when dbus is not available
Change-Id: I0011cae034f186f239f486f5d83635bf4d11b88d
Reviewed-on: http://codereview.qt-project.org/4879
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-14 21:30:08 +02:00
Rohan McGovern 732bfbe8e8 Windows: disable the (currently broken) Windows platform plugin
This plugin currently refers to some API which does not exist
(focusObject).  It has no chance to compile for anyone.  Disable it
until fixed.

Change-Id: I3b74b61bf5f73ba06ff73375b233a4e4ca6c1678
Reviewed-on: http://codereview.qt-project.org/4843
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
2011-09-14 05:06:33 +02:00
Rohan McGovern 47bd720019 Windows: correctly disable ibus plugin on Windows
The correct qmake scope is `win32', not `win'.

Change-Id: I148e764bbe94b6ca824a55458e080ca948dc304d
Reviewed-on: http://codereview.qt-project.org/4844
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
2011-09-14 05:06:28 +02:00
Gunnar Sletta b62bd0584a Merge branch 'refactor'
Conflicts:
	mkspecs/qws/linux-lsb-g++/qmake.conf
	src/gui/image/qpixmap_mac.cpp
	src/gui/painting/qpaintengine_x11.cpp
	src/gui/painting/qtessellator.cpp
	src/gui/text/qfontengine_qws.cpp
	src/gui/text/qfontengine_x11.cpp
	src/gui/widgets/qlinecontrol.cpp
	src/opengl/qgl.h
	src/opengl/qgl_x11egl.cpp
	src/plugins/plugins.pro

Change-Id: If52dcd55cd55f2983a756c2f843967702b60a310
2011-09-13 08:54:45 +02:00
suzuki toshiya 560e68e2bd Replace explicit surrogate handlers by inline methods of QChar class
Merge-request: 1284
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>

(cherry picked from commit 50af55095afe1ba048dde357b771485ef2188778)

Change-Id: I0b1967145ad62243afc2060a6ae4ca141a9609fd
Reviewed-on: http://codereview.qt-project.org/4587
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2011-09-12 16:03:47 +02:00
Holger Hans Peter Freyther 7b42532100 directfb: Include directfbgl.h directly
directfb.h is included directly in all other files, include
directfbgl.h without the directfb/ prefix as well.

$ pkg-config --cflags directfb
-D_REENTRANT -I/home/foo/install/directfb/include/directfb

Merge-request: 2643
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>

(cherry picked from commit 647ffa677f9bf6da50fcdb7a6948501e7e6719ce)

Change-Id: If96f378a95e7790132e89f934341977520367018
Reviewed-on: http://codereview.qt-project.org/4579
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2011-09-12 16:03:47 +02:00
Bernhard Rosenkraenzer 80cc17c78b Fix -no-gui
-no-gui still tried to build the graphicssystem and inputmethod
plugins, both of which require QtGui

Merge-request: 1215
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>

(cherry picked from commit f0ae4f8ebdc6b7c50c163cfa29e686f3f87c8ba5)

Conflicts:
	src/plugins/plugins.pro

Change-Id: I74ced5817989604f3beebf1fcc60eabaf1fd8115
Reviewed-on: http://codereview.qt-project.org/4568
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2011-09-12 16:03:47 +02:00
Samuel Rødal 2ce969d7f0 Fixed race condition in xcb plugin logging (when debugging is enabled).
Change-Id: I8fa11ba26037d8f78e7c5131326d94836d0de9d4
Reviewed-on: http://codereview.qt-project.org/4647
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2011-09-12 12:57:30 +02:00
Gunnar Sletta 449d1359ba don't build ibus plugin on windows/mac
Change-Id: I932eaea19806e3ce75803cb2849d04292885fbd5
Reviewed-on: http://codereview.qt-project.org/4631
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-09-12 09:16:14 +02:00
Takumi ASAKI 78fd865391 Clang Build Fix: Cocoa platform plugin
Fix some assignment from const values to non-const without cast.
Move #import to avoid compile error.
Fix type mismatch.

Change-Id: I93ae5cd07827b92a91093df979992616b26b14af
Reviewed-on: http://codereview.qt-project.org/4536
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-09-09 14:56:11 +02:00
Jiang Jiang 3655780f96 Fix a few memory leaks for QFontconfigDatabase
Change-Id: I015a9287f03d6965a77461d3e894de0492547cf3
Reviewed-on: http://codereview.qt-project.org/4480
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-09-09 13:24:47 +02:00
Lars Knoll 970df64669 Make inputcontext plugin loading a bit more generic
Add a create() method to the inputcontext factory that
takes no arguments.
Add a virtual isValid() to QPlatformInputContext to
determine whether it actually works.
Remove IBUS dependencies in the xcb code so that it
can also load other plugins.

Change-Id: I6345a845f48fd4b3cacf6d8652711b16835a235c
Reviewed-on: http://codereview.qt-project.org/4487
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-08 22:12:46 +02:00
Lars Knoll 2cdd7886bf Fixup a few minor errors in the previous commit
Methods need to be Q_INVOKABLE to be able to call
them with QMetaObject::invokeMethod(). Also use the
correct return type.
This makes the IBUS input context work again.

Change-Id: If7ed6dd8fb99f3363c4ecebb98f889ed9eeeff00
Reviewed-on: http://codereview.qt-project.org/4486
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-08 21:45:29 +02:00
Joona Petrell 8be1122710 Add plugin mechanism to load platform input contexts
Change-Id: I6e74fd395325445420efce4adf13e89abe8177ee
Reviewed-on: http://codereview.qt-project.org/4482
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-08 21:40:40 +02:00
Lars Knoll 6f65a55fa9 Rename ImMicroFocus to ImCursorRectangle
Also set ImhMultiLine on QTextEdit

Change-Id: I04a5a1d69c2048ea94c24210e2b8374f334be1b6
Reviewed-on: http://codereview.qt-project.org/4414
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-08 11:28:38 +02:00
Paul Olav Tvete b05d022ccd More xlib plugin fixes
Change-Id: I8b8093cd9e66129dd7cc631dd36a2fb27c3d617e
Reviewed-on: http://codereview.qt-project.org/4408
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-09-08 10:12:53 +02:00
Takumi ASAKI 2b1b51b558 Fix compile error on Mac.
Change-Id: I88123bc741303ff440f628f752f39486da81e426
Reviewed-on: http://codereview.qt-project.org/4358
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-09-08 08:44:15 +02:00
Paul Olav Tvete 37fe917272 Make the xlib platform plugin work again
Change-Id: I2921d707a7bed7cfba19e49283e3ec5eab3c449b
Reviewed-on: http://codereview.qt.nokia.com/4343
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-09-07 12:45:59 +02:00
Morten Sorvig cee63e2c17 Cocoa: QMenu refactor.
This change prepares for enabling native menus
on OS X.

Move code from src/widgets to cocoa:
- qcocoaapplicaiton
- qcocoaapplicaitondelegate
- qcocoamenuloader
- qcocoamenu
- qmenu_mac
- misc helpers to qcocoahelpers

Create a QNSApplication and
QCocoaApplicationDelegate at application startup.

New Lighthouse API:
- class QPlatformMenu
- class QPlatformMenuBar
- QPlatformIntegration::createPlatformMenu()
- QPlatformIntegration::createPlatformMenuBar()

Platforms that wants a native menu integration
subclasses QPlatformMenu[|Bar] and implements the
create function. The default implementation returns
0, which causes QMenu to use the standard Qt
menus.

This API is based on the current native menu
abstraction that Mac, Wince and S60 uses in Qt 4.
The main difference is that the platform classes are
proper standalone classes and not #ifdeffed into
QMenuPrivate.

Change-Id: I3da41f80b0ae903a476937908b1f9b88014b7954
Reviewed-on: http://codereview.qt.nokia.com/4068
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-09-07 11:00:36 +02:00
Samuel Rødal 5eaec40f63 Fixed symbol lookup failure with xcb when using GLX and XRender.
Change-Id: I17870f0acd934bf6203e432d406f1717d99386ee
Reviewed-on: http://codereview.qt.nokia.com/4310
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2011-09-07 08:51:29 +02:00