## EProxyEditor EProxyEditor — Edit proxy profile details |

## Synopsis

    #include <e-util/e-util.h>

    struct              EProxyEditor;
    GtkWidget *         e_proxy_editor_new                  (ESourceRegistry *registry);
    void                e_proxy_editor_save                 (EProxyEditor *editor);
    ESourceRegistry *   e_proxy_editor_get_registry         (EProxyEditor *editor);
    ESource *           e_proxy_editor_ref_source           (EProxyEditor *editor);
    void                e_proxy_editor_set_source           (EProxyEditor *editor,
                                                             ESource *source);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GtkWidget
                   +----GtkContainer
                         +----GtkGrid
                               +----EProxyEditor

## Implemented Interfaces

EProxyEditor implements AtkImplementorIface, GtkBuildable and GtkOrientable.

## Properties

      "registry"                 ESourceRegistry*      : Read / Write / Construct Only
      "source"                   ESource*              : Read / Write

## Description

EProxyEditor is an editing widget for proxy profiles, as described by ESource instances with an ESourceProxy extension.

The editor defaults to showing the built-in proxy profile returned by `e_source_registry_ref_builtin_proxy()`, but that can be overridden with `e_proxy_editor_set_source()`.

## Details

### struct EProxyEditor

    struct EProxyEditor;

Contains only private data that should be read and manipulated using the functions below.

### e_proxy_editor_new ()

    GtkWidget *         e_proxy_editor_new                  (ESourceRegistry *registry);

Creates a new EProxyEditor widget, initially showing details of the built-in proxy profile returned by `e_source_registry_ref_builtin_proxy()`.

`registry` : | an ESourceRegistry
Returns : | a new EProxyEditor

### e_proxy_editor_save ()

    void                e_proxy_editor_save                 (EProxyEditor *editor);

Writes the proxy settings displayed in the `editor` to the ESource being edited.

This function is called automatically when the editing widgets lose input focus, but it may sometimes need to be called explicitly such as when the top-level window is closing.

`editor` : | an EProxyEditor

### e_proxy_editor_get_registry ()

    ESourceRegistry *   e_proxy_editor_get_registry         (EProxyEditor *editor);

Returns the ESourceRegistry passed to `e_proxy_editor_get_registry()`.

`editor` : | an EProxyEditor
Returns : | an ESourceRegistry

### e_proxy_editor_ref_source ()

    ESource *           e_proxy_editor_ref_source           (EProxyEditor *editor);

Returns the network proxy profile ESource being edited.

The returned ESource is referenced for thread-safety and must be unreferenced with `g_object_unref()` when finished with it.

`editor` : | an EProxyEditor
Returns : | an ESource

### e_proxy_editor_set_source ()

    void                e_proxy_editor_set_source           (EProxyEditor *editor,
                                                             ESource *source);

Sets the network proxy profile ESource to edit.

This first writes the displayed proxy settings to the previous ESource, then displays the proxy details for `source`. If `source` is already being edited then nothing happens.

`editor` : | an EProxyEditor
`source` : | an ESource

## Property Details

### The `"registry"` property

      "registry"                 ESourceRegistry*      : Read / Write / Construct Only

Data source registry.

### The `"source"` property

      "source"                   ESource*              : Read / Write

The data source being edited.