tdf#157854 - UI: Part 12 - Unify lockdown behavior of Options dialog

for Internet Proxy Page.

Change-Id: I2332d272905e12a235d7729c0565922ad98960f8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158499
Tested-by: Jenkins
Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
diff --git a/cui/source/options/optinet2.cxx b/cui/source/options/optinet2.cxx
index 9080195..979d920 100644
--- a/cui/source/options/optinet2.cxx
+++ b/cui/source/options/optinet2.cxx
@@ -127,21 +127,30 @@ IMPL_STATIC_LINK(SvxProxyTabPage, NoSpaceTextFilterHdl, OUString&, rTest, bool)
/********************************************************************/
SvxProxyTabPage::SvxProxyTabPage(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rSet)
    : SfxTabPage(pPage, pController, "cui/ui/optproxypage.ui", "OptProxyPage", &rSet)
    , m_xProxyModeFT(m_xBuilder->weld_label("label2"))
    , m_xProxyModeLB(m_xBuilder->weld_combo_box("proxymode"))
    , m_xProxyModeImg(m_xBuilder->weld_widget("lockproxymode"))
    , m_xHttpProxyFT(m_xBuilder->weld_label("httpft"))
    , m_xHttpProxyED(m_xBuilder->weld_entry("http"))
    , m_xHttpProxyImg(m_xBuilder->weld_widget("lockhttp"))
    , m_xHttpPortFT(m_xBuilder->weld_label("httpportft"))
    , m_xHttpPortED(m_xBuilder->weld_entry("httpport"))
    , m_xHttpPortImg(m_xBuilder->weld_widget("lockhttpport"))
    , m_xHttpsProxyFT(m_xBuilder->weld_label("httpsft"))
    , m_xHttpsProxyED(m_xBuilder->weld_entry("https"))
    , m_xHttpsProxyImg(m_xBuilder->weld_widget("lockhttps"))
    , m_xHttpsPortFT(m_xBuilder->weld_label("httpsportft"))
    , m_xHttpsPortED(m_xBuilder->weld_entry("httpsport"))
    , m_xHttpsPortImg(m_xBuilder->weld_widget("lockhttpsport"))
    , m_xFtpProxyFT(m_xBuilder->weld_label("ftpft"))
    , m_xFtpProxyED(m_xBuilder->weld_entry("ftp"))
    , m_xFtpProxyImg(m_xBuilder->weld_widget("lockftp"))
    , m_xFtpPortFT(m_xBuilder->weld_label("ftpportft"))
    , m_xFtpPortED(m_xBuilder->weld_entry("ftpport"))
    , m_xFtpPortImg(m_xBuilder->weld_widget("lockftpport"))
    , m_xNoProxyForFT(m_xBuilder->weld_label("noproxyft"))
    , m_xNoProxyForED(m_xBuilder->weld_entry("noproxy"))
    , m_xNoProxyForImg(m_xBuilder->weld_widget("locknoproxy"))
    , m_xNoProxyDescFT(m_xBuilder->weld_label("noproxydesc"))
{
    m_xHttpProxyED->connect_insert_text(LINK(this, SvxProxyTabPage, NoSpaceTextFilterHdl));
@@ -437,34 +446,48 @@ bool SvxProxyTabPage::FillItemSet(SfxItemSet* )

void SvxProxyTabPage::EnableControls_Impl()
{
    m_xProxyModeLB->set_sensitive(!officecfg::Inet::Settings::ooInetNoProxy::isReadOnly());
    bool bEnable = !officecfg::Inet::Settings::ooInetNoProxy::isReadOnly();
    m_xProxyModeFT->set_sensitive(bEnable);
    m_xProxyModeLB->set_sensitive(bEnable);
    m_xProxyModeImg->set_visible(!bEnable);

    const bool bManualConfig = m_xProxyModeLB->get_active() == 2;

    const bool bHTTPProxyNameEnabled = bManualConfig && !officecfg::Inet::Settings::ooInetHTTPProxyName::isReadOnly();
    const bool bHTTPProxyPortEnabled = bManualConfig && !officecfg::Inet::Settings::ooInetHTTPProxyPort::isReadOnly();
    bEnable = !officecfg::Inet::Settings::ooInetHTTPProxyName::isReadOnly();
    const bool bHTTPProxyNameEnabled = bManualConfig && bEnable;
    const bool bHTTPProxyPortEnabled = bManualConfig && bEnable;
    m_xHttpProxyFT->set_sensitive(bHTTPProxyNameEnabled);
    m_xHttpProxyED->set_sensitive(bHTTPProxyNameEnabled);
    m_xHttpProxyImg->set_visible(!bEnable);
    m_xHttpPortFT->set_sensitive(bHTTPProxyPortEnabled);
    m_xHttpPortED->set_sensitive(bHTTPProxyPortEnabled);
    m_xHttpPortImg->set_visible(!bEnable);

    const bool bHTTPSProxyNameEnabled = bManualConfig && !officecfg::Inet::Settings::ooInetHTTPSProxyName::isReadOnly();
    const bool bHTTPSProxyPortEnabled = bManualConfig && !officecfg::Inet::Settings::ooInetHTTPSProxyPort::isReadOnly();
    bEnable = !officecfg::Inet::Settings::ooInetHTTPSProxyName::isReadOnly();
    const bool bHTTPSProxyNameEnabled = bManualConfig && bEnable;
    const bool bHTTPSProxyPortEnabled = bManualConfig && bEnable;
    m_xHttpsProxyFT->set_sensitive(bHTTPSProxyNameEnabled);
    m_xHttpsProxyED->set_sensitive(bHTTPSProxyNameEnabled);
    m_xHttpsProxyImg->set_visible(!bEnable);
    m_xHttpsPortFT->set_sensitive(bHTTPSProxyPortEnabled);
    m_xHttpsPortED->set_sensitive(bHTTPSProxyPortEnabled);
    m_xHttpsPortImg->set_visible(!bEnable);

    const bool bFTPProxyNameEnabled = bManualConfig && !officecfg::Inet::Settings::ooInetFTPProxyName::isReadOnly();
    const bool bFTPProxyPortEnabled = bManualConfig && !officecfg::Inet::Settings::ooInetFTPProxyPort::isReadOnly();
    bEnable = !officecfg::Inet::Settings::ooInetFTPProxyName::isReadOnly();
    const bool bFTPProxyNameEnabled = bManualConfig && bEnable;
    const bool bFTPProxyPortEnabled = bManualConfig && bEnable;
    m_xFtpProxyFT->set_sensitive(bFTPProxyNameEnabled);
    m_xFtpProxyED->set_sensitive(bFTPProxyNameEnabled);
    m_xFtpProxyImg->set_visible(!bEnable);
    m_xFtpPortFT->set_sensitive(bFTPProxyPortEnabled);
    m_xFtpPortED->set_sensitive(bFTPProxyPortEnabled);
    m_xFtpPortImg->set_visible(!bEnable);

    const bool bInetNoProxyEnabled = bManualConfig && !officecfg::Inet::Settings::ooInetNoProxy::isReadOnly();
    bEnable = !officecfg::Inet::Settings::ooInetNoProxy::isReadOnly();
    const bool bInetNoProxyEnabled = bManualConfig && bEnable;
    m_xNoProxyForFT->set_sensitive(bInetNoProxyEnabled);
    m_xNoProxyForED->set_sensitive(bInetNoProxyEnabled);
    m_xNoProxyForImg->set_visible(!bEnable);
    m_xNoProxyDescFT->set_sensitive(bInetNoProxyEnabled);
}

diff --git a/cui/source/options/optinet2.hxx b/cui/source/options/optinet2.hxx
index 1ad3072..efec0d5 100644
--- a/cui/source/options/optinet2.hxx
+++ b/cui/source/options/optinet2.hxx
@@ -30,25 +30,34 @@ class SvxProxyTabPage : public SfxTabPage
{
private:

    std::unique_ptr<weld::Label> m_xProxyModeFT;
    std::unique_ptr<weld::ComboBox> m_xProxyModeLB;
    std::unique_ptr<weld::Widget> m_xProxyModeImg;

    std::unique_ptr<weld::Label> m_xHttpProxyFT;
    std::unique_ptr<weld::Entry> m_xHttpProxyED;
    std::unique_ptr<weld::Widget> m_xHttpProxyImg;
    std::unique_ptr<weld::Label> m_xHttpPortFT;
    std::unique_ptr<weld::Entry> m_xHttpPortED;
    std::unique_ptr<weld::Widget> m_xHttpPortImg;

    std::unique_ptr<weld::Label> m_xHttpsProxyFT;
    std::unique_ptr<weld::Entry> m_xHttpsProxyED;
    std::unique_ptr<weld::Widget> m_xHttpsProxyImg;
    std::unique_ptr<weld::Label> m_xHttpsPortFT;
    std::unique_ptr<weld::Entry> m_xHttpsPortED;
    std::unique_ptr<weld::Widget> m_xHttpsPortImg;

    std::unique_ptr<weld::Label> m_xFtpProxyFT;
    std::unique_ptr<weld::Entry> m_xFtpProxyED;
    std::unique_ptr<weld::Widget> m_xFtpProxyImg;
    std::unique_ptr<weld::Label> m_xFtpPortFT;
    std::unique_ptr<weld::Entry> m_xFtpPortED;
    std::unique_ptr<weld::Widget> m_xFtpPortImg;

    std::unique_ptr<weld::Label> m_xNoProxyForFT;
    std::unique_ptr<weld::Entry> m_xNoProxyForED;
    std::unique_ptr<weld::Widget> m_xNoProxyForImg;
    std::unique_ptr<weld::Label> m_xNoProxyDescFT;

    css::uno::Reference< css::uno::XInterface > m_xConfigurationUpdateAccess;
diff --git a/cui/uiconfig/ui/optproxypage.ui b/cui/uiconfig/ui/optproxypage.ui
index 6639376..292c524 100644
--- a/cui/uiconfig/ui/optproxypage.ui
+++ b/cui/uiconfig/ui/optproxypage.ui
@@ -1,45 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.36.0 -->
<!-- Generated with glade 3.38.2 -->
<interface domain="cui">
  <requires lib="gtk+" version="3.20"/>
  <object class="GtkFrame" id="OptProxyPage">
    <property name="visible">True</property>
    <property name="can_focus">False</property>
    <property name="can-focus">False</property>
    <property name="hexpand">True</property>
    <property name="border_width">6</property>
    <property name="label_xalign">0</property>
    <property name="shadow_type">none</property>
    <property name="border-width">6</property>
    <property name="label-xalign">0</property>
    <property name="shadow-type">none</property>
    <child>
      <!-- n-columns=1 n-rows=1 -->
      <!-- n-columns=6 n-rows=5 -->
      <object class="GtkGrid" id="grid1">
        <property name="visible">True</property>
        <property name="can_focus">False</property>
        <property name="hexpand">True</property>
        <property name="row_spacing">6</property>
        <property name="column_spacing">12</property>
        <property name="can-focus">False</property>
        <property name="margin-start">12</property>
        <property name="margin-top">6</property>
        <property name="hexpand">True</property>
        <property name="row-spacing">6</property>
        <property name="column-spacing">12</property>
        <child>
          <object class="GtkLabel" id="label2">
            <property name="visible">True</property>
            <property name="can_focus">False</property>
            <property name="can-focus">False</property>
            <property name="label" translatable="yes" context="optproxypage|label2">Proxy s_erver:</property>
            <property name="use_underline">True</property>
            <property name="mnemonic_widget">proxymode</property>
            <property name="use-underline">True</property>
            <property name="mnemonic-widget">proxymode</property>
            <property name="xalign">0</property>
          </object>
          <packing>
            <property name="left_attach">0</property>
            <property name="top_attach">0</property>
            <property name="left-attach">1</property>
            <property name="top-attach">0</property>
          </packing>
        </child>
        <child>
          <object class="GtkEntry" id="http">
            <property name="visible">True</property>
            <property name="can_focus">True</property>
            <property name="can-focus">True</property>
            <property name="valign">center</property>
            <property name="hexpand">True</property>
            <property name="activates_default">True</property>
            <property name="activates-default">True</property>
            <property name="truncate-multiline">True</property>
            <child internal-child="accessible">
              <object class="AtkObject" id="http-atkobject">
@@ -48,17 +48,17 @@
            </child>
          </object>
          <packing>
            <property name="left_attach">1</property>
            <property name="top_attach">1</property>
            <property name="left-attach">2</property>
            <property name="top-attach">1</property>
          </packing>
        </child>
        <child>
          <object class="GtkEntry" id="https">
            <property name="visible">True</property>
            <property name="can_focus">True</property>
            <property name="can-focus">True</property>
            <property name="valign">center</property>
            <property name="hexpand">True</property>
            <property name="activates_default">True</property>
            <property name="activates-default">True</property>
            <property name="truncate-multiline">True</property>
            <child internal-child="accessible">
              <object class="AtkObject" id="https-atkobject">
@@ -67,17 +67,17 @@
            </child>
          </object>
          <packing>
            <property name="left_attach">1</property>
            <property name="top_attach">2</property>
            <property name="left-attach">2</property>
            <property name="top-attach">2</property>
          </packing>
        </child>
        <child>
          <object class="GtkEntry" id="ftp">
            <property name="visible">True</property>
            <property name="can_focus">True</property>
            <property name="can-focus">True</property>
            <property name="valign">center</property>
            <property name="hexpand">True</property>
            <property name="activates_default">True</property>
            <property name="activates-default">True</property>
            <property name="truncate-multiline">True</property>
            <child internal-child="accessible">
              <object class="AtkObject" id="ftp-atkobject">
@@ -86,17 +86,17 @@
            </child>
          </object>
          <packing>
            <property name="left_attach">1</property>
            <property name="top_attach">3</property>
            <property name="left-attach">2</property>
            <property name="top-attach">3</property>
          </packing>
        </child>
        <child>
          <object class="GtkEntry" id="noproxy">
            <property name="visible">True</property>
            <property name="can_focus">True</property>
            <property name="can-focus">True</property>
            <property name="valign">center</property>
            <property name="hexpand">True</property>
            <property name="activates_default">True</property>
            <property name="activates-default">True</property>
            <property name="truncate-multiline">True</property>
            <child internal-child="accessible">
              <object class="AtkObject" id="noproxy-atkobject">
@@ -105,20 +105,20 @@
            </child>
          </object>
          <packing>
            <property name="left_attach">1</property>
            <property name="top_attach">4</property>
            <property name="left-attach">2</property>
            <property name="top-attach">4</property>
          </packing>
        </child>
        <child>
          <object class="GtkEntry" id="httpport">
            <property name="visible">True</property>
            <property name="can_focus">True</property>
            <property name="can-focus">True</property>
            <property name="valign">center</property>
            <property name="max_length">5</property>
            <property name="activates_default">True</property>
            <property name="width_chars">5</property>
            <property name="input_purpose">digits</property>
            <property name="max-length">5</property>
            <property name="activates-default">True</property>
            <property name="width-chars">5</property>
            <property name="truncate-multiline">True</property>
            <property name="input-purpose">digits</property>
            <child internal-child="accessible">
              <object class="AtkObject" id="httpport-atkobject">
                <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|httpport">Type the port for the corresponding proxy server.</property>
@@ -126,20 +126,20 @@
            </child>
          </object>
          <packing>
            <property name="left_attach">3</property>
            <property name="top_attach">1</property>
            <property name="left-attach">5</property>
            <property name="top-attach">1</property>
          </packing>
        </child>
        <child>
          <object class="GtkEntry" id="httpsport">
            <property name="visible">True</property>
            <property name="can_focus">True</property>
            <property name="can-focus">True</property>
            <property name="valign">center</property>
            <property name="max_length">5</property>
            <property name="activates_default">True</property>
            <property name="width_chars">5</property>
            <property name="input_purpose">digits</property>
            <property name="max-length">5</property>
            <property name="activates-default">True</property>
            <property name="width-chars">5</property>
            <property name="truncate-multiline">True</property>
            <property name="input-purpose">digits</property>
            <child internal-child="accessible">
              <object class="AtkObject" id="httpsport-atkobject">
                <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|httpsport">Type the port for the corresponding proxy server.</property>
@@ -147,20 +147,20 @@
            </child>
          </object>
          <packing>
            <property name="left_attach">3</property>
            <property name="top_attach">2</property>
            <property name="left-attach">5</property>
            <property name="top-attach">2</property>
          </packing>
        </child>
        <child>
          <object class="GtkEntry" id="ftpport">
            <property name="visible">True</property>
            <property name="can_focus">True</property>
            <property name="can-focus">True</property>
            <property name="valign">center</property>
            <property name="max_length">5</property>
            <property name="activates_default">True</property>
            <property name="width_chars">5</property>
            <property name="input_purpose">digits</property>
            <property name="max-length">5</property>
            <property name="activates-default">True</property>
            <property name="width-chars">5</property>
            <property name="truncate-multiline">True</property>
            <property name="input-purpose">digits</property>
            <child internal-child="accessible">
              <object class="AtkObject" id="ftpport-atkobject">
                <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|ftpport">Type the port for the corresponding proxy server.</property>
@@ -168,14 +168,14 @@
            </child>
          </object>
          <packing>
            <property name="left_attach">3</property>
            <property name="top_attach">3</property>
            <property name="left-attach">5</property>
            <property name="top-attach">3</property>
          </packing>
        </child>
        <child>
          <object class="GtkComboBoxText" id="proxymode">
            <property name="visible">True</property>
            <property name="can_focus">False</property>
            <property name="can-focus">False</property>
            <items>
              <item translatable="yes" context="optproxypage|proxymode">None</item>
              <item translatable="yes" context="optproxypage|proxymode">System</item>
@@ -188,119 +188,229 @@
            </child>
          </object>
          <packing>
            <property name="left_attach">1</property>
            <property name="top_attach">0</property>
            <property name="left-attach">2</property>
            <property name="top-attach">0</property>
          </packing>
        </child>
        <child>
          <object class="GtkLabel" id="httpft">
            <property name="visible">True</property>
            <property name="can_focus">False</property>
            <property name="can-focus">False</property>
            <property name="label" translatable="yes" context="optproxypage|httpft">HT_TP proxy:</property>
            <property name="use_underline">True</property>
            <property name="mnemonic_widget">http</property>
            <property name="use-underline">True</property>
            <property name="mnemonic-widget">http</property>
            <property name="xalign">0</property>
          </object>
          <packing>
            <property name="left_attach">0</property>
            <property name="top_attach">1</property>
            <property name="left-attach">1</property>
            <property name="top-attach">1</property>
          </packing>
        </child>
        <child>
          <object class="GtkLabel" id="httpportft">
            <property name="visible">True</property>
            <property name="can_focus">False</property>
            <property name="can-focus">False</property>
            <property name="label" translatable="yes" context="optproxypage|httpportft">_Port:</property>
            <property name="use_underline">True</property>
            <property name="mnemonic_widget">httpport</property>
            <property name="use-underline">True</property>
            <property name="mnemonic-widget">httpport</property>
          </object>
          <packing>
            <property name="left_attach">2</property>
            <property name="top_attach">1</property>
            <property name="left-attach">4</property>
            <property name="top-attach">1</property>
          </packing>
        </child>
        <child>
          <object class="GtkLabel" id="httpsft">
            <property name="visible">True</property>
            <property name="can_focus">False</property>
            <property name="can-focus">False</property>
            <property name="label" translatable="yes" context="optproxypage|httpsft">HTTP_S proxy:</property>
            <property name="use_underline">True</property>
            <property name="mnemonic_widget">https</property>
            <property name="use-underline">True</property>
            <property name="mnemonic-widget">https</property>
            <property name="xalign">0</property>
          </object>
          <packing>
            <property name="left_attach">0</property>
            <property name="top_attach">2</property>
            <property name="left-attach">1</property>
            <property name="top-attach">2</property>
          </packing>
        </child>
        <child>
          <object class="GtkLabel" id="ftpft">
            <property name="visible">True</property>
            <property name="can_focus">False</property>
            <property name="can-focus">False</property>
            <property name="label" translatable="yes" context="optproxypage|ftpft">_FTP proxy:</property>
            <property name="use_underline">True</property>
            <property name="mnemonic_widget">ftp</property>
            <property name="use-underline">True</property>
            <property name="mnemonic-widget">ftp</property>
            <property name="xalign">0</property>
          </object>
          <packing>
            <property name="left_attach">0</property>
            <property name="top_attach">3</property>
            <property name="left-attach">1</property>
            <property name="top-attach">3</property>
          </packing>
        </child>
        <child>
          <object class="GtkLabel" id="noproxyft">
            <property name="visible">True</property>
            <property name="can_focus">False</property>
            <property name="can-focus">False</property>
            <property name="label" translatable="yes" context="optproxypage|noproxyft">_No proxy for:</property>
            <property name="use_underline">True</property>
            <property name="mnemonic_widget">noproxy</property>
            <property name="use-underline">True</property>
            <property name="mnemonic-widget">noproxy</property>
            <property name="xalign">0</property>
          </object>
          <packing>
            <property name="left_attach">0</property>
            <property name="top_attach">4</property>
            <property name="left-attach">1</property>
            <property name="top-attach">4</property>
          </packing>
        </child>
        <child>
          <object class="GtkLabel" id="httpsportft">
            <property name="visible">True</property>
            <property name="can_focus">False</property>
            <property name="can-focus">False</property>
            <property name="label" translatable="yes" context="optproxypage|httpsportft">P_ort:</property>
            <property name="use_underline">True</property>
            <property name="mnemonic_widget">httpsport</property>
            <property name="use-underline">True</property>
            <property name="mnemonic-widget">httpsport</property>
          </object>
          <packing>
            <property name="left_attach">2</property>
            <property name="top_attach">2</property>
            <property name="left-attach">4</property>
            <property name="top-attach">2</property>
          </packing>
        </child>
        <child>
          <object class="GtkLabel" id="ftpportft">
            <property name="visible">True</property>
            <property name="can_focus">False</property>
            <property name="can-focus">False</property>
            <property name="label" translatable="yes" context="optproxypage|ftpportft">P_ort:</property>
            <property name="use_underline">True</property>
            <property name="mnemonic_widget">ftpport</property>
            <property name="use-underline">True</property>
            <property name="mnemonic-widget">ftpport</property>
          </object>
          <packing>
            <property name="left_attach">2</property>
            <property name="top_attach">3</property>
            <property name="left-attach">4</property>
            <property name="top-attach">3</property>
          </packing>
        </child>
        <child>
          <object class="GtkLabel" id="noproxydesc">
            <property name="visible">True</property>
            <property name="can_focus">False</property>
            <property name="can-focus">False</property>
            <property name="label" translatable="yes" context="optproxypage|noproxydesc">Separator ;</property>
            <property name="xalign">0</property>
          </object>
          <packing>
            <property name="left_attach">2</property>
            <property name="top_attach">4</property>
            <property name="left-attach">4</property>
            <property name="top-attach">4</property>
            <property name="width">2</property>
          </packing>
        </child>
        <child>
          <object class="GtkImage" id="lockproxymode">
            <property name="can-focus">False</property>
            <property name="no-show-all">True</property>
            <property name="halign">center</property>
            <property name="valign">center</property>
            <property name="icon-name">res/lock.png</property>
          </object>
          <packing>
            <property name="left-attach">0</property>
            <property name="top-attach">0</property>
          </packing>
        </child>
        <child>
          <object class="GtkImage" id="lockhttp">
            <property name="can-focus">False</property>
            <property name="no-show-all">True</property>
            <property name="halign">center</property>
            <property name="valign">center</property>
            <property name="icon-name">res/lock.png</property>
          </object>
          <packing>
            <property name="left-attach">0</property>
            <property name="top-attach">1</property>
          </packing>
        </child>
        <child>
          <object class="GtkImage" id="lockhttps">
            <property name="can-focus">False</property>
            <property name="no-show-all">True</property>
            <property name="halign">center</property>
            <property name="valign">center</property>
            <property name="icon-name">res/lock.png</property>
          </object>
          <packing>
            <property name="left-attach">0</property>
            <property name="top-attach">2</property>
          </packing>
        </child>
        <child>
          <object class="GtkImage" id="lockftp">
            <property name="can-focus">False</property>
            <property name="no-show-all">True</property>
            <property name="halign">center</property>
            <property name="valign">center</property>
            <property name="icon-name">res/lock.png</property>
          </object>
          <packing>
            <property name="left-attach">0</property>
            <property name="top-attach">3</property>
          </packing>
        </child>
        <child>
          <object class="GtkImage" id="locknoproxy">
            <property name="can-focus">False</property>
            <property name="no-show-all">True</property>
            <property name="halign">center</property>
            <property name="valign">center</property>
            <property name="icon-name">res/lock.png</property>
          </object>
          <packing>
            <property name="left-attach">0</property>
            <property name="top-attach">4</property>
          </packing>
        </child>
        <child>
          <object class="GtkImage" id="lockhttpport">
            <property name="can-focus">False</property>
            <property name="no-show-all">True</property>
            <property name="halign">center</property>
            <property name="valign">center</property>
            <property name="icon-name">res/lock.png</property>
          </object>
          <packing>
            <property name="left-attach">3</property>
            <property name="top-attach">1</property>
          </packing>
        </child>
        <child>
          <object class="GtkImage" id="lockhttpsport">
            <property name="can-focus">False</property>
            <property name="no-show-all">True</property>
            <property name="halign">center</property>
            <property name="valign">center</property>
            <property name="icon-name">res/lock.png</property>
          </object>
          <packing>
            <property name="left-attach">3</property>
            <property name="top-attach">2</property>
          </packing>
        </child>
        <child>
          <object class="GtkImage" id="lockftpport">
            <property name="can-focus">False</property>
            <property name="no-show-all">True</property>
            <property name="halign">center</property>
            <property name="valign">center</property>
            <property name="icon-name">res/lock.png</property>
          </object>
          <packing>
            <property name="left-attach">3</property>
            <property name="top-attach">3</property>
          </packing>
        </child>
        <child>
          <placeholder/>
        </child>
        <child>
          <placeholder/>
        </child>
        <child>
          <placeholder/>
        </child>
        <child>
@@ -311,7 +421,7 @@
    <child type="label">
      <object class="GtkLabel" id="label1">
        <property name="visible">True</property>
        <property name="can_focus">False</property>
        <property name="can-focus">False</property>
        <property name="label" translatable="yes" context="optproxypage|label1">Settings</property>
        <attributes>
          <attribute name="weight" value="bold"/>