static void
contact_list_editor_book_loaded (EBook *new_book,
                                 EBookStatus status,
                                 EContactListEditor *editor)
{
	EContactListEditorPrivate *priv = editor->priv;
	ENameSelectorEntry *entry;

	priv->load_source_id = 0;
	priv->load_book = NULL;

	if (status != E_BOOK_ERROR_OK || new_book == NULL) {
		eab_load_error_dialog (
			NULL, e_book_get_source (new_book), status);
		e_source_combo_box_set_active (
			E_SOURCE_COMBO_BOX (WIDGET (SOURCE_MENU)),
			e_book_get_source (priv->book));
		if (new_book)
			g_object_unref (new_book);
		return;
	}

	entry = E_NAME_SELECTOR_ENTRY (WIDGET (EMAIL_ENTRY));
	e_contact_store_add_book (entry->contact_store, new_book);
	e_contact_list_editor_set_book (editor, new_book);
	g_object_unref (new_book);
}
Esempio n. 2
0
void
e_pilot_settings_set_source (EPilotSettings *ps, ESource *source)
{
	EPilotSettingsPrivate *priv;

	g_return_if_fail (ps != NULL);
	g_return_if_fail (E_IS_PILOT_SETTINGS (ps));

	priv = ps->priv;

	e_source_combo_box_set_active (
		E_SOURCE_COMBO_BOX (priv->source), source);
}
Esempio n. 3
0
ESource *
e_pilot_settings_get_source (EPilotSettings *ps)
{
	EPilotSettingsPrivate *priv;

	g_return_val_if_fail (ps != NULL, NULL);
	g_return_val_if_fail (E_IS_PILOT_SETTINGS (ps), NULL);

	priv = ps->priv;

	return e_source_combo_box_get_active (
		E_SOURCE_COMBO_BOX (priv->source));
}
void
contact_list_editor_source_menu_changed_cb (GtkWidget *widget)
{
	EContactListEditor *editor;
	ESource *source;

	editor = contact_list_editor_extract (widget);
	source = e_source_combo_box_get_active (E_SOURCE_COMBO_BOX (widget));

	if (e_source_equal (e_book_get_source (editor->priv->book), source))
		return;

	editor->priv->load_book = e_book_new (source, NULL);
	editor->priv->load_source_id = addressbook_load (
		editor->priv->load_book, (EBookCallback)
		contact_list_editor_book_loaded, editor);
}
Esempio n. 5
0
static void
e_source_combo_box_set_property (GObject *object,
                                 guint property_id,
                                 const GValue *value,
                                 GParamSpec *pspec)
{
	ESourceComboBoxPrivate *priv;

	priv = E_SOURCE_COMBO_BOX_GET_PRIVATE (object);

	switch (property_id) {
		case PROP_SOURCE_LIST:

			if (priv->source_list != NULL) {
				g_signal_handler_disconnect (
					priv->source_list, priv->handler_id);
				g_object_unref (priv->source_list);
			}

			priv->source_list = g_value_dup_object (value);

			/* Reset the tree store. */
			source_list_changed_cb (
				priv->source_list,
				E_SOURCE_COMBO_BOX (object));

			/* Watch for source list changes. */
			priv->handler_id = g_signal_connect_object (
				priv->source_list, "changed",
				G_CALLBACK (source_list_changed_cb),
				object, 0);

			return;
	}

	G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
}