Mon, 29 Aug 2022 22:06:07 -0500
Move network preferences to Adwaita preference widgets
This does make the TURN server settings longer vertically, but that seems more consistent with everything.
Also fix the `leave` event on the TURN server setting.
Testing Done:
Toggled all the options and checked that stuff happened in the Debug Window.
Also, I'm not sure why the `GtkSpinButton` and `GtkEntry` expand to different sizes; they both have `hexpand=1`, and the spin button is next to text that's _shorter_ than the entry, but somehow ends up farther right. Seems like a bug in GTK.
PS, be careful of this page; it tries to get your public IP address and displays it when it succeeds.
Reviewed at https://reviews.imfreedom.org/r/1680/
<?xml version="1.0" encoding="UTF-8"?> <!-- Pidgin - Internet Messenger Copyright (C) Pidgin Developers <devel@pidgin.im> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <https://www.gnu.org/licenses/>. --> <interface> <requires lib="gtk" version="4.0"/> <requires lib="Adw" version="1.0"/> <!-- interface-license-type gplv2 --> <!-- interface-name Pidgin --> <!-- interface-description Internet Messenger --> <!-- interface-copyright Pidgin Developers <devel@pidgin.im> --> <object class="GtkAdjustment" id="ports_range_end.adjustment"> <property name="upper">65535</property> <property name="step-increment">1</property> <property name="page-increment">10</property> </object> <object class="GtkAdjustment" id="ports_range_start.adjustment"> <property name="upper">65535</property> <property name="step-increment">1</property> <property name="page-increment">10</property> </object> <object class="GtkAdjustment" id="turn_port_tcp.adjustment"> <property name="upper">65535</property> <property name="step-increment">1</property> <property name="page-increment">10</property> </object> <object class="GtkAdjustment" id="turn_port_udp.adjustment"> <property name="upper">65535</property> <property name="step-increment">1</property> <property name="page-increment">10</property> </object> <template class="PidginNetworkPrefs" parent="AdwPreferencesPage"> <child> <object class="AdwPreferencesGroup"> <property name="title" translatable="1">IP Address</property> <child> <object class="AdwActionRow"> <property name="activatable-widget">stun_server</property> <property name="title" translatable="1">ST_UN server</property> <property name="use-underline">1</property> <child> <object class="GtkEntry" id="stun_server"> <property name="halign">fill</property> <property name="hexpand">1</property> <property name="valign">center</property> <property name="focusable">1</property> <property name="placeholder-text" translatable="1">Example: stunserver.org</property> <property name="input-purpose">url</property> <child> <object class="GtkEventControllerFocus"> <signal name="leave" handler="network_stun_server_changed_cb" object="stun_server" swapped="no"/> </object> </child> </object> </child> </object> </child> <child> <object class="AdwActionRow" id="auto_ip_row"> <property name="activatable-widget">auto_ip</property> <property name="title" translatable="1">Use _automatically detected IP address</property> <property name="use-underline">1</property> <child> <object class="GtkSwitch" id="auto_ip"> <property name="focusable">1</property> <property name="valign">center</property> <signal name="notify::active" handler="auto_ip_button_clicked_cb" after="yes" swapped="no"/> </object> </child> </object> </child> <child> <object class="AdwActionRow" id="public_ip_row"> <property name="activatable-widget">public_ip</property> <property name="title" translatable="1">Public _IP</property> <property name="use-underline">1</property> <child> <object class="GtkEntry" id="public_ip"> <property name="focusable">1</property> <property name="hexpand">1</property> <property name="valign">center</property> <signal name="changed" handler="network_ip_changed" swapped="no"/> </object> </child> </object> </child> </object> </child> <child> <object class="AdwPreferencesGroup"> <property name="title" translatable="1">Ports</property> <child> <object class="AdwActionRow"> <property name="activatable-widget">map_ports</property> <property name="title" translatable="1">_Enable automatic router port forwarding</property> <property name="use-underline">1</property> <child> <object class="GtkSwitch" id="map_ports"> <property name="focusable">1</property> <property name="valign">center</property> </object> </child> </object> </child> <child> <object class="AdwExpanderRow" id="ports_range_use"> <property name="title" translatable="1">_Manually specify range of ports to listen on</property> <property name="show-enable-switch">1</property> <property name="use-underline">1</property> <child> <object class="AdwActionRow"> <property name="activatable-widget">ports_range_start</property> <property name="title" translatable="1">_Start</property> <property name="use-underline">1</property> <child> <object class="GtkSpinButton" id="ports_range_start"> <property name="focusable">1</property> <property name="valign">center</property> <property name="text" translatable="1">0</property> <property name="adjustment">ports_range_start.adjustment</property> <property name="numeric">1</property> </object> </child> </object> </child> <child> <object class="AdwActionRow"> <property name="activatable-widget">ports_range_end</property> <property name="title" translatable="1">_End</property> <property name="use-underline">1</property> <child> <object class="GtkSpinButton" id="ports_range_end"> <property name="focusable">1</property> <property name="valign">center</property> <property name="text" translatable="1">0</property> <property name="adjustment">ports_range_end.adjustment</property> <property name="numeric">1</property> </object> </child> </object> </child> </object> </child> </object> </child> <child> <object class="AdwPreferencesGroup"> <property name="title" translatable="1">Relay Server (TURN)</property> <child> <object class="AdwActionRow"> <property name="activatable-widget">turn_server</property> <property name="title" translatable="1">_TURN server</property> <property name="use-underline">1</property> <child> <object class="GtkEntry" id="turn_server"> <property name="focusable">1</property> <property name="hexpand">1</property> <property name="valign">center</property> <child> <object class="GtkEventControllerFocus"> <signal name="leave" handler="network_turn_server_changed_cb" object="turn_server" swapped="no"/> </object> </child> </object> </child> </object> </child> <child> <object class="AdwActionRow"> <property name="activatable-widget">turn_port_udp</property> <property name="title" translatable="1">_UDP Port</property> <property name="use-underline">1</property> <child> <object class="GtkSpinButton" id="turn_port_udp"> <property name="focusable">1</property> <property name="hexpand">1</property> <property name="valign">center</property> <property name="adjustment">turn_port_udp.adjustment</property> <property name="numeric">1</property> </object> </child> </object> </child> <child> <object class="AdwActionRow"> <property name="activatable-widget">turn_port_tcp</property> <property name="title" translatable="1">T_CP Port</property> <property name="use-underline">1</property> <child> <object class="GtkSpinButton" id="turn_port_tcp"> <property name="focusable">1</property> <property name="hexpand">1</property> <property name="valign">center</property> <property name="adjustment">turn_port_tcp.adjustment</property> <property name="numeric">1</property> </object> </child> </object> </child> <child> <object class="AdwActionRow"> <property name="activatable-widget">turn_username</property> <property name="title" translatable="1">Use_rname</property> <property name="use-underline">1</property> <child> <object class="GtkEntry" id="turn_username"> <property name="focusable">1</property> <property name="hexpand">1</property> <property name="valign">center</property> </object> </child> </object> </child> <child> <object class="AdwActionRow"> <property name="activatable-widget">turn_password</property> <property name="title" translatable="1">Pass_word</property> <property name="use-underline">1</property> <child> <object class="GtkPasswordEntry" id="turn_password"> <property name="focusable">1</property> <property name="hexpand">1</property> <property name="show-peek-icon">1</property> <property name="valign">center</property> </object> </child> </object> </child> </object> </child> </template> </interface>