diff options
author | David Faure <faure@kde.org> | 2010-02-02 13:29:11 (GMT) |
---|---|---|
committer | Leonardo Sobral Cunha <leo.cunha@nokia.com> | 2010-02-02 13:29:11 (GMT) |
commit | 42e181a6feba241997b041a2a58903f308264559 (patch) | |
tree | d6b0994ce1f73957f0cfea310e21b8ed1ad1ab8c /tests/auto/qlabel | |
parent | e9b0c9a1d25a2260bd7c0e7ead840cacb31ce424 (diff) | |
download | Qt-42e181a6feba241997b041a2a58903f308264559.zip Qt-42e181a6feba241997b041a2a58903f308264559.tar.gz Qt-42e181a6feba241997b041a2a58903f308264559.tar.bz2 |
QLabel: add setSelection, hasSelectedText, selectedText, selectionStart.
When using TextSelectableByMouse or TextSelectableByKeyboard, this
allows to programmatically control the selection. Needed in KDE's
KSqueezedTextLabel, so that mouseReleaseEvent can get the selection
and copy the un-squeezed text instead of the squeezed one.
Merge-request: 454
Reviewed-by: Leonardo Sobral Cunha <leo.cunha@nokia.com>
Diffstat (limited to 'tests/auto/qlabel')
-rw-r--r-- | tests/auto/qlabel/tst_qlabel.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/auto/qlabel/tst_qlabel.cpp b/tests/auto/qlabel/tst_qlabel.cpp index c3af495..7099917 100644 --- a/tests/auto/qlabel/tst_qlabel.cpp +++ b/tests/auto/qlabel/tst_qlabel.cpp @@ -119,6 +119,7 @@ private slots: void mnemonic_data(); void mnemonic(); + void selection(); private: QLabel *testWidget; @@ -559,6 +560,27 @@ void tst_QLabel::mnemonic() QCOMPARE(d->shortcutCursor.selectedText(), expectedShortcutCursor); } +void tst_QLabel::selection() +{ + QLabel label; + label.setText("Hello world"); + + label.setTextInteractionFlags(Qt::TextSelectableByMouse); + + QVERIFY(!label.hasSelectedText()); + QCOMPARE(label.selectedText(), QString()); + QCOMPARE(label.selectionStart(), -1); + + label.setSelection(0, 4); + QVERIFY(label.hasSelectedText()); + QCOMPARE(label.selectedText(), QString::fromLatin1("Hell")); + QCOMPARE(label.selectionStart(), 0); + + label.setSelection(6, 5); + QVERIFY(label.hasSelectedText()); + QCOMPARE(label.selectedText(), QString::fromLatin1("world")); + QCOMPARE(label.selectionStart(), 6); +} QTEST_MAIN(tst_QLabel) #include "tst_qlabel.moc" |