changeset 1070:6e7d0b545473 trunk

[svn] - proxy auth options
author nenolod
date Tue, 16 May 2006 21:52:31 -0700
parents 9a3b3fd54df2
children 592ef16386aa
files audacious/glade/prefswin.glade audacious/prefswin.c
diffstat 2 files changed, 628 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/audacious/glade/prefswin.glade	Tue May 16 21:00:38 2006 -0700
+++ b/audacious/glade/prefswin.glade	Tue May 16 21:52:31 2006 -0700
@@ -1460,7 +1460,7 @@
 					<widget class="GtkCheckButton" id="playlist_show_pl_separator">
 					  <property name="visible">True</property>
 					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes">Show separator in playlist</property>
+					  <property name="label" translatable="yes">Show separators in playlist</property>
 					  <property name="use_underline">True</property>
 					  <property name="relief">GTK_RELIEF_NORMAL</property>
 					  <property name="focus_on_click">True</property>
@@ -3117,6 +3117,451 @@
 		      <property name="type">tab</property>
 		    </packing>
 		  </child>
+
+		  <child>
+		    <widget class="GtkVBox" id="connectivity_page_vbox">
+		      <property name="visible">True</property>
+		      <property name="homogeneous">False</property>
+		      <property name="spacing">0</property>
+
+		      <child>
+			<widget class="GtkLabel" id="connectivity_label">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">&lt;span size=&quot;xx-large&quot;&gt;&lt;b&gt;Connectivity&lt;/b&gt;&lt;/span&gt;</property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">True</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">False</property>
+			  <property name="fill">False</property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkAlignment" id="alignment62">
+			  <property name="visible">True</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xscale">1</property>
+			  <property name="yscale">1</property>
+			  <property name="top_padding">12</property>
+			  <property name="bottom_padding">0</property>
+			  <property name="left_padding">12</property>
+			  <property name="right_padding">0</property>
+
+			  <child>
+			    <widget class="GtkVBox" id="vbox29">
+			      <property name="visible">True</property>
+			      <property name="homogeneous">False</property>
+			      <property name="spacing">0</property>
+
+			      <child>
+				<widget class="GtkAlignment" id="alignment63">
+				  <property name="visible">True</property>
+				  <property name="xalign">0.5</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xscale">1</property>
+				  <property name="yscale">1</property>
+				  <property name="top_padding">0</property>
+				  <property name="bottom_padding">12</property>
+				  <property name="left_padding">0</property>
+				  <property name="right_padding">0</property>
+
+				  <child>
+				    <widget class="GtkLabel" id="connectivity_page_label">
+				      <property name="visible">True</property>
+				      <property name="label" translatable="yes">&lt;b&gt;Proxy Configuration&lt;/b&gt;</property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">True</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+				      <property name="width_chars">-1</property>
+				      <property name="single_line_mode">False</property>
+				      <property name="angle">0</property>
+				    </widget>
+				  </child>
+				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">False</property>
+				  <property name="fill">False</property>
+				</packing>
+			      </child>
+
+			      <child>
+				<widget class="GtkVBox" id="vbox30">
+				  <property name="visible">True</property>
+				  <property name="homogeneous">False</property>
+				  <property name="spacing">0</property>
+
+				  <child>
+				    <widget class="GtkAlignment" id="alignment65">
+				      <property name="visible">True</property>
+				      <property name="xalign">0.5</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xscale">1</property>
+				      <property name="yscale">1</property>
+				      <property name="top_padding">0</property>
+				      <property name="bottom_padding">12</property>
+				      <property name="left_padding">0</property>
+				      <property name="right_padding">0</property>
+
+				      <child>
+					<widget class="GtkCheckButton" id="proxy_use">
+					  <property name="visible">True</property>
+					  <property name="can_focus">True</property>
+					  <property name="label" translatable="yes">Enable proxy usage</property>
+					  <property name="use_underline">True</property>
+					  <property name="relief">GTK_RELIEF_NORMAL</property>
+					  <property name="focus_on_click">True</property>
+					  <property name="active">False</property>
+					  <property name="inconsistent">False</property>
+					  <property name="draw_indicator">True</property>
+					  <signal name="toggled" handler="on_proxy_use_toggled" last_modification_time="Wed, 17 May 2006 04:27:45 GMT"/>
+					  <signal name="realize" handler="on_proxy_use_realize" last_modification_time="Wed, 17 May 2006 04:27:55 GMT"/>
+					</widget>
+				      </child>
+				    </widget>
+				    <packing>
+				      <property name="padding">0</property>
+				      <property name="expand">False</property>
+				      <property name="fill">False</property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkTable" id="table8">
+				      <property name="visible">True</property>
+				      <property name="n_rows">2</property>
+				      <property name="n_columns">2</property>
+				      <property name="homogeneous">False</property>
+				      <property name="row_spacing">6</property>
+				      <property name="column_spacing">6</property>
+
+				      <child>
+					<widget class="GtkLabel" id="label68">
+					  <property name="visible">True</property>
+					  <property name="label" translatable="yes">Proxy hostname:</property>
+					  <property name="use_underline">False</property>
+					  <property name="use_markup">False</property>
+					  <property name="justify">GTK_JUSTIFY_LEFT</property>
+					  <property name="wrap">False</property>
+					  <property name="selectable">False</property>
+					  <property name="xalign">0</property>
+					  <property name="yalign">0</property>
+					  <property name="xpad">0</property>
+					  <property name="ypad">0</property>
+					  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+					  <property name="width_chars">-1</property>
+					  <property name="single_line_mode">False</property>
+					  <property name="angle">0</property>
+					</widget>
+					<packing>
+					  <property name="left_attach">0</property>
+					  <property name="right_attach">1</property>
+					  <property name="top_attach">0</property>
+					  <property name="bottom_attach">1</property>
+					  <property name="x_options">fill</property>
+					  <property name="y_options"></property>
+					</packing>
+				      </child>
+
+				      <child>
+					<widget class="GtkLabel" id="label69">
+					  <property name="visible">True</property>
+					  <property name="label" translatable="yes">Proxy port:</property>
+					  <property name="use_underline">False</property>
+					  <property name="use_markup">False</property>
+					  <property name="justify">GTK_JUSTIFY_LEFT</property>
+					  <property name="wrap">False</property>
+					  <property name="selectable">False</property>
+					  <property name="xalign">0</property>
+					  <property name="yalign">0.5</property>
+					  <property name="xpad">0</property>
+					  <property name="ypad">0</property>
+					  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+					  <property name="width_chars">-1</property>
+					  <property name="single_line_mode">False</property>
+					  <property name="angle">0</property>
+					</widget>
+					<packing>
+					  <property name="left_attach">0</property>
+					  <property name="right_attach">1</property>
+					  <property name="top_attach">1</property>
+					  <property name="bottom_attach">2</property>
+					  <property name="x_options">fill</property>
+					  <property name="y_options"></property>
+					</packing>
+				      </child>
+
+				      <child>
+					<widget class="GtkEntry" id="proxy_host">
+					  <property name="visible">True</property>
+					  <property name="can_focus">True</property>
+					  <property name="editable">True</property>
+					  <property name="visibility">True</property>
+					  <property name="max_length">0</property>
+					  <property name="text" translatable="yes"></property>
+					  <property name="has_frame">True</property>
+					  <property name="invisible_char">*</property>
+					  <property name="activates_default">False</property>
+					  <signal name="realize" handler="on_proxy_host_realize" last_modification_time="Wed, 17 May 2006 04:28:24 GMT"/>
+					  <signal name="changed" handler="on_proxy_host_changed" last_modification_time="Wed, 17 May 2006 04:29:08 GMT"/>
+					</widget>
+					<packing>
+					  <property name="left_attach">1</property>
+					  <property name="right_attach">2</property>
+					  <property name="top_attach">0</property>
+					  <property name="bottom_attach">1</property>
+					  <property name="y_options"></property>
+					</packing>
+				      </child>
+
+				      <child>
+					<widget class="GtkEntry" id="proxy_port">
+					  <property name="visible">True</property>
+					  <property name="can_focus">True</property>
+					  <property name="editable">True</property>
+					  <property name="visibility">True</property>
+					  <property name="max_length">0</property>
+					  <property name="text" translatable="yes"></property>
+					  <property name="has_frame">True</property>
+					  <property name="invisible_char">*</property>
+					  <property name="activates_default">False</property>
+					  <signal name="changed" handler="on_proxy_port_changed" last_modification_time="Wed, 17 May 2006 04:29:18 GMT"/>
+					  <signal name="realize" handler="on_proxy_port_realize" last_modification_time="Wed, 17 May 2006 04:29:25 GMT"/>
+					</widget>
+					<packing>
+					  <property name="left_attach">1</property>
+					  <property name="right_attach">2</property>
+					  <property name="top_attach">1</property>
+					  <property name="bottom_attach">2</property>
+					  <property name="y_options"></property>
+					</packing>
+				      </child>
+				    </widget>
+				    <packing>
+				      <property name="padding">0</property>
+				      <property name="expand">False</property>
+				      <property name="fill">False</property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkAlignment" id="alignment67">
+				      <property name="visible">True</property>
+				      <property name="xalign">0.5</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xscale">1</property>
+				      <property name="yscale">1</property>
+				      <property name="top_padding">12</property>
+				      <property name="bottom_padding">12</property>
+				      <property name="left_padding">0</property>
+				      <property name="right_padding">0</property>
+
+				      <child>
+					<widget class="GtkCheckButton" id="proxy_auth">
+					  <property name="visible">True</property>
+					  <property name="can_focus">True</property>
+					  <property name="label" translatable="yes">Use authentication with proxy</property>
+					  <property name="use_underline">True</property>
+					  <property name="relief">GTK_RELIEF_NORMAL</property>
+					  <property name="focus_on_click">True</property>
+					  <property name="active">False</property>
+					  <property name="inconsistent">False</property>
+					  <property name="draw_indicator">True</property>
+					  <signal name="toggled" handler="on_proxy_auth_toggled" last_modification_time="Wed, 17 May 2006 04:29:34 GMT"/>
+					  <signal name="realize" handler="on_proxy_auth_realize" last_modification_time="Wed, 17 May 2006 04:29:41 GMT"/>
+					</widget>
+				      </child>
+				    </widget>
+				    <packing>
+				      <property name="padding">0</property>
+				      <property name="expand">False</property>
+				      <property name="fill">False</property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkTable" id="table9">
+				      <property name="visible">True</property>
+				      <property name="n_rows">2</property>
+				      <property name="n_columns">2</property>
+				      <property name="homogeneous">False</property>
+				      <property name="row_spacing">6</property>
+				      <property name="column_spacing">6</property>
+
+				      <child>
+					<widget class="GtkLabel" id="label70">
+					  <property name="visible">True</property>
+					  <property name="label" translatable="yes">Proxy username:</property>
+					  <property name="use_underline">False</property>
+					  <property name="use_markup">False</property>
+					  <property name="justify">GTK_JUSTIFY_LEFT</property>
+					  <property name="wrap">False</property>
+					  <property name="selectable">False</property>
+					  <property name="xalign">0</property>
+					  <property name="yalign">0</property>
+					  <property name="xpad">0</property>
+					  <property name="ypad">0</property>
+					  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+					  <property name="width_chars">-1</property>
+					  <property name="single_line_mode">False</property>
+					  <property name="angle">0</property>
+					</widget>
+					<packing>
+					  <property name="left_attach">0</property>
+					  <property name="right_attach">1</property>
+					  <property name="top_attach">0</property>
+					  <property name="bottom_attach">1</property>
+					  <property name="x_options">fill</property>
+					  <property name="y_options"></property>
+					</packing>
+				      </child>
+
+				      <child>
+					<widget class="GtkLabel" id="label71">
+					  <property name="visible">True</property>
+					  <property name="label" translatable="yes">Proxy password:</property>
+					  <property name="use_underline">False</property>
+					  <property name="use_markup">False</property>
+					  <property name="justify">GTK_JUSTIFY_LEFT</property>
+					  <property name="wrap">False</property>
+					  <property name="selectable">False</property>
+					  <property name="xalign">0</property>
+					  <property name="yalign">0.5</property>
+					  <property name="xpad">0</property>
+					  <property name="ypad">0</property>
+					  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+					  <property name="width_chars">-1</property>
+					  <property name="single_line_mode">False</property>
+					  <property name="angle">0</property>
+					</widget>
+					<packing>
+					  <property name="left_attach">0</property>
+					  <property name="right_attach">1</property>
+					  <property name="top_attach">1</property>
+					  <property name="bottom_attach">2</property>
+					  <property name="x_options">fill</property>
+					  <property name="y_options"></property>
+					</packing>
+				      </child>
+
+				      <child>
+					<widget class="GtkEntry" id="proxy_user">
+					  <property name="visible">True</property>
+					  <property name="can_focus">True</property>
+					  <property name="editable">True</property>
+					  <property name="visibility">True</property>
+					  <property name="max_length">0</property>
+					  <property name="text" translatable="yes"></property>
+					  <property name="has_frame">True</property>
+					  <property name="invisible_char">*</property>
+					  <property name="activates_default">False</property>
+					  <signal name="changed" handler="on_proxy_user_changed" last_modification_time="Wed, 17 May 2006 04:30:01 GMT"/>
+					  <signal name="realize" handler="on_proxy_user_realize" last_modification_time="Wed, 17 May 2006 04:30:07 GMT"/>
+					</widget>
+					<packing>
+					  <property name="left_attach">1</property>
+					  <property name="right_attach">2</property>
+					  <property name="top_attach">0</property>
+					  <property name="bottom_attach">1</property>
+					  <property name="y_options"></property>
+					</packing>
+				      </child>
+
+				      <child>
+					<widget class="GtkEntry" id="proxy_pass">
+					  <property name="visible">True</property>
+					  <property name="can_focus">True</property>
+					  <property name="editable">True</property>
+					  <property name="visibility">False</property>
+					  <property name="max_length">0</property>
+					  <property name="text" translatable="yes"></property>
+					  <property name="has_frame">True</property>
+					  <property name="invisible_char">*</property>
+					  <property name="activates_default">False</property>
+					  <signal name="changed" handler="on_proxy_pass_changed" last_modification_time="Wed, 17 May 2006 04:30:14 GMT"/>
+					  <signal name="realize" handler="on_proxy_pass_realize" last_modification_time="Wed, 17 May 2006 04:30:19 GMT"/>
+					</widget>
+					<packing>
+					  <property name="left_attach">1</property>
+					  <property name="right_attach">2</property>
+					  <property name="top_attach">1</property>
+					  <property name="bottom_attach">2</property>
+					  <property name="y_options"></property>
+					</packing>
+				      </child>
+				    </widget>
+				    <packing>
+				      <property name="padding">0</property>
+				      <property name="expand">False</property>
+				      <property name="fill">False</property>
+				    </packing>
+				  </child>
+				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">True</property>
+				  <property name="fill">True</property>
+				</packing>
+			      </child>
+			    </widget>
+			  </child>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">True</property>
+			  <property name="fill">True</property>
+			</packing>
+		      </child>
+		    </widget>
+		    <packing>
+		      <property name="tab_expand">False</property>
+		      <property name="tab_fill">True</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkLabel" id="label65">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">label65</property>
+		      <property name="use_underline">False</property>
+		      <property name="use_markup">False</property>
+		      <property name="justify">GTK_JUSTIFY_LEFT</property>
+		      <property name="wrap">False</property>
+		      <property name="selectable">False</property>
+		      <property name="xalign">0.5</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xpad">0</property>
+		      <property name="ypad">0</property>
+		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+		      <property name="width_chars">-1</property>
+		      <property name="single_line_mode">False</property>
+		      <property name="angle">0</property>
+		    </widget>
+		    <packing>
+		      <property name="type">tab</property>
+		    </packing>
+		  </child>
 		</widget>
 		<packing>
 		  <property name="shrink">True</property>
--- a/audacious/prefswin.c	Tue May 16 21:00:38 2006 -0700
+++ b/audacious/prefswin.c	Tue May 16 21:52:31 2006 -0700
@@ -90,6 +90,7 @@
 
 static Category categories[] = {
     {DATA_DIR "/images/appearance.png", N_("Appearance"), 1},
+    {DATA_DIR "/images/plugins.png",    N_("Connectivity"), 5},	/* XXX: need art */
     {DATA_DIR "/images/eq.png",         N_("Equalizer"), 4},
     {DATA_DIR "/images/mouse.png",      N_("Mouse"), 2},
     {DATA_DIR "/images/playlist.png",   N_("Playlist"), 3},
@@ -951,6 +952,175 @@
     draw_playlist_window(TRUE);
 }
 
+/* proxy */
+static void
+on_proxy_use_realize(GtkToggleButton * button,
+                     gpointer data)
+{
+    ConfigDb *db;
+    gboolean ret;
+
+    db = bmp_cfg_db_open();
+    bmp_cfg_db_get_bool(db, NULL, "use_proxy", &ret);
+    bmp_cfg_db_close(db);
+
+    gtk_toggle_button_set_active(button, ret);
+}
+
+static void
+on_proxy_use_toggled(GtkToggleButton * button,
+                     gpointer data)
+{
+    ConfigDb *db;
+    gboolean ret = gtk_toggle_button_get_active(button);
+
+    db = bmp_cfg_db_open();
+    bmp_cfg_db_set_bool(db, NULL, "use_proxy", ret);
+    bmp_cfg_db_close(db);
+}
+
+static void
+on_proxy_auth_realize(GtkToggleButton * button,
+                     gpointer data)
+{
+    ConfigDb *db;
+    gboolean ret;
+
+    db = bmp_cfg_db_open();
+    bmp_cfg_db_get_bool(db, NULL, "proxy_use_auth", &ret);
+    bmp_cfg_db_close(db);
+
+    gtk_toggle_button_set_active(button, ret);
+}
+
+static void
+on_proxy_auth_toggled(GtkToggleButton * button,
+                     gpointer data)
+{
+    ConfigDb *db;
+    gboolean ret = gtk_toggle_button_get_active(button);
+
+    db = bmp_cfg_db_open();
+    bmp_cfg_db_set_bool(db, NULL, "proxy_use_auth", ret);
+    bmp_cfg_db_close(db);
+}
+
+static void
+on_proxy_host_realize(GtkEntry * entry,
+                     gpointer data)
+{
+    ConfigDb *db;
+    gchar *ret;
+
+    db = bmp_cfg_db_open();
+    bmp_cfg_db_get_string(db, NULL, "proxy_host", &ret);
+    bmp_cfg_db_close(db);
+
+    if (ret != NULL && *ret != '\0')
+        gtk_entry_set_text(entry, ret);
+}
+
+static void
+on_proxy_host_changed(GtkEntry * entry,
+                     gpointer data)
+{
+    ConfigDb *db;
+    gchar *ret = g_strdup(gtk_entry_get_text(entry));
+
+    db = bmp_cfg_db_open();
+    bmp_cfg_db_set_string(db, NULL, "proxy_host", ret);
+    bmp_cfg_db_close(db);
+
+    g_free(ret);
+}
+
+static void
+on_proxy_port_realize(GtkEntry * entry,
+                     gpointer data)
+{
+    ConfigDb *db;
+    gchar *ret;
+
+    db = bmp_cfg_db_open();
+    bmp_cfg_db_get_string(db, NULL, "proxy_port", &ret);
+    bmp_cfg_db_close(db);
+
+    if (ret != NULL && *ret != '\0')
+        gtk_entry_set_text(entry, ret);
+}
+
+static void
+on_proxy_port_changed(GtkEntry * entry,
+                     gpointer data)
+{
+    ConfigDb *db;
+    gchar *ret = g_strdup(gtk_entry_get_text(entry));
+
+    db = bmp_cfg_db_open();
+    bmp_cfg_db_set_string(db, NULL, "proxy_port", ret);
+    bmp_cfg_db_close(db);
+
+    g_free(ret);
+}
+
+static void
+on_proxy_user_realize(GtkEntry * entry,
+                     gpointer data)
+{
+    ConfigDb *db;
+    gchar *ret;
+
+    db = bmp_cfg_db_open();
+    bmp_cfg_db_get_string(db, NULL, "proxy_user", &ret);
+    bmp_cfg_db_close(db);
+
+    if (ret != NULL && *ret != '\0')
+        gtk_entry_set_text(entry, ret);
+}
+
+static void
+on_proxy_user_changed(GtkEntry * entry,
+                     gpointer data)
+{
+    ConfigDb *db;
+    gchar *ret = g_strdup(gtk_entry_get_text(entry));
+
+    db = bmp_cfg_db_open();
+    bmp_cfg_db_set_string(db, NULL, "proxy_user", ret);
+    bmp_cfg_db_close(db);
+
+    g_free(ret);
+}
+
+static void
+on_proxy_pass_realize(GtkEntry * entry,
+                     gpointer data)
+{
+    ConfigDb *db;
+    gchar *ret;
+
+    db = bmp_cfg_db_open();
+    bmp_cfg_db_get_string(db, NULL, "proxy_pass", &ret);
+    bmp_cfg_db_close(db);
+
+    if (ret != NULL && *ret != '\0')
+        gtk_entry_set_text(entry, ret);
+}
+
+static void
+on_proxy_pass_changed(GtkEntry * entry,
+                     gpointer data)
+{
+    ConfigDb *db;
+    gchar *ret = g_strdup(gtk_entry_get_text(entry));
+
+    db = bmp_cfg_db_open();
+    bmp_cfg_db_set_string(db, NULL, "proxy_pass", ret);
+    bmp_cfg_db_close(db);
+
+    g_free(ret);
+}
+
 static void
 input_plugin_enable_prefs(GtkTreeView * treeview,
                           GtkButton * button)
@@ -1717,6 +1887,18 @@
     FUNC_MAP_ENTRY(on_eq_preset_add_clicked)
     FUNC_MAP_ENTRY(on_eq_preset_remove_clicked)
     FUNC_MAP_ENTRY(on_skin_refresh_button_clicked)
+    FUNC_MAP_ENTRY(on_proxy_use_toggled)
+    FUNC_MAP_ENTRY(on_proxy_use_realize)
+    FUNC_MAP_ENTRY(on_proxy_auth_toggled)
+    FUNC_MAP_ENTRY(on_proxy_auth_realize)
+    FUNC_MAP_ENTRY(on_proxy_host_realize)
+    FUNC_MAP_ENTRY(on_proxy_host_changed)
+    FUNC_MAP_ENTRY(on_proxy_port_realize)
+    FUNC_MAP_ENTRY(on_proxy_port_changed)
+    FUNC_MAP_ENTRY(on_proxy_user_realize)
+    FUNC_MAP_ENTRY(on_proxy_user_changed)
+    FUNC_MAP_ENTRY(on_proxy_pass_realize)
+    FUNC_MAP_ENTRY(on_proxy_pass_changed)
 FUNC_MAP_END
 
 void