mirror of
https://github.com/MCV-Software/TWBlue.git
synced 2024-11-22 19:28:09 -06:00
Saves filter config in settings #102
This commit is contained in:
parent
094325cbf0
commit
c2413489e5
@ -43,3 +43,5 @@ spelling_language = string(default="")
|
||||
save_followers_in_autocompletion_db = boolean(default=False)
|
||||
save_friends_in_autocompletion_db = boolean(default=False)
|
||||
ocr_language = string(default="")
|
||||
|
||||
[filters]
|
||||
|
@ -1,8 +1,30 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import time
|
||||
import widgetUtils
|
||||
import application
|
||||
from wxUI.dialogs import filterDialogs
|
||||
|
||||
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.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()
|
@ -490,7 +490,7 @@ class Controller(object):
|
||||
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)
|
||||
return
|
||||
new_filter = filterController.filter()
|
||||
new_filter = filterController.filter(page)
|
||||
|
||||
def seekLeft(self, *args, **kwargs):
|
||||
try:
|
||||
|
@ -79,5 +79,5 @@ class filterDialog(baseDialog.BaseWXDialog):
|
||||
self.langs.Delete(n)
|
||||
self.indexes.remove(v)
|
||||
|
||||
def get_all_langs(self):
|
||||
def get_selected_langs(self):
|
||||
return self.indexes
|
||||
|
Loading…
Reference in New Issue
Block a user