Sat, 29 Oct 2022 01:14:13 -0500
Convert PidginProxyPrefs to Adwaita 1.2
Testing Done:
Set all the values via the ui and the config file and tested bad values in the port in both as well. Bad values in the ui will store whatever atoi returned, but bad values in the config file will fallback to the default.
Reviewed at https://reviews.imfreedom.org/r/1996/
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
1 | /* |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
2 | * Pidgin - Internet Messenger |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
3 | * Copyright (C) Pidgin Developers <devel@pidgin.im> |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
4 | * |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
5 | * Pidgin is the legal property of its developers, whose names are too numerous |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
6 | * to list here. Please refer to the COPYRIGHT file distributed with this |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
7 | * source distribution. |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
8 | * |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
9 | * This program is free software; you can redistribute it and/or modify |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
10 | * it under the terms of the GNU General Public License as published by |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
11 | * the Free Software Foundation; either version 2 of the License, or |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
12 | * (at your option) any later version. |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
13 | * |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
14 | * This program is distributed in the hope that it will be useful, |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
17 | * GNU General Public License for more details. |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
18 | * |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
19 | * You should have received a copy of the GNU General Public License |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
20 | * along with this program; if not, see <https://www.gnu.org/licenses/>. |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
21 | */ |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
22 | |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
23 | #include <glib/gi18n-lib.h> |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
24 | |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
25 | #include <purple.h> |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
26 | |
|
41549
ee5853951322
Convert network prefs page to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41376
diff
changeset
|
27 | #include <adwaita.h> |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
28 | |
|
41376
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
29 | #include "pidginnetworkprefs.h" |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
30 | #include "pidginprefsinternal.h" |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
31 | |
|
41376
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
32 | struct _PidginNetworkPrefs { |
|
41549
ee5853951322
Convert network prefs page to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41376
diff
changeset
|
33 | AdwPreferencesPage parent; |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
34 | |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
35 | GtkWidget *stun_server; |
|
41623
78cf94d0f8c8
Move network preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41618
diff
changeset
|
36 | GtkWidget *auto_ip_row; |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
37 | GtkWidget *auto_ip; |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
38 | GtkWidget *public_ip; |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
39 | GtkWidget *map_ports; |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
40 | GtkWidget *ports_range_use; |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
41 | GtkWidget *ports_range_start; |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
42 | GtkWidget *ports_range_end; |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
43 | GtkWidget *turn_server; |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
44 | GtkWidget *turn_port_udp; |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
45 | GtkWidget *turn_port_tcp; |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
46 | GtkWidget *turn_username; |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
47 | GtkWidget *turn_password; |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
48 | }; |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
49 | |
|
41376
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
50 | G_DEFINE_TYPE(PidginNetworkPrefs, pidgin_network_prefs, |
|
41549
ee5853951322
Convert network prefs page to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41376
diff
changeset
|
51 | ADW_TYPE_PREFERENCES_PAGE) |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
52 | |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
53 | /****************************************************************************** |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
54 | * Helpers |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
55 | *****************************************************************************/ |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
56 | static void |
|
41549
ee5853951322
Convert network prefs page to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41376
diff
changeset
|
57 | network_ip_changed(GtkEditable *editable, gpointer data) |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
58 | { |
|
41618
7e9ad20d503a
Use success/error CSS for Public IP entry
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41581
diff
changeset
|
59 | const gchar *text = gtk_editable_get_text(editable); |
|
7e9ad20d503a
Use success/error CSS for Public IP entry
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41581
diff
changeset
|
60 | GtkWidget *widget = GTK_WIDGET(editable); |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
61 | |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
62 | if (text && *text) { |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
63 | if (g_hostname_is_ip_address(text)) { |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
64 | purple_network_set_public_ip(text); |
|
41618
7e9ad20d503a
Use success/error CSS for Public IP entry
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41581
diff
changeset
|
65 | gtk_widget_remove_css_class(widget, "error"); |
|
7e9ad20d503a
Use success/error CSS for Public IP entry
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41581
diff
changeset
|
66 | gtk_widget_add_css_class(widget, "success"); |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
67 | } else { |
|
41618
7e9ad20d503a
Use success/error CSS for Public IP entry
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41581
diff
changeset
|
68 | gtk_widget_remove_css_class(widget, "success"); |
|
7e9ad20d503a
Use success/error CSS for Public IP entry
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41581
diff
changeset
|
69 | gtk_widget_add_css_class(widget, "error"); |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
70 | } |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
71 | |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
72 | } else { |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
73 | purple_network_set_public_ip(""); |
|
41618
7e9ad20d503a
Use success/error CSS for Public IP entry
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41581
diff
changeset
|
74 | gtk_widget_remove_css_class(widget, "success"); |
|
7e9ad20d503a
Use success/error CSS for Public IP entry
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41581
diff
changeset
|
75 | gtk_widget_remove_css_class(widget, "error"); |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
76 | } |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
77 | } |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
78 | |
|
41549
ee5853951322
Convert network prefs page to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41376
diff
changeset
|
79 | static void |
|
ee5853951322
Convert network prefs page to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41376
diff
changeset
|
80 | network_stun_server_changed_cb(G_GNUC_UNUSED GtkEventControllerFocus *focus, |
|
ee5853951322
Convert network prefs page to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41376
diff
changeset
|
81 | gpointer data) |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
82 | { |
|
41549
ee5853951322
Convert network prefs page to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41376
diff
changeset
|
83 | GtkEditable *editable = data; |
|
ee5853951322
Convert network prefs page to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41376
diff
changeset
|
84 | |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
85 | purple_prefs_set_string("/purple/network/stun_server", |
|
41549
ee5853951322
Convert network prefs page to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41376
diff
changeset
|
86 | gtk_editable_get_text(editable)); |
|
ee5853951322
Convert network prefs page to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41376
diff
changeset
|
87 | purple_network_set_stun_server(gtk_editable_get_text(editable)); |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
88 | } |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
89 | |
|
41549
ee5853951322
Convert network prefs page to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41376
diff
changeset
|
90 | static void |
|
ee5853951322
Convert network prefs page to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41376
diff
changeset
|
91 | network_turn_server_changed_cb(G_GNUC_UNUSED GtkEventControllerFocus *focus, |
|
ee5853951322
Convert network prefs page to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41376
diff
changeset
|
92 | gpointer data) |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
93 | { |
|
41549
ee5853951322
Convert network prefs page to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41376
diff
changeset
|
94 | GtkEditable *editable = data; |
|
ee5853951322
Convert network prefs page to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41376
diff
changeset
|
95 | |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
96 | purple_prefs_set_string("/purple/network/turn_server", |
|
41549
ee5853951322
Convert network prefs page to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41376
diff
changeset
|
97 | gtk_editable_get_text(editable)); |
|
ee5853951322
Convert network prefs page to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41376
diff
changeset
|
98 | purple_network_set_turn_server(gtk_editable_get_text(editable)); |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
99 | } |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
100 | |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
101 | static void |
|
41623
78cf94d0f8c8
Move network preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41618
diff
changeset
|
102 | auto_ip_button_clicked_cb(G_GNUC_UNUSED GObject *obj, |
|
78cf94d0f8c8
Move network preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41618
diff
changeset
|
103 | G_GNUC_UNUSED GParamSpec *pspec, gpointer data) |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
104 | { |
|
41623
78cf94d0f8c8
Move network preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41618
diff
changeset
|
105 | PidginNetworkPrefs *prefs = PIDGIN_NETWORK_PREFS(data); |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
106 | const char *ip; |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
107 | PurpleStunNatDiscovery *stun; |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
108 | char *auto_ip_text; |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
109 | GList *list = NULL; |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
110 | |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
111 | /* Make a lookup for the auto-detected IP ourselves. */ |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
112 | if (purple_prefs_get_bool("/purple/network/auto_ip")) { |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
113 | /* Check if STUN discovery was already done */ |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
114 | stun = purple_stun_discover(NULL); |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
115 | if ((stun != NULL) && (stun->status == PURPLE_STUN_STATUS_DISCOVERED)) { |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
116 | ip = stun->publicip; |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
117 | } else { |
| 41828 | 118 | /* Attempt to get the IP from a NAT device using NAT-PMP */ |
| 119 | ip = purple_pmp_get_public_ip(); | |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
120 | if (ip == NULL) { |
| 41828 | 121 | ip = "0.0.0.0"; |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
122 | } |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
123 | } |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
124 | } else { |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
125 | ip = _("Disabled"); |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
126 | } |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
127 | |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
128 | auto_ip_text = g_strdup_printf(_("Use _automatically detected IP address: %s"), ip); |
|
41623
78cf94d0f8c8
Move network preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41618
diff
changeset
|
129 | adw_preferences_row_set_title(ADW_PREFERENCES_ROW(prefs->auto_ip_row), |
|
78cf94d0f8c8
Move network preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41618
diff
changeset
|
130 | auto_ip_text); |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
131 | g_free(auto_ip_text); |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
132 | g_list_free_full(list, g_free); |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
133 | } |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
134 | |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
135 | /****************************************************************************** |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
136 | * GObject Implementation |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
137 | *****************************************************************************/ |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
138 | static void |
|
41376
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
139 | pidgin_network_prefs_class_init(PidginNetworkPrefsClass *klass) |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
140 | { |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
141 | GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(klass); |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
142 | |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
143 | gtk_widget_class_set_template_from_resource( |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
144 | widget_class, |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
145 | "/im/pidgin/Pidgin3/Prefs/network.ui" |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
146 | ); |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
147 | |
|
41376
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
148 | gtk_widget_class_bind_template_child(widget_class, PidginNetworkPrefs, |
|
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
149 | stun_server); |
|
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
150 | gtk_widget_class_bind_template_child(widget_class, PidginNetworkPrefs, |
|
41623
78cf94d0f8c8
Move network preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41618
diff
changeset
|
151 | auto_ip_row); |
|
78cf94d0f8c8
Move network preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41618
diff
changeset
|
152 | gtk_widget_class_bind_template_child(widget_class, PidginNetworkPrefs, |
|
41376
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
153 | auto_ip); |
|
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
154 | gtk_widget_class_bind_template_child(widget_class, PidginNetworkPrefs, |
|
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
155 | public_ip); |
|
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
156 | gtk_widget_class_bind_template_child(widget_class, PidginNetworkPrefs, |
|
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
157 | map_ports); |
|
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
158 | gtk_widget_class_bind_template_child(widget_class, PidginNetworkPrefs, |
|
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
159 | ports_range_use); |
|
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
160 | gtk_widget_class_bind_template_child(widget_class, PidginNetworkPrefs, |
|
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
161 | ports_range_start); |
|
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
162 | gtk_widget_class_bind_template_child(widget_class, PidginNetworkPrefs, |
|
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
163 | ports_range_end); |
|
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
164 | gtk_widget_class_bind_template_child(widget_class, PidginNetworkPrefs, |
|
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
165 | turn_server); |
|
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
166 | gtk_widget_class_bind_template_child(widget_class, PidginNetworkPrefs, |
|
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
167 | turn_port_udp); |
|
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
168 | gtk_widget_class_bind_template_child(widget_class, PidginNetworkPrefs, |
|
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
169 | turn_port_tcp); |
|
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
170 | gtk_widget_class_bind_template_child(widget_class, PidginNetworkPrefs, |
|
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
171 | turn_username); |
|
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
172 | gtk_widget_class_bind_template_child(widget_class, PidginNetworkPrefs, |
|
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
173 | turn_password); |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
174 | gtk_widget_class_bind_template_callback(widget_class, |
|
41376
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
175 | network_stun_server_changed_cb); |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
176 | gtk_widget_class_bind_template_callback(widget_class, |
|
41376
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
177 | auto_ip_button_clicked_cb); |
|
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
178 | gtk_widget_class_bind_template_callback(widget_class, network_ip_changed); |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
179 | gtk_widget_class_bind_template_callback(widget_class, |
|
41376
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
180 | network_turn_server_changed_cb); |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
181 | } |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
182 | |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
183 | static void |
|
41376
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
184 | pidgin_network_prefs_init(PidginNetworkPrefs *prefs) |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
185 | { |
|
41376
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
186 | gtk_widget_init_template(GTK_WIDGET(prefs)); |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
187 | |
|
41549
ee5853951322
Convert network prefs page to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41376
diff
changeset
|
188 | gtk_editable_set_text(GTK_EDITABLE(prefs->stun_server), |
|
ee5853951322
Convert network prefs page to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41376
diff
changeset
|
189 | purple_prefs_get_string("/purple/network/stun_server")); |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
190 | |
|
41623
78cf94d0f8c8
Move network preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41618
diff
changeset
|
191 | pidgin_prefs_bind_switch("/purple/network/auto_ip", prefs->auto_ip); |
|
78cf94d0f8c8
Move network preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41618
diff
changeset
|
192 | auto_ip_button_clicked_cb(NULL, NULL, prefs); /* Update label */ |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
193 | |
|
41549
ee5853951322
Convert network prefs page to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41376
diff
changeset
|
194 | gtk_editable_set_text(GTK_EDITABLE(prefs->public_ip), |
|
ee5853951322
Convert network prefs page to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41376
diff
changeset
|
195 | purple_network_get_public_ip()); |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
196 | |
|
41623
78cf94d0f8c8
Move network preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41618
diff
changeset
|
197 | pidgin_prefs_bind_switch("/purple/network/map_ports", prefs->map_ports); |
|
78cf94d0f8c8
Move network preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41618
diff
changeset
|
198 | |
|
78cf94d0f8c8
Move network preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41618
diff
changeset
|
199 | pidgin_prefs_bind_expander_row("/purple/network/ports_range_use", |
|
78cf94d0f8c8
Move network preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41618
diff
changeset
|
200 | prefs->ports_range_use); |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
201 | |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
202 | pidgin_prefs_bind_spin_button("/purple/network/ports_range_start", |
|
41376
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
203 | prefs->ports_range_start); |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
204 | pidgin_prefs_bind_spin_button("/purple/network/ports_range_end", |
|
41376
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
205 | prefs->ports_range_end); |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
206 | |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
207 | /* TURN server */ |
|
41549
ee5853951322
Convert network prefs page to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41376
diff
changeset
|
208 | gtk_editable_set_text(GTK_EDITABLE(prefs->turn_server), |
|
ee5853951322
Convert network prefs page to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41376
diff
changeset
|
209 | purple_prefs_get_string("/purple/network/turn_server")); |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
210 | |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
211 | pidgin_prefs_bind_spin_button("/purple/network/turn_port", |
|
41376
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
212 | prefs->turn_port_udp); |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
213 | |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
214 | pidgin_prefs_bind_spin_button("/purple/network/turn_port_tcp", |
|
41376
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
215 | prefs->turn_port_tcp); |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
216 | |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
217 | pidgin_prefs_bind_entry("/purple/network/turn_username", |
|
41376
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
218 | prefs->turn_username); |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
219 | pidgin_prefs_bind_entry("/purple/network/turn_password", |
|
41376
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
220 | prefs->turn_password); |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
221 | } |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
222 | |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
223 | /****************************************************************************** |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
224 | * API |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
225 | *****************************************************************************/ |
|
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
226 | GtkWidget * |
|
41376
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
227 | pidgin_network_prefs_new(void) { |
|
5bd22f39246a
Rename PidginNetworkPage to PidginNetworkPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41369
diff
changeset
|
228 | return GTK_WIDGET(g_object_new(PIDGIN_TYPE_NETWORK_PREFS, NULL)); |
|
41369
70144e5e0a89
Split network prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
229 | } |