Fri, 13 May 2022 04:50:00 -0500
Split conversation/interface prefs into a separate widget
No re-design, just `HdyPreferencesGroup` instead of `GtkFrame`.
Testing Done:
Opened Preferences, changed options and made sure everything was saving according to the debug log.
Reviewed at https://reviews.imfreedom.org/r/1444/
<?xml version="1.0" encoding="UTF-8"?> <!-- Generated with glade 3.38.2 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="3.22"/> <!-- interface-license-type gplv2 --> <!-- interface-name Pidgin --> <!-- interface-description Internet Messenger --> <!-- interface-copyright Pidgin Developers <devel@pidgin.im> --> <object class="GtkAdjustment" id="port.adjustment"> <property name="upper">65535</property> <property name="step-increment">1</property> <property name="page-increment">10</property> </object> <object class="GtkListStore" id="type.store"> <columns> <!-- column-name text --> <column type="gchararray"/> <!-- column-name value --> <column type="gchararray"/> </columns> <data> <row> <col id="0" translatable="yes">No proxy</col> <col id="1">none</col> </row> <row> <col id="0" translatable="yes">SOCKS 4</col> <col id="1">socks4</col> </row> <row> <col id="0" translatable="yes">SOCKS 5</col> <col id="1">socks5</col> </row> <row> <col id="0" translatable="yes">Tor/Privacy (SOCKS 5)</col> <col id="1">tor</col> </row> <row> <col id="0" translatable="yes">HTTP</col> <col id="1">http</col> </row> <row> <col id="0" translatable="yes">Use Environmental Settings</col> <col id="1">envvar</col> </row> </data> </object> <template class="PidginProxyPrefs" parent="HdyPreferencesPage"> <property name="visible">True</property> <property name="can-focus">False</property> <child> <object class="HdyPreferencesGroup"> <property name="visible">True</property> <property name="can-focus">False</property> <property name="title" translatable="yes">Proxy Server</property> <child> <object class="GtkAlignment"> <property name="visible">True</property> <property name="can-focus">False</property> <property name="left-padding">12</property> <child> <object class="GtkStack" id="stack"> <property name="visible">True</property> <property name="can-focus">False</property> <property name="hhomogeneous">False</property> <property name="vhomogeneous">False</property> <child> <object class="GtkBox"> <property name="visible">True</property> <property name="can-focus">False</property> <property name="orientation">vertical</property> <property name="spacing">6</property> <child> <object class="GtkLabel"> <property name="visible">True</property> <property name="can-focus">False</property> <property name="label" translatable="yes">Proxy preferences are configured in GNOME preferences</property> <property name="xalign">0</property> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">0</property> </packing> </child> <child> <object class="GtkBox"> <property name="visible">True</property> <property name="can-focus">False</property> <property name="spacing">6</property> <child> <object class="GtkLabel" id="gnome_not_found"> <property name="visible">True</property> <property name="can-focus">False</property> <property name="label" translatable="yes">Proxy configuration program was not found.</property> <attributes> <attribute name="weight" value="bold"/> </attributes> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">0</property> </packing> </child> <child> <object class="GtkButton" id="gnome_program"> <property name="label" translatable="yes">Configure _Proxy</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="proxy_button_clicked_cb" object="PidginProxyPrefs" swapped="no"/> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">1</property> </packing> </child> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">1</property> </packing> </child> </object> <packing> <property name="name">gnome</property> </packing> </child> <child> <object class="GtkBox"> <property name="visible">True</property> <property name="can-focus">False</property> <property name="orientation">vertical</property> <property name="spacing">6</property> <child> <object class="GtkCheckButton" id="socks4_remotedns"> <property name="label" translatable="yes">Use remote _DNS with SOCKS4 proxies</property> <property name="visible">True</property> <property name="can-focus">True</property> <property name="receives-default">False</property> <property name="use-underline">True</property> <property name="draw-indicator">True</property> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">0</property> </packing> </child> <child> <object class="GtkBox"> <property name="visible">True</property> <property name="can-focus">False</property> <property name="spacing">6</property> <child> <object class="GtkLabel"> <property name="visible">True</property> <property name="can-focus">False</property> <property name="label" translatable="yes">Proxy t_ype:</property> <property name="use-underline">True</property> <property name="mnemonic-widget">type.combo</property> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">0</property> </packing> </child> <child> <object class="GtkComboBox" id="type.combo"> <property name="visible">True</property> <property name="can-focus">False</property> <property name="model">type.store</property> <child> <object class="GtkCellRendererText"/> <attributes> <attribute name="text">0</attribute> </attributes> </child> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">1</property> </packing> </child> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">1</property> </packing> </child> <child> <!-- n-columns=4 n-rows=3 --> <object class="GtkGrid" id="options"> <property name="visible">True</property> <property name="can-focus">False</property> <property name="row-spacing">10</property> <property name="column-spacing">5</property> <child> <object class="GtkLabel"> <property name="visible">True</property> <property name="can-focus">False</property> <property name="label" translatable="yes">_Host:</property> <property name="use-underline">True</property> <property name="mnemonic-widget">host</property> <property name="xalign">1</property> <accessibility> <relation type="label-for" target="host"/> </accessibility> </object> <packing> <property name="left-attach">0</property> <property name="top-attach">0</property> </packing> </child> <child> <object class="GtkEntry" id="host"> <property name="visible">True</property> <property name="can-focus">True</property> <signal name="changed" handler="proxy_print_option" object="PidginProxyPrefs" swapped="no"/> </object> <packing> <property name="left-attach">1</property> <property name="top-attach">0</property> </packing> </child> <child> <object class="GtkLabel"> <property name="visible">True</property> <property name="can-focus">False</property> <property name="label" translatable="yes">P_ort:</property> <property name="use-underline">True</property> <property name="xalign">1</property> <accessibility> <relation type="label-for" target="port"/> </accessibility> </object> <packing> <property name="left-attach">2</property> <property name="top-attach">0</property> </packing> </child> <child> <object class="GtkSpinButton" id="port"> <property name="visible">True</property> <property name="can-focus">True</property> <property name="text" translatable="yes">0</property> <property name="adjustment">port.adjustment</property> <property name="numeric">True</property> <signal name="changed" handler="proxy_print_option" object="PidginProxyPrefs" swapped="no"/> </object> <packing> <property name="left-attach">3</property> <property name="top-attach">0</property> </packing> </child> <child> <object class="GtkLabel"> <property name="visible">True</property> <property name="can-focus">False</property> <property name="label" translatable="yes">User_name:</property> <property name="use-underline">True</property> <property name="mnemonic-widget">username</property> <property name="xalign">1</property> </object> <packing> <property name="left-attach">0</property> <property name="top-attach">1</property> </packing> </child> <child> <object class="GtkEntry" id="username"> <property name="visible">True</property> <property name="can-focus">True</property> <signal name="changed" handler="proxy_print_option" object="PidginProxyPrefs" swapped="no"/> </object> <packing> <property name="left-attach">1</property> <property name="top-attach">1</property> </packing> </child> <child> <object class="GtkLabel"> <property name="visible">True</property> <property name="can-focus">False</property> <property name="label" translatable="yes">Pa_ssword:</property> <property name="use-underline">True</property> <property name="mnemonic-widget">password</property> <property name="xalign">1</property> <accessibility> <relation type="label-for" target="password"/> </accessibility> </object> <packing> <property name="left-attach">2</property> <property name="top-attach">1</property> </packing> </child> <child> <object class="GtkEntry" id="password"> <property name="visible">True</property> <property name="can-focus">True</property> <property name="visibility">False</property> <property name="invisible-char">●</property> <property name="input-purpose">password</property> <signal name="changed" handler="proxy_print_option" object="PidginProxyPrefs" swapped="no"/> </object> <packing> <property name="left-attach">3</property> <property name="top-attach">1</property> </packing> </child> <child> <placeholder/> </child> <child> <placeholder/> </child> <child> <placeholder/> </child> <child> <placeholder/> </child> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">2</property> </packing> </child> </object> <packing> <property name="name">nongnome</property> <property name="position">1</property> </packing> </child> </object> </child> </object> </child> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">0</property> </packing> </child> </template> </interface>