## ESourceSelector ESourceSelector |

## Functions

GtkWidget * | e_source_selector_new ()
ESourceRegistry * | e_source_selector_get_registry ()
const gchar * | e_source_selector_get_extension_name ()
gboolean | e_source_selector_get_show_colors ()
void | e_source_selector_set_show_colors ()
gboolean | e_source_selector_get_show_icons ()
void | e_source_selector_set_show_icons ()
gboolean | e_source_selector_get_show_toggles ()
void | e_source_selector_set_show_toggles ()
void | e_source_selector_select_source ()
void | e_source_selector_unselect_source ()
void | e_source_selector_select_exclusive ()
gboolean | e_source_selector_source_is_selected ()
GList * | e_source_selector_get_selection ()
void | e_source_selector_edit_primary_selection ()
ESource * | e_source_selector_ref_primary_selection ()
void | e_source_selector_set_primary_selection ()
ESource * | e_source_selector_ref_source_by_iter ()
ESource * | e_source_selector_ref_source_by_path ()
void | e_source_selector_queue_write ()
void | e_source_selector_update_row ()
void | e_source_selector_update_all_rows ()

## Properties

gchar * | extension-name | Read / Write / Construct Only
ESource * | primary-selection | Read / Write
ESourceRegistry * | registry | Read / Write / Construct Only
gboolean | show-colors | Read / Write
gboolean | show-icons | Read / Write
gboolean | show-toggles | Read / Write

## Signals

gboolean | data-dropped | Run Last
gboolean | popup-event | Run Last
void | primary-selection-changed | Run Last
void | selection-changed | Run Last
void | source-selected | Run Last
void | source-unselected | Run Last

## Types and Values

struct | ESourceSelector

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkWidget
                ╰── GtkContainer
                    ╰── GtkTreeView
                        ╰── ESourceSelector
                            ├── EAlarmSelector
                            ├── EAutocompleteSelector
                            ├── EClientSelector
                            ╰── EProxyLinkSelector

## Implemented Interfaces

ESourceSelector implements AtkImplementorIface, GtkBuildable and GtkScrollable.

## Description

## Functions

### e_source_selector_new ()

    GtkWidget *
    e_source_selector_new (ESourceRegistry *registry,
                           const gchar *extension_name);

Displays a list of sources from `registry` having an extension named `extension_name` . The sources are grouped by backend or groupware account, which are described by the parent source.

#### Parameters

registry | an ESourceRegistry |
extension_name | the name of an ESource extension |

#### Returns

a new ESourceSelector

### e_source_selector_get_registry ()

    ESourceRegistry *
    e_source_selector_get_registry (ESourceSelector *selector);

Returns the ESourceRegistry that `selector` is getting sources from.

#### Parameters

selector | an ESourceSelector |

#### Returns

an ESourceRegistry

Since 3.6

### e_source_selector_get_extension_name ()

    const gchar *
    e_source_selector_get_extension_name (ESourceSelector *selector);

Returns the extension name used to filter which sources are displayed.

#### Parameters

selector | an ESourceSelector |

#### Returns

the ESource extension name

Since 3.6

### e_source_selector_get_show_colors ()

    gboolean
    e_source_selector_get_show_colors (ESourceSelector *selector);

Returns whether colors are shown next to data sources.

#### Parameters

selector | an ESourceSelector |

#### Returns

`TRUE` if colors are being shown

Since 3.6

### e_source_selector_set_show_colors ()

    void
    e_source_selector_set_show_colors (ESourceSelector *selector,
                                       gboolean show_colors);

Sets whether to show colors next to data sources.

#### Parameters

selector | an ESourceSelector |
show_colors | whether to show colors |

Since 3.6

### e_source_selector_get_show_icons ()

    gboolean
    e_source_selector_get_show_icons (ESourceSelector *selector);

Returns whether icons are shown next to data sources.

Generally the icon shown will be based on the presence of a backend-based extension, such as ESourceAddressBook or ESourceCalendar. For ESource instances with no such extension, no icon is shown.

#### Parameters

selector | an ESourceSelector |

#### Returns

`TRUE` if icons are being shown

Since 3.12

### e_source_selector_set_show_icons ()

    void
    e_source_selector_set_show_icons (ESourceSelector *selector,
                                      gboolean show_icons);

Sets whether to show icons next to data sources.

Generally the icon shown will be based on the presence of a backend-based extension, such as ESourceAddressBook or ESourceCalendar. For ESource instances with no such extension, no icon is shown.

#### Parameters

selector | an ESourceSelector |
show_icons | whether to show icons |

Since 3.12

### e_source_selector_get_show_toggles ()

    gboolean
    e_source_selector_get_show_toggles (ESourceSelector *selector);

Returns whether toggles are shown next to data sources.

#### Parameters

selector | an ESourceSelector |

#### Returns

`TRUE` if toggles are being shown

Since 3.6

### e_source_selector_set_show_toggles ()

    void
    e_source_selector_set_show_toggles (ESourceSelector *selector,
                                        gboolean show_toggles);

Sets whether to show toggles next to data sources.

#### Parameters

selector | an ESourceSelector |
show_toggles | whether to show toggles |

Since 3.6

### e_source_selector_select_source ()

    void
    e_source_selector_select_source (ESourceSelector *selector,
                                     ESource *source);

Select `source` in `selector` .

#### Parameters

selector | An ESourceSelector widget |
source | An ESource. |

### e_source_selector_unselect_source ()

    void
    e_source_selector_unselect_source (ESourceSelector *selector,
                                       ESource *source);

Unselect `source` in `selector` .

#### Parameters

selector | An ESourceSelector widget |
source | An ESource. |

### e_source_selector_select_exclusive ()

    void
    e_source_selector_select_exclusive (ESourceSelector *selector,
                                        ESource *source);

Select `source` in `selector` and unselect all others.

#### Parameters

selector | An ESourceSelector widget |
source | An ESource. |

Since 2.30

### e_source_selector_source_is_selected ()

    gboolean
    e_source_selector_source_is_selected (ESourceSelector *selector,
                                          ESource *source);

Check whether `source` is selected in `selector` .

#### Parameters

selector | An ESourceSelector widget |
source | An ESource. |

#### Returns

`TRUE` if `source` is currently selected, `FALSE` otherwise.

### e_source_selector_get_selection ()

    GList *
    e_source_selector_get_selection (ESourceSelector *selector);

Returns a list of selected sources, i.e. those that were enabled through the corresponding checkboxes in the tree. The sources are ordered as they appear in `selector` .

The sources returned in the list are referenced for thread-safety. They must each be unreferenced with `g_object_unref()` when finished with them. Free the returned list itself with `g_list_free()`.

An easy way to free the list properly in one step is as follows:

    1
    g_list_free_full (list, g_object_unref);

#### Parameters

selector | an ESourceSelector |

#### Returns

a ordered list of selected sources

### e_source_selector_edit_primary_selection ()

    void
    e_source_selector_edit_primary_selection
                                   (ESourceSelector *selector);

Allows the user to rename the primary selected source by opening an entry box directly in `selector` .

#### Parameters

selector | An ESourceSelector widget |

Since 2.26

### e_source_selector_ref_primary_selection ()

    ESource *
    e_source_selector_ref_primary_selection
                                   (ESourceSelector *selector);

Get the primary selected source. The primary selection is the one that is highlighted through the normal GtkTreeView selection mechanism (as opposed to the "normal" selection, which is the set of source whose checkboxes are checked).

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

#### Parameters

selector | An ESourceSelector widget |

#### Returns

The selected source.

Since 3.6

### e_source_selector_set_primary_selection ()

    void
    e_source_selector_set_primary_selection
                                   (ESourceSelector *selector,
                                    ESource *source);

Highlights `source` in `selector` . The highlighted ESource is called the primary selection.

Do not confuse this function with `e_source_selector_select_source()`, which activates the check box next to an ESource's display name in `selector` . This function does not alter the check box.

#### Parameters

selector | an ESourceSelector widget |
source | an ESource to select |

### e_source_selector_ref_source_by_iter ()

    ESource *
    e_source_selector_ref_source_by_iter (ESourceSelector *selector,
                                          GtkTreeIter *iter);

Returns the ESource object at `iter` .

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

#### Parameters

selector | an ESourceSelector |
iter | a GtkTreeIter |

#### Returns

the ESource object at `iter` , or `NULL`

Since 3.8

### e_source_selector_ref_source_by_path ()

    ESource *
    e_source_selector_ref_source_by_path (ESourceSelector *selector,
                                          GtkTreePath *path);

Returns the ESource object at `path` , or `NULL` if `path` is invalid.

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

#### Parameters

selector | an ESourceSelector |
path | a GtkTreePath |

#### Returns

the ESource object at `path` , or `NULL`

Since 3.6

### e_source_selector_queue_write ()

    void
    e_source_selector_queue_write (ESourceSelector *selector,
                                   ESource *source);

Queues a main loop idle callback to write changes to `source` back to the D-Bus registry service.

#### Parameters

selector | an ESourceSelector |
source | an ESource with changes to be written |

Since 3.6

### e_source_selector_update_row ()

    void
    e_source_selector_update_row (ESourceSelector *selector,
                                  ESource *source);

Updates the corresponding GtkTreeModel row for `source` .

This function is public so it can be called from subclasses like EClientSelector.

#### Parameters

selector | an ESourceSelector |
source | an ESource |

Since 3.8

### e_source_selector_update_all_rows ()

    void
    e_source_selector_update_all_rows (ESourceSelector *selector);

Calls `e_source_selector_update_row()` for each ESource being shown by `selector` , according to the “extension_name” property.

#### Parameters

selector | an ESourceSelector |

Since 3.10

## Types and Values

### struct ESourceSelector

    struct ESourceSelector;

## Property Details

### The `“extension-name”` property

      “extension-name”           gchar *

Flags: Read / Write / Construct Only

Default value: NULL

### The `“primary-selection”` property

      “primary-selection”        ESource *

Flags: Read / Write

### The `“registry”` property

      “registry”                 ESourceRegistry *

Flags: Read / Write / Construct Only

### The `“show-colors”` property

      “show-colors”              gboolean

Flags: Read / Write

Default value: TRUE

### The `“show-icons”` property

      “show-icons”               gboolean

Flags: Read / Write

Default value: TRUE

### The `“show-toggles”` property

      “show-toggles”             gboolean

Flags: Read / Write

Default value: TRUE

## Signal Details

### The `“data-dropped”` signal

    gboolean
    user_function (ESourceSelector  *esourceselector,
                   GtkSelectionData *arg1,
                   ESource          *arg2,
                   GdkDragAction     arg3,
                   guint             arg4,
                   gpointer          user_data)

Flags: Run Last

### The `“popup-event”` signal

    gboolean
    user_function (ESourceSelector *esourceselector,
                   GObject         *arg1,
                   GdkEvent        *arg2,
                   gpointer         user_data)

Flags: Run Last

### The `“primary-selection-changed”` signal

    void
    user_function (ESourceSelector *esourceselector,
                   gpointer         user_data)

Flags: Run Last

### The `“selection-changed”` signal

    void
    user_function (ESourceSelector *esourceselector,
                   gpointer         user_data)

Flags: Run Last

### The `“source-selected”` signal

    void
    user_function (ESourceSelector *esourceselector,
                   ESource         *arg1,
                   gpointer         user_data)

Flags: Run Last

### The `“source-unselected”` signal

    void
    user_function (ESourceSelector *esourceselector,
                   ESource         *arg1,
                   gpointer         user_data)

Flags: Run Last