diff --git a/gajim/roster_window.py b/gajim/roster_window.py index 9b686c5f271ba3ce05f5153d281990a06e6d36a5..cdf539489a2742f0b2f4a35631b041d141231f71 100644 --- a/gajim/roster_window.py +++ b/gajim/roster_window.py @@ -3065,6 +3065,25 @@ def on_groupchat_maximized(self, widget, jid, account): mw.set_active_tab(ctrl) self.remove_groupchat(jid, account, maximize=True) + def on_groupchat_rename(self, _widget, jid, account): + def _on_rename(new_name): + con = app.connections[account] + con.get_module('Bookmarks').modify(jid, name=new_name) + + contact = app.contacts.get_first_contact_from_jid(account, jid) + name = contact.get_shown_name() + + InputDialog( + _('Rename Group Chat'), + _('Rename Group Chat'), + _('Please enter a new name for this group chat'), + [DialogButton.make('Cancel'), + DialogButton.make('Accept', + text=_('_Rename'), + callback=_on_rename)], + input_str=name, + transient_for=self.window).show() + def on_change_status_message_activate(self, widget, account): show = app.SHOW_LIST[app.connections[account].connected] def on_response(message, pep_dict): @@ -5168,6 +5187,13 @@ def make_groupchat_menu(self, event, titer): jid, account) menu.append(maximize_menuitem) + rename_menuitem = Gtk.MenuItem.new_with_mnemonic(_('Re_name')) + rename_menuitem.connect('activate', + self.on_groupchat_rename, + jid, + account) + menu.append(rename_menuitem) + if not app.gc_connected[account].get(jid, False): connect_menuitem = Gtk.MenuItem.new_with_mnemonic(_( '_Reconnect'))