file-stopped and file-completed can be saved in awiting_events queue

This commit is contained in:
Yann Leboulanger 2005-10-19 21:14:51 +00:00
parent 7d5cba01a7
commit 9d42d10853
5 changed files with 26 additions and 24 deletions

View File

@ -59,7 +59,8 @@ awaiting_events = {} # list of messages/FT reveived but not printed
# if type in ('chat', 'normal'): data = (message, subject, kind, time, # if type in ('chat', 'normal'): data = (message, subject, kind, time,
# encrypted) # encrypted)
# kind can be (incoming, error) # kind can be (incoming, error)
# if type in file-request, file-request-error, file-send-error, file-error: # if type in file-request, file-request-error, file-send-error, file-error,
# file-completed, file-stopped:
# data = file_props # data = file_props
nicks = {} # list of our nick names in each account nicks = {} # list of our nick names in each account
allow_notifications = {} # do we allow notifications for each account ? allow_notifications = {} # do we allow notifications for each account ?

View File

@ -912,18 +912,11 @@ class PopupNotificationWindow:
chats_window.set_active_tab(self.jid) chats_window.set_active_tab(self.jid)
chats_window.window.present() chats_window.window.present()
elif self.msg_type in ('normal', 'file-request', 'file-request-error', elif self.msg_type in ('normal', 'file-request', 'file-request-error',
'file-send-error', 'file-error'): 'file-send-error', 'file-error', 'file-stopped', 'file-completed'):
# Get the first single message event # Get the first single message event
ev = gajim.get_first_event(self.account, self.jid, self.msg_type) ev = gajim.get_first_event(self.account, self.jid, self.msg_type)
self.plugin.roster.open_event(self.account, self.jid, ev) self.plugin.roster.open_event(self.account, self.jid, ev)
elif self.msg_type == 'file-completed': # file transfer is complete
self.plugin.windows['file_transfers'].show_completed(self.jid,
self.file_props)
elif self.msg_type == 'file-stopped': # file transfer ended unexpectedly
self.plugin.windows['file_transfers'].show_stopped(self.jid,
self.file_props)
else: # 'chat' else: # 'chat'
self.plugin.roster.new_chat(contact, self.account) self.plugin.roster.new_chat(contact, self.account)
chats_window = self.plugin.windows[self.account]['chats'][self.jid] chats_window = self.plugin.windows[self.account]['chats'][self.jid]

View File

@ -885,21 +885,26 @@ class Interface:
file_props.has_key('paused') and file_props['paused']: file_props.has_key('paused') and file_props['paused']:
return return
jid = unicode(file_props['sender']) jid = unicode(file_props['sender'])
if gajim.config.get('notify_on_file_complete'):
if (gajim.connections[account].connected in (2, 3) if gajim.popup_window(account):
and gajim.config.get('autopopup')) or \
gajim.config.get('autopopupaway'):
if file_props['error'] == 0: if file_props['error'] == 0:
ft.show_completed(jid, file_props) ft.show_completed(jid, file_props)
elif file_props['error'] == -1: elif file_props['error'] == -1:
ft.show_stopped(jid, file_props) ft.show_stopped(jid, file_props)
return return
if file_props['error'] == 0: if file_props['error'] == 0:
msg_type = 'file-completed' msg_type = 'file-completed'
event_type = _('File Transfer Completed') event_type = _('File Transfer Completed')
elif file_props['error'] == -1: elif file_props['error'] == -1:
msg_type = 'file-stopped' msg_type = 'file-stopped'
event_type = _('File Transfer Stopped') event_type = _('File Transfer Stopped')
self.add_event(account, jid, msg_typ, file_props)
if gajim.config.get('notify_on_file_complete') and \
gajim.config.get('autopopupaway') or \
gajim.connections[account].connected in (2, 3):
instance = dialogs.PopupNotificationWindow(self, event_type, instance = dialogs.PopupNotificationWindow(self, event_type,
jid, account, msg_type, file_props) jid, account, msg_type, file_props)
self.roster.popup_notification_windows.append(instance) self.roster.popup_notification_windows.append(instance)

View File

@ -1823,9 +1823,12 @@ _('If "%s" accepts this request you will know his status.') %jid)
elif typ in ('file-request-error', 'file-send-error'): elif typ in ('file-request-error', 'file-send-error'):
ft.show_send_error(data) ft.show_send_error(data)
return True return True
elif typ == 'file-error': elif typ in ('file-error', 'file-stopped'):
ft.show_stopped(jid, data) ft.show_stopped(jid, data)
return True return True
elif typ == 'file-completed':
ft.show_completed(jid, data)
return True
return False return False
def on_roster_treeview_row_activated(self, widget, path, col = 0): def on_roster_treeview_row_activated(self, widget, path, col = 0):

View File

@ -285,7 +285,7 @@ class Systray:
self.plugin.roster.new_chat(c, account) self.plugin.roster.new_chat(c, account)
w = wins['chats'][jid] w = wins['chats'][jid]
elif typ in ('normal', 'file-request', 'file-request-error', elif typ in ('normal', 'file-request', 'file-request-error',
'file-send-error', 'file-error'): 'file-send-error', 'file-error', 'file-stopped', 'file-completed'):
# Get the first single message event # Get the first single message event
ev = gajim.get_first_event(account, jid, typ) ev = gajim.get_first_event(account, jid, typ)
# Open the window # Open the window