diff options
-rw-r--r-- | doc/ScintillaHistory.html | 8 | ||||
-rw-r--r-- | qt/ScintillaEditBase/ScintillaEditBase.cpp | 8 | ||||
-rw-r--r-- | win32/ScintillaWin.cxx | 5 |
3 files changed, 8 insertions, 13 deletions
diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html index 503df317e..a766f61c0 100644 --- a/doc/ScintillaHistory.html +++ b/doc/ScintillaHistory.html @@ -602,6 +602,14 @@ <a href="https://sourceforge.net/p/scintilla/bugs/2333/">Bug #2333</a>. </li> <li> + On Win32 and Qt, stop aligning IME candidate window to target. + It is now always aligned to start of composition string. + This undoes part of feature #1300. + <a href="https://sourceforge.net/p/scintilla/feature-requests/1488/">Feature #1488</a>, + <a href="https://sourceforge.net/p/scintilla/bugs/2391/">Bug #2391</a>, + <a href="https://sourceforge.net/p/scintilla/feature-requests/1300/">Feature #1300</a>. + </li> + <li> On Qt, for IMEs, update micro focus when selection changes. This may move the location of IME popups to align with the caret. </li> diff --git a/qt/ScintillaEditBase/ScintillaEditBase.cpp b/qt/ScintillaEditBase/ScintillaEditBase.cpp index 5072cd824..2499932b4 100644 --- a/qt/ScintillaEditBase/ScintillaEditBase.cpp +++ b/qt/ScintillaEditBase/ScintillaEditBase.cpp @@ -611,14 +611,6 @@ void ScintillaEditBase::inputMethodEvent(QInputMethodEvent *event) #endif sqt->view.imeCaretBlockOverride = true; } - - // Set Candidate window position again at imeCaret when target input. - const bool targetAny = std::any_of(imeIndicator.begin(), imeIndicator.end(), [](int i) noexcept { - return i == IndicatorTarget; - }); - if (targetAny) - preeditPos = sqt->CurrentPosition(); - sqt->EnsureCaretVisible(); } sqt->ShowCaretAtCurrentPosition(); diff --git a/win32/ScintillaWin.cxx b/win32/ScintillaWin.cxx index e38ba6386..b43503615 100644 --- a/win32/ScintillaWin.cxx +++ b/win32/ScintillaWin.cxx @@ -1324,11 +1324,6 @@ sptr_t ScintillaWin::HandleCompositionInline(uptr_t, sptr_t lParam) { const Sci::Position imeCaretPosDoc = pdoc->GetRelativePositionUTF16(currentPos, imeEndToImeCaretU16); MoveImeCarets(-currentPos + imeCaretPosDoc); - - if (std::find(imeIndicator.begin(), imeIndicator.end(), IndicatorTarget) != imeIndicator.end()) { - // set candidate window left aligned to beginning of target string. - SetCandidateWindowPos(); - } } } |