smileys support

This commit is contained in:
ingvar1995 2016-06-11 13:36:52 +03:00
parent 04f9852050
commit a0b23b0faa
910 changed files with 73 additions and 6 deletions

42
src/smileys.py Normal file
View file

@ -0,0 +1,42 @@
import util
import json
try:
from PySide import QtCore
except ImportError:
from PyQt4 import QtCore
class SmileyLoader(util.Singleton):
def __init__(self, settings):
self.settings = settings
self.curr_pack = None
self.smiles = {}
self.load_pack()
def load_pack(self):
pack_name = self.settings['smiley_pack']
if self.settings['smileys'] and self.curr_pack != pack_name:
self.curr_pack = pack_name
path = self.get_smileys_path() + 'config.json'
try:
with open(path) as fl:
self.smiles = json.loads(fl.read())
print 'Smiley pack', pack_name, 'loaded'
except:
print 'Smiley pack', pack_name, 'was not loaded'
def get_smileys_path(self):
return util.curr_directory() + '/smileys/' + self.curr_pack + '/'
def add_smileys_to_text(self, text, edit):
if not self.settings['smileys']:
return text
arr = text.split(' ')
for i in range(len(arr)):
if arr[i] in self.smiles:
file_name = self.smiles[arr[i]]
arr[i] = u'<img title=\"{}\" src=\"{}\" />'.format(arr[i], file_name)
if file_name.endswith('.gif'):
edit.addAnimation(QtCore.QUrl(file_name), self.get_smileys_path() + file_name)
return ' '.join(arr)