/* ItemChangeHistoryRow.c generated by valac 0.56.19, the Vala compiler
 * generated from ItemChangeHistoryRow.vala, do not modify */

/*
 * Copyright © 2023 Alain M. (https://github.com/alainm23/planify)
 *
 * 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 3 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, write to the
 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 * Boston, MA 02110-1301 USA
 *
 * Authored by: Alain M. <alainmh23@gmail.com>
 */

#include <gtk/gtk.h>
#include <glib-object.h>
#include "planify.h"
#include <glib.h>
#include <stdlib.h>
#include <string.h>
#include <glib/gi18n-lib.h>
#include <pango/pango.h>
#include <float.h>
#include <math.h>
#include <adwaita.h>

#if !defined(VALA_STRICT_C)
#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ >= 14)
#pragma GCC diagnostic warning "-Wincompatible-pointer-types"
#elif defined(__clang__) && (__clang_major__ >= 16)
#pragma clang diagnostic ignored "-Wincompatible-function-pointer-types"
#pragma clang diagnostic ignored "-Wincompatible-pointer-types"
#endif
#endif
#if !defined(VALA_EXTERN)
#if defined(_MSC_VER)
#define VALA_EXTERN __declspec(dllexport) extern
#elif __GNUC__ >= 4
#define VALA_EXTERN __attribute__((visibility("default"))) extern
#else
#define VALA_EXTERN extern
#endif
#endif

#define WIDGETS_TYPE_ITEM_CHANGE_HISTORY_ROW (widgets_item_change_history_row_get_type ())
#define WIDGETS_ITEM_CHANGE_HISTORY_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WIDGETS_TYPE_ITEM_CHANGE_HISTORY_ROW, WidgetsItemChangeHistoryRow))
#define WIDGETS_ITEM_CHANGE_HISTORY_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WIDGETS_TYPE_ITEM_CHANGE_HISTORY_ROW, WidgetsItemChangeHistoryRowClass))
#define WIDGETS_IS_ITEM_CHANGE_HISTORY_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WIDGETS_TYPE_ITEM_CHANGE_HISTORY_ROW))
#define WIDGETS_IS_ITEM_CHANGE_HISTORY_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WIDGETS_TYPE_ITEM_CHANGE_HISTORY_ROW))
#define WIDGETS_ITEM_CHANGE_HISTORY_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WIDGETS_TYPE_ITEM_CHANGE_HISTORY_ROW, WidgetsItemChangeHistoryRowClass))

typedef struct _WidgetsItemChangeHistoryRow WidgetsItemChangeHistoryRow;
typedef struct _WidgetsItemChangeHistoryRowClass WidgetsItemChangeHistoryRowClass;
typedef struct _WidgetsItemChangeHistoryRowPrivate WidgetsItemChangeHistoryRowPrivate;
enum  {
	WIDGETS_ITEM_CHANGE_HISTORY_ROW_0_PROPERTY,
	WIDGETS_ITEM_CHANGE_HISTORY_ROW_OBJECT_EVENT_PROPERTY,
	WIDGETS_ITEM_CHANGE_HISTORY_ROW_NUM_PROPERTIES
};
static GParamSpec* widgets_item_change_history_row_properties[WIDGETS_ITEM_CHANGE_HISTORY_ROW_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
typedef struct _Block55Data Block55Data;
#define _g_free0(var) (var = (g_free (var), NULL))
#define _g_date_time_unref0(var) ((var == NULL) ? NULL : (var = (g_date_time_unref (var), NULL)))

struct _WidgetsItemChangeHistoryRow {
	GtkListBoxRow parent_instance;
	WidgetsItemChangeHistoryRowPrivate * priv;
};

struct _WidgetsItemChangeHistoryRowClass {
	GtkListBoxRowClass parent_class;
};

struct _WidgetsItemChangeHistoryRowPrivate {
	ObjectsObjectEvent* _object_event;
	GtkRevealer* main_revealer;
};

struct _Block55Data {
	int _ref_count_;
	WidgetsItemChangeHistoryRow* self;
	GtkLabel* expand_old_label;
	GtkRevealer* expand_old_full_revealer;
	GtkLabel* expand_new_label;
	GtkRevealer* expand_new_full_revealer;
	GtkImage* see_more_icon;
	GtkLabel* see_more_label;
	GtkRevealer* see_more_revealer;
	gboolean _expanded;
};

static gint WidgetsItemChangeHistoryRow_private_offset;
static gpointer widgets_item_change_history_row_parent_class = NULL;

VALA_EXTERN GType widgets_item_change_history_row_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WidgetsItemChangeHistoryRow, g_object_unref)
VALA_EXTERN WidgetsItemChangeHistoryRow* widgets_item_change_history_row_new (ObjectsObjectEvent* object_event);
VALA_EXTERN WidgetsItemChangeHistoryRow* widgets_item_change_history_row_construct (GType object_type,
                                                                        ObjectsObjectEvent* object_event);
VALA_EXTERN void widgets_item_change_history_row_hide_destroy (WidgetsItemChangeHistoryRow* self);
static gboolean __lambda211_ (WidgetsItemChangeHistoryRow* self);
static gboolean ___lambda211__gsource_func (gpointer self);
VALA_EXTERN ObjectsObjectEvent* widgets_item_change_history_row_get_object_event (WidgetsItemChangeHistoryRow* self);
static void widgets_item_change_history_row_set_object_event (WidgetsItemChangeHistoryRow* self,
                                                       ObjectsObjectEvent* value);
static GObject * widgets_item_change_history_row_constructor (GType type,
                                                       guint n_construct_properties,
                                                       GObjectConstructParam * construct_properties);
static Block55Data* block55_data_ref (Block55Data* _data55_);
static void block55_data_unref (void * _userdata_);
static void _widgets_item_change_history_row___lambda212_ (Block55Data* _data55_);
static void __widgets_item_change_history_row___lambda212__gtk_button_clicked (GtkButton* _sender,
                                                                        gpointer self);
static gboolean _widgets_item_change_history_row____lambda213_ (Block55Data* _data55_);
static gboolean __widgets_item_change_history_row____lambda213__gsource_func (gpointer self);
static gboolean _widgets_item_change_history_row___lambda214_ (WidgetsItemChangeHistoryRow* self);
static gboolean __widgets_item_change_history_row___lambda214__gsource_func (gpointer self);
static void widgets_item_change_history_row_finalize (GObject * obj);
static GType widgets_item_change_history_row_get_type_once (void);
static void _vala_widgets_item_change_history_row_get_property (GObject * object,
                                                         guint property_id,
                                                         GValue * value,
                                                         GParamSpec * pspec);
static void _vala_widgets_item_change_history_row_set_property (GObject * object,
                                                         guint property_id,
                                                         const GValue * value,
                                                         GParamSpec * pspec);
static void _vala_array_destroy (gpointer array,
                          gssize array_length,
                          GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array,
                       gssize array_length,
                       GDestroyNotify destroy_func);

static inline gpointer
widgets_item_change_history_row_get_instance_private (WidgetsItemChangeHistoryRow* self)
{
	return G_STRUCT_MEMBER_P (self, WidgetsItemChangeHistoryRow_private_offset);
}

WidgetsItemChangeHistoryRow*
widgets_item_change_history_row_construct (GType object_type,
                                           ObjectsObjectEvent* object_event)
{
	WidgetsItemChangeHistoryRow * self = NULL;
	g_return_val_if_fail (object_event != NULL, NULL);
	self = (WidgetsItemChangeHistoryRow*) g_object_new (object_type, "object-event", object_event, NULL);
	return self;
}

WidgetsItemChangeHistoryRow*
widgets_item_change_history_row_new (ObjectsObjectEvent* object_event)
{
	return widgets_item_change_history_row_construct (WIDGETS_TYPE_ITEM_CHANGE_HISTORY_ROW, object_event);
}

static gboolean
__lambda211_ (WidgetsItemChangeHistoryRow* self)
{
	GtkWidget* _tmp0_;
	GtkWidget* _tmp1_;
	gboolean result;
	_tmp0_ = gtk_widget_get_parent ((GtkWidget*) self);
	_tmp1_ = _tmp0_;
	gtk_list_box_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_list_box_get_type (), GtkListBox), (GtkWidget*) self);
	result = G_SOURCE_REMOVE;
	return result;
}

static gboolean
___lambda211__gsource_func (gpointer self)
{
	gboolean result;
	result = __lambda211_ ((WidgetsItemChangeHistoryRow*) self);
	return result;
}

void
widgets_item_change_history_row_hide_destroy (WidgetsItemChangeHistoryRow* self)
{
	GtkRevealer* _tmp0_;
	GtkRevealer* _tmp1_;
	guint _tmp2_;
	guint _tmp3_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->main_revealer;
	gtk_revealer_set_reveal_child (_tmp0_, FALSE);
	_tmp1_ = self->priv->main_revealer;
	_tmp2_ = gtk_revealer_get_transition_duration (_tmp1_);
	_tmp3_ = _tmp2_;
	g_timeout_add_full (G_PRIORITY_DEFAULT, _tmp3_, ___lambda211__gsource_func, g_object_ref (self), g_object_unref);
}

ObjectsObjectEvent*
widgets_item_change_history_row_get_object_event (WidgetsItemChangeHistoryRow* self)
{
	ObjectsObjectEvent* result;
	ObjectsObjectEvent* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_object_event;
	result = _tmp0_;
	return result;
}

static gpointer
_g_object_ref0 (gpointer self)
{
	return self ? g_object_ref (self) : NULL;
}

static void
widgets_item_change_history_row_set_object_event (WidgetsItemChangeHistoryRow* self,
                                                  ObjectsObjectEvent* value)
{
	ObjectsObjectEvent* old_value;
	g_return_if_fail (self != NULL);
	old_value = widgets_item_change_history_row_get_object_event (self);
	if (old_value != value) {
		ObjectsObjectEvent* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_object_event);
		self->priv->_object_event = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, widgets_item_change_history_row_properties[WIDGETS_ITEM_CHANGE_HISTORY_ROW_OBJECT_EVENT_PROPERTY]);
	}
}

static Block55Data*
block55_data_ref (Block55Data* _data55_)
{
	g_atomic_int_inc (&_data55_->_ref_count_);
	return _data55_;
}

static void
block55_data_unref (void * _userdata_)
{
	Block55Data* _data55_;
	_data55_ = (Block55Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data55_->_ref_count_)) {
		WidgetsItemChangeHistoryRow* self;
		self = _data55_->self;
		_g_object_unref0 (_data55_->see_more_revealer);
		_g_object_unref0 (_data55_->see_more_label);
		_g_object_unref0 (_data55_->see_more_icon);
		_g_object_unref0 (_data55_->expand_new_full_revealer);
		_g_object_unref0 (_data55_->expand_new_label);
		_g_object_unref0 (_data55_->expand_old_full_revealer);
		_g_object_unref0 (_data55_->expand_old_label);
		_g_object_unref0 (self);
		g_slice_free (Block55Data, _data55_);
	}
}

static void
_widgets_item_change_history_row___lambda212_ (Block55Data* _data55_)
{
	WidgetsItemChangeHistoryRow* self;
	GtkLabel* _tmp0_;
	GtkRevealer* _tmp1_;
	GtkLabel* _tmp2_;
	GtkRevealer* _tmp3_;
	const gchar* _tmp4_ = NULL;
	GtkLabel* _tmp5_;
	self = _data55_->self;
	_data55_->_expanded = !_data55_->_expanded;
	_tmp0_ = _data55_->expand_old_label;
	gtk_widget_set_visible ((GtkWidget*) _tmp0_, !_data55_->_expanded);
	_tmp1_ = _data55_->expand_old_full_revealer;
	gtk_revealer_set_reveal_child (_tmp1_, _data55_->_expanded);
	_tmp2_ = _data55_->expand_new_label;
	gtk_widget_set_visible ((GtkWidget*) _tmp2_, !_data55_->_expanded);
	_tmp3_ = _data55_->expand_new_full_revealer;
	gtk_revealer_set_reveal_child (_tmp3_, _data55_->_expanded);
	if (_data55_->_expanded) {
		_tmp4_ = _ ("See less");
	} else {
		_tmp4_ = _ ("See more");
	}
	_tmp5_ = _data55_->see_more_label;
	gtk_label_set_label (_tmp5_, _tmp4_);
	if (_data55_->_expanded) {
		GtkImage* _tmp6_;
		GtkImage* _tmp7_;
		_tmp6_ = _data55_->see_more_icon;
		gtk_widget_remove_css_class ((GtkWidget*) _tmp6_, "see-more-icon-collapsed");
		_tmp7_ = _data55_->see_more_icon;
		gtk_widget_add_css_class ((GtkWidget*) _tmp7_, "see-more-icon-expanded");
	} else {
		GtkImage* _tmp8_;
		GtkImage* _tmp9_;
		_tmp8_ = _data55_->see_more_icon;
		gtk_widget_remove_css_class ((GtkWidget*) _tmp8_, "see-more-icon-expanded");
		_tmp9_ = _data55_->see_more_icon;
		gtk_widget_add_css_class ((GtkWidget*) _tmp9_, "see-more-icon-collapsed");
	}
}

static void
__widgets_item_change_history_row___lambda212__gtk_button_clicked (GtkButton* _sender,
                                                                   gpointer self)
{
	_widgets_item_change_history_row___lambda212_ (self);
}

static gboolean
_widgets_item_change_history_row____lambda213_ (Block55Data* _data55_)
{
	WidgetsItemChangeHistoryRow* self;
	gboolean old_truncated = FALSE;
	GtkLabel* _tmp0_;
	PangoLayout* _tmp1_;
	gboolean new_truncated = FALSE;
	GtkLabel* _tmp2_;
	PangoLayout* _tmp3_;
	gboolean _tmp4_ = FALSE;
	GtkRevealer* _tmp5_;
	gboolean result;
	self = _data55_->self;
	_tmp0_ = _data55_->expand_old_label;
	_tmp1_ = gtk_label_get_layout (_tmp0_);
	old_truncated = pango_layout_is_ellipsized (_tmp1_);
	_tmp2_ = _data55_->expand_new_label;
	_tmp3_ = gtk_label_get_layout (_tmp2_);
	new_truncated = pango_layout_is_ellipsized (_tmp3_);
	if (old_truncated) {
		_tmp4_ = TRUE;
	} else {
		_tmp4_ = new_truncated;
	}
	_tmp5_ = _data55_->see_more_revealer;
	gtk_revealer_set_reveal_child (_tmp5_, _tmp4_);
	result = G_SOURCE_REMOVE;
	return result;
}

static gboolean
__widgets_item_change_history_row____lambda213__gsource_func (gpointer self)
{
	gboolean result;
	result = _widgets_item_change_history_row____lambda213_ (self);
	return result;
}

static gboolean
_widgets_item_change_history_row___lambda214_ (WidgetsItemChangeHistoryRow* self)
{
	GtkRevealer* _tmp0_;
	gboolean result;
	_tmp0_ = self->priv->main_revealer;
	gtk_revealer_set_reveal_child (_tmp0_, TRUE);
	result = G_SOURCE_REMOVE;
	return result;
}

static gboolean
__widgets_item_change_history_row___lambda214__gsource_func (gpointer self)
{
	gboolean result;
	result = _widgets_item_change_history_row___lambda214_ ((WidgetsItemChangeHistoryRow*) self);
	return result;
}

static GObject *
widgets_item_change_history_row_constructor (GType type,
                                             guint n_construct_properties,
                                             GObjectConstructParam * construct_properties)
{
	GObject * obj;
	GObjectClass * parent_class;
	WidgetsItemChangeHistoryRow * self;
	Block55Data* _data55_;
	GtkImage* object_event_icon = NULL;
	ObjectsObjectEvent* _tmp0_;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
	GtkImage* _tmp3_ = NULL;
	gchar* _type_string = NULL;
	gchar* _tmp4_;
	ObjectsObjectEvent* _tmp5_;
	ObjectEventKeyType _tmp6_;
	ObjectEventKeyType _tmp7_;
	GtkLabel* type_string = NULL;
	const gchar* _tmp72_;
	GtkLabel* _tmp73_ = NULL;
	GtkLabel* datetime_string = NULL;
	ObjectsObjectEvent* _tmp74_;
	const gchar* _tmp75_;
	const gchar* _tmp76_;
	gchar* _tmp77_;
	gchar* _tmp78_;
	gchar** _tmp79_;
	GtkLabel* _tmp80_ = NULL;
	GtkBox* header_box = NULL;
	GtkBox* _tmp81_ = NULL;
	GtkBox* _tmp82_;
	GtkLabel* _tmp83_;
	GtkBox* _tmp84_;
	GtkLabel* _tmp85_;
	GtkLabel* old_value_label = NULL;
	gchar* _tmp86_;
	gchar* _tmp87_;
	gchar** _tmp88_;
	GtkLabel* _tmp89_ = NULL;
	GtkLabel* arrow_label = NULL;
	gchar* _tmp90_;
	gchar* _tmp91_;
	gchar** _tmp92_;
	GtkLabel* _tmp93_ = NULL;
	GtkLabel* new_value_label = NULL;
	gchar* _tmp94_;
	gchar** _tmp95_;
	GtkLabel* _tmp96_ = NULL;
	GtkBox* chips_box = NULL;
	GtkBox* _tmp97_ = NULL;
	GtkBox* _tmp98_;
	GtkLabel* _tmp99_;
	GtkBox* _tmp100_;
	GtkLabel* _tmp101_;
	GtkBox* _tmp102_;
	GtkLabel* _tmp103_;
	GtkRevealer* chips_revealer = NULL;
	GtkBox* _tmp104_;
	GtkWidget* _tmp105_;
	GtkRevealer* _tmp106_ = NULL;
	gchar* _tmp107_;
	gchar* _tmp108_;
	gchar** _tmp109_;
	GtkLabel* _tmp110_ = NULL;
	GtkLabel* expand_old_label_full = NULL;
	gchar* _tmp111_;
	gchar* _tmp112_;
	gchar** _tmp113_;
	GtkLabel* _tmp114_ = NULL;
	GtkLabel* _tmp115_;
	GtkWidget* _tmp116_;
	GtkRevealer* _tmp117_ = NULL;
	gchar* _tmp118_;
	gchar** _tmp119_;
	GtkLabel* _tmp120_ = NULL;
	GtkLabel* expand_new_label_full = NULL;
	gchar* _tmp121_;
	gchar** _tmp122_;
	GtkLabel* _tmp123_ = NULL;
	GtkLabel* _tmp124_;
	GtkWidget* _tmp125_;
	GtkRevealer* _tmp126_ = NULL;
	gchar* _tmp127_;
	gchar** _tmp128_;
	GtkImage* _tmp129_ = NULL;
	gchar* _tmp130_;
	gchar** _tmp131_;
	GtkLabel* _tmp132_ = NULL;
	GtkBox* see_more_box = NULL;
	GtkBox* _tmp133_ = NULL;
	GtkBox* _tmp134_;
	GtkLabel* _tmp135_;
	GtkBox* _tmp136_;
	GtkImage* _tmp137_;
	GtkButton* see_more_button = NULL;
	gchar* _tmp138_;
	gchar* _tmp139_;
	gchar** _tmp140_;
	GtkBox* _tmp141_;
	GtkWidget* _tmp142_;
	GtkButton* _tmp143_ = NULL;
	GtkButton* _tmp144_;
	GtkWidget* _tmp145_;
	GtkRevealer* _tmp146_ = NULL;
	GtkButton* _tmp147_;
	GtkRevealer* expand_old_revealer = NULL;
	GtkRevealer* _tmp148_ = NULL;
	GtkBox* expand_old_box = NULL;
	GtkBox* _tmp149_;
	GtkBox* _tmp150_;
	GtkLabel* _tmp151_;
	GtkBox* _tmp152_;
	GtkRevealer* _tmp153_;
	GtkBox* _tmp154_;
	GtkSeparator* _tmp155_;
	GtkSeparator* _tmp156_;
	GtkRevealer* _tmp157_;
	GtkBox* _tmp158_;
	GtkBox* expand_box = NULL;
	GtkBox* _tmp159_;
	GtkBox* _tmp160_;
	GtkRevealer* _tmp161_;
	GtkBox* _tmp162_;
	GtkLabel* _tmp163_;
	GtkBox* _tmp164_;
	GtkRevealer* _tmp165_;
	GtkBox* _tmp166_;
	GtkRevealer* _tmp167_;
	GtkRevealer* expand_button_revealer = NULL;
	GtkBox* _tmp168_;
	GtkWidget* _tmp169_;
	GtkRevealer* _tmp170_ = NULL;
	GtkBox* detail_box = NULL;
	GtkBox* _tmp171_ = NULL;
	GtkBox* _tmp172_;
	GtkBox* _tmp173_;
	GtkBox* _tmp174_;
	GtkRevealer* _tmp175_;
	GtkBox* _tmp176_;
	GtkRevealer* _tmp177_;
	GtkGrid* content_box = NULL;
	GtkGrid* _tmp178_ = NULL;
	GtkGrid* _tmp179_;
	GtkImage* _tmp180_;
	GtkGrid* _tmp181_;
	GtkBox* _tmp182_;
	AdwBin* card = NULL;
	GtkGrid* _tmp183_;
	GtkWidget* _tmp184_;
	gchar* _tmp185_;
	gchar** _tmp186_;
	AdwBin* _tmp187_ = NULL;
	AdwBin* _tmp188_;
	GtkWidget* _tmp189_;
	GtkRevealer* _tmp190_ = NULL;
	GtkRevealer* _tmp191_;
	gchar* _old_value_label = NULL;
	gchar* _tmp192_;
	gchar* _new_value_label = NULL;
	gchar* _tmp193_;
	gchar* _no_value_label = NULL;
	gchar* _tmp194_;
	gboolean use_chips = FALSE;
	ObjectsObjectEvent* _tmp195_;
	ObjectEventType _tmp196_;
	ObjectEventType _tmp197_;
	GtkRevealer* _tmp395_;
	guint _tmp396_;
	guint _tmp397_;
	parent_class = G_OBJECT_CLASS (widgets_item_change_history_row_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIDGETS_TYPE_ITEM_CHANGE_HISTORY_ROW, WidgetsItemChangeHistoryRow);
	_data55_ = g_slice_new0 (Block55Data);
	_data55_->_ref_count_ = 1;
	_data55_->self = g_object_ref (self);
	gtk_widget_add_css_class ((GtkWidget*) self, "no-selectable");
	_tmp0_ = self->priv->_object_event;
	_tmp1_ = objects_object_event_get_icon_name (_tmp0_);
	_tmp2_ = _tmp1_;
	_tmp3_ = (GtkImage*) gtk_image_new_from_icon_name (_tmp2_);
	gtk_image_set_pixel_size (_tmp3_, 16);
	gtk_widget_set_valign ((GtkWidget*) _tmp3_, GTK_ALIGN_START);
	g_object_ref_sink (_tmp3_);
	object_event_icon = _tmp3_;
	_tmp4_ = g_strdup ("");
	_type_string = _tmp4_;
	_tmp5_ = self->priv->_object_event;
	_tmp6_ = objects_object_event_get_object_key (_tmp5_);
	_tmp7_ = _tmp6_;
	if (_tmp7_ == OBJECT_EVENT_KEY_TYPE_CHECKED) {
		const gchar* _tmp8_ = NULL;
		ObjectsObjectEvent* _tmp9_;
		const gchar* _tmp10_;
		const gchar* _tmp11_;
		gchar* _tmp12_;
		_tmp9_ = self->priv->_object_event;
		_tmp10_ = objects_object_event_get_object_new_value (_tmp9_);
		_tmp11_ = _tmp10_;
		if (g_strcmp0 (_tmp11_, "1") == 0) {
			_tmp8_ = _ ("Task completed");
		} else {
			_tmp8_ = _ ("Task uncompleted");
		}
		_tmp12_ = g_strdup (_tmp8_);
		_g_free0 (_type_string);
		_type_string = _tmp12_;
	} else {
		ObjectsObjectEvent* _tmp13_;
		ObjectEventKeyType _tmp14_;
		ObjectEventKeyType _tmp15_;
		_tmp13_ = self->priv->_object_event;
		_tmp14_ = objects_object_event_get_object_key (_tmp13_);
		_tmp15_ = _tmp14_;
		if (_tmp15_ == OBJECT_EVENT_KEY_TYPE_PROJECT) {
			ObjectsProject* project = NULL;
			ServicesStore* _tmp16_;
			ObjectsObjectEvent* _tmp17_;
			const gchar* _tmp18_;
			const gchar* _tmp19_;
			ObjectsProject* _tmp20_;
			const gchar* _tmp21_ = NULL;
			ObjectsProject* _tmp22_;
			gchar* _tmp26_;
			_tmp16_ = services_store_instance ();
			_tmp17_ = self->priv->_object_event;
			_tmp18_ = objects_object_event_get_object_new_value (_tmp17_);
			_tmp19_ = _tmp18_;
			_tmp20_ = services_store_get_project (_tmp16_, _tmp19_);
			project = _tmp20_;
			_tmp22_ = project;
			if (_tmp22_ != NULL) {
				ObjectsProject* _tmp23_;
				const gchar* _tmp24_;
				const gchar* _tmp25_;
				_tmp23_ = project;
				_tmp24_ = objects_base_object_get_name ((ObjectsBaseObject*) _tmp23_);
				_tmp25_ = _tmp24_;
				_tmp21_ = _tmp25_;
			} else {
				_tmp21_ = _ ("Unknown project");
			}
			_tmp26_ = g_strdup_printf ("%s: %s", _ ("Task moved to project"), _tmp21_);
			_g_free0 (_type_string);
			_type_string = _tmp26_;
			_g_object_unref0 (project);
		} else {
			ObjectsObjectEvent* _tmp27_;
			ObjectEventKeyType _tmp28_;
			ObjectEventKeyType _tmp29_;
			_tmp27_ = self->priv->_object_event;
			_tmp28_ = objects_object_event_get_object_key (_tmp27_);
			_tmp29_ = _tmp28_;
			if (_tmp29_ == OBJECT_EVENT_KEY_TYPE_SECTION) {
				ObjectsItem* _tmp30_ = NULL;
				ServicesStore* _tmp31_;
				ObjectsObjectEvent* _tmp32_;
				const gchar* _tmp33_;
				const gchar* _tmp34_;
				ObjectsItem* _tmp35_;
				ObjectsProject* _tmp36_ = NULL;
				ObjectsProject* _tmp39_ = NULL;
				const gchar* _tmp40_ = NULL;
				const gchar* _tmp43_ = NULL;
				gchar* section_name = NULL;
				gchar* _tmp44_;
				ObjectsObjectEvent* _tmp45_;
				const gchar* _tmp46_;
				const gchar* _tmp47_;
				const gchar* _tmp59_;
				gchar* _tmp60_;
				_tmp31_ = services_store_instance ();
				_tmp32_ = self->priv->_object_event;
				_tmp33_ = objects_object_event_get_object_id (_tmp32_);
				_tmp34_ = _tmp33_;
				_tmp35_ = services_store_get_item (_tmp31_, _tmp34_);
				_tmp30_ = _tmp35_;
				_tmp36_ = NULL;
				if (_tmp30_ != NULL) {
					ObjectsProject* _tmp37_;
					ObjectsProject* _tmp38_;
					_tmp37_ = objects_item_get_project (_tmp30_);
					_tmp38_ = _tmp37_;
					_tmp36_ = _tmp38_;
				}
				_tmp39_ = _tmp36_;
				_tmp40_ = NULL;
				if (_tmp39_ != NULL) {
					const gchar* _tmp41_;
					const gchar* _tmp42_;
					_tmp41_ = objects_base_object_get_name ((ObjectsBaseObject*) _tmp39_);
					_tmp42_ = _tmp41_;
					_tmp40_ = _tmp42_;
				}
				_tmp43_ = _tmp40_;
				if (_tmp43_ == NULL) {
					_tmp43_ = _ ("Unknown");
				}
				_tmp44_ = g_strdup (_tmp43_);
				section_name = _tmp44_;
				_tmp45_ = self->priv->_object_event;
				_tmp46_ = objects_object_event_get_object_new_value (_tmp45_);
				_tmp47_ = _tmp46_;
				if (g_strcmp0 (_tmp47_, "") != 0) {
					ObjectsSection* section = NULL;
					ServicesStore* _tmp48_;
					ObjectsObjectEvent* _tmp49_;
					const gchar* _tmp50_;
					const gchar* _tmp51_;
					ObjectsSection* _tmp52_;
					const gchar* _tmp53_ = NULL;
					ObjectsSection* _tmp54_;
					gchar* _tmp58_;
					_tmp48_ = services_store_instance ();
					_tmp49_ = self->priv->_object_event;
					_tmp50_ = objects_object_event_get_object_new_value (_tmp49_);
					_tmp51_ = _tmp50_;
					_tmp52_ = services_store_get_section (_tmp48_, _tmp51_);
					section = _tmp52_;
					_tmp54_ = section;
					if (_tmp54_ != NULL) {
						ObjectsSection* _tmp55_;
						const gchar* _tmp56_;
						const gchar* _tmp57_;
						_tmp55_ = section;
						_tmp56_ = objects_base_object_get_name ((ObjectsBaseObject*) _tmp55_);
						_tmp57_ = _tmp56_;
						_tmp53_ = _tmp57_;
					} else {
						_tmp53_ = _ ("Unknown section");
					}
					_tmp58_ = g_strdup (_tmp53_);
					_g_free0 (section_name);
					section_name = _tmp58_;
					_g_object_unref0 (section);
				}
				_tmp59_ = section_name;
				_tmp60_ = g_strdup_printf ("%s: %s", _ ("Task moved to"), _tmp59_);
				_g_free0 (_type_string);
				_type_string = _tmp60_;
				_g_free0 (section_name);
				_g_object_unref0 (_tmp30_);
			} else {
				ObjectsObjectEvent* _tmp61_;
				ObjectEventType _tmp62_;
				ObjectEventType _tmp63_;
				gchar* _tmp64_;
				gchar* _tmp65_;
				ObjectsObjectEvent* _tmp66_;
				ObjectEventKeyType _tmp67_;
				ObjectEventKeyType _tmp68_;
				gchar* _tmp69_;
				gchar* _tmp70_;
				gchar* _tmp71_;
				_tmp61_ = self->priv->_object_event;
				_tmp62_ = objects_object_event_get_event_type (_tmp61_);
				_tmp63_ = _tmp62_;
				_tmp64_ = object_event_type_get_label (_tmp63_);
				_tmp65_ = _tmp64_;
				_tmp66_ = self->priv->_object_event;
				_tmp67_ = objects_object_event_get_object_key (_tmp66_);
				_tmp68_ = _tmp67_;
				_tmp69_ = object_event_key_type_get_label (_tmp68_);
				_tmp70_ = _tmp69_;
				_tmp71_ = g_strdup_printf ("%s: %s", _tmp65_, _tmp70_);
				_g_free0 (_type_string);
				_type_string = _tmp71_;
				_g_free0 (_tmp70_);
				_g_free0 (_tmp65_);
			}
		}
	}
	_tmp72_ = _type_string;
	_tmp73_ = (GtkLabel*) gtk_label_new (_tmp72_);
	gtk_label_set_use_markup (_tmp73_, TRUE);
	gtk_widget_set_halign ((GtkWidget*) _tmp73_, GTK_ALIGN_START);
	gtk_widget_set_margin_bottom ((GtkWidget*) _tmp73_, 3);
	gtk_label_set_ellipsize (_tmp73_, PANGO_ELLIPSIZE_END);
	g_object_ref_sink (_tmp73_);
	type_string = _tmp73_;
	_tmp74_ = self->priv->_object_event;
	_tmp75_ = objects_object_event_get_time (_tmp74_);
	_tmp76_ = _tmp75_;
	_tmp77_ = g_strdup ("dimmed");
	_tmp78_ = g_strdup ("caption");
	_tmp79_ = g_new0 (gchar*, 2 + 1);
	_tmp79_[0] = _tmp77_;
	_tmp79_[1] = _tmp78_;
	_tmp80_ = (GtkLabel*) gtk_label_new (_tmp76_);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp80_, _tmp79_);
	_tmp79_ = (_vala_array_free (_tmp79_, 2, (GDestroyNotify) g_free), NULL);
	gtk_widget_set_halign ((GtkWidget*) _tmp80_, GTK_ALIGN_END);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp80_, TRUE);
	g_object_ref_sink (_tmp80_);
	datetime_string = _tmp80_;
	_tmp81_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp81_, TRUE);
	g_object_ref_sink (_tmp81_);
	header_box = _tmp81_;
	_tmp82_ = header_box;
	_tmp83_ = type_string;
	gtk_box_append (_tmp82_, (GtkWidget*) _tmp83_);
	_tmp84_ = header_box;
	_tmp85_ = datetime_string;
	gtk_box_append (_tmp84_, (GtkWidget*) _tmp85_);
	_tmp86_ = g_strdup ("dimmed");
	_tmp87_ = g_strdup ("caption");
	_tmp88_ = g_new0 (gchar*, 2 + 1);
	_tmp88_[0] = _tmp86_;
	_tmp88_[1] = _tmp87_;
	_tmp89_ = (GtkLabel*) gtk_label_new (NULL);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp89_, _tmp88_);
	_tmp88_ = (_vala_array_free (_tmp88_, 2, (GDestroyNotify) g_free), NULL);
	gtk_label_set_selectable (_tmp89_, TRUE);
	gtk_label_set_ellipsize (_tmp89_, PANGO_ELLIPSIZE_END);
	g_object_ref_sink (_tmp89_);
	old_value_label = _tmp89_;
	_tmp90_ = g_strdup ("dimmed");
	_tmp91_ = g_strdup ("caption");
	_tmp92_ = g_new0 (gchar*, 2 + 1);
	_tmp92_[0] = _tmp90_;
	_tmp92_[1] = _tmp91_;
	_tmp93_ = (GtkLabel*) gtk_label_new ("→");
	gtk_widget_set_css_classes ((GtkWidget*) _tmp93_, _tmp92_);
	_tmp92_ = (_vala_array_free (_tmp92_, 2, (GDestroyNotify) g_free), NULL);
	g_object_ref_sink (_tmp93_);
	arrow_label = _tmp93_;
	_tmp94_ = g_strdup ("caption");
	_tmp95_ = g_new0 (gchar*, 1 + 1);
	_tmp95_[0] = _tmp94_;
	_tmp96_ = (GtkLabel*) gtk_label_new (NULL);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp96_, _tmp95_);
	_tmp95_ = (_vala_array_free (_tmp95_, 1, (GDestroyNotify) g_free), NULL);
	gtk_label_set_selectable (_tmp96_, TRUE);
	gtk_label_set_ellipsize (_tmp96_, PANGO_ELLIPSIZE_END);
	g_object_ref_sink (_tmp96_);
	new_value_label = _tmp96_;
	_tmp97_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
	gtk_widget_set_halign ((GtkWidget*) _tmp97_, GTK_ALIGN_START);
	g_object_ref_sink (_tmp97_);
	chips_box = _tmp97_;
	_tmp98_ = chips_box;
	_tmp99_ = old_value_label;
	gtk_box_append (_tmp98_, (GtkWidget*) _tmp99_);
	_tmp100_ = chips_box;
	_tmp101_ = arrow_label;
	gtk_box_append (_tmp100_, (GtkWidget*) _tmp101_);
	_tmp102_ = chips_box;
	_tmp103_ = new_value_label;
	gtk_box_append (_tmp102_, (GtkWidget*) _tmp103_);
	_tmp104_ = chips_box;
	_tmp105_ = _g_object_ref0 ((GtkWidget*) _tmp104_);
	_tmp106_ = (GtkRevealer*) gtk_revealer_new ();
	gtk_revealer_set_transition_type (_tmp106_, GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN);
	gtk_revealer_set_child (_tmp106_, _tmp105_);
	_g_object_unref0 (_tmp105_);
	g_object_ref_sink (_tmp106_);
	chips_revealer = _tmp106_;
	_tmp107_ = g_strdup ("dimmed");
	_tmp108_ = g_strdup ("caption");
	_tmp109_ = g_new0 (gchar*, 2 + 1);
	_tmp109_[0] = _tmp107_;
	_tmp109_[1] = _tmp108_;
	_tmp110_ = (GtkLabel*) gtk_label_new (NULL);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp110_, _tmp109_);
	_tmp109_ = (_vala_array_free (_tmp109_, 2, (GDestroyNotify) g_free), NULL);
	gtk_label_set_selectable (_tmp110_, TRUE);
	gtk_label_set_wrap (_tmp110_, TRUE);
	gtk_label_set_xalign (_tmp110_, (gfloat) 0);
	gtk_label_set_lines (_tmp110_, 2);
	gtk_label_set_ellipsize (_tmp110_, PANGO_ELLIPSIZE_END);
	g_object_ref_sink (_tmp110_);
	_data55_->expand_old_label = _tmp110_;
	_tmp111_ = g_strdup ("dimmed");
	_tmp112_ = g_strdup ("caption");
	_tmp113_ = g_new0 (gchar*, 2 + 1);
	_tmp113_[0] = _tmp111_;
	_tmp113_[1] = _tmp112_;
	_tmp114_ = (GtkLabel*) gtk_label_new (NULL);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp114_, _tmp113_);
	_tmp113_ = (_vala_array_free (_tmp113_, 2, (GDestroyNotify) g_free), NULL);
	gtk_label_set_selectable (_tmp114_, TRUE);
	gtk_label_set_wrap (_tmp114_, TRUE);
	gtk_label_set_xalign (_tmp114_, (gfloat) 0);
	g_object_ref_sink (_tmp114_);
	expand_old_label_full = _tmp114_;
	_tmp115_ = expand_old_label_full;
	_tmp116_ = _g_object_ref0 ((GtkWidget*) _tmp115_);
	_tmp117_ = (GtkRevealer*) gtk_revealer_new ();
	gtk_revealer_set_transition_type (_tmp117_, GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN);
	gtk_revealer_set_reveal_child (_tmp117_, FALSE);
	gtk_revealer_set_child (_tmp117_, _tmp116_);
	_g_object_unref0 (_tmp116_);
	g_object_ref_sink (_tmp117_);
	_data55_->expand_old_full_revealer = _tmp117_;
	_tmp118_ = g_strdup ("caption");
	_tmp119_ = g_new0 (gchar*, 1 + 1);
	_tmp119_[0] = _tmp118_;
	_tmp120_ = (GtkLabel*) gtk_label_new (NULL);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp120_, _tmp119_);
	_tmp119_ = (_vala_array_free (_tmp119_, 1, (GDestroyNotify) g_free), NULL);
	gtk_label_set_selectable (_tmp120_, TRUE);
	gtk_label_set_wrap (_tmp120_, TRUE);
	gtk_label_set_xalign (_tmp120_, (gfloat) 0);
	gtk_label_set_lines (_tmp120_, 2);
	gtk_label_set_ellipsize (_tmp120_, PANGO_ELLIPSIZE_END);
	gtk_widget_set_margin_top ((GtkWidget*) _tmp120_, 6);
	g_object_ref_sink (_tmp120_);
	_data55_->expand_new_label = _tmp120_;
	_tmp121_ = g_strdup ("caption");
	_tmp122_ = g_new0 (gchar*, 1 + 1);
	_tmp122_[0] = _tmp121_;
	_tmp123_ = (GtkLabel*) gtk_label_new (NULL);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp123_, _tmp122_);
	_tmp122_ = (_vala_array_free (_tmp122_, 1, (GDestroyNotify) g_free), NULL);
	gtk_label_set_selectable (_tmp123_, TRUE);
	gtk_label_set_wrap (_tmp123_, TRUE);
	gtk_label_set_xalign (_tmp123_, (gfloat) 0);
	g_object_ref_sink (_tmp123_);
	expand_new_label_full = _tmp123_;
	_tmp124_ = expand_new_label_full;
	_tmp125_ = _g_object_ref0 ((GtkWidget*) _tmp124_);
	_tmp126_ = (GtkRevealer*) gtk_revealer_new ();
	gtk_revealer_set_transition_type (_tmp126_, GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN);
	gtk_revealer_set_reveal_child (_tmp126_, FALSE);
	gtk_revealer_set_child (_tmp126_, _tmp125_);
	_g_object_unref0 (_tmp125_);
	g_object_ref_sink (_tmp126_);
	_data55_->expand_new_full_revealer = _tmp126_;
	_tmp127_ = g_strdup ("see-more-icon-collapsed");
	_tmp128_ = g_new0 (gchar*, 1 + 1);
	_tmp128_[0] = _tmp127_;
	_tmp129_ = (GtkImage*) gtk_image_new_from_icon_name ("down-small-symbolic");
	gtk_image_set_pixel_size (_tmp129_, 12);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp129_, _tmp128_);
	_tmp128_ = (_vala_array_free (_tmp128_, 1, (GDestroyNotify) g_free), NULL);
	g_object_ref_sink (_tmp129_);
	_data55_->see_more_icon = _tmp129_;
	_tmp130_ = g_strdup ("caption");
	_tmp131_ = g_new0 (gchar*, 1 + 1);
	_tmp131_[0] = _tmp130_;
	_tmp132_ = (GtkLabel*) gtk_label_new (_ ("See more"));
	gtk_widget_set_css_classes ((GtkWidget*) _tmp132_, _tmp131_);
	_tmp131_ = (_vala_array_free (_tmp131_, 1, (GDestroyNotify) g_free), NULL);
	g_object_ref_sink (_tmp132_);
	_data55_->see_more_label = _tmp132_;
	_tmp133_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4);
	gtk_widget_set_halign ((GtkWidget*) _tmp133_, GTK_ALIGN_CENTER);
	g_object_ref_sink (_tmp133_);
	see_more_box = _tmp133_;
	_tmp134_ = see_more_box;
	_tmp135_ = _data55_->see_more_label;
	gtk_box_append (_tmp134_, (GtkWidget*) _tmp135_);
	_tmp136_ = see_more_box;
	_tmp137_ = _data55_->see_more_icon;
	gtk_box_append (_tmp136_, (GtkWidget*) _tmp137_);
	_tmp138_ = g_strdup ("flat");
	_tmp139_ = g_strdup ("dimmed");
	_tmp140_ = g_new0 (gchar*, 2 + 1);
	_tmp140_[0] = _tmp138_;
	_tmp140_[1] = _tmp139_;
	_tmp141_ = see_more_box;
	_tmp142_ = _g_object_ref0 ((GtkWidget*) _tmp141_);
	_tmp143_ = (GtkButton*) gtk_button_new ();
	gtk_widget_set_css_classes ((GtkWidget*) _tmp143_, _tmp140_);
	_tmp140_ = (_vala_array_free (_tmp140_, 2, (GDestroyNotify) g_free), NULL);
	gtk_widget_set_halign ((GtkWidget*) _tmp143_, GTK_ALIGN_CENTER);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp143_, TRUE);
	gtk_button_set_child (_tmp143_, _tmp142_);
	_g_object_unref0 (_tmp142_);
	g_object_ref_sink (_tmp143_);
	see_more_button = _tmp143_;
	_tmp144_ = see_more_button;
	_tmp145_ = _g_object_ref0 ((GtkWidget*) _tmp144_);
	_tmp146_ = (GtkRevealer*) gtk_revealer_new ();
	gtk_revealer_set_transition_type (_tmp146_, GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN);
	gtk_revealer_set_reveal_child (_tmp146_, FALSE);
	gtk_revealer_set_child (_tmp146_, _tmp145_);
	_g_object_unref0 (_tmp145_);
	g_object_ref_sink (_tmp146_);
	_data55_->see_more_revealer = _tmp146_;
	_data55_->_expanded = FALSE;
	_tmp147_ = see_more_button;
	g_signal_connect_data (_tmp147_, "clicked", (GCallback) __widgets_item_change_history_row___lambda212__gtk_button_clicked, block55_data_ref (_data55_), (GClosureNotify) block55_data_unref, 0);
	_tmp148_ = (GtkRevealer*) gtk_revealer_new ();
	gtk_revealer_set_transition_type (_tmp148_, GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN);
	gtk_revealer_set_reveal_child (_tmp148_, FALSE);
	g_object_ref_sink (_tmp148_);
	expand_old_revealer = _tmp148_;
	_tmp149_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 3);
	g_object_ref_sink (_tmp149_);
	expand_old_box = _tmp149_;
	_tmp150_ = expand_old_box;
	_tmp151_ = _data55_->expand_old_label;
	gtk_box_append (_tmp150_, (GtkWidget*) _tmp151_);
	_tmp152_ = expand_old_box;
	_tmp153_ = _data55_->expand_old_full_revealer;
	gtk_box_append (_tmp152_, (GtkWidget*) _tmp153_);
	_tmp154_ = expand_old_box;
	_tmp155_ = (GtkSeparator*) gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
	g_object_ref_sink (_tmp155_);
	_tmp156_ = _tmp155_;
	gtk_box_append (_tmp154_, (GtkWidget*) _tmp156_);
	_g_object_unref0 (_tmp156_);
	_tmp157_ = expand_old_revealer;
	_tmp158_ = expand_old_box;
	gtk_revealer_set_child (_tmp157_, (GtkWidget*) _tmp158_);
	_tmp159_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 3);
	g_object_ref_sink (_tmp159_);
	expand_box = _tmp159_;
	_tmp160_ = expand_box;
	_tmp161_ = expand_old_revealer;
	gtk_box_append (_tmp160_, (GtkWidget*) _tmp161_);
	_tmp162_ = expand_box;
	_tmp163_ = _data55_->expand_new_label;
	gtk_box_append (_tmp162_, (GtkWidget*) _tmp163_);
	_tmp164_ = expand_box;
	_tmp165_ = _data55_->expand_new_full_revealer;
	gtk_box_append (_tmp164_, (GtkWidget*) _tmp165_);
	_tmp166_ = expand_box;
	_tmp167_ = _data55_->see_more_revealer;
	gtk_box_append (_tmp166_, (GtkWidget*) _tmp167_);
	_tmp168_ = expand_box;
	_tmp169_ = _g_object_ref0 ((GtkWidget*) _tmp168_);
	_tmp170_ = (GtkRevealer*) gtk_revealer_new ();
	gtk_revealer_set_transition_type (_tmp170_, GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN);
	gtk_revealer_set_reveal_child (_tmp170_, FALSE);
	gtk_revealer_set_child (_tmp170_, _tmp169_);
	_g_object_unref0 (_tmp169_);
	g_object_ref_sink (_tmp170_);
	expand_button_revealer = _tmp170_;
	_tmp171_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
	gtk_widget_set_valign ((GtkWidget*) _tmp171_, GTK_ALIGN_START);
	g_object_ref_sink (_tmp171_);
	detail_box = _tmp171_;
	_tmp172_ = detail_box;
	_tmp173_ = header_box;
	gtk_box_append (_tmp172_, (GtkWidget*) _tmp173_);
	_tmp174_ = detail_box;
	_tmp175_ = chips_revealer;
	gtk_box_append (_tmp174_, (GtkWidget*) _tmp175_);
	_tmp176_ = detail_box;
	_tmp177_ = expand_button_revealer;
	gtk_box_append (_tmp176_, (GtkWidget*) _tmp177_);
	_tmp178_ = (GtkGrid*) gtk_grid_new ();
	gtk_grid_set_column_spacing (_tmp178_, 9);
	gtk_widget_set_margin_top ((GtkWidget*) _tmp178_, 12);
	gtk_widget_set_margin_bottom ((GtkWidget*) _tmp178_, 12);
	gtk_widget_set_margin_start ((GtkWidget*) _tmp178_, 12);
	gtk_widget_set_margin_end ((GtkWidget*) _tmp178_, 12);
	g_object_ref_sink (_tmp178_);
	content_box = _tmp178_;
	_tmp179_ = content_box;
	_tmp180_ = object_event_icon;
	gtk_grid_attach (_tmp179_, (GtkWidget*) _tmp180_, 0, 0, 1, 2);
	_tmp181_ = content_box;
	_tmp182_ = detail_box;
	gtk_grid_attach (_tmp181_, (GtkWidget*) _tmp182_, 1, 0, 1, 2);
	_tmp183_ = content_box;
	_tmp184_ = _g_object_ref0 ((GtkWidget*) _tmp183_);
	_tmp185_ = g_strdup ("card");
	_tmp186_ = g_new0 (gchar*, 1 + 1);
	_tmp186_[0] = _tmp185_;
	_tmp187_ = (AdwBin*) adw_bin_new ();
	adw_bin_set_child (_tmp187_, _tmp184_);
	_g_object_unref0 (_tmp184_);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp187_, _tmp186_);
	_tmp186_ = (_vala_array_free (_tmp186_, 1, (GDestroyNotify) g_free), NULL);
	gtk_widget_set_margin_top ((GtkWidget*) _tmp187_, 3);
	gtk_widget_set_margin_bottom ((GtkWidget*) _tmp187_, 3);
	gtk_widget_set_margin_start ((GtkWidget*) _tmp187_, 3);
	gtk_widget_set_margin_end ((GtkWidget*) _tmp187_, 3);
	g_object_ref_sink (_tmp187_);
	card = _tmp187_;
	_tmp188_ = card;
	_tmp189_ = _g_object_ref0 ((GtkWidget*) _tmp188_);
	_tmp190_ = (GtkRevealer*) gtk_revealer_new ();
	gtk_revealer_set_transition_type (_tmp190_, GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN);
	gtk_revealer_set_child (_tmp190_, _tmp189_);
	_g_object_unref0 (_tmp189_);
	g_object_ref_sink (_tmp190_);
	_g_object_unref0 (self->priv->main_revealer);
	self->priv->main_revealer = _tmp190_;
	_tmp191_ = self->priv->main_revealer;
	gtk_list_box_row_set_child ((GtkListBoxRow*) self, (GtkWidget*) _tmp191_);
	_tmp192_ = g_strdup ("");
	_old_value_label = _tmp192_;
	_tmp193_ = g_strdup ("");
	_new_value_label = _tmp193_;
	_tmp194_ = g_strdup (_ ("None"));
	_no_value_label = _tmp194_;
	use_chips = FALSE;
	_tmp195_ = self->priv->_object_event;
	_tmp196_ = objects_object_event_get_event_type (_tmp195_);
	_tmp197_ = _tmp196_;
	if (_tmp197_ == OBJECT_EVENT_TYPE_INSERT) {
		ObjectsObjectEvent* _tmp198_;
		const gchar* _tmp199_;
		const gchar* _tmp200_;
		gchar* _tmp201_;
		_tmp198_ = self->priv->_object_event;
		_tmp199_ = objects_object_event_get_object_new_value (_tmp198_);
		_tmp200_ = _tmp199_;
		_tmp201_ = g_strdup (_tmp200_);
		_g_free0 (_new_value_label);
		_new_value_label = _tmp201_;
	} else {
		ObjectsObjectEvent* _tmp202_;
		ObjectEventType _tmp203_;
		ObjectEventType _tmp204_;
		_tmp202_ = self->priv->_object_event;
		_tmp203_ = objects_object_event_get_event_type (_tmp202_);
		_tmp204_ = _tmp203_;
		if (_tmp204_ == OBJECT_EVENT_TYPE_UPDATE) {
			gboolean _tmp205_ = FALSE;
			ObjectsObjectEvent* _tmp206_;
			ObjectEventKeyType _tmp207_;
			ObjectEventKeyType _tmp208_;
			_tmp206_ = self->priv->_object_event;
			_tmp207_ = objects_object_event_get_object_key (_tmp206_);
			_tmp208_ = _tmp207_;
			if (_tmp208_ == OBJECT_EVENT_KEY_TYPE_CONTENT) {
				_tmp205_ = TRUE;
			} else {
				ObjectsObjectEvent* _tmp209_;
				ObjectEventKeyType _tmp210_;
				ObjectEventKeyType _tmp211_;
				_tmp209_ = self->priv->_object_event;
				_tmp210_ = objects_object_event_get_object_key (_tmp209_);
				_tmp211_ = _tmp210_;
				_tmp205_ = _tmp211_ == OBJECT_EVENT_KEY_TYPE_DESCRIPTION;
			}
			if (_tmp205_) {
				gchar* _tmp212_;
				ObjectsObjectEvent* _tmp213_;
				const gchar* _tmp214_;
				const gchar* _tmp215_;
				gchar* _tmp216_;
				ObjectsObjectEvent* _tmp217_;
				const gchar* _tmp218_;
				const gchar* _tmp219_;
				gchar* _tmp220_;
				_tmp212_ = g_strdup (_ ("Empty"));
				_g_free0 (_no_value_label);
				_no_value_label = _tmp212_;
				_tmp213_ = self->priv->_object_event;
				_tmp214_ = objects_object_event_get_object_old_value (_tmp213_);
				_tmp215_ = _tmp214_;
				_tmp216_ = g_strdup (_tmp215_);
				_g_free0 (_old_value_label);
				_old_value_label = _tmp216_;
				_tmp217_ = self->priv->_object_event;
				_tmp218_ = objects_object_event_get_object_new_value (_tmp217_);
				_tmp219_ = _tmp218_;
				_tmp220_ = g_strdup (_tmp219_);
				_g_free0 (_new_value_label);
				_new_value_label = _tmp220_;
			} else {
				ObjectsObjectEvent* _tmp221_;
				ObjectEventKeyType _tmp222_;
				ObjectEventKeyType _tmp223_;
				_tmp221_ = self->priv->_object_event;
				_tmp222_ = objects_object_event_get_object_key (_tmp221_);
				_tmp223_ = _tmp222_;
				if (_tmp223_ == OBJECT_EVENT_KEY_TYPE_DUE) {
					gchar* _tmp224_;
					ObjectsObjectEvent* _tmp225_;
					ObjectsObjectEvent* _tmp226_;
					const gchar* _tmp227_;
					const gchar* _tmp228_;
					ObjectsDueDate* _tmp229_;
					ObjectsDueDate* _tmp230_;
					GDateTime* _tmp231_;
					GDateTime* _tmp232_;
					gchar* _tmp233_;
					ObjectsObjectEvent* _tmp234_;
					ObjectsObjectEvent* _tmp235_;
					const gchar* _tmp236_;
					const gchar* _tmp237_;
					ObjectsDueDate* _tmp238_;
					ObjectsDueDate* _tmp239_;
					GDateTime* _tmp240_;
					GDateTime* _tmp241_;
					gchar* _tmp242_;
					use_chips = TRUE;
					_tmp224_ = g_strdup (_ ("No date"));
					_g_free0 (_no_value_label);
					_no_value_label = _tmp224_;
					_tmp225_ = self->priv->_object_event;
					_tmp226_ = self->priv->_object_event;
					_tmp227_ = objects_object_event_get_object_old_value (_tmp226_);
					_tmp228_ = _tmp227_;
					_tmp229_ = objects_object_event_get_due_value (_tmp225_, _tmp228_);
					_tmp230_ = _tmp229_;
					_tmp231_ = objects_due_date_get_datetime (_tmp230_);
					_tmp232_ = _tmp231_;
					_tmp233_ = utils_datetime_get_relative_date_from_date (_tmp232_);
					_g_free0 (_old_value_label);
					_old_value_label = _tmp233_;
					_g_object_unref0 (_tmp230_);
					_tmp234_ = self->priv->_object_event;
					_tmp235_ = self->priv->_object_event;
					_tmp236_ = objects_object_event_get_object_new_value (_tmp235_);
					_tmp237_ = _tmp236_;
					_tmp238_ = objects_object_event_get_due_value (_tmp234_, _tmp237_);
					_tmp239_ = _tmp238_;
					_tmp240_ = objects_due_date_get_datetime (_tmp239_);
					_tmp241_ = _tmp240_;
					_tmp242_ = utils_datetime_get_relative_date_from_date (_tmp241_);
					_g_free0 (_new_value_label);
					_new_value_label = _tmp242_;
					_g_object_unref0 (_tmp239_);
				} else {
					ObjectsObjectEvent* _tmp243_;
					ObjectEventKeyType _tmp244_;
					ObjectEventKeyType _tmp245_;
					_tmp243_ = self->priv->_object_event;
					_tmp244_ = objects_object_event_get_object_key (_tmp243_);
					_tmp245_ = _tmp244_;
					if (_tmp245_ == OBJECT_EVENT_KEY_TYPE_PRIORITY) {
						gchar* _tmp246_;
						ObjectsObjectEvent* _tmp247_;
						const gchar* _tmp248_;
						const gchar* _tmp249_;
						ObjectsObjectEvent* _tmp258_;
						const gchar* _tmp259_;
						const gchar* _tmp260_;
						use_chips = TRUE;
						_tmp246_ = g_strdup (_ ("No priority"));
						_g_free0 (_no_value_label);
						_no_value_label = _tmp246_;
						_tmp247_ = self->priv->_object_event;
						_tmp248_ = objects_object_event_get_object_old_value (_tmp247_);
						_tmp249_ = _tmp248_;
						if (g_strcmp0 (_tmp249_, "") != 0) {
							ObjectsObjectEvent* _tmp250_;
							const gchar* _tmp251_;
							const gchar* _tmp252_;
							ObjectsFiltersPriority* _tmp253_;
							ObjectsFiltersPriority* _tmp254_;
							const gchar* _tmp255_;
							const gchar* _tmp256_;
							gchar* _tmp257_;
							_tmp250_ = self->priv->_object_event;
							_tmp251_ = objects_object_event_get_object_old_value (_tmp250_);
							_tmp252_ = _tmp251_;
							_tmp253_ = objects_filters_priority_get_default (atoi (_tmp252_));
							_tmp254_ = _tmp253_;
							_tmp255_ = objects_filters_priority_get_title (_tmp254_);
							_tmp256_ = _tmp255_;
							_tmp257_ = g_strdup (_tmp256_);
							_g_free0 (_old_value_label);
							_old_value_label = _tmp257_;
							_g_object_unref0 (_tmp254_);
						}
						_tmp258_ = self->priv->_object_event;
						_tmp259_ = objects_object_event_get_object_new_value (_tmp258_);
						_tmp260_ = _tmp259_;
						if (g_strcmp0 (_tmp260_, "") != 0) {
							ObjectsObjectEvent* _tmp261_;
							const gchar* _tmp262_;
							const gchar* _tmp263_;
							ObjectsFiltersPriority* _tmp264_;
							ObjectsFiltersPriority* _tmp265_;
							const gchar* _tmp266_;
							const gchar* _tmp267_;
							gchar* _tmp268_;
							_tmp261_ = self->priv->_object_event;
							_tmp262_ = objects_object_event_get_object_new_value (_tmp261_);
							_tmp263_ = _tmp262_;
							_tmp264_ = objects_filters_priority_get_default (atoi (_tmp263_));
							_tmp265_ = _tmp264_;
							_tmp266_ = objects_filters_priority_get_title (_tmp265_);
							_tmp267_ = _tmp266_;
							_tmp268_ = g_strdup (_tmp267_);
							_g_free0 (_new_value_label);
							_new_value_label = _tmp268_;
							_g_object_unref0 (_tmp265_);
						}
					} else {
						ObjectsObjectEvent* _tmp269_;
						ObjectEventKeyType _tmp270_;
						ObjectEventKeyType _tmp271_;
						_tmp269_ = self->priv->_object_event;
						_tmp270_ = objects_object_event_get_object_key (_tmp269_);
						_tmp271_ = _tmp270_;
						if (_tmp271_ == OBJECT_EVENT_KEY_TYPE_LABELS) {
							gchar* _tmp272_;
							ObjectsObjectEvent* _tmp273_;
							ObjectsObjectEvent* _tmp274_;
							const gchar* _tmp275_;
							const gchar* _tmp276_;
							gchar* _tmp277_;
							ObjectsObjectEvent* _tmp278_;
							ObjectsObjectEvent* _tmp279_;
							const gchar* _tmp280_;
							const gchar* _tmp281_;
							gchar* _tmp282_;
							_tmp272_ = g_strdup (_ ("No labels"));
							_g_free0 (_no_value_label);
							_no_value_label = _tmp272_;
							_tmp273_ = self->priv->_object_event;
							_tmp274_ = self->priv->_object_event;
							_tmp275_ = objects_object_event_get_object_old_value (_tmp274_);
							_tmp276_ = _tmp275_;
							_tmp277_ = objects_object_event_get_labels_value (_tmp273_, _tmp276_);
							_g_free0 (_old_value_label);
							_old_value_label = _tmp277_;
							_tmp278_ = self->priv->_object_event;
							_tmp279_ = self->priv->_object_event;
							_tmp280_ = objects_object_event_get_object_new_value (_tmp279_);
							_tmp281_ = _tmp280_;
							_tmp282_ = objects_object_event_get_labels_value (_tmp278_, _tmp281_);
							_g_free0 (_new_value_label);
							_new_value_label = _tmp282_;
						} else {
							ObjectsObjectEvent* _tmp283_;
							ObjectEventKeyType _tmp284_;
							ObjectEventKeyType _tmp285_;
							_tmp283_ = self->priv->_object_event;
							_tmp284_ = objects_object_event_get_object_key (_tmp283_);
							_tmp285_ = _tmp284_;
							if (_tmp285_ == OBJECT_EVENT_KEY_TYPE_PINNED) {
								gchar* _tmp286_;
								const gchar* _tmp287_ = NULL;
								ObjectsObjectEvent* _tmp288_;
								const gchar* _tmp289_;
								const gchar* _tmp290_;
								gchar* _tmp291_;
								const gchar* _tmp292_ = NULL;
								ObjectsObjectEvent* _tmp293_;
								const gchar* _tmp294_;
								const gchar* _tmp295_;
								gchar* _tmp296_;
								use_chips = TRUE;
								_tmp286_ = g_strdup (_ ("Not pinned"));
								_g_free0 (_no_value_label);
								_no_value_label = _tmp286_;
								_tmp288_ = self->priv->_object_event;
								_tmp289_ = objects_object_event_get_object_old_value (_tmp288_);
								_tmp290_ = _tmp289_;
								if (g_strcmp0 (_tmp290_, "1") == 0) {
									_tmp287_ = _ ("Pin: Active");
								} else {
									_tmp287_ = _ ("Pin: Inactive");
								}
								_tmp291_ = g_strdup (_tmp287_);
								_g_free0 (_old_value_label);
								_old_value_label = _tmp291_;
								_tmp293_ = self->priv->_object_event;
								_tmp294_ = objects_object_event_get_object_new_value (_tmp293_);
								_tmp295_ = _tmp294_;
								if (g_strcmp0 (_tmp295_, "1") == 0) {
									_tmp292_ = _ ("Pin: Active");
								} else {
									_tmp292_ = _ ("Pin: Inactive");
								}
								_tmp296_ = g_strdup (_tmp292_);
								_g_free0 (_new_value_label);
								_new_value_label = _tmp296_;
							} else {
								ObjectsObjectEvent* _tmp297_;
								ObjectEventKeyType _tmp298_;
								ObjectEventKeyType _tmp299_;
								_tmp297_ = self->priv->_object_event;
								_tmp298_ = objects_object_event_get_object_key (_tmp297_);
								_tmp299_ = _tmp298_;
								if (_tmp299_ == OBJECT_EVENT_KEY_TYPE_DEADLINE) {
									gchar* _tmp300_;
									ObjectsObjectEvent* _tmp301_;
									const gchar* _tmp302_;
									const gchar* _tmp303_;
									ObjectsObjectEvent* _tmp311_;
									const gchar* _tmp312_;
									const gchar* _tmp313_;
									use_chips = TRUE;
									_tmp300_ = g_strdup (_ ("No deadline"));
									_g_free0 (_no_value_label);
									_no_value_label = _tmp300_;
									_tmp301_ = self->priv->_object_event;
									_tmp302_ = objects_object_event_get_object_old_value (_tmp301_);
									_tmp303_ = _tmp302_;
									if (g_strcmp0 (_tmp303_, "") != 0) {
										GDateTime* old_dt = NULL;
										ObjectsObjectEvent* _tmp304_;
										const gchar* _tmp305_;
										const gchar* _tmp306_;
										GDateTime* _tmp307_;
										GDateTime* _tmp308_;
										_tmp304_ = self->priv->_object_event;
										_tmp305_ = objects_object_event_get_object_old_value (_tmp304_);
										_tmp306_ = _tmp305_;
										_tmp307_ = utils_datetime_get_date_from_string (_tmp306_);
										old_dt = _tmp307_;
										_tmp308_ = old_dt;
										if (_tmp308_ != NULL) {
											GDateTime* _tmp309_;
											gchar* _tmp310_;
											_tmp309_ = old_dt;
											_tmp310_ = utils_datetime_get_relative_date_from_date (_tmp309_);
											_g_free0 (_old_value_label);
											_old_value_label = _tmp310_;
										}
										_g_date_time_unref0 (old_dt);
									}
									_tmp311_ = self->priv->_object_event;
									_tmp312_ = objects_object_event_get_object_new_value (_tmp311_);
									_tmp313_ = _tmp312_;
									if (g_strcmp0 (_tmp313_, "") != 0) {
										GDateTime* new_dt = NULL;
										ObjectsObjectEvent* _tmp314_;
										const gchar* _tmp315_;
										const gchar* _tmp316_;
										GDateTime* _tmp317_;
										GDateTime* _tmp318_;
										_tmp314_ = self->priv->_object_event;
										_tmp315_ = objects_object_event_get_object_new_value (_tmp314_);
										_tmp316_ = _tmp315_;
										_tmp317_ = utils_datetime_get_date_from_string (_tmp316_);
										new_dt = _tmp317_;
										_tmp318_ = new_dt;
										if (_tmp318_ != NULL) {
											GDateTime* _tmp319_;
											gchar* _tmp320_;
											_tmp319_ = new_dt;
											_tmp320_ = utils_datetime_get_relative_date_from_date (_tmp319_);
											_g_free0 (_new_value_label);
											_new_value_label = _tmp320_;
										}
										_g_date_time_unref0 (new_dt);
									}
								} else {
									ObjectsObjectEvent* _tmp321_;
									ObjectEventKeyType _tmp322_;
									ObjectEventKeyType _tmp323_;
									_tmp321_ = self->priv->_object_event;
									_tmp322_ = objects_object_event_get_object_key (_tmp321_);
									_tmp323_ = _tmp322_;
									if (_tmp323_ == OBJECT_EVENT_KEY_TYPE_PARENT) {
										gchar* _tmp324_;
										ObjectsObjectEvent* _tmp325_;
										const gchar* _tmp326_;
										const gchar* _tmp327_;
										ObjectsObjectEvent* _tmp339_;
										const gchar* _tmp340_;
										const gchar* _tmp341_;
										use_chips = TRUE;
										_tmp324_ = g_strdup (_ ("No parent"));
										_g_free0 (_no_value_label);
										_no_value_label = _tmp324_;
										_tmp325_ = self->priv->_object_event;
										_tmp326_ = objects_object_event_get_object_old_value (_tmp325_);
										_tmp327_ = _tmp326_;
										if (g_strcmp0 (_tmp327_, "") != 0) {
											ObjectsItem* old_item = NULL;
											ServicesStore* _tmp328_;
											ObjectsObjectEvent* _tmp329_;
											const gchar* _tmp330_;
											const gchar* _tmp331_;
											ObjectsItem* _tmp332_;
											const gchar* _tmp333_ = NULL;
											ObjectsItem* _tmp334_;
											gchar* _tmp338_;
											_tmp328_ = services_store_instance ();
											_tmp329_ = self->priv->_object_event;
											_tmp330_ = objects_object_event_get_object_old_value (_tmp329_);
											_tmp331_ = _tmp330_;
											_tmp332_ = services_store_get_item (_tmp328_, _tmp331_);
											old_item = _tmp332_;
											_tmp334_ = old_item;
											if (_tmp334_ != NULL) {
												ObjectsItem* _tmp335_;
												const gchar* _tmp336_;
												const gchar* _tmp337_;
												_tmp335_ = old_item;
												_tmp336_ = objects_item_get_content (_tmp335_);
												_tmp337_ = _tmp336_;
												_tmp333_ = _tmp337_;
											} else {
												_tmp333_ = _ ("Unknown task");
											}
											_tmp338_ = g_strdup (_tmp333_);
											_g_free0 (_old_value_label);
											_old_value_label = _tmp338_;
											_g_object_unref0 (old_item);
										}
										_tmp339_ = self->priv->_object_event;
										_tmp340_ = objects_object_event_get_object_new_value (_tmp339_);
										_tmp341_ = _tmp340_;
										if (g_strcmp0 (_tmp341_, "") != 0) {
											ObjectsItem* new_item = NULL;
											ServicesStore* _tmp342_;
											ObjectsObjectEvent* _tmp343_;
											const gchar* _tmp344_;
											const gchar* _tmp345_;
											ObjectsItem* _tmp346_;
											const gchar* _tmp347_ = NULL;
											ObjectsItem* _tmp348_;
											gchar* _tmp352_;
											_tmp342_ = services_store_instance ();
											_tmp343_ = self->priv->_object_event;
											_tmp344_ = objects_object_event_get_object_new_value (_tmp343_);
											_tmp345_ = _tmp344_;
											_tmp346_ = services_store_get_item (_tmp342_, _tmp345_);
											new_item = _tmp346_;
											_tmp348_ = new_item;
											if (_tmp348_ != NULL) {
												ObjectsItem* _tmp349_;
												const gchar* _tmp350_;
												const gchar* _tmp351_;
												_tmp349_ = new_item;
												_tmp350_ = objects_item_get_content (_tmp349_);
												_tmp351_ = _tmp350_;
												_tmp347_ = _tmp351_;
											} else {
												_tmp347_ = _ ("Unknown task");
											}
											_tmp352_ = g_strdup (_tmp347_);
											_g_free0 (_new_value_label);
											_new_value_label = _tmp352_;
											_g_object_unref0 (new_item);
										}
									}
								}
							}
						}
					}
				}
			}
		}
	}
	if (use_chips) {
		const gchar* _tmp353_ = NULL;
		const gchar* _tmp354_;
		gint _tmp355_;
		gint _tmp356_;
		GtkLabel* _tmp359_;
		const gchar* _tmp360_;
		gint _tmp361_;
		gint _tmp362_;
		GtkRevealer* _tmp365_;
		const gchar* _tmp366_;
		gint _tmp367_;
		gint _tmp368_;
		_tmp354_ = _old_value_label;
		_tmp355_ = strlen (_tmp354_);
		_tmp356_ = _tmp355_;
		if (_tmp356_ > 0) {
			const gchar* _tmp357_;
			_tmp357_ = _old_value_label;
			_tmp353_ = _tmp357_;
		} else {
			const gchar* _tmp358_;
			_tmp358_ = _no_value_label;
			_tmp353_ = _tmp358_;
		}
		_tmp359_ = old_value_label;
		gtk_label_set_label (_tmp359_, _tmp353_);
		_tmp360_ = _new_value_label;
		_tmp361_ = strlen (_tmp360_);
		_tmp362_ = _tmp361_;
		if (_tmp362_ > 0) {
			GtkLabel* _tmp363_;
			const gchar* _tmp364_;
			_tmp363_ = new_value_label;
			_tmp364_ = _new_value_label;
			gtk_label_set_label (_tmp363_, _tmp364_);
		}
		_tmp365_ = chips_revealer;
		_tmp366_ = _new_value_label;
		_tmp367_ = strlen (_tmp366_);
		_tmp368_ = _tmp367_;
		gtk_revealer_set_reveal_child (_tmp365_, _tmp368_ > 0);
	} else {
		const gchar* _tmp369_ = NULL;
		const gchar* _tmp370_;
		gint _tmp371_;
		gint _tmp372_;
		gchar* old_val = NULL;
		gchar* _tmp375_;
		GtkLabel* _tmp376_;
		const gchar* _tmp377_;
		GtkLabel* _tmp378_;
		const gchar* _tmp379_;
		GtkRevealer* _tmp380_;
		const gchar* _tmp381_;
		gint _tmp382_;
		gint _tmp383_;
		GtkRevealer* _tmp388_;
		const gchar* _tmp389_;
		gint _tmp390_;
		gint _tmp391_;
		GtkRevealer* _tmp392_;
		guint _tmp393_;
		guint _tmp394_;
		_tmp370_ = _old_value_label;
		_tmp371_ = strlen (_tmp370_);
		_tmp372_ = _tmp371_;
		if (_tmp372_ > 0) {
			const gchar* _tmp373_;
			_tmp373_ = _old_value_label;
			_tmp369_ = _tmp373_;
		} else {
			const gchar* _tmp374_;
			_tmp374_ = _no_value_label;
			_tmp369_ = _tmp374_;
		}
		_tmp375_ = g_strdup (_tmp369_);
		old_val = _tmp375_;
		_tmp376_ = _data55_->expand_old_label;
		_tmp377_ = old_val;
		gtk_label_set_label (_tmp376_, _tmp377_);
		_tmp378_ = expand_old_label_full;
		_tmp379_ = old_val;
		gtk_label_set_label (_tmp378_, _tmp379_);
		_tmp380_ = expand_old_revealer;
		gtk_revealer_set_reveal_child (_tmp380_, TRUE);
		_tmp381_ = _new_value_label;
		_tmp382_ = strlen (_tmp381_);
		_tmp383_ = _tmp382_;
		if (_tmp383_ > 0) {
			GtkLabel* _tmp384_;
			const gchar* _tmp385_;
			GtkLabel* _tmp386_;
			const gchar* _tmp387_;
			_tmp384_ = _data55_->expand_new_label;
			_tmp385_ = _new_value_label;
			gtk_label_set_label (_tmp384_, _tmp385_);
			_tmp386_ = expand_new_label_full;
			_tmp387_ = _new_value_label;
			gtk_label_set_label (_tmp386_, _tmp387_);
		}
		_tmp388_ = expand_button_revealer;
		_tmp389_ = _new_value_label;
		_tmp390_ = strlen (_tmp389_);
		_tmp391_ = _tmp390_;
		gtk_revealer_set_reveal_child (_tmp388_, _tmp391_ > 0);
		_tmp392_ = self->priv->main_revealer;
		_tmp393_ = gtk_revealer_get_transition_duration (_tmp392_);
		_tmp394_ = _tmp393_;
		g_timeout_add_full (G_PRIORITY_DEFAULT, _tmp394_ + 100, __widgets_item_change_history_row____lambda213__gsource_func, block55_data_ref (_data55_), block55_data_unref);
		_g_free0 (old_val);
	}
	_tmp395_ = self->priv->main_revealer;
	_tmp396_ = gtk_revealer_get_transition_duration (_tmp395_);
	_tmp397_ = _tmp396_;
	g_timeout_add_full (G_PRIORITY_DEFAULT, _tmp397_, __widgets_item_change_history_row___lambda214__gsource_func, g_object_ref (self), g_object_unref);
	_g_free0 (_no_value_label);
	_g_free0 (_new_value_label);
	_g_free0 (_old_value_label);
	_g_object_unref0 (card);
	_g_object_unref0 (content_box);
	_g_object_unref0 (detail_box);
	_g_object_unref0 (expand_button_revealer);
	_g_object_unref0 (expand_box);
	_g_object_unref0 (expand_old_box);
	_g_object_unref0 (expand_old_revealer);
	_g_object_unref0 (see_more_button);
	_g_object_unref0 (see_more_box);
	_g_object_unref0 (expand_new_label_full);
	_g_object_unref0 (expand_old_label_full);
	_g_object_unref0 (chips_revealer);
	_g_object_unref0 (chips_box);
	_g_object_unref0 (new_value_label);
	_g_object_unref0 (arrow_label);
	_g_object_unref0 (old_value_label);
	_g_object_unref0 (header_box);
	_g_object_unref0 (datetime_string);
	_g_object_unref0 (type_string);
	_g_free0 (_type_string);
	_g_object_unref0 (object_event_icon);
	block55_data_unref (_data55_);
	_data55_ = NULL;
	return obj;
}

static void
widgets_item_change_history_row_class_init (WidgetsItemChangeHistoryRowClass * klass,
                                            gpointer klass_data)
{
	widgets_item_change_history_row_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WidgetsItemChangeHistoryRow_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_widgets_item_change_history_row_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_widgets_item_change_history_row_set_property;
	G_OBJECT_CLASS (klass)->constructor = widgets_item_change_history_row_constructor;
	G_OBJECT_CLASS (klass)->finalize = widgets_item_change_history_row_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIDGETS_ITEM_CHANGE_HISTORY_ROW_OBJECT_EVENT_PROPERTY, widgets_item_change_history_row_properties[WIDGETS_ITEM_CHANGE_HISTORY_ROW_OBJECT_EVENT_PROPERTY] = g_param_spec_object ("object-event", "object-event", "object-event", OBJECTS_TYPE_OBJECT_EVENT, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
}

static void
widgets_item_change_history_row_instance_init (WidgetsItemChangeHistoryRow * self,
                                               gpointer klass)
{
	self->priv = widgets_item_change_history_row_get_instance_private (self);
}

static void
widgets_item_change_history_row_finalize (GObject * obj)
{
	WidgetsItemChangeHistoryRow * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIDGETS_TYPE_ITEM_CHANGE_HISTORY_ROW, WidgetsItemChangeHistoryRow);
	g_debug ("ItemChangeHistoryRow.vala:34: Destroying - Widgets.ItemChangeHistoryRo" \
"w\n");
	_g_object_unref0 (self->priv->_object_event);
	_g_object_unref0 (self->priv->main_revealer);
	G_OBJECT_CLASS (widgets_item_change_history_row_parent_class)->finalize (obj);
}

static GType
widgets_item_change_history_row_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WidgetsItemChangeHistoryRowClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) widgets_item_change_history_row_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WidgetsItemChangeHistoryRow), 0, (GInstanceInitFunc) widgets_item_change_history_row_instance_init, NULL };
	GType widgets_item_change_history_row_type_id;
	widgets_item_change_history_row_type_id = g_type_register_static (gtk_list_box_row_get_type (), "WidgetsItemChangeHistoryRow", &g_define_type_info, 0);
	WidgetsItemChangeHistoryRow_private_offset = g_type_add_instance_private (widgets_item_change_history_row_type_id, sizeof (WidgetsItemChangeHistoryRowPrivate));
	return widgets_item_change_history_row_type_id;
}

GType
widgets_item_change_history_row_get_type (void)
{
	static volatile gsize widgets_item_change_history_row_type_id__once = 0;
	if (g_once_init_enter (&widgets_item_change_history_row_type_id__once)) {
		GType widgets_item_change_history_row_type_id;
		widgets_item_change_history_row_type_id = widgets_item_change_history_row_get_type_once ();
		g_once_init_leave (&widgets_item_change_history_row_type_id__once, widgets_item_change_history_row_type_id);
	}
	return widgets_item_change_history_row_type_id__once;
}

static void
_vala_widgets_item_change_history_row_get_property (GObject * object,
                                                    guint property_id,
                                                    GValue * value,
                                                    GParamSpec * pspec)
{
	WidgetsItemChangeHistoryRow * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIDGETS_TYPE_ITEM_CHANGE_HISTORY_ROW, WidgetsItemChangeHistoryRow);
	switch (property_id) {
		case WIDGETS_ITEM_CHANGE_HISTORY_ROW_OBJECT_EVENT_PROPERTY:
		g_value_set_object (value, widgets_item_change_history_row_get_object_event (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_widgets_item_change_history_row_set_property (GObject * object,
                                                    guint property_id,
                                                    const GValue * value,
                                                    GParamSpec * pspec)
{
	WidgetsItemChangeHistoryRow * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIDGETS_TYPE_ITEM_CHANGE_HISTORY_ROW, WidgetsItemChangeHistoryRow);
	switch (property_id) {
		case WIDGETS_ITEM_CHANGE_HISTORY_ROW_OBJECT_EVENT_PROPERTY:
		widgets_item_change_history_row_set_object_event (self, g_value_get_object (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_array_destroy (gpointer array,
                     gssize array_length,
                     GDestroyNotify destroy_func)
{
	if ((array != NULL) && (destroy_func != NULL)) {
		gssize i;
		for (i = 0; i < array_length; i = i + 1) {
			if (((gpointer*) array)[i] != NULL) {
				destroy_func (((gpointer*) array)[i]);
			}
		}
	}
}

static void
_vala_array_free (gpointer array,
                  gssize array_length,
                  GDestroyNotify destroy_func)
{
	_vala_array_destroy (array, array_length, destroy_func);
	g_free (array);
}

