aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquicktextedit.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright year in Digia's license headersSergio Ahumada2013-01-101-1/+1
| | | | | | Change-Id: I6c3bd7bebe3d62d1cfd0fa6334544c9db8398c76 Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Enable module build with QT_NO_IMTasuku Suzuki2012-11-261-1/+32
| | | | | | Change-Id: I90f8ec7e6357db7b4038bb1646fe9d3835821556 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Alan Alpert (RIM) <aalpert@rim.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-231-24/+24
| | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: Ie7f5d49ed8235d7a7845ab68f99ad1c220e64d5c Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Various small doc fixes and improvementsBea Lam2012-08-091-3/+3
| | | | | | | | | | Adds some missing docs and fixes some incorrect doc references. Also removes AnimatedImage docs that were exactly the same as those in base Image type docs. Change-Id: I1357d3c00e63f1b08683bb78246de93dcc0dac7f Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
* Fix uses of various qml doc commandsBea Lam2012-08-081-7/+7
| | | | | | | | | | | | | | Signals documented with \qmlsignal should indicate handler name, i.e. 'onSignal' rather than 'signal'. Methods documented with \qmlmethod do not need to document 'void' return values. Also the name of any documented attribute should be qualified with 'QtQuick2::<qmltype>'. Change-Id: I206dd9e8f39c3b84e029ae9d4101b05d0bfb3478 Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
* Fix pasting with the middle button in TextInput and TextEdit.Andrew den Exter2012-08-061-1/+7
| | | | | | | | Neither item accepted the middle button which prevented the mouse events ever reaching them. Change-Id: Ia8f693099df4d6c248976453d554fef96d1d3b33 Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Fix various broken links in documentationBea Lam2012-08-031-0/+4
| | | | | Change-Id: I9e2dac37d18e3ca62e4a92be25e5c2e60ffeba00 Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
* Doc: Changed \qmlclass to \qmltype and added \instantiates.Jerome Pasion2012-07-301-1/+2
| | | | | | | | | | -To simplify QDoc, \qmlclass is now \qmltype. -'\instantiates <C+++ class>' is for the types that are defined in C++. Change-Id: I29242d33daf7b972d8b86a356b9689638866b950 Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Bea Lam <bea.lam@nokia.com> Reviewed-by: Martin Smith <martin.smith@nokia.com>
* Update element references to smooth.Michael Brasser2012-07-181-15/+0
| | | | | | | Change-Id: Ide30946e83c8c26d075b9ca3bb1f9e20afd69373 Reviewed-by: Glenn Watson <glenn.watson@nokia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com> Reviewed-by: Yoann Lopes <yoann.lopes@nokia.com>
* QQuickCanvas renamesAlan Alpert2012-07-171-1/+1
| | | | | | | | | | | | | | | | QQuickCanvas is now called QQuickWindow QQuickCanvas::rootItem is now QQuickWindow::contentItem QQuickItem::canvas is now QQuickItem::window QQuickItem::ItemChangeData::canvas is also renamed window QQuickCanvas::grabFrameBuffer is now QQuickWindow::grabWindow The functions related to the color property have dropped the clear from their names. The first three changes have interim compatibility measures in place to ease the transition. Change-Id: Id34e29546a22a74a7ae2ad90ee3a8def6fc541d2 Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Change Quick docs to refer to "types" rather than "elements"Martin Jones2012-07-161-2/+2
| | | | | | Task-number: QTBUG-24785 Change-Id: I223479b879514abaacb123852323c1cfada7a5e1 Reviewed-by: Bea Lam <bea.lam@nokia.com>
* Fix horizontal alignment of unwrapped text in TextEdit.Andrew den Exter2012-07-161-65/+32
| | | | | | | | | | When the actual width of the text in a QTextDocument exceeds the specificed textWidth it is aligned left irregardless of the text alignment. Compensate by doing our own alignment of the laid out document. Change-Id: I7df900316ffb3ecdf01ddb053480a60a8258182d Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Remove code for unused LinksAccessibleByKeyboard option.Andrew den Exter2012-07-111-22/+2
| | | | | | | | The text interaction flags aren't exposed publicly and the option isn't set by TextEdit itself so there's no need to handle it. Change-Id: I83b98e58e3b8cb8c55752d8eefe3bf36bff75249 Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Add option to use native rasterizer for SceneGraph textEskil Abrahamsen Blomfeldt2012-07-101-2/+42
| | | | | | | | | | For old-style (desktop components) apps using QML 2 on regular density displays, distance field text will look out of place. We introduce an option to use the native rasterizer instead if you would rather have native look and feel than scalable text items. Change-Id: Idb38e3c89f2deab9ae1963357c6c5fb235ddeab8 Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
* Speed up TextEdit construction time.Andrew den Exter2012-07-091-7/+19
| | | | | | | | | | | | Defer setting content on the QTextDocument until componentComplete() to avoid unnecessary layouts and move one time setup for the text document from setContent to the constructor. Reduces the construction time of a TextEdit with RichText textFormat by about a third. Change-Id: Idde0772063bf769cde984efddd68589c55a7431a Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Use enumeration in preference to enum when referring to QML API.Andrew den Exter2012-07-061-1/+1
| | | | | | Task-number: QTBUG-24666 Change-Id: I5197d4b4d1a1b53cae2033bd86ce26ba55d08384 Reviewed-by: Bea Lam <bea.lam@nokia.com>
* Add tests for triple click text selection in TextEdit.Andrew den Exter2012-07-041-2/+14
| | | | | | | | | | | Includes a minor behavioural fix for selectedText and getText so that they return plain text strings for plain text content rather than the raw text from QTextDocument which substitutes line break characters with unicode line or paragraph separator character. Rich text documents still return the unicode characters. Change-Id: I19a3a5bba2e4ebb0e6607e19c915a588a9a6c7db Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Don't calculate selection rects unnecessarily.Andrew den Exter2012-07-041-1/+1
| | | | | | | | QQuickTextEdit ignores the updateRequest QRect arguments, so don't bother calculating them. Change-Id: Icb9126ab799c6b216eb0c4b9e3ff3f6a4bf8f03c Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Remove outdated refactor comments.Andrew den Exter2012-07-031-1/+1
| | | | | | | | | | It's not necessary to check whether the canvas has focus when gaining active focus, as the focus of the root item follows the window focus so an item should never gain active focus if the window doesn't have focus. Change-Id: I8992f673fb64467869d5fb9d23d011f19219feed Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
* Fix high CPU load for Qml TextEdit on MacNils Jeisecke2012-07-021-14/+0
| | | | | | | | | | | | This removes a Mac workaround which causes an endless calling loop (updatePaintNode will call markContentsDirty will call updatePaintNode) for every TextEdit element. The only reason that this doesn't block the application is that the signal goes through the GUI thread's event loop. Task-number: QTBUG-26361 Change-Id: Ia89cc123959bbfdcbfc5b0707901ac91dec47c40 Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
* Use the convential form for the selectedText notify signal name.Andrew den Exter2012-07-021-1/+1
| | | | | | | | | Rename selectionChanged to selectedTextChanged to address an apparent difference to API between TextInput and TextEdit. Task-number: QTBUG-19732 Change-Id: Ibc589c8b43567cb8d2f8c13f7366e2859c7f09d7 Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Remove the open and closeSofwareInputPanel functions.Andrew den Exter2012-06-221-90/+2
| | | | | | | | | Functionality is provided by the global Qt.application.inputMethod object. Task-number: QTBUG-21449 Change-Id: I75c082bcbe44c8834ccaf966a3f9a09ab91ec290 Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Create new documentation structureChris Adams2012-06-211-1/+2
| | | | | | | | | | | | | | | | | | | | The documentation currently has no clear separation between Qt QML and Qt Quick. With recent commits like: 6c8378eaf1edbbefe6aaa3672b0127816a004fd7 and ab1e510121c8a679fdaca12ccd30e0f7ac12a26b the separation between the language definition and implementation, provided by Qt QML, and the standard library for the QML language, provided by Qt Quick, is clear. This commit creates a new documentation structure that is more navigable and separates concepts into logical categories, with clear separation between QtQML and QtQuick. It also provides a more generic QML Application Developer Resources page which contains links to information for QML application developers. Change-Id: Ia807ccfbfd24ffa0e1c7f0a51ed9d2ed3aa6a733 Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Doc: Grouped Qt Quick types into several groupsJerome Pasion2012-06-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -created new groups and converted some overviews into group pages -edited type documentation and added \ingroup -articles still need title fixes and link fixes Groups: qtquick-visual-types qtquick-item-graphics qtquick-shaders qtquick-canvas qtquick-text qtquick-text-validator qtquick-interaction qtquick-positioners qtquick-transformations qtquick-states qtquick-animation-define qtquick-animation-properties qtquick-animation-control qtquick-animation-modifiers qtquick-images-sprites qtquick-images qtquick-models qtquick-containers qtquick-views qtquick-paths qtquick-utility Task: QTBUG-25685 Change-Id: I81d4df3320bf5daad5cabb5e42408013fb24f464 Reviewed-by: Bea Lam <bea.lam@nokia.com> Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
* Fix doc snippets paths and parsing errorsBea Lam2012-05-311-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qtqml.qdocconf and qtquick.qdocconf now refer to the correct snippets and source directories. Snippet paths in .qdoc and .cpp files have been updated to refer to the new shortened path references, e.g. \snippet qml/file.cpp instead of \snippet doc/src/snippets/qml/file.cpp. This also deletes snippets from src/qml/doc/snippets that belonged under src/quick/doc/snippets (and were already duplicated there anyway) and restores some snippet files that shouldn't have been deleted. Also fixes some inline snippets to use \code .. \endcode instead of \qml .. \endqml as they contained javascript or partial QML snippets that were causing parsing errors from qdoc. There are still snippet errors arising from qmlintro.qdoc as the qmlintro snippets directory that it refers to cannot be located. There are also two references to a removed snippet identifier in examples/qml/cppextensions/plugins/plugin.cpp that need to be fixed in conjunction with the related docs in a later commit as the relevant code has changed and the docs are now invalid. Task-number: QTBUG-25721 Change-Id: I50c665245a74c140470c58a32546591d187dfe4b Reviewed-by: Chris Adams <christopher.adams@nokia.com>
* Doc: Sanitized QML typesNico Vertriest2012-05-241-1/+1
| | | | | | | | | | -modified \brief -checked QML modules -added qml directory to the qdocconf file -added particles directory to the qdocconf file Change-Id: I589e32d3106cda37c7fa4d55a941afd9876fc2b2 Reviewed-by: Geir Vattekar <geir.vattekar@nokia.com>
* Lazily create QMetaObjectsAaron Kennedy2012-05-241-13/+13
| | | | | | | | | | For internal QML built types, creating a metaobject each time is just wasteful. Additionally, as the property caches were always created from the intermediate QMetaObject, it was difficult to pass information directly from the compiler to the property cache. Change-Id: I769526b0edaaf16a86883f3065b75618b94e4077 Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
* Fix incorrect text alignment in TextEdit.Andrew den Exter2012-05-171-1/+1
| | | | | | | | QTextDocument always spans the full width of a TextEdit so the text node shouldn't be offset by the x position of the bounding rect. Change-Id: I882a44baeea4d054279cadc5632df6d8863caea1 Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
* Defer construction of TextEdit/TextInput delegates.Andrew den Exter2012-05-141-45/+18
| | | | | | | | | | | | | | | Don't create instances of the delegate components until the item gains focus, or the cursorVisible property is set to true. Cursor delegates are typically small and relatively fast to create and so won't have a significant cost during a one off focus in event, but that cost can still add up when creating a number of TextInputs or TextEdits at once. If a delegate that is instantiated immeditately is required it is possible to instead create a child item and bind to the cursorRectangle and cursorVisible properties. Change-Id: I5ec2b5b6a30e534aee3dd5a58c6a5ac0686f5ce2 Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
* Remove warningYann Bodson2012-05-011-0/+1
| | | | | | | Enumeration value 'AlignJustify' was not handled in switch. Change-Id: Id93f1002c8ec8fcf9da78d7d9b81516044f71c9d Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
* TextEdit to honor input direction on neutral textPekka Vuorela2012-04-271-15/+48
| | | | | | | | Text with neutral direction, such as e.g. plain spaces, do not need to make text left aligned on arabic input method. Change-Id: I9aab5244ec47cf80fb2ba0f83e7087430eb2c7bb Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
* Fix TextEdit with right aligned text when size changesPekka Vuorela2012-04-271-1/+1
| | | | | | | | | | | Geometry change was avoiding updating size of the QTextDocument, thus it was not able to right align before something else triggered size change, e.g. a modification to the text. Also removed unnecessary cursorRectangleChanged signal that was emitted when moving focus with mouse. Change-Id: I293fd5119473eb3def5acd1b3fbb951c12e14412 Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
* Fix bounding rects of text items.Andrew den Exter2012-04-271-3/+44
| | | | | | | | | | Ensure the rectangles are correctly positioned with right and center aligned text, not just sized correctly. Also add padding to the clip rects so the cursor and styled text aren't clipped at the item boundaries. Change-Id: I03ef140589154ebd49b600b0a4c4fbeff845c10f Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
* Don't do a layout for wrapping if there is no width binding.Andrew den Exter2012-04-271-1/+1
| | | | | | | | | If no width has been set on the TextEdit then the text will never wrap so we can skip the layout on geometry changed. Task-number: QTBUG-25489 Change-Id: I3aa8dcedeeed0792f3135a4a01f90f24941d01b3 Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
* Ensure the cursor delegate position is correct when wrapping.Andrew den Exter2012-04-191-1/+7
| | | | | | | | | | When inserting text into a TextEdit with implicit width and wrapping the cursor delegate position has to be updated after the width is expanded to the implicit width otherwise it will be positioned in a wrapped location. Change-Id: Ibcb709ec1b4f6827ea8ae919f2e0c932c7372869 Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Set cursorVisible to false when im cursor length is 0.Andrew den Exter2012-04-021-6/+6
| | | | | | | | | | | | If the length of the QInputMethodEvent::Cursor attribute is 0 the cursor is supposed to be hidden. To ensure this and any other IM state is reverted when the input method is reset send a empty event to the editor when preedit is cancelled or removed and count formatting or cursor changes when determining if the input method is composing (i.e has state that needs to be reset). Change-Id: Ifca69aa0c18776b1aef355ed6ae9aecc40b9d475 Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
* Fix text wrapping and eliding with implicitWidth.Andrew den Exter2012-03-221-4/+12
| | | | | | | | | | | | Update the implicitWidth of the item before continuing with the layout rather than after it's completed this gives any bindings dependent on the implicitWidth the opportunity to update the width before the layout continues. Task-number: QTBUG-22680 Task-number: QTBUG-24251 Change-Id: I61cd96ad9891b22d8b83937ad2c06719f88976b6 Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Don't overwrite text selections made in focus handlers.Andrew den Exter2012-03-211-1/+1
| | | | | | | | | | Defer giving focus to TextInput or TextEdit until after other mouse press handling has been performed, otherwise setting the cursor position will overwrite any selection or cursor position set in the on(Active)FocusChanged handler. Change-Id: I6332642484de65138a444987b5a81be69c6f835f Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
* Remove the usage of deprecated qdoc macros.Casper van Donderen2012-03-131-47/+47
| | | | | | | | | | QDoc now has support for Doxygen style commands for italics, bold and list items. This change applies that change in QDoc to the actual documentation. Task-number: QTBUG-24578 Change-Id: I62d203f21df63a95ee236e578b10418fd9680707 Reviewed-by: Jerome Pasion <jerome.pasion@nokia.com>
* Fix selected text highlight in TextEdit.Andrew den Exter2012-03-081-1/+1
| | | | | | | | | The call to QQuickTextNode::addTextDocument() omitted the anchor color argument meaning every subsquent argument was off by one and the selection end was always the default of -1. Change-Id: Iac3165e7aa95a3db935a19e54144d3967a3e6e38 Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
* Merge master <-> api_changesMatthew Vogt2012-03-051-43/+22
|\ | | | | | | Change-Id: Iad2f07b989b25349fd2d4fff010e24dcd5a1688f
| * Use floating point types for position offsets and cursorRectangle.Andrew den Exter2012-02-241-11/+11
| | | | | | | | | | | | | | | | | | Rounding to align painting to pixel boundaries is no longer necessary are largely removed. Correct the few instances remaining in TextEdit and TextInput. Change-Id: Ic6ec57092d74ec43b23d85cd8868e0190acc3e09 Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
| * Reduce QQuickTextEdit memory usage.Andrew den Exter2012-02-231-32/+11
| | | | | | | | | | | | | | | | | | Remove unnecessary members from QQuickTextEditPrivate and QQuickTextControlPrivate and re-order and pack to reduce padding for alignment. Change-Id: I14f5e3fc01646d02745f095c2a4b168cd675745d Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
* | Rename QDeclarative symbols to QQuick and QQmlMatthew Vogt2012-02-241-12/+12
|/ | | | | | | | | | | | | Symbols beginning with QDeclarative are already exported by the quick1 module. Users can apply the bin/rename-qtdeclarative-symbols.sh script to modify client code using the previous names of the renamed symbols. Task-number: QTBUG-23737 Change-Id: Ifaa482663767634931e8711a8e9bf6e404859e66 Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Have input method hints on only classes using themPekka Vuorela2012-02-171-0/+18
| | | | | | | | | | | Removed inputMethodHints setter and getter from QQuickItem. No need to consume memory for input method hints on every item when only QQuickTextInput and QQuickTextEdit actually use them. Additionally introduced change signals on the editor hint properties. Change-Id: Ice380d4f4dd47fdde73d2468f4a44a7d1540ad45 Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com> Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
* Remove pixmap text caching in TextEdit elementYann Bodson2012-02-151-78/+6
| | | | | | | Task-number: QTBUG-24278 Change-Id: Ida9014aceba93c023c88538969dff7e72ef5a6d8 Reviewed-by: Michael Brasser <michael.brasser@nokia.com> Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
* Fix access to context properties within TextEdit.cursorDelegateAndrew den Exter2012-02-141-2/+3
| | | | | | | | | | Don't create the cursorDelegate instance before componentComplete as the context may not be fully populated prior to that. Task-number: QTBUG-21780 Change-Id: I6ca8a24989bc28e5c5ca06d61a85e32ff630ce7c Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Use QInputMethod instead of deprecated QInputPanelPekka Vuorela2012-02-101-5/+5
| | | | | | | | | | Similarly deprecate Qt.application.inputPanel and introduce replacement Qt.inputMethod. Change-Id: Ie4fd467f93f75023c86b0a2d038d858fe5001146 Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Sami Kananoja <sami.kananoja@nokia.com>
* Add contentWidth and contentHeight properties to Text elements.Andrew den Exter2012-02-071-9/+11
| | | | | | | | | | | For Text and TextEdit this is a rename of paintedWidth and paintedHeight both of which remain as synonyms of the content properties for compatability. For TextInput this is a new property. Task-number: QTBUG-23691 Task-number: QTBUG-15160 Change-Id: Idbdc72fad34922be21b649ca45fc39b5e533ed1a Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
* Fix TextEdit vertical alignment.Andrew den Exter2012-02-061-1/+1
| | | | | | | | | | Don't ignore the position of a QTextDocument when contructing a text node, and translate the rectangle returned by positionToRectangle by the y offset. Task-number: QTBUG-23935 Change-Id: I55a2b69a32a8b623be7e36de54ad083c2f8591e5 Reviewed-by: Martin Jones <martin.jones@nokia.com>