profile/ivi/qtbase.git
13 years agoClosing of popups in QWidgetWindow.
Samuel Rødal [Wed, 4 May 2011 12:35:24 +0000 (14:35 +0200)]
Closing of popups in QWidgetWindow.

13 years agoRemove unused variable.
Samuel Rødal [Wed, 4 May 2011 12:24:47 +0000 (14:24 +0200)]
Remove unused variable.

13 years agomove platform specific files out of the way
Lars Knoll [Wed, 4 May 2011 12:37:50 +0000 (14:37 +0200)]
move platform specific files out of the way

Keep the files as reference to implement the
lighthouse plugins, but move them away from
the main directory hierachy as they won't be
part of Qt5 in any case.

13 years agoImplemented enter / leave events for QWidget.
Samuel Rødal [Wed, 4 May 2011 12:19:40 +0000 (14:19 +0200)]
Implemented enter / leave events for QWidget.

13 years agoMore fixes...
Samuel Rødal [Wed, 4 May 2011 11:57:06 +0000 (13:57 +0200)]
More fixes...

13 years agoXCB plugin compile fix.
Samuel Rødal [Wed, 4 May 2011 11:28:35 +0000 (13:28 +0200)]
XCB plugin compile fix.

13 years agoFix compilation of QtOpenGL.
Samuel Rødal [Wed, 4 May 2011 11:14:33 +0000 (13:14 +0200)]
Fix compilation of QtOpenGL.

13 years agoImproved handling of child windows.
Samuel Rødal [Wed, 4 May 2011 10:38:39 +0000 (12:38 +0200)]
Improved handling of child windows.

Don't force-create QWindows until they're explicitly created or shown.

13 years agoforgot this file
Lars Knoll [Wed, 4 May 2011 11:09:06 +0000 (13:09 +0200)]
forgot this file

13 years agomoving some more files around.
Lars Knoll [Wed, 4 May 2011 11:08:02 +0000 (13:08 +0200)]
moving some more files around.

13 years agosplit kernel/ up according to the future library split
Lars Knoll [Wed, 4 May 2011 10:50:14 +0000 (12:50 +0200)]
split kernel/ up according to the future library split

Create a guikernel/ directory that contains the files that'll go
into libQtGui. What remains in kernel/ will go into QtWidgets.
In addition to that image/, painting/ and text will end up
int QtGui.

13 years agoremove constructor
Lars Knoll [Wed, 4 May 2011 10:14:17 +0000 (12:14 +0200)]
remove constructor

13 years agoMerge remote branch 'origin/master' into refactor
Lars Knoll [Wed, 4 May 2011 10:04:43 +0000 (12:04 +0200)]
Merge remote branch 'origin/master' into refactor

13 years agoremove dependency to QStyle::visualAlignment
Lars Knoll [Wed, 4 May 2011 09:51:33 +0000 (11:51 +0200)]
remove dependency to QStyle::visualAlignment

The current position of the code in QGuiAppPrivate
is a bit messy, but we can later on consider
consolidating some of this in some helper
namespace.

13 years agoMerge branch 'master' of scm.dev.nokia.troll.no:qt/qtbase-staging
Gunnar Sletta [Wed, 4 May 2011 09:38:42 +0000 (11:38 +0200)]
Merge branch 'master' of scm.dev.nokia.troll.no:qt/qtbase-staging

13 years agoInclude pixel size of font in exported HTML from QTextDocument
Eskil Abrahamsen Blomfeldt [Wed, 4 May 2011 08:52:20 +0000 (10:52 +0200)]
Include pixel size of font in exported HTML from QTextDocument

When you copy-pasted rich text in which the font size had been set
using setPixelSize() the font size would be mysteriously forgotten.
The pixel size property in QTextCharFormat was added ad hoc, and not
integrated in the HTML exporter.

Task-number: QT-4792
Reviewed-by: Gunnar
(cherry picked from commit 5aa5c2e2935c1829cc6965198968699f17c24ec0)

13 years agosmall cleanups
Lars Knoll [Wed, 4 May 2011 08:34:40 +0000 (10:34 +0200)]
small cleanups

13 years agoProper sub-widget mouse grabbing in QWidgetWindow.
Samuel Rødal [Wed, 4 May 2011 08:42:54 +0000 (10:42 +0200)]
Proper sub-widget mouse grabbing in QWidgetWindow.

13 years agoGet rid of warning in QPixmap::grabWidget().
Samuel Rødal [Wed, 4 May 2011 08:40:20 +0000 (10:40 +0200)]
Get rid of warning in QPixmap::grabWidget().

13 years agoClean up some QWidget dependencies in gui/image.
Samuel Rødal [Wed, 4 May 2011 08:25:36 +0000 (10:25 +0200)]
Clean up some QWidget dependencies in gui/image.

13 years agoGet rid of QCustomRasterPaintDevice / QWS stuff in raster engine.
Samuel Rødal [Wed, 4 May 2011 08:13:43 +0000 (10:13 +0200)]
Get rid of QCustomRasterPaintDevice / QWS stuff in raster engine.

13 years agoMerge branch 'master' of scm.dev.nokia.troll.no:qt/qtbase-staging
Gunnar Sletta [Wed, 4 May 2011 08:08:23 +0000 (10:08 +0200)]
Merge branch 'master' of scm.dev.nokia.troll.no:qt/qtbase-staging

13 years agoGet rid of remaining QWidget dependencies in QPainter.
Samuel Rødal [Wed, 4 May 2011 08:02:42 +0000 (10:02 +0200)]
Get rid of remaining QWidget dependencies in QPainter.

13 years agoRemove QWidget dependency in QPainter::initFrom().
Samuel Rødal [Wed, 4 May 2011 07:18:59 +0000 (09:18 +0200)]
Remove QWidget dependency in QPainter::initFrom().

13 years agoGet rid of unused window surfaces.
Samuel Rødal [Wed, 4 May 2011 07:12:05 +0000 (09:12 +0200)]
Get rid of unused window surfaces.

13 years agoMerge branch 'qtquick2'
Gunnar Sletta [Wed, 4 May 2011 08:01:37 +0000 (10:01 +0200)]
Merge branch 'qtquick2'

13 years agoMerge branch 'qtquick2' of scm.dev.nokia.troll.no:qt/qtbase-staging into qtquick2
Gunnar Sletta [Wed, 4 May 2011 08:01:30 +0000 (10:01 +0200)]
Merge branch 'qtquick2' of scm.dev.nokia.troll.no:qt/qtbase-staging into qtquick2

13 years agoMake it possible for animation driver to specify the advance time delta
Gunnar Sletta [Wed, 4 May 2011 08:00:42 +0000 (10:00 +0200)]
Make it possible for animation driver to specify the advance time delta

13 years agomove keyboardInputLocale and keyboardInputDirection into QGuiApplication
Lars Knoll [Wed, 4 May 2011 07:31:54 +0000 (09:31 +0200)]
move keyboardInputLocale and keyboardInputDirection into QGuiApplication

13 years agoless qapp includes
Lars Knoll [Wed, 4 May 2011 07:18:55 +0000 (09:18 +0200)]
less qapp includes

13 years agoCompile on Windows
Eskil Abrahamsen Blomfeldt [Wed, 4 May 2011 07:10:45 +0000 (09:10 +0200)]
Compile on Windows

The SPI_FONTSMOOTHINGCONTRAST macro is not defined everywhere. When
the code was refactored, the workaround for this was lost. This
resubmits the work-around to make it compile.

Reviewed-by: Samuel
(cherry picked from commit 4c3630c1fcd2b3008f540a8906a19c533604f36a)

13 years agoRemove more QApp dependencies
Lars Knoll [Wed, 4 May 2011 07:11:33 +0000 (09:11 +0200)]
Remove more QApp dependencies

platformIntegration() lives in QGuiApplication
QFont and QFontDatabase can live with QGuiApp only
as well.

13 years agoRemove warnings
Jørgen Lind [Tue, 3 May 2011 11:00:50 +0000 (13:00 +0200)]
Remove warnings

(cherry picked from commit 9625c564877414695a9706acf34bc8719018ef06)

13 years agoFix Wayland plugin so it works with the wayland bind api
Jørgen Lind [Tue, 3 May 2011 06:57:49 +0000 (08:57 +0200)]
Fix Wayland plugin so it works with the wayland bind api

This is mostly for the xcomposite api, but also we needed to readEvents
after doing a connect
(cherry picked from commit 16c054125949b8f8ceec9626156d8790254a63a2)

13 years agowayland: Track wayland changes
Kristian Høgsberg [Fri, 22 Apr 2011 01:14:43 +0000 (21:14 -0400)]
wayland: Track wayland changes

Pass version number when creating proxies, use wl_ prefix when looking
up interfaces and drop wl_egl_display.
(cherry picked from commit c2adf9395214d711a3a40516c6c2afa64b3b4ca3)

13 years agoSupport GL ES 2 with uikit.
con [Tue, 19 Apr 2011 14:15:09 +0000 (16:15 +0200)]
Support GL ES 2 with uikit.

For GL ES 2 teach the paint device about the fact that it
is doing rendering backed by a framebuffer object,
not a system framebuffer (which doesn't exist).
(cherry picked from commit 3b437a7706efbaaafdc4861393cbe21354cf4ee2)

13 years agoLighthouse: Fix virtual desktopwidget
Jørgen Lind [Wed, 20 Apr 2011 07:17:13 +0000 (09:17 +0200)]
Lighthouse: Fix virtual desktopwidget

(cherry picked from commit 69c759f5b84c2f6a44377e5f72cfe9d5bf7344c6)

13 years agoeven less QT3_SUPPORT
Lars Knoll [Tue, 3 May 2011 20:51:17 +0000 (22:51 +0200)]
even less QT3_SUPPORT

the new libQtGui should now be free of any
Qt3 related methods.

13 years agoremove more QT3_SUPPORT code
Lars Knoll [Tue, 3 May 2011 20:37:25 +0000 (22:37 +0200)]
remove more QT3_SUPPORT code

13 years agoremove obsolete stuff
Lars Knoll [Tue, 3 May 2011 19:51:54 +0000 (21:51 +0200)]
remove obsolete stuff

everything inside QT3_SUPPORT is gone in
gui/painting

13 years agoremove postscript support from Qt
Lars Knoll [Tue, 3 May 2011 19:25:04 +0000 (21:25 +0200)]
remove postscript support from Qt

I really wanted to do this since many years
already! :)

13 years agoremove more QApplication dependencies
Lars Knoll [Tue, 3 May 2011 19:14:05 +0000 (21:14 +0200)]
remove more QApplication dependencies

13 years agomove layoutDirection from QApplication to QGuiApplication
Lars Knoll [Tue, 3 May 2011 19:06:20 +0000 (21:06 +0200)]
move layoutDirection from QApplication to QGuiApplication

The concept is needed in both QWidgets and QML,
so it has to be in QGuiApplication.

13 years agoremove a few qapplication includes
Lars Knoll [Tue, 3 May 2011 19:05:50 +0000 (21:05 +0200)]
remove a few qapplication includes

13 years agorename qwindow_qpa to qwindow
Lars Knoll [Tue, 3 May 2011 18:30:20 +0000 (20:30 +0200)]
rename qwindow_qpa to qwindow

13 years agoQGuiApplication is not QPA specific
Lars Knoll [Tue, 3 May 2011 18:20:44 +0000 (20:20 +0200)]
QGuiApplication is not QPA specific

Rename files to reflect that QGuiApplication is
going to be used everywhere.

13 years agoSupport gamma correction of text on GL
Eskil Abrahamsen Blomfeldt [Tue, 3 May 2011 13:06:13 +0000 (15:06 +0200)]
Support gamma correction of text on GL

If the SRGB framebuffer extension in GL is available, we can support
gamma correction of text with a gamma of 2.1. On Mac this is
sufficient for gamma correcting subpixel antialiased text. Gray
antialiasing should not be gamma corrected on Mac.

On Windows, the user can potentially set the gamma value to anything
between 1.0 and 2.2 (or something like that). We support anything
that resembles 1.0 closely enough by pushing the text out without
any correction (like before). We also support anything that resembles
2.1 (the gamma hardcoded in GL's SRGB extension) by turning on the
extension before blending the text. In between the two, we'll use
gray antialiasing to avoid differing too much from the raster engine
(which is our reference in this.)

For gray antialiasing on Windows, we use a constant gamma of 2.3 which
has been determined by experimentation. Since this is close enough to
2.1 we do gamma correction with SRGB extension.

The distance limit of 0.2 is determined by some experimentation.

Reviewed-by: Samuel
(cherry picked from commit 79ba7cceca5e4029876ace2121edd25b08ae14ce)

13 years agoWheel event forwarding.
Samuel Rødal [Tue, 3 May 2011 14:41:18 +0000 (16:41 +0200)]
Wheel event forwarding.

13 years agoAdded .tag file with Git revision.
axis [Tue, 3 May 2011 14:21:07 +0000 (16:21 +0200)]
Added .tag file with Git revision.

13 years agoremove QApplication and QWidget dependencies in gui/image
Lars Knoll [Tue, 3 May 2011 13:00:21 +0000 (15:00 +0200)]
remove QApplication and QWidget dependencies in gui/image

The main place that'll still need work is QPixmap::fill(QWidget *)
and QPixmap::grabWidget()

13 years agoremove QApplication dependencies in gui/image
Lars Knoll [Tue, 3 May 2011 13:00:21 +0000 (15:00 +0200)]
remove QApplication dependencies in gui/image

13 years agoremove a unneeded reference to qbackingstore
Lars Knoll [Tue, 3 May 2011 12:47:35 +0000 (14:47 +0200)]
remove a unneeded reference to qbackingstore

13 years agoPure QWindow with multiple windows and child windows example added.
Samuel Rødal [Tue, 3 May 2011 12:47:10 +0000 (14:47 +0200)]
Pure QWindow with multiple windows and child windows example added.

13 years agonew configure.exe binary
Joerg Bornemann [Tue, 3 May 2011 12:49:38 +0000 (14:49 +0200)]
new configure.exe binary

13 years agoremove the graphicssystem code paths.
Lars Knoll [Tue, 3 May 2011 12:22:36 +0000 (14:22 +0200)]
remove the graphicssystem code paths.

QPA's platform integration layer replaces the
graphics system now.

13 years agoTrack QPlatformGLContext API changes
Paul Olav Tvete [Tue, 3 May 2011 12:11:45 +0000 (14:11 +0200)]
Track QPlatformGLContext API changes

13 years agoreinstantiate a file that got removed by mistake
Lars Knoll [Tue, 3 May 2011 11:32:59 +0000 (13:32 +0200)]
reinstantiate a file that got removed by mistake

QPA was using a _qws.cpp file, that got removed by accident.

13 years agoqmake nmake generator: pass MAKEFLAGS to sub-make calls
Joerg Bornemann [Tue, 3 May 2011 07:52:30 +0000 (09:52 +0200)]
qmake nmake generator: pass MAKEFLAGS to sub-make calls

Unlike other make tools nmake doesn't do this automatically.

Reviewed-by: ossi
13 years agoremove a not required include.
Lars Knoll [Tue, 3 May 2011 08:50:32 +0000 (10:50 +0200)]
remove a not required include.

13 years agosplit the HexString template class out of qstylehelper
Lars Knoll [Tue, 3 May 2011 08:40:58 +0000 (10:40 +0200)]
split the HexString template class out of qstylehelper

The class is used in quite a few places and has no relation
to styles. Split it out into it's own file to remove a dependency
between Gui and Widgets.

13 years agoremove qapp dependency
Lars Knoll [Tue, 3 May 2011 08:35:49 +0000 (10:35 +0200)]
remove qapp dependency

graphicssystems are not relevant in any case with qpa, so
we simply use the fallback case.

13 years agoQWS removal, part 2
Lars Knoll [Mon, 2 May 2011 14:01:57 +0000 (16:01 +0200)]
QWS removal, part 2

13 years agoMove private headers into versioned subdirectory
Marius Storm-Olsen [Wed, 20 Apr 2011 18:57:51 +0000 (13:57 -0500)]
Move private headers into versioned subdirectory

This will allow us to expose private headers in a controlled manner,
and ensure that they are not used by accident. This also means that
we internally will have to enable the private headers for the
modules we wish to use in the project.

13 years agoInstall syncqt, and ensure it runs fine for external modules
Marius Storm-Olsen [Thu, 7 Apr 2011 14:40:33 +0000 (09:40 -0500)]
Install syncqt, and ensure it runs fine for external modules

13 years agoMoved QtUiTools to CONFIG
Prasanth Ullattil [Tue, 12 Apr 2011 11:50:27 +0000 (13:50 +0200)]
Moved QtUiTools to CONFIG

QtUiTools is a staic library now. If this is added to QT variable
qmake will treat this as a framework on Mac. This patch is to
avoid that.

13 years agoAdd module.prf, and install MODULE_PRI for each module
Marius Storm-Olsen [Fri, 1 Apr 2011 10:47:28 +0000 (05:47 -0500)]
Add module.prf, and install MODULE_PRI for each module

Output warning if not present

13 years agoMake sure we don't always pull in modules from installed mkspecs
Marius Storm-Olsen [Wed, 30 Mar 2011 16:59:54 +0000 (11:59 -0500)]
Make sure we don't always pull in modules from installed mkspecs

When building Qt, qmake should not pull in mkspecs from an installed
version, as this will lead to incorrect paths for the current build.

So, here we ensure only to pull in modules from there we detected the
qconfig.pri, and ensure we still handle the QMAKEPATH case used by
some.

13 years agoTrack API change in QPlatformNativeInterface
Paul Olav Tvete [Mon, 2 May 2011 12:58:29 +0000 (14:58 +0200)]
Track API change in QPlatformNativeInterface

Reviewed-by: Samuel
13 years agoremove Qt/Embedded.
Lars Knoll [Mon, 2 May 2011 11:45:38 +0000 (13:45 +0200)]
remove Qt/Embedded.

Everybody use Lighhouse instead :)

13 years agomake QPA the default platform
Lars Knoll [Mon, 2 May 2011 11:31:26 +0000 (13:31 +0200)]
make QPA the default platform

13 years agoQNetworkConfigurationManager: Fix network polling.
Martin Petersson [Wed, 27 Apr 2011 10:36:53 +0000 (12:36 +0200)]
QNetworkConfigurationManager: Fix network polling.

startPolling() is called by each engine, so before it would start
multiple singleshot timers. So I moved the timer to the class
and check if it has already been started before it is activated
again. So that we just use one timer.

Task-number: QTBUG-17219
Reviewed-by: Iiro Kause
Reviewed-by: Kranthi Kuntala
(cherry picked from commit 2506b86828ca8140c2f22d85a4378df40899b132)

13 years agoQAbstractSocket: Fix waitForReadyRead infinite loop.
Martin Petersson [Thu, 28 Apr 2011 10:07:07 +0000 (12:07 +0200)]
QAbstractSocket: Fix waitForReadyRead infinite loop.

Make sure that waitForReadyRead times out if the read buffer is full.

Task-number: QTBUG-16123
Reviewed-by: Peter Hartmann
(cherry picked from commit 8d4cd52b6981a4e6deea7fdb77f56e40c4f3e6ba)

13 years agoFix compile warning on Windows
Martin Petersson [Tue, 26 Apr 2011 10:03:17 +0000 (12:03 +0200)]
Fix compile warning on Windows

Reviewed-by: Prasanth Ullattil
(cherry picked from commit 800ad68e4f000e65b0a83ef1da2a29d595964156)

13 years agoImplemented close event for QWindow and QWidgetWindow.
Samuel Rødal [Mon, 2 May 2011 10:00:00 +0000 (12:00 +0200)]
Implemented close event for QWindow and QWidgetWindow.

13 years agoProperly handle the expose event for QWindow.
Samuel Rødal [Mon, 2 May 2011 08:52:15 +0000 (10:52 +0200)]
Properly handle the expose event for QWindow.

13 years agoSet the window title even if it was set before calling create().
Samuel Rødal [Mon, 2 May 2011 08:38:33 +0000 (10:38 +0200)]
Set the window title even if it was set before calling create().

13 years agoResizing support in QWidgetWindow.
Samuel Rødal [Mon, 2 May 2011 08:36:39 +0000 (10:36 +0200)]
Resizing support in QWidgetWindow.

13 years agoMake pixel size a qreal in QRawFont
Eskil Abrahamsen Blomfeldt [Mon, 2 May 2011 08:06:44 +0000 (10:06 +0200)]
Make pixel size a qreal in QRawFont

The pixel size in the font engines is already a floating point value.
For maximum flexibility, we should expose this in the public API.

Task-number: QTBUG-18817
Reviewed-by: Jiang Jiang
(cherry picked from commit ac9e63b58533a3215106ed9da82cff3a3e3dda3a)

13 years agoSupport more items for QTextCharFormat::VerticalAlignment enum for custom text objects.
Dmitry Zelenkovsky [Thu, 28 Apr 2011 09:49:13 +0000 (11:49 +0200)]
Support more items for QTextCharFormat::VerticalAlignment enum for custom text objects.

 * QTextCharFormat::AlignNormal - support text format descent, place text object bottom on (baseline - descent).
 * QTextCharFormat::AlignBottom - place text object bottom on baseline.
 * QTextCharFormat::AlignTop - Still not supported.
 * Any other vertical alignment is mapped QTextCharFormat::AlignBottom.

Add new enum AlignBaseline for custom inline objects to take into account font baseline.

Merge-request: 2578
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
(cherry picked from commit ee9455ed2a83084692d969c398ecb91bcd4fc33a)

13 years agoProper child delivery of mouse and key events.
Samuel Rødal [Mon, 2 May 2011 07:25:17 +0000 (09:25 +0200)]
Proper child delivery of mouse and key events.

13 years agoMake the wayland plugin compile
Paul Olav Tvete [Fri, 29 Apr 2011 14:02:36 +0000 (16:02 +0200)]
Make the wayland plugin compile

13 years agoinclude file fix for wayland
Paul Olav Tvete [Fri, 29 Apr 2011 11:04:43 +0000 (13:04 +0200)]
include file fix for wayland

13 years agoCompile after latest change.
Paul Olav Tvete [Fri, 29 Apr 2011 14:29:09 +0000 (16:29 +0200)]
Compile after latest change.

13 years agoAdd QWidgetWindow to bridge events from QWindow to QWidget.
Samuel Rødal [Fri, 29 Apr 2011 13:45:30 +0000 (15:45 +0200)]
Add QWidgetWindow to bridge events from QWindow to QWidget.

Gets rid of QWidget dependencies in QWindow and QWindowSurface. Events
are not delivered to the correct child widget yet.

13 years agoMinimal plugin works again.
Paul Olav Tvete [Fri, 29 Apr 2011 10:59:23 +0000 (12:59 +0200)]
Minimal plugin works again.

13 years agoUse maximum ascent/descent/leading from fallback fonts in shaping
Jiang Jiang [Wed, 27 Apr 2011 14:05:09 +0000 (16:05 +0200)]
Use maximum ascent/descent/leading from fallback fonts in shaping

When shaping a QScriptItem with a multi font engine, currently we
only take the ascent/descent/leading from the primary (first) font
engine in that multi font engine, however, subsequent engines used
during shaping may have larger ascent/descent/leading, disregarding
them may cause clipping issues in some cases.

It's fixed by checking each font engine used in the shaping process
and take the maximum value instead of the first one. On ATSUI we
merely make it compile.

Task-number: QTBUG-16719
Reviewed-by: Eskil
(cherry picked from commit c501403cb5a0c9ec21b00e0c2f640ae85566e0cf)

13 years agoAnother ugly hack to make bidi cursor work with Core Text
Jiang Jiang [Wed, 27 Apr 2011 09:39:09 +0000 (11:39 +0200)]
Another ugly hack to make bidi cursor work with Core Text

If the text is wrapped with LRE/LRO/RLE/RLO override/embed marks,
Core Text in Mac OS X 10.5 doesn't produce an empty glyph at the
beginning of the glyphs (while it does in Mac OS X 10.6), thus
we need to prepend an empty glyph here, otherwise cursor position
calculation will consider the first two characters as a ligature
of the same glyph.

Reviewed-by: Eskil
(cherry picked from commit a36ac6c34bafa801c2c30d76f59e4a3594efc4d5)

13 years agoMake sure layoutData exist before checking for string direction
Jiang Jiang [Wed, 27 Apr 2011 06:47:46 +0000 (08:47 +0200)]
Make sure layoutData exist before checking for string direction

Otherwise accessing that through QTextEngine::alignLine may cause crash.

Reviewed-by: Samuel Rødal
(cherry picked from commit dcdb62c3d1a76d951c4b65bc1b1bd930e2ad14ec)

13 years agoTake leading space width into account for painting and selection
Jiang Jiang [Tue, 19 Apr 2011 12:40:19 +0000 (14:40 +0200)]
Take leading space width into account for painting and selection

When painting horizontally centered RTL text and selection with
trailing spaces, we need to take that space width into account
because line.textAdvance doesn't include it.

Task-number: QTBUG-18612
Reviewed-by: Eskil
(cherry picked from commit 224226727f07e8940e0d3131fe7587b11cc4a6ca)

13 years agoRemove extra comma at the end of enum list
Jiang Jiang [Wed, 20 Apr 2011 08:19:02 +0000 (10:19 +0200)]
Remove extra comma at the end of enum list

It fails compilerwarnings test.

Reviewed-by: TrustMe
(cherry picked from commit 1e847c00dcf4948b8892d0a552576e1d3ea554b9)

13 years agoDon't transform glyph positions for Core Graphics paint engine
Jiang Jiang [Tue, 19 Apr 2011 10:48:19 +0000 (12:48 +0200)]
Don't transform glyph positions for Core Graphics paint engine

Since it already transformed text positions based on transform matrix
on QPainter.

Reviewed-by: Eskil
(cherry picked from commit b86c9120710bf1481df5f6541618169a82fd65b8)

13 years agoTurn on HarfBuzz support for Mac/Cocoa
Jiang Jiang [Mon, 18 Apr 2011 15:08:30 +0000 (17:08 +0200)]
Turn on HarfBuzz support for Mac/Cocoa

It's possible to enable HarfBuzz text layout on Mac by either:

- Set QT_ENABLE_HARFBUZZ environment variable when running a Qt
  app.

- configure with -harfbuzz to build Qt, then HarfBuzz support
  will be turned on by default.

HarfBuzz will only be used when the font explicitly requested
is supported by HarfBuzz (aka. TrueType/OpenType font), other
fonts (AAT fonts) will still be handled by Core Text.

Using HarfBuzz for text layout will hopefully solve most tricky
complex text shaping bugs on Mac.

Task-number: QTBUG-17728
Reviewed-by: Eskil
13 years agoSupport visual cursor movement for BIDI text
Jiang Jiang [Wed, 15 Dec 2010 14:11:45 +0000 (15:11 +0100)]
Support visual cursor movement for BIDI text

Bidi input can in some contexts be more intuitive if the cursor
works in visual way: pressing left arrow key always make cursor
move one character to the left regardless the language of text,
pressing right arrow key always make cursor move to the right.
It is also the behavior of Mac OS X. Based on the above reason
and requests from Symbian we implemented this support for visual
movement in BIDI text. 3 public properties are added to
QTextDocument, QTextLayout and QLineEdit respectively:

- QTextDocument::defaultCursorMoveStyle can be used to control
  the cursor behavior in all widgets based on QTextDocument,
  like QTextEdit, QPlainTextEdit, etc. When set to QTextCursor::
  Visual, it will enable visual movement for all the cursors in
  the corresponding text edit. Default is QTextCursor::Logical.

- QTextLayout::cursorMoveStyle is used for low-level cursor
  manipulation. When set to Visual, it will enable visual movement
  behavior for all the cursor related methods, including cursorToX,
  xToCursor and drawCursor. Default is Logical.

- QLineEdit::cursorMoveStyle is used to control cursor movement
  behavior in QLineEdit. Default is Logical.:

Task-number: QTBUG-13859
Reviewed-by: Eskil
(cherry picked from commit c480dd641f5d22d1ee72cb27bf39e24c6df65658)

13 years agoDisable tst_QPixmap::onlyNullPixmapsOutsideGuiThread on Mac
Jiang Jiang [Mon, 18 Apr 2011 09:21:16 +0000 (11:21 +0200)]
Disable tst_QPixmap::onlyNullPixmapsOutsideGuiThread on Mac

No need to check it anymore after the switch to raster engine.

Reviewed-by: Eskil
(cherry picked from commit e004701bd7ba9e4a7cd5ac1bf784829feae16cae)

13 years agoMake sure QFont's resolve mask is copied on compilers with C++0x support
Eskil Abrahamsen Blomfeldt [Fri, 29 Apr 2011 08:07:12 +0000 (10:07 +0200)]
Make sure QFont's resolve mask is copied on compilers with C++0x support

The QFont consists of a d pointer and a resolve mask, and they should
both be copied in the assignment operator.

Task-number: QTBUG-18921
Done-by: Friedemann Kleint
(cherry picked from commit cb5e526c6023237c36aac3446a0a18288f39f3a9)

13 years agoFix glyph position issue with fallback fonts
Jiang Jiang [Fri, 29 Apr 2011 07:58:30 +0000 (09:58 +0200)]
Fix glyph position issue with fallback fonts

Task-number: QTBUG-18933
Reviewed-by: Eskil
(cherry picked from commit 18fcbf7ae41504324cd453ba9b9655f3e94f6495)

13 years agoKey and wheel events.
Samuel Rødal [Fri, 29 Apr 2011 07:33:50 +0000 (09:33 +0200)]
Key and wheel events.

13 years agoFix crash in raster on X11 when text contains unsupported characters
Eskil Abrahamsen Blomfeldt [Thu, 28 Apr 2011 13:05:08 +0000 (15:05 +0200)]
Fix crash in raster on X11 when text contains unsupported characters

We would assume the font engine was a FT engine and do a static cast
here, which would cause a crash if the box engine was in use instead.

Task-number: QTBUG-17443
Reviewed-by: Samuel
(cherry picked from commit c9c54682bcd23598ac7a8db3b10e9f18c978e268)

13 years agodoc: Minor cleanup in QGlyphs docs
Eskil Abrahamsen Blomfeldt [Thu, 21 Apr 2011 09:50:11 +0000 (11:50 +0200)]
doc: Minor cleanup in QGlyphs docs

Just a minor clean-up in the QGlyphs docs. Mainly to try to trigger
CI.

Reviewed-by: TrustMe
(cherry picked from commit 774b5b8c6a627fc90fb7382bc907db5d2e8193bf)

13 years agodoc: Simplify language in QGlyphs docs
Eskil Abrahamsen Blomfeldt [Fri, 22 Apr 2011 09:20:37 +0000 (11:20 +0200)]
doc: Simplify language in QGlyphs docs

Mainly to trigger CI.

Reviewed-by: TrustMe
(cherry picked from commit 1a1683c2d57debbb3e7f3ae6001eb2c8685dca02)