fix cannot highlight hyphenated words in crereader

pull/486/head
chrox 10 years ago
parent 561ba08761
commit bfff863861

@ -135,9 +135,10 @@ end
function CreDocument:getWordFromPosition(pos)
local word_box = self._document:getWordFromPosition(pos.x, pos.y)
local text_range = self._document:getTextFromPositions(pos.x, pos.y, pos.x, pos.y)
if word_box.word then
return {
word = word_box.word,
word = text_range.text == "" and word_box.word or text_range.text,
page = self._document:getCurrentPage(),
sbox = Geom:new{
x = word_box.x0, y = word_box.y0,
@ -156,7 +157,7 @@ function CreDocument:getTextFromPositions(pos0, pos1)
text = text_range.text,
pos0 = text_range.pos0,
pos1 = text_range.pos1,
sboxes = line_boxes, -- boxes on screen
--sboxes = line_boxes, -- boxes on screen
}
end
@ -273,6 +274,10 @@ function CreDocument:setFontFace(new_font_face)
end
end
function CreDocument:clearSelection()
self._document:clearSelection()
end
function CreDocument:getFontSize()
return self._document:getFontSize()
end

@ -159,9 +159,13 @@ end
function ReaderHighlight:onTap(arg, ges)
if self.hold_pos then
self.view.highlight.temp[self.hold_pos.page] = nil
UIManager:setDirty(self.dialog, "partial")
if self.ui.document.info.has_pages then
self.view.highlight.temp[self.hold_pos.page] = nil
else
self.ui.document:clearSelection()
end
self.hold_pos = nil
UIManager:setDirty(self.dialog, "partial")
return true
end
if self.ui.document.info.has_pages then
@ -260,9 +264,11 @@ function ReaderHighlight:onHold(arg, ges)
self.selected_word = self.ui.document:getWordFromPosition(self.hold_pos)
DEBUG("selected word:", self.selected_word)
if self.selected_word then
local boxes = {}
table.insert(boxes, self.selected_word.sbox)
self.view.highlight.temp[self.hold_pos.page] = boxes
if self.ui.document.info.has_pages then
local boxes = {}
table.insert(boxes, self.selected_word.sbox)
self.view.highlight.temp[self.hold_pos.page] = boxes
end
UIManager:setDirty(self.dialog, "partial")
end
return true

Loading…
Cancel
Save