Commit Graph

74 Commits (04549f2eedd183c98f192e1669a4b483cfb017e7)

Author SHA1 Message Date
Laszlo Agocs 04549f2eed Retrieve the actual data in the Wayland clipboard only when requested. 2011-05-10 09:17:55 +02:00
Alan Alpert 8fb5928469 Fix QDefaultAnimationDriver
Animation drivers were changed to used signals instead of virtual
functions, but the default animation driver was left behind.

Reviewed-by: Michael Brasser
2011-05-10 13:43:58 +10:00
Jonni Rainisto 7eef0de091 Turned on private headers for some plugins.
Reviewed-by: axis
2011-05-09 16:55:33 +02:00
Laszlo Agocs 4973c2669a Added Wayland selection support. 2011-05-09 11:11:14 +02:00
Alex 82444f5dff Add qglobal.h exports for QtLocation & QtSensors
Plus the QtLocation configure options

Reviewed-By: Lincoln Ramsay <lincoln.ramsay@nokia.com>
2011-05-09 15:34:25 +10:00
Marius Storm-Olsen ab53743198 Install private headers into the correct location
The privates need to be under <MODULE NAME>/ since we use
    #include <ModuleName/private/header_p.h>
in many places
2011-05-07 22:10:54 -05:00
Eskil Abrahamsen Blomfeldt 4135b6b323 Fix QRawFont::setPixelSize() on Mac
When refactoring the setPixelSize() code of QRawFont, it was broken
on Mac. To avoid making the same mistake again, I've added a simple
autotest to check that the pixel size is actually set.

Reviewed-by: Jiang Jiang
(cherry picked from commit 821b8b540af491ce60d35bd84d3c91399ecc0d16)
2011-05-06 16:00:15 +02:00
Eskil Abrahamsen Blomfeldt 80a230e221 Fix QPainter::drawGlyphs() with non-affine transformation
When the matrix has an non-affine transformation, the text will have to
be rendered using the default path-renderer. This means going through
the drawTextItem() path (since drawStaticText() has no support for those
transformations) and it also means not pre-transforming the coordinates,
since the default implementation of drawTextItem() supports
transformations.

Task-number: QTBUG-18214
Reviewed-by: Jiang Jiang
(cherry picked from commit 55446d104db77fc7994ab12352b1c08bb7b63346)
2011-05-06 10:44:49 +02:00
Friedemann Kleint ec88a76127 uic: Remove Q3Support.
Remove code and tests.
2011-05-06 09:32:09 +02:00
Jørgen Lind 1edc451057 Dont do doneCurrent in swapBuffers 2011-05-05 18:11:57 +02:00
Marius Storm-Olsen 022a528dfd compile openvg with private headers 2011-05-05 08:58:59 -05:00
Jiang Jiang 1daf67042d Only enable design metrics for scalable fonts
Bitmap fonts don't have linear advance at all.

Reviewed-by: Eskil
(cherry picked from commit 111accbf9aaf95b052448ecb70937c61e9b59d66)
2011-05-05 13:39:11 +02:00
Jiang Jiang 05a1416be8 Add a way to retrieve CTFontRef from QFont
Since macFontID restricts to quint32, we have to return that in
QFont::handle.

Task-number: QTBUG-17890
Reviewed-by: Eskil
(cherry picked from commit c8f299b7e675c839b16d750cd2633a57cdd0526f)
2011-05-05 13:39:05 +02:00
Kent Hansen 1a2345ec19 Add Q_UNIMPLEMENTED() macro
(cherry picked from commit adce00979c30cc22d26ba43c15e0c7a3733b57ab)
2011-05-04 18:15:53 +02:00
Prasanth Ullattil af026f6fa4 Fix build error on Mac
To use the private headers, the .pro file should contain
QT += <module>-private

Reviewed-by: Olivier Goffart
2011-05-04 18:04:40 +02:00
Paul Olav Tvete 3611f82975 Build fix 2011-05-04 16:55:48 +02:00
Friedemann Kleint 10a0cc3da2 BC cleanup in uitools.
Remove virtual functions obsoleted by new resource handling
in Qt Designer 4.4. Remove static hash of private objects
for formbuilder.
Requires fd61c9b24d27452df3eb478a81d7e7725fe6f5b4 in qttools.

Rubber-stamped-by: axis
2011-05-04 16:23:51 +02:00
Jiang Jiang edf55f7d50 Remove QFontEngineFT::loadGlyphMetrics
It is no longer used and was accidentally merged back in.

Reviewed-by: Eskil
(cherry picked from commit 782535ac548c582542bd1c17207e288e816870a8)
2011-05-04 14:34:31 +02:00
Jiang Jiang 2a8d50ed6a Add required font metrics functions to QRawFont
Reviewed-by: Eskil
(cherry picked from commit 2c8df8bfb679885c3cbd2ee02f5e4053fdd554c2)
2011-05-04 14:34:21 +02:00
Gunnar Sletta c41153e693 Merge branch 'master' of scm.dev.nokia.troll.no:qt/qtbase-staging 2011-05-04 11:38:42 +02:00
Eskil Abrahamsen Blomfeldt 2e0003eda4 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)
2011-05-04 11:20:59 +02:00
Gunnar Sletta 9c6347f245 Merge branch 'master' of scm.dev.nokia.troll.no:qt/qtbase-staging 2011-05-04 10:08:23 +02:00
Gunnar Sletta a41265a09e Merge branch 'qtquick2' of scm.dev.nokia.troll.no:qt/qtbase-staging into qtquick2 2011-05-04 10:01:30 +02:00
Gunnar Sletta 539602d43a Make it possible for animation driver to specify the advance time delta 2011-05-04 10:00:42 +02:00
Eskil Abrahamsen Blomfeldt 5bf2f85953 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)
2011-05-04 09:12:40 +02:00
Jørgen Lind d8c6e2773f Remove warnings
(cherry picked from commit 9625c564877414695a9706acf34bc8719018ef06)
2011-05-04 09:03:50 +02:00
Jørgen Lind 03aafc9d48 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)
2011-05-04 09:03:49 +02:00
Kristian Høgsberg 1e3e3980da 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)
2011-05-04 09:03:49 +02:00
con 95bbf56ff0 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)
2011-05-04 09:03:49 +02:00
Jørgen Lind 64fa65df74 Lighthouse: Fix virtual desktopwidget
(cherry picked from commit 69c759f5b84c2f6a44377e5f72cfe9d5bf7344c6)
2011-05-04 09:03:41 +02:00
Eskil Abrahamsen Blomfeldt e443d88501 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)
2011-05-03 16:50:01 +02:00
Marius Storm-Olsen 1287361f64 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.
2011-05-02 15:30:08 +02:00
Marius Storm-Olsen 6319779bed Add module.prf, and install MODULE_PRI for each module
Output warning if not present
2011-05-02 15:30:08 +02:00
Martin Petersson 5aaa38c7ac 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)
2011-05-02 12:39:40 +02:00
Martin Petersson 5be54b220a 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)
2011-05-02 12:39:12 +02:00
Martin Petersson e4b289c276 Fix compile warning on Windows
Reviewed-by: Prasanth Ullattil
(cherry picked from commit 800ad68e4f000e65b0a83ef1da2a29d595964156)
2011-05-02 12:38:48 +02:00
Eskil Abrahamsen Blomfeldt ac4af55972 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)
2011-05-02 10:13:32 +02:00
Dmitry Zelenkovsky f26c4ba80d 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)
2011-05-02 09:53:25 +02:00
Jiang Jiang 774527dd1e 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)
2011-04-29 11:02:25 +02:00
Jiang Jiang bbbfc9b0eb 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)
2011-04-29 11:02:24 +02:00
Jiang Jiang d64460fffb 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)
2011-04-29 11:02:24 +02:00
Jiang Jiang 044e7602ae 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)
2011-04-29 11:02:24 +02:00
Jiang Jiang d623257584 Remove extra comma at the end of enum list
It fails compilerwarnings test.

Reviewed-by: TrustMe
(cherry picked from commit 1e847c00dcf4948b8892d0a552576e1d3ea554b9)
2011-04-29 11:02:24 +02:00
Jiang Jiang 0d32728af2 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)
2011-04-29 11:02:24 +02:00
Jiang Jiang a7b6f4c8a5 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
2011-04-29 11:02:23 +02:00
Jiang Jiang 0f7cba14f6 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)
2011-04-29 11:02:23 +02:00
Eskil Abrahamsen Blomfeldt e99aa8b20c 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)
2011-04-29 10:12:27 +02:00
Jiang Jiang 8c90fb22c4 Fix glyph position issue with fallback fonts
Task-number: QTBUG-18933
Reviewed-by: Eskil
(cherry picked from commit 18fcbf7ae41504324cd453ba9b9655f3e94f6495)
2011-04-29 10:09:13 +02:00
Eskil Abrahamsen Blomfeldt b2db259a32 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)
2011-04-29 09:05:26 +02:00
Eskil Abrahamsen Blomfeldt 544babaaf9 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)
2011-04-29 08:55:03 +02:00