summaryrefslogtreecommitdiffstats
path: root/src/gui/text
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/oslo-staging-2 into 4.6Gunnar Sletta2009-11-133-22/+62
|\
| * Speed up QTextFormatCollection::indexForFormatJos van den Oever2009-11-132-21/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QTextFormatCollection currently has two problems: - looking for the index of a QTextFormat is linear, this can take 25% cpu when loading large documents in kword - the hash function for QTextFormat is inadequate. Not all values are treated specially. E.g. each QBrush instance has the same hash value at the moment. These patches speed up loading of a large text document in KWord from 9 to 7 seconds. This fixes this by using QMultiHash to group the QTextFormat instances by hash and only loop through that list when looking up values. It also improves the hash function for QTextFormat. Merge-request: 1623 Reviewed-by: Olivier Goffart <ogoffart@trolltech.com>
| * Merge oslo-staging-2/4.6 into upstream/4.6Olivier Goffart2009-11-131-1/+3
| |\
| | * Merge commit 'widget/4.6' into oslo-staging-2/4.6Olivier Goffart2009-11-111-1/+3
| | |\ | | | | | | | | | | | | | | | | Conflicts: src/gui/painting/qbrush.cpp
| | | * Small caps font variant wouldn't be used when defined through style sheetsGabriel de Dietrich2009-11-111-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The font comparison (operator==) didn't check the capital attribute, which is the one responsible for this variant. Now it does. Auto-test updated. Reviewed-by: Samuel Reviewed-by: Olivier
* | | | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt into 4.6Gunnar Sletta2009-11-138-23/+55
|\ \ \ \ | |/ / / | | | | | | | | | | | | Conflicts: dist/changes-4.6.0
| * | | Fix typo in license headerAlessandro Portale2009-11-124-4/+4
| |/ / | | | | | | | | | | | | | | | The word 'module' was missing. Reviewed-By: TrustMe
| * | Qt covers BC break in SymbianAlessandro Portale2009-11-101-2/+25
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Workaround: fntstore.h has an inlined function 'COpenFont* CBitmapFont::OpenFont()' that returns a private data member. The header will change between minor SDK versions, thus break BC. But Qt has to build on any SDK version and run on other versions of Symbian OS. Also Qt does not want to deliver that BC to Qt based apps. This hack performs the needed pointer arithmetic to get the right COpenFont* pointer, no matter if the 'Flexible Memory Model' is already supported or not. The author is not proud of this commit. Task-number: QT-2250 Reviewed-by: Iain Reviewed-by: Shane Kearns modified: src/gui/text/qfontdatabase_s60.cpp
| * Merge branch '4.6-api-review' into 4.6Marius Storm-Olsen2009-11-091-2/+2
| |\
| | * API review: Rename functions numColors(), setNumColors() and numBytes()Marius Storm-Olsen2009-11-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QPaintDevice and QImage used the functions numColors(), setNumColors(), and numBytes(). However, this is not consistent with the rest of the Qt API which uses *Count() and set*Count(). Removed all usage of these functions inside Qt and test-cases. Reviewed-by: Andreas Aardal Hanssen
| * | Merge remote branch 'mainline/4.6' into 4.6Oswald Buddenhagen2009-11-066-62/+92
| |\ \
| | * \ Merge commit 'origin/4.6' into 4.6Olivier Goffart2009-11-063-48/+71
| | |\ \ | | | |/ | | | | | | | | | | | | Conflicts: dist/changes-4.6.0
| | * | Merge commit 'origin/4.6' into 4.6Olivier Goffart2009-11-051-1/+2
| | |\ \
| | * | | Fix textControl so that it ignores mouse press events when neededThierry Bastian2009-11-052-12/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the issue in the itemviews that the selection would not change when clicking on rich text labels. Task-number: QTBUG-4516 Reviewed-by: ogoffart
| | * | | Merge commit 'origin/4.6' into 4.6Olivier Goffart2009-11-046-39/+71
| | |\ \ \
| | * | | | QCSSParser: Fixes the way spaces are handled in font family.Olivier Goffart2009-11-021-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We cannot simplify spaces because a font may have several spaces in its name. If we only add spaces when needed when merging tokens, we don't need to simplyfy the string later The CSS tokenizer will already make sure that spaces are removed if there is no quotes (btw, the CSS specification says that there must be quotes if there is spaces, but we tollerate if there is no quotes) Reviewed-by: Jocelyn Turcotte Task-number: QTBUG-4344 Task-number: 258586
| * | | | | Merge remote branch 'mainline/4.6' into 4.6Oswald Buddenhagen2009-11-043-40/+38
| |\ \ \ \ \ | | | |_|/ / | | |/| | |
| * | | | | QPlainTextEdit redraw issue in QTextControlmae2009-11-041-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is an optimization in QTextControl, that it only requests updates for single blocks if only a single block was changed. This update was requested with the block's bounding rectangle. In the case of disabled line wrapping in combination with a very long line, a block change can result in a narrower block bounding rectangle. This then resulted in pixel on the screen not being redrawn properly. The fix enlarges the requested update rectangle horizontally. The bug was discovered during inhouse Qt Creator testing. Reviewed-by: Oswald Buddenhagen
* | | | | | Add option to ingore unused navigation events in QTextControlEskil Abrahamsen Blomfeldt2009-11-113-7/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QFxTextEdit, as well as systems with keypad navigation, needs the text control to ignore navigation events that have no effect (like hitting the right navigation key at the end of the text.) Previously, we would only support this for keypad navigation. This patch introduces a flag that you can set to tell the QTextControl to ignore these events. If the flag is not explicitly set, behavior should remain as before. The if-test has been refactored to make it more readable. Done-with: Alan Alpert Reviewed-by: Samuel
* | | | | | Printing QTextDocument doesn't include custom objects.Samuel Rødal2009-11-113-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to copy the abstract text layout's custom object handlers as well when we temporarily use a different QTextDocument. Task-number: QTBUG-5397 Reviewed-by: Simon Hausmann
* | | | | | CompileEskil Abrahamsen Blomfeldt2009-11-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QPen does not have a constructor which only takes a single QBrush. Reviewed-by: Gunnar
* | | | | | Removed redundant line of code.Kim Motoyoshi Kalland2009-11-101-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | Reviewed-by: Simon Hausmann
* | | | | | Pixelalign circles in HTML bullet listsGunnar Sletta2009-11-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Reviewed-by: Eskil
* | | | | | Fixed inconsistent coloring of bullets, circles and square listsGunnar Sletta2009-11-091-1/+1
| |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also removed a redundant setBrush(), as it will be followed by painter->restore() a few lines below. Reviewed-by: Eskil
* | | | | CompileEskil Abrahamsen Blomfeldt2009-11-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Missing comma in qfontdatabase.cpp Reviewed-by: Gunnar
* | | | | add support for the N'Ko writing system to QtLars Knoll2009-11-063-47/+70
| |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | Enables N'Ko support in Qt, after having now a harfbuzz version that supports it. Task-number: QTBUG-1042 Reviewed-by: Gunnar
* | | | Merge branch '4.6-s60' into 4.6axis2009-11-041-1/+2
|\ \ \ \ | |_|_|/ |/| | |
| * | | Fixed an input method bug when erasing the last character.axis2009-11-031-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we didn't update the editor contents if the new preedit string was empty. However, it could be empty because the user just erased it, so the bug was fixed by checking whether the preedit string in the event and in the editor are different. RevBy: Denis Dzyubenko
* | | | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt into 4.6Gunnar Sletta2009-11-039-46/+78
|\ \ \ \ | |/ / /
| * | | fix font height calculation on QWSJoerg Bornemann2009-11-031-1/+1
| |/ / | | | | | | | | | | | | | | | | | | fontDef.pixelSize is a qreal now and we should round it after multiplication to avoid an accuracy loss. Reviewed-by: mae
| * | Merge remote branch 'mainline/4.6' into 4.6Oswald Buddenhagen2009-11-026-45/+44
| |\ \
| | * \ Merge commit 'origin/4.6' into featureJørgen Lind2009-11-027-50/+47
| | |\ \ | | | |/
| | | * Merge commit 'widget/4.6' into origin/4.6Olivier Goffart2009-10-305-45/+42
| | | |\ | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/effects/qgraphicseffect.cpp
| | | | * Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-widget-team into 4.6Jan-Arve Sæther2009-10-281-8/+10
| | | | |\
| | | | | * Qt::escape(): also escape the quote (&quot;)Olivier Goffart2009-10-281-22/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This amend previous commit by removing the duplicate function. The quote need to be escaped in attributes. Reviewed-by: Thomas Zander
| | | | | * Fix XML entities in QTextDocument::toHtml()Thorvald Natvig2009-10-281-7/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a QTextDocument contains an anchor with a & in it, this & is not escaped in the toHtml() function, meaning the resulting document can't be parsed as XML as it will contain invalid entities. Reviewed-by: Olivier Goffart Merge-request: 1753
| | | | * | Merge branch 'fixes' of ↵Jan-Arve Sæther2009-10-2815-45/+132
| | | | |\ \ | | | | | |/ | | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://gitorious.org/~fleury/qt/fleury-openbossa-clone into openbossa-fleury-fixes3 Conflicts: src/gui/graphicsview/qgraphicsanchorlayout_p.cpp src/gui/graphicsview/qgraphicsanchorlayout_p.h
| | | | * | Always use QExplicitlySharedDataPointer<QFontPrivate>Andreas Kling2009-10-274-37/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes a refcount bug that occurs when QFont is constructed from a QFontPrivate* that was created without an initial ref(). Merge-request: 1831 Reviewed-by: Olivier Goffart <ogoffart@trolltech.com>
| | * | | | Fix LIBRARY and ICONJørgen Lind2009-10-291-0/+2
| | | |_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | However, compiling with QT_NO_ICON will still not work :( Reviewed-by: tom
| * | | | Merge commit 'mainline/4.6' into 4.6hjk2009-10-302-5/+5
| |\ \ \ \ | | | |/ / | | |/| |
| * | | | introduce int QTextDocument::available{Undo,Redo}Steps() const;hjk2009-10-303-0/+33
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Formerly, QTextDocument::revision() could be used to guesstimate the number of available undo steps that was used in Qt Creator to store cursor positions in parallel to the actual text contents. Now that revision() is strictly increasing, another means is needed, therefore the new functions providing the needed data. Reviewed-by: mae
* | | | Avoid infinite loop when laying out text with unconvertible charsEskil Abrahamsen Blomfeldt2009-10-291-38/+35
| |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the stringToCMap() fails, it can be because it did not have enough space in the layout, or it can because of other errors. In order to implement "try-again" processing in a simple way, we had an infinite loop which assumed that stringToCMap() would always succeed in the second run (which would be the case if the only possible error was "not enough space".) Since there are other possible failures not related to the number of glyphs, you could easily get into an infinite loop here, e.g. when laying out text that contains the Byte Order Mark. The fix changes the implementation to explictly try stringToCMap() twice at max, and is also how it's implemented in the default qtextengine.cpp. Task-number: QTBUG-4680 Reviewed-by: Trond
* | | Cocoa: Synthesize italic text correct way when adding glyphs to pathEskil Abrahamsen Blomfeldt2009-10-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Mac OS X, Cocoa, we would synthesize italics on the text by slanting it in the incorrect direction (so it leaned to the left) when generating a path from the text, e.g. when printing. The patch makes the text slant the correct way, and the logic now becomes identical with the synthesized italics in the draw() function. Task-number: QTBUG-4969 Reviewed-by: Trond
* | | Fixed PDF generation for Windows.Trond Kjernaasen2009-10-261-4/+4
|/ / | | | | | | | | | | | | | | Font names were not retrieved correctly after the QT_WA removal patch. The old code always used the GetTextOutlineA() API, except for WinCE, even when a Unicode compatible Windows platform was used. Reviewed-by: Kim
* | Make compile on X11 systems where qreal == floatRhys Weatherley2009-10-261-1/+1
| | | | | | | | Reviewed-by: Sarah Smith
* | Compile on QWSAnders Bakken2009-10-231-1/+1
| | | | | | | | | | | | | | | | After 04d18b38c38c5ff623b30366ea08d56128b9b7d0 Qt didn't compile for QWS. Will email original committer to verify that original intent is maintained. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Line spacing fixesJoerg Bornemann2009-10-2314-43/+130
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QTextEdit (via QTextLayout) and QPlainTextEdit in Qt used to ignore any font leading but added one extra pixel in QFontMetrics. With many freetype fonts, this resulted in a "spacy" text layout. The necessary fixes on X11 and Windows were to take (positive) leading into account, to make the font database convert point sizes to pixel sizes without rounding to plain integer values, and to subtract the extra pixel from QFontMetrics from the font engines' descent value. The change also fixes several places in styles and widgets, where QFontMetrics::lineSpacing() was wrongly used instead of QFontMetrics::height(). Ideally we should also handle negative leading, which would require additional and bigger code changes in QTextLayout and QPlainTextEdit. In addition, all other editors we have tested seem to ignore leading on X11. If we choose to believe the values provided by freetype, our text layout would be one pixel smaller than everybody else's. On the Mac, this change does nothing. There our layout is still too spacy, and for smaller fonts quite ugly compared to native Mac applications. Done with mae. Reviewed-by: mae
* | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt into 4.6Gunnar Sletta2009-10-231-75/+16
|\ \ | |/
| * qfontengine_win.cpp: special Windows CE code removedJoerg Bornemann2009-10-221-75/+16
| | | | | | | | Reviewed-by: thartman
* | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt-graphics-team into 4.6Gunnar Sletta2009-10-221-1/+1
|\ \ | |/ |/|