Commit Graph

45 Commits (5043501e64f5a7427fa2cd91989ce2c4e5c0c679)

Author SHA1 Message Date
Rohan McGovern 7e7a1eefb3 Windows: fixed compile of libQtPlatformSupport
It is incorrect to use QT_GUI_EXPORT to export symbols from any library
other than libQtGui.  When used outside of libQtGui, QT_GUI_EXPORT
attempts to _import_ symbols rather than _export_ them.

Change-Id: I7489067f479edd3acd9bf08bcaa24ee4dea4c3cc
Reviewed-on: http://codereview.qt-project.org/4838
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lincoln Ramsay <lincoln.ramsay@nokia.com>
2011-09-14 05:06:33 +02:00
Samuel Rødal 3ade4d260f Fix crash in QPlatformInputContextFactory.
If ic is null we shouldn't dereference it.

Change-Id: Idf472c799f8207d893f15a55fac330ea20ec451c
Reviewed-on: http://codereview.qt-project.org/4639
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-12 10:02:22 +02:00
Gunnar Sletta a9ac6da893 Merge branch 'master' into refactor
Conflicts:
	src/3rdparty/v8
	src/gui/text/qfont_qpa.cpp
	src/gui/widgets/qlinecontrol.cpp
	src/plugins/platforms/fontdatabases/fontconfig/qfontconfigdatabase.cpp
	tests/auto/gui.pro
	tests/auto/network.pro
	tests/auto/qstring/tst_qstring.cpp

Change-Id: Id118c172645303ccf06a207050d5bf1462ff57fe
2011-09-12 07:49:03 +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
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 a517afd54f MicroFocus is in item coordinates
Always set the microFocus/cursorRectangle in item
coordinates.
Correctly update the itemTransform in the QInputPanel for QWidgets.

Change-Id: Ic0187f808996f31e6238d934f43bc97a70522a55
Reviewed-on: http://codereview.qt-project.org/4402
Reviewed-by: Vesa Rantanen <vesa.rantanen@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-08 10:32:25 +02:00
Lars Knoll a30d4162dd Refactor the input framework
Results of the ongoing workshop in Oslo:
QInputPanel will be the application facing interface
for controlling the input context as well as querying
things like the position of the virtual keyboard.
QInputContext is significantly cleaned up and only there as
a compatibility API for existing code.

Change-Id: Ie8e2ee480930763f414bfaae63247b1fb6500c82
Reviewed-on: http://codereview.qt.nokia.com/4357
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Vesa Rantanen <vesa.rantanen@nokia.com>
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-07 14:59:18 +02:00
Morten Sorvig ceed409b40 Mac: make platformsupport a static lib
The "force framework/no-framework" logic does not
really work, since Qt is now a mix of frameworks
and statics libs. Remove this code path and use
the "detection" path instead.

Also remove the exports from platformsupport.

Change-Id: I0a308666480445eb47c4f443ff7529addecad10d
Reviewed-on: http://codereview.qt.nokia.com/3464
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-09-01 13:04:11 +02:00
Samuel Rødal 6e28e8441b Copy core GL functionality to QtGui with QGL -> QOpenGL naming.
Change-Id: Ibc989afa4a30dd184d41d1a1cd89f97196e48855
Reviewed-on: http://codereview.qt.nokia.com/3710
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2011-08-29 10:25:24 +02:00
Friedemann Kleint d1b3cc0d0c Fix some compiler warnings, shut up QIbusPlatformInputContext.
Change-Id: Idadf40b2bbe53928d8577a099f38a2be0a2d6e16
Reviewed-on: http://codereview.qt.nokia.com/3640
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-08-26 10:04:29 +02:00
Eskil Abrahamsen Blomfeldt b2c4c4fc2a Support QRawFont from raw data with basic unix font db
Add support for making a QFontEngine in QPA with the basic
unix font database. The code is copy-pasted from qrawfont_ft.cpp.

Task-number: QTBUG-20780

Change-Id: Id5492efe634fe90805fbca43356ec428d4d73117
Reviewed-on: http://codereview.qt.nokia.com/3511
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
2011-08-25 09:21:39 +02:00
Jørgen Lind 2aab5da496 Just change includes to be have <> brackets instead of ""
for QGenericFontDatabase

Change-Id: Iac61522194ab7aa3ea7359e51cc84952db8b90ae
Reviewed-on: http://codereview.qt.nokia.com/3471
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
2011-08-24 10:41:02 +02:00
Jiang Jiang 79df6d8e04 Fix fallbacksForFamily in QBasicUnixFontDatabase
So that this function instead of the one in QPlatformFontDatabase
will be called.

Change-Id: Ifdb75ada27723c688e42067c7633b08391d66467
Reviewed-on: http://codereview.qt.nokia.com/2696
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Reviewed-on: http://codereview.qt.nokia.com/3461
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
2011-08-24 09:45:53 +02:00
Jiang Jiang 9a19c73754 Fix weight parsing in QBasicUnixFontDatabase
First check the usWeightClass in OS/2 font table, then check
the weight byte in panose structure because Nokia Pure Text
fonts only have that set correctly.

Change-Id: Idce2626c8df17ce74ba78b317846cb42c3f1fe84
Reviewed-by: Jørgen Lind
Reviewed-on: http://codereview.qt.nokia.com/2682
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
Reviewed-on: http://codereview.qt.nokia.com/3460
2011-08-24 09:45:35 +02:00
Lars Knoll f4f1b53b96 Move printing into it's own library
Create a libQtPrintSupport library that contains our current
printing infrastructure. Long term this will get replaced
with a libQtPrint, as the current architecture is not
really maintainable.

Change-Id: I7362fff6786b58c5b4e9213c23eda36d15048aa2
Reviewed-on: http://codereview.qt.nokia.com/3209
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2011-08-19 09:16:42 +02:00
Gunnar Sletta 6136a792bc Enable multisampling and swap interval by default on cocoa
Change-Id: If3d1939e6196f5aa6654645d20dab7ad251046fa
Reviewed-on: http://codereview.qt.nokia.com/3138
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-08-18 10:14:35 +02:00
Samuel Rødal 06f6b71ba4 Don't set platform input context if it's not properly created.
Prevent xcb applications from failing to launch when IBus is not
initialized correctly.

Change-Id: I8425403e02d0eb5401f8d8bb0d012b53ab9400d9
Reviewed-on: http://codereview.qt.nokia.com/3044
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Matthew Cattell <matthew.cattell@nokia.com>
2011-08-16 15:38:48 +02:00
Jørgen Lind d34b0eb633 Fix platformsupport as installable module
Change-Id: I17c4723c551c1cee9c442e8d6c1289bccf505d3d
Reviewed-on: http://codereview.qt.nokia.com/2868
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Andy Nichols
2011-08-11 15:20:17 +02:00
Jørgen Lind 6c4dec7bff ibus depends on dbus
Change-Id: I9f38eaa84bf5befb6b37c2a55405d85b71cf4c95
Reviewed-on: http://codereview.qt.nokia.com/2543
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-08-03 09:09:01 +02:00
Samuel Rødal b03f5fd476 More graceful choosing of EGL configs.
If someone asks for a depth buffer of size 32, we should try to give
them a smaller depth buffer if none of that size is available. Also,
don't unconditionally read the alpha size of the  configure
attributes, since it might have been removed when reducing the config.

Change-Id: If2f9d49c1cc3ded015384f9551b19cd15c523ce3
Reviewed-on: http://codereview.qt.nokia.com/2269
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-07-27 12:17:53 +02:00
Samuel Rødal e4042435ba Get the eglfs plugin compiling.
Change-Id: I5addb1a2593a670d559b9fbf9183f52af410895b
Reviewed-on: http://codereview.qt.nokia.com/2176
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-07-26 12:02:32 +02:00
Samuel Rødal c3da77798b Added workable QScreen API on top of QPlatformScreen.
QPlatformIntegration::screens() no longer has to be implemented,
implementations should call QPlatformIntegration::screenAdded() for each
screen instead. This is for being able to support adding screens at
run-time later on, by connecting it to a signal in QGuiApplication.

The QGuiGLContext API has changed a bit, by not sending in all the
parameters in the constructor but instead having a create() function.
The createPlatformGLContext() factory in QPlatformIntegration takes a
QGuiGLContext * instead of a QSurfaceFormat and a share context, similar
to how the window and backing store factory functions work.

The XCB plugin has experimental support for connecting to multiple X
displays simultaneously, creating one or more QScreen for each.

Change-Id: I248a22a4fd3481280710110272c04a30a8021e8f
Reviewed-on: http://codereview.qt.nokia.com/2103
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-07-25 13:52:09 +02:00
Olli Werwolff 11e27a210a Fix minimal plugin for windows
Change-Id: Ica017cdad4c8205706b42767035d834498b63037
Reviewed-on: http://codereview.qt.nokia.com/1268
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-07-07 10:25:16 +02:00
Friedemann Kleint ce01064f83 Fix crash if IBus is not configured.
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-06-29 12:01:41 +02:00
Morten Sorvig 6190290ff1 Compile on Mac.
Mac is a Unix but we probably don't want to use ibus.
2011-06-28 12:22:59 +02:00
Morten Sorvig 0058f00b64 Factor out CGL code for reuse in wayland. 2011-06-28 12:14:12 +02:00
Lars Knoll 80eb461360 ibus IM support for the xcb backend
Test code to check input methods using the ibus backend
used on e.g. ubuntu. The IM code is not very sophisticated,
but enough to test that things are working.

Reviewed-by: Jørgen Lind
2011-06-27 14:31:15 +02:00
Morten Johan Sorvig 2f476d8465 Compile. 2011-06-23 11:15:13 +02:00
Morten Sorvig 454a4ebb67 Remove QEventDispatcherQPA inheritance support.
QEventDispatcherQPA is now a small "leaf" class,
there is no need to inherit from it or make it
inherit another event dispatcher.
2011-06-23 11:04:21 +02:00
Morten Sorvig 9988b12cc5 Add QWindowSystemInterface::windowSystemEventsQueued()
This removes the last use of QWindowSystemInterfacePrivate
from outside QtGui, so we can make that class non-exported
again.
2011-06-23 11:04:21 +02:00
Morten Sorvig 58d10c0bd7 Refactor window system event dispatching.
Add QWindowSystemInterface::sendWindowSystemEvents,
which contains the canonical "empty and send queued
window system events" implementation.

Make the Cocoa, QPA, and GLIB dispatchers use the
new implementation. Cocoa now no longer inherits
from QPA.
2011-06-23 11:04:21 +02:00
Morten Sorvig c359cf0017 Remove stray file. 2011-06-23 11:04:20 +02:00
Friedemann Kleint 4890211f03 Remove leftover file.
Code went into Windows plugin.
2011-06-23 10:27:26 +02:00
Friedemann Kleint a009fec107 Remove Windows code from platform lib.
Rubber-stamped-by: Jørgen <jorgen.lind@nokia.com>
2011-06-22 14:20:16 +02:00
Friedemann Kleint 111068f383 Add QGuiEventDispatcherWin32.
Dispatches Gui events after
DispatchMessage().

Reviewed-by: Samuel Rødal <sroedal@trolltech.com>
Reviewed-by: Morten Sørvig <morten.sorvig@nokia.com>
2011-06-22 13:43:47 +02:00
Morten Sorvig be4221d8fa Q_GUI_EXPORT is a mac-only workaround. 2011-06-22 12:04:03 +02:00
Lars Knoll e1293b49e3 add a platform interface for input method support
add QPlatformInputContext to help supporting
complex text input. Communication with the
focus objects/widgets will happen slightly
different then before, through events instead of
methods one can query on QWidget.
2011-06-22 10:46:11 +02:00
Morten Sorvig 4efaf305f5 Add lighthouse event dispatcher API.
Platform plugin creation is now moved forward in
order to have a platform plugin instance at event
dispatcher creation time.

Plugins are now responsible for implementing
PlatformIntegration::createEventDispatcher and returning
an QAbstractEventDispatcher subclass.
2011-06-22 09:47:49 +02:00
Samuel Rødal 176f30b137 OpenGL API refactor.
Rename QGuiGLFormat to QSurfaceFormat, and make QWindow sub-class of
QSurface and QPlatformWindow sub-class of QPlatformSurface, instead of
having QPlatformGLSurface accessor in QWindow.
2011-06-21 14:02:22 +02:00
Morten Sorvig 2e94bef1e4 Compile fix for platformsupport on Mac.
Switch platformsupport over to be a shared library,
which is well supported by the build system.

This requires exporting classes we use. I've done
this on OS_MAC only for now.

Reverts 4581a9999e
2011-06-21 09:52:29 +02:00
Richard Moe Gustavsen 1ed22cdfd3 Mac: buildfix for QtPlatformsupport 2011-06-20 14:18:26 +02:00
Richard Moe Gustavsen 83130d791d Mac: build fix. Make sure Platformsupport builds as a static lib.
...and not as an .app, as It did.

Rev-By: Jørgen Lind
2011-06-20 11:58:32 +02:00
Jørgen Lind 85a992a3f8 Compile fix, and remove warnings 2011-06-10 13:26:36 +02:00
Jørgen Lind dfd07cb247 Fix versionheader name for QtPlatformSupport 2011-06-10 10:11:41 +02:00
Jørgen Lind 6ee65dc478 QtPlatformSupport: A helper library for platform plugins
QtPlatformSupport is a static library. Platform plugins are meant to
link against this library to pull in dependencies such as fontengines
and convenience functions for finding the right GL configs. The linker
will only pull in the symbols used, so the size of the library doesn't
really matter
2011-06-10 09:46:56 +02:00