Commit Graph

720 Commits (104f8671ff018f5191a6f7e6d7f147f6449ee3a4)

Author SHA1 Message Date
Lars Knoll c9c33bd227 Fix support for drag pixmaps
Re-add the support for drag pixmaps to qdnd.
Use the new WindowTransparentForMouseEvents
flag for the window that shows the drag pixmap.

Change-Id: I4b594085c161475988b9be0ffdc02c75fcc37f66
Reviewed-on: http://codereview.qt-project.org/5261
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 21747af805 Return the correct geometry
When the platform window is created, it is the
authorative source for geometry information.

It would however be better if we could completely
avoid duplicated places for the geometry data.

Change-Id: Id90b24b9c40acb57f3d11b8b927292c06bac335e
Reviewed-on: http://codereview.qt-project.org/5258
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
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 252d1b34b2 QWindowSystemInterface: Fix wrong mapping of coordinates.
QTouchEvent::TouchPoint assumes the rect() is in local coordinates,
whereas QWindowSystemInterface::TouchPoint uses screen coordinates.
We must therefore use QWindowSystemInterface::TouchPoint::area as the
screenRect() rather that the rect() and then use the screen coordinate
to calculate the local coordinate by using mapFromGlobal.

Change-Id: If7a52f5668c3938f46bdd38a5ea82b5313d6b626
Reviewed-on: http://codereview.qt-project.org/5253
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:18 +02:00
Holger Hans Peter Freyther d5f12b898b [blitter] Fix memory leak in the blitter paintengine
The raster engine and the capabilities were leaked, use the
QScopedPointer to prevent that from happening.

Change-Id: I31ba0117280b48ad942fbb638fb151ccb7b34385
Merge-request: 59
Reviewed-on: http://codereview.qt-project.org/5242
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-09-20 15:49:35 +02:00
Holger Hans Peter Freyther dc4764229a [blitter] Use QScopedPointer for the engine and blittable
Use the QScopedPointer to prevent memory leaks, right now
the code appears to be sound but make it more clear that
calling ::setBlittable will destroy the old one.

Change-Id: Idc71add7cfd429ff5b9d0ea9908d9fff1e7ce74d
Merge-request: 59
Reviewed-on: http://codereview.qt-project.org/5243
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-09-20 15:49:15 +02:00
Aleksandar Stojiljkovic 3fa945ae7c Use QT_MAX_CACHED_GLYPH_SIZE in QFontEngineFT
Task-number: QTBUG-21162 - Letters get truncated when font size=72 and set to Italic
Reviewed-by: Eskil
(cherry picked from commit cd43d6386de6e66379fa23c1ea4ec06141167c86)

Change-Id: Ic05f775975d5f21e0274e7b2c3a4903d6a4ae41f
Reviewed-on: http://codereview.qt-project.org/5203
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
2011-09-20 12:00:45 +02:00
Samuel Rødal ca320dfc30 Generate glyphs in un-transformed coordinate system.
Avoids rounding issues with very large coordinates.

Task-number: QTBUG-21262 - QRasterPaintEngine & QFontEngineFT - fonts corrupted when scrolling to the bottom of long texts
Reviewed-by: Eskil
Signed-off-by: Aleksandar Stojiljkovic <aleksandar.stojiljkovic@nokia.com>
(cherry picked from commit 43e013e2048e8193e2d31276cac6348a9f6ce340)

Change-Id: I5810a1a60f2bbdba4889a6b5e493b183018f3976
Reviewed-on: http://codereview.qt-project.org/5202
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
2011-09-20 12:00:33 +02:00
Eskil Abrahamsen Blomfeldt 070d9c00c4 Avoid double caching glyphs in raster/QPA/FreeType
Since FreeType has internal caching, it has had a special
code path in the raster engine which avoided using Qt's glyph
cache, as that would be redundant. However, when compiling
with QPA, we want the same behavior without being able to
access the QFontEngineFT class. To achieve this, I've made
a new abstraction and added it to QFontEngine which allows
the FT engine to provide direct pointers into the alpha maps
stored by FT. This requires a locking/unlocking mechanism.

Yes, the QFontEngine::alphaMap* API is slowly becoming a horrible
mess, but due to time constraints, the task of refactoring these
functions into a more flexible API needs to wait. I've added a
TODO comment for this.

Change-Id: I08237403c2967f8fb952258178676f33a87c0353
Reviewed-on: http://codereview.qt-project.org/5155
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-09-20 12:00:23 +02:00
Eskil Abrahamsen Blomfeldt 4a34b671f8 Fix regression causing synthesized oblique glyphs to clip
In 20009ed797 I introduced a new
approach to synthesized oblique. However, while the embolden
function in FT alters the glyph metrics accordingly, the
oblique function does not, so the glyphs would be clipped to the
original, unslanted metrics. So I've implemented the same matrix
in the loadGlyph() function and we now apply this to the metrics
manually. This will only work as long as the underlying algorithm
doesn't change significantly.

Task-number: QTBUG-21202
Change-Id: Ic20b2a0fdeac5ce833e95fd06efa12b3b70feee5
Reviewed-on: http://codereview.qt-project.org/5156
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
2011-09-19 16:37:51 +02:00
Kai Koehne 9a096d9eb0 Move handling of -qmljsdebugger argument to QCoreApplication
Move handling of -qmljsdebugger= argument from QApplication
to QCoreApplication. It makes sense to allow debugging also
for applications based on QCoreApplication (which we intend
to support in QtDeclarative).

Change-Id: I5a03a4510fc166cea5aad146da673ee0e7cd5d36
Reviewed-on: http://codereview.qt-project.org/5121
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
2011-09-19 16:37:51 +02:00
Jan-Arve Saether df5111165e Say hello to QWindow::accessibleRoot()
Change-Id: I1efa71f01f8af46c9addf2aae21e4b6fc086ad2e
Reviewed-on: http://codereview.qt-project.org/5087
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-09-19 12:06:13 +02:00
Eskil Abrahamsen Blomfeldt 20009ed797 Support synthesized oblique and bold in SceneGraph
When fetching the outlines we need to synthesize the weight and
style of the requested font. This is currently only supported
on FreeType versions that have the Embolden and Oblique functions.
We also use FreeType's Oblique function for regular text when
possible, and only use the matrix approach when that function
is unavailable.

Task-number: QTBUG-21202
Change-Id: I0656ab66cc3ec70d6a7675b8c78d06632625261c
Reviewed-on: http://codereview.qt-project.org/5076
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
2011-09-19 10:24:25 +02:00
Eskil Abrahamsen Blomfeldt 76e56fc449 Enable glyph caching on QPA
The glyph caching was disabled on QPA, possibly due to some
bugs which have gone away now. To avoid the performance hit
of this, we need to enable it. Simple tests of QTextEdit
indicate that this works fine.

Change-Id: I40845b327331b366161f1ca55bf00853bca87358
Reviewed-on: http://codereview.qt-project.org/5096
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-09-19 10:24:25 +02:00
Jiang Jiang 1aaf08691d Treat QTestFontEngine properly
Do not try to fill fontDef when it's a test font engine, otherwise
it will cause a crash because desc.family is 0.

Change-Id: I008b784bae3e60a25c33c285d944442a3616a9a2
Reviewed-on: http://codereview.qt-project.org/5103
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2011-09-19 08:38:17 +02:00
Jiang Jiang c298b0b153 Fix trailing spaces problem by not adding it to QScriptLine.length
It seems to be the only sane way to fix it. Previous attempts to
fix it by compensating the trailing space width all failed in some
cases, one of the trickiest is when we are having embedded LTR text
that has trailing spaces in a RTL paragraph.

In this patch we leave line.length not including the trailing space
length, but saving it to a separated variable, so that we can always
add it back when needed (QTextLine::textLength() for instance).

It fixed all the problems in different alignments of both RTL and
LTR text. And no regression is found yet.

Reviewed-by: Eskil
(cherry picked from commit 80294c375eca9687d1c34e9ab048294373e7f00c)

Change-Id: Id248ab6f54f8cc25ba0e9d1626703463dfefbcea
Reviewed-on: http://codereview.qt-project.org/4778
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
2011-09-17 03:20:28 +02:00
Eskil Abrahamsen Blomfeldt 060f0f9d2d doc: Fix incorrect enum name in QRawFont::alphaMapForGlyph docs
There's no QImage::Format_A8 format. This is a term used in the
corresponding QFontEngineGlyphCache enum.

Reviewed-by: Jiang Jiang
(cherry picked from commit e453fce2731069dce993a94b0c2291307cc7806c)

Change-Id: I68a190abdf4446d05231af89ac861380ac79b188
Reviewed-on: http://codereview.qt-project.org/4773
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
2011-09-15 16:12:45 +02:00
Eskil Abrahamsen Blomfeldt 28b455d238 Properly register preedit text in QLineControl
Removes the QT_NO_IM macro which was a temporary measure during
refactoring work. This macro disabled the setPreeditArea() call
and caused only the formats of the preedit text to be registered,
not the actual string.

Task-number: QTBUG-21261
Change-Id: I76cdf116043520fa2185ddcd34739da031c0fcdc
Reviewed-on: http://codereview.qt-project.org/4958
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-15 16:12:40 +02:00
Gunnar Sletta d75d22d1b2 compile when shadowing is an error
Change-Id: If12cd19821d07303e808e19be1ee3984c90110b1
Reviewed-on: http://codereview.qt-project.org/4946
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-15 09:17:05 +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 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
Joona Petrell 5227ca6ffe Add new composite Qt::ImQueryInput query
When cursor position or editor text changes many input method query attributes like
cursor rectangle, cursor position, surrounding text, current selection and anchor
position change as well. Checking in text control and editor classes what of those
related attributes have exactly changed before calling the update increases code
complexity unnecessarily for a little benefit. Qt::InputMethodQueries flag can still
be used to optimize more independent cases when attributes change individually, which is
more common for input methods hints, fonts, platform data, maximum length or enabled
attributes.

Change-Id: Ic9eee5f1edb6d33ef6c01d2c9c8ad582100c0150
Reviewed-on: http://codereview.qt-project.org/4739
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-14 21:30:35 +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
Samuel Rødal fa42faaee5 Implemented texture cache for GL paint engine in QtGui.
This is simpler than the existing texture cache in QtOpenGL, as it only
serves the GL paint engine. There's one per context group, to simplify
the design and to prevent performance degradations.

Change-Id: I61e3c9a444d8e246a8b38da019a56f2c0a533c0c
Reviewed-on: http://codereview.qt-project.org/4674
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
2011-09-12 17:44:41 +02:00
Andy Shaw 6daaa1bcad Ensure that the proxystyle is used over the style's own functions
When calling a style function such as pixelMetric() then this should be
done via the proxy style and not on the style directly.  This is so that
the proxy style always has a chance to override the original style's
implementation and still preserve the fallback to the base style.

Task-number: QTBUG-20849
Merge-request: 2645
Reviewed-by: olivier

(cherry picked from commit 270c20490813fa943b4fbf0feb1aecb98f0b19ba)

Change-Id: Id43ec17fd1eae0136d6e1f050f23bca6d7d6d6cf
Reviewed-on: http://codereview.qt-project.org/4591
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
Andy Shaw baf2b1f9b2 Fix problem with grabWindow on Mac OS X 10.6 with Cocoa
For some reason the test did not fail locally but fails in the CI
system.  A manual check of the images from the test shows it should
have failed.  Reason for this will be investigated separately

Reviewed-by: Sergio Ahumada

(cherry picked from commit c5f46907fbc0354aacc4bc4a6f5ab97c8b656d1a)

Change-Id: I15f09649bb37dd97401926eb5e52f33748e11ec0
Reviewed-on: http://codereview.qt-project.org/4668
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
2011-09-12 16:03:47 +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
Andy Shaw b007fad5b8 Fix compile issue with Mac OS X 10.5
Reviewed-by: ossi

(cherry picked from commit a3f2ac29714744fb7a34aa7789ce89cb58c09de7)

Change-Id: I9a68e5e0316a2d38d59e7f41c412d8714e9ab178
Reviewed-on: http://codereview.qt-project.org/4584
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
Andy Shaw 09210d1539 Fix QPixmap::grabWindow() on Mac OS X Lion
The old approach was not the recommended one and although it worked on
Mac OS X 10.6 it did not work on 10.7.  The new approach works correctly
on 10.6 and 10.7, so the fix is applied for both versions.

Task-number: QTBUG-19824
Merge-request: 1332
Reviewed-by: sroedal

(cherry picked from commit aaf94776ce1034ec2b2402b9ca0e5cf7c7848b12)

Change-Id: I567d7e2ed2e4b3256f3110f4110ab1342087bc43
Reviewed-on: http://codereview.qt-project.org/4583
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
suzuki toshiya 5dd78ba08f Replace 'i < len-1 && func(i+1)' by 'i+1 < len && func(i+1)'
Merge-request: 1299
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>

(cherry picked from commit 81f0c44f6a4fd4cfa41af5d5b292008185bf3981)

Conflicts:
	src/qt3support/itemviews/q3listbox.cpp
	src/qt3support/sql/q3datatable.cpp
	src/qt3support/text/q3richtext.cpp
	src/scripttools/debugging/qscriptcompletiontask.cpp
	src/scripttools/debugging/qscriptdebuggercodeview.cpp

Change-Id: Ie70590e77e69fbb9b2322c48c3963fd9cbba19e6
Reviewed-on: http://codereview.qt-project.org/4581
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2011-09-12 16:03:47 +02:00
Viktor Kolesnyk 50e91bcd27 Missed break of switch-case added
Merge-request: 2642
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>

(cherry picked from commit 762a9ba066db3b31a4b3c0c2fc01d545b93348fc)

Change-Id: Iba88cf117d4e3dde4fe07bfdfb7e2af25aa25e8d
Reviewed-on: http://codereview.qt-project.org/4576
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 17511e199f Fixed auto-test failure in tst_QOpenGL.
QOpenGLFramebufferObject::height() was returning the width...

Change-Id: I521c2df02e00015998dc31a74481113af26e1ba6
Reviewed-on: http://codereview.qt-project.org/4663
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2011-09-12 13:09:19 +02:00
Holger Ihrig f48b526c3d Compile fix for QPA
Change-Id: I26842fc754d671051ae406d9c03982bb1db8a3a7
Reviewed-on: http://codereview.qt-project.org/4660
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-09-12 12:56:16 +02:00
Gunnar Sletta 221ad14f3d Made FBO blit behave properly
Change-Id: Iad9b9823bbcdf1068455f743e5fbc554939f8592
Reviewed-on: http://codereview.qt-project.org/4630
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-09-12 09:09:57 +02:00
Gunnar Sletta b097968c60 Use the context we're given
Change-Id: I5bdcd1baf1bff86d281664c219098fe841b43fce
Reviewed-on: http://codereview.qt-project.org/4629
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-09-12 09:08:35 +02:00
Gunnar Sletta 2d41aff1e8 use QtGui/ based includes
Change-Id: I763bdba236aef25685d9d0fa2e02741c2f5c141e
Reviewed-on: http://codereview.qt-project.org/4507
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2011-09-09 09:06:32 +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
Morten Sorvig 7ad91ad9ca Make QKeySequence work on Mac.
Replace WS_MAC with OS_MAC.

Change-Id: I28a7f7cb65b61f00a3a12f3b257a553b511f85af
Reviewed-on: http://codereview.qt-project.org/4353
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Liang Qi <liang.qi@nokia.com>
2011-09-08 16:32:00 +02:00
Lars Knoll b002e21d15 Change the QInputMethodQueryEvent to be able to query a set of properties
The event now takes a Qt::InputMethodQueries bitfield. Like this the
editor can set all properties in one go on the event instead of
having to process many query events.

Change-Id: Ifd9d7328a9fce0c21625371ec744ea2090e163be
Reviewed-on: http://codereview.qt-project.org/4448
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-08 14:47:39 +02:00
Joona Petrell 49bb37e05d Use new QInputPanel update function in QTextControl
Change-Id: I20f4aa4e469b507ddb40381e922dcf23f6a469b8
Reviewed-on: http://codereview.qt-project.org/4436
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-08 13:39:43 +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
Jiang Jiang cd781b732e Avoid double initialize of platform font database
Since platform font database will be populated in QFontDatabase::load,
no need to do it here in QFont::initialize.

Change-Id: I1b8c9f6fc9be40e0263ed3951c794141c6297e84
Reviewed-on: http://codereview.qt-project.org/4091
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
2011-09-08 11:16:48 +02:00
Samuel Rødal 1b18315001 Improved and made public the QOpenGLPaintDevice API.
The new API is more flexible, allowing the use of QOpenGLPaintDevice
with any QOpenGLContext, and putting more responsibility on the user for
ensuring the correct FBO is current (the user knows best anyhow).

Task-number: QTBUG-21263

Change-Id: I50b954125f552baef52fbb3fe2ed907a11ad519c
Reviewed-on: http://codereview.qt-project.org/4325
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
2011-09-08 11:07:56 +02:00
Lars Knoll 65f4924425 Fix a typo in the method name
Change-Id: Ic23877e46b0b94222ae10d5ac766825ea5184e3e
Reviewed-on: http://codereview.qt-project.org/4403
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Vesa Rantanen <vesa.rantanen@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-08 10:32:35 +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
Pekka Vuorela 6d9d1e78f4 Added QInputPanel::commit()
To be called when input context is expected to commit what it had as
preedit, and resetting its state. Earlier this was done with ::reset()
when in fact documentation somewhat disallowed doing so.

Change-Id: I10ad0620aa42fce6d01a69265af8a4f5f9f4d397
Reviewed-on: http://codereview.qt-project.org/4401
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Vesa Rantanen <vesa.rantanen@nokia.com>
2011-09-08 10:32:15 +02:00
Lars Knoll 53d549fe76 The keyboard position doesn't change when the item transform changes.
Change-Id: Icc93898c854cffdffffa351a5d28e8604e53ee73
Reviewed-on: http://codereview.qt-project.org/4400
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Vesa Rantanen <vesa.rantanen@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-08 10:32:07 +02:00
Lars Knoll 842c44cb07 Renamed some of the methods in the QInputPanel
Change-Id: Ida03ef170e664f79708149c11a00772ee78a984b
Reviewed-on: http://codereview.qt-project.org/4399
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Vesa Rantanen <vesa.rantanen@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-08 10:31:58 +02:00
Lars Knoll 4beac1add9 Add a forward declaration for QTransform
Change-Id: I6a67a48cb700bfca7c6f6b55fe5ef30b4fdcf400
Reviewed-on: http://codereview.qt-project.org/4398
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Vesa Rantanen <vesa.rantanen@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-08 10:31:47 +02:00
John Tapsell 6604e1a324 Fix RTL layout for fonts when non-printable character has an advance
If a non-printable character has an advance, we would lay out the text
as if the character was part of the output, and then ignore the
character later when the text was rendered. To fix cases such as this,
we take the dontPrint attribute into consideration when adjusting the
advances.

Task-number: QTBUG-21347
Reviewed-by: Eskil
Reviewed-by: Lars
(cherry picked from commit 6326227674efa85c1a5320141041110d211efc75)

Change-Id: I4d01b60498f3b5f30b69530c8b49dd720d83ad0b
Reviewed-on: http://codereview.qt-project.org/4410
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2011-09-08 10:30:50 +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
Samuel Rødal bb18b98e95 Get rid of QColor::allowX11ColorNames().
This code is no longer in use.

Change-Id: I1e582b8a5f1fad40ef75e412162f3aa9f10ab535
Reviewed-on: http://codereview.qt.nokia.com/4352
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
2011-09-07 14:02:41 +02:00
Matthew Cattell 99414a3b4e send resize event when window resized
Change-Id: I4415f1dbdf9bcc96dda10d00c8982a9d4ee433c4
Reviewed-on: http://codereview.qt.nokia.com/4344
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-09-07 12:46:44 +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
Jørgen Lind fa0407bdb5 move QSurface into its own file.
also move QPlatformSurface to its own file

Change-Id: I29fb6c70ede18a0ac5e0f6bfb97a33293633e668
Reviewed-on: http://codereview.qt.nokia.com/4309
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-09-07 08:56:08 +02:00
Samuel Rødal c8fcc29298 Fixed crash in tst_QGL::multipleFBOInterleavedRendering().
Properly check for the ElementIndexUint extension.

Change-Id: I8117aa052f2dd697a2dadeb7ce84a415b5fd24c8
Reviewed-on: http://codereview.qt.nokia.com/4311
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2011-09-07 08:50:49 +02:00
Jani Uusi-Rantala 3769646dd3 Clang build fix: QPixmap::init -> QPixmap::doInit
QPixmap::init shadows base class QPaintDevice::init with different
declaration which makes latest clang builds fail on modules.

Simple renaming of this private function fixes the issue.

Change-Id: I65b2b09e81f4833dc9b54b36423ba7c15d9ded4f
Reviewed-on: http://codereview.qt.nokia.com/4289
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-09-07 07:49:57 +02:00
Jani Uusi-Rantala 5234824e8f Fix try #2 at QSurface missing a virtual destructor
All virtual base classes with accessible destructor should declare
the destructor as virtual too.

Change-Id: I2b07c7e824612af072d7802095d958dca8cc34c8
Reviewed-on: http://codereview.qt.nokia.com/4274
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-09-06 17:21:40 +02:00
Andrew den Exter 964f8be1d2 Fix TextInput test failures.
emitCursorPositionChanged won't emit cursorPositionChanged if the
cursor position hasn't changed but that doesn't mean the micro focus
hasn't changed, so emit updateMicroFocus changed when
cursorPositionChanged isn't.

Task-number: QTBUG-21017 QTBUG-21011
Change-Id: Id0b6bd5aed16563b7b5cce643745e453ba4857a5
Reviewed-on: http://codereview.qt.nokia.com/4181
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Martin Jones <martin.jones@nokia.com>
2011-09-06 11:09:47 +02:00
Samuel Rødal a6b6e760ac Merge remote branch 'gerrit/master' into HEAD
Conflicts:
	configure.exe
	src/corelib/global/qglobal.h
	src/gui/kernel/qplatformnativeinterface_qpa.h
	src/gui/widgets/qlinecontrol.cpp
	src/gui/widgets/qmenu_mac.mm
	src/gui/widgets/qmenu_p.h
	src/gui/widgets/qmenubar.cpp
	src/gui/widgets/qmenubar_p.h
	src/gui/widgets/widgets.pri
	src/plugins/platforms/wayland/qwaylandnativeinterface.cpp
	src/plugins/platforms/wayland/qwaylandnativeinterface.h
	src/src.pro
	tests/auto/qdir/tst_qdir.cpp
	tests/auto/qfileinfo/tst_qfileinfo.cpp
	tests/auto/qsslsocket/tst_qsslsocket.cpp
	tests/auto/qstring/tst_qstring.cpp

Change-Id: I64cf2cefa532ba87a92f632e3595ce6914183e9b
2011-09-06 10:55:40 +02:00
Laszlo Agocs 5e9f410eb6 Add timestamp to QInputEvent.
The mouse, touch, key events have no timestamp field currently,
meaning that the timestamp passed to QWindowSystemInterface's
handleMouse, Touch, KeyEvent functions will not be stored in the
generated events. The timestamp can be quite valuable in some cases
(e.g. when performing filtering of touch events) so losing this
information is not desirable. The patch adds a timestamp field to
QInputEvent, which is the base for mouse, touch, key, and other
events, and also makes QGuiApplication to store the timestamp in the
generated events.

Change-Id: Icb9de8b238cb341916eac33ce21603f4955baca7
Reviewed-on: http://codereview.qt.nokia.com/4196
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-05 15:13:13 +02:00
Lasse Holmstedt 6fd75df288 Generic property support for platform windows
QPlatformNativeInterface can now contain generic window
properties in a QVariantMap, to facilitate communication
with the compositor and clients for certain platforms.
When window properties change, a signal is emitted from the
respective QPlatformNativeInterface instance. The properties
are intended to be read/writable from both client and server.

Change-Id: I7b42f7910d03c0d309add6c7dbb1c9b66ad22a3f
Reviewed-on: http://codereview.qt.nokia.com/3956
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-09-05 11:11:04 +02:00
Andrew den Exter bb2f045c10 Make it easier to select words at the start of a line.
QTextControl's word selection will only include a word if the cursor
position is past the mid point of the word. This can make it
difficult to select words near the edges of the screen on touch
devices.  For the TextEdit word selection mode select a word ignore
the relative position within a word.

Task-number: QT-5206
Change-Id: I4e5675596cd89934b3c2bc5d825088887c222fe8
Reviewed-by: Martin Jones
Reviewed-on: http://codereview.qt.nokia.com/4166
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
2011-09-05 04:08:04 +02:00
Andrew den Exter 06e2ce51d1 Fix delayed password masking mid-string.
Unmask the last character typed, not the last character in the string.

Change-Id: I9c70d2347bf878c18ab0a7f4ea76f755ca19a85c
Task-number: QTBUG-17003
Reviewed-by: Alan Alpert
(cherry picked from commit b98e9e69dd8ba33d5f01b9518d95b63b86c4b443)
Reviewed-on: http://codereview.qt.nokia.com/4165
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
2011-09-05 04:07:49 +02:00
Andrew den Exter 8febd56940 Move cursorDelegate with the mouse selection of read only text input.
Task-number: QTBUG-19109
Reviewed-by: Martin Jones

Change-Id: I709427fe73b2d6ed9e3526af140b9dc375740789
Reviewed-on: http://codereview.qt.nokia.com/4164
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
2011-09-05 04:07:17 +02:00
Konstantin Ritt 10354d71ae micro optimizations
use an inlined version of isValid() everywhere;
don't detach where is non required;
get rid of extra checks where possible

Change-Id: I6815c1f7d7c03677d9c57dda2731ed2868ea92aa
Merge-request: 1343
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Reviewed-on: http://codereview.qt.nokia.com/4144
2011-09-02 14:31:56 +02:00
Konstantin Ritt f63993272f fix typo in the docs
Merge-request: 1343
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
(cherry picked from commit 3926aa4b69caa9037d610b4e212d99dae86d500c)

Change-Id: I5d0464651ec72d606e009cc43d0214fe179b02dd
Reviewed-on: http://codereview.qt.nokia.com/4143
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2011-09-02 14:31:41 +02:00
Konstantin Ritt 16eac5565f QRawFont: add missed operator !=
Merge-request: 1343
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
(cherry picked from commit 32603c5e40948491f0644d0d17a7e8bbff8d3e0c)

Change-Id: I76bc558a30a61c6eabec960eb206076eb443344f
Reviewed-on: http://codereview.qt.nokia.com/4142
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2011-09-02 14:31:11 +02:00
Konstantin Ritt c048e2350b optimize QGlyphRun's operator == a bit
Merge-request: 2652
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
(cherry picked from commit 56ef015b1c2384e0590f19e938d349bcffdb6961)

Change-Id: Icc5fd9e8a04518d476e96d5983a95740f454f62a
Reviewed-on: http://codereview.qt.nokia.com/4140
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2011-09-02 13:39:19 +02:00
Konstantin Ritt c6bdbf34eb QGlyphRun: make operator != inlined
Merge-request: 2652
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
(cherry picked from commit 145de5acb68f320125b7566a7d726a5a7786a5f8)

Change-Id: I9d868d2258b222890c29eb26e8cd79d9fa3c7f71
Reviewed-on: http://codereview.qt.nokia.com/4139
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2011-09-02 13:38:56 +02:00
Konstantin Ritt 154f6a2e73 QGlyphRun: don't detach if the decoration wasn't actually changed
Merge-request: 2652
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
(cherry picked from commit f550d219378e5669601de416254b3585fe3f5708)

Change-Id: Ib74ae82fbeaf2b0f5eabad9568cfa9fcea09053b
Reviewed-on: http://codereview.qt.nokia.com/4138
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2011-09-02 13:38:38 +02:00
Samuel Rødal 61fa9ec8a1 Fix the \since 4.x tags in gui/opengl.
All this API is "new" since 5.0.

Change-Id: I7ba1718a4a24eac00ccc4db1646200e9544ee5a4
Reviewed-on: http://codereview.qt.nokia.com/4131
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2011-09-02 12:47:58 +02:00
Lars Knoll c2aea75c22 Refactor QMouseEvent to contain the position inside the window
Rename the default accessors for positions to localPos, windowPos
and screenPos, to be explicit about their use.
Introduce a QT_NO_INTEGER_EVENT_COORDINATES define so one can make sure
to always use the float based coordinates.
Fixup all Qt code to use the correct constructor that specifies all
three coordinates.

Change-Id: If4bb93b8d1e2eb2440260d99680c468706cfe68f
Reviewed-on: http://codereview.qt.nokia.com/4058
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2011-09-01 13:27:37 +02:00
Gabriel de Dietrich 35bd983e0d Update license headers
This ammends commit 9aeadca09ab4e27ebf299873f90490d585b4fb7f

Reviewed-by: Frederik Gladhorn
Merge-request: 1254
(cherry picked from commit eee351a2af7e34dfc851a95820075842f856a8f2)

Change-Id: Idd83457f87fea063843f8eaa47287531de7eb854
Reviewed-on: http://codereview.qt.nokia.com/4057
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2011-09-01 11:05:14 +02:00
Samuel Rødal a3b0264754 Clean up shared resources immediately as the last context is destroyed.
By not waiting until deleteLater() kicks in it's easier to auto-test. We
can now add a test case for what happens when a shared resource is still
valid while the last context is destroyed.

Change-Id: I72963928e6a921e49ed59a79e2579b497ba37ccf
Reviewed-on: http://codereview.qt.nokia.com/3732
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2011-09-01 07:44:01 +02:00
Tor Arne Vestbø 4a0bab33d6 Fix build with Clang for libpng versions 1.4.0 to 1.5.2
Versions 1.4.0 to 1.5.2 of libpng declare png_longjmp_ptr to
have a noreturn attribute if PNG_PEDANTIC_WARNINGS_SUPPORTED
is enabled, but most declarations of longjmp in the wild do
not add this attribute. This causes problems when the png_jmpbuf
macro expands to calling png_set_longjmp_fn with a mismatched
longjmp, as compilers such as Clang will treat this as an error.

To work around this we override the png_jmpbuf macro to cast
longjmp to a png_longjmp_ptr.

See also http://llvm.org/bugs/show_bug.cgi?id=10338

Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Change-Id: I197cfa12af76410310e409bc0fce7d4332ee66a6
Reviewed-on: http://codereview.qt.nokia.com/3929
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2011-08-31 16:25:34 +02:00
Morten Sorvig 0719142321 Cocoa: Fix qmlscene flicker on startup.
The SG render thread was racing window creation in
the GUI thread, which would cause flicker if the
window won the race and was shown before the SG
thread had a frame ready.

Send a synchronous expose event before showing the
window - this will wait for the SG render thread.

In addition, don't defer NSwindow creation. The GL
context setup is done before the window is shown
and needs a fully created window.

New API: QWindowSystemInterface::handleSynchronousExposeEvent
Retire: QWindowSystemInterface::handleExposeEvent

Change-Id: I0bb46089d16ec4882aaac8db67b57d15e0f51531
Reviewed-on: http://codereview.qt.nokia.com/3399
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
2011-08-31 16:16:03 +02:00
Lars Knoll 2c6eae4bca Initialize member variable
Change-Id: I165c267b87dc201ed4970d50e39ff7421cbef35f
Reviewed-on: http://codereview.qt.nokia.com/3981
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-08-31 15:45:50 +02:00
Aurélien Gâteau baeed7c6c3 Introduce menubar plugin system
Merge-request: 1254
Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
(cherry picked from commit 31ff55bbeb84f10e75e997c75a63deda83e62507)

Change-Id: I0644514299c16cabe19d1e6d024dd652b2d7bc4e
Reviewed-on: http://codereview.qt.nokia.com/3933
Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
2011-08-31 13:12:43 +02:00
Aurélien Gâteau 6c97b066a9 Introduce QAbstractPlatformMenuBar
Merge-request: 1254
Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
(cherry picked from commit 9aeadca09ab4e27ebf299873f90490d585b4fb7f)

Change-Id: Ib0f035ac15ad0cc6be52807e8101f5dcfb5b041b
Reviewed-on: http://codereview.qt.nokia.com/3932
Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
2011-08-31 13:12:43 +02:00
Aurelien Gateau b7832ce2f8 Hide Q<Platform>MenuAction
This will help abstracting the platform specific parts of QMenuBarPrivate in a
common interface.

Merge-request: 1254
Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
(cherry picked from commit 68d633cc840c5526a0ad77985404f53ada6ba91a)

Change-Id: I733b8dfb71ae0dc78536cfe48b466394206d1de3
Reviewed-on: http://codereview.qt.nokia.com/3931
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
2011-08-31 13:12:43 +02:00
Aurélien Gâteau 1a07ca9383 Fix warning about initialization order
Merge-request: 1254
Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
(cherry picked from commit b4ddcbbf1ce067a823815c07a357a065be731d48)

Change-Id: I809de3c201f47cd8936845447ad60b00cf4c0db7
Reviewed-on: http://codereview.qt.nokia.com/3930
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
2011-08-31 13:12:43 +02:00
Lars Knoll 46ff3a4b1f Correctly position aliased lines with flat caps
The code was mispositioning lines by half a pixel, as it
added half a pixel offset and then rounded in addition.
This submit fixes this and also removes certain artifacts when
drawing rects at .5 pixel positions.

Lance now doesn't show any significant differences to the
4.7 rendering anymore.

Task-number: QTBUG-20199
Reviewed-by: Aavit
(cherry picked from commit 49409f612c47f30434aa809e4d2c963f1a6bb88a)

Change-Id: Iab3936e688eba16b82f5cdb4f36f54af807d78ea
Reviewed-on: http://codereview.qt.nokia.com/3260
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
2011-08-31 13:12:43 +02:00
Lars Knoll 94355ca15a Add a QStyleHints class to QtGui
This class encapsulates platform specific style hints
like doubleClickInterval or cursorFlashTime.

Change-Id: I0d88c47a59d564d8d346642184e5b14e1864cf40
Reviewed-on: http://codereview.qt.nokia.com/3927
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-08-31 11:47:21 +02:00
Lars Knoll 3795e2c7be Move the qmljsdebugargument variable to QGuiApplication
This used to reside in QApplication, but we need it here
to remove a dependency of QtDeclarative onto widgets.

Change-Id: I119fef1d51387087b00e08aff1ee4b00503a6cd5
Reviewed-on: http://codereview.qt.nokia.com/3926
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-08-31 11:45:33 +02:00
Laszlo Agocs 0e3ac5dea6 Touch event support for QWindow.
Change-Id: I83ddc48a9093856d975b25f0426db96264afeeef
Reviewed-on: http://codereview.qt.nokia.com/3920
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2011-08-31 10:43:24 +02:00
Friedemann Kleint df8e05f820 Fix build from scratch.
Change-Id: Ifd958a51da2dbaf6afc24ef6a10f8d29e0f5f6d2
Reviewed-on: http://codereview.qt.nokia.com/3888
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-08-30 16:42:26 +02:00
Gunnar Sletta 11f867c34a pick up the target window for a mouse event when none is specified
Change-Id: Iae0402f63f39a2728b94abe68fa22592d97ea9f3
Reviewed-on: http://codereview.qt.nokia.com/3885
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
2011-08-30 15:05:29 +02:00
Samuel Rødal 42f2da5e6b Merge remote branch 'gerrit/master' into refactor
Conflicts:
	src/src.pro

Change-Id: Ic04fb170b82e86dc3cef6fe979f8fb709db10daf
2011-08-30 11:51:20 +02:00
Samuel Rødal e9962cc300 Rename remaining gui/opengl source files to avoid name clashing.
We don't want to have source files in the opengl module and gui with the
same name, at least not private headers.

Change-Id: I5f2bf629c943a67a405574fb148aa4c70e58ecbb
Reviewed-on: http://codereview.qt.nokia.com/3864
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2011-08-30 11:05:30 +02:00
Samuel Rødal 1056d02ee0 Cause fatal error when trying to make a context current in wrong thread.
Since QOpenGLContext is now a QObject, it needs to be moved to, or
created in, the thread where it's going to be used.

Change-Id: I7ed12b25e75c84bb12be8c7102e46e9a242fc2df
Reviewed-on: http://codereview.qt.nokia.com/3858
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2011-08-30 10:50:53 +02:00
Samuel Rødal 19a0048d17 Added some documentation for internal OpenGL resource handling classes.
Change-Id: Ib9a9442199a29d5781013155190ad0f20741198e
Reviewed-on: http://codereview.qt.nokia.com/3859
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2011-08-30 10:37:47 +02:00
Friedemann Kleint cf9a304e6e Build on Windows/clean build on Linux.
Change-Id: I26552e85a8e8c63002db93b7d9b645981620f0af
Reviewed-on: http://codereview.qt.nokia.com/3738
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-08-29 14:39:07 +02:00
Samuel Rødal 81c84b8649 Added qopengl auto-test.
For testing the gui/opengl functionality.

Change-Id: Ied0e977ad537c0be301bb08091adaf9cf779306b
Reviewed-on: http://codereview.qt.nokia.com/3729
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2011-08-29 12:32:41 +02:00
Gunnar Sletta 577b26b317 Merge "Merge remote branch 'gerrit/master' into refactor" into refactor 2011-08-29 12:15:31 +02:00
Samuel Rødal d0c48efbae Merge remote branch 'gerrit/master' into refactor
Conflicts:
	src/gui/accessible/qaccessible.h
	src/gui/kernel/qapplication.cpp
	src/gui/kernel/qapplication.h
	src/gui/kernel/qapplication_mac.mm
	src/gui/kernel/qapplication_qws.cpp
	src/gui/kernel/qapplication_s60.cpp
	src/gui/kernel/qapplication_win.cpp
	src/gui/kernel/qapplication_x11.cpp
	src/gui/kernel/qdnd_x11.cpp
	src/gui/kernel/qwidget.cpp
	src/gui/widgets/qlabel.cpp

Change-Id: Ief9c75724d2cff89ed45f009bdee2ffc5e4395ba
2011-08-29 12:11:53 +02:00
Morten Sorvig be62ece6c1 Compile without QT_DEBUG.
Change-Id: I3dadcdd83f45451d712703601d46adbc1691291b
Reviewed-on: http://codereview.qt.nokia.com/3727
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-08-29 12:05:38 +02:00
Samuel Rødal e35a83b293 Clean up legacy defines in gui/opengl.
Change-Id: I14d477c3f7a98cecca2c0a240ff13ea8ec64a154
Reviewed-on: http://codereview.qt.nokia.com/3716
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2011-08-29 10:42:42 +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
Samuel Rødal aaa4a26f82 Move GL resource handling enablers to QtGui.
Made resource handling more robust by attempting to free GL resources in
the correct thread, and not forcing a context to become current to free
resources.

Change-Id: Ie81d4005b608972375755571d9b50ce82080709b
Reviewed-on: http://codereview.qt.nokia.com/3258
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2011-08-29 10:24:55 +02:00
Kim Motoyoshi Kalland 13b3545e83 Optimized QMatrix4x4 by improving how 'flagBits' are used.
Change-Id: Ic417336489d334e25b547c719d457faf65307cac
Reviewed-on: http://codereview.qt.nokia.com/3670
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2011-08-29 10:16:01 +02:00
Gunnar Sletta a001bde5bf QWindow::mapToGlobal/mapFromGlobal and move()
Change-Id: If1909b9ce468a8708cb25d5a2fbe8ebd90bd958a
Reviewed-on: http://codereview.qt.nokia.com/3702
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-08-29 08:30:00 +02:00
Frederik Gladhorn 3cdc2ea183 Fix typo for ifdef QT_NO_ACCESSIBILITY
Reviewed-by: TrustMe
(cherry picked from commit eaf3b5ff76e4866ef3597110c6e565305c3298ad)

Change-Id: I21df13a24fc5d339c5fcbf38f151c0339e1c87a9
Reviewed-on: http://codereview.qt.nokia.com/3042
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2011-08-26 22:42:25 +02:00
José Millán Soto 5dd208b1f4 Call QAccessible::updateAccessibility when a widget is deleted
Merge-request: 1310
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
(cherry picked from commit df3f763920b1450733817596148e087d11c0c543)

Change-Id: I74fb08104c5dc527f9e9ac88776e4aa2623a3385
Reviewed-on: http://codereview.qt.nokia.com/3041
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2011-08-26 22:42:17 +02:00
José Millán Soto 420c4edb8a Call QAccessible::updateAccessibility when setText is called on QLabel
The method is called when the text of a label is changed and setAccessibleName has
not been called on the label, as the text of the label acts as the accessible name
of the label.

Merge-request: 1301
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
(cherry picked from commit a1f2b68e97477440cf508e6d497eb5f5d9971971)

Change-Id: Ic10f75e72ac3faa84777c444177b287b720a1dc2
Reviewed-on: http://codereview.qt.nokia.com/3040
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2011-08-26 22:42:10 +02:00
Frederik Gladhorn 8412020740 Check if bridge plugin vector is still valid.
Q_GLOBAL_STATIC may be destroyed and we still send
ObjectDestroyed notifications.
This only shows now that we actually send the Destroyed notifications.

Change-Id: I3057556cdc897dab6adfc3274e4abc68473ffa7f
Reviewed-on: http://codereview.qt.nokia.com/3657
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
2011-08-26 15:06:46 +02:00
Eskil Abrahamsen Blomfeldt 22011ece4c Fix crash when fallback font is not #0 in multi font engine
Easily reproducible by testing Chinese with the threaded
renderer. The multi engine would then have a list of engines
with a single item, but the glyphs might belong to e.g. engine
11. In that case, engine() would assert when it couldn't find
the engine if the layout had been done in a different thread.
We force the loading of the required engine if it's not already
loaded.

Note that this fix does not work on Mac, as loadEngine() will
crash there, so the layout has to be done in the same thread
as the rendering, since loading the engines is part of the
layout process.

Task-number: QTBUG-21112
Change-Id: I71cc396664e3b95fbb4815a90873457e1f89528e
Reviewed-on: http://codereview.qt.nokia.com/3631
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
2011-08-26 14:29:46 +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
Samuel Rødal 5a23825f01 Introduce new platform capability ThreadedOpenGL.
Lets the platform plugin advertise whether it's safe to use OpenGL from
a different thread. With XCB we only advertise this if we have a
reasonably new XCB libary, as older versions suffer from the
xcb_wait_for_reply() blocking bug, which cause GL rendering in a
separate to stall when using Mesa drivers.

Change-Id: I4829df7e583a1c8aed218ae13a159d21266cc594
Reviewed-on: http://codereview.qt.nokia.com/3613
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-08-26 09:19:09 +02:00
Eskil Abrahamsen Blomfeldt e6cecd9ce0 Fix justification of RTL text
Since the trailing space is included in the QScriptLine, it may affect
the positions of preceding script items when the text is RTL. The best
solution for this would be to disregard the trailing space in the layout
process, or somehow make it have an advance of 0 so it doesn't affect
the layout. However, to minimize the impact of the change, and to be
consistent with previous work arounds such as
bf992df6434fc37715f728ca09601c5567dd83c9, we simply include the trailing
(visually leading) space in the justification pass for now.

Task-number: QTBUG-20920
Reviewed-by: Lars
(cherry picked from commit 1a8a36eb6b6df9e2550b5eaa4606f2d411fd4294)

Change-Id: I94972ebaea2e1bdb09950523c43844351b304abe
Reviewed-on: http://codereview.qt.nokia.com/3462
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
2011-08-25 15:00:31 +02:00
Frederik Gladhorn 9a442b7b54 Add constants to QAccessible::Event enum.
Reviewed-by: Gabi
(cherry picked from commit 81036d4be6122dfcb55a4852bcc1037c7d8f7309)

Change-Id: Id818d9c9e53ece0c93b89649db5aa31d59920426
Reviewed-on: http://codereview.qt.nokia.com/3031
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2011-08-25 15:00:31 +02:00
Friedemann Kleint 3ed314ca46 Fix compilation/use correct data type for qt_lastx,y.
Change-Id: I6fdc8dcfb19d7498a1eb8013f75113537ce7a213
Reviewed-on: http://codereview.qt.nokia.com/3594
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-08-25 14:31:45 +02:00
Gunnar Sletta 04d0a9626c Merge branch 'master' into refactor
Conflicts:
	src/gui/kernel/qapplication_qpa.cpp
	src/gui/kernel/qcursor_qpa.cpp
	src/gui/kernel/qwindowsysteminterface_qpa.cpp
	src/gui/kernel/qwindowsysteminterface_qpa.h
	src/gui/kernel/qwindowsysteminterface_qpa_p.h
	src/gui/text/qtextcontrol.cpp
	src/plugins/platforms/wayland/wayland.pro
	src/widgets/accessible/qaccessible2.h
	src/widgets/widgets/qwidgetlinecontrol_p.h

Change-Id: I5e6f4eb184159dccc67e8f13673edb884d179c74
2011-08-25 12:48:52 +02:00
David Faure d4d883de46 Add a QApplication::queryKeyboardModifiers() method.
QApplication::keyboardModifiers returns the keyboard modifiers
from the last keypress event in this process, as documented. However
there are use cases for querying keyboard modifiers as they currently are,
see QTBUG-11243.

Merge-request: 585
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
(cherry picked from commit 3b5354386225974ea6db78c12f32cb81e2d50104)

Change-Id: I9b4e54ac79fc225e3ed8d2bcaba953a6eb59f0d2
Reviewed-on: http://codereview.qt.nokia.com/3581
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2011-08-25 11:37:06 +02:00
Gunnar Sletta 4d04c631e2 resize convenince function
Change-Id: I81b39912fbc76bb8532ff1d80ff25bce5e84f727
Reviewed-on: http://codereview.qt.nokia.com/3452
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-08-24 12:23:46 +02:00
Gunnar Sletta b6ef26adce Preliminary change to get resizeEvents for QWindow::resize() calls
Change-Id: I43e1d7fb98f1b20939dba8cdccffa4dcb99a7369
Reviewed-on: http://codereview.qt.nokia.com/3453
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-08-24 12:22:43 +02:00
Friedemann Kleint 889190cfc3 QFontEngine: Avoid nesting multi-fontengines.
In case the platform plugin returns an instance of QFontEngineMulti
(which happens on Windows).

Change-Id: I87470e47cfe113557313b7f6b3b09d1455af1c17
Reviewed-on: http://codereview.qt.nokia.com/3319
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-08-23 14:35:48 +02:00
Friedemann Kleint bf58826a1a Fix input context header.
Rubber-stamped-by: Lars Knoll <lars.knoll@nokia.com>

Change-Id: Ia5dfccfa53fea68889c312a645597aaf40ddc079
Reviewed-on: http://codereview.qt.nokia.com/3397
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-08-23 12:47:06 +02:00
Frederik Gladhorn 1b7b337797 Add IAccessible2 table2 implementation.
Implement the IAccessible table2 interface for itemviews.
This is simpler than what we have in complexwidgets.
For now it is only used on Linux.

The new table2 interface is ifdef'ed to only be used on X11.
Improve handling of accessible events and clean up.

There are two xfails for the Table and Tree where sibling
navigation is not implemented yet.

Reviewed-by: Gabi
(cherry picked from commit e797ba558dddd45522b5a317316e497e9efc44a8)
(cherry picked from commit eff5ecc5d8f65fa25d6cfd6ed96a9d2a00d0c663)
(cherry picked from commit d29876008fad400bca8d6b37e5d5f61dd1bcb39d)
(cherry picked from commit 2a326fdc8f8bf2bd2c5764394616100906d9db2d)
(cherry picked from commit 9b72e79e20d0d3560e0b064b8b0d75e35feb720e)
(cherry picked from commit 075b0f744363842ed4179c644d933d461389544f)

Change-Id: I654f74991830ae1fc7df7cc91d930390fb88b2a4
Reviewed-on: http://codereview.qt.nokia.com/3274
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
2011-08-22 15:24:32 +02:00
Olli Werwolff c7bbf22132 Fixed empty if statement in QWindow.cpp
Change-Id: Ib324eb30da1e16f01b9655ed293244fb50b621b8
Reviewed-on: http://codereview.qt.nokia.com/3289
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-08-22 09:42:41 +02:00
Friedemann Kleint e21f9e3f73 Fix comparison.
Change-Id: Id90a49e57d25d12936678fecfa9c4e0c6dbe676b
Reviewed-on: http://codereview.qt.nokia.com/3255
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-08-19 11:08:11 +02:00
Friedemann Kleint 984982c41f QSurfaceFormat: Add missing 'profile' accessors, fix detaching.
No longer initialize FormatOptions to SwapBehaviour::DoubleBuffer
in the constructor as it is a different enumeration.

Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>

Change-Id: Id69e0345d4395ee88532ac3ee0e89c35e6c5b083
Reviewed-on: http://codereview.qt.nokia.com/3254
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-08-19 11:05:26 +02:00
Lars Knoll 78169e6b06 Remove qtessellator.* from QtGui
It's now unused since the GL1 paintengine is gone.

Change-Id: I1415b725dc05aab920670976a8eb8c3145464297
Reviewed-on: http://codereview.qt.nokia.com/3246
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-08-19 11:01:49 +02:00
Friedemann Kleint 2e95ce7459 Fix build.
- Introduced EXPORT definition for new QPrintSupport library.
- Fixed dependencies in src.pro
- Fixed some includes.

Change-Id: I9863233ca2767928b37cf3fd1fdec31351b5da6b
Reviewed-on: http://codereview.qt.nokia.com/3253
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-08-19 10:55:28 +02:00
Eskil Abrahamsen Blomfeldt b9224af92c Enablers for using QGlyphRun in SceneGraph
Several required fixes and changes to fix problems that arose
when porting SceneGraph's QSGTextInput and QSGTextEdit to
use QSGTextNode, especially related to having selections
on the text.

Also fixes crashes with the threaded renderer on Mac OS X
when using the TextEdit or TextInput elements.

Task-number: QTBUG-18019, QTBUG-20017
Change-Id: I67f24465352daa1d2cb12b6d2f378feb676c9804
Reviewed-on: http://codereview.qt.nokia.com/2864
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
2011-08-19 10:18:04 +02:00
Lars Knoll 0368c9978a QColormap is gone from QtGui
Fixes compilion of Gui

Change-Id: I5b66b3d3817d8e54c990d761bb8e8b591fa0da63
Reviewed-on: http://codereview.qt.nokia.com/3245
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-08-19 09:28:26 +02:00
Lars Knoll b7f3253f90 Remove Type1 support
Type1 support was only required for postscript
generation. As we don't support this anymore, get
rid of this code.

Change-Id: Ifdc27ec563b5da8d94554f8b078bcd3ac079d201
Reviewed-on: http://codereview.qt.nokia.com/3214
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2011-08-19 09:24:26 +02:00
Lars Knoll 28f1c1b9ef Restore feature compatibility with QPrinter in QTextDocument::print
Add a margin method to QPagedPaintDevice. The other variables
required are stored in QPagedPaintDevicePrivate without a
public API for now. This needs cleaning up once we have a new
printing system.

Change-Id: Id3f2d7ac7f3cbce8619072a897d91f3a588add64
Reviewed-on: http://codereview.qt.nokia.com/3211
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2011-08-19 09:17:03 +02:00
Lars Knoll 6d2c5d9ffe Move the printer support backend into it's own plugin
QPlatformIntegration can't have a dependency onto printing
anymore now that printing lives in it's own library. Move
it into a plugin of it's own.

Change-Id: I3ec4b38f4336eb96d92ea799544d17af359c83e1
Reviewed-on: http://codereview.qt.nokia.com/3210
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2011-08-19 09:16:52 +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
Lars Knoll 699e8fe3a6 Use the paged paintdevice in the print() method of QTextDocument.
This is required to be able to move the printing system into
it's own library.

Change-Id: If70a55be4c4413f9cd917a30d1b368f32c1145e4
Reviewed-on: http://codereview.qt.nokia.com/3207
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2011-08-19 09:16:22 +02:00
Lars Knoll 9ebdc333a6 Introduce a paged paintdevice and use it
Introduce a QPagedPaintDevice class that has a
newPage() method and page dimensions. QPdfWriter
and QPrinter inherit from it.
Add a bit of API to QPdfWriter.

Change-Id: Ibf23e7fe741f3a5ed854faf5d249a272acc75f35
Reviewed-on: http://codereview.qt.nokia.com/3206
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2011-08-19 09:16:12 +02:00
Lars Knoll 64f94fa373 move printing related files into their own directory
This is done to prepare the next step where we move
printing into it's own module.

Change-Id: I95919c28079983e7c5e4ff23d223f8c062b8ac8c
Reviewed-on: http://codereview.qt.nokia.com/3205
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2011-08-19 09:16:03 +02:00
Lars Knoll e0972ba5ed PDF doesn't require the alpha paintengine
Remove the inheritance from the alpha paint engine
for the PDF generator. The alpha engine was only
required to support transparency on Postscript.

Change-Id: If09a00a3123f73e4c36f708651a3abae014187a3
Reviewed-on: http://codereview.qt.nokia.com/3204
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2011-08-19 09:15:55 +02:00
Lars Knoll 2df117b8ad Move the remaining QPrinter dependencies out of qpf.*
Change-Id: I4fd0158d65afad1bc67c52eff17ce2e12ff60641
Reviewed-on: http://codereview.qt.nokia.com/3203
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2011-08-19 09:15:46 +02:00
Lars Knoll 941de7608b Rename QPdf(Base)Engine
Rename QPdfBaseEngine to QPdfEngine and QPdfEngine
to QPdfPrintEngine. This fit's better with the use cases.

Change-Id: Ic208b079581768a957f9fdcc333f0bf87f619d46
Reviewed-on: http://codereview.qt.nokia.com/3202
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2011-08-19 09:15:37 +02:00
Lars Knoll b91d30eae1 Move the PDF related functionality into QPdf
Goal is to have all functionality related to PDF generation
in QPdf, and then separate out the parts related to
interfacing with the printing system into the pdf printengine.

Change-Id: I8c30cb65365c503945fc270fad5cbcaabe59495d
Reviewed-on: http://codereview.qt.nokia.com/3201
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2011-08-19 09:15:28 +02:00
Lars Knoll 8f47da7b8f first version of a public API to generate PDFs
The class is required to be able to move the printing
subsystem out into a module of it's own.

Change-Id: I80703b8a8725504c7e6884a34f76e0735efcf95a
Reviewed-on: http://codereview.qt.nokia.com/3200
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2011-08-19 09:15:19 +02:00
Lars Knoll 9ed282eeee Move QColorMap into QtWidgets
Remove the remaining dependency in qnativeimage
and move the whole class into QtGui for compatibility.

The class is not needed anymore since we're not going
to support 8bit/indexed displays going forward.

Change-Id: I7b5f1b2a5661db4ed77bb3801039114c7518512d
Reviewed-on: http://codereview.qt.nokia.com/3199
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2011-08-19 09:15:04 +02:00
Rohan McGovern 1e0d1c5f29 Fixed broken lookup of fallback fonts on qpa
Loading of fallback fonts from the font cache was broken.
While iterating through fallback fonts, we would incorrectly skip any
fonts which were already in the cache.  This would cause unstable lookup
results for some fonts, depending on the order in which fonts were
loaded during the current process.

Change-Id: I56a6a07e93196ed14f33f4cc181e41c5b8f19498
Reviewed-on: http://codereview.qt.nokia.com/3059
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2011-08-19 01:21:13 +02:00
Frederik Gladhorn b0c1c98f76 Use name for combobox on Unix.
This is more conforming to the AT-SPI specs.
Also we have working relations for the label when a buddy is set.

Reviewed-by: Gabi
(cherry picked from commit 8be3168aa2f300f9a93a53b417704f3f10b1dc8b)

Change-Id: I1831d5063b003df2d209aba99d54558b6493a3e9
Reviewed-on: http://codereview.qt.nokia.com/3027
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2011-08-18 20:12:15 +02:00
Frederik Gladhorn 2c91710679 Rename textBeforeOffsetFromString to start with q.
Exported functions should start with q.

Reviewed-by: TrustMe
(cherry picked from commit 4fcb7c233c3c8d748d66bf698df059ad7546ae88)

Change-Id: Idc53d3ec49f73227a9fd12b6b88aade35c7cdf25
Reviewed-on: http://codereview.qt.nokia.com/3026
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2011-08-18 20:12:15 +02:00
Frederik Gladhorn b5dbd1373b Implement text interface for QLineEdit.
Add boundary helper functions to the QAccessibleTextInterface.
Move LineEdit over to use QTextBoundaryFinder.

Reviewed-by: Jan-Arve
(cherry picked from commit c1ec1a95806cda54d5b4e9f8ed159a611bd75964)

Change-Id: Ib93599c49110aab50debe1e3fb0073dd34071c87
Reviewed-on: http://codereview.qt.nokia.com/3025
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2011-08-18 20:12:15 +02:00
Eskil Abrahamsen Blomfeldt 83d8cd6067 Fix bidi reordering of RTL text with embedded images
According to the UBA, the object replacement character should be
considered ON. There's no reason to special case its directionality, as
the bidi algorithm will already have given it an implicit
directionality.

Task-number: QTBUG-20910
Reviewed-by: Lars
(cherry picked from commit 2657bfa7c4de9f114331d1714a306b3999ae30d8)

Change-Id: I1c8e45d67ef44b1b6f96edb2f5074331b5422eb7
Reviewed-on: http://codereview.qt.nokia.com/2999
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2011-08-18 17:59:18 +02:00
Ritt Konstantin 4b6fe1bdc8 Minor optimizations for QTextEngine
Optimize script assignment, skip calls to QUnicodeTables::script() for
the codepoints handled explicitly.
Make the helper functions of QTextEngine::elidedText() inlined

Merge-request: 1298
Reviewed-by: yoann
(cherry picked from commit 857202824e7d6083eeb87fc52d3770f8fd82b559)

Change-Id: I1afc6405a800dbc2b5f63a2f98c63e607e3ee255
Reviewed-on: http://codereview.qt.nokia.com/2998
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2011-08-18 17:59:18 +02:00
Frederik Gladhorn 910e1bf415 Fix typo in comment.
(cherry picked from commit f067c2b3016182862e82805b13c7944ebe8671a9)
Change-Id: Iac3673db666e53f5e1a20f95a59df15a6ad9c137
Reviewed-on: http://codereview.qt.nokia.com/3022
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2011-08-18 15:51:07 +02:00
Frederik Gladhorn 5af6a09b6f Avoid bogus accessibility focus events from menus.
Do not send accessibility focus events when menus are involved.
There are focus events to preserve the old focus when showing a new popup window.

Reviewed-by: Jan-Arve
(cherry picked from commit 32079bb0b348ef5f7126e69be9bcfb249c1a6412)

Change-Id: Id4838a3aede1d60a1850385e97660d085f055d64
Reviewed-on: http://codereview.qt.nokia.com/3021
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2011-08-18 15:50:50 +02:00
Frederik Gladhorn a3ce0eb6f1 When asking for relations, don't crash on children that don't return an interface.
Reviewed-by: Jan-Arve
(cherry picked from commit a816cb0d26ebcef54e9e61c72455509edf6c44b9)

Change-Id: I8fed57eb0dfd5b67dee440b19c0ad5b9d7b3ae2d
Reviewed-on: http://codereview.qt.nokia.com/3020
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2011-08-17 13:34:28 +02:00
Morten Sorvig 30774e9552 Cocoa: Fix flicker on window resize.
During window resizing the geometry change events
must be processed before returning from the event
handler.

New API: QWindowSystemInterface::handleSynchronousGeometryChange,
similar to handleGeometryChange but sends the event
immediately instead of queueing it.

Change-Id: I7dc809b3fd2e8a933c100fef3f5144972f46e363
Reviewed-on: http://codereview.qt.nokia.com/2993
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
2011-08-16 09:36:43 +02:00