| ... |
... |
@@ -125,14 +125,6 @@ def build_menu(preset: list[tuple[str, Any]]): |
|
125
|
125
|
variant = GLib.Variant('s', account)
|
|
126
|
126
|
menuitem.set_action_and_target_value(action, variant)
|
|
127
|
127
|
menu.append_item(menuitem)
|
|
128
|
|
- elif action_name == 'app.browse-history':
|
|
129
|
|
- menuitem = Gio.MenuItem.new(label, action_name)
|
|
130
|
|
- dict_ = {'account': GLib.Variant('s', account),
|
|
131
|
|
- 'jid': GLib.Variant('s', str(jid))}
|
|
132
|
|
- variant_dict = GLib.Variant('a{sv}', dict_)
|
|
133
|
|
- menuitem.set_action_and_target_value(action_name,
|
|
134
|
|
- variant_dict)
|
|
135
|
|
- menu.append_item(menuitem)
|
|
136
|
128
|
elif action_name == 'app.remove-history':
|
|
137
|
129
|
params = RemoveHistoryActionParams(account=account, jid=jid)
|
|
138
|
130
|
menuitem = Gio.MenuItem.new(label, action_name)
|
| ... |
... |
@@ -154,55 +146,22 @@ def build_menu(preset: list[tuple[str, Any]]): |
|
154
|
146
|
|
|
155
|
147
|
|
|
156
|
148
|
def get_groupchat_menu(control_id: str, account: str, jid: JID) -> Gio.Menu:
|
|
157
|
|
- groupchat_menu = [
|
|
158
|
|
- ('win.information-', _('Information')),
|
|
159
|
|
- ('win.groupchat-settings-', _('Settings…')),
|
|
160
|
|
- ('win.groupchat-manage-', _('Manage…')),
|
|
161
|
|
- ('win.rename-groupchat-', _('Rename Chat…')),
|
|
162
|
|
- ('win.change-nickname-', _('Change Nickname…')),
|
|
163
|
|
- ('win.request-voice-', _('Request Voice')),
|
|
164
|
|
- ('win.execute-command-', _('Execute Command…')),
|
|
165
|
|
- ('win.search-history', _('Search…')),
|
|
166
|
|
- ('app.remove-history', _('Remove History'))
|
|
167
|
|
- ]
|
|
168
|
|
-
|
|
169
|
|
- def build_menu(preset: list[tuple[str, str]]) -> Gio.Menu:
|
|
170
|
|
- menu = Gio.Menu()
|
|
171
|
|
- for item in preset:
|
|
172
|
|
- action_name, label = item
|
|
173
|
|
- if action_name == 'win.search-history':
|
|
174
|
|
- menuitem = Gio.MenuItem.new(label, action_name)
|
|
175
|
|
- menuitem.set_action_and_target_value(action_name, None)
|
|
176
|
|
- menu.append_item(menuitem)
|
|
177
|
149
|
|
|
178
|
|
- elif action_name == 'app.browse-history':
|
|
179
|
|
- menuitem = Gio.MenuItem.new(label, action_name)
|
|
180
|
|
- dict_ = {'account': GLib.Variant('s', account),
|
|
181
|
|
- 'jid': GLib.Variant('s', str(jid))}
|
|
182
|
|
- variant_dict = GLib.Variant('a{sv}', dict_)
|
|
183
|
|
- menuitem.set_action_and_target_value(
|
|
184
|
|
- action_name, variant_dict)
|
|
185
|
|
- menu.append_item(menuitem)
|
|
186
|
|
-
|
|
187
|
|
- elif action_name == 'win.execute-command-':
|
|
188
|
|
- action_name = action_name + control_id
|
|
189
|
|
- menuitem = Gio.MenuItem.new(label, action_name)
|
|
190
|
|
- menuitem.set_action_and_target_value(
|
|
191
|
|
- action_name, GLib.Variant('s', ''))
|
|
192
|
|
- menu.append_item(menuitem)
|
|
193
|
|
-
|
|
194
|
|
- elif action_name == 'app.remove-history':
|
|
195
|
|
- params = RemoveHistoryActionParams(account=account, jid=jid)
|
|
196
|
|
- menuitem = Gio.MenuItem.new(label, action_name)
|
|
197
|
|
- menuitem.set_action_and_target_value(action_name,
|
|
198
|
|
- params.to_variant())
|
|
199
|
|
- menu.append_item(menuitem)
|
|
200
|
|
- else:
|
|
201
|
|
- menu.append(label, action_name + control_id)
|
|
202
|
|
-
|
|
203
|
|
- return menu
|
|
|
150
|
+ params = RemoveHistoryActionParams(account=account, jid=jid)
|
|
|
151
|
+
|
|
|
152
|
+ menulist: MenuItemListT = [
|
|
|
153
|
+ (_('Information'), f'win.information-{control_id}', None),
|
|
|
154
|
+ (_('Settings…'), f'win.groupchat-settings-{control_id}', None),
|
|
|
155
|
+ (_('Manage…'), f'win.groupchat-manage-{control_id}', None),
|
|
|
156
|
+ (_('Rename Chat…'), f'win.rename-groupchat-{control_id}', None),
|
|
|
157
|
+ (_('Change Nickname…'), f'win.change-nickname-{control_id}', None),
|
|
|
158
|
+ (_('Request Voice'), f'win.request-voice-{control_id}', None),
|
|
|
159
|
+ (_('Execute Command…'), f'win.execute-command-{control_id}', 's("")'),
|
|
|
160
|
+ (_('Search…'), 'win.search-history', None),
|
|
|
161
|
+ (_('Remove History'), 'app.remove-history', params)
|
|
|
162
|
+ ]
|
|
204
|
163
|
|
|
205
|
|
- return build_menu(groupchat_menu)
|
|
|
164
|
+ return make_menu(menulist)
|
|
206
|
165
|
|
|
207
|
166
|
|
|
208
|
167
|
def get_account_menu(account: str) -> Gio.Menu:
|