we can now have emoticons themes in ~/.gajim/emoticons/ see #1182

This commit is contained in:
Yann Leboulanger 2006-03-17 14:24:58 +00:00
parent 3a6bb0bec9
commit 3b4f6e20fe
3 changed files with 14 additions and 4 deletions

View File

@ -54,16 +54,19 @@ if os.name == 'nt':
LOGPATH = os.path.join(os.environ['appdata'], 'Gajim', 'Logs') # deprecated LOGPATH = os.path.join(os.environ['appdata'], 'Gajim', 'Logs') # deprecated
VCARD_PATH = os.path.join(os.environ['appdata'], 'Gajim', 'Vcards') VCARD_PATH = os.path.join(os.environ['appdata'], 'Gajim', 'Vcards')
AVATAR_PATH = os.path.join(os.environ['appdata'], 'Gajim', 'Avatars') AVATAR_PATH = os.path.join(os.environ['appdata'], 'Gajim', 'Avatars')
MY_EMOTS_PATH = os.path.join(os.environ['appdata'], 'Gajim', 'Emoticons')
except KeyError: except KeyError:
# win9x, in cwd # win9x, in cwd
LOGPATH = 'Logs' # deprecated LOGPATH = 'Logs' # deprecated
VCARD_PATH = 'Vcards' VCARD_PATH = 'Vcards'
AVATAR_PATH = 'Avatars' AVATAR_PATH = 'Avatars'
MY_EMOTS_PATH = 'Emoticons'
else: # Unices else: # Unices
DATA_DIR = '../data' DATA_DIR = '../data'
LOGPATH = os.path.expanduser('~/.gajim/logs') # deprecated LOGPATH = os.path.expanduser('~/.gajim/logs') # deprecated
VCARD_PATH = os.path.expanduser('~/.gajim/vcards') VCARD_PATH = os.path.expanduser('~/.gajim/vcards')
AVATAR_PATH = os.path.expanduser('~/.gajim/avatars') AVATAR_PATH = os.path.expanduser('~/.gajim/avatars')
MY_EMOTS_PATH = os.path.expanduser('~/.gajim/emoticons')
HOME_DIR = os.path.expanduser('~') HOME_DIR = os.path.expanduser('~')
TMP = tempfile.gettempdir() TMP = tempfile.gettempdir()
@ -73,6 +76,7 @@ try:
VCARD_PATH = VCARD_PATH.decode(sys.getfilesystemencoding()) VCARD_PATH = VCARD_PATH.decode(sys.getfilesystemencoding())
TMP = TMP.decode(sys.getfilesystemencoding()) TMP = TMP.decode(sys.getfilesystemencoding())
AVATAR_PATH = AVATAR_PATH.decode(sys.getfilesystemencoding()) AVATAR_PATH = AVATAR_PATH.decode(sys.getfilesystemencoding())
MY_EMOTS_PATH = MY_EMOTS_PATH.decode(sys.getfilesystemencoding())
except: except:
pass pass

View File

@ -115,23 +115,24 @@ class PreferencesWindow:
# emoticons # emoticons
emoticons_combobox = self.xml.get_widget('emoticons_combobox') emoticons_combobox = self.xml.get_widget('emoticons_combobox')
emoticons_list = os.listdir(os.path.join(gajim.DATA_DIR, 'emoticons')) emoticons_list = os.listdir(os.path.join(gajim.DATA_DIR, 'emoticons'))
# user themes
if os.path.isdir(gajim.MY_EMOTS_PATH):
emoticons_list += os.listdir(gajim.MY_EMOTS_PATH)
renderer_text = gtk.CellRendererText() renderer_text = gtk.CellRendererText()
emoticons_combobox.pack_start(renderer_text, True) emoticons_combobox.pack_start(renderer_text, True)
emoticons_combobox.add_attribute(renderer_text, 'text', 0) emoticons_combobox.add_attribute(renderer_text, 'text', 0)
model = gtk.ListStore(str) model = gtk.ListStore(str)
emoticons_combobox.set_model(model) emoticons_combobox.set_model(model)
l = ['Disabled']
for dir in emoticons_list: for dir in emoticons_list:
if dir != '.svn': if dir != '.svn':
l.append(dir) l.append(dir)
print l l.append('Disabled')
for i in xrange(len(l)): for i in xrange(len(l)):
print l[i]
model.append([l[i]]) model.append([l[i]])
if gajim.config.get('emoticons_theme') == l[i]: if gajim.config.get('emoticons_theme') == l[i]:
emoticons_combobox.set_active(i) emoticons_combobox.set_active(i)
if not gajim.config.get('emoticons_theme'): if not gajim.config.get('emoticons_theme'):
emoticons_combobox.set_active(0) emoticons_combobox.set_active(len(l))
#iconset #iconset
iconsets_list = os.listdir(os.path.join(gajim.DATA_DIR, 'iconsets')) iconsets_list = os.listdir(os.path.join(gajim.DATA_DIR, 'iconsets'))

View File

@ -1419,6 +1419,11 @@ class Interface:
if not emot_theme: if not emot_theme:
return return
path = os.path.join(gajim.DATA_DIR, 'emoticons', emot_theme) path = os.path.join(gajim.DATA_DIR, 'emoticons', emot_theme)
if not os.path.exists(path):
# It's maybe a user theme
path = os.path.join(gajim.MY_EMOTS_PATH, emot_theme)
if not os.path.exists(path): # theme doesn't exists
return
sys.path.append(path) sys.path.append(path)
from emoticons import emoticons as emots from emoticons import emoticons as emots
for emot in emots: for emot in emots: