Thu, 17 Apr 2025 23:35:53 -0500
Add keybinding support to the channel join dialog
Pressing enter in any of the fields will now attempt to join the channel and
pressing escape anywhere will close the dialog.
Testing Done:
Opened the dialog and used the keyboard to join a channel and to close the dialog. Also called in the turtles.
Reviewed at https://reviews.imfreedom.org/r/3971/
|
42377
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
1 | <?xml version="1.0" encoding="UTF-8"?> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
2 | <!-- |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
3 | Pidgin - Internet Messenger |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
4 | Copyright (C) Pidgin Developers <devel@pidgin.im> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
5 | |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
6 | This program is free software; you can redistribute it and/or |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
7 | modify it under the terms of the GNU General Public License |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
8 | as published by the Free Software Foundation; either version 2 |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
9 | of the License, or (at your option) any later version. |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
10 | |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
11 | This program is distributed in the hope that it will be useful, |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
14 | GNU General Public License for more details. |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
15 | |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
16 | You should have received a copy of the GNU General Public License |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
17 | along with this program; if not, see <https://www.gnu.org/licenses/>. |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
18 | --> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
19 | <interface> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
20 | <requires lib="gtk" version="4.0"/> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
21 | <template class="PidginChannelJoinDialog" parent="GtkWindow"> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
22 | <property name="resizable">1</property> |
|
43194
77aadc520684
Make all ui files use translatable="yes"
Gary Kramlich <grim@reaperworld.com>
parents:
42377
diff
changeset
|
23 | <property name="title" translatable="yes">Join Channel</property> |
|
43233
9a9dd3407402
Add keybinding support to the channel join dialog
Gary Kramlich <grim@reaperworld.com>
parents:
43194
diff
changeset
|
24 | <property name="default-widget">join</property> |
|
42377
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
25 | <child> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
26 | <object class="GtkBox"> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
27 | <property name="margin-bottom">24</property> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
28 | <property name="margin-end">24</property> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
29 | <property name="margin-start">24</property> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
30 | <property name="margin-top">24</property> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
31 | <property name="orientation">vertical</property> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
32 | <property name="spacing">24</property> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
33 | <child> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
34 | <object class="GtkLabel"> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
35 | <property name="css-classes">title-1</property> |
|
43194
77aadc520684
Make all ui files use translatable="yes"
Gary Kramlich <grim@reaperworld.com>
parents:
42377
diff
changeset
|
36 | <property name="label" translatable="yes">Join a channel</property> |
|
42377
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
37 | </object> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
38 | </child> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
39 | <child> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
40 | <object class="AdwPreferencesGroup" id="entries"> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
41 | <child> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
42 | <object class="PidginAccountRow" id="account"> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
43 | <property name="filter"> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
44 | <object class="GtkEveryFilter"> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
45 | <child> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
46 | <object class="GtkCustomFilter" id="filter"/> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
47 | </child> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
48 | <child> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
49 | <object class="PidginAccountFilterConnected"/> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
50 | </child> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
51 | </object> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
52 | </property> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
53 | <signal name="notify::account" handler="pidgin_channel_join_dialog_account_changed_cb"/> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
54 | </object> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
55 | </child> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
56 | <child> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
57 | <object class="AdwEntryRow" id="name"> |
|
43233
9a9dd3407402
Add keybinding support to the channel join dialog
Gary Kramlich <grim@reaperworld.com>
parents:
43194
diff
changeset
|
58 | <property name="activates-default">true</property> |
|
43194
77aadc520684
Make all ui files use translatable="yes"
Gary Kramlich <grim@reaperworld.com>
parents:
42377
diff
changeset
|
59 | <property name="title" translatable="yes">Name</property> |
|
42377
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
60 | <signal name="changed" handler="pidgin_channel_join_dialog_join_named_changed_cb"/> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
61 | </object> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
62 | </child> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
63 | <child> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
64 | <object class="AdwEntryRow" id="nickname"> |
|
43233
9a9dd3407402
Add keybinding support to the channel join dialog
Gary Kramlich <grim@reaperworld.com>
parents:
43194
diff
changeset
|
65 | <property name="activates-default">true</property> |
|
43194
77aadc520684
Make all ui files use translatable="yes"
Gary Kramlich <grim@reaperworld.com>
parents:
42377
diff
changeset
|
66 | <property name="title" translatable="yes">Custom nickname (optional)</property> |
|
42377
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
67 | </object> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
68 | </child> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
69 | <child> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
70 | <object class="AdwEntryRow" id="password"> |
|
43233
9a9dd3407402
Add keybinding support to the channel join dialog
Gary Kramlich <grim@reaperworld.com>
parents:
43194
diff
changeset
|
71 | <property name="activates-default">true</property> |
|
43194
77aadc520684
Make all ui files use translatable="yes"
Gary Kramlich <grim@reaperworld.com>
parents:
42377
diff
changeset
|
72 | <property name="title" translatable="yes">Password (optional)</property> |
|
42377
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
73 | </object> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
74 | </child> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
75 | </object> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
76 | </child> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
77 | <child> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
78 | <object class="GtkLabel" id="error"> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
79 | <property name="wrap-mode">word-char</property> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
80 | <style> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
81 | <class name="error"/> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
82 | </style> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
83 | </object> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
84 | </child> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
85 | <child> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
86 | <object class="GtkBox"> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
87 | <property name="orientation">horizontal</property> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
88 | <property name="spacing">6</property> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
89 | <!-- To get the behavior of pack_end we need to set halign to end |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
90 | and then add the children in the reverse order. --> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
91 | <property name="halign">end</property> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
92 | <child> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
93 | <object class="GtkButton" id="cancel"> |
|
43194
77aadc520684
Make all ui files use translatable="yes"
Gary Kramlich <grim@reaperworld.com>
parents:
42377
diff
changeset
|
94 | <property name="label" translatable="yes">_Cancel</property> |
|
42377
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
95 | <property name="use-underline">1</property> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
96 | <signal name="clicked" handler="pidgin_channel_join_dialog_cancel_clicked"/> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
97 | </object> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
98 | </child> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
99 | <child> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
100 | <object class="GtkButton" id="join"> |
|
43194
77aadc520684
Make all ui files use translatable="yes"
Gary Kramlich <grim@reaperworld.com>
parents:
42377
diff
changeset
|
101 | <property name="label" translatable="yes">_Join</property> |
|
42377
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
102 | <property name="sensitive">0</property> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
103 | <property name="use-underline">1</property> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
104 | <signal name="clicked" handler="pidgin_channel_join_dialog_join_clicked"/> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
105 | <style> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
106 | <class name="suggested-action"/> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
107 | </style> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
108 | </object> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
109 | </child> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
110 | </object> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
111 | </child> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
112 | </object> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
113 | </child> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
114 | </template> |
|
6e3f1f8709b5
Create a new PidginChannelJoinDialog widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
115 | </interface> |