CRe: fix issues with case sensitive and regex search (#7947)

Fix crash with previous commit.
Show regex checkbox only with cre documents.
reviewable/pr7948/r1
zwim 3 years ago committed by GitHub
parent 826a765705
commit 4d9d599a6a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -104,7 +104,7 @@ function ReaderSearch:onShowFulltextSearchInput()
self.last_search_text = self.input_dialog:getInputText()
self.use_regex = self.check_button_regex.checked
self.case_insensitive = not self.check_button_case.checked
local regex_error = self.ui.document:checkRegex(self.input_dialog:getInputText())
local regex_error = self.use_regex and self.ui.document:checkRegex(self.input_dialog:getInputText())
if self.use_regex and regex_error ~= 0 then
logger.dbg("ReaderSearch: regex error", regex_error, SRELL_ERROR_CODES[regex_error])
local error_message = _("Invalid regular expression")
@ -128,7 +128,7 @@ function ReaderSearch:onShowFulltextSearchInput()
self.last_search_text = self.input_dialog:getInputText()
self.use_regex = self.check_button_regex.checked
self.case_insensitive = not self.check_button_case.checked
local regex_error = self.ui.document:checkRegex(self.input_dialog:getInputText())
local regex_error = self.use_regex and self.ui.document:checkRegex(self.input_dialog:getInputText())
if self.use_regex and regex_error ~= 0 then
logger.dbg("ReaderSearch: regex error", regex_error, SRELL_ERROR_CODES[regex_error])
local error_message = _("Invalid regular expression")
@ -183,7 +183,7 @@ function ReaderSearch:onShowFulltextSearchInput()
VerticalGroup:new{
align = "left",
self.check_button_case,
self.check_button_regex,
not self.ui.document.info.has_pages and self.check_button_regex or nil,
},
}
@ -385,8 +385,8 @@ function ReaderSearch:search(pattern, origin, regex, case_insensitive)
Device:setIgnoreInput(true)
local retval, words_found = self.ui.document:findText(pattern, origin, direction, case_insensitive, page, regex, self.max_hits)
Device:setIgnoreInput(false)
local regex_retval = self.ui.document:getAndClearRegexSearchError();
if regex_retval ~= 0 then
local regex_retval = regex and self.ui.document:getAndClearRegexSearchError();
if regex and regex_retval ~= 0 then
local error_message
if SRELL_ERROR_CODES[regex_retval] then
error_message = SRELL_ERROR_CODES[regex_retval]

@ -1248,7 +1248,7 @@ function CreDocument:checkRegex(pattern)
end
function CreDocument:getAndClearRegexSearchError()
retval = self._document:getAndClearRegexSearchError()
local retval = self._document:getAndClearRegexSearchError()
logger.dbg("CreDocument: getAndClearRegexSearchError", retval)
return retval
end

Loading…
Cancel
Save