Add option to disable ascii emoticons
This commit is contained in:
parent
5c0538a202
commit
41b977b914
3 changed files with 10 additions and 2 deletions
|
@ -124,6 +124,7 @@ class Config:
|
||||||
'print_time': [ opt_str, 'always', _('\'always\' - print time for every message.\n\'sometimes\' - print time every print_ichat_every_foo_minutes minute.\n\'never\' - never print time.')],
|
'print_time': [ opt_str, 'always', _('\'always\' - print time for every message.\n\'sometimes\' - print time every print_ichat_every_foo_minutes minute.\n\'never\' - never print time.')],
|
||||||
'print_time_fuzzy': [ opt_int, 0, _('Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or 0 to disable fuzzyclock. 1 is the most precise clock, 4 the least precise one. This is used only if print_time is \'sometimes\'.') ],
|
'print_time_fuzzy': [ opt_int, 0, _('Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or 0 to disable fuzzyclock. 1 is the most precise clock, 4 the least precise one. This is used only if print_time is \'sometimes\'.') ],
|
||||||
'emoticons_theme': [opt_str, 'noto-emoticons', '', True ],
|
'emoticons_theme': [opt_str, 'noto-emoticons', '', True ],
|
||||||
|
'ascii_emoticons': [opt_bool, True, _('Enable ASCII emoticons'), True],
|
||||||
'ascii_formatting': [ opt_bool, True,
|
'ascii_formatting': [ opt_bool, True,
|
||||||
_('Treat * / _ pairs as possible formatting characters.'), True],
|
_('Treat * / _ pairs as possible formatting characters.'), True],
|
||||||
'show_ascii_formatting_chars': [ opt_bool, True, _('If True, do not '
|
'show_ascii_formatting_chars': [ opt_bool, True, _('If True, do not '
|
||||||
|
|
|
@ -59,7 +59,7 @@ class SubPixbuf:
|
||||||
|
|
||||||
return subpixbuf
|
return subpixbuf
|
||||||
|
|
||||||
def load(path):
|
def load(path, ascii_emoticons):
|
||||||
module_name = 'emoticons_theme.py'
|
module_name = 'emoticons_theme.py'
|
||||||
theme_path = os.path.join(path, module_name)
|
theme_path = os.path.join(path, module_name)
|
||||||
if sys.platform == 'win32' and not os.path.exists(theme_path):
|
if sys.platform == 'win32' and not os.path.exists(theme_path):
|
||||||
|
@ -87,6 +87,12 @@ def load(path):
|
||||||
def add_emoticon(codepoint_, sub, mod_list=None):
|
def add_emoticon(codepoint_, sub, mod_list=None):
|
||||||
pix = sub.get_pixbuf()
|
pix = sub.get_pixbuf()
|
||||||
for alternate in codepoint_:
|
for alternate in codepoint_:
|
||||||
|
if not ascii_emoticons:
|
||||||
|
try:
|
||||||
|
alternate.encode('ascii')
|
||||||
|
continue
|
||||||
|
except UnicodeEncodeError:
|
||||||
|
pass
|
||||||
codepoints[alternate] = pix
|
codepoints[alternate] = pix
|
||||||
if pix not in pixbufs:
|
if pix not in pixbufs:
|
||||||
pixbufs[pix] = alternate
|
pixbufs[pix] = alternate
|
||||||
|
|
|
@ -1925,6 +1925,7 @@ class Interface:
|
||||||
|
|
||||||
def init_emoticons(self):
|
def init_emoticons(self):
|
||||||
emot_theme = app.config.get('emoticons_theme')
|
emot_theme = app.config.get('emoticons_theme')
|
||||||
|
ascii_emoticons = app.config.get('ascii_emoticons')
|
||||||
if not emot_theme:
|
if not emot_theme:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@ -1944,7 +1945,7 @@ class Interface:
|
||||||
transient_for=transient_for)
|
transient_for=transient_for)
|
||||||
app.config.set('emoticons_theme', '')
|
app.config.set('emoticons_theme', '')
|
||||||
return
|
return
|
||||||
if not emoticons.load(path):
|
if not emoticons.load(path, ascii_emoticons):
|
||||||
dialogs.WarningDialog(
|
dialogs.WarningDialog(
|
||||||
_('Emoticons disabled'),
|
_('Emoticons disabled'),
|
||||||
_('Your configured emoticons theme could not be loaded.'
|
_('Your configured emoticons theme could not be loaded.'
|
||||||
|
|
Loading…
Add table
Reference in a new issue