don't send change_nick presnece (without NS_MUC) after a nick conflict
This commit is contained in:
		
							parent
							
								
									0aca2d6a34
								
							
						
					
					
						commit
						5ea5309035
					
				
					 2 changed files with 15 additions and 9 deletions
				
			
		|  | @ -1870,10 +1870,15 @@ class ChangeNickDialog(InputDialogCheck): | |||
|     Class for changing room nickname in case of conflict | ||||
|     """ | ||||
| 
 | ||||
|     def __init__(self, account, room_jid, title, prompt, check_text=None): | ||||
|     def __init__(self, account, room_jid, title, prompt, check_text=None, | ||||
|     change_nick=False): | ||||
|         """ | ||||
|         change_nick must be set to True when we are already occupant of the room | ||||
|         and we are changing our nick | ||||
|         """ | ||||
|         InputDialogCheck.__init__(self, title, '', checktext=check_text, | ||||
|                 input_str='', is_modal=True, ok_handler=None, cancel_handler=None) | ||||
|         self.room_queue = [(account, room_jid, prompt)] | ||||
|         self.room_queue = [(account, room_jid, prompt, change_nick)] | ||||
|         self.check_next() | ||||
| 
 | ||||
|     def on_input_dialog_delete_event(self, widget, event): | ||||
|  | @ -1902,7 +1907,8 @@ class ChangeNickDialog(InputDialogCheck): | |||
|             if 'change_nick_dialog' in gajim.interface.instances: | ||||
|                 del gajim.interface.instances['change_nick_dialog'] | ||||
|             return | ||||
|         self.account, self.room_jid, self.prompt = self.room_queue.pop(0) | ||||
|         self.account, self.room_jid, self.prompt, self.change_nick = \ | ||||
|             self.room_queue.pop(0) | ||||
|         self.setup_dialog() | ||||
| 
 | ||||
|         if gajim.new_room_nick is not None and not gajim.gc_connected[ | ||||
|  | @ -1931,7 +1937,7 @@ class ChangeNickDialog(InputDialogCheck): | |||
|         if is_checked: | ||||
|             gajim.new_room_nick = nick | ||||
|         gajim.connections[self.account].join_gc(nick, self.room_jid, None, | ||||
|                 change_nick=True) | ||||
|             change_nick=self.change_nick) | ||||
|         if gajim.gc_connected[self.account][self.room_jid]: | ||||
|             # We are changing nick, we will change self.nick when we receive | ||||
|             # presence that inform that it works | ||||
|  | @ -1946,9 +1952,9 @@ class ChangeNickDialog(InputDialogCheck): | |||
|         self.gc_control.new_nick = '' | ||||
|         self.check_next() | ||||
| 
 | ||||
|     def add_room(self, account, room_jid, prompt): | ||||
|         if (account, room_jid, prompt) not in self.room_queue: | ||||
|             self.room_queue.append((account, room_jid, prompt)) | ||||
|     def add_room(self, account, room_jid, prompt, change_nick=False): | ||||
|         if (account, room_jid, prompt, change_nick) not in self.room_queue: | ||||
|             self.room_queue.append((account, room_jid, prompt, change_nick)) | ||||
| 
 | ||||
| class InputTextDialog(CommonInputDialog): | ||||
|     """ | ||||
|  |  | |||
|  | @ -1735,8 +1735,8 @@ class GroupchatControl(ChatControlBase): | |||
|             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) | ||||
|                 dialogs.ChangeNickDialog(self.account, self.room_jid, title, | ||||
|                 prompt, change_nick=True) | ||||
| 
 | ||||
|     def _on_configure_room_menuitem_activate(self, widget): | ||||
|         c = gajim.contacts.get_gc_contact(self.account, self.room_jid, self.nick) | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue