summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pidgin/meson.build2
-rw-r--r--pidgin/pidginproxyoptions.c438
-rw-r--r--pidgin/pidginproxyoptions.h108
-rw-r--r--pidgin/resources/pidgin.gresource.xml1
-rw-r--r--pidgin/resources/proxyoptions.ui217
-rw-r--r--po/POTFILES.in2
6 files changed, 0 insertions, 768 deletions
diff --git a/pidgin/meson.build b/pidgin/meson.build
index daa2530091..cd708346ea 100644
--- a/pidgin/meson.build
+++ b/pidgin/meson.build
@@ -52,7 +52,6 @@ libpidgin_SOURCES = [
'pidginpluginsmenu.c',
'pidginpresenceicon.c',
'pidginprotocolchooser.c',
- 'pidginproxyoptions.c',
'pidginstatusbox.c',
'pidginstatuseditor.c',
'pidginstatusmanager.c',
@@ -122,7 +121,6 @@ libpidgin_headers = [
'pidginpluginsmenu.h',
'pidginpresenceicon.h',
'pidginprotocolchooser.h',
- 'pidginproxyoptions.h',
'pidginstatusbox.h',
'pidginstatuseditor.h',
'pidginstatusmanager.h',
diff --git a/pidgin/pidginproxyoptions.c b/pidgin/pidginproxyoptions.c
deleted file mode 100644
index 894fa2de04..0000000000
--- a/pidgin/pidginproxyoptions.c
+++ /dev/null
@@ -1,438 +0,0 @@
-/*
- * Pidgin - Internet Messenger
- * Copyright (C) Pidgin Developers <devel@pidgin.im>
- *
- * Pidgin is the legal property of its developers, whose names are too numerous
- * to list here. Please refer to the COPYRIGHT file distributed with this
- * source distribution.
- *
- * 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/>.
- */
-
-#include <glib/gi18n.h>
-
-#include "pidginproxyoptions.h"
-
-#include "gtkaccount.h"
-#include "pidgincore.h"
-
-struct _PidginProxyOptions {
- GtkBox parent;
-
- gboolean show_global;
- PurpleProxyInfo *info;
-
- GtkListStore *model;
- GtkTreeModelFilter *filter;
-
- GtkWidget *proxy_type;
-
- GtkWidget *options;
- GtkWidget *hostname;
- GtkWidget *port;
- GtkWidget *username;
- GtkWidget *password;
-};
-
-enum {
- PROP_0,
- PROP_SHOW_GLOBAL,
- PROP_INFO,
- N_PROPERTIES
-};
-static GParamSpec *properties[N_PROPERTIES] = {NULL, };
-
-enum {
- COLUMN_TYPE,
- COLUMN_TITLE,
-};
-
-G_DEFINE_TYPE(PidginProxyOptions, pidgin_proxy_options, GTK_TYPE_BOX)
-
-/******************************************************************************
- * Helpers
- *****************************************************************************/
-static gboolean
-pidgin_proxy_options_null_to_empty_str(G_GNUC_UNUSED GBinding *binding,
- const GValue *from_value,
- GValue *to_value,
- G_GNUC_UNUSED gpointer data)
-{
- const gchar *str_val = g_value_get_string(from_value);
-
- if(str_val == NULL) {
- str_val = "";
- }
-
- g_value_set_string(to_value, str_val);
-
- return TRUE;
-}
-
-static gboolean
-pidgin_proxy_options_empty_str_to_null(G_GNUC_UNUSED GBinding *binding,
- const GValue *from_value,
- GValue *to_value,
- G_GNUC_UNUSED gpointer data)
-{
- const gchar *str_val = g_value_get_string(from_value);
-
- if(str_val != NULL && *str_val == '\0') {
- str_val = NULL;
- }
-
- g_value_set_string(to_value, str_val);
-
- return TRUE;
-}
-
-static gboolean
-pidgin_proxy_options_gint_to_double(G_GNUC_UNUSED GBinding *binding,
- const GValue *from_value, GValue *to_value,
- G_GNUC_UNUSED gpointer data)
-{
- g_value_set_double(to_value, (gdouble)g_value_get_int(from_value));
-
- return TRUE;
-}
-
-static gboolean
-pidgin_proxy_options_double_to_gint(G_GNUC_UNUSED GBinding *binding,
- const GValue *from_value, GValue *to_value,
- G_GNUC_UNUSED gpointer user_data)
-{
- g_value_set_int(to_value, (gint)g_value_get_double(from_value));
-
- return TRUE;
-}
-
-static gboolean
-pidgin_proxy_options_filter_visible(GtkTreeModel *model, GtkTreeIter *iter,
- gpointer data)
-{
- PidginProxyOptions *options = data;
- PurpleProxyType type;
-
- gtk_tree_model_get(model, iter, COLUMN_TYPE, &type, -1);
-
- if(type == PURPLE_PROXY_TYPE_USE_GLOBAL) {
- return options->show_global;
- }
-
- return TRUE;
-}
-
-/******************************************************************************
- * Callbacks
- *****************************************************************************/
-static void
-pidgin_proxy_options_proxy_type_changed_cb(GtkComboBox *box, gpointer data) {
- PidginProxyOptions *options = data;
- PurpleProxyType type;
- GtkTreeIter iter;
- gboolean sensitive = TRUE;
-
- if(!gtk_combo_box_get_active_iter(GTK_COMBO_BOX(options->proxy_type), &iter)) {
- return;
- }
-
- gtk_tree_model_get(GTK_TREE_MODEL(options->filter), &iter,
- COLUMN_TYPE, &type,
- -1);
-
- purple_proxy_info_set_proxy_type(options->info, type);
-
- switch(type) {
- case PURPLE_PROXY_TYPE_USE_GLOBAL:
- case PURPLE_PROXY_TYPE_NONE:
- case PURPLE_PROXY_TYPE_USE_ENVVAR:
- sensitive = FALSE;
- break;
- default:
- break;
- }
-
- gtk_widget_set_sensitive(options->options, sensitive);
-}
-
-/******************************************************************************
- * GObject Implementation
- *****************************************************************************/
-static void
-pidgin_proxy_options_get_property(GObject *obj, guint param_id, GValue *value,
- GParamSpec *pspec)
-{
- PidginProxyOptions *options = PIDGIN_PROXY_OPTIONS(obj);
-
- switch(param_id) {
- case PROP_SHOW_GLOBAL:
- g_value_set_boolean(value,
- pidgin_proxy_options_get_show_global(options));
- break;
- case PROP_INFO:
- g_value_set_object(value, pidgin_proxy_options_get_info(options));
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, pspec);
- break;
- }
-}
-
-static void
-pidgin_proxy_options_set_property(GObject *obj, guint param_id,
- const GValue *value, GParamSpec *pspec)
-{
- PidginProxyOptions *options = PIDGIN_PROXY_OPTIONS(obj);
-
- switch(param_id) {
- case PROP_SHOW_GLOBAL:
- pidgin_proxy_options_set_show_global(options,
- g_value_get_boolean(value));
- break;
- case PROP_INFO:
- pidgin_proxy_options_set_info(options, g_value_get_object(value));
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, pspec);
- break;
- }
-}
-
-static void
-pidgin_proxy_options_init(PidginProxyOptions *options) {
- gtk_widget_init_template(GTK_WIDGET(options));
-
- /* Set the visible function so we can control the visibility of the "Use
- * Global Proxy" option.
- */
- gtk_tree_model_filter_set_visible_func(options->filter,
- pidgin_proxy_options_filter_visible,
- options, NULL);
-
- /* Force the filter to refresh. */
- gtk_tree_model_filter_refilter(options->filter);
-}
-
-static void
-pidgin_proxy_options_constructed(GObject *obj) {
- PidginProxyOptions *options = PIDGIN_PROXY_OPTIONS(obj);
-
- G_OBJECT_CLASS(pidgin_proxy_options_parent_class)->constructed(obj);
-
- if(options->info == NULL) {
- pidgin_proxy_options_set_info(options, NULL);
- }
-}
-
-static void
-pidgin_proxy_options_class_init(PidginProxyOptionsClass *klass) {
- GObjectClass *obj_class = G_OBJECT_CLASS(klass);
- GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(klass);
-
- obj_class->get_property = pidgin_proxy_options_get_property;
- obj_class->set_property = pidgin_proxy_options_set_property;
- obj_class->constructed = pidgin_proxy_options_constructed;
-
- /**
- * PidginProxyOptions:show-global:
- *
- * Whether or not to show the "Use Global Proxy Settings" option. This
- * is turned off for the preferences where we use this widget to define
- * the global proxy settings.
- *
- * Since: 3.0.0
- */
- properties[PROP_SHOW_GLOBAL] = g_param_spec_boolean(
- "show-global", "show-global",
- "Whether or not to show the global proxy settings option",
- TRUE,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS);
-
- /**
- * PidginProxyOptions:info:
- *
- * The [class@Purple.ProxyInfo] that this options widget is configuring. If
- * unset, a new instance will be created.
- *
- * Since: 3.0.0
- */
- properties[PROP_INFO] = g_param_spec_object(
- "info", "info",
- "The proxy info to configure",
- PURPLE_TYPE_PROXY_INFO,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS);
-
- g_object_class_install_properties(obj_class, N_PROPERTIES, properties);
-
- gtk_widget_class_set_template_from_resource(
- widget_class,
- "/im/pidgin/Pidgin3/proxyoptions.ui"
- );
-
- gtk_widget_class_bind_template_child(widget_class, PidginProxyOptions,
- model);
- gtk_widget_class_bind_template_child(widget_class, PidginProxyOptions,
- filter);
-
- gtk_widget_class_bind_template_child(widget_class, PidginProxyOptions,
- proxy_type);
-
- gtk_widget_class_bind_template_child(widget_class, PidginProxyOptions,
- options);
- gtk_widget_class_bind_template_child(widget_class, PidginProxyOptions,
- hostname);
- gtk_widget_class_bind_template_child(widget_class, PidginProxyOptions,
- port);
- gtk_widget_class_bind_template_child(widget_class, PidginProxyOptions,
- username);
- gtk_widget_class_bind_template_child(widget_class, PidginProxyOptions,
- password);
-
- gtk_widget_class_bind_template_callback(widget_class,
- pidgin_proxy_options_proxy_type_changed_cb);
-}
-
-/******************************************************************************
- * Public API
- *****************************************************************************/
-GtkWidget *
-pidgin_proxy_options_new(void) {
- return g_object_new(PIDGIN_TYPE_PROXY_OPTIONS, NULL);
-}
-
-void
-pidgin_proxy_options_set_show_global(PidginProxyOptions *options,
- gboolean show_global)
-{
- PurpleProxyType proxy_type = PURPLE_PROXY_TYPE_USE_GLOBAL;
-
- g_return_if_fail(PIDGIN_IS_PROXY_OPTIONS(options));
-
- if(show_global == options->show_global) {
- return;
- }
-
- options->show_global = show_global;
-
- if(options->info == NULL) {
- g_object_notify_by_pspec(G_OBJECT(options),
- properties[PROP_SHOW_GLOBAL]);
-
- return;
- }
-
- proxy_type = purple_proxy_info_get_proxy_type(options->info);
- if(proxy_type == PURPLE_PROXY_TYPE_USE_GLOBAL && show_global == FALSE) {
- proxy_type = PURPLE_PROXY_TYPE_NONE;
- }
-
- purple_proxy_info_set_proxy_type(options->info, proxy_type);
-
- options->show_global = show_global;
-
- g_object_notify_by_pspec(G_OBJECT(options), properties[PROP_SHOW_GLOBAL]);
-
- /* Tell the filter to rerun. */
- gtk_tree_model_filter_refilter(options->filter);
-}
-
-gboolean
-pidgin_proxy_options_get_show_global(PidginProxyOptions *options) {
- g_return_val_if_fail(PIDGIN_IS_PROXY_OPTIONS(options), FALSE);
-
- return options->show_global;
-}
-
-void
-pidgin_proxy_options_set_info(PidginProxyOptions *options,
- PurpleProxyInfo *info)
-{
- GtkTreeIter iter;
- GtkTreeModel *model;
-
- g_return_if_fail(PIDGIN_IS_PROXY_OPTIONS(options));
-
- /* We want to always have a PurpleProxyInfo instance to make management
- * easier. So if someone clears it, just replace it with an empty one
- * instead.
- */
- if(!PURPLE_IS_PROXY_INFO(info)) {
- PurpleProxyInfo *empty_info = purple_proxy_info_new();
-
- if(!g_set_object(&options->info, empty_info)) {
- g_assert_not_reached();
- }
-
- g_object_unref(empty_info);
- } else if(!g_set_object(&options->info, info)) {
- return;
- }
-
- model = GTK_TREE_MODEL(options->filter);
- if(gtk_tree_model_get_iter_first(model, &iter)) {
- do {
- PurpleProxyType type = purple_proxy_info_get_proxy_type(options->info);
- PurpleProxyType row_type;
-
- gtk_tree_model_get(model, &iter, COLUMN_TYPE, &row_type, -1);
- if(row_type == type) {
- gtk_combo_box_set_active_iter(GTK_COMBO_BOX(options->proxy_type),
- &iter);
- break;
- }
- } while(gtk_tree_model_iter_next(model, &iter));
- }
-
- g_object_bind_property_full(options->info, "hostname",
- options->hostname, "text",
- G_BINDING_BIDIRECTIONAL | G_BINDING_SYNC_CREATE,
- pidgin_proxy_options_null_to_empty_str,
- pidgin_proxy_options_empty_str_to_null,
- NULL,
- NULL);
-
- g_object_bind_property_full(options->info, "port",
- options->port, "value",
- G_BINDING_BIDIRECTIONAL | G_BINDING_SYNC_CREATE,
- pidgin_proxy_options_gint_to_double,
- pidgin_proxy_options_double_to_gint,
- NULL,
- NULL);
-
- g_object_bind_property_full(options->info, "username",
- options->username, "text",
- G_BINDING_BIDIRECTIONAL | G_BINDING_SYNC_CREATE,
- pidgin_proxy_options_null_to_empty_str,
- pidgin_proxy_options_empty_str_to_null,
- NULL,
- NULL);
-
-
- g_object_bind_property_full(options->info, "password",
- options->password, "text",
- G_BINDING_BIDIRECTIONAL | G_BINDING_SYNC_CREATE,
- pidgin_proxy_options_null_to_empty_str,
- pidgin_proxy_options_empty_str_to_null,
- NULL,
- NULL);
-
- g_object_notify_by_pspec(G_OBJECT(options), properties[PROP_INFO]);
-}
-
-PurpleProxyInfo *
-pidgin_proxy_options_get_info(PidginProxyOptions *options) {
- g_return_val_if_fail(PIDGIN_IS_PROXY_OPTIONS(options), NULL);
-
- return options->info;
-}
diff --git a/pidgin/pidginproxyoptions.h b/pidgin/pidginproxyoptions.h
deleted file mode 100644
index 05882fc4a0..0000000000
--- a/pidgin/pidginproxyoptions.h
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Pidgin - Internet Messenger
- * Copyright (C) Pidgin Developers <devel@pidgin.im>
- *
- * Pidgin is the legal property of its developers, whose names are too numerous
- * to list here. Please refer to the COPYRIGHT file distributed with this
- * source distribution.
- *
- * 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/>.
- */
-
-#if !defined(PIDGIN_GLOBAL_HEADER_INSIDE) && !defined(PIDGIN_COMPILATION)
-# error "only <pidgin.h> may be included directly"
-#endif
-
-#ifndef PIDGIN_PROXY_OPTIONS_H
-#define PIDGIN_PROXY_OPTIONS_H
-
-#include <gtk/gtk.h>
-
-#include <purple.h>
-
-G_BEGIN_DECLS
-
-/**
- * PidginProxyOptions:
- *
- * A widget for the proxy options in the account editor.
- *
- * Since: 3.0.0
- */
-
-#define PIDGIN_TYPE_PROXY_OPTIONS (pidgin_proxy_options_get_type())
-G_DECLARE_FINAL_TYPE(PidginProxyOptions, pidgin_proxy_options, PIDGIN,
- PROXY_OPTIONS, GtkBox)
-
-/**
- * pidgin_proxy_options_new:
- *
- * Creates a new proxy options widget.
- *
- * Returns: (transfer full): The widget.
- *
- * Since: 3.0.0
- */
-GtkWidget *pidgin_proxy_options_new(void);
-
-/**
- * pidgin_proxy_options_set_show_global:
- * @options: The instance.
- * @show_global: Whether or not to show the use global settings proxy item.
- *
- * Sets whether or not to show the "Use Global Proxy Settings" item.
- *
- * Since: 3.0.0
- */
-void pidgin_proxy_options_set_show_global(PidginProxyOptions *options, gboolean show_global);
-
-/**
- * pidgin_proxy_options_get_show_global:
- * @options: The instance.
- *
- * Gets whether or not @options is displaying the "Use Global Proxy Settings"
- * item.
- *
- * Returns: %TRUE if displaying it, %FALSE otherwise.
- *
- * Since: 3.0.0
- */
-gboolean pidgin_proxy_options_get_show_global(PidginProxyOptions *options);
-
-/**
- * pidgin_proxy_options_get_info:
- * @options: The instance.
- *
- * Gets the [class@Purple.ProxyInfo] that is being configured.
- *
- * Returns: (transfer none): The proxy info.
- *
- * Since: 3.0.0
- */
-PurpleProxyInfo *pidgin_proxy_options_get_info(PidginProxyOptions *options);
-
-/**
- * pidgin_proxy_options_set_info:
- * @options: The instance.
- * @info: (nullable): The [class@Purple.ProxyInfo] to set.
- *
- * The proxy info that will be configured.
- *
- * Since: 3.0.0
- */
-void pidgin_proxy_options_set_info(PidginProxyOptions *options, PurpleProxyInfo *info);
-
-G_END_DECLS
-
-#endif /* PIDGIN_PROXY_OPTIONS_H */
diff --git a/pidgin/resources/pidgin.gresource.xml b/pidgin/resources/pidgin.gresource.xml
index 8ebe5400ec..17b2709454 100644
--- a/pidgin/resources/pidgin.gresource.xml
+++ b/pidgin/resources/pidgin.gresource.xml
@@ -45,7 +45,6 @@
<file compressed="true">Xfer/xfer.ui</file>
<file compressed="true">gtk/menus.ui</file>
<file compressed="true">presenceicon.ui</file>
- <file compressed="true">proxyoptions.ui</file>
<file compressed="true">statusprimitivechooser.ui</file>
<file>icons/16x16/status/pidgin-user-available.png</file>
<file>icons/16x16/status/pidgin-user-away.png</file>
diff --git a/pidgin/resources/proxyoptions.ui b/pidgin/resources/proxyoptions.ui
deleted file mode 100644
index 6e867e426f..0000000000
--- a/pidgin/resources/proxyoptions.ui
+++ /dev/null
@@ -1,217 +0,0 @@
-<?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 library; if not, see <https://www.gnu.org/licenses/>.
--->
-<interface>
- <requires lib="gtk" version="4.0"/>
- <!-- interface-license-type gplv2 -->
- <!-- interface-name Pidgin -->
- <!-- interface-description Internet Messenger -->
- <!-- interface-copyright Pidgin Developers <devel@pidgin.im> -->
- <object class="GtkListStore" id="model">
- <columns>
- <column type="PurpleProxyType"/>
- <column type="gchararray"/>
- </columns>
- <data>
- <row>
- <col id="0">PURPLE_PROXY_TYPE_USE_GLOBAL</col>
- <col id="1" translatable="yes">Use Global Proxy Settings</col>
- </row>
- <row>
- <col id="0">PURPLE_PROXY_TYPE_NONE</col>
- <col id="1" translatable="yes">No Proxy</col>
- </row>
- <row>
- <col id="0">PURPLE_PROXY_TYPE_SOCKS4</col>
- <col id="1" translatable="yes">SOCKS 4</col>
- </row>
- <row>
- <col id="0">PURPLE_PROXY_TYPE_SOCKS5</col>
- <col id="1" translatable="yes">SOCKS 5</col>
- </row>
- <row>
- <col id="0">PURPLE_PROXY_TYPE_TOR</col>
- <col id="1" translatable="yes">TOR/Privacy (SOCKS 5)</col>
- </row>
- <row>
- <col id="0">PURPLE_PROXY_TYPE_HTTP</col>
- <col id="1" translatable="yes">HTTP</col>
- </row>
- <row>
- <col id="0">PURPLE_PROXY_TYPE_USE_ENVVAR</col>
- <col id="1" translatable="yes">Use Environmental Settings</col>
- </row>
- </data>
- </object>
- <object class="GtkTreeModelFilter" id="filter">
- <property name="child-model">model</property>
- </object>
- <object class="GtkAdjustment" id="port_adjustment">
- <property name="lower">-1</property>
- <property name="upper">65535</property>
- <property name="step-increment">1</property>
- <property name="page-increment">10</property>
- </object>
- <template class="PidginProxyOptions" parent="GtkBox">
- <property name="margin-start">12</property>
- <property name="margin-end">12</property>
- <property name="margin-top">12</property>
- <property name="margin-bottom">12</property>
- <property name="orientation">vertical</property>
- <property name="spacing">6</property>
- <child>
- <object class="GtkBox">
- <property name="spacing">6</property>
- <child>
- <object class="GtkLabel" id="proxy_type_label">
- <property name="label" translatable="1">Proxy _type:</property>
- <property name="use-underline">1</property>
- <property name="mnemonic-widget">proxy_type</property>
- <property name="xalign">0</property>
- </object>
- </child>
- <child>
- <object class="GtkComboBox" id="proxy_type">
- <property name="hexpand">1</property>
- <property name="model">filter</property>
- <signal name="changed" handler="pidgin_proxy_options_proxy_type_changed_cb" object="PidginProxyOptions" swapped="no"/>
- <child>
- <object class="GtkCellRendererText"/>
- <attributes>
- <attribute name="text">1</attribute>
- </attributes>
- </child>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkBox" id="options">
- <property name="sensitive">0</property>
- <property name="orientation">vertical</property>
- <property name="spacing">6</property>
- <child>
- <object class="GtkBox">
- <property name="spacing">6</property>
- <child>
- <object class="GtkLabel" id="host_label">
- <property name="label" translatable="1">_Host:</property>
- <property name="use-underline">1</property>
- <property name="mnemonic-widget">hostname</property>
- <property name="xalign">0</property>
- </object>
- </child>
- <child>
- <object class="GtkEntry" id="hostname">
- <property name="hexpand">1</property>
- <property name="focusable">1</property>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkBox">
- <property name="spacing">6</property>
- <child>
- <object class="GtkLabel" id="port_label">
- <property name="label" translatable="1">_Port:</property>
- <property name="use-underline">1</property>
- <property name="mnemonic-widget">port</property>
- <property name="xalign">0</property>
- </object>
- </child>
- <child>
- <object class="GtkSpinButton" id="port">
- <property name="hexpand">1</property>
- <property name="focusable">1</property>
- <property name="adjustment">port_adjustment</property>
- <property name="numeric">1</property>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkBox">
- <property name="spacing">6</property>
- <child>
- <object class="GtkLabel" id="username_label">
- <property name="label" translatable="1">_Username:</property>
- <property name="use-underline">1</property>
- <property name="mnemonic-widget">username</property>
- <property name="xalign">0</property>
- </object>
- </child>
- <child>
- <object class="GtkEntry" id="username">
- <property name="hexpand">1</property>
- <property name="focusable">1</property>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkBox">
- <property name="spacing">6</property>
- <child>
- <object class="GtkLabel" id="password_label">
- <property name="label" translatable="1">Pa_ssword:</property>
- <property name="use-underline">1</property>
- <property name="mnemonic-widget">password</property>
- <property name="xalign">0</property>
- </object>
- </child>
- <child>
- <object class="GtkPasswordEntry" id="password">
- <property name="hexpand">1</property>
- <property name="focusable">1</property>
- <property name="show-peek-icon">1</property>
- </object>
- </child>
- </object>
- </child>
- </object>
- </child>
- </template>
- <object class="GtkSizeGroup">
- <widgets>
- <widget name="proxy_type_label"/>
- <widget name="host_label"/>
- <widget name="port_label"/>
- <widget name="username_label"/>
- <widget name="password_label"/>
- </widgets>
- </object>
- <menu id="extra">
- <item>
- <!-- TRANSLATORS: This is an easter egg.
- It means one of two things, both intended as humorous:
- A) your network is really slow and you have nothing better to do than look at butterflies.
- B) You are looking really closely at something that shouldn't matter.
- -->
- <attribute name="label" translatable="yes">If you look real closely</attribute>
- </item>
- <item>
- <!-- TRANSLATORS: This is an easter egg.
- It means one of two things, both intended as humorous:
- A) your network is really slow and you have nothing better to do than look at butterflies.
- B) You are looking really closely at something that shouldn't matter.
- -->
- <attribute name="label" translatable="yes">you can see the butterflies mating</attribute>
- </item>
- </menu>
-</interface>
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 1d09ea9320..8e2da951f8 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -363,7 +363,6 @@ pidgin/pidginpluginsdialog.c
pidgin/pidginpluginsmenu.c
pidgin/pidginpresenceicon.c
pidgin/pidginprotocolchooser.c
-pidgin/pidginproxyoptions.c
pidgin/pidginstatusbox.c
pidgin/pidginstatuseditor.c
pidgin/pidginstatusmanager.c
@@ -423,7 +422,6 @@ pidgin/resources/Status/manager.ui
pidgin/resources/Whiteboard/whiteboard.ui
pidgin/resources/Xfer/xfer.ui
pidgin/resources/gtk/menus.ui
-pidgin/resources/proxyoptions.ui
pidgin/win32/gtkwin32dep.c
pidgin/win32/winpidgin.c
purple-history/purplehistorycore.c