diff options
author | Jørgen Lind <jorgen.lind@nokia.com> | 2011-06-01 15:34:58 +0200 |
---|---|---|
committer | Jørgen Lind <jorgen.lind@nokia.com> | 2011-06-01 15:34:58 +0200 |
commit | 00ef07fe96f51cb309469454592daf5d4a92eb4b (patch) | |
tree | 59f34f603882644ba25fb4bbc893fcb64ea6b262 /src/widgets/to_be_moved | |
parent | f05236a40d7ee9299c5855d70e542143a2d342c8 (diff) | |
parent | 7b6c3707dea3292b62cca02245a710f00db21427 (diff) |
Merge remote-tracking branch 'base/master' into refactor
Conflicts:
src/gui/embedded/qmousepc_qws.cpp
src/gui/embedded/qwslock.cpp
src/plugins/decorations/default/default.pro
src/plugins/decorations/styled/styled.pro
src/plugins/decorations/windows/windows.pro
src/plugins/gfxdrivers/ahi/ahi.pro
src/plugins/gfxdrivers/directfb/directfb.pro
src/plugins/gfxdrivers/eglnullws/eglnullws.pro
src/plugins/gfxdrivers/linuxfb/linuxfb.pro
src/plugins/gfxdrivers/qvfb/qvfb.pro
src/plugins/gfxdrivers/transformed/transformed.pro
src/plugins/gfxdrivers/vnc/vnc.pro
src/plugins/graphicssystems/meego/meego.pro
src/plugins/graphicssystems/opengl/opengl.pro
src/plugins/graphicssystems/openvg/openvg.pro
src/plugins/graphicssystems/shivavg/shivavg.pro
src/plugins/graphicssystems/trace/trace.pro
src/plugins/kbddrivers/linuxinput/linuxinput.pro
src/plugins/mousedrivers/linuxtp/linuxtp.pro
src/plugins/mousedrivers/pc/pc.pro
src/plugins/mousedrivers/tslib/tslib.pro
src/plugins/platforms/minimal/minimal.pro
tests/auto/qerrormessage/qerrormessage.pro
Diffstat (limited to 'src/widgets/to_be_moved')
-rw-r--r-- | src/widgets/to_be_moved/qlinecontrol.cpp | 4 | ||||
-rw-r--r-- | src/widgets/to_be_moved/qtextcontrol.cpp | 6 |
2 files changed, 7 insertions, 3 deletions
diff --git a/src/widgets/to_be_moved/qlinecontrol.cpp b/src/widgets/to_be_moved/qlinecontrol.cpp index ee7d7fb126..bf36033c08 100644 --- a/src/widgets/to_be_moved/qlinecontrol.cpp +++ b/src/widgets/to_be_moved/qlinecontrol.cpp @@ -435,6 +435,8 @@ void QLineControl::processInputMethodEvent(QInputMethodEvent *event) c += event->commitString().length() - qMin(-event->replacementStart(), event->replacementLength()); m_cursor += event->replacementStart(); + if (m_cursor < 0) + m_cursor = 0; // insert commit string if (event->replacementLength()) { @@ -447,7 +449,7 @@ void QLineControl::processInputMethodEvent(QInputMethodEvent *event) cursorPositionChanged = true; } - m_cursor = qMin(c, m_text.length()); + m_cursor = qBound(0, c, m_text.length()); for (int i = 0; i < event->attributes().size(); ++i) { const QInputMethodEvent::Attribute &a = event->attributes().at(i); diff --git a/src/widgets/to_be_moved/qtextcontrol.cpp b/src/widgets/to_be_moved/qtextcontrol.cpp index 149c29213e..ab294b9e0d 100644 --- a/src/widgets/to_be_moved/qtextcontrol.cpp +++ b/src/widgets/to_be_moved/qtextcontrol.cpp @@ -677,7 +677,7 @@ void QTextControlPrivate::extendWordwiseSelection(int suggestedNewPosition, qrea const qreal wordEndX = line.cursorToX(curs.position() - blockPos) + blockCoordinates.x(); - if (mouseXPosition < wordStartX || mouseXPosition > wordEndX) + if (!wordSelectionEnabled && (mouseXPosition < wordStartX || mouseXPosition > wordEndX)) return; // keep the already selected word even when moving to the left @@ -1579,8 +1579,10 @@ void QTextControlPrivate::mousePressEvent(QEvent *e, Qt::MouseButton button, con emit q->cursorPositionChanged(); _q_updateCurrentCharFormatAndSelection(); } else { - if (cursor.position() != oldCursorPos) + if (cursor.position() != oldCursorPos) { emit q->cursorPositionChanged(); + emit q->microFocusChanged(); + } selectionChanged(); } repaintOldAndNewSelection(oldSelection); |