From 6c38349cc3854079acdfc5ddb281accd9a47e477 Mon Sep 17 00:00:00 2001 From: "St.Huang" Date: Sun, 26 Aug 2018 18:13:10 +0800 Subject: [PATCH] fix #34 --- addons/fastwq/__init__.py | 4 ++-- addons/fastwq/query/__init__.py | 7 ++++--- addons/fastwq/query/worker.py | 3 ++- addons21/fastwq/common.py | 4 ++-- addons21/fastwq/query/__init__.py | 7 ++++--- addons21/fastwq/query/worker.py | 3 ++- 6 files changed, 16 insertions(+), 12 deletions(-) diff --git a/addons/fastwq/__init__.py b/addons/fastwq/__init__.py index 6bb0562..8d9e9ff 100644 --- a/addons/fastwq/__init__.py +++ b/addons/fastwq/__init__.py @@ -96,11 +96,11 @@ def customize_addcards(): if isinstance(e, QMouseEvent): if e.buttons() & Qt.LeftButton: menu = QMenu(self) - menu.addAction(_("Query"), lambda: query_from_editor_all_fields(self.editor), QKeySequence(my_shortcut)) + menu.addAction(_("Query"), lambda: query_from_editor_all_fields(self.editor, False), QKeySequence(my_shortcut)) menu.addAction(_("Options"), lambda: show_options(self, self.editor.note.model()['id'])) menu.exec_(fastwqBtn.mapToGlobal(QPoint(0, fastwqBtn.height()))) else: - query_from_editor_all_fields(self.editor) + query_from_editor_all_fields(self.editor, False) fastwqBtn.mousePressEvent = onQuery fastwqBtn.clicked.connect(onQuery) diff --git a/addons/fastwq/query/__init__.py b/addons/fastwq/query/__init__.py index fc76fef..b552762 100644 --- a/addons/fastwq/query/__init__.py +++ b/addons/fastwq/query/__init__.py @@ -58,7 +58,7 @@ def query_from_browser(browser): # browser.model.reset() -def query_from_editor_all_fields(editor): +def query_from_editor_all_fields(editor, flush=True): """ Query word fileds from Editor """ @@ -84,12 +84,12 @@ def query_from_editor_all_fields(editor): editor ) else: - query_all([editor.note]) + query_all([editor.note], flush) editor.setNote(editor.note, focus=True) editor.saveNow() -def query_all(notes): +def query_all(notes, flush=True): """ Query maps word fileds """ @@ -100,6 +100,7 @@ def query_all(notes): work_manager = QueryWorkerManager() #work_manager.reset() #progress.start(max=len(notes), min=0, immediate=True) + work_manager.flush = flush queue = work_manager.queue for note in notes: diff --git a/addons/fastwq/query/worker.py b/addons/fastwq/query/worker.py index d6213a3..db1f2a4 100644 --- a/addons/fastwq/query/worker.py +++ b/addons/fastwq/query/worker.py @@ -91,6 +91,7 @@ class QueryWorkerManager(object): self.fields = 0 self.skips = 0 self.missed_css = list() + self.flush = True def get_worker(self): worker = QueryThread(self) @@ -155,5 +156,5 @@ class QueryWorkerManager(object): @QtCore.pyqtSlot(object) def handle_flush(self, note): - if note: + if self.flush and note: note.flush() diff --git a/addons21/fastwq/common.py b/addons21/fastwq/common.py index 6bb0562..8d9e9ff 100644 --- a/addons21/fastwq/common.py +++ b/addons21/fastwq/common.py @@ -96,11 +96,11 @@ def customize_addcards(): if isinstance(e, QMouseEvent): if e.buttons() & Qt.LeftButton: menu = QMenu(self) - menu.addAction(_("Query"), lambda: query_from_editor_all_fields(self.editor), QKeySequence(my_shortcut)) + menu.addAction(_("Query"), lambda: query_from_editor_all_fields(self.editor, False), QKeySequence(my_shortcut)) menu.addAction(_("Options"), lambda: show_options(self, self.editor.note.model()['id'])) menu.exec_(fastwqBtn.mapToGlobal(QPoint(0, fastwqBtn.height()))) else: - query_from_editor_all_fields(self.editor) + query_from_editor_all_fields(self.editor, False) fastwqBtn.mousePressEvent = onQuery fastwqBtn.clicked.connect(onQuery) diff --git a/addons21/fastwq/query/__init__.py b/addons21/fastwq/query/__init__.py index 733894b..59bf714 100644 --- a/addons21/fastwq/query/__init__.py +++ b/addons21/fastwq/query/__init__.py @@ -58,7 +58,7 @@ def query_from_browser(browser): # browser.model.reset() -def query_from_editor_all_fields(editor): +def query_from_editor_all_fields(editor, flush=True): """ Query word fileds from Editor """ @@ -85,12 +85,12 @@ def query_from_editor_all_fields(editor): ) else: editor.setNote(editor.note) - query_all([editor.note]) + query_all([editor.note], flush) editor.setNote(editor.note, focusTo=0) editor.saveNow(lambda:None) -def query_all(notes): +def query_all(notes, flush=True): """ Query maps word fileds """ @@ -101,6 +101,7 @@ def query_all(notes): work_manager = QueryWorkerManager() #work_manager.reset() #progress.start(max=len(notes), min=0, immediate=True) + work_manager.flush = flush queue = work_manager.queue for note in notes: diff --git a/addons21/fastwq/query/worker.py b/addons21/fastwq/query/worker.py index 05331c2..931ac8d 100644 --- a/addons21/fastwq/query/worker.py +++ b/addons21/fastwq/query/worker.py @@ -92,6 +92,7 @@ class QueryWorkerManager(object): self.fields = 0 self.skips = 0 self.missed_css = list() + self.flush = True def get_worker(self): worker = QueryThread(self) @@ -155,5 +156,5 @@ class QueryWorkerManager(object): self.progress.finish() def handle_flush(self, note): - if note: + if self.flush and note: note.flush()