Saves filter config in settings #102

This commit is contained in:
Manuel Cortez 2017-11-13 16:49:12 -06:00
parent 094325cbf0
commit c2413489e5
4 changed files with 29 additions and 5 deletions

View File

@ -43,3 +43,5 @@ spelling_language = string(default="")
save_followers_in_autocompletion_db = boolean(default=False) save_followers_in_autocompletion_db = boolean(default=False)
save_friends_in_autocompletion_db = boolean(default=False) save_friends_in_autocompletion_db = boolean(default=False)
ocr_language = string(default="") ocr_language = string(default="")
[filters]

View File

@ -1,8 +1,30 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import time
import widgetUtils
import application import application
from wxUI.dialogs import filterDialogs from wxUI.dialogs import filterDialogs
class filter(object): class filter(object):
def __init__(self): def __init__(self, buffer):
self.buffer = buffer
self.dialog = filterDialogs.filterDialog(languages=[i["name"] for i in application.supported_languages]) self.dialog = filterDialogs.filterDialog(languages=[i["name"] for i in application.supported_languages])
self.dialog.get_response() if self.dialog.get_response() == widgetUtils.OK:
contains = self.dialog.get("contains")
term = self.dialog.get("term")
regexp = self.dialog.get("regexp")
load_language = self.dialog.get("load_language")
ignore_language = self.dialog.get("ignore_language")
lang_option = None
if ignore_language:
lang_option = False
elif load_language:
lang_option = True
langs = self.dialog.get_selected_langs()
langcodes = []
for i in application.supported_languages:
if i["name"] in langs:
langcodes.append(i["code"])
d = dict(in_buffer=self.buffer.name, word=term, regexp=regexp, in_lang=lang_option, languages=langcodes, if_word_exists=contains)
filter_title = "filter_{0}".format(str(time.time()))
self.buffer.session.settings["filters"][filter_title] = d
self.buffer.session.settings.write()

View File

@ -490,7 +490,7 @@ class Controller(object):
if not hasattr(page.buffer, "list"): if not hasattr(page.buffer, "list"):
output.speak(_(u"No session is currently in focus. Focus a session with the next or previous session shortcut."), True) output.speak(_(u"No session is currently in focus. Focus a session with the next or previous session shortcut."), True)
return return
new_filter = filterController.filter() new_filter = filterController.filter(page)
def seekLeft(self, *args, **kwargs): def seekLeft(self, *args, **kwargs):
try: try:

View File

@ -79,5 +79,5 @@ class filterDialog(baseDialog.BaseWXDialog):
self.langs.Delete(n) self.langs.Delete(n)
self.indexes.remove(v) self.indexes.remove(v)
def get_all_langs(self): def get_selected_langs(self):
return self.indexes return self.indexes