summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets/widgets/qplaintextedit/tst_qplaintextedit.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Q(Plain)TextEdit: don't crash when using a style sheetChristian Ehrlicher2024-02-071-0/+10
| | | | | | | | | | | | | | When using a style sheet, Q(Plain)TextEdit::isReadOnly() might get called during the initialization before d->control is properly initialized which lead to a crash. This amends 43ce457cbd093fc06d99b5ac833c789ef7c893d5. Fixes: QTBUG-121697 Fixes: QTBUG-121790 Task-number: QTBUG-1857 Pick-to: 6.7 6.6.2 6.6 6.5 6.2 Change-Id: I15c357c9eef7f6559bcc2ad89033a3d8e7fcbfef Reviewed-by: David Faure <david.faure@kdab.com>
* Change license for tests filesLucie Gérard2024-02-041-1/+1
| | | | | | | | | | | | According to QUIP-18 [1], all tests file should be LicenseRef-Qt-Commercial OR GPL-3.0-only [1]: https://contribute.qt-project.org/quips/18 Pick-to: 6.7 Task-number: QTBUG-121787 Change-Id: I9657df5d660820e56c96d511ea49d321c54682e8 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
* QPlainTextEdit: update viewport, when placeholder text disappearsAxel Spoerl2023-12-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | QPlainTextEditPrivate::updatePlaceholderVisibility() issued a full viewport update, when the document became empty and the placeholder text needed to be shown. No update was issued, when the placeholder text was replaced by a first text character entered. That relied on the assumption, that the placeholder text would disappear with the first text line being rendered (even if it has just one char). When the placeholder text covered multiple line, only the first of them disappeared. This patch adds a boolean to remember, that the placeholder text is shown. If that is the case and the first char is entered, a full update is issued, to remove all lines of the placeholder text. The boolean flag is cleared thereafter, to avoid unnecessary viewport updates. isPlaceHolderTextVisible() is renamed into placeHolderTextToBeShown(), because the method returns an instruction, rather than a state. tst_QPlainTextEdit::placeholderVisibility() is adapted to test the boolean flag, hence the real visibility of the placeholder text. That extends its scope to the bug at hand. Fixes: QTBUG-119808 Pick-to: 6.7 6.6 6.5 6.2 Change-Id: I07a7059ae619dc85d0c21247d829120e6afa7115 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
* QtWidgets tests: port remaining users away from Q_FOREACHMarc Mutz2023-08-141-3/+2
| | | | | | | | | | | | | These are all trivial: all are over (already or newly-made) const local variables. As a drive-by, replace a QList legacy left-shift-based- with initializer_list-construction. Pick-to: 6.6 6.5 Task-number: QTBUG-115803 Change-Id: I453e24272c4c4b7dce5b91a0bd04481d833c50bb Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
* QPlainTextEdit: update placeholder text when document is emptyAxel Spoerl2023-08-141-3/+3
| | | | | | | | | | | | | | | | | | | | When the placeholder text is changed after having been displayed, it doesn't get updated on the screen any more, unless the entire viewport is updated, e.g. because of a document change or a focus event. This patch simplifies QPlainTextEditPrivate::updatePlaceHolderVisibility() to update the visibility if the text document is empty. It replaces the member QPlainTextEditorPrivate::placeholderVisible by the function isPlaceHolderTextVisible(). It returns true, if the document is empty and a placeholder text exists, and otherwise false. It adapts and corrects tst_QPlainTextEdit::placeHolderVisibility(): - usage of new member function instead of data member. - do not expect an empty placeholder to be visible. Fixes: QTBUG-115831 Pick-to: 6.6 6.5 6.2 Change-Id: Ic4427ce7f7f1b8cde89957b9de0b978bd34ba923 Reviewed-by: Santhosh Kumar <santhosh.kumar.selvaraj@qt.io>
* QPlainTextEdit: Don't block signals on page stepAxel Spoerl2023-03-151-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | Signals of the vertical scroll bar were blocked when scrolling with pageUp/pageDown keys or clicking on the scroll range outside the scroll bar. This has lead to inconsistent signal emissions: The vertical scroll bar's valueChanged signal was emitted only on single steps and when the scroll bar was moved with the mouse. When it was moved in page steps by clicking on the scroll range or pressing pageUp/pageDown, it was not emitted. This patch removes the signal blocker for page step movements, which was added in 94fd108ea42a99dacefa819bc3fd4363fb95e886 to replace explicit calls to blockSignals(), which were added in c14d442b08ac81327b173b0a220c7b1840667899. The patch also adds test function to tst_QPlainTextEdit to check if the valueChanged signal is emitted correctly. Pick-to: 6.5 6.4 6.2 Fixes: QTBUG-8682 Fixes: QTBUG-25365 Change-Id: I4385a5387c91497f623978e35bbbe3e06f473afe Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Port from container::count() and length() to size() - V5Marc Mutz2022-11-031-24/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a semantic patch using ClangTidyTransformator as in qtbase/df9d882d41b741fef7c5beeddb0abe9d904443d8, but extended to handle typedefs and accesses through pointers, too: const std::string o = "object"; auto hasTypeIgnoringPointer = [](auto type) { return anyOf(hasType(type), hasType(pointsTo(type))); }; auto derivedFromAnyOfClasses = [&](ArrayRef<StringRef> classes) { auto exprOfDeclaredType = [&](auto decl) { return expr(hasTypeIgnoringPointer(hasUnqualifiedDesugaredType(recordType(hasDeclaration(decl))))).bind(o); }; return exprOfDeclaredType(cxxRecordDecl(isSameOrDerivedFrom(hasAnyName(classes)))); }; auto renameMethod = [&] (ArrayRef<StringRef> classes, StringRef from, StringRef to) { return makeRule(cxxMemberCallExpr(on(derivedFromAnyOfClasses(classes)), callee(cxxMethodDecl(hasName(from), parameterCountIs(0)))), changeTo(cat(access(o, cat(to)), "()")), cat("use '", to, "' instead of '", from, "'")); }; renameMethod(<classes>, "count", "size"); renameMethod(<classes>, "length", "size"); except that the on() matcher has been replaced by one that doesn't ignoreParens(). a.k.a qt-port-to-std-compatible-api V5 with config Scope: 'Container'. Added two NOLINTNEXTLINEs in tst_qbitarray and tst_qcontiguouscache, to avoid porting calls that explicitly test count(). Change-Id: Icfb8808c2ff4a30187e9935a51cad26987451c22 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Port from container.count()/length() to size()Marc Mutz2022-10-041-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is semantic patch using ClangTidyTransformator: auto QtContainerClass = expr(hasType(namedDecl(hasAnyName(<classes>)))).bind(o) makeRule(cxxMemberCallExpr(on(QtContainerClass), callee(cxxMethodDecl(hasAnyName({"count", "length"), parameterCountIs(0))))), changeTo(cat(access(o, cat("size"), "()"))), cat("use 'size()' instead of 'count()/length()'")) a.k.a qt-port-to-std-compatible-api with config Scope: 'Container'. <classes> are: // sequential: "QByteArray", "QList", "QQueue", "QStack", "QString", "QVarLengthArray", "QVector", // associative: "QHash", "QMultiHash", "QMap", "QMultiMap", "QSet", // Qt has no QMultiSet Change-Id: Ibe8837be96e8d30d1846881ecd65180c1bc459af Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Use SPDX license identifiersLucie Gérard2022-05-161-27/+2
| | | | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Files that have to be modified by hand are modified. License files are organized under LICENSES directory. Task-number: QTBUG-67283 Change-Id: Id880c92784c40f3bbde861c0d93f58151c18b9f1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Android: re-enable skipped testsIvan Solovev2022-03-291-3/+0
| | | | | | | | | | | | | Now when 71b3d18ea7962a01413966f793e8187c9e91685e is merged, we can re-enable the previously skipped tests, as they do not crash anymore. Task-number: QTBUG-101423 Task-number: QTBUG-101321 Task-number: QTBUG-87417 Pick-to: 6.3 6.2 Change-Id: I6b4b3619b0af5e48b5e92b514bc0ab6586a76d51 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Android: use empty Intent to clear clipboard data on API < 28Ivan Solovev2022-03-181-4/+0
| | | | | | | | | | | | | | | | ClipboardManager didn't have any APIs to clear clipboard data before API level 28. As a workaround an empty Intent with MIMETYPE_UNKNOWN is created and inserted into the clipboard for lower API levels. This makes the QApplication::clipboard()->clear() method work more or less as expected. This allows to unblacklist tst_QPlainTextEdit::copyAvailable(). Task-number: QTBUG-87423 Task-number: QTBUG-89402 Pick-to: 6.3 6.2 Change-Id: I454376199cf3b8eed0fa2ecf2f85b87f40892280 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Android: expect QPlainTextEdit::canPaste() to fail after clipboard clearAssam Boudjelthia2022-03-151-0/+4
| | | | | | | | | | | Android 9 introduce an API call to clear the clipboard, before that it wasn't possible to do that, the test QPlainTextEdit::canPaste() should expect that to fail. Pick-to: 6.3 6.2 Task-number: QTBUG-100470 Change-Id: Ie2d8aabf77672c62b3a6c72a080a4e37f1696303 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* Android: skip crashing tst_QPlainTextEdit::ensureCursorVisibleOnInitialShowIvan Solovev2022-03-041-0/+3
| | | | | | | | | | The test crashed for some reason, so other testcases are also not executed. Skip the test for now to enable more tests in the CI Task-number: QTBUG-89402 Pick-to: 6.3 6.2 Change-Id: I5ad38645d1b8f86c64da7208c0ae4f66d126c7d9 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Android: unblacklist tst_QPlainTextEdit testsIvan Solovev2022-03-041-1/+3
| | | | | | | | | | | | | Most of the blacklisted tests were already fixed earlier. The tst_QPlainTextEdit::adjustScrollbars() test needed a small fix to show the window non-fullscreen, so that the scrollbar could appear. Task-number: QTBUG-87423 Task-number: QTBUG-89402 Pick-to: 6.3 Change-Id: I849f411a5798053742323fc4db3fe30f2b690a8b Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Gui: test also depends for clipboard featurePasi Petäjäjärvi2022-02-161-3/+3
| | | | | | Pick-to: 6.2 6.3 5.15 Change-Id: Id8684b6800bd5659991bc56f8b374ec3989ee590 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QPlainTextEdit: fix the visibility of placeholderTextQiang Li2022-02-111-0/+105
| | | | | | | | | | | If one calls setPlainText("") before setting a placeholder text, the placeholder visibility is not updated, and the placeholder is not visible. Fix it by updating placeholderVisible properly. Fixes: QTBUG-96212 Pick-to: 5.15 6.2 6.3 Change-Id: I1bd3f0cb4c59973a847bcf3787e35d7c17b6d673 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QPlainTextEdit: adjust scroll bars when showing upWang Chuan2021-02-091-0/+32
| | | | | | | | | | | The text of QPlainTextEdit might change when it is invisible, so an adjustment of scroll bars is needed when the QPlainTextEdit showing up, otherwise the range of scroll bars might be incorrect. Fixes: QTBUG-77937 Pick-to: 5.15 6.0 6.1 Change-Id: I45c686c7e09ca7b2944c36122e9157de0ec4f0e0 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Replace QtTest headers with QTestDavid Skoland2020-12-221-2/+2
| | | | | | | | | | | Complete search and replace of QtTest and QtTest/QtTest with QTest, as QtTest includes the whole module. Replace all such instances with correct header includes. See Jira task for more discussion. Fixes: QTBUG-88831 Change-Id: I981cfae18a1cabcabcabee376016b086d9d01f44 Pick-to: 6.0 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Deprecate QVariant::TypeLars Knoll2020-10-231-1/+1
| | | | | | | | | It's been obsolete for a long time already. Make sure the compiler now warns about it and remove all remaining uses in qtbase. Change-Id: I0ff80311184dba52d2ba5f4e2fabe0d47fdc59d7 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Remove most compiler warnings about missing overridesLars Knoll2020-09-111-11/+11
| | | | | | | | | | | | Remove around 1000 compiler warnings about missing overrides in our auto tests. This significantly reduce the compiler warning noise in our auto tests, so that one can actually better see the real problems inbetween. Change-Id: Id0c04dba43fcaf55d8cd2b5c6697358857c31bf9 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* tst_qplainttextedit: Do not use paste() method with no clipboardCristian Adam2020-08-191-0/+4
| | | | | | | | | On QNX the test fails to build because there is no clipboard feature and the code is using the paste() method which doesn't exist. Task-number: QTBUG-83202 Change-Id: Ie070ec8850b528e122e954074a1a0a3c78a14248 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Remove winrtOliver Wolff2020-06-061-3/+0
| | | | | | | | | Macros and the await helper function from qfunctions_winrt(_p).h are needed in other Qt modules which use UWP APIs on desktop windows. Task-number: QTBUG-84434 Change-Id: Ice09c11436ad151c17bdccd2c7defadd08c13925 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Remove all QRegExp dependencies from widgetsLars Knoll2020-04-011-44/+0
| | | | | | | | | QRegExp is deprecated in Qt6 and will get moved to the Qt 5 compat library. As such we need to remove all API and usages of QRegExp in Qt. Change-Id: I33fb56701d3d7c577f98a304c1d4e6f626fcb397 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Merge remote-tracking branch 'origin/5.14' into 5.15Liang Qi2019-12-101-0/+46
|\ | | | | | | | | | | | | Conflicts: tests/auto/network/kernel/qnetworkinterface/BLACKLIST Change-Id: I1e8866c63b54bcd95fc2a044276ee15b7f60e79a
| * Fix updating the text cursor position after editingSona Kurazyan2019-12-061-0/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | In some cases when editing the text (for example when removing the selected text, or pasting a text block) the text cursor position is updated, but its visual x position is not updated. This causes the next cursor movements to start from a wrong position. Force the update for those cases. Fixes: QTBUG-78479 Change-Id: Ia496be62beec58660f5e1695e5aafae09c79684e Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
* | Widget tests: Skip tests that fail on WaylandJohan Klokkhammer Helsing2019-10-181-0/+13
|/ | | | | | | | | | | Either by testing for platform name or window activation. After this gets in, we can enable widget tests in the Wayland bot, which hopefully will reduce the number of regressions in the Wayland plugin. Fixes: QTBUG-62188 Change-Id: I71ce8abd6b5891e5b953126b1c35345892585931 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Fix deprecation warnings in widget autotestsChristian Ehrlicher2019-02-081-6/+6
| | | | | | | | Fix all deprecation warnings within tests/auto/widgets Change-Id: I854f54c0a1dc0a0086f626b93cd39f63cb1b6033 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Implement QRegularExpression overload for QPlainTextEdit::findSamuel Gaist2018-10-081-0/+44
| | | | | | | | | | | | This patch adds the missing overload for QRegularExpression to match the QRegExp one for QPlainTextEdit. [ChangeLog][QtWidgets][QPlainTextEdit] Added QRegularExpression find() method overload. Change-Id: Id156971d3fa0372712bfa8b72a55550942a767e0 Reviewed-by: Luca Beldi <v.ronin@yahoo.it> Reviewed-by: David Faure <david.faure@kdab.com>
* QPlainTextEdit: update scrollbars after setting center on scrollDavid Schulz2018-09-261-0/+18
| | | | | | Fixes: QTBUG-64730 Change-Id: I6ff7b10eb209a407c99529a09226cd97f9b6e9f8 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* winrt: Make widgets/widgets auto tests passOliver Wolff2018-06-221-0/+3
| | | | | | Task-number: QTBUG-68297 Change-Id: I64d6e89e515a6284fbd8625cded22511de783481 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Update usage of QFontMetrics::width() to new APIEskil Abrahamsen Blomfeldt2017-12-081-1/+1
| | | | | | | | | | | | | | 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>
* Deprecate QString::nullMarc Mutz2017-03-121-1/+1
| | | | | | | | | | | | | | | | | | | | | It's a Qt 3 compatibility vehicle, and as such inherits the now-alien property to distinguish empty and null strings. Particularly worrisome is the following asymmetry: QString("") == QString::null // false QString("") == QString(QString::null) // true Instead of fixing this behavior, recognize that people might use it as a weird way to call isNull(), albeit one that once was idiomatic, and simply deprecate everything that deals with QString::null. [ChangeLog][QtCore][QString] QString::null is now deprecated. When used to construct a QString, use QString() instead. When used to compare to a QString, replace with QString::isNull(). Change-Id: I9f7e84a92522c75666da15f49324c500ae93af42 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Anton Kudryavtsev <antkudr@mail.ru>
* Merge remote-tracking branch 'origin/5.7' into devLiang Qi2016-06-131-6/+13
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-06-061-6/+13
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf config.tests/unix/nis/nis.cpp mkspecs/unsupported/freebsd-g++/qplatformdefs.h src/corelib/tools/qdatetime.cpp src/corelib/tools/qsimd.cpp src/corelib/tools/qsimd_p.h src/network/access/access.pri src/network/access/qnetworkreplynsurlconnectionimpl.mm src/network/access/qnetworkreplynsurlconnectionimpl_p.h src/plugins/platforms/cocoa/qnsview.mm src/plugins/printsupport/windows/qwindowsprintdevice.cpp tests/auto/corelib/kernel/qobject/tst_qobject.cpp tests/auto/network/access/qnetworkreply/BLACKLIST tests/auto/widgets/widgets/qopenglwidget/BLACKLIST Change-Id: I4b32055bbf922392ef0264fd403405416fffee57
| | * tst_QPlainTextEdit/tst_QTextEdit: Do not output unprintable characters.Friedemann Kleint2016-05-311-6/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The test selectWordsFromStringsContainingSeparators() duplicated in boths tests caused tab and Nbsp characters to be output to the log, which upsets editors. Use an array of ushort instead of a wasteful QStringList and output the hex codes for the unprintable characters. Change-Id: I08724268f376b4c0da492b4109570e44f7d4a3fb Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | | Remove tests/auto/qtest-config.h.Friedemann Kleint2016-04-121-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The header defined a macro QTEST_NO_CURSOR depending QT_NO_CURSOR or obsolete platforms Windows CE and Meego. Replace usages by QT_NO_CURSOR in the tests. Change-Id: I3edac88e684d1f932dd3b721bb1c1b3fe9144237 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | QtWidgets: Remove Windows CE.Friedemann Kleint2016-04-071-16/+0
|/ / | | | | | | | | | | | | | | | | Remove Windows CE-specific files, #ifdef sections for Q_OS_WINCE and wince .pro file clauses in library, examples and tests. Task-number: QTBUG-51673 Change-Id: I102745aaca9d9737f2108fe7618111743d5ae980 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-04-041-0/+13
|\| | | | | | | Change-Id: I35ca979395620e104e50b06366d0869433a4ffc2
| * QPlainTextEdit: Take vertical offset into account when answering input ↵Friedemann Kleint2016-03-291-0/+13
| | | | | | | | | | | | | | | | | | | | | | method queries. Determine offset point to similar to QTextEdit::inputMethodQuery() and add an autotest. Task-number: QTBUG-51923 Change-Id: I8232eb348063e2cd95d0632fe74a6eb30c897eda Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | Updated license headersJani Heikkinen2016-01-211-17/+12
|/ | | | | | | | | | | | | From Qt 5.7 -> tools & applications are lisenced under GPL v3 with some exceptions, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new GPL-EXCEPT header instead of LGPL21 one (in those files which will be under GPL 3 with exceptions) Change-Id: I42a473ddc97101492a60b9287d90979d9eb35ae1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* tests/auto/widgets: Replace Q[TRY]_VERIFY(a == b) by Q[TRY]_COMPARE(a, b).Friedemann Kleint2015-07-311-12/+12
| | | | | | | | | | | | - Replace Q[TRY]_VERIFY(pointer == 0) by Q[TRY]_VERIFY(!pointer). - Replace Q[TRY]_VERIFY(smartPointer == 0) by Q[TRY]_VERIFY(smartPointer.isNull()). - Replace Q[TRY]_VERIFY(a == b) by Q[TRY]_COMPARE(a, b) and add casts where necessary. The values will then be logged should a test fail. Change-Id: Ie29640451dddeb58342038a8cd5fac152cce39e5 Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* Tests: Replace Q[TRY]_VERIFY(v == true|false) by QVERIFY(v)|QVERIFY(!v).Friedemann Kleint2015-07-271-3/+3
| | | | | | | | Preparing the replacement of Q[TRY]_VERIFY(a == b) by Q[TRY]_COMPARE(a, b) for non-boolean types. Change-Id: Iab6ec2f0a89a3adc79e18304573994965013dab5 Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* Add missing QPlainTextEdit::createStandardContextMenu(QPoint)J-P Nurmi2015-02-151-0/+40
| | | | | | | | | [ChangeLog][QtWidgets] Added QPlainTextEdit::createStandardContextMenu(QPoint) overload that takes the position in document coordinates. This method enables the actions that are sensitive to the given position eg. where the user clicked. Change-Id: I47ed7a1afc4fcfb3318c9b7af37867aeb7f2aa35 Reviewed-by: Marc Mutz <marc.mutz@kdab.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>
* Suppress Ctrl/Ctrl+Shift keypresses in line/text edits.Friedemann Kleint2015-02-031-4/+29
| | | | | | | | | | | | | Ctrl/Ctrl+Shift should not cause any characters to be input (as opposed to AltGr(Alt+Ctrl) as used on German keyboards). Extend the tests in QLineEdit and QPlainTextEdit to check the modifiers, remove test from QTextEdit since it is handled by QWidgetTextControl. Task-number: QTBUG-35734 Change-Id: Ie0004fac68cf840c68247f27547e84b021355cd2 Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
* Fix a crash in QPlainTextEdit::documentChangedPierre Rossi2015-01-191-0/+33
| | | | | | | | | | | The layout for an invalid block is very likely to be null, it shouldn't be accessed without checking the block's validity first. We can make the check a bit more conservative and simply check that the block isn't empty. Change-Id: Ic1459a6168b1b8ce36e9c6d019dc28653676efbe Task-number: QTBUG-43562 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Merge remote-tracking branch 'origin/5.3' into 5.4Oswald Buddenhagen2014-10-061-0/+25
|\ | | | | | | Change-Id: I132bb6cce68e9f8413200f7ee75586bd1cada38c
| * QPlainTextEdit: Fix crash on complex undo w/full width selectionEskil Abrahamsen Blomfeldt2014-09-301-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Say you have a document of two blocks of text. When you select a block of text in the document and then replace this with a new empty block (by pressing enter) and then subsequently undo this action, the following three steps are performed as a chain of undo commands: 1. Remove the empty block at the beginning of the document 2. Insert a new empty block at the beginning of the document 3. Insert the text back into the first block Since a block is removed and inserted in the same go, both blocks require a relayout, since the accumulated change spans both blocks. However, in QPlainTextDocumentLayout we would only look at the max of either removed chars or added chars. This would match the text length of the first block at this point, so we would only relayout that block. However, since we are also removing characters, the actual accumulated change to the document is larger. We should relayout any block touched by the sum of the added and removed character counts. Missing this, the paint event would later query block.layout()->lineForTextPosition(0) which would give an invalid line despite the fact that the block.length() > 0. This caused a crash in the paint event when the full width selection was turned on. Note that the logic here was only recently updated to include the removed characters at all in the logic, by the SHA1: 2983cb9531d47e5826540ca79e3066a8ed0db30c. [ChangeLog][QPlainTextEdit] Fixed a crash when using full width selections and issuing a complex undo command chain which removes and inserts an empty block in one go. Task-number: QTBUG-36415 Change-Id: Iafe8a69e455e0c713a48714f10f0cace69c84f51 Reviewed-by: Axel Rasmussen <axel.rasmussen1@gmail.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.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>
* Fix broken QPlainTextDocumentLayout after removing charsAxel Rasmussen2014-05-211-0/+45
| | | | | | | | | | | | This fixes an issue where, if characters were removed from several blocks in a single edit, the document layout would end up being corrupted since the document layout manager wouldn't re-layout the proper number of text blocks. Task-number: QTBUG-30051 Change-Id: Idf3a6f567120e6a5dbebf1f65f685d374219328a Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>