summaryrefslogtreecommitdiffstats
path: root/src/gui/text/qtextdocumentlayout.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Tidy nullptr usageAllan Sandfeld Jensen8 days1-12/+12
| | | | | | | | | | | Move away from using 0 as pointer literal. Done using clang-tidy. This is not complete as run-clang-tidy can't handle all of qtbase in one go. Change-Id: I1076a21f32aac0dab078af6f175f7508145eece0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Merge remote-tracking branch 'origin/5.13' into 5.14Qt Forward Merge Bot2019-10-241-2/+6
|\ | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qstandardpaths_unix.cpp src/corelib/tools/qsharedpointer_impl.h tests/auto/corelib/tools/qsharedpointer/tst_qsharedpointer.cpp Change-Id: Iae95c5778dc091058f16f6db76f04a0178a9e809
| * Fix cursor not showing in empty block preceding a tableKari Hormi2019-10-141-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | When an empty text block precedes a table in QTextEdit, the cursor in the said text block is drawn twice (in order to make sure that the cursor is drawn on top of the table) with inverted colors, resulting in nothing showing up. This commit checks for an empty block before the table and skips the first drawing of the cursor if that's what it finds. Fixes: QTBUG-62919 Change-Id: I828d06e0645007ac42e3f308a35868b4f0db1380 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* | Make QTextBlockFormat::MarkerType an enum classShawn Rutledge2019-10-101-2/+2
| | | | | | | | | | | | | | This came up during API review. Change-Id: I9198e1eb96db0c21e46a226a032919bb62d3ca66 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* | Fix build with QT_NO_CSSPARSER / -no-feature-cssparserNils Jeisecke2019-10-041-0/+28
| | | | | | | | | | | | | | | | | | Some parts of the new QTextDocument table border logic depend on the QCss namespace which is not available with -no-feature-cssparser. Change-Id: Ib8396894dc35872f22c634e1d6c38968d3dd4756 Reviewed-by: Timo Aarnipuro <timo.aarnipuro@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | QTextDocument: Fix device scaling for QTextFrameFormat margins, padding and ↵Nils Jeisecke2019-09-171-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | border Those values must be scaled to device coordinates - otherwise borders, margins etc. will be too small when rendered on high dpi devices (printers etc.). This change will add the scaling to those values. QTextDocument::print applies 2cm margins to the root frame of a unpaginated QTextDocument. Those margins were previously scaled to device coordinates in order to give the correct result. But because scaling is now done inside QTextDocumentLayout that scaling must be removed and pixel values based on qt_defaultDpi are provided instead. Fixes: QTBUG-78318 Change-Id: I6fe6dcc25f846341f6a2fe5df2f54baea473fdfd Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | QTextDocument: allow css-styling of table cell bordersNils Jeisecke2019-08-081-58/+815
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows to set the width, style and color of each table cell's edge (left, right, top, bottom). Setting the table's border-collapse mode will disable explicit cell spacing. The basic CSS border collision rules are applied (wider border wins, vertical over horizontal). Setting the table's border width to a value >= 1 and enabling borderCollapse will now draw a simple and clean table grid (1px) with an outer border of the specified width and color. [ChangeLog][QtGui][QTextDocument] Added CSS style table cell border formatting with border-collapse mode. Change-Id: I324d82284802df4c88c13c5b902fec1f4768b67e Fixes: QTBUG-36152 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | QTextDocumentLayout: Refactor pagination logic for bordersNils Jeisecke2019-08-081-12/+40
| | | | | | | | | | | | | | | | | | | | | | The new helper class BorderPaginator encapsulates the existing pagination logic for drawing correctly clipped borders on all pages a cell appears on. This will allow reuse of that logic for drawing CSS-style borders. Change-Id: I47ed4a8802513aef30d97f14591c7d4716bfdbb8 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | QTextDocumentLayout: Fix regression in table column width calculationNils Jeisecke2019-08-071-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | 87748cc18e6a0d9e65933aa2462dc78ab8f9f22e introduces rounding of column widths to avoid table border render artifacts. For variable columns we must make sure that the maxWidth (= unwrapped content width) is not rounded down as this can cause erroneous wrapping of the content at rendering time. Fixes: QTBUG-43589 Change-Id: Iee155702a12374116a63050e5025df91f097a8e4 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | Merge remote-tracking branch 'origin/5.13' into devLiang Qi2019-06-141-2/+8
|\ \ | |/ | | | | | | | | | | | | | | | | Conflicts: qmake/generators/makefile.cpp qmake/generators/unix/unixmake2.cpp src/corelib/thread/qthread_unix.cpp tests/auto/corelib/tools/qsharedpointer/tst_qsharedpointer.cpp Change-Id: I1df0d4ba20685de7f9300bf07458c13376493408
| * Fix printing of table headers in multi-frame QTextDocumentsEirik Aavitsland2019-04-111-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | The calculation of page position of table headers would only work correctly for tables in the root frame of a QTextDocument. Fix by including the relative positions of subframes. Fixes: QTBUG-59000 Change-Id: I2cc7e21bddf806f7f5f9b0675ac014c339ba2453 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | Use insert instead of insertMulti when operating on a QMultiHashLars Knoll2018-12-031-1/+1
| | | | | | | | | | | | | | Change-Id: I96ebf6954d0a137f9f6f9632cdad6e18750519fe Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | QTextDocumentLayout: Avoid table border drawing artifactsNils Jeisecke2017-09-071-4/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As borders are always painted for single cells any rounding errors that occur when mapping from fixed point numbers to integers during raster painting will cause ugly drawing artifacts like extra pixels between cells or borders that overlap. To avoid this the following values are being rounded: - table offset - column positions and widths - row positions and cell heights For the column positions and widths the distribution constraints (total table width) are respected. Task-number: QTBUG-43589 Change-Id: I6308c113f8f9be3db8e9267629f26b5d65d2d7c7 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | Render markdown task lists (checkboxes instead of bullets) in QTextEditShawn Rutledge2019-05-021-6/+26
|/ | | | | | | | | Checkboxes are right-aligned with any bullets that are in the same QTextList so that there is enough space to make them larger than bullets. But hopefully mixing bullets and checkboxes will be a rarely-used feature. Change-Id: I28e274d1f7883aa093df29eb4988e99641e87a71 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* Fix page breaking with large imagesLars Knoll2019-04-261-1/+4
| | | | | | | | | | | | Don't go into an infinite loop breaking pages, when an image is about as large as the page. Correctly take top and bottom margins into account when calculating whether the image could fit on one page. Amends change 416b4cf685030114837bd375664fd12047895a62. Fixes: QTBUG-73730 Change-Id: Id311ddf05510be3b1d131702f4e17025a9861e58 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Replace LDEBUG with categorized logging in QTextDocumentLayout(Private)Shawn Rutledge2019-03-181-45/+36
| | | | | | | | | This adds four new logging categories: qt.text.drawing, qt.text.hittest, qt.text.layout and qt.text.layout.table Task-number: QTBUG-72457 Change-Id: Ifbfd6d16231c7f4ba664bc521699e44f98310f77 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Set correct vertical position for text following a very large imageLars Knoll2018-12-031-2/+2
| | | | | | | | | | If the document is paged and contains an image spanning more than one page, correctly set the y position for everything following that image. Change-Id: I1c584c7a907c1728c2965f1dc3fdc56069ab3172 Fixes: QTBUG-59886 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Don't start a new page when printing very large imagesLars Knoll2018-11-211-1/+2
| | | | | | | | | | | Don't start a new page to print a very high line of text if that line wouldn't fit on one page in any case. In that case we have to break the image up onto several pages anyway, so we might as well start it immediately. Change-Id: I823aa4961df179054476755c8f5df2e03874661f Fixes: QTBUG-59885 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Fix vertical alignment of inline imagesLars Knoll2018-11-191-12/+6
| | | | | | | | | | | | | | | | Inline images can have 4 different alignments. Unfortunately, AlignTop and AlignBottom can only be set once we have laid out the whole line and know the total height of the line, as one could otherwise end up with lines that are too high. To fix this, position the images for these cases in a second loop after we have calculated the length of the line and the maximal image height in that line. Task-number: QTBUG-59310 Change-Id: I1fd4cd39e43a13d1967b9f5c9ce8270a99269cd9 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Handle negative leading in layoutAllan Sandfeld Jensen2018-06-061-7/+15
| | | | | | | | Adjust line positions to deal with negative leading which isn't included in height of QTextLine. Change-Id: Id7918968c0f9d7e65700b9e7a08fc5d761883f22 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Merge remote-tracking branch 'origin/5.11' into devLiang Qi2018-04-261-4/+6
|\ | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/cocoa/qcocoafontdialoghelper.mm src/plugins/platforms/cocoa/qcocoawindow.mm Change-Id: Ideea96d1b43d47b1d9b34e11c9986a88e240aa71
| * Don't crash on <br> following a <table>Allan Sandfeld Jensen2018-04-251-4/+6
| | | | | | | | | | | | | | | | A <br> has a new-line but no text, so be able to handle no lines. Task-number: QTBUG-60853 Change-Id: I3d4dbd529114bbe8afe760c3622b52446202ec7c Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | QtGui: Raise minimum supported MSVC version to 2015Friedemann Kleint2018-02-141-20/+0
|/ | | | | | | | | | Remove code for older versions and streamline #ifdefs. Task-number: QTBUG-51673 Change-Id: I841f1880371db79723747fb9686ba466fd66c26f Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Update usage of QFontMetrics::width() to new APIEskil Abrahamsen Blomfeldt2017-12-081-3/+3
| | | | | | | | | | | | | | QFontMetrics(F)::width() has been deprecated and is replaced by horizontalAdvance(). This updates all usage of it in tests and documentation. It is worth noting that many or most of the usages of QFontMetrics::width() probably intended to use boundingRect().width(), but since it currently works, I have not looked into that, just replaced the function name mechanically. Change-Id: Iec382e5bad0b50f37a6cfff841bfb46ed4d4555f Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix warnings for -no-feature-cssparserNikita Krupenko2017-03-291-0/+2
| | | | | | Change-Id: Ib0eae1858880e3fe2b6c6abd94c7ea0bbc2649a2 Reviewed-by: Stephan Binner <stephan.binner@basyskom.com> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Revert "Emit updateBlock signal in QTextDocumentLayout"Eskil Abrahamsen Blomfeldt2016-07-271-5/+2
| | | | | | | | | | | | | | | | | | | | | This reverts commit 13040043b2f2274de74c296ede7dd3e6ffb67dcb. It introduced a bad regression, noticeable for longer documents, as it would cause the documentChanged(0, length) to trigger a layout of the entire document. The bug report for the commit (or the commit itself) does not contain a test case, but it is regardless the wrong approach. Note that QQuickTextEdit already listens to the contentsChange signal and invalidates the changed parts of the document as a reaction to this, so it should already work as expected. [ChangeLog][Qt Gui][Text] Fixed performance hit from showing large QTextDocuments in a QTextEdit or QTextBrowser. (Regression introduced in Qt 5.3.0) Task-number: QTBUG-51411 Change-Id: I6e7fbf8f62a1d68779eef5da3781de14d9fdcad8 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Merge remote-tracking branch 'origin/5.7' into devLiang Qi2016-06-131-12/+12
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: config_help.txt configure mkspecs/features/uikit/sdk.prf src/corelib/global/qhooks.cpp src/corelib/io/qfilesystemwatcher.cpp src/corelib/io/qlockfile_unix.cpp src/corelib/tools/qalgorithms.h src/gui/kernel/qwindowsysteminterface.h src/gui/text/qtextdocument_p.cpp src/network/access/access.pri src/network/access/qnetworkaccessmanager.cpp src/network/access/qnetworkreplynsurlconnectionimpl.mm src/src.pro src/testlib/qtestcase.cpp src/widgets/kernel/qwidgetbackingstore_p.h src/widgets/styles/qwindowscestyle.cpp src/widgets/styles/qwindowsmobilestyle.cpp tests/auto/corelib/io/qdiriterator/qdiriterator.pro tests/auto/corelib/io/qfileinfo/qfileinfo.pro tests/auto/gui/kernel/qwindow/BLACKLIST tests/auto/widgets/dialogs/qfilesystemmodel/tst_qfilesystemmodel.cpp tools/configure/configureapp.cpp Change-Id: Ibf7fb9c8cf263a810ade82f821345d0725c57c67
| * Gui: use const (and const APIs) moreAnton Kudryavtsev2016-06-011-12/+12
| | | | | | | | | | | | | | For CoW types, prefer const methods to avoid needless detach()ing. Change-Id: I88d08d499e1be72c1f6d983fecdcee513df18aa2 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | Merge remote-tracking branch 'origin/5.7' into devLiang Qi2016-04-111-8/+6
|\ \ | |/ | | | | | | | | | | | | Conflicts: src/corelib/kernel/qobject.cpp src/gui/painting/qpaintengine_raster.cpp Change-Id: I74e1779832f43d033708dcfd6b666c7b4f0111fb
| * QtBase: use erase and std::remove_if with QList and QVectorAnton Kudryavtsev2016-04-081-8/+6
| | | | | | | | | | | | | | ... instead of using removeAt in a loop, with quadratic complexity. Change-Id: I38b49e56b12c396db9fc0f1b75d8fb43c503a7f6 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | Merge remote-tracking branch 'origin/5.7' into devLiang Qi2016-03-221-3/+3
|\ \ | |/ | | | | | | | | | | | | | | | | Conflicts: configure mkspecs/common/wince/qplatformdefs.h src/plugins/platforms/directfb/qdirectfbbackingstore.cpp src/plugins/platforms/xcb/qxcbbackingstore.cpp Change-Id: Ied4d31264a9afca9514b51a7eb1494c28712793c
| * QtGui: use printf-style qWarning/qDebug where possible (I)Marc Mutz2016-03-041-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The printf-style version of QDebug expands to a lot less code than the std::ostream-style version. Of course, you pay in type safety (but compilers warn about it these days), you cannot stream complex Qt types and streaming QStrings is awkward, but in many cases you actually improve on readability. But the main reason is that something that's not supposed to be executed under normal operation has no business bloating executable code size. This is not an attempt at converting all qWarnings() to printf-style, only the low-hanging fruit. In this first part, replace qWarning() << "..."; with qWarning("..."); In QTransform shared warning strings. Saves 3KiB in text size on optimized GCC 5.3 AMD64 builds. Change-Id: I142a8020eaab043d78465178192f2c8c6d1cc4f9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* | gui: Pass large types by const-refSérgio Martins2016-03-151-3/+3
|/ | | | | | | | | | | | | | | | | sizeof: Operator : 144 QTransform : 88 QGlyphLayout : 48 QTextFrame::Iterator: 32 QRectF : 32 QCss::Value : 24 (Linux/x86_64) Change-Id: I4965bf0959683c0bc8909428fca86d66851af92c Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Updated license headersJani Heikkinen2016-01-151-14/+20
| | | | | | | | | | | From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new LGPL header instead of LGPL21 one (in those files which will be under LGPL v3) Change-Id: I046ec3e47b1876cd7b4b0353a576b352e3a946d9 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* QtGui: Pass types with copy-ctor or dtor by const-refSérgio Martins2015-07-191-6/+6
| | | | | | | | | ... except if the function is a ctor, callers pass rvalues, and the type has a fast move ctor. In that case, keep passing by-value and qMove() into place. Change-Id: I2c0be7d4436327834ddee0531c51c5af352ac74c Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* gui: Add several QList::reserve() calls.Sérgio Martins2015-06-221-1/+3
| | | | | | | Reduces reallocations. Change-Id: I0db16726f413a67b76a73fabd013f910ab5f5109 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* QTextDocumentLayout: don't hold QPointers in QListMarc Mutz2015-06-221-1/+1
| | | | | | | | | | | QPointer is larger than a void*, so holding them in a QList is needlessly inefficient. Worse, the code could come to depend on the fragile property of (inefficient) QLists that references to elements therein never are invalidated. Change-Id: I104d11cc530c9c1579e82bf4e28e3353c00b34b4 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* QTextTable/QTextDocumentLayout: remove dead codeDavid Faure2015-05-061-2/+0
| | | | | Change-Id: I3eb72a43129c58574036b6ca8c8c8413ca24b43a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.4' into 5.5Liang Qi2015-03-311-1/+1
|\ | | | | | | | | | | | | | | | | Conflicts: mkspecs/android-g++/qmake.conf qmake/generators/unix/unixmake2.cpp src/gui/image/qimage_conversions.cpp Change-Id: Ib76264b8c2d29a0228438ec02bd97d4b97545be0
| * Avoid using the current frame as the previous in layoutAllan Sandfeld Jensen2015-03-181-1/+1
| | | | | | | | | | | | | | | | | | When continuing a previous layout, we would in some cases add a wrong margin because we would treat the current frame as preceding itself. Task-number: QTBUG-42269 Change-Id: Idf00fadbed890ce34b073cf670cc9b8e1d4b0d5d Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Merge remote-tracking branch 'origin/5.4' into 5.5Oswald Buddenhagen2015-03-021-8/+31
|\ \ | |/ | | | | Change-Id: I95b3a87c5068c6b8068b30a35655b4c2419e7f9e
| * Fix drawing of background for multipage QTextTable cellsJoni Poikelin2015-03-021-8/+31
| | | | | | | | | | | | Task-number: QTBUG-31330 Change-Id: I0103919ee2864b7cd8bed41e6d6fe4ac5b84142e Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Update copyright headersJani Heikkinen2015-02-111-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Outdated header.LGPL removed (use header.LGPL21 instead) Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing combination. New header.LGPL-COMM taken in the use file which were using old header.LGPL3 (src/plugins/platforms/android/extract.cpp) Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license combination Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>
* | QTextDocumentLayout: handle QTextBlock visibilityJ-P Nurmi2015-01-221-2/+4
| | | | | | | | | | | | | | Task-number: QTBUG-10153 Change-Id: I0420b9c59a7a437da28675349c14e84bfa4aea54 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Remove Q_STATIC_GLOBALxxx_OPERATOR macrosThiago Macieira2015-01-111-5/+5
|/ | | | | | | | | | These macros existed for working around an RVCT compiler bug, but since we stopped trying to work around it, the macros are no longer necessary. Change-Id: I76cc88d863b41f74f60cd9975dcc1959778c2740 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Update license headers and add new license filesMatti Paaso2014-09-241-19/+11
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 - Removed LICENSE.GPL Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2 Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
* Force a full layout on the frame if it's vertical geometry changesLars Knoll2014-09-121-5/+22
| | | | | | | | | | When the frame's vertical geometry changes because top/bottom margins, border or padding changes we need to do a full relayout of the frame to position it correctly. Task-number: QTBUG-2975 Change-Id: Ia0f063cc2057b6d7a469977d258ec1608feff9bf Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Emit updateBlock signal in QTextDocumentLayoutSarunas Valaskevicius2014-02-181-2/+5
| | | | | | | | | | | | | | | | | updateBlock is part of the interface of QAbstractTextDocumentLayout however QTextDocumentLayout implementation is not invoking it. This commit adds similar behavior to QTextDocumentLayout as the QPlainTextDocumentLayout (QtWidgets) has by implementing the missing functionality. [ChangeLog][QtGui][QTextDocumentLayout] Emit updateBlock signal in QTextDocumentLayout. Task-number: QTBUG-36743 Change-Id: I7f812d4d5d7c2148393ee672fb0db6c0b2e73783 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Restore handling of bullets for lists with a font size of > 36 pixelsAndy Shaw2013-10-161-13/+0
| | | | | | | | | | | | | | This patch partially reverts ad443dfb1d8e9096c4913686aa2ed0bc9b3f5de7, the test that was added is still there as it can be used to compare against Chrome and to check that indenting works correctly. The original behavior of clipping the bullets is correct because the specified indent is where the text itself should be positioned, the bullet uses the available space to the side of it. This is how other web browsers handle the same situation. Change-Id: I63440e037d8efec356459c09228ef4817ccb9cb6 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Fix clipping of QTextList decorators.Leonard Lee2013-05-231-1/+14
| | | | | | | | | | | | | | | | List decorators may be clipped if you set a large font size and/or small indent for a QTextList. This fix is to prevent clipping by moving list decorators and items to left (or to right in case of right to left layouts) so that the list decorator is always painted inside the layout. This commit fixes painting related issue, so auto test is not needed. The manual test program can be used for verification purposes. Task-number: QTBUG-5111 Change-Id: I7fdd92399445d33fe9eaf525a05fe5cd860b57c6 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>