Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-50791

Reconversion on all versions of Qt for windows has never worked so far.

    XMLWordPrintable

    Details

      Description

      Reconversion feature on all Qt versions for windows has never worked so far.

      Currently reconversion of Qt ime on windows has two problems.
      Always all of user selected data get lost except the first character.
      1. QTextBoundaryFinder always selects only one character for Ime characters, and neglects user selection.
      2. QInputMethodEvent::Selection may give a bad visual impact to most of modern editors which support multi carets and multi occurences.

      how to fix:
      If selection, handle it as target. just return memsize.
      If no selection, ask win ime of target range. Inform app to deletet the range. and return memsize.
      Then the target range string starts normal WM_IME_COMPOSITION.

      I patched it for Qt4.8.6 on WinXP and Qt5.6.0 on Windows7.
      patch attached as plain source for a review.
      from : :\Qt\4.8.6\src\gui\inputmethod\qwininpucontext_win.cpp
      Sincerely a review would be appreciated.

      Here follow demonstrations.

      DEMO QTextEdit Qt4.8.6 WinXP
      https://www.youtube.com/watch?v=ImEuDyLWlmQ

      DEMO : Haven with scintillQt Qt4.8.6 WinXP
      https://www.youtube.com/watch?v=KYKWmn3neLw

      DEMO : Candidate Selection implemented by reconversion
      https://youtu.be/0dJNhKyOK3A

      DEMO : Reconversion Fixed for Qt5.6.0 on Windows7
      https://youtu.be/vkt9qZeUIYU
      ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      On linux, Qt turns out to use QChar length for Qt::ImCursorPosition rather than character length:
      https://bugreports.qt.io/browse/QTBUG-50826
      reconversion for Korean IME:
      https://bugreports.qt.io/browse/QTBUG-50451

        Attachments

        1. fixReconvertQt5.patch
          6 kB
        2. rcQtWin487.txt
          3 kB
        3. rcQtWin560.txt
          4 kB
        4. reconversionForKoreanByQt4.8.6.txt
          1 kB
        5. reconversionForKoreanQt5.6.0.txt
          2 kB
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

            Assignee:
            Unassigned Unassigned
            Reporter:
            johnsonj johnsonj
            Votes:
            2 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:

                Gerrit Reviews

                There are no open Gerrit changes