Пример #1
0
static void
addressbook_model_get_property (GObject *object,
                                guint property_id,
                                GValue *value,
                                GParamSpec *pspec)
{
	switch (property_id) {
		case PROP_CLIENT:
			g_value_set_object (
				value, e_addressbook_model_get_client (
				E_ADDRESSBOOK_MODEL (object)));
			return;

		case PROP_EDITABLE:
			g_value_set_boolean (
				value, e_addressbook_model_get_editable (
				E_ADDRESSBOOK_MODEL (object)));
			return;

		case PROP_QUERY:
			g_value_set_string (
				value, e_addressbook_model_get_query (
				E_ADDRESSBOOK_MODEL (object)));
			return;
	}

	G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
}
Пример #2
0
static void
addressbook_model_dispose (GObject *object)
{
	EAddressbookModel *model = E_ADDRESSBOOK_MODEL (object);

	remove_book_view (model);
	free_data (model);

	if (model->priv->book_client) {
		if (model->priv->writable_status_id)
			g_signal_handler_disconnect (
				model->priv->book_client,
				model->priv->writable_status_id);
		model->priv->writable_status_id = 0;

		if (model->priv->backend_died_id)
			g_signal_handler_disconnect (
				model->priv->book_client,
				model->priv->backend_died_id);
		model->priv->backend_died_id = 0;

		g_object_unref (model->priv->book_client);
		model->priv->book_client = NULL;
	}

	if (model->priv->query_str) {
		g_free (model->priv->query_str);
		model->priv->query_str = NULL;
	}

	/* Chain up to parent's dispose() method. */
	G_OBJECT_CLASS (parent_class)->dispose (object);
}
Пример #3
0
static void
addressbook_model_dispose (GObject *object)
{
	EAddressbookModel *model = E_ADDRESSBOOK_MODEL (object);

	remove_book_view (model);
	free_data (model);

	if (model->priv->client_notify_readonly_handler_id > 0) {
		g_signal_handler_disconnect (
			model->priv->client_cache,
			model->priv->client_notify_readonly_handler_id);
		model->priv->client_notify_readonly_handler_id = 0;
	}

	g_clear_object (&model->priv->client_cache);
	g_clear_object (&model->priv->book_client);

	if (model->priv->query_str) {
		g_free (model->priv->query_str);
		model->priv->query_str = NULL;
	}

	/* Chain up to parent's dispose() method. */
	G_OBJECT_CLASS (e_addressbook_model_parent_class)->dispose (object);
}
Пример #4
0
static void
addressbook_model_finalize (GObject *object)
{
	EAddressbookModelPrivate *priv;

	priv = E_ADDRESSBOOK_MODEL (object)->priv;

	g_ptr_array_free (priv->contacts, TRUE);

	/* Chain up to parent's finalize() method. */
	G_OBJECT_CLASS (parent_class)->finalize (object);
}
Пример #5
0
static void
addressbook_model_constructed (GObject *object)
{
	EAddressbookModel *model;
	EClientCache *client_cache;
	gulong handler_id;

	model = E_ADDRESSBOOK_MODEL (object);

	/* Chain up to parent's constructed() method. */
	G_OBJECT_CLASS (e_addressbook_model_parent_class)->constructed (object);

	client_cache = e_addressbook_model_get_client_cache (model);

	handler_id = g_signal_connect (
		client_cache, "client-notify::readonly",
		G_CALLBACK (addressbook_model_client_notify_readonly_cb),
		model);
	model->priv->client_notify_readonly_handler_id = handler_id;
}