summaryrefslogtreecommitdiffstats
path: root/src/gui/text
Commit message (Collapse)AuthorAgeFilesLines
* Remove use of QT_MODULE from libraryGunnar Sletta2012-01-2522-22/+0
| | | | | | | | | | These defines were there to aid in the commercial licensing scheme we used long ago, and are no longer needed. Keep a QT_MODULE(x) define so other modules continue compiling. Change-Id: I8fd76cd5270df8f14aee746b6cf32ebf7c23fec7 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Move glyphMargin() to QFontEngineJiang Jiang2012-01-247-15/+17
| | | | | | | | | | | | | glyphMargin() support for QTextureGlyphCache is implemented in respective font engines, thus this function is platform dependent. Before Qt 5 the code is guarded in macros like #ifdef Q_WS_MAC, now we should move them into QFontEngine and its subclasses. So far only Windows font engines support it. FreeType and Core Text based font engines all ignore it. Change-Id: Ia14016533d8fbfaacf848a7d3bc928f8197318f5 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Remove Symbian specific code from QtGui.Xizhi Zhu2012-01-244-30/+2
| | | | | Change-Id: I103abb545d1a5deed7d40c0b50fc3eff0c89d622 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Update contact information in license headers.Jason McDonald2012-01-2393-93/+93
| | | | | | | Replace Nokia contact email address with Qt Project website. Change-Id: I431bbbf76d7c27d8b502f87947675c116994c415 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Fix glyphsEnd range checkJiang Jiang2012-01-201-2/+5
| | | | | | | | | | | For a character generating more than one glyphs, glyphsRun() needs to check the next glyph index after the requested range. If that glyph index is more than one larger than the glyphsEnd we currently get from logClusters, then glyphsEnd need to be set to the next glyph index minus one. Change-Id: I795c595d349418ba755b088d6fe6ff24a6e7dd15 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Rename all our interfaces from com.trolltech to org.qt-projectLars Knoll2012-01-191-1/+1
| | | | | | Change-Id: I6db7211fcf6b24bd75e360645bbb2fdf1ef8a8bc Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com> Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* Fix that right aligned tabs can cause text overlappingC. Boemann2012-01-171-1/+1
| | | | | | | | | | | Eventhough there is a unittest that shows it shouldn't overlap it does at drawing. I've not been able to figure out why the unittet doesn't fail, but it has before been the case that layout and drawing don't correspond. Change-Id: I13250d0510cd0d963721b05f67ac82b1d499fbac Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Join user state of removed text blocksLeandro Melo2012-01-171-9/+10
| | | | | | | | | Note: Indentation of surrounding code was fixed. Done-with: mae (cherry picked from commit 8d3d3381c127f0f4dd9fc507c3069acddbf40535) Change-Id: I8d3d3381c127f0f4dd9fc507c3069acddbf40535 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* QStyleHelper: Base DPI-calculation on QScreen.Friedemann Kleint2012-01-111-18/+14
| | | | | | | | | | | | | | | - Use qt_defaultDpiX() to obtain the resolution, which obtains it from QScreen. This implies that for X11, which previously used a hardcoded default of 96 DPI, the real resolution will be used (typically 75). - Since many tests (layouts, graphicsview) contain test data for 96 DPI, add an attribute to QCoreApplication making it possible to set the resolution to 96 DPI for testing. Change-Id: I77c8233a96b0d75de07406f58d48886a89c3de06 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Add methods for font stretch and absolute letter spacingC. Boemann2012-01-112-4/+74
| | | | | | | We basicaly just rely on the methods in QFont Change-Id: Iaf8cbf4d90d0c5b10b3a85983de7ca58763e0371 Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
* Implement QDebug stream operators for builtin classesJędrzej Nowacki2012-01-102-0/+23
| | | | | | | | | | | QDebug stream operator was added for: QPixmap, QImage, QUuid, QBitArray, QLocale, QRegExp, QCursor, QPalette, QTextFormat, QTextLength, QIcon and QSizePolicy Change-Id: Ibcf5c9b599ba322d53cb106d8e5e157427ebe757 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
* Make sure cursor navigation in qtexttable works like user expectsC. Boemann2012-01-091-19/+12
| | | | | | | | Before the selection of cells NW of anchor showed some defects where cells would not be selected as the user expects Change-Id: Ia2b63f11b8d534e918ffb97b76339d60f1ca0389 Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
* Move keyboard locale and input direction to QInputPanelPekka Vuorela2012-01-072-2/+3
| | | | | | | | | | Deprecated QGuiApplication::keyboardInputLocale() and keyboardInputDirection(), introduced QInputPanel::locale() and inputDirection(). Change-Id: Ic48c77f10821a949751c73c73f22bd78e2192b9c Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Avoiding crash when insert preEditStringYuchen Deng2012-01-071-0/+2
| | | | | | | | | | | We will insert an preEditString by QInputMethodEvent See: Task-number: QTCREATORBUG-5633 Task-number: QTCREATORBUG-6082 Change-Id: I8cfc7ab2543455dfdff8ec3df983d384513453e0 Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Update copyright year in license headers.Jason McDonald2012-01-0594-94/+94
| | | | | Change-Id: I02f2c620296fcd91d4967d58767ea33fc4e1e7dc Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* QTextLayout::lineAt() to return invalid line if index is out of boundsPekka Vuorela2012-01-051-1/+1
| | | | | Change-Id: I1f93789c96f3b2335b02897ff5fc8385964d1641 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Support RTL text with merge font enginesJiang Jiang2012-01-051-6/+10
| | | | | | | | | | | Text like Urdu use mixed RTL scripts from Persian, Arabic and so on. In RTL, sub glyph runs for individual font engines must be added from end to start, so that the positions can still be calculated in a left to right manner. Task-number: QTBUG-23404 Change-Id: I7e55e4b7b858b3abbe94e352c93d36de6226ff58 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Fix crash in positionInLigatureJiang Jiang2012-01-021-1/+1
| | | | | | | | | Check boundary of pos before accessing attributes. Task-number: QTBUG-23104 Change-Id: I0bc93dbe320badc65acc75bb59b27f481e69b93e Reviewed-by: Eskil Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
* Make qDecodeDataUrl return bool.Jonas M. Gastal2011-12-291-2/+6
| | | | | Change-Id: I23b9fed39af7bea6c171b35e10bd72c424bd903e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge QTextDocumentFragment::toHtml() overload per Qt 5 comment.Robin Burchell2011-12-272-12/+1
| | | | | Change-Id: Ic8850684c2298b996354e27cc96ad6486d7a3679 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Finish removing Qt3 supportBradley T. Hughes2011-12-233-15/+0
| | | | | | | | | | | | | | | | Remove the (-no)-qt3support options from configure, and remove the last remaining references to Qt3Support, QT3_SUPPORT, and QEvent::ChildInserted. The compatibilityChildInsertEvents() tests in tst_QObject and tst_QWidget have been renamed to childEvents(), which is a more appropriate name. Change-Id: Id0b45e9b177efcc8dceee8c9ed8afafedeeace2f Reviewed-by: Kai Koehne <kai.koehne@nokia.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: David Faure <faure@kde.org> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Add destructor to QPlatformFontDatabase.Frederik Gladhorn2011-12-202-0/+8
| | | | | | | Virtual functions deserve a virtual dtor. Change-Id: I71b7ae3b7fb0aa1553a37a90dce6270740d49e32 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* engineData should be cached solely based on QFontDefJiang Jiang2011-12-014-11/+11
| | | | | | | | | | | | | | | | | | | | Each QFontPrivate points to a QFontEngineData instance, which is essentially a mapping from different scripts to QFontEngines. Let's say we have QFont("Waree") and trying to use that for one text in Thai and another text in English, there should be only one QFontEngineData: [ QUnicodeTables::Common -> QFontEngineMulti(1), QUnicodeTables::Thai -> QFontEngineMulti(2) ]. If we cache QFontEngineData using QFontCache::Key (which includes QFontDef, script and screen) as the key, then we will create two QFontEngineData: [ QUnicodeTables::Common -> QFontEngineMulti(1) ] and [ QUnicodeTables::Thai -> QFontEngineMulti(2) ], so it will be pointless to have QFontEngineData at all. This bug was introduced in a 2005 refactoring (512f0e8c in history repo). Change-Id: I14677507e97682472cde9a0e1b594e903ec9e718 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Remove explict debug messageJiang Jiang2011-11-221-1/+1
| | | | | Change-Id: I8159651d4894bb828416cddb402c946bbd1a535e Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Support better committing preedit in QLineControllerPekka Vuorela2011-11-212-0/+29
| | | | | | | | Similar as 7851568c65e0560056c6fa541039543d43a63e20 for QWidgetLineController Change-Id: I7c1a1dc22e9b73515a5a72093866ac747a80896f Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Support input method tentative commit string in QLineControlPekka Vuorela2011-11-212-9/+49
| | | | | | | | | Implements similar behavior as 8bd40fef0733a4796a308b3bc137a05296e142c4 did for QLineEdit. Change-Id: I55de1f9a6703aca629f2e84398e481636c96eeca Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Fix QLineControl work properly with input method selection eventPekka Vuorela2011-11-211-4/+9
| | | | | | | | | Same as what 1189ebff320b8dd03637947c92df6e3ef84a3c06 did for QWidgetLineControl. Change-Id: I0991c2a2af126cfd7203829adc33bb4e6d45a7f2 Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Resolve a number of compilation issues with INTEGRITYRolland Dudemaine2011-11-181-6/+9
| | | | | | | | | | | | | | First, #ifdef'ed out getpwuid_r() and getpwgid_r() usage since users/groups support is not in in single-process Posix mode. Also, correct a typo and add missing files to io.pri. Update documentation to disable libtiff which won't compile until ibtiff itself is updated, and add back -no-exceptions in the sample command line. And add a line to compile host tools. Add a dummy QT_OPEN_LARGEFILE definition in qplatformdefs.h since there is code that requires it. Move definition of getGlyph() after the definition of qHash(GlyphAndSubPixelPosition). Merge-request: 2686 Reviewed-by: ossi (cherry picked from commit 8fe04a14b1f3688c9ce0933ebec0c28616595d93) Change-Id: I8fe04a14b1f3688c9ce0933ebec0c28616595d93 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Revert logic when building with --force-assertsHarald Fernengel2011-11-161-9/+1
| | | | | | | | | | This reverts commit f109f5b8a9c7e6939dfd6c6f72a3b67548f5483c. Instead of disabling the asserts, rather enable the debug code so the asserts actually trigger. Change-Id: I6f62588d836de5c926294241e8d7196a963e4aac Reviewed-by: Eckhart Koppen <eckhart.koppen@nokia.com>
* Fix Q_ASSERT usage in case -force-asserts is enabledEckhart Koppen2011-11-161-0/+8
| | | | | | | | | | | Certain Q_ASSERT usages are not compiling with -force-asserts since they are checking for instance variables or other items which are not available in release mode. This fix guards the asserts to only be enabled in debug mode. Change-Id: I2ed74e3d5118608361e8c924e93d8ff0efdc8eab Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Provide defaultFont with fontconfig dbJiang Jiang2011-11-151-0/+1
| | | | | | | | | | | So that it won't just return "Helvetica" that may not exist in target system. Providing it seems to fix QTBUG-21833 as well, thus we can remove the QEXPECT_FAIL statement in qlistview test. '_' appears to reach the minimum right bearing in some fonts. Task-number: QTBUG-21833 Change-Id: I2340af6ee736083ec4f6575e469840ebec4e545e Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
* Fix QPlainTextEdit when using Qt::TextSelectableByKeyboard flagjahonkon2011-11-141-5/+2
| | | | | | | | | | | It is not possible to select text with keyboard when specifying only Qt::TextSelectableByKeyboard flag. Task-number: QTBUG-18952 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> (cherry picked from commit 054fa68b6ae852e84f2d44a73260b4282286f5ab) Change-Id: I054fa68b6ae852e84f2d44a73260b4282286f5ab
* Fix symbol fonts support with FT engineJiang Jiang2011-11-111-20/+0
| | | | | | | | | | | | It appears that the symbol_map we obtained with FreeType doesn't work for common symbol fonts like Wingdings, in previous X11 code we use the code path with normal charmap, to enable it we need to make sure QT_NO_FONTCONFIG is not defined. And since the FcCharset functions doesn't really operates on the font database, we can safely skip the mutex calls. Change-Id: I8c484de200be1d47c053b10be2c51d2273dcd359 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Fix application font loading in basic font dbJiang Jiang2011-11-111-5/+13
| | | | | | | | | | | | | | | | | We need to reregister fonts in initializeDb because basic font db doesn't have an internal record like fontconfig does, so just repopulating the font database won't work. db->reregisterAppFonts is now used properly as intended (reregister application fonts after the system font database has been cleared). Also, static variable 'initialized' in initializeDb() is removed since we check privateDb()->count to see if it needs to be populated again. Task-number: QTBUG-22063 Change-Id: Ifc66392b56b72acbe08b99256c61421c204be5d7 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Avoid double initialize of platform font databaseJiang Jiang2011-11-081-1/+0
| | | | | | | | | | | Since platform font database will be populated in QFontDatabase::load, no need to do it here in QFont::initialize. The change was in cd781b732ed29b41b5ac18e39cbbba2815fc8f8b but lost in previous merge. Change-Id: Iaa56fea5765d94e4f7b58409654bc218808086cd Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Fix subpixel positioning supportJiang Jiang2011-11-084-7/+11
| | | | | | | | | | | | Move subpixelPositionForX from QTextureGlyphCache to QFontEngine, since some font engines like QFontEngineFT may need a custom implementation or tweak it a little bit. In QRasterPaintEngine::drawCachedGlyphs, do not add aliasedCoodinate to x offset as that will break subpixel positioning. Change-Id: Idbcec617509459b80965220ceb07b17737649bbf Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Fix QQuickTextInput implicit width.Andrew den Exter2011-11-071-1/+2
| | | | | | | | | | QQuickTextInput tries to set the UseDesignMetrics text option on its QLineControl but this is overridden by the options set in updateDisplayText(). Apply the new options in updateDisplayText to the existing options. Change-Id: I6789c3c2d6e496c1594d586bd075473983978f77 Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Allow disabling FreeType internal cacheJiang Jiang2011-11-052-155/+112
| | | | | | | To disable it, set QT_NO_FT_CACHE environment variable to 1. Change-Id: I086aa93c71cbdf86858a41a2bbad5d2db247cdfb Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Fix a warning in QGlyphRun compilationJiang Jiang2011-11-051-0/+1
| | | | | Change-Id: Ic072240193fc8eb5e7fdcd0dada79383398b224b Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
* Restore subpixel rendering support with fontconfig and FreeTypeJiang Jiang2011-11-051-1/+2
| | | | | Change-Id: I45cf83374ba5a8b1ae88415950c1e5ab72991598 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Improve QtGui start-up time and memory use.Samuel Rødal2011-11-041-2/+4
| | | | | | | | The gamma lookup tables can be allocated and computed on demand, as they're not always needed, depending on the platform and the use case. Change-Id: I2d4c2860746366a0e46edb53bd4ecd2778de2464 Reviewed-by: Olivier Goffart <ogoffart@kde.org>
* Do not put cursor at non-stop character positionsJiang Jiang2011-11-041-0/+3
| | | | | | | | | | | When moving cursors, non-stop positions are skipped, however certain input sequences can still lead us there. In such cases we should simply ignore those positions in cursorToX. Task-number: QTBUG-7076 Change-Id: Ia0a25931f4043359f72a6c0c14a74b905e40b93e Reviewed-by: Eskil Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
* Release font engine refcount when done using it in QTextEngineJiang Jiang2011-11-043-5/+12
| | | | | | | | | | | | | 5f2b6dd2a50275bc05ae5d7e9dd8902d6d49d9df increased refcounts for font engines in QTextEngine cache, we need to decrease them when the QTextEngine is deallocated. Task-number: QTBUG-21222 Reviewed-by: Eskil (cherry picked from commit 8935a84e18804c7ff4b7336e3cfdf1cd558eaf1c) Change-Id: I079c903d60e1bbcf78f555f8044dde69af82cf0e Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
* Renamed QTextLayout member variable for readabilityPekka Vuorela2011-11-032-39/+39
| | | | | | | | | Class complex enough already without int i as member variable. Furthermore, some methods use loop variable with same name, shadowing the member one. Change-Id: Idf2f5e34f130a60eb6121480e596e443f23641dd Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
* Documented side-effect of QTextLayout::setPreeditArea()Pekka Vuorela2011-11-031-1/+2
| | | | | | | Invalidates layout and requires layouting again. Change-Id: I1cb954f155e4fc1df4b217478998ac903cc18323 Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
* Fix most warnings about assignments of QAtomicInt.Friedemann Kleint2011-10-312-2/+2
| | | | | Change-Id: Ide409d72d2637b68ec2a85aaca4bc783a7e911e7 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Freetype: Do not unlock face when returning superclass value in ↵Oliver Wolff2011-10-281-1/+0
| | | | | | | | | | lockedAlphaMapForGlyph If the face is unlocked in this case, calling unlockAlphaMapForGlyph after doing the operation will cause an assert. Change-Id: Icb2310a3b139e5bedf24f9c3794bd7d3fd38cfea Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Replace implicit QAtomic* casts with explicit load()/store()Bradley T. Hughes2011-10-278-27/+25
| | | | | Change-Id: Ia7ef1a8e01001f203e409c710c977d6f4686342e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix compiler warnings.Friedemann Kleint2011-10-271-0/+1
| | | | | | | | - Fix gcc 4.6.X warnings about assigned but unused variables - Remove trailing ';' from inline functions (Clang) Change-Id: I8670afd6b149748a740f22c65de137762e9f18e1 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* QtGui: Remove Q_WS and qpa.Friedemann Kleint2011-10-255-171/+8
| | | | | | | | | Enable compilation without -qpa. Remove QT_NO_FREETYPE and QT_NO_FONTCONFIG when building. Change-Id: I0e017cc47ee06b885be65deaeb67a449a119b8be Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>