gajim: merge
changeset 24193ae70518 in /home/hg/repos/gajim details:http://hg.gajim.org/gajim?cmd=changeset;node=24193ae70518 description: merge ___ Commits mailing list Commits@gajim.org http://lists.gajim.org/cgi-bin/listinfo/commits
gajim: fix var name
changeset a80a9012088f in /home/hg/repos/gajim details:http://hg.gajim.org/gajim?cmd=changeset;node=a80a9012088f description: fix var name diffstat: src/dialogs.py | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diffs (12 lines): diff -r 59e1207ca9eb -r a80a9012088f src/dialogs.py --- a/src/dialogs.pyFri Aug 24 09:37:40 2012 +0200 +++ b/src/dialogs.pyFri Aug 24 09:50:50 2012 +0200 @@ -4482,7 +4482,7 @@ sectext = _('$Contact has invited you to group chat %(room_jid)s')\ % {'room_jid': room_jid} contact = gajim.contacts.get_first_contact_from_jid(account, jid) -contact_text = contact and contact.name or contact_jid +contact_text = contact and contact.name or jid sectext = sectext.replace('$Contact', contact_text) if comment: # only if not None and not '' ___ Commits mailing list Commits@gajim.org http://lists.gajim.org/cgi-bin/listinfo/commits
gajim: missing commit
changeset 59be13833475 in /home/hg/repos/gajim details:http://hg.gajim.org/gajim?cmd=changeset;node=59be13833475 description: missing commit diffstat: src/common/connection_handlers.py | 4 src/gui_interface.py | 1 - 2 files changed, 4 insertions(+), 1 deletions(-) diffs (25 lines): diff -r a80a9012088f -r 59be13833475 src/common/connection_handlers.py --- a/src/common/connection_handlers.py Fri Aug 24 09:50:50 2012 +0200 +++ b/src/common/connection_handlers.py Fri Aug 24 10:13:55 2012 +0200 @@ -1043,6 +1043,10 @@ gajim.nec.push_incoming_event(GcInvitationReceivedEvent(None, conn=self, msg_obj=obj)) return True +elif obj.decline_tag is not None: +gajim.nec.push_incoming_event(GcDeclineReceivedEvent(None, +conn=self, msg_obj=obj)) +return True # process and dispatch an error message def dispatch_error_message(self, msg, msgtxt, session, frm, tim): diff -r a80a9012088f -r 59be13833475 src/gui_interface.py --- a/src/gui_interface.py Fri Aug 24 09:50:50 2012 +0200 +++ b/src/gui_interface.py Fri Aug 24 10:13:55 2012 +0200 @@ -625,7 +625,6 @@ def handle_event_gc_invitation(self, obj): #('GC_INVITATION', (room_jid, jid_from, reason, password, is_continued)) -jid = gajim.get_jid_without_resource(obj.jid_from) account = obj.conn.name if helpers.allow_popup_window(account) or not self.systray_enabled: dialogs.InvitationReceivedDialog(account, obj.room_jid, ___ Commits mailing list Commits@gajim.org http://lists.gajim.org/cgi-bin/listinfo/commits
gajim: store full from jid in gc-invite event.
changeset 797ac319baa9 in /home/hg/repos/gajim details:http://hg.gajim.org/gajim?cmd=changeset;node=797ac319baa9 description: store full from jid in gc-invite event. fix receiving decline tag diffstat: src/common/connection_handlers_events.py | 3 ++- src/gui_interface.py | 2 +- src/roster_window.py | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diffs (46 lines): diff -r 59be13833475 -r 797ac319baa9 src/common/connection_handlers_events.py --- a/src/common/connection_handlers_events.py Fri Aug 24 10:13:55 2012 +0200 +++ b/src/common/connection_handlers_events.py Fri Aug 24 10:27:51 2012 +0200 @@ -1207,7 +1207,7 @@ def generate(self): self.room_jid = self.msg_obj.fjid -item = self.msg_obj.invite_tag.getTag('decline') +item = self.msg_obj.decline_tag.getTag('decline') try: self.jid_from = helpers.parse_jid(item.getAttr('from')) except helpers.InvalidFormat: @@ -1234,6 +1234,7 @@ self.resource = self.msg_obj.resource self.mtype = self.msg_obj.mtype self.invite_tag = self.msg_obj.invite_tag +self.decline_tag = self.msg_obj.decline_tag self.thread_id = self.msg_obj.thread_id self.msgtxt = self.msg_obj.msgtxt self.gc_control = self.msg_obj.gc_control diff -r 59be13833475 -r 797ac319baa9 src/gui_interface.py --- a/src/gui_interface.py Fri Aug 24 10:13:55 2012 +0200 +++ b/src/gui_interface.py Fri Aug 24 10:27:51 2012 +0200 @@ -633,7 +633,7 @@ return self.add_event(account, obj.jid_from, 'gc-invitation', (obj.room_jid, -obj.reason, obj.password, obj.is_continued)) +obj.reason, obj.password, obj.is_continued, obj.jid_from)) if helpers.allow_showing_notification(account): path = gtkgui_helpers.get_icon_path('gajim-gc_invitation', 48) diff -r 59be13833475 -r 797ac319baa9 src/roster_window.py --- a/src/roster_window.py Fri Aug 24 10:13:55 2012 +0200 +++ b/src/roster_window.py Fri Aug 24 10:27:51 2012 +0200 @@ -1985,8 +1985,8 @@ gajim.events.remove_events(account, jid, event) return True elif event.type_ == 'gc-invitation': -dialogs.InvitationReceivedDialog(account, data[0], jid, data[2], -data[1]) +dialogs.InvitationReceivedDialog(account, data[0], data[4], data[2], +data[1], is_continued=data[3]) gajim.events.remove_events(account, jid, event) return True elif event.type_ == 'subscription_request': ___ Commits mailing list Commits@gajim.org http://lists.gajim.org/cgi-bin/listinfo/commits
gajim: improve decline implementation
changeset e9d7e4a394ea in /home/hg/repos/gajim details:http://hg.gajim.org/gajim?cmd=changeset;node=e9d7e4a394ea description: improve decline implementation diffstat: src/common/connection_handlers.py | 8 src/gui_interface.py | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diffs (37 lines): diff -r cb290fb85f36 -r e9d7e4a394ea src/common/connection_handlers.py --- a/src/common/connection_handlers.py Fri Aug 24 10:37:24 2012 +0200 +++ b/src/common/connection_handlers.py Fri Aug 24 12:54:27 2012 +0200 @@ -1035,10 +1035,6 @@ self.dispatch_error_message(obj.stanza, obj.msgtxt, obj.session, obj.fjid, obj.timestamp) return True -elif obj.mtype == 'groupchat': -gajim.nec.push_incoming_event(GcMessageReceivedEvent(None, -conn=self, msg_obj=obj)) -return True elif obj.invite_tag is not None: gajim.nec.push_incoming_event(GcInvitationReceivedEvent(None, conn=self, msg_obj=obj)) @@ -1047,6 +1043,10 @@ gajim.nec.push_incoming_event(GcDeclineReceivedEvent(None, conn=self, msg_obj=obj)) return True +elif obj.mtype == 'groupchat': +gajim.nec.push_incoming_event(GcMessageReceivedEvent(None, +conn=self, msg_obj=obj)) +return True # process and dispatch an error message def dispatch_error_message(self, msg, msgtxt, session, frm, tim): diff -r cb290fb85f36 -r e9d7e4a394ea src/gui_interface.py --- a/src/gui_interface.py Fri Aug 24 10:37:24 2012 +0200 +++ b/src/gui_interface.py Fri Aug 24 12:54:27 2012 +0200 @@ -621,7 +621,7 @@ if gc_control: gc_control.print_conversation( _('%(jid)s declined the invitation: %(reason)s') % { -'jid': obj.room_jid, 'reason': obj.reason}, graphics=False) +'jid': obj.jid_from, 'reason': obj.reason}, graphics=False) def handle_event_gc_invitation(self, obj): #('GC_INVITATION', (room_jid, jid_from, reason, password, is_continued)) ___ Commits mailing list Commits@gajim.org http://lists.gajim.org/cgi-bin/listinfo/commits
gajim: add ctrl+s shortcut to change status message.
changeset 7719b4c17326 in /home/hg/repos/gajim details:http://hg.gajim.org/gajim?cmd=changeset;node=7719b4c17326 description: add ctrl+s shortcut to change status message. diffstat: src/roster_window.py | 32 ++-- 1 files changed, 30 insertions(+), 2 deletions(-) diffs (56 lines): diff -r e9d7e4a394ea -r 7719b4c17326 src/roster_window.py --- a/src/roster_window.py Fri Aug 24 12:54:27 2012 +0200 +++ b/src/roster_window.py Fri Aug 24 13:33:27 2012 +0200 @@ -3540,6 +3540,27 @@ self.on_row_activated(widget, path) self.clicked_path = None +def accel_group_func(self, accel_group, acceleratable, keyval, modifier): +# CTRL mask +if modifier gtk.gdk.CONTROL_MASK: +if keyval == gtk.keysyms.s: # CTRL + s +model = self.status_combobox.get_model() +accounts = gajim.connections.keys() +status = model[self.previous_status_combobox_active][2].decode( +'utf-8') +def on_response(message, pep_dict): +if message is not None: # None if user pressed Cancel +for account in accounts: +if not gajim.config.get_per('accounts', account, +'sync_with_global_status'): +continue +current_show = gajim.SHOW_LIST[ +gajim.connections[account].connected] +self.send_status(account, current_show, message) +self.send_pep(account, pep_dict) +dialogs.ChangeStatusMessageDialog(on_response, status) +return + def on_roster_treeview_button_press_event(self, widget, event): # hide tooltip, no matter the button is pressed self.tooltip.hide_tooltip() @@ -6359,8 +6380,8 @@ # activity_pixbuf, tune_pixbuf, location_pixbuf, avatar_pixbuf, # padlock_pixbuf] self.columns = [gtk.Image, str, str, str, str, -gtk.gdk.Pixbuf, gtk.gdk.Pixbuf, gtk.gdk.Pixbuf, -gtk.gdk.Pixbuf, gtk.gdk.Pixbuf, gtk.gdk.Pixbuf] +gtk.gdk.Pixbuf, gtk.gdk.Pixbuf, gtk.gdk.Pixbuf, gtk.gdk.Pixbuf, +gtk.gdk.Pixbuf, gtk.gdk.Pixbuf] self.xml = gtkgui_helpers.get_gtk_builder('roster_window.ui') self.window = self.xml.get_object('roster_window') self.hpaned = self.xml.get_object('roster_hpaned') @@ -6630,6 +6651,13 @@ new_chat_menuitem.add_accelerator('activate', accel_group, gtk.keysyms.n, gtk.gdk.CONTROL_MASK, gtk.ACCEL_VISIBLE) +# Setting CTRL+S to be the shortcut to change status message +accel_group = gtk.AccelGroup() +keyval, mod = gtk.accelerator_parse('Controls') +accel_group.connect_group(keyval, mod, gtk.ACCEL_VISIBLE, +self.accel_group_func) +self.window.add_accel_group(accel_group) + # Setting the search stuff self.rfilter_entry = self.xml.get_object('rfilter_entry') self.rfilter_string = '' ___ Commits mailing list Commits@gajim.org http://lists.gajim.org/cgi-bin/listinfo/commits
gajim: Add Keyboard Shortcuts menuitem to Help menu
changeset 0e4f8195b061 in /home/hg/repos/gajim details:http://hg.gajim.org/gajim?cmd=changeset;node=0e4f8195b061 description: Add Keyboard Shortcuts menuitem to Help menu diffstat: data/gui/roster_window.ui | 17 - src/roster_window.py | 4 2 files changed, 20 insertions(+), 1 deletions(-) diffs (55 lines): diff -r 7719b4c17326 -r 0e4f8195b061 data/gui/roster_window.ui --- a/data/gui/roster_window.ui Fri Aug 24 13:33:27 2012 +0200 +++ b/data/gui/roster_window.ui Fri Aug 24 17:26:00 2012 +0400 @@ -12,9 +12,9 @@ accel-groups group name=accelgroup1/ /accel-groups -signal name=focus_in_event handler=on_roster_window_focus_in_event/ signal name=key_press_event handler=on_roster_window_key_press_event/ signal name=delete_event handler=on_roster_window_delete_event/ +signal name=focus_in_event handler=on_roster_window_focus_in_event/ signal name=focus_out_event handler=on_roster_window_focus_out_event/ signal name=popup_menu handler=on_roster_window_popup_menu/ child @@ -283,6 +283,16 @@ /object /child child + object class=GtkImageMenuItem id=keyboard_shortcuts_menuitem +property name=label translatable=yesKeyboard Shortcuts/property +property name=visibleTrue/property +property name=use_underlineTrue/property +property name=imageimage14/property +property name=use_stockFalse/property +signal name=activate handler=on_keyboard_shortcuts_menuitem_activate/ + /object +/child +child object class=GtkSeparatorMenuItem id=menuitem1 property name=visibleTrue/property /object @@ -467,4 +477,9 @@ property name=stockgtk-disconnect/property property name=icon-size1/property /object + object class=GtkImage id=image14 +property name=visibleTrue/property +property name=stockgtk-info/property +property name=icon-size1/property + /object /interface diff -r 7719b4c17326 -r 0e4f8195b061 src/roster_window.py --- a/src/roster_window.py Fri Aug 24 13:33:27 2012 +0200 +++ b/src/roster_window.py Fri Aug 24 17:26:00 2012 +0400 @@ -3978,6 +3978,10 @@ helpers.launch_browser_mailer('url', 'http://trac.gajim.org/wiki/GajimFaq') +def on_keyboard_shortcuts_menuitem_activate(self, widget): +helpers.launch_browser_mailer('url', +'http://trac.gajim.org/wiki/KeyboardShortcuts') + def on_features_menuitem_activate(self, widget): features_window.FeaturesWindow() ___ Commits mailing list Commits@gajim.org http://lists.gajim.org/cgi-bin/listinfo/commits
gajim: set the focus when the first tab is opened
changeset df0845a7b449 in /home/hg/repos/gajim details:http://hg.gajim.org/gajim?cmd=changeset;node=df0845a7b449 description: set the focus when the first tab is opened diffstat: data/gui/message_window.ui | 1 - src/message_window.py | 3 +-- 2 files changed, 1 insertions(+), 3 deletions(-) diffs (31 lines): diff -r 0e4f8195b061 -r df0845a7b449 data/gui/message_window.ui --- a/data/gui/message_window.uiFri Aug 24 17:26:00 2012 +0400 +++ b/data/gui/message_window.uiFri Aug 24 18:21:38 2012 +0400 @@ -12,7 +12,6 @@ child object class=GtkNotebook id=notebook property name=visibleTrue/property -property name=can_focusTrue/property property name=scrollableTrue/property property name=tab_border0/property /object diff -r 0e4f8195b061 -r df0845a7b449 src/message_window.py --- a/src/message_window.py Fri Aug 24 17:26:00 2012 +0400 +++ b/src/message_window.py Fri Aug 24 18:21:38 2012 +0400 @@ -144,8 +144,6 @@ self.notebook.set_show_border(gajim.config.get('tabs_border')) self.show_icon() -gobject.idle_add(self.notebook.grab_focus) - def change_account_name(self, old_name, new_name): if old_name in self._controls: self._controls[new_name] = self._controls[old_name] @@ -307,6 +305,7 @@ # NOTE: we do not call set_control_active(True) since we don't know # whether the tab is the active one. self.show_title() +gobject.timeout_add(500, control.msg_textview.grab_focus) def on_tab_eventbox_button_press_event(self, widget, event, child): if event.button == 3: # right click ___ Commits mailing list Commits@gajim.org http://lists.gajim.org/cgi-bin/listinfo/commits
gajim: refactoring
changeset ea8a9217a662 in /home/hg/repos/gajim details:http://hg.gajim.org/gajim?cmd=changeset;node=ea8a9217a662 description: refactoring diffstat: src/common/jingle.py | 2 +- src/common/jingle_ft.py | 11 +++-- src/common/jingle_session.py | 49 +++ src/gui_interface.py | 6 ++-- 4 files changed, 34 insertions(+), 34 deletions(-) diffs (182 lines): diff -r df0845a7b449 -r ea8a9217a662 src/common/jingle.py --- a/src/common/jingle.py Fri Aug 24 18:21:38 2012 +0400 +++ b/src/common/jingle.py Fri Aug 24 20:13:25 2012 -0400 @@ -163,7 +163,7 @@ transport = JingleTransportIBB() c = JingleFileTransfer(jingle, transport=transport, file_props=file_props, use_security=use_security) -jingle.hash_algo = self.__hash_support(contact) +file_props.algo = self.__hash_support(contact) jingle.add_content('file' + helpers.get_random_string_16(), c) jingle.start_session() return c.transport.sid diff -r df0845a7b449 -r ea8a9217a662 src/common/jingle_ft.py --- a/src/common/jingle_ft.py Fri Aug 24 18:21:38 2012 +0400 +++ b/src/common/jingle_ft.py Fri Aug 24 20:13:25 2012 -0400 @@ -117,12 +117,9 @@ conn=self.session.connection, stanza=stanza, jingle_content=content, FT_content=self)) self._listen_host() -# Delete this after file_props refactoring this shouldn't be necesary -self.session.file_hash = self.file_props.hash_ -self.session.hash_algo = self.file_props.algo def __on_session_initiate_sent(self, stanza, content, error, action): -# Calculate file_hash in a new thread +# Calculate file hash in a new thread # if we haven't sent the hash already. if self.file_props.hash_ is None: self.hashThread = threading.Thread(target=self.__send_hash) @@ -137,7 +134,7 @@ def _calcHash(self): # Caculates the hash and returns a xep-300 hash stanza -if self.session.hash_algo == None: +if self.file_props.algo == None: return try: file_ = open(self.file_props.file_name, 'r') @@ -145,14 +142,14 @@ # can't open file return h = xmpp.Hashes() -hash_ = h.calculateHash(self.session.hash_algo, file_) +hash_ = h.calculateHash(self.file_props.algo, file_) # DEBUG #hash_ = '1294809248109223' if not hash_: # Hash alogrithm not supported return self.file_props.hash_ = hash_ -h.addHash(hash_, self.session.hash_algo) +h.addHash(hash_, self.file_props.algo) return h def __on_session_accept(self, stanza, content, error, action): diff -r df0845a7b449 -r ea8a9217a662 src/common/jingle_session.py --- a/src/common/jingle_session.py Fri Aug 24 18:21:38 2012 +0400 +++ b/src/common/jingle_session.py Fri Aug 24 20:13:25 2012 -0400 @@ -98,34 +98,33 @@ else: self.iq_ids = [] self.accepted = True # is this session accepted by user -# Hash algorithm that we are using to calculate the integrity of the -# file. Could be 'md5', 'sha-1', etc... -self.hash_algo = None -self.file_hash = None # Tells whether this session is a file transfer or not self.session_type_FT = False # callbacks to call on proper contents # use .prepend() to add new callbacks, especially when you're going # to send error instead of ack self.callbacks = { -'content-accept': [self.__on_content_accept, self.__broadcast, -self.__ack], +'content-accept': [self.__on_content_accept, + self.__broadcast, self.__ack], 'content-add': [self.__on_content_add, self.__broadcast, -self.__ack], #TODO + self.__ack], #TODO 'content-modify': [self.__ack], #TODO -'content-reject': [self.__ack, self.__on_content_remove], #TODO +'content-reject': [self.__ack, self.__on_content_remove], 'content-remove': [self.__ack, self.__on_content_remove], 'description-info': [self.__broadcast, self.__ack], #TODO 'security-info':[self.__ack], #TODO -'session-accept': [self.__on_session_accept, self.__on_content_accept, -self.__broadcast], -'session-info': [self.__broadcast, self.__on_session_info, self.__ack], -'session-initiate': [self.__on_session_initiate, self.__broadcast, -self.__ack], -'session-terminate':[self.__on_session_terminate,