Fri, 13 May 2022 03:17:59 -0500
Split network prefs into a separate widget
No re-designing, but did switch `GtkFrame` to `HdyPreferencesGroup` to work in a `HdyPreferencesPage`.
Testing Done:
Opened Preferences and saw no errors; changed all settings and saw the prefs being saved in debug window.
Reviewed at https://reviews.imfreedom.org/r/1441/
<?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, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. --> <interface> <requires lib="gtk+" version="3.22"/> <requires lib="Talkatu" version="0.0"/> <requires lib="pidgin" version="3.0"/> <!-- interface-license-type gplv2 --> <!-- interface-name Pidgin --> <!-- interface-description Internet Messenger --> <!-- interface-copyright Pidgin Developers <devel@pidgin.im> --> <object class="TalkatuTagTable" id="conversations.format_tag_table"/> <object class="TalkatuWholeBuffer" id="conversations.format_buffer"> <property name="tag-table">conversations.format_tag_table</property> <property name="text" translatable="yes">This is how your outgoing message text will appear when you use protocols that support formatting.</property> <property name="style">whole</property> </object> <object class="GtkAdjustment" id="conversations.minimum_entry_lines.adjustment"> <property name="lower">1</property> <property name="upper">8</property> <property name="value">2</property> <property name="step-increment">1</property> <property name="page-increment">1</property> </object> <object class="GtkSizeGroup" id="iface.sg"/> <object class="GtkAdjustment" id="proxy.port.adjustment"> <property name="upper">65535</property> <property name="step-increment">1</property> <property name="page-increment">10</property> </object> <object class="GtkListStore" id="proxy.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="PidginPrefsWindow" parent="GtkDialog"> <property name="can-focus">False</property> <property name="title" translatable="yes">Preferences</property> <property name="type-hint">dialog</property> <signal name="destroy" handler="delete_prefs" swapped="no"/> <child internal-child="vbox"> <object class="GtkBox"> <property name="can-focus">False</property> <property name="orientation">vertical</property> <property name="spacing">2</property> <child internal-child="action_area"> <object class="GtkButtonBox"> <property name="can-focus">False</property> <property name="layout-style">end</property> <child> <object class="GtkButton"> <property name="label" translatable="yes">_Close</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="gtk_widget_destroy" object="PidginPrefsWindow" swapped="yes"/> </object> <packing> <property name="expand">True</property> <property name="fill">True</property> <property name="position">0</property> </packing> </child> </object> <packing> <property name="expand">False</property> <property name="fill">False</property> <property name="position">0</property> </packing> </child> <child> <object class="GtkBox"> <property name="visible">True</property> <property name="can-focus">False</property> <child> <object class="GtkStackSidebar"> <property name="visible">True</property> <property name="can-focus">False</property> <property name="stack">stack</property> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">0</property> </packing> </child> <child> <object class="GtkStack" id="stack"> <property name="visible">True</property> <property name="can-focus">False</property> <child> <object class="GtkBox" id="conversations.page"> <property name="visible">True</property> <property name="can-focus">False</property> <property name="border-width">12</property> <property name="orientation">vertical</property> <property name="spacing">18</property> <child> <object class="GtkFrame"> <property name="visible">True</property> <property name="can-focus">False</property> <property name="label-xalign">0</property> <property name="shadow-type">none</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="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="conversations.show_incoming_formatting"> <property name="label" translatable="yes">Show _formatting on incoming messages</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="GtkCheckButton" id="conversations.im.send_typing"> <property name="label" translatable="yes">_Notify buddies that you are typing to them</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">1</property> </packing> </child> <child> <object class="GtkCheckButton" id="conversations.use_smooth_scrolling"> <property name="label" translatable="yes">Use smooth-scrolling</property> <property name="visible">True</property> <property name="can-focus">True</property> <property name="receives-default">False</property> <property name="draw-indicator">True</property> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">2</property> </packing> </child> <child> <object class="GtkCheckButton" id="conversations.win32.blink_im"> <property name="label" translatable="yes">F_lash window when IMs are received</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">3</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">Minimum input area height in lines:</property> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">0</property> </packing> </child> <child> <object class="GtkSpinButton" id="conversations.minimum_entry_lines"> <property name="visible">True</property> <property name="can-focus">True</property> <property name="input-purpose">digits</property> <property name="adjustment">conversations.minimum_entry_lines.adjustment</property> <property name="numeric">True</property> </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">4</property> </packing> </child> </object> </child> </object> </child> <child type="label"> <object class="GtkLabel"> <property name="visible">True</property> <property name="can-focus">False</property> <property name="label" translatable="yes">Conversations</property> <attributes> <attribute name="weight" value="bold"/> </attributes> </object> </child> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">0</property> </packing> </child> <child> <object class="GtkFrame"> <property name="visible">True</property> <property name="can-focus">False</property> <property name="label-xalign">0</property> <property name="shadow-type">none</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="GtkBox" id="conversations.sample_box"> <property name="visible">True</property> <property name="can-focus">False</property> <property name="orientation">vertical</property> <child> <object class="TalkatuEditor"> <property name="visible">True</property> <property name="can-focus">False</property> <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> <property name="orientation">vertical</property> <child internal-child="send_button"> <object class="GtkButton"> <property name="can-focus">False</property> <property name="receives-default">False</property> </object> <packing> <property name="expand">False</property> <property name="fill">False</property> <property name="position">0</property> </packing> </child> <child internal-child="toolbar"> <object class="TalkatuToolbar"> <property name="visible">True</property> <property name="can-focus">False</property> <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> </object> <packing> <property name="expand">False</property> <property name="fill">False</property> <property name="position">0</property> </packing> </child> <child internal-child="input"> <object class="TalkatuInput" id="conversations.format_view"> <property name="width-request">450</property> <property name="visible">True</property> <property name="can-focus">True</property> <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> <property name="wrap-mode">word</property> <property name="buffer">conversations.format_buffer</property> </object> <packing> <property name="expand">False</property> <property name="fill">False</property> <property name="position">0</property> </packing> </child> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">0</property> </packing> </child> </object> </child> </object> </child> <child type="label"> <object class="GtkLabel"> <property name="visible">True</property> <property name="can-focus">False</property> <property name="label" translatable="yes">Default Formatting</property> <attributes> <attribute name="weight" value="bold"/> </attributes> </object> </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">conversations</property> <property name="title" translatable="yes">Conversations</property> </packing> </child> <child> <object class="PidginNetworkPage"> <property name="visible">True</property> <property name="can-focus">False</property> </object> <packing> <property name="name">network</property> <property name="title" translatable="yes">Network</property> <property name="position">1</property> </packing> </child> <child> <object class="GtkBox" id="proxy.page"> <property name="visible">True</property> <property name="can-focus">False</property> <property name="border-width">12</property> <property name="orientation">vertical</property> <property name="spacing">18</property> <child> <object class="GtkFrame"> <property name="visible">True</property> <property name="can-focus">False</property> <property name="label-xalign">0</property> <property name="shadow-type">none</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="proxy.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="proxy.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="proxy.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="PidginPrefsWindow" 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="proxy.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">proxy.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="proxy.type.combo"> <property name="visible">True</property> <property name="can-focus">False</property> <property name="model">proxy.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="proxy.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">proxy.host</property> <property name="xalign">1</property> <accessibility> <relation type="label-for" target="proxy.host"/> </accessibility> </object> <packing> <property name="left-attach">0</property> <property name="top-attach">0</property> </packing> </child> <child> <object class="GtkEntry" id="proxy.host"> <property name="visible">True</property> <property name="can-focus">True</property> <signal name="changed" handler="proxy_print_option" object="PidginPrefsWindow" 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="proxy.port"/> </accessibility> </object> <packing> <property name="left-attach">2</property> <property name="top-attach">0</property> </packing> </child> <child> <object class="GtkSpinButton" id="proxy.port"> <property name="visible">True</property> <property name="can-focus">True</property> <property name="text" translatable="yes">0</property> <property name="adjustment">proxy.port.adjustment</property> <property name="numeric">True</property> <signal name="changed" handler="proxy_print_option" object="PidginPrefsWindow" 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">proxy.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="proxy.username"> <property name="visible">True</property> <property name="can-focus">True</property> <signal name="changed" handler="proxy_print_option" object="PidginPrefsWindow" 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">proxy.password</property> <property name="xalign">1</property> <accessibility> <relation type="label-for" target="proxy.password"/> </accessibility> </object> <packing> <property name="left-attach">2</property> <property name="top-attach">1</property> </packing> </child> <child> <object class="GtkEntry" id="proxy.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="PidginPrefsWindow" 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> <child type="label"> <object class="GtkLabel"> <property name="visible">True</property> <property name="can-focus">False</property> <property name="label" translatable="yes">Proxy Server</property> <attributes> <attribute name="weight" value="bold"/> </attributes> </object> </child> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">0</property> </packing> </child> </object> <packing> <property name="name">proxy</property> <property name="title" translatable="yes">Proxy</property> <property name="position">2</property> </packing> </child> <child> <object class="PidginAwayPage"> <property name="visible">True</property> <property name="can-focus">False</property> </object> <packing> <property name="name">away</property> <property name="title" translatable="yes">Status / Idle</property> <property name="position">3</property> </packing> </child> <child> <object class="PidginCredentialsPage"> <property name="visible">True</property> <property name="can-focus">False</property> </object> <packing> <property name="name">credentials</property> <property name="title" translatable="yes">Credentials</property> <property name="position">4</property> </packing> </child> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">1</property> </packing> </child> <child> <placeholder/> </child> </object> <packing> <property name="expand">True</property> <property name="fill">True</property> <property name="position">0</property> </packing> </child> </object> </child> </template> </interface>