Philipp Hörist pushed to branch master at gajim / gajim
Commits: a16cc047 by lovetox at 2022-01-22T20:27:57+01:00 Groupchat: Move Settings into GroupchatDetails
- - - - -
6 changed files:
- gajim/data/gui/groupchat_control.ui - gajim/gtk/controls/groupchat.py - gajim/gtk/groupchat_details.py - gajim/gtk/groupchat_settings.py - gajim/gtk/menus.py - pyrightconfig.json
Changes:
===================================== gajim/data/gui/groupchat_control.ui ===================================== @@ -1333,9 +1333,6 @@ <property name="position">6</property> </packing> </child> - <child> - <placeholder/> - </child> <child> <object class="GtkBox"> <property name="visible">True</property> @@ -1460,7 +1457,7 @@ </object> <packing> <property name="name">kick</property> - <property name="position">8</property> + <property name="position">7</property> </packing> </child> <child> @@ -1587,7 +1584,7 @@ </object> <packing> <property name="name">ban</property> - <property name="position">9</property> + <property name="position">8</property> </packing> </child> <child> @@ -1747,7 +1744,7 @@ </object> <packing> <property name="name">destroy</property> - <property name="position">10</property> + <property name="position">9</property> </packing> </child> <child> @@ -1855,7 +1852,7 @@ </object> <packing> <property name="name">rename</property> - <property name="position">11</property> + <property name="position">10</property> </packing> </child> <child> @@ -1934,119 +1931,11 @@ </object> <packing> <property name="name">invite</property> - <property name="position">12</property> + <property name="position">11</property> </packing> </child> <child> - <object class="GtkBox"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="orientation">vertical</property> - <child> - <!-- n-columns=1 n-rows=3 --> - <object class="GtkGrid" id="settings_grid"> - <property name="name">settings_grid</property> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="hexpand">True</property> - <property name="vexpand">True</property> - <property name="row-spacing">12</property> - <child> - <object class="GtkBox"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">center</property> - <property name="margin-top">6</property> - <property name="spacing">12</property> - <child> - <object class="GtkButton"> - <property name="label" translatable="yes">_Close</property> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">True</property> - <property name="use-underline">True</property> - <signal name="clicked" handler="_on_page_cancel_clicked" swapped="no"/> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">2</property> - </packing> - </child> - <child> - <object class="GtkLabel"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="label" translatable="yes">Settings for This Chat</property> - <style> - <class name="bold16"/> - </style> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">0</property> - </packing> - </child> - <child> - <object class="GtkScrolledWindow"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="hexpand">True</property> - <property name="vexpand">True</property> - <property name="hscrollbar-policy">never</property> - <property name="shadow-type">in</property> - <property name="overlay-scrolling">False</property> - <child> - <object class="GtkViewport"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <child> - <object class="GtkBox" id="settings_scrolled_box"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="hexpand">True</property> - <property name="vexpand">True</property> - <property name="orientation">vertical</property> - <child> - <placeholder/> - </child> - <style> - <class name="margin-18"/> - </style> - </object> - </child> - </object> - </child> - <style> - <class name="scrolled-no-border"/> - </style> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">1</property> - </packing> - </child> - <style> - <class name="margin-18"/> - </style> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - </object> - <packing> - <property name="name">muc-settings</property> - <property name="position">13</property> - </packing> + <placeholder/> </child> <child> <object class="GtkBox"> @@ -2259,7 +2148,7 @@ </object> <packing> <property name="name">muc-manage</property> - <property name="position">14</property> + <property name="position">13</property> </packing> </child> <child> @@ -2368,7 +2257,7 @@ </object> <packing> <property name="name">avatar-selector</property> - <property name="position">15</property> + <property name="position">14</property> </packing> </child> </object>
===================================== gajim/gtk/controls/groupchat.py ===================================== @@ -78,7 +78,6 @@ from gajim.gui.avatar_selector import AvatarSelector from gajim.gui.dataform import DataFormWidget from gajim.gui.groupchat_inviter import GroupChatInviter -from gajim.gui.groupchat_settings import GroupChatSettings from gajim.gui.groupchat_roster import GroupchatRoster from gajim.gui.groupchat_state import GroupchatState from gajim.gui.message_input import MessageInputTextView @@ -172,9 +171,6 @@ def __init__(self, account: str, jid: JID) -> None:
self._subject_text = ''
- # Groupchat settings - self._groupchat_settings_box: Optional[GroupChatSettings] = None - # Holds the room’s config form, which is requested when managing # the room self._room_config_form = None @@ -289,7 +285,6 @@ def disco_info(self): def add_actions(self) -> None: super().add_actions() actions = [ - ('groupchat-settings-', None, self._on_groupchat_settings), ('groupchat-manage-', None, self._on_groupchat_manage), ('rename-groupchat-', None, self._on_rename_groupchat), ('change-nickname-', None, self._on_change_nick), @@ -389,7 +384,6 @@ def update_actions(self, *args: Any) -> None: def remove_actions(self) -> None: super().remove_actions() actions = [ - 'groupchat-settings-', 'groupchat-manage-', 'rename-groupchat-', 'change-nickname-', @@ -447,20 +441,6 @@ def _on_details(self, ) -> None: open_window('GroupchatDetails', contact=self.contact)
- def _on_groupchat_settings(self, - _action: Gio.SimpleAction, - _param: Optional[GLib.Variant] - ) -> None: - if self._groupchat_settings_box is not None: - self.xml.settings_scrolled_box.remove(self._groupchat_settings_box) - self._groupchat_settings_box.destroy() - - self._groupchat_settings_box = GroupChatSettings( - self.account, self.contact.jid) - self._groupchat_settings_box.show_all() - self.xml.settings_scrolled_box.add(self._groupchat_settings_box) - self._show_page('muc-settings') - def _on_groupchat_manage(self, _action: Gio.SimpleAction, _param: Optional[GLib.Variant]
===================================== gajim/gtk/groupchat_details.py ===================================== @@ -22,6 +22,7 @@ from gajim.common.modules.contacts import GroupchatContact
from .groupchat_info import GroupChatInfoScrolled +from .groupchat_settings import GroupChatSettings from .sidebar_switcher import SideBarSwitcher
@@ -47,6 +48,7 @@ def __init__(self, contact: GroupchatContact) -> None: main_box.add(self._stack)
self._add_groupchat_info() + self._add_groupchat_settings()
self._side_bar_switcher.set_stack(self._stack)
@@ -67,6 +69,15 @@ def _add_groupchat_info(self) -> None:
self._stack.add_titled(groupchat_info, 'info', _('Information'))
+ def _add_groupchat_settings(self) -> None: + scrolled_window = Gtk.ScrolledWindow() + scrolled_window.set_policy(Gtk.PolicyType.NEVER, + Gtk.PolicyType.AUTOMATIC) + + settings_box = GroupChatSettings(self.account, self._contact.jid) + scrolled_window.add(settings_box) + self._stack.add_titled(scrolled_window, 'settings', _('Settings')) + def _on_key_press(self, _widget: GroupchatDetails, event: Gdk.EventKey) -> None:
===================================== gajim/gtk/groupchat_settings.py ===================================== @@ -26,7 +26,7 @@
class GroupChatSettings(SettingsBox): def __init__(self, account: str, jid: JID) -> None: - SettingsBox.__init__(self, account, jid) + SettingsBox.__init__(self, account, str(jid))
self.get_style_context().add_class('settings-border') self.set_selection_mode(Gtk.SelectionMode.NONE)
===================================== gajim/gtk/menus.py ===================================== @@ -151,7 +151,6 @@ def get_groupchat_menu(control_id: str, account: str, jid: JID) -> Gio.Menu:
menulist: MenuItemListT = [ (_('Details'), f'win.groupchat-details-{control_id}', None), - (_('Settings…'), f'win.groupchat-settings-{control_id}', None), (_('Manage…'), f'win.groupchat-manage-{control_id}', None), (_('Rename Chat…'), f'win.rename-groupchat-{control_id}', None), (_('Change Nickname…'), f'win.change-nickname-{control_id}', None),
===================================== pyrightconfig.json ===================================== @@ -58,6 +58,7 @@ "gajim/gtk/groupchat_invitation.py", "gajim/gtk/groupchat_inviter.py", "gajim/gtk/groupchat_nick.py", + "gajim/gtk/groupchat_settings.py", "gajim/gtk/groupchat_state.py", "gajim/gtk/main_stack.py", "gajim/gtk/manage_sounds.py",
View it on GitLab: https://dev.gajim.org/gajim/gajim/-/commit/a16cc047c460ceefebed16080a6cde42b...