mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Edit Book: Fix the Show next occurrence button in the spell check dialog not always working
This commit is contained in:
parent
6c82307975
commit
2d7330d2a9
@ -378,7 +378,7 @@ class TextEdit(PlainTextEdit):
|
||||
self.saved_matches[save_match] = (pat, m)
|
||||
return True
|
||||
|
||||
def find_word_in_line(self, word, lang, lnum, from_cursor=True):
|
||||
def find_word_from_line(self, word, lang, lnum, from_cursor=True):
|
||||
c = self.textCursor()
|
||||
c.setPosition(c.position())
|
||||
if not from_cursor or c.blockNumber() != lnum - 1:
|
||||
@ -386,11 +386,11 @@ class TextEdit(PlainTextEdit):
|
||||
c.movePosition(c.Start)
|
||||
c.movePosition(c.NextBlock, n=lnum - 1)
|
||||
c.movePosition(c.StartOfLine)
|
||||
c.movePosition(c.EndOfBlock, c.KeepAnchor)
|
||||
offset = c.block().position()
|
||||
c.movePosition(c.End, c.KeepAnchor)
|
||||
else:
|
||||
offset = c.block().position() + c.positionInBlock()
|
||||
c.movePosition(c.EndOfBlock, c.KeepAnchor)
|
||||
c.movePosition(c.End, c.KeepAnchor)
|
||||
text = unicode(c.selectedText()).rstrip('\0')
|
||||
idx = index_of(word, text, lang=lang)
|
||||
if idx == -1:
|
||||
|
@ -189,8 +189,8 @@ class Editor(QMainWindow):
|
||||
def find(self, *args, **kwargs):
|
||||
return self.editor.find(*args, **kwargs)
|
||||
|
||||
def find_word_in_line(self, *args, **kwargs):
|
||||
return self.editor.find_word_in_line(*args, **kwargs)
|
||||
def find_word_from_line(self, *args, **kwargs):
|
||||
return self.editor.find_word_from_line(*args, **kwargs)
|
||||
|
||||
def replace(self, *args, **kwargs):
|
||||
return self.editor.replace(*args, **kwargs)
|
||||
|
@ -1046,7 +1046,7 @@ def find_next(word, locations, current_editor, current_editor_name,
|
||||
idx = lfiles.index(current_editor_name)
|
||||
before, after = lfiles[:idx], lfiles[idx+1:]
|
||||
lfiles = after + before + [current_editor_name]
|
||||
lnum = current_editor.current_line
|
||||
lnum = current_editor.current_line + 1
|
||||
start_locations = [l for l in files[current_editor_name] if l.sourceline >= lnum]
|
||||
locations = list(start_locations)
|
||||
for fname in lfiles:
|
||||
@ -1058,7 +1058,7 @@ def find_next(word, locations, current_editor, current_editor_name,
|
||||
if ed is None:
|
||||
edit_file(location.file_name)
|
||||
ed = editors[location.file_name]
|
||||
if ed.find_word_in_line(location.original_word, word[1].langcode, location.sourceline, from_cursor=location in start_locations):
|
||||
if ed.find_word_from_line(location.original_word, word[1].langcode, location.sourceline, from_cursor=location in start_locations):
|
||||
show_editor(location.file_name)
|
||||
return True
|
||||
return False
|
||||
|
Loading…
x
Reference in New Issue
Block a user