Daniel Brötzmann pushed to branch mainwindow at gajim / gajim


Commits:
f6d8a6d7 by wurstsalat at 2021-07-19T23:01:48+02:00
Group Chat: Fixes for direct messages

- - - - -


5 changed files:

- gajim/gtk/controls/groupchat.py
- gajim/gtk/controls/private.py
- gajim/gtk/groupchat_roster.py
- gajim/gtk/tooltips.py
- gajim/gui_menu_builder.py


Changes:

=====================================
gajim/gtk/controls/groupchat.py
=====================================
@@ -609,13 +609,14 @@ def show_roster(self):
     def _on_roster_row_activated(self, _roster, nick):
         muc_prefer_direct_msg = app.settings.get('muc_prefer_direct_msg')
         if not self.is_anonymous and muc_prefer_direct_msg:
+            participant = self.contact.get_resource(nick)
             app.window.add_chat(self.account,
-                                self.contact.jid,
+                                participant.real_jid.bare,
                                 'contact',
                                 select=True)
         else:
             contact = self.contact.get_resource(nick)
-            app.window.add_private_chat(self.account, contact.jid)
+            app.window.add_private_chat(self.account, contact.jid, select=True)
 
     def _on_avatar_update(self, _contact, _signal_name):
         self._update_avatar()


=====================================
gajim/gtk/controls/private.py
=====================================
@@ -24,6 +24,7 @@
 # You should have received a copy of the GNU General Public License
 # along with Gajim. If not, see <http://www.gnu.org/licenses/>.
 
+from gajim.common import app
 from gajim.common import helpers
 from gajim.common.i18n import _
 
@@ -43,6 +44,7 @@ class PrivateChatControl(ChatControl):
     COMMAND_HOST = PrivateChatCommands
 
     def __init__(self, account, jid):
+        self._client = app.get_client(account)
         self._room_contact = self._client.get_module('Contacts').get_contact(
             jid.bare)
 


=====================================
gajim/gtk/groupchat_roster.py
=====================================
@@ -279,7 +279,7 @@ def _on_roster_row_activated(self, _treeview, path, 
_column):
             # This is a group row
             return
         nick = self._store[iter_][Column.NICK_OR_GROUP]
-        if self._control.nick == nick:
+        if self._control.contact.nickname == nick:
             return
         self.emit('row-activated', nick)
 
@@ -301,10 +301,10 @@ def _on_roster_button_press_event(self, treeview, event):
         if self._group_chat_contact.nickname == nick:
             return
 
-        if event.button == 3: # right click
+        if event.button == 3:  # right click
             self._show_contact_menu(nick)
 
-        if event.button == 2: # middle click
+        if event.button == 2:  # middle click
             self.emit('row-activated', nick)
 
     def _show_contact_menu(self, nick):


=====================================
gajim/gtk/tooltips.py
=====================================
@@ -100,7 +100,7 @@ def _populate_grid(self, contact):
 
         # JID
         if contact.real_jid is not None:
-            self._ui.jid.set_text(str(contact.jid))
+            self._ui.jid.set_text(str(contact.real_jid.bare))
             self._ui.jid.show()
 
         # Affiliation


=====================================
gajim/gui_menu_builder.py
=====================================
@@ -918,8 +918,8 @@ def get_groupchat_roster_menu(account, control_id, 
self_contact, contact):
 
     item = Gtk.MenuItem(label=_('Add to Contact List…'))
     action = 'app.{account}-add-contact(["{account}", "{jid}"])'.format(
-        account=account, jid=contact.jid or '')
-    if contact.jid is None:
+        account=account, jid=contact.real_jid or '')
+    if contact.real_jid is None:
         item.set_sensitive(False)
     else:
         item.set_detailed_action_name(action)
@@ -941,7 +941,7 @@ def get_groupchat_roster_menu(account, control_id, 
self_contact, contact):
     menu.append(item)
 
     item = Gtk.MenuItem(label=_('Ban'))
-    action = 'win.ban-%s::%s' % (control_id, contact.jid or '')
+    action = 'win.ban-%s::%s' % (control_id, contact.real_jid or '')
     if is_affiliation_change_allowed(self_contact, contact, 'outcast'):
         item.set_detailed_action_name(action)
     else:
@@ -952,7 +952,7 @@ def get_groupchat_roster_menu(account, control_id, 
self_contact, contact):
 
     item = Gtk.MenuItem(label=_('Make Owner'))
     action = 'win.change-affiliation-%s(["%s", "owner"])' % (control_id,
-                                                             contact.jid)
+                                                             contact.real_jid)
     if is_affiliation_change_allowed(self_contact, contact, 'owner'):
         item.set_detailed_action_name(action)
     else:
@@ -961,7 +961,7 @@ def get_groupchat_roster_menu(account, control_id, 
self_contact, contact):
 
     item = Gtk.MenuItem(label=_('Make Admin'))
     action = 'win.change-affiliation-%s(["%s", "admin"])' % (control_id,
-                                                             contact.jid)
+                                                             contact.real_jid)
     if is_affiliation_change_allowed(self_contact, contact, 'admin'):
         item.set_detailed_action_name(action)
     else:
@@ -970,7 +970,7 @@ def get_groupchat_roster_menu(account, control_id, 
self_contact, contact):
 
     item = Gtk.MenuItem(label=_('Make Member'))
     action = 'win.change-affiliation-%s(["%s", "member"])' % (control_id,
-                                                              contact.jid)
+                                                              contact.real_jid)
     if is_affiliation_change_allowed(self_contact, contact, 'member'):
         item.set_detailed_action_name(action)
     else:
@@ -979,7 +979,7 @@ def get_groupchat_roster_menu(account, control_id, 
self_contact, contact):
 
     item = Gtk.MenuItem(label=_('Revoke Member'))
     action = 'win.change-affiliation-%s(["%s", "none"])' % (control_id,
-                                                            contact.jid)
+                                                            contact.real_jid)
     if is_affiliation_change_allowed(self_contact, contact, 'none'):
         item.set_detailed_action_name(action)
     else:



View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/f6d8a6d76558793d3ab62fdd0a3674ba3ffbb734

-- 
View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/f6d8a6d76558793d3ab62fdd0a3674ba3ffbb734
You're receiving this email because of your account on dev.gajim.org.


_______________________________________________
Commits mailing list
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits

Reply via email to