diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2009-12-17 09:40:52 (GMT) |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2009-12-17 09:40:52 (GMT) |
commit | dd678f7564955112b348a2fec56b29a8875e585e (patch) | |
tree | d2415d20cb5a27c312150cd6ee93bce8d5129895 /src/gui/widgets/qlineedit_p.cpp | |
parent | 7d6af0213ab4f8797f98d0beb659fcf2f78a361b (diff) | |
parent | bc01bb10da23d0d2308cf02a16947be836bc9a21 (diff) | |
download | Qt-dd678f7564955112b348a2fec56b29a8875e585e.zip Qt-dd678f7564955112b348a2fec56b29a8875e585e.tar.gz Qt-dd678f7564955112b348a2fec56b29a8875e585e.tar.bz2 |
Merge remote branch 'staging/4.6' into 4.6
Diffstat (limited to 'src/gui/widgets/qlineedit_p.cpp')
-rw-r--r-- | src/gui/widgets/qlineedit_p.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/gui/widgets/qlineedit_p.cpp b/src/gui/widgets/qlineedit_p.cpp index 4122bc4..c18ca25 100644 --- a/src/gui/widgets/qlineedit_p.cpp +++ b/src/gui/widgets/qlineedit_p.cpp @@ -126,6 +126,21 @@ void QLineEditPrivate::_q_editFocusChange(bool e) } #endif +void QLineEditPrivate::_q_selectionChanged() +{ + Q_Q(QLineEdit); + if (control->preeditAreaText().isEmpty()) { + QStyleOptionFrameV2 opt; + q->initStyleOption(&opt); + bool showCursor = control->hasSelectedText() ? + q->style()->styleHint(QStyle::SH_BlinkCursorWhenTextSelected, &opt, q): + true; + setCursorVisible(showCursor); + } + + emit q->selectionChanged(); +} + void QLineEditPrivate::init(const QString& txt) { Q_Q(QLineEdit); @@ -138,7 +153,7 @@ void QLineEditPrivate::init(const QString& txt) QObject::connect(control, SIGNAL(cursorPositionChanged(int,int)), q, SLOT(_q_cursorPositionChanged(int,int))); QObject::connect(control, SIGNAL(selectionChanged()), - q, SIGNAL(selectionChanged())); + q, SLOT(_q_selectionChanged())); QObject::connect(control, SIGNAL(accepted()), q, SIGNAL(returnPressed())); QObject::connect(control, SIGNAL(editingFinished()), |