don't allow to invite pm contacts to other MUC if we don't know his real JID. see #4443
This commit is contained in:
parent
29c4f64285
commit
8bae294150
2 changed files with 24 additions and 2 deletions
|
@ -34,6 +34,7 @@ import gtk
|
||||||
import pango
|
import pango
|
||||||
import gobject
|
import gobject
|
||||||
import gtkgui_helpers
|
import gtkgui_helpers
|
||||||
|
import gui_menu_builder
|
||||||
import message_control
|
import message_control
|
||||||
import tooltips
|
import tooltips
|
||||||
import dialogs
|
import dialogs
|
||||||
|
@ -256,6 +257,20 @@ class PrivateChatControl(ChatControl):
|
||||||
|
|
||||||
self.session.negotiate_e2e(False)
|
self.session.negotiate_e2e(False)
|
||||||
|
|
||||||
|
def prepare_context_menu(self, hide_buttonbar_items=False):
|
||||||
|
"""
|
||||||
|
Set compact view menuitem active state sets active and sensitivity state
|
||||||
|
for toggle_gpg_menuitem sets sensitivity for history_menuitem (False for
|
||||||
|
tranasports) and file_transfer_menuitem and hide()/show() for
|
||||||
|
add_to_roster_menuitem
|
||||||
|
"""
|
||||||
|
menu = gui_menu_builder.get_contact_menu(self.contact, self.account,
|
||||||
|
use_multiple_contacts=False, show_start_chat=False,
|
||||||
|
show_encryption=True, control=self,
|
||||||
|
show_buttonbar_items=not hide_buttonbar_items,
|
||||||
|
gc_contact=self.gc_contact)
|
||||||
|
return menu
|
||||||
|
|
||||||
class GroupchatControl(ChatControlBase):
|
class GroupchatControl(ChatControlBase):
|
||||||
TYPE_ID = message_control.TYPE_GC
|
TYPE_ID = message_control.TYPE_GC
|
||||||
|
|
||||||
|
|
|
@ -151,7 +151,7 @@ def build_invite_submenu(invite_menuitem, list_):
|
||||||
|
|
||||||
def get_contact_menu(contact, account, use_multiple_contacts=True,
|
def get_contact_menu(contact, account, use_multiple_contacts=True,
|
||||||
show_start_chat=True, show_encryption=False, show_buttonbar_items=True,
|
show_start_chat=True, show_encryption=False, show_buttonbar_items=True,
|
||||||
control=None):
|
control=None, gc_contact=None):
|
||||||
"""
|
"""
|
||||||
Build contact popup menu for roster and chat window. If control is not set,
|
Build contact popup menu for roster and chat window. If control is not set,
|
||||||
we hide invite_contacts_menuitem
|
we hide invite_contacts_menuitem
|
||||||
|
@ -368,6 +368,13 @@ control=None):
|
||||||
if muc_icon:
|
if muc_icon:
|
||||||
invite_menuitem.set_image(muc_icon)
|
invite_menuitem.set_image(muc_icon)
|
||||||
|
|
||||||
|
if gc_contact:
|
||||||
|
if not gc_contact.jid:
|
||||||
|
# it's a pm and we don't know real JID
|
||||||
|
invite_menuitem.set_sensitive(False)
|
||||||
|
else:
|
||||||
|
build_invite_submenu(invite_menuitem, [(gc_contact, account)])
|
||||||
|
else:
|
||||||
build_invite_submenu(invite_menuitem, [(contact, account)])
|
build_invite_submenu(invite_menuitem, [(contact, account)])
|
||||||
|
|
||||||
# One or several resource, we do the same for send_custom_status
|
# One or several resource, we do the same for send_custom_status
|
||||||
|
|
Loading…
Add table
Reference in a new issue