gajim.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2026
October
September
August
July
June
May
April
March
February
January
2025
December
November
October
September
August
July
June
May
April
March
February
January
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
List overview
Download
Commits
July 2009
----- 2026 -----
October 2026
September 2026
August 2026
July 2026
June 2026
May 2026
April 2026
March 2026
February 2026
January 2026
----- 2025 -----
December 2025
November 2025
October 2025
September 2025
August 2025
July 2025
June 2025
May 2025
April 2025
March 2025
February 2025
January 2025
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
commits@gajim.org
5 participants
169 discussions
Start a n
N
ew thread
gajim: Linked buttons to tools. Today was the happiest day of my...
by Ummu
24 Jul '09
24 Jul '09
changeset 32fe0483a8ec in /home/hg/repos/gajim
details:http://hg.gajim.org/gajim?cmd=changeset;node=32fe0483a8ec
description: Linked buttons to tools. Today was the happiest day of my life I think. diffstat: src/whiteboardwidget.py | 12 ++---------- 1 files changed, 2 insertions(+), 10 deletions(-) diffs (36 lines): diff -r 33412ebb9476 -r 32fe0483a8ec src/whiteboardwidget.py --- a/src/whiteboardwidget.py Tue Jul 21 18:11:50 2009 +0200 +++ b/src/whiteboardwidget.py Fri Jul 24 00:36:26 2009 -0700 @@ -17,6 +17,7 @@ class Whiteboard(object): def __init__(self, account, contact, session): + print 'init' xml = gtkgui_helpers.get_glade('whiteboard_widget.glade', 'whiteboard_hbox') self.hbox = xml.get_widget('whiteboard_hbox') @@ -53,7 +54,7 @@ print 'on_oval_button_clicked' def on_export_button_clicked(self, widget): - print 'on_export_button_clicked' + self.image.print_xml() def button_press_event(self, widget, event): x = event.x @@ -125,15 +126,6 @@ if self.item_temp is not None: self.item_temp.remove() self.item_temp = None - - def export(self, widget): - self.image.print_xml() - - def tool_brush(self,widget): - self.draw_tool = 'brush' - - def tool_oval(self, widget): - self.draw_tool = 'oval' class SVGObject(): ''' A class to store the svg document and make changes to it.'''
1
0
0
0
gajim: don't show many accepted window when we add many contacts...
by Yann Leboulanger
23 Jul '09
23 Jul '09
changeset ff48d7c48416 in /home/hg/repos/gajim
details:http://hg.gajim.org/gajim?cmd=changeset;node=ff48d7c48416
description: don't show many accepted window when we add many contacts through RIE diffstat: src/dialogs.py | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) diffs (16 lines): diff -r ac299302eb2c -r ff48d7c48416 src/dialogs.py --- a/src/dialogs.py Thu Jul 23 15:05:33 2009 +0200 +++ b/src/dialogs.py Thu Jul 23 22:57:33 2009 +0200 @@ -2932,7 +2932,11 @@ groups = model[iter][3].split(', ') if groups == ['']: groups = [] - gajim.interface.roster.req_sub(self, model[iter][1], message, + jid = model[iter][1].decode('utf-8') + if gajim.jid_is_transport(self.jid_from): + gajim.connections[self.account].automatically_added.append( + jid) + gajim.interface.roster.req_sub(self, jid, message, self.account, groups=groups, nickname=model[iter][2], auto_auth=True) iter = model.iter_next(iter)
1
0
0
0
gajim: fix /ban command
by Yann Leboulanger
23 Jul '09
23 Jul '09
changeset ac299302eb2c in /home/hg/repos/gajim
details:http://hg.gajim.org/gajim?cmd=changeset;node=ac299302eb2c
description: fix /ban command diffstat: src/groupchat_control.py | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) diffs (33 lines): diff -r 87cc2dcddca9 -r ac299302eb2c src/groupchat_control.py --- a/src/groupchat_control.py Wed Jul 22 10:58:49 2009 +0200 +++ b/src/groupchat_control.py Thu Jul 23 15:05:33 2009 +0200 @@ -1596,10 +1596,11 @@ reason = 'None' else: reason = test_reason + banned_jid = None if nb_match == 1: gc_contact = gajim.contacts.get_gc_contact(self.account, self.room_jid, nick_ban) - nick = gc_contact.jid + banned_jid = gc_contact.jid elif nb_match > 1: self.print_conversation(_('There is an ambiguity: %d nicks ' 'match.\n Please use graphical interface ') % nb_match, @@ -1607,13 +1608,14 @@ self.clear(self.msg_textview) elif message_array[0].split()[0].find('@') > 0: message_splited = message_array[0].split(' ', 1) - jid = message_splited[0] + banned_jid = message_splited[0] if len(message_splited) == 2: reason = message_splited[1] else: reason = 'None' + if banned_jid: gajim.connections[self.account].gc_set_affiliation(self.room_jid, - message_array[0].split()[0], 'outcast', reason) + banned_jid, 'outcast', reason) self.clear(self.msg_textview) else: self.print_conversation(_('Nickname not found'), 'info')
1
0
0
0
gajim: some coding standards
by Yann Leboulanger
22 Jul '09
22 Jul '09
changeset 87cc2dcddca9 in /home/hg/repos/gajim
details:http://hg.gajim.org/gajim?cmd=changeset;node=87cc2dcddca9
description: some coding standards diffstat: src/dialogs.py | 90 ++++++++++++++++++++++++-------------------- 1 files changed, 49 insertions(+), 41 deletions(-) diffs (221 lines): diff -r 7a3317130f53 -r 87cc2dcddca9 src/dialogs.py --- a/src/dialogs.py Wed Jul 22 10:48:41 2009 +0200 +++ b/src/dialogs.py Wed Jul 22 10:58:49 2009 +0200 @@ -2737,7 +2737,7 @@ if gajim.connections[self.account].connected <= 1: #if offline or connecting ErrorDialog(_('Connection not available'), - _('Please make sure you are connected with "%s".') % self.account) + _('Please make sure you are connected with "%s".') % self.account) return begin_iter, end_iter = self.input_tv_buffer.get_bounds() stanza = self.input_tv_buffer.get_text(begin_iter, end_iter).decode( @@ -2748,18 +2748,16 @@ def on_presence_button_clicked(self, widget): self.input_tv_buffer.set_text( - '<presence><show></show><status></status><priority></priority></presence>' - ) + '<presence><show></show><status></status><priority></priority>' + '</presence>') def on_iq_button_clicked(self, widget): self.input_tv_buffer.set_text( - '<iq to="" type=""><query xmlns=""></query></iq>' - ) + '<iq to="" type=""><query xmlns=""></query></iq>') def on_message_button_clicked(self, widget): self.input_tv_buffer.set_text( - '<message to="" type=""><body></body></message>' - ) + '<message to="" type=""><body></body></message>') def on_expander_activate(self, widget): if not widget.get_expanded(): # it's the opposite! @@ -2768,7 +2766,8 @@ class RosterItemExchangeWindow: ''' Windows used when someone send you a exchange contact suggestion ''' - def __init__(self, account, action, exchange_list, jid_from, message_body=None): + def __init__(self, account, action, exchange_list, jid_from, + message_body=None): self.account = account self.action = action self.exchange_list = exchange_list @@ -2781,14 +2780,14 @@ # Add Widgets. for widget_to_add in ['cancel_button', 'accept_button', 'type_label', - 'body_scrolledwindow', 'body_textview', 'items_list_treeview']: + 'body_scrolledwindow', 'body_textview', 'items_list_treeview']: self.__dict__[widget_to_add] = self.xml.get_widget(widget_to_add) # Set labels - #self.action can be 'add', 'modify' or 'remove' + # self.action can be 'add', 'modify' or 'remove' self.type_label.set_label(\ - _('<b>%s</b> would like you to <b>%s</b> some contacts in your roster.') \ - % (jid_from, _(self.action))) + _('<b>%s</b> would like you to <b>%s</b> some contacts in your ' + 'roster.') % (jid_from, _(self.action))) if message_body: buffer = self.body_textview.get_buffer() buffer.set_text(self.message_body) @@ -2801,17 +2800,23 @@ renderer1 = gtk.CellRendererToggle() renderer1.set_property('activatable', True) renderer1.connect('toggled', self.toggled_callback) - self.items_list_treeview.insert_column_with_attributes(-1, - _(self.action), renderer1, active = 0) + if self.action == 'add': + title = _('Add') + elif self.action == 'modify': + title = _('Modify') + elif self.action == 'delete': + title = _('Delete') + self.items_list_treeview.insert_column_with_attributes(-1, title, + renderer1, active=0) renderer2 = gtk.CellRendererText() - self.items_list_treeview.insert_column_with_attributes(-1, - _('Jabber ID'), renderer2, text = 1) + self.items_list_treeview.insert_column_with_attributes(-1, _('Jabber ID'), + renderer2, text=1) renderer3 = gtk.CellRendererText() - self.items_list_treeview.insert_column_with_attributes(-1, - _('Name'), renderer3, text = 2) + self.items_list_treeview.insert_column_with_attributes(-1, _('Name'), + renderer3, text=2) renderer4 = gtk.CellRendererText() - self.items_list_treeview.insert_column_with_attributes(-1, - _('Groups'), renderer4, text = 3) + self.items_list_treeview.insert_column_with_attributes(-1, _('Groups'), + renderer4, text=3) # Init contacts model = self.items_list_treeview.get_model() @@ -2821,7 +2826,7 @@ for jid in self.exchange_list: groups = '' is_in_roster = True - contact = gajim.contacts.get_contact_with_highest_priority(\ + contact = gajim.contacts.get_contact_with_highest_priority( self.account, jid) if not contact: is_in_roster = False @@ -2839,16 +2844,17 @@ if not is_in_roster: iter = model.append() model.set(iter, 0, True, 1, jid, 2, name, 3, groups) - + # Change label for accept_button to action name instead of 'OK'. - accept_button_label = self.accept_button.get_children()[0].get_children()[0].get_children()[1] + accept_button_label = self.accept_button.get_children()[0].\ + get_children()[0].get_children()[1] accept_button_label.set_label(_('Add')) elif action == 'modify': for jid in self.exchange_list: groups = '' is_in_roster = True is_right = True - contact = gajim.contacts.get_contact_with_highest_priority(\ + contact = gajim.contacts.get_contact_with_highest_priority( self.account, jid) name = self.exchange_list[jid][0] if not contact: @@ -2870,15 +2876,16 @@ if not is_right and is_in_roster: iter = model.append() model.set(iter, 0, True, 1, jid, 2, name, 3, groups) - + # Change label for accept_button to action name instead of 'OK'. - accept_button_label = self.accept_button.get_children()[0].get_children()[0].get_children()[1] + accept_button_label = self.accept_button.get_children()[0].\ + get_children()[0].get_children()[1] accept_button_label.set_label(_('Modify')) elif action == 'delete': for jid in self.exchange_list: groups = '' is_in_roster = True - contact = gajim.contacts.get_contact_with_highest_priority(\ + contact = gajim.contacts.get_contact_with_highest_priority( self.account, jid) name = self.exchange_list[jid][0] if not contact: @@ -2894,12 +2901,11 @@ if is_in_roster: iter = model.append() model.set(iter, 0, True, 1, jid, 2, name, 3, groups) - + # Change label for accept_button to action name instead of 'OK'. - accept_button_label = self.accept_button.get_children()[0].get_children()[0].get_children()[1] + accept_button_label = self.accept_button.get_children()[0].\ + get_children()[0].get_children()[1] accept_button_label.set_label(_('Delete')) - - self.window.show_all() @@ -2920,14 +2926,15 @@ a+=1 # it is selected #remote_jid = model[iter][1].decode('utf-8') - message = _('%s suggested me to add you in my roster.' % self.jid_from) + message = _('%s suggested me to add you in my roster.' + % self.jid_from) # keep same groups and same nickname groups = model[iter][3].split(', ') if groups == ['']: groups = [] gajim.interface.roster.req_sub(self, model[iter][1], message, - self.account, groups = groups, - nickname = model[iter][2], auto_auth = True) + self.account, groups=groups, nickname=model[iter][2], + auto_auth=True) iter = model.iter_next(iter) InformationDialog('Added %s contacts' % str(a)) elif self.action == 'modify': @@ -2937,20 +2944,21 @@ a+=1 # it is selected jid = model[iter][1].decode('utf-8') - # message = _('%s suggested me to add you in my roster.' % self.jid_from) # keep same groups and same nickname groups = model[iter][3].split(', ') if groups == ['']: groups = [] for u in gajim.contacts.get_contact(self.account, jid): u.name = model[iter][2] - gajim.connections[self.account].update_contact(jid, model[iter][2], groups) + gajim.connections[self.account].update_contact(jid, + model[iter][2], groups) self.draw_contact(jid, account) # Update opened chat ctrl = gajim.interface.msg_win_mgr.get_control(jid, self.account) if ctrl: ctrl.update_ui() - win = gajim.interface.msg_win_mgr.get_window(jid, self.account) + win = gajim.interface.msg_win_mgr.get_window(jid, + self.account) win.redraw_tab(ctrl) win.show_title() iter = model.iter_next(iter) @@ -2967,10 +2975,10 @@ iter = model.iter_next(iter) InformationDialog('Removed %s contacts' % str(a)) self.window.destroy() - - def on_cancel_button_clicked(self, widget): - self.window.destroy() - + + def on_cancel_button_clicked(self, widget): + self.window.destroy() + class PrivacyListWindow: '''Window that is used for creating NEW or EDITING already there privacy
1
0
0
0
gajim: fix roster item exchange remove suggestion
by Yann Leboulanger
22 Jul '09
22 Jul '09
changeset 7a3317130f53 in /home/hg/repos/gajim
details:http://hg.gajim.org/gajim?cmd=changeset;node=7a3317130f53
description: fix roster item exchange remove suggestion diffstat: src/dialogs.py | 7 +++---- 1 files changed, 3 insertions(+), 4 deletions(-) diffs (26 lines): diff -r 171fa64bf28e -r 7a3317130f53 src/dialogs.py --- a/src/dialogs.py Wed Jul 22 10:48:28 2009 +0200 +++ b/src/dialogs.py Wed Jul 22 10:48:41 2009 +0200 @@ -2891,7 +2891,7 @@ groups = groups + group else: groups = groups + group + ', ' - if not is_right and is_in_roster: + if is_in_roster: iter = model.append() model.set(iter, 0, True, 1, jid, 2, name, 3, groups) @@ -2962,11 +2962,10 @@ # it is selected jid = model[iter][1].decode('utf-8') gajim.connections[self.account].unsubscribe(jid) - for c in gajim.contacts.get_contact(self.account, jid): - self.remove_contact(c, self.account) + gajim.interface.roster.remove_contact(jid, self.account) gajim.contacts.remove_jid(self.account, jid) iter = model.iter_next(iter) - InformationDialog('Added %s contacts' % str(a)) + InformationDialog('Removed %s contacts' % str(a)) self.window.destroy() def on_cancel_button_clicked(self, widget):
1
0
0
0
gajim: prevent traceback when we get an empty roster item exchan...
by Yann Leboulanger
22 Jul '09
22 Jul '09
changeset 171fa64bf28e in /home/hg/repos/gajim
details:http://hg.gajim.org/gajim?cmd=changeset;node=171fa64bf28e
description: prevent traceback when we get an empty roster item exchange message diffstat: src/common/connection_handlers.py | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diffs (12 lines): diff -r b5316b6bf52b -r 171fa64bf28e src/common/connection_handlers.py --- a/src/common/connection_handlers.py Wed Jul 22 09:49:56 2009 +0200 +++ b/src/common/connection_handlers.py Wed Jul 22 10:48:28 2009 +0200 @@ -1820,6 +1820,8 @@ exchange_items_list = {} jid_from = helpers.get_full_jid_from_iq(msg) items_list = msg.getTag('x').getChildren() + if not items_list: + return action = items_list[0].getAttr('action') if action == None: action = 'add'
1
0
0
0
gajim: correct log for zeroconf_avahi.py
by Yann Leboulanger
22 Jul '09
22 Jul '09
changeset b5316b6bf52b in /home/hg/repos/gajim
details:http://hg.gajim.org/gajim?cmd=changeset;node=b5316b6bf52b
description: correct log for zeroconf_avahi.py diffstat: src/common/zeroconf/zeroconf_avahi.py | 49 ++++++++++++------------ 1 files changed, 25 insertions(+), 24 deletions(-) diffs (183 lines): diff -r 4a3f896130ad -r b5316b6bf52b src/common/zeroconf/zeroconf_avahi.py --- a/src/common/zeroconf/zeroconf_avahi.py Wed Jul 22 09:30:24 2009 +0200 +++ b/src/common/zeroconf/zeroconf_avahi.py Wed Jul 22 09:49:56 2009 +0200 @@ -17,7 +17,8 @@ ## along with Gajim. If not, see <
http://www.gnu.org/licenses/
>. ## -from common import gajim +import logging +log = logging.getLogger('gajim.c.z.zeroconf_avahi') try: import dbus.glib @@ -62,10 +63,10 @@ pass def error_callback1(self, err): - gajim.log.debug('Error while resolving: ' + str(err)) + log.debug('Error while resolving: ' + str(err)) def error_callback(self, err): - gajim.log.debug(str(err)) + log.debug(str(err)) # timeouts are non-critical if str(err) != 'Timeout reached': self.disconnect() @@ -73,7 +74,7 @@ def new_service_callback(self, interface, protocol, name, stype, domain, flags): - gajim.log.debug('Found service %s in domain %s on %i.%i.' % (name, domain, + log.debug('Found service %s in domain %s on %i.%i.' % (name, domain, interface, protocol)) if not self.connected: return @@ -86,7 +87,7 @@ def remove_service_callback(self, interface, protocol, name, stype, domain, flags): - gajim.log.debug('Service %s in domain %s on %i.%i disappeared.' % (name, + log.debug('Service %s in domain %s on %i.%i disappeared.' % (name, domain, interface, protocol)) if not self.connected: return @@ -142,9 +143,9 @@ def service_resolved_callback(self, interface, protocol, name, stype, domain, host, aprotocol, address, port, txt, flags): - gajim.log.debug('Service data for service %s in domain %s on %i.%i:' + log.debug('Service data for service %s in domain %s on %i.%i:' % (name, domain, interface, protocol)) - gajim.log.debug('Host %s (%s), port %i, TXT data: %s' % (host, address, + log.debug('Host %s (%s), port %i, TXT data: %s' % (host, address, port, self.txt_array_to_dict(txt))) if not self.connected: return @@ -178,16 +179,16 @@ port, bare_name, txt) def service_added_callback(self): - gajim.log.debug('Service successfully added') + log.debug('Service successfully added') def service_committed_callback(self): - gajim.log.debug('Service successfully committed') + log.debug('Service successfully committed') def service_updated_callback(self): - gajim.log.debug('Service successfully updated') + log.debug('Service successfully updated') def service_add_fail_callback(self, err): - gajim.log.debug('Error while adding service. %s' % str(err)) + log.debug('Error while adding service. %s' % str(err)) if 'Local name collision' in str(err): alternative_name = self.server.GetAlternativeServiceName(self.username) self.name_conflictCB(alternative_name) @@ -196,7 +197,7 @@ self.disconnect() def server_state_changed_callback(self, state, error): - gajim.log.debug('server state changed to %s' % state) + log.debug('server state changed to %s' % state) if state == self.avahi.SERVER_RUNNING: self.create_service() elif state in (self.avahi.SERVER_COLLISION, @@ -205,17 +206,17 @@ self.entrygroup.Reset() elif state == self.avahi.CLIENT_FAILURE: # does it ever go here? - gajim.log.debug('CLIENT FAILURE') + log.debug('CLIENT FAILURE') def entrygroup_state_changed_callback(self, state, error): # the name is already present, so recreate if state == self.avahi.ENTRY_GROUP_COLLISION: - gajim.log.debug('zeroconf.py: local name collision') + log.debug('zeroconf.py: local name collision') self.service_add_fail_callback('Local name collision') elif state == self.avahi.ENTRY_GROUP_FAILURE: self.disconnect() self.entrygroup.Reset() - gajim.log.debug('zeroconf.py: ENTRY_GROUP_FAILURE reached(that' + log.debug('zeroconf.py: ENTRY_GROUP_FAILURE reached(that' ' should not happen)') # make zeroconf-valid names @@ -264,7 +265,7 @@ txt['status'] = 'avail' self.txt = txt - gajim.log.debug('Publishing service %s of type %s' % (self.name, + log.debug('Publishing service %s of type %s' % (self.name, self.stype)) self.entrygroup.AddService(self.avahi.IF_UNSPEC, self.avahi.PROTO_UNSPEC, dbus.UInt32(0), self.name, self.stype, '', @@ -278,7 +279,7 @@ return True except dbus.DBusException, e: - gajim.log.debug(str(e)) + log.debug(str(e)) return False def announce(self): @@ -308,26 +309,26 @@ else: return False except dbus.DBusException: - gajim.log.debug("Can't remove service. That should not happen") + log.debug("Can't remove service. That should not happen") def browse_domain(self, interface, protocol, domain): self.new_service_type(interface, protocol, self.stype, domain, '') def avahi_dbus_connect_cb(self, a, connect, disconnect): if connect != "": - gajim.log.debug('Lost connection to avahi-daemon') + log.debug('Lost connection to avahi-daemon') self.disconnect() if self.disconnected_CB: self.disconnected_CB() else: - gajim.log.debug('We are connected to avahi-daemon') + log.debug('We are connected to avahi-daemon') # connect to dbus def connect_dbus(self): try: import dbus except ImportError: - gajim.log.debug('Error: python-dbus needs to be installed. No ' + log.debug('Error: python-dbus needs to be installed. No ' 'zeroconf support.') return False if self.bus: @@ -340,7 +341,7 @@ except Exception, e: # System bus is not present self.bus = None - gajim.log.debug(str(e)) + log.debug(str(e)) return False else: return True @@ -353,7 +354,7 @@ import avahi self.avahi = avahi except ImportError: - gajim.log.debug('Error: python-avahi needs to be installed. No ' + log.debug('Error: python-avahi needs to be installed. No ' 'zeroconf support.') return False @@ -367,7 +368,7 @@ except Exception, e: # Avahi service is not present self.server = None - gajim.log.debug(str(e)) + log.debug(str(e)) return False else: return True
1
0
0
0
gajim: coding standards
by Yann Leboulanger
22 Jul '09
22 Jul '09
changeset 4a3f896130ad in /home/hg/repos/gajim
details:http://hg.gajim.org/gajim?cmd=changeset;node=4a3f896130ad
description: coding standards diffstat: src/common/zeroconf/zeroconf_avahi.py | 102 +++++++++++++++++++++------------- 1 files changed, 63 insertions(+), 39 deletions(-) diffs (216 lines): diff -r 0c82fb7e2840 -r 4a3f896130ad src/common/zeroconf/zeroconf_avahi.py --- a/src/common/zeroconf/zeroconf_avahi.py Wed Jul 22 08:55:25 2009 +0200 +++ b/src/common/zeroconf/zeroconf_avahi.py Wed Jul 22 09:30:24 2009 +0200 @@ -71,18 +71,23 @@ self.disconnect() self.disconnected_CB() - def new_service_callback(self, interface, protocol, name, stype, domain, flags): - gajim.log.debug('Found service %s in domain %s on %i.%i.' % (name, domain, interface, protocol)) + def new_service_callback(self, interface, protocol, name, stype, domain, + flags): + gajim.log.debug('Found service %s in domain %s on %i.%i.' % (name, domain, + interface, protocol)) if not self.connected: return # synchronous resolving - self.server.ResolveService( int(interface), int(protocol), name, stype, \ - domain, self.avahi.PROTO_UNSPEC, dbus.UInt32(0), \ - reply_handler=self.service_resolved_callback, error_handler=self.error_callback1) + self.server.ResolveService( int(interface), int(protocol), name, stype, + domain, self.avahi.PROTO_UNSPEC, dbus.UInt32(0), + reply_handler=self.service_resolved_callback, + error_handler=self.error_callback1) - def remove_service_callback(self, interface, protocol, name, stype, domain, flags): - gajim.log.debug('Service %s in domain %s on %i.%i disappeared.' % (name, domain, interface, protocol)) + def remove_service_callback(self, interface, protocol, name, stype, domain, + flags): + gajim.log.debug('Service %s in domain %s on %i.%i disappeared.' % (name, + domain, interface, protocol)) if not self.connected: return if name != self.name: @@ -100,14 +105,17 @@ object_path = self.server.ServiceBrowserNew(interface, protocol, \ stype, domain, dbus.UInt32(0)) - self.service_browser = dbus.Interface(self.bus.get_object(self.avahi.DBUS_NAME, \ - object_path) , self.avahi.DBUS_INTERFACE_SERVICE_BROWSER) - self.service_browser.connect_to_signal('ItemNew', self.new_service_callback) - self.service_browser.connect_to_signal('ItemRemove', self.remove_service_callback) + self.service_browser = dbus.Interface(self.bus.get_object( + self.avahi.DBUS_NAME, object_path), + self.avahi.DBUS_INTERFACE_SERVICE_BROWSER) + self.service_browser.connect_to_signal('ItemNew', + self.new_service_callback) + self.service_browser.connect_to_signal('ItemRemove', + self.remove_service_callback) self.service_browser.connect_to_signal('Failure', self.error_callback) def new_domain_callback(self,interface, protocol, domain, flags): - if domain != "local": + if domain != 'local': self.browse_domain(interface, protocol, domain) def txt_array_to_dict(self, txt_array): @@ -132,11 +140,12 @@ txt_dict[key] = val.decode('utf-8') return txt_dict - def service_resolved_callback(self, interface, protocol, name, stype, domain, host, aprotocol, address, port, txt, flags): + def service_resolved_callback(self, interface, protocol, name, stype, domain, + host, aprotocol, address, port, txt, flags): gajim.log.debug('Service data for service %s in domain %s on %i.%i:' - % (name, domain, interface, protocol)) - gajim.log.debug('Host %s (%s), port %i, TXT data: %s' % (host, address, port, - self.txt_array_to_dict(txt))) + % (name, domain, interface, protocol)) + gajim.log.debug('Host %s (%s), port %i, TXT data: %s' % (host, address, + port, self.txt_array_to_dict(txt))) if not self.connected: return bare_name = name @@ -145,25 +154,28 @@ # we don't want to see ourselves in the list if name != self.name: - self.contacts[name] = (name, domain, interface, protocol, host, address, port, - bare_name, txt) + self.contacts[name] = (name, domain, interface, protocol, host, + address, port, bare_name, txt) self.new_serviceCB(name) else: # remember data # In case this is not our own record but of another # gajim instance on the same machine, # it will be used when we get a new name. - self.invalid_self_contact[name] = (name, domain, interface, protocol, host, address, port, bare_name, txt) + self.invalid_self_contact[name] = (name, domain, interface, protocol, + host, address, port, bare_name, txt) # different handler when resolving all contacts - def service_resolved_all_callback(self, interface, protocol, name, stype, domain, host, aprotocol, address, port, txt, flags): + def service_resolved_all_callback(self, interface, protocol, name, stype, + domain, host, aprotocol, address, port, txt, flags): if not self.connected: return bare_name = name if name.find('@') == -1: name = name + '@' + name - self.contacts[name] = (name, domain, interface, protocol, host, address, port, bare_name, txt) + self.contacts[name] = (name, domain, interface, protocol, host, address, + port, bare_name, txt) def service_added_callback(self): gajim.log.debug('Service successfully added') @@ -188,7 +200,7 @@ if state == self.avahi.SERVER_RUNNING: self.create_service() elif state in (self.avahi.SERVER_COLLISION, - self.avahi.SERVER_REGISTERING): + self.avahi.SERVER_REGISTERING): self.disconnect() self.entrygroup.Reset() elif state == self.avahi.CLIENT_FAILURE: @@ -228,12 +240,15 @@ try: if not self.entrygroup: # create an EntryGroup for publishing - self.entrygroup = dbus.Interface(self.bus.get_object(self.avahi.DBUS_NAME, self.server.EntryGroupNew()), self.avahi.DBUS_INTERFACE_ENTRY_GROUP) - self.entrygroup.connect_to_signal('StateChanged', self.entrygroup_state_changed_callback) + self.entrygroup = dbus.Interface(self.bus.get_object( + self.avahi.DBUS_NAME, self.server.EntryGroupNew()), + self.avahi.DBUS_INTERFACE_ENTRY_GROUP) + self.entrygroup.connect_to_signal('StateChanged', + self.entrygroup_state_changed_callback) txt = {} - #remove empty keys + # remove empty keys for key,val in self.txt.iteritems(): if val: txt[key] = val @@ -312,15 +327,16 @@ try: import dbus except ImportError: - gajim.log.debug('Error: python-dbus needs to be installed. No zeroconf support.') + gajim.log.debug('Error: python-dbus needs to be installed. No ' + 'zeroconf support.') return False if self.bus: return True try: self.bus = dbus.SystemBus() self.bus.add_signal_receiver(self.avahi_dbus_connect_cb, - "NameOwnerChanged", "org.freedesktop.DBus", - arg0="org.freedesktop.Avahi") + 'NameOwnerChanged', 'org.freedesktop.DBus', + arg0='org.freedesktop.Avahi') except Exception, e: # System bus is not present self.bus = None @@ -337,14 +353,15 @@ import avahi self.avahi = avahi except ImportError: - gajim.log.debug('Error: python-avahi needs to be installed. No zeroconf support.') + gajim.log.debug('Error: python-avahi needs to be installed. No ' + 'zeroconf support.') return False if self.server: return True try: - self.server = dbus.Interface(self.bus.get_object(self.avahi.DBUS_NAME, \ - self.avahi.DBUS_PATH_SERVER), self.avahi.DBUS_INTERFACE_SERVER) + self.server = dbus.Interface(self.bus.get_object(self.avahi.DBUS_NAME, + self.avahi.DBUS_PATH_SERVER), self.avahi.DBUS_INTERFACE_SERVER) self.server.connect_to_signal('StateChanged', self.server_state_changed_callback) except Exception, e: @@ -364,17 +381,21 @@ # start browsing if self.domain is None: # Explicitly browse .local - self.browse_domain(self.avahi.IF_UNSPEC, self.avahi.PROTO_UNSPEC, "local") + self.browse_domain(self.avahi.IF_UNSPEC, self.avahi.PROTO_UNSPEC, + 'local') # Browse for other browsable domains - self.domain_browser = dbus.Interface(self.bus.get_object(self.avahi.DBUS_NAME, \ - self.server.DomainBrowserNew(self.avahi.IF_UNSPEC, \ - self.avahi.PROTO_UNSPEC, '', self.avahi.DOMAIN_BROWSER_BROWSE,\ - dbus.UInt32(0))), self.avahi.DBUS_INTERFACE_DOMAIN_BROWSER) - self.domain_browser.connect_to_signal('ItemNew', self.new_domain_callback) + self.domain_browser = dbus.Interface(self.bus.get_object( + self.avahi.DBUS_NAME, self.server.DomainBrowserNew( + self.avahi.IF_UNSPEC, self.avahi.PROTO_UNSPEC, '', + self.avahi.DOMAIN_BROWSER_BROWSE, dbus.UInt32(0))), + self.avahi.DBUS_INTERFACE_DOMAIN_BROWSER) + self.domain_browser.connect_to_signal('ItemNew', + self.new_domain_callback) self.domain_browser.connect_to_signal('Failure', self.error_callback) else: - self.browse_domain(self.avahi.IF_UNSPEC, self.avahi.PROTO_UNSPEC, self.domain) + self.browse_domain(self.avahi.IF_UNSPEC, self.avahi.PROTO_UNSPEC, + self.domain) return True @@ -421,7 +442,10 @@ txt = self.avahi_txt() if self.connected and self.entrygroup: - self.entrygroup.UpdateServiceTxt(self.avahi.IF_UNSPEC, self.avahi.PROTO_UNSPEC, dbus.UInt32(0), self.name, self.stype,'', txt, reply_handler=self.service_updated_callback, error_handler=self.error_callback) + self.entrygroup.UpdateServiceTxt(self.avahi.IF_UNSPEC, + self.avahi.PROTO_UNSPEC, dbus.UInt32(0), self.name, self.stype, '', + txt, reply_handler=self.service_updated_callback, + error_handler=self.error_callback) return True else: return False
1
0
0
0
gajim: fix saving _last_SHOW activity / mood when we unset them.
by Yann Leboulanger
22 Jul '09
22 Jul '09
changeset 0c82fb7e2840 in /home/hg/repos/gajim
details:http://hg.gajim.org/gajim?cmd=changeset;node=0c82fb7e2840
description: fix saving _last_SHOW activity / mood when we unset them. diffstat: src/dialogs.py | 18 +++++++++--------- 1 files changed, 9 insertions(+), 9 deletions(-) diffs (48 lines): diff -r 19808e1ac164 -r 0c82fb7e2840 src/dialogs.py --- a/src/dialogs.py Wed Jul 22 00:13:28 2009 +0200 +++ b/src/dialogs.py Wed Jul 22 08:55:25 2009 +0200 @@ -670,18 +670,18 @@ msg = helpers.to_one_line(message) if self.show: gajim.config.set_per('statusmsg', '_last_' + self.show, 'message', - msg) + msg) if self.show_pep: gajim.config.set_per('statusmsg', '_last_' + self.show, - 'activity', self.pep_dict['activity']) + 'activity', self.pep_dict['activity']) gajim.config.set_per('statusmsg', '_last_' + self.show, - 'subactivity', self.pep_dict['subactivity']) + 'subactivity', self.pep_dict['subactivity']) gajim.config.set_per('statusmsg', '_last_' + self.show, - 'activity_text', self.pep_dict['activity_text']) + 'activity_text', self.pep_dict['activity_text']) gajim.config.set_per('statusmsg', '_last_' + self.show, 'mood', - self.pep_dict['mood']) + self.pep_dict['mood']) gajim.config.set_per('statusmsg', '_last_' + self.show, - 'mood_text', self.pep_dict['mood_text']) + 'mood_text', self.pep_dict['mood_text']) else: message = None # user pressed Cancel button or X wm button self.window.destroy() @@ -763,8 +763,8 @@ def on_activity_button_clicked(self, widget): self.countdown_enabled = False def on_response(activity, subactivity, text): - self.pep_dict['activity'] = activity - self.pep_dict['subactivity'] = subactivity + self.pep_dict['activity'] = activity or '' + self.pep_dict['subactivity'] = subactivity or '' self.pep_dict['activity_text'] = text self.draw_activity() ChangeActivityDialog(on_response, self.pep_dict['activity'], @@ -773,7 +773,7 @@ def on_mood_button_clicked(self, widget): self.countdown_enabled = False def on_response(mood, text): - self.pep_dict['mood'] = mood + self.pep_dict['mood'] = mood or '' self.pep_dict['mood_text'] = text self.draw_mood() ChangeMoodDialog(on_response, self.pep_dict['mood'],
1
0
0
0
gajim: Merge changes from default branch to osx_newbuildsys branch.
by Jonathan Schleifer
21 Jul '09
21 Jul '09
changeset cb42499016b1 in /home/hg/repos/gajim
details:http://hg.gajim.org/gajim?cmd=changeset;node=cb42499016b1
description: Merge changes from default branch to osx_newbuildsys branch. diffstat: TODO.pep | 8 -------- src/common/connection_handlers.py | 4 ++-- src/common/contacts.py | 4 ++-- src/dialogs.py | 32 ++++++++++++++++---------------- src/gajim.py | 10 ++++++++-- src/groupchat_control.py | 11 ++++++++--- src/music_track_listener.py | 14 ++++++++++---- 7 files changed, 46 insertions(+), 37 deletions(-) diffs (183 lines): diff -r b765732974a5 -r cb42499016b1 TODO.pep --- a/TODO.pep Sun Jul 19 21:56:34 2009 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,8 +0,0 @@ -• configure access model when changing it in the combobox -• PEP in status change - -Tune use cases: -• on disconnection of an account set Tune to None - -Tooltips use cases: -• Show PEP in GC tooltips diff -r b765732974a5 -r cb42499016b1 src/common/connection_handlers.py --- a/src/common/connection_handlers.py Sun Jul 19 21:56:34 2009 +0200 +++ b/src/common/connection_handlers.py Wed Jul 22 00:15:39 2009 +0200 @@ -2577,8 +2577,8 @@ if received_from_server: for contact in gajim.contacts.iter_contacts(self.name): if not contact.is_groupchat() and contact.jid not in roster: - self.dispatch('ROSTER_INFO', (self.name, - (contact.jid, None, None, None, ()))) + self.dispatch('ROSTER_INFO', (contact.jid, None, None, None, + ())) for jid in roster: self.dispatch('ROSTER_INFO', (jid, roster[jid]['name'], roster[jid]['subscription'], roster[jid]['ask'], diff -r b765732974a5 -r cb42499016b1 src/common/contacts.py --- a/src/common/contacts.py Sun Jul 19 21:56:34 2009 +0200 +++ b/src/common/contacts.py Wed Jul 22 00:15:39 2009 +0200 @@ -291,8 +291,8 @@ def iter_contacts(self, account): if account in self._contacts: - for jid in self._contacts[account]: - for contact in self._contacts[account][jid]: + for jid in self._contacts[account].keys(): + for contact in self._contacts[account][jid][:]: yield contact def get_contact_from_full_jid(self, account, fjid): diff -r b765732974a5 -r cb42499016b1 src/dialogs.py --- a/src/dialogs.py Sun Jul 19 21:56:34 2009 +0200 +++ b/src/dialogs.py Wed Jul 22 00:15:39 2009 +0200 @@ -1639,9 +1639,10 @@ self.input_entry.set_text(input_str) self.input_entry.select_region(0, -1) # select all - self.checkbutton = gtk.CheckButton(checktext) - self.vbox.pack_start(self.checkbutton, expand=False, fill=True) - self.checkbutton.show() + if checktext: + self.checkbutton = gtk.CheckButton(checktext) + self.vbox.pack_start(self.checkbutton, expand=False, fill=True) + self.checkbutton.show() def on_okbutton_clicked(self, widget): user_input = self.get_text() @@ -1659,16 +1660,18 @@ def is_checked(self): ''' Get active state of the checkbutton ''' - return self.checkbutton.get_active() + try: + return self.checkbutton.get_active() + except Exception: + # There is no checkbutton + return False class ChangeNickDialog(InputDialogCheck): '''Class for changing room nickname in case of conflict''' - def __init__(self, account, room_jid): - title = _('Unable to join group chat') - check_text = _('Always use this nickname when there is a conflict') + def __init__(self, account, room_jid, title, prompt, check_text=None): InputDialogCheck.__init__(self, title, '', checktext=check_text, input_str='', is_modal=True, ok_handler=None, cancel_handler=None) - self.room_queue = [(account, room_jid)] + self.room_queue = [(account, room_jid, prompt)] self.check_next() def on_input_dialog_delete_event(self, widget, event): @@ -1686,10 +1689,7 @@ self.check_next() return label = self.xml.get_widget('label') - prompt = _('Your desired nickname in group chat %s is in use or ' - 'registered by another occupant.\nPlease specify another nickname ' - 'below:') % self.room_jid - label.set_markup(prompt) + label.set_markup(self.prompt) self.set_entry(self.gc_control.nick + \ gajim.config.get('gc_proposed_nick_char')) @@ -1699,7 +1699,7 @@ self.dialog.destroy() del gajim.interface.instances['change_nick_dialog'] return - self.account, self.room_jid = self.room_queue.pop(0) + self.account, self.room_jid, self.prompt = self.room_queue.pop(0) self.setup_dialog() if gajim.new_room_nick is not None and not gajim.gc_connected[ @@ -1743,9 +1743,9 @@ self.gc_control.new_nick = '' self.check_next() - def add_room(self, account, room_jid): - if (account, room_jid) not in self.room_queue: - self.room_queue.append((account, room_jid)) + def add_room(self, account, room_jid, pompt): + if (account, room_jid, prompt) not in self.room_queue: + self.room_queue.append((account, room_jid, prompt)) class InputTextDialog(CommonInputDialog): '''Class for multilines Input dialog (more place than InputDialog)''' diff -r b765732974a5 -r cb42499016b1 src/gajim.py --- a/src/gajim.py Sun Jul 19 21:56:34 2009 +0200 +++ b/src/gajim.py Wed Jul 22 00:15:39 2009 +0200 @@ -531,11 +531,17 @@ def handle_event_ask_new_nick(self, account, data): #('ASK_NEW_NICK', account, (room_jid,)) room_jid = data[0] + title = _('Unable to join group chat') + prompt = _('Your desired nickname in group chat %s is in use or ' + 'registered by another occupant.\nPlease specify another nickname ' + 'below:') % room_jid + check_text = _('Always use this nickname when there is a conflict') if 'change_nick_dialog' in self.instances: - self.instances['change_nick_dialog'].add_room(account, room_jid) + self.instances['change_nick_dialog'].add_room(account, room_jid, + prompt) else: self.instances['change_nick_dialog'] = dialogs.ChangeNickDialog( - account, room_jid) + account, room_jid, title, prompt) def handle_event_http_auth(self, account, data): #('HTTP_AUTH', account, (method, url, transaction_id, iq_obj, msg)) diff -r b765732974a5 -r cb42499016b1 src/groupchat_control.py --- a/src/groupchat_control.py Sun Jul 19 21:56:34 2009 +0200 +++ b/src/groupchat_control.py Wed Jul 22 00:15:39 2009 +0200 @@ -1939,9 +1939,14 @@ ok_handler=on_ok) def _on_change_nick_menuitem_activate(self, widget): - title = _('Changing Nickname') - prompt = _('Please specify the new nickname you want to use:') - self.show_change_nick_input_dialog(title, prompt) + if 'change_nick_dialog' in gajim.interface.instances: + gajim.interface.instances['change_nick_dialog'].present() + else: + title = _('Changing Nickname') + prompt = _('Please specify the new nickname you want to use:') + gajim.interface.instances['change_nick_dialog'] = \ + dialogs.ChangeNickDialog(self.account, self.room_jid, title, + prompt) def _on_configure_room_menuitem_activate(self, widget): c = gajim.contacts.get_gc_contact(self.account, self.room_jid, self.nick) diff -r b765732974a5 -r cb42499016b1 src/music_track_listener.py --- a/src/music_track_listener.py Sun Jul 19 21:56:34 2009 +0200 +++ b/src/music_track_listener.py Wed Jul 22 00:15:39 2009 +0200 @@ -130,10 +130,16 @@ return info def _mpris_playing_changed_cb(self, playing): - if playing[0] == 0: - self.emit('music-track-changed', self._last_playing_music) - else: - self.emit('music-track-changed', None) + if type(playing) is dbus.Struct: + if playing[0]: + self.emit('music-track-changed', None) + else: + self.emit('music-track-changed', self._last_playing_music) + else: # Workaround for e.g. Audacious + if playing: + self.emit('music-track-changed', None) + else: + self.emit('music-track-changed', self._last_playing_music) def _mpris_music_track_change_cb(self, arg): self._last_playing_music = self._mpris_properties_extract(arg)
1
0
0
0
← Newer
1
2
3
4
5
6
7
8
9
...
17
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Results per page:
10
25
50
100
200