Add exception handling for filter modifications

This commit is contained in:
RumovZ 2021-01-06 20:25:13 +01:00
parent d9f7d2e70d
commit 539f701573

View file

@ -1219,23 +1219,27 @@ QTableView {{ gridline-color: {grid} }}
items.append(txt) items.append(txt)
txt = "" txt = ""
txt = " AND ".join(items) txt = " AND ".join(items)
if self.mw.app.keyboardModifiers() & Qt.AltModifier: try:
txt = self.col.backend.negate_search(txt) if self.mw.app.keyboardModifiers() & Qt.AltModifier:
cur = str(self.form.searchEdit.lineEdit().text()) txt = self.col.backend.negate_search(txt)
if cur != self._searchPrompt: cur = str(self.form.searchEdit.lineEdit().text())
mods = self.mw.app.keyboardModifiers() if cur != self._searchPrompt:
if mods & Qt.ControlModifier and mods & Qt.ShiftModifier: mods = self.mw.app.keyboardModifiers()
txt = self.col.backend.replace_search_term(search=cur, replacement=txt) if mods & Qt.ControlModifier and mods & Qt.ShiftModifier:
elif mods & Qt.ControlModifier: txt = self.col.backend.replace_search_term(search=cur, replacement=txt)
txt = self.col.backend.concatenate_searches( elif mods & Qt.ControlModifier:
sep=pb.ConcatenateSearchesIn.Separator.AND, searches=[cur, txt] txt = self.col.backend.concatenate_searches(
) sep=pb.ConcatenateSearchesIn.Separator.AND, searches=[cur, txt]
elif mods & Qt.ShiftModifier: )
txt = self.col.backend.concatenate_searches( elif mods & Qt.ShiftModifier:
sep=pb.ConcatenateSearchesIn.Separator.OR, searches=[cur, txt] txt = self.col.backend.concatenate_searches(
) sep=pb.ConcatenateSearchesIn.Separator.OR, searches=[cur, txt]
self.form.searchEdit.lineEdit().setText(txt) )
self.onSearchActivated() except InvalidInput as e:
showWarning(str(e))
else:
self.form.searchEdit.lineEdit().setText(txt)
self.onSearchActivated()
def _simpleFilters(self, items): def _simpleFilters(self, items):
ml = MenuList() ml = MenuList()