|
@@ -552,8 +552,13 @@ extension KMSearchReplaceWindowController: NSTextFieldDelegate {
|
|
|
let isWholeWord = self.matchWholeCheck.state == .on
|
|
|
let isEditing = self.handdler.pdfView?.isEditing() ?? false
|
|
|
if isEditing == false {
|
|
|
+ if self.finding_ {
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ self.finding_ = true
|
|
|
self._beginLoading()
|
|
|
self.handdler.search(keyword: self.searchInputView.stringValue, isCase: isCase, isWholeWord: isWholeWord, callback: { [weak self] datas in
|
|
|
+ self?.finding_ = false
|
|
|
self?._endLoading()
|
|
|
|
|
|
guard let sels = datas, sels.isEmpty == false else {
|
|
@@ -570,12 +575,17 @@ extension KMSearchReplaceWindowController: NSTextFieldDelegate {
|
|
|
}
|
|
|
})
|
|
|
} else {
|
|
|
+ if self.finding_ {
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ self.finding_ = true
|
|
|
let searchS = self.searchInputView.stringValue
|
|
|
let opt = self.fetchSearchOptions()
|
|
|
self._beginLoading()
|
|
|
DispatchQueue.global().async {
|
|
|
let datas = self.handdler.pdfView?.document.findEditAllPageString(searchS, with: opt) ?? []
|
|
|
DispatchQueue.main.async {
|
|
|
+ self.finding_ = false
|
|
|
self._endLoading()
|
|
|
if datas.isEmpty {
|
|
|
let alert = NSAlert()
|