ability to load transport iconsets from ~/.gajim/iconsets/transports. Fixes #3390
This commit is contained in:
parent
77eabc215d
commit
2419bd509c
|
@ -1050,3 +1050,11 @@ def get_iconset_path(iconset):
|
||||||
return os.path.join(gajim.DATA_DIR, 'iconsets', iconset)
|
return os.path.join(gajim.DATA_DIR, 'iconsets', iconset)
|
||||||
elif os.path.isdir(os.path.join(gajim.MY_ICONSETS_PATH, iconset)):
|
elif os.path.isdir(os.path.join(gajim.MY_ICONSETS_PATH, iconset)):
|
||||||
return os.path.join(gajim.MY_ICONSETS_PATH, iconset)
|
return os.path.join(gajim.MY_ICONSETS_PATH, iconset)
|
||||||
|
|
||||||
|
def get_transport_path(transport):
|
||||||
|
if os.path.isdir(os.path.join(gajim.DATA_DIR, 'iconsets', 'transports',
|
||||||
|
transport)):
|
||||||
|
return os.path.join(gajim.DATA_DIR, 'iconsets', 'transports', transport)
|
||||||
|
elif os.path.isdir(os.path.join(gajim.MY_ICONSETS_PATH, 'transports',
|
||||||
|
transport)):
|
||||||
|
return os.path.join(gajim.MY_ICONSETS_PATH, 'transports', transport)
|
||||||
|
|
|
@ -191,12 +191,12 @@ def notify(event, jid, account, parameters, advanced_notif_num = None):
|
||||||
transport_name = gajim.get_transport_name_from_jid(jid)
|
transport_name = gajim.get_transport_name_from_jid(jid)
|
||||||
img = None
|
img = None
|
||||||
if transport_name:
|
if transport_name:
|
||||||
img = os.path.join(gajim.DATA_DIR, 'iconsets',
|
img = os.path.join(helpers.get_transport_path(transport_name),
|
||||||
'transports', transport_name, '48x48', show_image)
|
'48x48', show_image)
|
||||||
if not img or not os.path.isfile(img):
|
if not img or not os.path.isfile(img):
|
||||||
iconset = gajim.config.get('iconset')
|
iconset = gajim.config.get('iconset')
|
||||||
img = os.path.join(gajim.DATA_DIR, 'iconsets',
|
img = os.path.join(helpers.get_iconset_path(iconset), '48x48',
|
||||||
iconset, '48x48', show_image)
|
show_image)
|
||||||
path = gtkgui_helpers.get_path_to_generic_or_avatar(img,
|
path = gtkgui_helpers.get_path_to_generic_or_avatar(img,
|
||||||
jid = jid, suffix = suffix)
|
jid = jid, suffix = suffix)
|
||||||
if event == 'status_change':
|
if event == 'status_change':
|
||||||
|
|
|
@ -4439,10 +4439,13 @@ class RosterWindow:
|
||||||
# standard transport iconsets are loaded one time in init()
|
# standard transport iconsets are loaded one time in init()
|
||||||
t_path = os.path.join(gajim.DATA_DIR, 'iconsets', 'transports')
|
t_path = os.path.join(gajim.DATA_DIR, 'iconsets', 'transports')
|
||||||
folders = os.listdir(t_path)
|
folders = os.listdir(t_path)
|
||||||
|
t_path = os.path.join(gajim.MY_ICONSETS_PATH, 'transports')
|
||||||
|
folders += os.listdir(t_path)
|
||||||
for transport in folders:
|
for transport in folders:
|
||||||
if transport == '.svn':
|
if transport == '.svn':
|
||||||
continue
|
continue
|
||||||
folder = os.path.join(t_path, transport, '16x16')
|
folder = os.path.join(helpers.get_transport_path(transport),
|
||||||
|
'16x16')
|
||||||
self.transports_state_images['opened'][transport] = \
|
self.transports_state_images['opened'][transport] = \
|
||||||
self.load_iconset(folder, pixo, transport = True)
|
self.load_iconset(folder, pixo, transport = True)
|
||||||
self.transports_state_images['closed'][transport] = \
|
self.transports_state_images['closed'][transport] = \
|
||||||
|
@ -5146,13 +5149,15 @@ class RosterWindow:
|
||||||
|
|
||||||
path = os.path.join(gajim.DATA_DIR, 'iconsets', 'transports')
|
path = os.path.join(gajim.DATA_DIR, 'iconsets', 'transports')
|
||||||
folders = os.listdir(path)
|
folders = os.listdir(path)
|
||||||
|
path = os.path.join(gajim.MY_ICONSETS_PATH, 'transports')
|
||||||
|
folders += os.listdir(path)
|
||||||
for transport in folders:
|
for transport in folders:
|
||||||
if transport == '.svn':
|
if transport == '.svn':
|
||||||
continue
|
continue
|
||||||
folder = os.path.join(path, transport, '32x32')
|
folder = os.path.join(helpers.get_transport_path(transport), '32x32')
|
||||||
self.transports_state_images['32'][transport] = self.load_iconset(
|
self.transports_state_images['32'][transport] = self.load_iconset(
|
||||||
folder, transport = True)
|
folder, transport = True)
|
||||||
folder = os.path.join(path, transport, '16x16')
|
folder = os.path.join(helpers.get_transport_path(transport), '16x16')
|
||||||
self.transports_state_images['16'][transport] = self.load_iconset(
|
self.transports_state_images['16'][transport] = self.load_iconset(
|
||||||
folder, transport = True)
|
folder, transport = True)
|
||||||
|
|
||||||
|
|
|
@ -436,8 +436,8 @@ class RosterTooltip(NotificationAreaTooltip):
|
||||||
transport = gajim.get_transport_name_from_jid(
|
transport = gajim.get_transport_name_from_jid(
|
||||||
prim_contact.jid)
|
prim_contact.jid)
|
||||||
if transport:
|
if transport:
|
||||||
file_path = os.path.join(gajim.DATA_DIR, 'iconsets',
|
file_path = os.path.join(helpers.get_transport_path(transport),
|
||||||
'transports', transport , '16x16')
|
'16x16')
|
||||||
else:
|
else:
|
||||||
iconset = gajim.config.get('iconset')
|
iconset = gajim.config.get('iconset')
|
||||||
if not iconset:
|
if not iconset:
|
||||||
|
|
Loading…
Reference in New Issue