Commit 59eae07c authored by Yann Leboulanger's avatar Yann Leboulanger
Browse files

remove old notification code

parent 1c9ed0a9
......@@ -72,169 +72,6 @@ def get_show_in_systray(event, account, contact, type_=None):
return False
return gajim.config.get('trayicon_notification_on_events')
def notify(event, jid, account, parameters):
"""
Check what type of notifications we want, depending on basic and the
advanced configuration of notifications and do these notifications;
"""
# First, find what notifications we want
do_popup = False
do_sound = False
do_cmd = False
if event == 'status_change':
new_show = parameters[0]
status_message = parameters[1]
# Default: No popup for status change
elif event == 'contact_connected':
status_message = parameters
j = gajim.get_jid_without_resource(jid)
server = gajim.get_server_from_jid(j)
account_server = account + '/' + server
block_transport = False
if account_server in gajim.block_signed_in_notifications and \
gajim.block_signed_in_notifications[account_server]:
block_transport = True
if helpers.allow_showing_notification(account, 'notify_on_signin') and \
not gajim.block_signed_in_notifications[account] and \
not block_transport:
do_popup = True
if gajim.config.get_per('soundevents', 'contact_connected',
'enabled') and not gajim.block_signed_in_notifications[account] and \
not block_transport and helpers.allow_sound_notification(account,
event):
do_sound = True
elif event == 'contact_disconnected':
status_message = parameters
if helpers.allow_showing_notification(account, 'notify_on_signout'):
do_popup = True
if gajim.config.get_per('soundevents', 'contact_disconnected',
'enabled') and helpers.allow_sound_notification(account, event):
do_sound = True
elif event == 'new_message':
message_type = parameters[0]
is_first_message = parameters[1]
nickname = parameters[2]
if gajim.config.get('notification_preview_message'):
message = parameters[3]
if message.startswith('/me ') or message.startswith('/me\n'):
message = '* ' + nickname + message[3:]
else:
# We don't want message preview, do_preview = False
message = ''
focused = parameters[4]
if helpers.allow_showing_notification(account, 'notify_on_new_message',
is_first_message):
do_popup = True
if is_first_message and helpers.allow_sound_notification(account,
'first_message_received'):
do_sound = True
elif not is_first_message and focused and \
helpers.allow_sound_notification(account,
'next_message_received_focused'):
do_sound = True
elif not is_first_message and not focused and \
helpers.allow_sound_notification(account,
'next_message_received_unfocused'):
do_sound = True
else:
print '*Event not implemeted yet*'
# Do the wanted notifications
if do_popup:
if event in ('contact_connected', 'contact_disconnected',
'status_change'): # Common code for popup for these three events
if event == 'contact_disconnected':
show_image = 'offline.png'
suffix = '_notif_size_bw'
else: # Status Change or Connected
# FIXME: for status change,
# we don't always 'online.png', but we
# first need 48x48 for all status
show_image = 'online.png'
suffix = '_notif_size_colored'
transport_name = gajim.get_transport_name_from_jid(jid)
img_path = None
if transport_name:
img_path = os.path.join(helpers.get_transport_path(
transport_name), '48x48', show_image)
if not img_path or not os.path.isfile(img_path):
iconset = gajim.config.get('iconset')
img_path = os.path.join(helpers.get_iconset_path(iconset),
'48x48', show_image)
path = gtkgui_helpers.get_path_to_generic_or_avatar(img_path,
jid=jid, suffix=suffix)
if event == 'status_change':
title = _('%(nick)s Changed Status') % \
{'nick': gajim.get_name_from_jid(account, jid)}
text = _('%(nick)s is now %(status)s') % \
{'nick': gajim.get_name_from_jid(account, jid),\
'status': helpers.get_uf_show(gajim.SHOW_LIST[new_show])}
if status_message:
text = text + " : " + status_message
popup(_('Contact Changed Status'), jid, account,
path_to_image=path, title=title, text=text)
elif event == 'contact_connected':
title = _('%(nickname)s Signed In') % \
{'nickname': gajim.get_name_from_jid(account, jid)}
text = ''
if status_message:
text = status_message
popup(_('Contact Signed In'), jid, account,
path_to_image=path, title=title, text=text)
elif event == 'contact_disconnected':
title = _('%(nickname)s Signed Out') % \
{'nickname': gajim.get_name_from_jid(account, jid)}
text = ''
if status_message:
text = status_message
popup(_('Contact Signed Out'), jid, account,
path_to_image=path, title=title, text=text)
elif event == 'new_message':
if message_type == 'normal': # single message
event_type = _('New Single Message')
img_name = 'gajim-single_msg_recv'
title = _('New Single Message from %(nickname)s') % \
{'nickname': nickname}
text = message
elif message_type == 'pm': # private message
event_type = _('New Private Message')
room_name = gajim.get_nick_from_jid(jid)
img_name = 'gajim-priv_msg_recv'
title = _('New Private Message from group chat %s') % room_name
if message:
text = _('%(nickname)s: %(message)s') % \
{'nickname': nickname, 'message': message}
else:
text = _('Messaged by %(nickname)s') % \
{'nickname': nickname}
else: # chat message
event_type = _('New Message')
img_name = 'gajim-chat_msg_recv'
title = _('New Message from %(nickname)s') % \
{'nickname': nickname}
text = message
img_path = gtkgui_helpers.get_icon_path(img_name, 48)
popup(event_type, jid, account, message_type,
path_to_image=img_path, title=title, text=text)
if do_sound:
snd_file = None
snd_event = None # If not snd_file, play the event
if event == 'new_message':
if is_first_message:
snd_event = 'first_message_received'
elif focused:
snd_event = 'next_message_received_focused'
else:
snd_event = 'next_message_received_unfocused'
elif event in ('contact_connected', 'contact_disconnected'):
snd_event = event
if snd_file:
helpers.play_sound_file(snd_file)
if snd_event:
helpers.play_sound(snd_event)
def popup(event_type, jid, account, msg_type='', path_to_image=None, title=None,
text=None):
"""
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment