/* ItemBoard.c generated by valac 0.56.19, the Vala compiler
 * generated from ItemBoard.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 <glib.h>
#include <gee.h>
#include <adwaita.h>
#include "planify.h"
#include <stdlib.h>
#include <string.h>
#include <gio/gio.h>
#include <glib/gi18n-lib.h>
#include <float.h>
#include <math.h>
#include <gdk/gdk.h>
#include <pango/pango.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 LAYOUTS_TYPE_ITEM_BASE (layouts_item_base_get_type ())
#define LAYOUTS_ITEM_BASE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LAYOUTS_TYPE_ITEM_BASE, LayoutsItemBase))
#define LAYOUTS_ITEM_BASE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LAYOUTS_TYPE_ITEM_BASE, LayoutsItemBaseClass))
#define LAYOUTS_IS_ITEM_BASE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LAYOUTS_TYPE_ITEM_BASE))
#define LAYOUTS_IS_ITEM_BASE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LAYOUTS_TYPE_ITEM_BASE))
#define LAYOUTS_ITEM_BASE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LAYOUTS_TYPE_ITEM_BASE, LayoutsItemBaseClass))

typedef struct _LayoutsItemBase LayoutsItemBase;
typedef struct _LayoutsItemBaseClass LayoutsItemBaseClass;
typedef struct _LayoutsItemBasePrivate LayoutsItemBasePrivate;

#define LAYOUTS_TYPE_ITEM_BOARD (layouts_item_board_get_type ())
#define LAYOUTS_ITEM_BOARD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LAYOUTS_TYPE_ITEM_BOARD, LayoutsItemBoard))
#define LAYOUTS_ITEM_BOARD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LAYOUTS_TYPE_ITEM_BOARD, LayoutsItemBoardClass))
#define LAYOUTS_IS_ITEM_BOARD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LAYOUTS_TYPE_ITEM_BOARD))
#define LAYOUTS_IS_ITEM_BOARD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LAYOUTS_TYPE_ITEM_BOARD))
#define LAYOUTS_ITEM_BOARD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LAYOUTS_TYPE_ITEM_BOARD, LayoutsItemBoardClass))

typedef struct _LayoutsItemBoard LayoutsItemBoard;
typedef struct _LayoutsItemBoardClass LayoutsItemBoardClass;
typedef struct _LayoutsItemBoardPrivate LayoutsItemBoardPrivate;

#define WIDGETS_TYPE_LABELS_SUMMARY (widgets_labels_summary_get_type ())
#define WIDGETS_LABELS_SUMMARY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WIDGETS_TYPE_LABELS_SUMMARY, WidgetsLabelsSummary))
#define WIDGETS_LABELS_SUMMARY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WIDGETS_TYPE_LABELS_SUMMARY, WidgetsLabelsSummaryClass))
#define WIDGETS_IS_LABELS_SUMMARY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WIDGETS_TYPE_LABELS_SUMMARY))
#define WIDGETS_IS_LABELS_SUMMARY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WIDGETS_TYPE_LABELS_SUMMARY))
#define WIDGETS_LABELS_SUMMARY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WIDGETS_TYPE_LABELS_SUMMARY, WidgetsLabelsSummaryClass))

typedef struct _WidgetsLabelsSummary WidgetsLabelsSummary;
typedef struct _WidgetsLabelsSummaryClass WidgetsLabelsSummaryClass;
enum  {
	LAYOUTS_ITEM_BOARD_0_PROPERTY,
	LAYOUTS_ITEM_BOARD_COMPLETE_TIMEOUT_PROPERTY,
	LAYOUTS_ITEM_BOARD_IS_LOADING_PROPERTY,
	LAYOUTS_ITEM_BOARD_PIN_MODE_PROPERTY,
	LAYOUTS_ITEM_BOARD_NUM_PROPERTIES
};
static GParamSpec* layouts_item_board_properties[LAYOUTS_ITEM_BOARD_NUM_PROPERTIES];
#define _g_free0(var) (var = (g_free (var), NULL))
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_date_time_unref0(var) ((var == NULL) ? NULL : (var = (g_date_time_unref (var), NULL)))
typedef struct _Block36Data Block36Data;
#define _http_response_unref0(var) ((var == NULL) ? NULL : (var = (http_response_unref (var), NULL)))
typedef struct _LayoutsItemBoardCompleteItemData LayoutsItemBoardCompleteItemData;

#define DIALOGS_PROJECT_PICKER_TYPE_PROJECT_PICKER (dialogs_project_picker_project_picker_get_type ())
#define DIALOGS_PROJECT_PICKER_PROJECT_PICKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DIALOGS_PROJECT_PICKER_TYPE_PROJECT_PICKER, DialogsProjectPickerProjectPicker))
#define DIALOGS_PROJECT_PICKER_PROJECT_PICKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DIALOGS_PROJECT_PICKER_TYPE_PROJECT_PICKER, DialogsProjectPickerProjectPickerClass))
#define DIALOGS_PROJECT_PICKER_IS_PROJECT_PICKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DIALOGS_PROJECT_PICKER_TYPE_PROJECT_PICKER))
#define DIALOGS_PROJECT_PICKER_IS_PROJECT_PICKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DIALOGS_PROJECT_PICKER_TYPE_PROJECT_PICKER))
#define DIALOGS_PROJECT_PICKER_PROJECT_PICKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DIALOGS_PROJECT_PICKER_TYPE_PROJECT_PICKER, DialogsProjectPickerProjectPickerClass))

typedef struct _DialogsProjectPickerProjectPicker DialogsProjectPickerProjectPicker;
typedef struct _DialogsProjectPickerProjectPickerClass DialogsProjectPickerProjectPickerClass;

#define TYPE_PLANIFY (planify_get_type ())
#define PLANIFY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PLANIFY, Planify))
#define PLANIFY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PLANIFY, PlanifyClass))
#define IS_PLANIFY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PLANIFY))
#define IS_PLANIFY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PLANIFY))
#define PLANIFY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PLANIFY, PlanifyClass))

typedef struct _Planify Planify;
typedef struct _PlanifyClass PlanifyClass;
typedef struct _PlanifyPrivate PlanifyPrivate;

#define TYPE_MAIN_WINDOW (main_window_get_type ())
#define MAIN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MAIN_WINDOW, MainWindow))
#define MAIN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MAIN_WINDOW, MainWindowClass))
#define IS_MAIN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MAIN_WINDOW))
#define IS_MAIN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MAIN_WINDOW))
#define MAIN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MAIN_WINDOW, MainWindowClass))

typedef struct _MainWindow MainWindow;
typedef struct _MainWindowClass MainWindowClass;

#define DIALOGS_TYPE_LABEL_PICKER (dialogs_label_picker_get_type ())
#define DIALOGS_LABEL_PICKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DIALOGS_TYPE_LABEL_PICKER, DialogsLabelPicker))
#define DIALOGS_LABEL_PICKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DIALOGS_TYPE_LABEL_PICKER, DialogsLabelPickerClass))
#define DIALOGS_IS_LABEL_PICKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DIALOGS_TYPE_LABEL_PICKER))
#define DIALOGS_IS_LABEL_PICKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DIALOGS_TYPE_LABEL_PICKER))
#define DIALOGS_LABEL_PICKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DIALOGS_TYPE_LABEL_PICKER, DialogsLabelPickerClass))

typedef struct _DialogsLabelPicker DialogsLabelPicker;
typedef struct _DialogsLabelPickerClass DialogsLabelPickerClass;

#define DIALOGS_TYPE_QUICK_ADD (dialogs_quick_add_get_type ())
#define DIALOGS_QUICK_ADD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DIALOGS_TYPE_QUICK_ADD, DialogsQuickAdd))
#define DIALOGS_QUICK_ADD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DIALOGS_TYPE_QUICK_ADD, DialogsQuickAddClass))
#define DIALOGS_IS_QUICK_ADD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DIALOGS_TYPE_QUICK_ADD))
#define DIALOGS_IS_QUICK_ADD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DIALOGS_TYPE_QUICK_ADD))
#define DIALOGS_QUICK_ADD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DIALOGS_TYPE_QUICK_ADD, DialogsQuickAddClass))

typedef struct _DialogsQuickAdd DialogsQuickAdd;
typedef struct _DialogsQuickAddClass DialogsQuickAddClass;
typedef struct _Block37Data Block37Data;

#define WIDGETS_TYPE_MAGIC_BUTTON (widgets_magic_button_get_type ())
#define WIDGETS_MAGIC_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WIDGETS_TYPE_MAGIC_BUTTON, WidgetsMagicButton))
#define WIDGETS_MAGIC_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WIDGETS_TYPE_MAGIC_BUTTON, WidgetsMagicButtonClass))
#define WIDGETS_IS_MAGIC_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WIDGETS_TYPE_MAGIC_BUTTON))
#define WIDGETS_IS_MAGIC_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WIDGETS_TYPE_MAGIC_BUTTON))
#define WIDGETS_MAGIC_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WIDGETS_TYPE_MAGIC_BUTTON, WidgetsMagicButtonClass))

typedef struct _WidgetsMagicButton WidgetsMagicButton;
typedef struct _WidgetsMagicButtonClass WidgetsMagicButtonClass;
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
typedef struct _Block38Data Block38Data;
typedef struct _Block39Data Block39Data;
typedef struct _Block40Data Block40Data;
typedef struct _Block41Data Block41Data;

struct _LayoutsItemBase {
	GtkListBoxRow parent_instance;
	LayoutsItemBasePrivate * priv;
	GeeHashMap* signals_map;
};

struct _LayoutsItemBaseClass {
	GtkListBoxRowClass parent_class;
	void (*update_request) (LayoutsItemBase* self);
	void (*hide_destroy) (LayoutsItemBase* self);
	void (*delete_request) (LayoutsItemBase* self, gboolean undo);
	void (*select_row) (LayoutsItemBase* self, gboolean active);
	void (*checked_toggled) (LayoutsItemBase* self, gboolean active, guint* time);
	void (*clean_up) (LayoutsItemBase* self);
};

struct _LayoutsItemBoard {
	LayoutsItemBase parent_instance;
	LayoutsItemBoardPrivate * priv;
	GtkBox* handle_grid;
	AdwBin* card_widget;
	GtkBox* footer_box;
	gboolean on_drag;
};

struct _LayoutsItemBoardClass {
	LayoutsItemBaseClass parent_class;
};

struct _LayoutsItemBoardPrivate {
	GtkGrid* motion_top_grid;
	GtkRevealer* motion_top_revealer;
	GtkCheckButton* checked_button;
	GtkRevealer* checked_button_revealer;
	GtkLabel* content_label;
	GtkBox* content_box;
	WidgetsLoadingButton* hide_loading_button;
	GtkRevealer* hide_loading_revealer;
	GtkLabel* description_label;
	GtkRevealer* description_revealer;
	GtkLabel* deadline_label;
	GtkRevealer* deadline_revealer;
	GtkBox* deadline_box;
	GtkLabel* due_label;
	GtkBox* due_box;
	GtkRevealer* repeat_revealer;
	GtkRevealer* due_box_revealer;
	WidgetsLabelsSummary* labels_summary;
	GtkRevealer* reminder_revealer;
	GtkLabel* reminder_count;
	GtkLabel* subtaks_label;
	GtkRevealer* subtaks_revealer;
	GtkRevealer* footer_revealer;
	GtkPopover* menu_handle_popover;
	WidgetsContextMenuMenuItem* no_date_item;
	WidgetsContextMenuMenuItem* pinboard_item;
	GtkRevealer* main_revealer;
	GtkCheckButton* select_checkbutton;
	GtkRevealer* select_revealer;
	guint _complete_timeout;
	gboolean _recurrency_reset;
	gboolean _is_loading;
	gboolean _pin_mode;
};

struct _Block36Data {
	int _ref_count_;
	LayoutsItemBoard* self;
	gboolean old_checked;
};

struct _LayoutsItemBoardCompleteItemData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	LayoutsItemBoard* self;
	gboolean old_checked;
	gchar* old_completed_at;
	GtkCheckButton* _tmp0_;
	HttpResponse* response;
	ObjectsItem* _tmp1_;
	ObjectsItem* _tmp2_;
	HttpResponse* _tmp3_;
	HttpResponse* _tmp4_;
	gboolean _tmp5_;
	gboolean _tmp6_;
	HttpResponse* _tmp7_;
};

struct _Planify {
	AdwApplication parent_instance;
	PlanifyPrivate * priv;
	MainWindow* main_window;
};

struct _PlanifyClass {
	AdwApplicationClass parent_class;
};

struct _Block37Data {
	int _ref_count_;
	LayoutsItemBoard* self;
	GtkDropControllerMotion* drop_motion_ctrl;
};

struct _Block38Data {
	int _ref_count_;
	LayoutsItemBoard* self;
	LayoutsItemBase* picked_widget;
	ObjectsItem* picked_item;
	gchar* old_parent_id;
	gchar* old_project_id;
	gchar* old_section_id;
};

struct _Block39Data {
	int _ref_count_;
	Block38Data * _data38_;
	ServicesCalDAVCalDAVClient* caldav_client;
};

struct _Block40Data {
	int _ref_count_;
	LayoutsItemBoard* self;
	LayoutsItemBoard* picked_widget;
};

struct _Block41Data {
	int _ref_count_;
	LayoutsItemBoard* self;
	GtkGestureClick* checked_button_gesture;
	GtkGestureClick* select_button_gesture;
	GtkGestureClick* detail_gesture_click;
};

static gint LayoutsItemBoard_private_offset;
static gpointer layouts_item_board_parent_class = NULL;
VALA_EXTERN Planify* planify__instance;

VALA_EXTERN GType layouts_item_base_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LayoutsItemBase, g_object_unref)
VALA_EXTERN GType layouts_item_board_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LayoutsItemBoard, g_object_unref)
VALA_EXTERN GType widgets_labels_summary_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WidgetsLabelsSummary, g_object_unref)
VALA_EXTERN void layouts_item_base_checked_toggled (LayoutsItemBase* self,
                                        gboolean active,
                                        guint* time);
VALA_EXTERN void layouts_item_base_update_request (LayoutsItemBase* self);
VALA_EXTERN void layouts_item_base_delete_request (LayoutsItemBase* self,
                                       gboolean undo);
VALA_EXTERN void layouts_item_base_select_row (LayoutsItemBase* self,
                                   gboolean active);
VALA_EXTERN void layouts_item_base_hide_destroy (LayoutsItemBase* self);
VALA_EXTERN void layouts_item_base_clean_up (LayoutsItemBase* self);
VALA_EXTERN ObjectsItem* layouts_item_base_get_item (LayoutsItemBase* self);
VALA_EXTERN LayoutsItemBoard* layouts_item_board_new (ObjectsItem* item);
VALA_EXTERN LayoutsItemBoard* layouts_item_board_construct (GType object_type,
                                                ObjectsItem* item);
static void layouts_item_board_update_next_recurrency (LayoutsItemBoard* self);
static void __lambda52_ (LayoutsItemBoard* self,
                  GObject* obj,
                  GAsyncResult* res);
static void layouts_item_board_recurrency_update_complete (LayoutsItemBoard* self,
                                                    GDateTime* next_recurrency);
static void ___lambda52__gasync_ready_callback (GObject* source_object,
                                         GAsyncResult* res,
                                         gpointer self);
static void layouts_item_board_open_detail (LayoutsItemBoard* self);
static void layouts_item_board_real_checked_toggled (LayoutsItemBase* base,
                                              gboolean active,
                                              guint* time);
static void layouts_item_board_complete_item (LayoutsItemBoard* self,
                                       gboolean old_checked,
                                       guint* time);
VALA_EXTERN guint layouts_item_board_get_complete_timeout (LayoutsItemBoard* self);
VALA_EXTERN void layouts_item_board_set_complete_timeout (LayoutsItemBoard* self,
                                              guint value);
static void _layouts_item_board_complete_item (LayoutsItemBoard* self,
                                        gboolean old_checked,
                                        const gchar* old_completed_at,
                                        GAsyncReadyCallback _callback_,
                                        gpointer _user_data_);
static void _layouts_item_board_complete_item_finish (LayoutsItemBoard* self,
                                               GAsyncResult* _res_);
static Block36Data* block36_data_ref (Block36Data* _data36_);
static void block36_data_unref (void * _userdata_);
static gboolean __lambda54_ (Block36Data* _data36_);
static gboolean ___lambda54__gsource_func (gpointer self);
static void _layouts_item_board_complete_item_data_free (gpointer _data);
static gboolean _layouts_item_board_complete_item_co (LayoutsItemBoardCompleteItemData* _data_);
static void _layouts_item_board_complete_item_ready (GObject* source_object,
                                              GAsyncResult* _res_,
                                              gpointer _user_data_);
VALA_EXTERN void _layouts_item_base_show_task_completed_toast (LayoutsItemBase* self);
static void _layouts_item_board_complete_item_error (LayoutsItemBoard* self,
                                              HttpResponse* response,
                                              gboolean old_checked,
                                              const gchar* old_completed_at);
VALA_EXTERN void layouts_item_board_set_is_loading (LayoutsItemBoard* self,
                                        gboolean value);
VALA_EXTERN void layouts_item_board_update_due_label (LayoutsItemBoard* self);
static gboolean __lambda53_ (LayoutsItemBoard* self);
static gboolean ___lambda53__gsource_func (gpointer self);
static void layouts_item_board_real_update_request (LayoutsItemBase* base);
static void layouts_item_board_verify_item_type (LayoutsItemBoard* self);
static void layouts_item_board_update_deadline (LayoutsItemBoard* self);
VALA_EXTERN void widgets_labels_summary_update_request (WidgetsLabelsSummary* self);
VALA_EXTERN void widgets_labels_summary_check_revealer (WidgetsLabelsSummary* self);
static void layouts_item_board_update_subtasks (LayoutsItemBoard* self);
VALA_EXTERN gboolean widgets_labels_summary_get_reveal_child (WidgetsLabelsSummary* self);
static void layouts_item_board_build_handle_context_menu (LayoutsItemBoard* self,
                                                   gdouble x,
                                                   gdouble y);
static void __lambda55_ (LayoutsItemBoard* self);
VALA_EXTERN GType dialogs_project_picker_project_picker_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DialogsProjectPickerProjectPicker, g_object_unref)
VALA_EXTERN DialogsProjectPickerProjectPicker* dialogs_project_picker_project_picker_new_for_projects (void);
VALA_EXTERN DialogsProjectPickerProjectPicker* dialogs_project_picker_project_picker_construct_for_projects (GType object_type);
VALA_EXTERN void dialogs_project_picker_project_picker_set_project (DialogsProjectPickerProjectPicker* self,
                                                        ObjectsProject* value);
VALA_EXTERN GType planify_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (Planify, g_object_unref)
VALA_EXTERN GType main_window_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MainWindow, g_object_unref)
static void __lambda59_ (LayoutsItemBoard* self,
                  const gchar* type,
                  const gchar* id);
VALA_EXTERN void layouts_item_board_move (LayoutsItemBoard* self,
                              ObjectsProject* project,
                              const gchar* section_id);
static void ___lambda59__dialogs_project_picker_project_picker_changed (DialogsProjectPickerProjectPicker* _sender,
                                                                 const gchar* type,
                                                                 const gchar* id,
                                                                 gpointer self);
static void ___lambda55__widgets_context_menu_menu_item_activate_item (WidgetsContextMenuMenuItem* _sender,
                                                                gpointer self);
static void __lambda60_ (LayoutsItemBoard* self);
VALA_EXTERN GType dialogs_label_picker_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DialogsLabelPicker, g_object_unref)
VALA_EXTERN DialogsLabelPicker* dialogs_label_picker_new (LabelPickerType picker_type);
VALA_EXTERN DialogsLabelPicker* dialogs_label_picker_construct (GType object_type,
                                                    LabelPickerType picker_type);
VALA_EXTERN void dialogs_label_picker_set_button_text (DialogsLabelPicker* self,
                                           const gchar* value);
VALA_EXTERN void dialogs_label_picker_add_labels (DialogsLabelPicker* self,
                                      ObjectsSource* source);
VALA_EXTERN void dialogs_label_picker_set_labels (DialogsLabelPicker* self,
                                      GeeArrayList* value);
static void __lambda64_ (LayoutsItemBoard* self,
                  GeeHashMap* labels);
static void ___lambda64__dialogs_label_picker_labels_changed (DialogsLabelPicker* _sender,
                                                       GeeHashMap* labels,
                                                       gpointer self);
static void ___lambda60__widgets_context_menu_menu_item_activate_item (WidgetsContextMenuMenuItem* _sender,
                                                                gpointer self);
static void __lambda65_ (LayoutsItemBoard* self);
VALA_EXTERN void layouts_item_board_update_date (LayoutsItemBoard* self,
                                     GDateTime* date);
static void ___lambda65__widgets_context_menu_menu_item_activate_item (WidgetsContextMenuMenuItem* _sender,
                                                                gpointer self);
static void __lambda66_ (LayoutsItemBoard* self);
static void ___lambda66__widgets_context_menu_menu_item_activate_item (WidgetsContextMenuMenuItem* _sender,
                                                                gpointer self);
static void __lambda67_ (LayoutsItemBoard* self);
static void ___lambda67__widgets_context_menu_menu_item_activate_item (WidgetsContextMenuMenuItem* _sender,
                                                                gpointer self);
static void __lambda68_ (LayoutsItemBoard* self);
static void ___lambda68__widgets_context_menu_menu_item_activate_item (WidgetsContextMenuMenuItem* _sender,
                                                                gpointer self);
static void __lambda69_ (LayoutsItemBoard* self);
static void ___lambda69__widgets_context_menu_menu_item_activate_item (WidgetsContextMenuMenuItem* _sender,
                                                                gpointer self);
static void __lambda70_ (LayoutsItemBoard* self);
static void ___lambda70__widgets_context_menu_menu_item_activate_item (WidgetsContextMenuMenuItem* _sender,
                                                                gpointer self);
static void __lambda71_ (LayoutsItemBoard* self);
static void ___lambda71__widgets_context_menu_menu_item_activate_item (WidgetsContextMenuMenuItem* _sender,
                                                                gpointer self);
static void __lambda74_ (LayoutsItemBoard* self);
VALA_EXTERN GType dialogs_quick_add_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DialogsQuickAdd, g_object_unref)
VALA_EXTERN DialogsQuickAdd* dialogs_quick_add_new (void);
VALA_EXTERN DialogsQuickAdd* dialogs_quick_add_construct (GType object_type);
VALA_EXTERN void dialogs_quick_add_for_base_object (DialogsQuickAdd* self,
                                        ObjectsBaseObject* base_object);
static void ___lambda74__widgets_context_menu_menu_item_activate_item (WidgetsContextMenuMenuItem* _sender,
                                                                gpointer self);
static void __lambda80_ (LayoutsItemBoard* self);
static void ___lambda80__gtk_button_clicked (GtkButton* _sender,
                                      gpointer self);
static void layouts_item_board_build_drag_and_drop (LayoutsItemBoard* self);
static void layouts_item_board_build_drop_motion (LayoutsItemBoard* self);
static void layouts_item_board_build_drag_source (LayoutsItemBoard* self);
static void layouts_item_board_build_drop_target (LayoutsItemBoard* self);
static void layouts_item_board_build_drop_magic_button_target (LayoutsItemBoard* self);
static void layouts_item_board_build_drop_order_target (LayoutsItemBoard* self);
static Block37Data* block37_data_ref (Block37Data* _data37_);
static void block37_data_unref (void * _userdata_);
static void __lambda81_ (Block37Data* _data37_,
                  gdouble x,
                  gdouble y);
VALA_EXTERN GType widgets_magic_button_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WidgetsMagicButton, g_object_unref)
static void ___lambda81__gtk_drop_controller_motion_enter (GtkDropControllerMotion* _sender,
                                                    gdouble x,
                                                    gdouble y,
                                                    gpointer self);
static void __lambda82_ (LayoutsItemBoard* self);
static void ___lambda82__gtk_drop_controller_motion_leave (GtkDropControllerMotion* _sender,
                                                    gpointer self);
static GdkContentProvider* __lambda83_ (LayoutsItemBoard* self,
                                 GtkDragSource* source,
                                 gdouble x,
                                 gdouble y);
static GdkContentProvider* ___lambda83__gtk_drag_source_prepare (GtkDragSource* _sender,
                                                          gdouble x,
                                                          gdouble y,
                                                          gpointer self);
static void __lambda84_ (LayoutsItemBoard* self,
                  GtkDragSource* source,
                  GdkDrag* drag);
VALA_EXTERN void layouts_item_board_drag_begin (LayoutsItemBoard* self);
static void ___lambda84__gtk_drag_source_drag_begin (GtkDragSource* _sender,
                                              GdkDrag* drag,
                                              gpointer self);
static void __lambda85_ (LayoutsItemBoard* self,
                  GtkDragSource* source,
                  GdkDrag* drag,
                  gboolean delete_data);
VALA_EXTERN void layouts_item_board_drag_end (LayoutsItemBoard* self);
static void ___lambda85__gtk_drag_source_drag_end (GtkDragSource* _sender,
                                            GdkDrag* drag,
                                            gboolean delete_data,
                                            gpointer self);
static gboolean __lambda86_ (LayoutsItemBoard* self,
                      GtkDragSource* source,
                      GdkDrag* drag,
                      GdkDragCancelReason reason);
static gboolean ___lambda86__gtk_drag_source_drag_cancel (GtkDragSource* _sender,
                                                   GdkDrag* drag,
                                                   GdkDragCancelReason reason,
                                                   gpointer self);
static gboolean __lambda87_ (LayoutsItemBoard* self,
                      GdkDrop* drop);
static gboolean ___lambda87__gtk_drop_target_accept (GtkDropTarget* _sender,
                                              GdkDrop* drop,
                                              gpointer self);
static gboolean __lambda88_ (LayoutsItemBoard* self,
                      GValue* value,
                      gdouble x,
                      gdouble y);
static Block38Data* block38_data_ref (Block38Data* _data38_);
static void block38_data_unref (void * _userdata_);
static void ____lambda89_ (Block38Data* _data38_,
                    GObject* obj,
                    GAsyncResult* res);
static void _____lambda89__gasync_ready_callback (GObject* source_object,
                                           GAsyncResult* res,
                                           gpointer self);
static Block39Data* block39_data_ref (Block39Data* _data39_);
static void block39_data_unref (void * _userdata_);
static void _____lambda90_ (Block39Data* _data39_,
                     GObject* obj,
                     GAsyncResult* res);
static void ______lambda90__gasync_ready_callback (GObject* source_object,
                                            GAsyncResult* res,
                                            gpointer self);
static gboolean ___lambda88__gtk_drop_target_drop (GtkDropTarget* _sender,
                                            GValue* value,
                                            gdouble x,
                                            gdouble y,
                                            gpointer self);
static gboolean __lambda91_ (LayoutsItemBoard* self,
                      GValue* value,
                      gdouble x,
                      gdouble y);
static gboolean ___lambda91__gtk_drop_target_drop (GtkDropTarget* _sender,
                                            GValue* value,
                                            gdouble x,
                                            gdouble y,
                                            gpointer self);
static gboolean __lambda92_ (LayoutsItemBoard* self,
                      GValue* value,
                      gdouble x,
                      gdouble y);
VALA_EXTERN void dialogs_quick_add_set_position (DialogsQuickAdd* self,
                                     gint value);
static gboolean ___lambda92__gtk_drop_target_drop (GtkDropTarget* _sender,
                                            GValue* value,
                                            gdouble x,
                                            gdouble y,
                                            gpointer self);
static gboolean __lambda93_ (LayoutsItemBoard* self,
                      GValue* value,
                      gdouble x,
                      gdouble y);
static Block40Data* block40_data_ref (Block40Data* _data40_);
static void block40_data_unref (void * _userdata_);
static void ____lambda94_ (Block40Data* _data40_,
                    GObject* obj,
                    GAsyncResult* res);
static void _____lambda94__gasync_ready_callback (GObject* source_object,
                                           GAsyncResult* res,
                                           gpointer self);
VALA_EXTERN void utils_task_utils_update_single_item_order (GtkListBox* listbox,
                                                LayoutsItemBase* moved_row,
                                                gint new_index);
static gboolean ___lambda93__gtk_drop_target_drop (GtkDropTarget* _sender,
                                            GValue* value,
                                            gdouble x,
                                            gdouble y,
                                            gpointer self);
static void layouts_item_board_real_delete_request (LayoutsItemBase* base,
                                             gboolean undo);
static void layouts_item_board_delete_undo (LayoutsItemBoard* self);
static void __lambda72_ (LayoutsItemBoard* self);
static void ___lambda72__adw_toast_dismissed (AdwToast* _sender,
                                       gpointer self);
static void __lambda73_ (LayoutsItemBoard* self);
static void ___lambda73__adw_toast_button_clicked (AdwToast* _sender,
                                            gpointer self);
static void layouts_item_board_selected_toggled (LayoutsItemBoard* self,
                                          gboolean active);
static void layouts_item_board_real_select_row (LayoutsItemBase* base,
                                         gboolean active);
static void layouts_item_board_real_hide_destroy (LayoutsItemBase* base);
static gboolean __lambda95_ (LayoutsItemBoard* self);
static gboolean ___lambda95__gsource_func (gpointer self);
VALA_EXTERN void layouts_item_board_hide_widget (LayoutsItemBoard* self);
static void layouts_item_board_set_loading_state (LayoutsItemBoard* self,
                                           gboolean loading);
VALA_EXTERN gboolean layouts_item_board_get_pin_mode (LayoutsItemBoard* self);
static void layouts_item_board_real_clean_up (LayoutsItemBase* base);
VALA_EXTERN gboolean layouts_item_board_get_is_loading (LayoutsItemBoard* self);
VALA_EXTERN void layouts_item_board_set_pin_mode (LayoutsItemBoard* self,
                                      gboolean value);
static GObject * layouts_item_board_constructor (GType type,
                                          guint n_construct_properties,
                                          GObjectConstructParam * construct_properties);
static Block41Data* block41_data_ref (Block41Data* _data41_);
static void block41_data_unref (void * _userdata_);
VALA_EXTERN WidgetsLabelsSummary* widgets_labels_summary_new (ObjectsItem* item,
                                                  gint max_items,
                                                  gboolean is_board);
VALA_EXTERN WidgetsLabelsSummary* widgets_labels_summary_construct (GType object_type,
                                                        ObjectsItem* item,
                                                        gint max_items,
                                                        gboolean is_board);
VALA_EXTERN void widgets_labels_summary_set_end_margin (WidgetsLabelsSummary* self,
                                            gint value);
static gboolean _layouts_item_board___lambda96_ (LayoutsItemBoard* self);
static gboolean __layouts_item_board___lambda96__gsource_func (gpointer self);
static void _layouts_item_board___lambda97_ (Block41Data* _data41_);
static void __layouts_item_board___lambda97__gtk_gesture_click_pressed (GtkGestureClick* _sender,
                                                                 gint n_press,
                                                                 gdouble x,
                                                                 gdouble y,
                                                                 gpointer self);
static void _layouts_item_board___lambda98_ (Block41Data* _data41_);
static void __layouts_item_board___lambda98__gtk_check_button_toggled (GtkCheckButton* _sender,
                                                                gpointer self);
static void _layouts_item_board___lambda99_ (Block41Data* _data41_);
static void __layouts_item_board___lambda99__gtk_gesture_click_pressed (GtkGestureClick* _sender,
                                                                 gint n_press,
                                                                 gdouble x,
                                                                 gdouble y,
                                                                 gpointer self);
static void _layouts_item_board___lambda100_ (Block41Data* _data41_,
                                       gint n_press,
                                       gdouble x,
                                       gdouble y);
static gboolean ___lambda101_ (LayoutsItemBoard* self);
static gboolean ____lambda101__gsource_func (gpointer self);
static void __layouts_item_board___lambda100__gtk_gesture_click_released (GtkGestureClick* _sender,
                                                                   gint n_press,
                                                                   gdouble x,
                                                                   gdouble y,
                                                                   gpointer self);
static void _layouts_item_board___lambda102_ (LayoutsItemBoard* self,
                                       gint n_press,
                                       gdouble x,
                                       gdouble y);
static void __layouts_item_board___lambda102__gtk_gesture_click_pressed (GtkGestureClick* _sender,
                                                                  gint n_press,
                                                                  gdouble x,
                                                                  gdouble y,
                                                                  gpointer self);
static void _layouts_item_board___lambda103_ (LayoutsItemBoard* self);
static void __layouts_item_board___lambda103__objects_item_reminder_added (ObjectsItem* _sender,
                                                                    ObjectsReminder* reminder,
                                                                    gpointer self);
static void _layouts_item_board___lambda104_ (LayoutsItemBoard* self);
static void __layouts_item_board___lambda104__objects_item_reminder_deleted (ObjectsItem* _sender,
                                                                      ObjectsReminder* reminder,
                                                                      gpointer self);
static void _layouts_item_board___lambda105_ (LayoutsItemBoard* self);
static void __layouts_item_board___lambda105__objects_item_item_added (ObjectsItem* _sender,
                                                                ObjectsItem* item,
                                                                gpointer self);
static void _layouts_item_board___lambda106_ (LayoutsItemBoard* self,
                                       ObjectsBaseObject* _item,
                                       const gchar* _update_id);
VALA_EXTERN const gchar* layouts_item_base_get_update_id (LayoutsItemBase* self);
static void __layouts_item_board___lambda106__objects_base_object_updated (ObjectsBaseObject* _sender,
                                                                    const gchar* update_id,
                                                                    gpointer self);
static void _layouts_item_board___lambda107_ (LayoutsItemBoard* self,
                                       ObjectsItem* _item);
static void __layouts_item_board___lambda107__services_store_item_deleted (ServicesStore* _sender,
                                                                    ObjectsItem* item,
                                                                    gpointer self);
static void _layouts_item_board___lambda108_ (LayoutsItemBoard* self,
                                       ObjectsItem* _item,
                                       const gchar* old_project_id,
                                       const gchar* old_section_id,
                                       const gchar* old_parent_id);
static void __layouts_item_board___lambda108__services_event_bus_item_moved (ServicesEventBus* _sender,
                                                                      ObjectsItem* item,
                                                                      const gchar* old_project_id,
                                                                      const gchar* old_section_id,
                                                                      const gchar* old_parent_id,
                                                                      gpointer self);
static void _layouts_item_board___lambda109_ (LayoutsItemBoard* self,
                                       ObjectsItem* _item);
static void __layouts_item_board___lambda109__services_event_bus_checked_toggled (ServicesEventBus* _sender,
                                                                           ObjectsItem* item,
                                                                           gboolean old_checked,
                                                                           gpointer self);
static void _layouts_item_board___lambda110_ (LayoutsItemBoard* self,
                                       gboolean active);
static void __layouts_item_board___lambda110__services_event_bus_show_multi_select (ServicesEventBus* _sender,
                                                                             gboolean enabled,
                                                                             gpointer self);
static void _layouts_item_board___lambda111_ (LayoutsItemBoard* self);
static void __layouts_item_board___lambda111__objects_item_show_item_changed (ObjectsItem* _sender,
                                                                       gpointer self);
static void _layouts_item_board___lambda112_ (LayoutsItemBoard* self);
static void __layouts_item_board___lambda112__objects_base_object_loading_change (ObjectsBaseObject* _sender,
                                                                           gpointer self);
static void _layouts_item_board___lambda113_ (LayoutsItemBoard* self);
static void __layouts_item_board___lambda113__objects_base_object_sensitive_change (ObjectsBaseObject* _sender,
                                                                             gpointer self);
static void _layouts_item_board___lambda114_ (LayoutsItemBoard* self,
                                       const gchar* project_id);
static void __layouts_item_board___lambda114__services_event_bus_drag_items_end (ServicesEventBus* _sender,
                                                                          const gchar* project_id,
                                                                          gpointer self);
static void _layouts_item_board___lambda115_ (LayoutsItemBoard* self);
static void __layouts_item_board___lambda115__gtk_button_clicked (GtkButton* _sender,
                                                           gpointer self);
static void _layouts_item_board___lambda116_ (LayoutsItemBoard* self);
static void __layouts_item_board___lambda116__services_event_bus_day_changed (ServicesEventBus* _sender,
                                                                       gpointer self);
static void _layouts_item_board___lambda117_ (LayoutsItemBoard* self);
static void __layouts_item_board___lambda117__gtk_list_box_row_activate (GtkListBoxRow* _sender,
                                                                  gpointer self);
static void layouts_item_board_finalize (GObject * obj);
static GType layouts_item_board_get_type_once (void);
static void _vala_layouts_item_board_get_property (GObject * object,
                                            guint property_id,
                                            GValue * value,
                                            GParamSpec * pspec);
static void _vala_layouts_item_board_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
layouts_item_board_get_instance_private (LayoutsItemBoard* self)
{
	return G_STRUCT_MEMBER_P (self, LayoutsItemBoard_private_offset);
}

LayoutsItemBoard*
layouts_item_board_construct (GType object_type,
                              ObjectsItem* item)
{
	LayoutsItemBoard * self = NULL;
	g_return_val_if_fail (item != NULL, NULL);
	self = (LayoutsItemBoard*) g_object_new (object_type, "item", item, NULL);
	return self;
}

LayoutsItemBoard*
layouts_item_board_new (ObjectsItem* item)
{
	return layouts_item_board_construct (LAYOUTS_TYPE_ITEM_BOARD, item);
}

static void
__lambda52_ (LayoutsItemBoard* self,
             GObject* obj,
             GAsyncResult* res)
{
	GDateTime* next_recurrency = NULL;
	ObjectsItem* _tmp0_;
	ObjectsItem* _tmp1_;
	GDateTime* _tmp2_;
	GDateTime* _tmp3_;
	g_return_if_fail (res != NULL);
	_tmp0_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp1_ = _tmp0_;
	_tmp2_ = objects_item_update_next_recurrency_finish (_tmp1_, res);
	next_recurrency = _tmp2_;
	self->priv->_recurrency_reset = FALSE;
	_tmp3_ = next_recurrency;
	if (_tmp3_ != NULL) {
		GDateTime* _tmp4_;
		_tmp4_ = next_recurrency;
		layouts_item_board_recurrency_update_complete (self, _tmp4_);
	}
	_g_date_time_unref0 (next_recurrency);
}

static void
___lambda52__gasync_ready_callback (GObject* source_object,
                                    GAsyncResult* res,
                                    gpointer self)
{
	__lambda52_ ((LayoutsItemBoard*) self, source_object, res);
	g_object_unref (self);
}

static void
layouts_item_board_update_next_recurrency (LayoutsItemBoard* self)
{
	ObjectsItem* _tmp0_;
	ObjectsItem* _tmp1_;
	g_return_if_fail (self != NULL);
	_tmp0_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp1_ = _tmp0_;
	objects_item_update_next_recurrency (_tmp1_, ___lambda52__gasync_ready_callback, g_object_ref (self));
}

static void
layouts_item_board_open_detail (LayoutsItemBoard* self)
{
	ServicesEventBus* _tmp0_;
	ServicesEventBus* _tmp1_;
	ObjectsItem* _tmp2_;
	ObjectsItem* _tmp3_;
	g_return_if_fail (self != NULL);
	_tmp0_ = services_event_bus_get_default ();
	_tmp1_ = _tmp0_;
	_tmp2_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp3_ = _tmp2_;
	g_signal_emit_by_name (_tmp1_, "open-item", _tmp3_);
	_g_object_unref0 (_tmp1_);
}

static void
layouts_item_board_real_checked_toggled (LayoutsItemBase* base,
                                         gboolean active,
                                         guint* time)
{
	LayoutsItemBoard * self;
	gboolean old_checked = FALSE;
	ObjectsItem* _tmp0_;
	ObjectsItem* _tmp1_;
	gboolean _tmp2_;
	gboolean _tmp3_;
	self = (LayoutsItemBoard*) base;
	_tmp0_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp1_ = _tmp0_;
	_tmp2_ = objects_item_get_checked (_tmp1_);
	_tmp3_ = _tmp2_;
	old_checked = _tmp3_;
	if (active) {
		layouts_item_board_complete_item (self, old_checked, time);
	} else {
		guint _tmp4_;
		_tmp4_ = self->priv->_complete_timeout;
		if (_tmp4_ != ((guint) 0)) {
			guint _tmp5_;
			AdwBin* _tmp6_;
			GtkLabel* _tmp7_;
			GtkLabel* _tmp8_;
			_tmp5_ = self->priv->_complete_timeout;
			g_source_remove (_tmp5_);
			layouts_item_board_set_complete_timeout (self, (guint) 0);
			_tmp6_ = self->card_widget;
			gtk_widget_remove_css_class ((GtkWidget*) _tmp6_, "complete");
			_tmp7_ = self->priv->content_label;
			gtk_widget_remove_css_class ((GtkWidget*) _tmp7_, "dimmed");
			_tmp8_ = self->priv->content_label;
			gtk_widget_remove_css_class ((GtkWidget*) _tmp8_, "line-through");
		} else {
			gchar* old_completed_at = NULL;
			ObjectsItem* _tmp9_;
			ObjectsItem* _tmp10_;
			const gchar* _tmp11_;
			const gchar* _tmp12_;
			gchar* _tmp13_;
			ObjectsItem* _tmp14_;
			ObjectsItem* _tmp15_;
			ObjectsItem* _tmp16_;
			ObjectsItem* _tmp17_;
			const gchar* _tmp18_;
			_tmp9_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
			_tmp10_ = _tmp9_;
			_tmp11_ = objects_item_get_completed_at (_tmp10_);
			_tmp12_ = _tmp11_;
			_tmp13_ = g_strdup (_tmp12_);
			old_completed_at = _tmp13_;
			_tmp14_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
			_tmp15_ = _tmp14_;
			objects_item_set_checked (_tmp15_, FALSE);
			_tmp16_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
			_tmp17_ = _tmp16_;
			objects_item_set_completed_at (_tmp17_, "");
			_tmp18_ = old_completed_at;
			_layouts_item_board_complete_item (self, old_checked, _tmp18_, NULL, NULL);
			_g_free0 (old_completed_at);
		}
	}
}

static Block36Data*
block36_data_ref (Block36Data* _data36_)
{
	g_atomic_int_inc (&_data36_->_ref_count_);
	return _data36_;
}

static void
block36_data_unref (void * _userdata_)
{
	Block36Data* _data36_;
	_data36_ = (Block36Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data36_->_ref_count_)) {
		LayoutsItemBoard* self;
		self = _data36_->self;
		_g_object_unref0 (self);
		g_slice_free (Block36Data, _data36_);
	}
}

static gchar*
g_date_time_to_string (GDateTime* self)
{
	gchar* _tmp0_;
	gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = g_date_time_format (self, "%FT%H:%M:%S%z");
	result = _tmp0_;
	return result;
}

static gboolean
__lambda54_ (Block36Data* _data36_)
{
	LayoutsItemBoard* self;
	gboolean _tmp0_ = FALSE;
	ObjectsItem* _tmp1_;
	ObjectsItem* _tmp2_;
	ObjectsDueDate* _tmp3_;
	ObjectsDueDate* _tmp4_;
	gboolean _tmp5_;
	gboolean _tmp6_;
	gboolean result;
	self = _data36_->self;
	layouts_item_board_set_complete_timeout (self, (guint) 0);
	_tmp1_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp2_ = _tmp1_;
	_tmp3_ = objects_item_get_due (_tmp2_);
	_tmp4_ = _tmp3_;
	_tmp5_ = objects_due_date_get_is_recurring (_tmp4_);
	_tmp6_ = _tmp5_;
	if (_tmp6_) {
		ObjectsItem* _tmp7_;
		ObjectsItem* _tmp8_;
		ObjectsDueDate* _tmp9_;
		ObjectsDueDate* _tmp10_;
		gboolean _tmp11_;
		gboolean _tmp12_;
		_tmp7_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
		_tmp8_ = _tmp7_;
		_tmp9_ = objects_item_get_due (_tmp8_);
		_tmp10_ = _tmp9_;
		_tmp11_ = objects_due_date_get_is_recurrency_end (_tmp10_);
		_tmp12_ = _tmp11_;
		_tmp0_ = !_tmp12_;
	} else {
		_tmp0_ = FALSE;
	}
	if (_tmp0_) {
		self->priv->_recurrency_reset = TRUE;
		layouts_item_board_update_next_recurrency (self);
	} else {
		gchar* old_completed_at = NULL;
		ObjectsItem* _tmp13_;
		ObjectsItem* _tmp14_;
		const gchar* _tmp15_;
		const gchar* _tmp16_;
		gchar* _tmp17_;
		ObjectsItem* _tmp18_;
		ObjectsItem* _tmp19_;
		ObjectsItem* _tmp20_;
		ObjectsItem* _tmp21_;
		GDateTime* _tmp22_;
		GDateTime* _tmp23_;
		gchar* _tmp24_;
		gchar* _tmp25_;
		const gchar* _tmp26_;
		_tmp13_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
		_tmp14_ = _tmp13_;
		_tmp15_ = objects_item_get_completed_at (_tmp14_);
		_tmp16_ = _tmp15_;
		_tmp17_ = g_strdup (_tmp16_);
		old_completed_at = _tmp17_;
		_tmp18_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
		_tmp19_ = _tmp18_;
		objects_item_set_checked (_tmp19_, TRUE);
		_tmp20_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
		_tmp21_ = _tmp20_;
		_tmp22_ = g_date_time_new_now_local ();
		_tmp23_ = _tmp22_;
		_tmp24_ = g_date_time_to_string (_tmp23_);
		_tmp25_ = _tmp24_;
		objects_item_set_completed_at (_tmp21_, _tmp25_);
		_g_free0 (_tmp25_);
		_g_date_time_unref0 (_tmp23_);
		_tmp26_ = old_completed_at;
		_layouts_item_board_complete_item (self, _data36_->old_checked, _tmp26_, NULL, NULL);
		_g_free0 (old_completed_at);
	}
	result = G_SOURCE_REMOVE;
	return result;
}

static gboolean
___lambda54__gsource_func (gpointer self)
{
	gboolean result;
	result = __lambda54_ (self);
	return result;
}

static void
layouts_item_board_complete_item (LayoutsItemBoard* self,
                                  gboolean old_checked,
                                  guint* time)
{
	Block36Data* _data36_;
	ServicesSettings* _tmp0_;
	ServicesSettings* _tmp1_;
	GSettings* _tmp2_;
	gboolean _tmp3_;
	guint timeout = 0U;
	ServicesSettings* _tmp6_;
	ServicesSettings* _tmp7_;
	GSettings* _tmp8_;
	gboolean _tmp9_;
	GtkLabel* _tmp10_;
	AdwBin* _tmp11_;
	ServicesSettings* _tmp12_;
	ServicesSettings* _tmp13_;
	GSettings* _tmp14_;
	gboolean _tmp15_;
	g_return_if_fail (self != NULL);
	_data36_ = g_slice_new0 (Block36Data);
	_data36_->_ref_count_ = 1;
	_data36_->self = g_object_ref (self);
	_data36_->old_checked = old_checked;
	_tmp0_ = services_settings_get_default ();
	_tmp1_ = _tmp0_;
	_tmp2_ = _tmp1_->settings;
	_tmp3_ = g_settings_get_boolean (_tmp2_, "task-complete-tone");
	_g_object_unref0 (_tmp1_);
	if (_tmp3_) {
		Util* _tmp4_;
		Util* _tmp5_;
		_tmp4_ = util_get_default ();
		_tmp5_ = _tmp4_;
		util_play_audio (_tmp5_);
		_g_object_unref0 (_tmp5_);
	}
	timeout = (guint) 3000;
	_tmp6_ = services_settings_get_default ();
	_tmp7_ = _tmp6_;
	_tmp8_ = _tmp7_->settings;
	_tmp9_ = g_settings_get_enum (_tmp8_, "complete-task") == 0;
	_g_object_unref0 (_tmp7_);
	if (_tmp9_) {
		timeout = (guint) 0;
	}
	if (time != NULL) {
		timeout = *time;
	}
	_tmp10_ = self->priv->content_label;
	gtk_widget_add_css_class ((GtkWidget*) _tmp10_, "dimmed");
	_tmp11_ = self->card_widget;
	gtk_widget_add_css_class ((GtkWidget*) _tmp11_, "complete");
	_tmp12_ = services_settings_get_default ();
	_tmp13_ = _tmp12_;
	_tmp14_ = _tmp13_->settings;
	_tmp15_ = g_settings_get_boolean (_tmp14_, "underline-completed-tasks");
	_g_object_unref0 (_tmp13_);
	if (_tmp15_) {
		GtkLabel* _tmp16_;
		_tmp16_ = self->priv->content_label;
		gtk_widget_add_css_class ((GtkWidget*) _tmp16_, "line-through");
	}
	layouts_item_board_set_complete_timeout (self, g_timeout_add_full (G_PRIORITY_DEFAULT, timeout, ___lambda54__gsource_func, block36_data_ref (_data36_), block36_data_unref));
	block36_data_unref (_data36_);
	_data36_ = NULL;
}

static void
_layouts_item_board_complete_item_data_free (gpointer _data)
{
	LayoutsItemBoardCompleteItemData* _data_;
	_data_ = _data;
	_g_free0 (_data_->old_completed_at);
	_g_object_unref0 (_data_->self);
	g_slice_free (LayoutsItemBoardCompleteItemData, _data_);
}

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

static void
_layouts_item_board_complete_item (LayoutsItemBoard* self,
                                   gboolean old_checked,
                                   const gchar* old_completed_at,
                                   GAsyncReadyCallback _callback_,
                                   gpointer _user_data_)
{
	LayoutsItemBoardCompleteItemData* _data_;
	LayoutsItemBoard* _tmp0_;
	gchar* _tmp1_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (old_completed_at != NULL);
	_data_ = g_slice_new0 (LayoutsItemBoardCompleteItemData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, _layouts_item_board_complete_item_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_data_->old_checked = old_checked;
	_tmp1_ = g_strdup (old_completed_at);
	_g_free0 (_data_->old_completed_at);
	_data_->old_completed_at = _tmp1_;
	_layouts_item_board_complete_item_co (_data_);
}

static void
_layouts_item_board_complete_item_finish (LayoutsItemBoard* self,
                                          GAsyncResult* _res_)
{
	LayoutsItemBoardCompleteItemData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
}

static void
_layouts_item_board_complete_item_ready (GObject* source_object,
                                         GAsyncResult* _res_,
                                         gpointer _user_data_)
{
	LayoutsItemBoardCompleteItemData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	_layouts_item_board_complete_item_co (_data_);
}

static gboolean
_layouts_item_board_complete_item_co (LayoutsItemBoardCompleteItemData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = _data_->self->priv->checked_button;
	gtk_widget_set_sensitive ((GtkWidget*) _data_->_tmp0_, FALSE);
	_data_->_tmp1_ = layouts_item_base_get_item ((LayoutsItemBase*) _data_->self);
	_data_->_tmp2_ = _data_->_tmp1_;
	_data_->_state_ = 1;
	objects_item_complete_item (_data_->_tmp2_, _data_->old_checked, _layouts_item_board_complete_item_ready, _data_);
	return FALSE;
	_state_1:
	_data_->_tmp3_ = objects_item_complete_item_finish (_data_->_tmp2_, _data_->_res_);
	_data_->response = _data_->_tmp3_;
	_data_->_tmp4_ = _data_->response;
	_data_->_tmp5_ = http_response_get_status (_data_->_tmp4_);
	_data_->_tmp6_ = _data_->_tmp5_;
	if (_data_->_tmp6_) {
		_layouts_item_base_show_task_completed_toast ((LayoutsItemBase*) _data_->self);
	} else {
		_data_->_tmp7_ = _data_->response;
		_layouts_item_board_complete_item_error (_data_->self, _data_->_tmp7_, _data_->old_checked, _data_->old_completed_at);
	}
	_http_response_unref0 (_data_->response);
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static void
_layouts_item_board_complete_item_error (LayoutsItemBoard* self,
                                         HttpResponse* response,
                                         gboolean old_checked,
                                         const gchar* old_completed_at)
{
	ObjectsItem* _tmp0_;
	ObjectsItem* _tmp1_;
	ObjectsItem* _tmp2_;
	ObjectsItem* _tmp3_;
	GtkCheckButton* _tmp4_;
	GtkCheckButton* _tmp5_;
	AdwBin* _tmp6_;
	GtkLabel* _tmp7_;
	GtkLabel* _tmp8_;
	gint _tmp9_;
	gint _tmp10_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (response != NULL);
	g_return_if_fail (old_completed_at != NULL);
	_tmp0_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp1_ = _tmp0_;
	objects_item_set_checked (_tmp1_, old_checked);
	_tmp2_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp3_ = _tmp2_;
	objects_item_set_completed_at (_tmp3_, old_completed_at);
	layouts_item_board_set_is_loading (self, FALSE);
	_tmp4_ = self->priv->checked_button;
	gtk_widget_set_sensitive ((GtkWidget*) _tmp4_, TRUE);
	_tmp5_ = self->priv->checked_button;
	gtk_check_button_set_active (_tmp5_, FALSE);
	_tmp6_ = self->card_widget;
	gtk_widget_remove_css_class ((GtkWidget*) _tmp6_, "complete");
	_tmp7_ = self->priv->content_label;
	gtk_widget_remove_css_class ((GtkWidget*) _tmp7_, "dimmed");
	_tmp8_ = self->priv->content_label;
	gtk_widget_remove_css_class ((GtkWidget*) _tmp8_, "line-through");
	_tmp9_ = http_response_get_error_code (response);
	_tmp10_ = _tmp9_;
	if (_tmp10_ != 412) {
		ServicesEventBus* _tmp11_;
		ServicesEventBus* _tmp12_;
		gint _tmp13_;
		gint _tmp14_;
		const gchar* _tmp15_;
		const gchar* _tmp16_;
		_tmp11_ = services_event_bus_get_default ();
		_tmp12_ = _tmp11_;
		_tmp13_ = http_response_get_error_code (response);
		_tmp14_ = _tmp13_;
		_tmp15_ = http_response_get_error (response);
		_tmp16_ = _tmp15_;
		g_signal_emit_by_name (_tmp12_, "send-error-toast", _tmp14_, _tmp16_);
		_g_object_unref0 (_tmp12_);
	}
}

static gboolean
__lambda53_ (LayoutsItemBoard* self)
{
	GtkLabel* _tmp0_;
	gboolean result;
	_tmp0_ = self->priv->due_label;
	gtk_widget_remove_css_class ((GtkWidget*) _tmp0_, "date-updated");
	result = G_SOURCE_REMOVE;
	return result;
}

static gboolean
___lambda53__gsource_func (gpointer self)
{
	gboolean result;
	result = __lambda53_ ((LayoutsItemBoard*) self);
	return result;
}

static void
layouts_item_board_recurrency_update_complete (LayoutsItemBoard* self,
                                               GDateTime* next_recurrency)
{
	GtkCheckButton* _tmp0_;
	AdwBin* _tmp1_;
	GtkLabel* _tmp2_;
	GtkLabel* _tmp3_;
	GtkLabel* _tmp4_;
	gchar* title = NULL;
	gchar* _tmp5_;
	gchar* _tmp6_;
	gchar* _tmp7_;
	gchar* _tmp8_;
	gchar* _tmp9_;
	gchar* _tmp10_;
	AdwToast* toast = NULL;
	Util* _tmp11_;
	Util* _tmp12_;
	AdwToast* _tmp13_;
	AdwToast* _tmp14_;
	ServicesEventBus* _tmp15_;
	ServicesEventBus* _tmp16_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (next_recurrency != NULL);
	self->priv->_recurrency_reset = TRUE;
	_tmp0_ = self->priv->checked_button;
	gtk_check_button_set_active (_tmp0_, FALSE);
	self->priv->_recurrency_reset = FALSE;
	layouts_item_board_set_complete_timeout (self, (guint) 0);
	_tmp1_ = self->card_widget;
	gtk_widget_remove_css_class ((GtkWidget*) _tmp1_, "complete");
	_tmp2_ = self->priv->content_label;
	gtk_widget_remove_css_class ((GtkWidget*) _tmp2_, "line-through");
	_tmp3_ = self->priv->content_label;
	gtk_widget_remove_css_class ((GtkWidget*) _tmp3_, "dimmed");
	layouts_item_board_update_due_label (self);
	_tmp4_ = self->priv->due_label;
	gtk_widget_add_css_class ((GtkWidget*) _tmp4_, "date-updated");
	g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) 1200, ___lambda53__gsource_func, g_object_ref (self), g_object_unref);
	_tmp5_ = utils_datetime_get_default_date_format_from_date (next_recurrency);
	_tmp6_ = _tmp5_;
	_tmp7_ = g_strdup_printf ("Completed. Next occurrence: %s", _tmp6_);
	_tmp8_ = _tmp7_;
	_tmp9_ = g_strdup (_ (_tmp8_));
	_tmp10_ = _tmp9_;
	_g_free0 (_tmp8_);
	_g_free0 (_tmp6_);
	title = _tmp10_;
	_tmp11_ = util_get_default ();
	_tmp12_ = _tmp11_;
	_tmp13_ = util_create_toast (_tmp12_, title, (guint) 3, ADW_TOAST_PRIORITY_NORMAL);
	_tmp14_ = _tmp13_;
	_g_object_unref0 (_tmp12_);
	toast = _tmp14_;
	_tmp15_ = services_event_bus_get_default ();
	_tmp16_ = _tmp15_;
	g_signal_emit_by_name (_tmp16_, "send-toast", toast);
	_g_object_unref0 (_tmp16_);
	_g_object_unref0 (toast);
	_g_free0 (title);
}

static gchar*
string_strip (const gchar* self)
{
	gchar* _result_ = NULL;
	gchar* _tmp0_;
	gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = g_strdup (self);
	_result_ = _tmp0_;
	g_strstrip (_result_);
	result = _result_;
	return result;
}

static void
layouts_item_board_real_update_request (LayoutsItemBase* base)
{
	LayoutsItemBoard * self;
	guint _tmp0_;
	GtkLabel* _tmp13_;
	MarkdownProcessor* _tmp14_;
	MarkdownProcessor* _tmp15_;
	ObjectsItem* _tmp16_;
	ObjectsItem* _tmp17_;
	const gchar* _tmp18_;
	const gchar* _tmp19_;
	gchar* _tmp20_;
	gchar* _tmp21_;
	GtkLabel* _tmp22_;
	ObjectsItem* _tmp23_;
	ObjectsItem* _tmp24_;
	const gchar* _tmp25_;
	const gchar* _tmp26_;
	gchar* _tmp27_;
	gchar* _tmp28_;
	GtkLabel* _tmp29_;
	Util* _tmp30_;
	Util* _tmp31_;
	ObjectsItem* _tmp32_;
	ObjectsItem* _tmp33_;
	const gchar* _tmp34_;
	const gchar* _tmp35_;
	gchar* _tmp36_;
	gchar* _tmp37_;
	GtkLabel* _tmp38_;
	ObjectsItem* _tmp39_;
	ObjectsItem* _tmp40_;
	const gchar* _tmp41_;
	const gchar* _tmp42_;
	gchar* _tmp43_;
	gchar* _tmp44_;
	GtkRevealer* _tmp45_;
	GtkLabel* _tmp46_;
	const gchar* _tmp47_;
	const gchar* _tmp48_;
	gint _tmp49_;
	gint _tmp50_;
	WidgetsLabelsSummary* _tmp51_;
	WidgetsLabelsSummary* _tmp52_;
	GtkLabel* _tmp53_;
	ObjectsItem* _tmp54_;
	ObjectsItem* _tmp55_;
	GeeArrayList* _tmp56_;
	GeeArrayList* _tmp57_;
	gint _tmp58_;
	gint _tmp59_;
	gchar* _tmp60_;
	gchar* _tmp61_;
	GtkRevealer* _tmp62_;
	ObjectsItem* _tmp63_;
	ObjectsItem* _tmp64_;
	GeeArrayList* _tmp65_;
	GeeArrayList* _tmp66_;
	gint _tmp67_;
	gint _tmp68_;
	gboolean _tmp69_ = FALSE;
	gboolean _tmp70_ = FALSE;
	gboolean _tmp71_ = FALSE;
	gboolean _tmp72_ = FALSE;
	GtkRevealer* _tmp73_;
	gboolean _tmp74_;
	gboolean _tmp75_;
	GtkRevealer* _tmp88_;
	self = (LayoutsItemBoard*) base;
	if (self->priv->_recurrency_reset) {
		return;
	}
	_tmp0_ = self->priv->_complete_timeout;
	if (_tmp0_ <= ((guint) 0)) {
		Util* _tmp1_;
		Util* _tmp2_;
		ObjectsItem* _tmp3_;
		ObjectsItem* _tmp4_;
		gint _tmp5_;
		gint _tmp6_;
		GtkCheckButton* _tmp7_;
		GtkCheckButton* _tmp8_;
		ObjectsItem* _tmp9_;
		ObjectsItem* _tmp10_;
		gboolean _tmp11_;
		gboolean _tmp12_;
		_tmp1_ = util_get_default ();
		_tmp2_ = _tmp1_;
		_tmp3_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
		_tmp4_ = _tmp3_;
		_tmp5_ = objects_item_get_priority (_tmp4_);
		_tmp6_ = _tmp5_;
		_tmp7_ = self->priv->checked_button;
		util_set_widget_priority (_tmp2_, _tmp6_, (GtkWidget*) _tmp7_);
		_g_object_unref0 (_tmp2_);
		_tmp8_ = self->priv->checked_button;
		_tmp9_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
		_tmp10_ = _tmp9_;
		_tmp11_ = objects_item_get_completed (_tmp10_);
		_tmp12_ = _tmp11_;
		gtk_check_button_set_active (_tmp8_, _tmp12_);
	}
	_tmp13_ = self->priv->content_label;
	_tmp14_ = markdown_processor_get_default ();
	_tmp15_ = _tmp14_;
	_tmp16_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp17_ = _tmp16_;
	_tmp18_ = objects_item_get_content (_tmp17_);
	_tmp19_ = _tmp18_;
	_tmp20_ = markdown_processor_markup_string (_tmp15_, _tmp19_);
	_tmp21_ = _tmp20_;
	gtk_label_set_label (_tmp13_, _tmp21_);
	_g_free0 (_tmp21_);
	_g_object_unref0 (_tmp15_);
	_tmp22_ = self->priv->content_label;
	_tmp23_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp24_ = _tmp23_;
	_tmp25_ = objects_item_get_content (_tmp24_);
	_tmp26_ = _tmp25_;
	_tmp27_ = string_strip (_tmp26_);
	_tmp28_ = _tmp27_;
	gtk_widget_set_tooltip_text ((GtkWidget*) _tmp22_, _tmp28_);
	_g_free0 (_tmp28_);
	layouts_item_board_verify_item_type (self);
	_tmp29_ = self->priv->description_label;
	_tmp30_ = util_get_default ();
	_tmp31_ = _tmp30_;
	_tmp32_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp33_ = _tmp32_;
	_tmp34_ = objects_item_get_description (_tmp33_);
	_tmp35_ = _tmp34_;
	_tmp36_ = util_line_break_to_space (_tmp31_, _tmp35_);
	_tmp37_ = _tmp36_;
	gtk_label_set_label (_tmp29_, _tmp37_);
	_g_free0 (_tmp37_);
	_g_object_unref0 (_tmp31_);
	_tmp38_ = self->priv->description_label;
	_tmp39_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp40_ = _tmp39_;
	_tmp41_ = objects_item_get_description (_tmp40_);
	_tmp42_ = _tmp41_;
	_tmp43_ = string_strip (_tmp42_);
	_tmp44_ = _tmp43_;
	gtk_widget_set_tooltip_text ((GtkWidget*) _tmp38_, _tmp44_);
	_g_free0 (_tmp44_);
	_tmp45_ = self->priv->description_revealer;
	_tmp46_ = self->priv->description_label;
	_tmp47_ = gtk_label_get_label (_tmp46_);
	_tmp48_ = _tmp47_;
	_tmp49_ = strlen (_tmp48_);
	_tmp50_ = _tmp49_;
	gtk_revealer_set_reveal_child (_tmp45_, _tmp50_ > 0);
	layouts_item_board_update_deadline (self);
	layouts_item_board_update_due_label (self);
	_tmp51_ = self->priv->labels_summary;
	widgets_labels_summary_update_request (_tmp51_);
	_tmp52_ = self->priv->labels_summary;
	widgets_labels_summary_check_revealer (_tmp52_);
	_tmp53_ = self->priv->reminder_count;
	_tmp54_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp55_ = _tmp54_;
	_tmp56_ = objects_item_get_reminders (_tmp55_);
	_tmp57_ = _tmp56_;
	_tmp58_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp57_);
	_tmp59_ = _tmp58_;
	_tmp60_ = g_strdup_printf ("%i", _tmp59_);
	_tmp61_ = _tmp60_;
	gtk_label_set_label (_tmp53_, _tmp61_);
	_g_free0 (_tmp61_);
	_tmp62_ = self->priv->reminder_revealer;
	_tmp63_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp64_ = _tmp63_;
	_tmp65_ = objects_item_get_reminders (_tmp64_);
	_tmp66_ = _tmp65_;
	_tmp67_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp66_);
	_tmp68_ = _tmp67_;
	gtk_revealer_set_reveal_child (_tmp62_, _tmp68_ > 0);
	layouts_item_board_update_subtasks (self);
	_tmp73_ = self->priv->due_box_revealer;
	_tmp74_ = gtk_revealer_get_reveal_child (_tmp73_);
	_tmp75_ = _tmp74_;
	if (_tmp75_) {
		_tmp72_ = TRUE;
	} else {
		WidgetsLabelsSummary* _tmp76_;
		gboolean _tmp77_;
		gboolean _tmp78_;
		_tmp76_ = self->priv->labels_summary;
		_tmp77_ = widgets_labels_summary_get_reveal_child (_tmp76_);
		_tmp78_ = _tmp77_;
		_tmp72_ = _tmp78_;
	}
	if (_tmp72_) {
		_tmp71_ = TRUE;
	} else {
		GtkRevealer* _tmp79_;
		gboolean _tmp80_;
		gboolean _tmp81_;
		_tmp79_ = self->priv->reminder_revealer;
		_tmp80_ = gtk_revealer_get_reveal_child (_tmp79_);
		_tmp81_ = _tmp80_;
		_tmp71_ = _tmp81_;
	}
	if (_tmp71_) {
		_tmp70_ = TRUE;
	} else {
		GtkRevealer* _tmp82_;
		gboolean _tmp83_;
		gboolean _tmp84_;
		_tmp82_ = self->priv->subtaks_revealer;
		_tmp83_ = gtk_revealer_get_reveal_child (_tmp82_);
		_tmp84_ = _tmp83_;
		_tmp70_ = _tmp84_;
	}
	if (_tmp70_) {
		_tmp69_ = TRUE;
	} else {
		GtkRevealer* _tmp85_;
		gboolean _tmp86_;
		gboolean _tmp87_;
		_tmp85_ = self->priv->deadline_revealer;
		_tmp86_ = gtk_revealer_get_reveal_child (_tmp85_);
		_tmp87_ = _tmp86_;
		_tmp69_ = _tmp87_;
	}
	_tmp88_ = self->priv->footer_revealer;
	gtk_revealer_set_reveal_child (_tmp88_, _tmp69_);
}

static void
layouts_item_board_verify_item_type (LayoutsItemBoard* self)
{
	gboolean _tmp0_ = FALSE;
	ObjectsItem* _tmp1_;
	ObjectsItem* _tmp2_;
	ItemType _tmp3_;
	ItemType _tmp4_;
	gboolean is_task = FALSE;
	g_return_if_fail (self != NULL);
	_tmp1_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp2_ = _tmp1_;
	_tmp3_ = objects_item_get_item_type (_tmp2_);
	_tmp4_ = _tmp3_;
	if (_tmp4_ == ITEM_TYPE_TASK) {
		ObjectsItem* _tmp5_;
		ObjectsItem* _tmp6_;
		const gchar* _tmp7_;
		const gchar* _tmp8_;
		_tmp5_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
		_tmp6_ = _tmp5_;
		_tmp7_ = objects_item_get_content (_tmp6_);
		_tmp8_ = _tmp7_;
		_tmp0_ = !g_str_has_prefix (_tmp8_, "* ");
	} else {
		_tmp0_ = FALSE;
	}
	is_task = _tmp0_;
	if (is_task) {
		GtkRevealer* _tmp9_;
		GtkLabel* _tmp10_;
		GtkBox* _tmp11_;
		GtkBox* _tmp12_;
		_tmp9_ = self->priv->checked_button_revealer;
		gtk_revealer_set_reveal_child (_tmp9_, TRUE);
		_tmp10_ = self->priv->description_label;
		gtk_widget_set_margin_start ((GtkWidget*) _tmp10_, 30);
		_tmp11_ = self->footer_box;
		gtk_widget_set_margin_start ((GtkWidget*) _tmp11_, 30);
		_tmp12_ = self->priv->content_box;
		gtk_widget_set_margin_start ((GtkWidget*) _tmp12_, 6);
	} else {
		GtkRevealer* _tmp13_;
		GtkLabel* _tmp14_;
		GtkBox* _tmp15_;
		GtkBox* _tmp16_;
		_tmp13_ = self->priv->checked_button_revealer;
		gtk_revealer_set_reveal_child (_tmp13_, FALSE);
		_tmp14_ = self->priv->description_label;
		gtk_widget_set_margin_start ((GtkWidget*) _tmp14_, 9);
		_tmp15_ = self->footer_box;
		gtk_widget_set_margin_start ((GtkWidget*) _tmp15_, 9);
		_tmp16_ = self->priv->content_box;
		gtk_widget_set_margin_start ((GtkWidget*) _tmp16_, 3);
	}
}

void
layouts_item_board_update_due_label (LayoutsItemBoard* self)
{
	GtkBox* _tmp0_;
	GtkBox* _tmp1_;
	GtkBox* _tmp2_;
	ObjectsItem* _tmp3_;
	ObjectsItem* _tmp4_;
	gboolean _tmp5_;
	gboolean _tmp6_;
	ObjectsItem* _tmp20_;
	ObjectsItem* _tmp21_;
	gboolean _tmp22_;
	gboolean _tmp23_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->due_box;
	gtk_widget_remove_css_class ((GtkWidget*) _tmp0_, "overdue-grid");
	_tmp1_ = self->priv->due_box;
	gtk_widget_remove_css_class ((GtkWidget*) _tmp1_, "today-grid");
	_tmp2_ = self->priv->due_box;
	gtk_widget_remove_css_class ((GtkWidget*) _tmp2_, "upcoming-grid");
	_tmp3_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp4_ = _tmp3_;
	_tmp5_ = objects_item_get_completed (_tmp4_);
	_tmp6_ = _tmp5_;
	if (_tmp6_) {
		GtkLabel* _tmp7_;
		ObjectsItem* _tmp8_;
		ObjectsItem* _tmp9_;
		const gchar* _tmp10_;
		const gchar* _tmp11_;
		GDateTime* _tmp12_;
		GDateTime* _tmp13_;
		GDateTime* _tmp14_;
		GDateTime* _tmp15_;
		gchar* _tmp16_;
		gchar* _tmp17_;
		GtkBox* _tmp18_;
		GtkRevealer* _tmp19_;
		_tmp7_ = self->priv->due_label;
		_tmp8_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
		_tmp9_ = _tmp8_;
		_tmp10_ = objects_item_get_completed_at (_tmp9_);
		_tmp11_ = _tmp10_;
		_tmp12_ = utils_datetime_get_date_from_string (_tmp11_);
		_tmp13_ = _tmp12_;
		_tmp14_ = utils_datetime_get_date_only (_tmp13_);
		_tmp15_ = _tmp14_;
		_tmp16_ = utils_datetime_get_relative_date_from_date (_tmp15_);
		_tmp17_ = _tmp16_;
		gtk_label_set_label (_tmp7_, _tmp17_);
		_g_free0 (_tmp17_);
		_g_date_time_unref0 (_tmp15_);
		_g_date_time_unref0 (_tmp13_);
		_tmp18_ = self->priv->due_box;
		gtk_widget_add_css_class ((GtkWidget*) _tmp18_, "completed-grid");
		_tmp19_ = self->priv->due_box_revealer;
		gtk_revealer_set_reveal_child (_tmp19_, TRUE);
		return;
	}
	_tmp20_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp21_ = _tmp20_;
	_tmp22_ = objects_item_get_has_due (_tmp21_);
	_tmp23_ = _tmp22_;
	if (_tmp23_) {
		GtkLabel* _tmp24_;
		ObjectsItem* _tmp25_;
		ObjectsItem* _tmp26_;
		ObjectsDueDate* _tmp27_;
		ObjectsDueDate* _tmp28_;
		GDateTime* _tmp29_;
		GDateTime* _tmp30_;
		gchar* _tmp31_;
		gchar* _tmp32_;
		GtkRevealer* _tmp33_;
		GtkRevealer* _tmp34_;
		ObjectsItem* _tmp35_;
		ObjectsItem* _tmp36_;
		ObjectsDueDate* _tmp37_;
		ObjectsDueDate* _tmp38_;
		gboolean _tmp39_;
		gboolean _tmp40_;
		ObjectsItem* _tmp41_;
		ObjectsItem* _tmp42_;
		ObjectsDueDate* _tmp43_;
		ObjectsDueDate* _tmp44_;
		gboolean _tmp45_;
		gboolean _tmp46_;
		ObjectsItem* _tmp118_;
		ObjectsItem* _tmp119_;
		ObjectsDueDate* _tmp120_;
		ObjectsDueDate* _tmp121_;
		GDateTime* _tmp122_;
		GDateTime* _tmp123_;
		_tmp24_ = self->priv->due_label;
		_tmp25_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
		_tmp26_ = _tmp25_;
		_tmp27_ = objects_item_get_due (_tmp26_);
		_tmp28_ = _tmp27_;
		_tmp29_ = objects_due_date_get_datetime (_tmp28_);
		_tmp30_ = _tmp29_;
		_tmp31_ = utils_datetime_get_relative_date_from_date (_tmp30_);
		_tmp32_ = _tmp31_;
		gtk_label_set_label (_tmp24_, _tmp32_);
		_g_free0 (_tmp32_);
		_tmp33_ = self->priv->due_box_revealer;
		gtk_revealer_set_reveal_child (_tmp33_, TRUE);
		_tmp34_ = self->priv->repeat_revealer;
		_tmp35_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
		_tmp36_ = _tmp35_;
		_tmp37_ = objects_item_get_due (_tmp36_);
		_tmp38_ = _tmp37_;
		_tmp39_ = objects_due_date_get_is_recurring (_tmp38_);
		_tmp40_ = _tmp39_;
		gtk_revealer_set_reveal_child (_tmp34_, _tmp40_);
		_tmp41_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
		_tmp42_ = _tmp41_;
		_tmp43_ = objects_item_get_due (_tmp42_);
		_tmp44_ = _tmp43_;
		_tmp45_ = objects_due_date_get_is_recurring (_tmp44_);
		_tmp46_ = _tmp45_;
		if (_tmp46_) {
			gchar* end_label = NULL;
			gchar* _tmp47_;
			ObjectsItem* _tmp48_;
			ObjectsItem* _tmp49_;
			ObjectsDueDate* _tmp50_;
			ObjectsDueDate* _tmp51_;
			RecurrencyEndType _tmp52_;
			RecurrencyEndType _tmp53_;
			GtkBox* _tmp88_;
			ObjectsItem* _tmp89_;
			ObjectsItem* _tmp90_;
			ObjectsDueDate* _tmp91_;
			ObjectsDueDate* _tmp92_;
			RecurrencyType _tmp93_;
			RecurrencyType _tmp94_;
			ObjectsItem* _tmp95_;
			ObjectsItem* _tmp96_;
			ObjectsDueDate* _tmp97_;
			ObjectsDueDate* _tmp98_;
			gint _tmp99_;
			gint _tmp100_;
			ObjectsItem* _tmp101_;
			ObjectsItem* _tmp102_;
			ObjectsDueDate* _tmp103_;
			ObjectsDueDate* _tmp104_;
			const gchar* _tmp105_;
			const gchar* _tmp106_;
			const gchar* _tmp107_;
			ObjectsItem* _tmp108_;
			ObjectsItem* _tmp109_;
			ObjectsDueDate* _tmp110_;
			ObjectsDueDate* _tmp111_;
			gboolean _tmp112_;
			gboolean _tmp113_;
			gchar* _tmp114_;
			gchar* _tmp115_;
			gchar* _tmp116_;
			gchar* _tmp117_;
			_tmp47_ = g_strdup ("");
			end_label = _tmp47_;
			_tmp48_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
			_tmp49_ = _tmp48_;
			_tmp50_ = objects_item_get_due (_tmp49_);
			_tmp51_ = _tmp50_;
			_tmp52_ = objects_due_date_get_end_type (_tmp51_);
			_tmp53_ = _tmp52_;
			if (_tmp53_ == RECURRENCY_END_TYPE_ON_DATE) {
				gchar* date_label = NULL;
				ObjectsItem* _tmp54_;
				ObjectsItem* _tmp55_;
				ObjectsDueDate* _tmp56_;
				ObjectsDueDate* _tmp57_;
				const gchar* _tmp58_;
				const gchar* _tmp59_;
				GDateTime* _tmp60_;
				GDateTime* _tmp61_;
				GDateTime* _tmp62_;
				GDateTime* _tmp63_;
				gchar* _tmp64_;
				gchar* _tmp65_;
				gchar* _tmp66_;
				gchar* _tmp67_;
				const gchar* _tmp68_;
				gchar* _tmp69_;
				_tmp54_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
				_tmp55_ = _tmp54_;
				_tmp56_ = objects_item_get_due (_tmp55_);
				_tmp57_ = _tmp56_;
				_tmp58_ = objects_due_date_get_recurrency_end (_tmp57_);
				_tmp59_ = _tmp58_;
				_tmp60_ = utils_datetime_get_date_from_string (_tmp59_);
				_tmp61_ = _tmp60_;
				_tmp62_ = utils_datetime_get_date_only (_tmp61_);
				_tmp63_ = _tmp62_;
				_tmp64_ = utils_datetime_get_default_date_format_from_date (_tmp63_);
				_tmp65_ = _tmp64_;
				_g_date_time_unref0 (_tmp63_);
				_g_date_time_unref0 (_tmp61_);
				date_label = _tmp65_;
				_tmp66_ = g_strconcat (_ ("until"), " ", NULL);
				_tmp67_ = _tmp66_;
				_tmp68_ = date_label;
				_tmp69_ = g_strconcat (_tmp67_, _tmp68_, NULL);
				_g_free0 (end_label);
				end_label = _tmp69_;
				_g_free0 (_tmp67_);
				_g_free0 (date_label);
			} else {
				ObjectsItem* _tmp70_;
				ObjectsItem* _tmp71_;
				ObjectsDueDate* _tmp72_;
				ObjectsDueDate* _tmp73_;
				RecurrencyEndType _tmp74_;
				RecurrencyEndType _tmp75_;
				_tmp70_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
				_tmp71_ = _tmp70_;
				_tmp72_ = objects_item_get_due (_tmp71_);
				_tmp73_ = _tmp72_;
				_tmp74_ = objects_due_date_get_end_type (_tmp73_);
				_tmp75_ = _tmp74_;
				if (_tmp75_ == RECURRENCY_END_TYPE_AFTER) {
					gint count = 0;
					ObjectsItem* _tmp76_;
					ObjectsItem* _tmp77_;
					ObjectsDueDate* _tmp78_;
					ObjectsDueDate* _tmp79_;
					gint _tmp80_;
					gint _tmp81_;
					const gchar* _tmp82_ = NULL;
					gchar* _tmp83_;
					gchar* _tmp84_;
					gchar* _tmp85_;
					gchar* _tmp86_;
					gchar* _tmp87_;
					_tmp76_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
					_tmp77_ = _tmp76_;
					_tmp78_ = objects_item_get_due (_tmp77_);
					_tmp79_ = _tmp78_;
					_tmp80_ = objects_due_date_get_recurrency_count (_tmp79_);
					_tmp81_ = _tmp80_;
					count = _tmp81_;
					if (count > 1) {
						_tmp82_ = _ ("times");
					} else {
						_tmp82_ = _ ("time");
					}
					_tmp83_ = g_strconcat (_ ("for"), " ", NULL);
					_tmp84_ = _tmp83_;
					_tmp85_ = g_strdup_printf ("%d %s", count, _tmp82_);
					_tmp86_ = _tmp85_;
					_tmp87_ = g_strconcat (_tmp84_, _tmp86_, NULL);
					_g_free0 (end_label);
					end_label = _tmp87_;
					_g_free0 (_tmp86_);
					_g_free0 (_tmp84_);
				}
			}
			_tmp88_ = self->priv->due_box;
			_tmp89_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
			_tmp90_ = _tmp89_;
			_tmp91_ = objects_item_get_due (_tmp90_);
			_tmp92_ = _tmp91_;
			_tmp93_ = objects_due_date_get_recurrency_type (_tmp92_);
			_tmp94_ = _tmp93_;
			_tmp95_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
			_tmp96_ = _tmp95_;
			_tmp97_ = objects_item_get_due (_tmp96_);
			_tmp98_ = _tmp97_;
			_tmp99_ = objects_due_date_get_recurrency_interval (_tmp98_);
			_tmp100_ = _tmp99_;
			_tmp101_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
			_tmp102_ = _tmp101_;
			_tmp103_ = objects_item_get_due (_tmp102_);
			_tmp104_ = _tmp103_;
			_tmp105_ = objects_due_date_get_recurrency_weeks (_tmp104_);
			_tmp106_ = _tmp105_;
			_tmp107_ = end_label;
			_tmp108_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
			_tmp109_ = _tmp108_;
			_tmp110_ = objects_item_get_due (_tmp109_);
			_tmp111_ = _tmp110_;
			_tmp112_ = objects_due_date_get_recurrency_last_day_of_month (_tmp111_);
			_tmp113_ = _tmp112_;
			_tmp114_ = utils_datetime_get_recurrency_weeks (_tmp94_, _tmp100_, _tmp106_, _tmp107_, _tmp113_);
			_tmp115_ = _tmp114_;
			_tmp116_ = g_utf8_strdown (_tmp115_, (gssize) -1);
			_tmp117_ = _tmp116_;
			gtk_widget_set_tooltip_text ((GtkWidget*) _tmp88_, _tmp117_);
			_g_free0 (_tmp117_);
			_g_free0 (_tmp115_);
			_g_free0 (end_label);
		}
		_tmp118_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
		_tmp119_ = _tmp118_;
		_tmp120_ = objects_item_get_due (_tmp119_);
		_tmp121_ = _tmp120_;
		_tmp122_ = objects_due_date_get_datetime (_tmp121_);
		_tmp123_ = _tmp122_;
		if (utils_datetime_is_today (_tmp123_)) {
			GtkBox* _tmp124_;
			_tmp124_ = self->priv->due_box;
			gtk_widget_add_css_class ((GtkWidget*) _tmp124_, "today-grid");
		} else {
			ObjectsItem* _tmp125_;
			ObjectsItem* _tmp126_;
			ObjectsDueDate* _tmp127_;
			ObjectsDueDate* _tmp128_;
			GDateTime* _tmp129_;
			GDateTime* _tmp130_;
			_tmp125_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
			_tmp126_ = _tmp125_;
			_tmp127_ = objects_item_get_due (_tmp126_);
			_tmp128_ = _tmp127_;
			_tmp129_ = objects_due_date_get_datetime (_tmp128_);
			_tmp130_ = _tmp129_;
			if (utils_datetime_is_overdue (_tmp130_)) {
				GtkBox* _tmp131_;
				_tmp131_ = self->priv->due_box;
				gtk_widget_add_css_class ((GtkWidget*) _tmp131_, "overdue-grid");
			} else {
				GtkBox* _tmp132_;
				_tmp132_ = self->priv->due_box;
				gtk_widget_add_css_class ((GtkWidget*) _tmp132_, "upcoming-grid");
			}
		}
	} else {
		GtkLabel* _tmp133_;
		GtkBox* _tmp134_;
		GtkRevealer* _tmp135_;
		GtkRevealer* _tmp136_;
		_tmp133_ = self->priv->due_label;
		gtk_label_set_label (_tmp133_, "");
		_tmp134_ = self->priv->due_box;
		gtk_widget_set_tooltip_text ((GtkWidget*) _tmp134_, "");
		_tmp135_ = self->priv->due_box_revealer;
		gtk_revealer_set_reveal_child (_tmp135_, FALSE);
		_tmp136_ = self->priv->repeat_revealer;
		gtk_revealer_set_reveal_child (_tmp136_, FALSE);
	}
}

static void
layouts_item_board_update_deadline (LayoutsItemBoard* self)
{
	GtkBox* _tmp0_;
	GtkBox* _tmp1_;
	ObjectsItem* _tmp2_;
	ObjectsItem* _tmp3_;
	gboolean _tmp4_;
	gboolean _tmp5_;
	GtkRevealer* _tmp31_;
	ObjectsItem* _tmp32_;
	ObjectsItem* _tmp33_;
	gboolean _tmp34_;
	gboolean _tmp35_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->deadline_box;
	gtk_widget_remove_css_class ((GtkWidget*) _tmp0_, "error");
	_tmp1_ = self->priv->deadline_box;
	gtk_widget_remove_css_class ((GtkWidget*) _tmp1_, "dimmed");
	_tmp2_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp3_ = _tmp2_;
	_tmp4_ = objects_item_get_has_deadline (_tmp3_);
	_tmp5_ = _tmp4_;
	if (_tmp5_) {
		GtkLabel* _tmp6_;
		ObjectsItem* _tmp7_;
		ObjectsItem* _tmp8_;
		GDateTime* _tmp9_;
		GDateTime* _tmp10_;
		gchar* _tmp11_;
		gchar* _tmp12_;
		ObjectsItem* _tmp13_;
		ObjectsItem* _tmp14_;
		gboolean _tmp15_;
		gboolean _tmp16_;
		_tmp6_ = self->priv->deadline_label;
		_tmp7_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
		_tmp8_ = _tmp7_;
		_tmp9_ = objects_item_get_deadline_datetime (_tmp8_);
		_tmp10_ = _tmp9_;
		_tmp11_ = utils_datetime_get_relative_time_from_date (_tmp10_);
		_tmp12_ = _tmp11_;
		gtk_label_set_label (_tmp6_, _tmp12_);
		_g_free0 (_tmp12_);
		_tmp13_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
		_tmp14_ = _tmp13_;
		_tmp15_ = objects_item_get_completed (_tmp14_);
		_tmp16_ = _tmp15_;
		if (!_tmp16_) {
			GDateTime* date_only = NULL;
			ObjectsItem* _tmp17_;
			ObjectsItem* _tmp18_;
			GDateTime* _tmp19_;
			GDateTime* _tmp20_;
			GDateTime* _tmp21_;
			gboolean _tmp22_ = FALSE;
			gboolean _tmp23_ = FALSE;
			GDateTime* _tmp24_;
			gboolean is_overdue = FALSE;
			_tmp17_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
			_tmp18_ = _tmp17_;
			_tmp19_ = objects_item_get_deadline_datetime (_tmp18_);
			_tmp20_ = _tmp19_;
			_tmp21_ = utils_datetime_get_date_only (_tmp20_);
			date_only = _tmp21_;
			_tmp24_ = date_only;
			if (utils_datetime_is_today (_tmp24_)) {
				_tmp23_ = TRUE;
			} else {
				GDateTime* _tmp25_;
				_tmp25_ = date_only;
				_tmp23_ = utils_datetime_is_yesterday (_tmp25_);
			}
			if (_tmp23_) {
				_tmp22_ = TRUE;
			} else {
				GDateTime* _tmp26_;
				_tmp26_ = date_only;
				_tmp22_ = utils_datetime_is_overdue (_tmp26_);
			}
			is_overdue = _tmp22_;
			if (is_overdue) {
				GtkBox* _tmp27_;
				_tmp27_ = self->priv->deadline_box;
				gtk_widget_add_css_class ((GtkWidget*) _tmp27_, "error");
			} else {
				GtkBox* _tmp28_;
				_tmp28_ = self->priv->deadline_box;
				gtk_widget_add_css_class ((GtkWidget*) _tmp28_, "dimmed");
			}
			_g_date_time_unref0 (date_only);
		} else {
			GtkBox* _tmp29_;
			_tmp29_ = self->priv->deadline_box;
			gtk_widget_add_css_class ((GtkWidget*) _tmp29_, "dimmed");
		}
	} else {
		GtkLabel* _tmp30_;
		_tmp30_ = self->priv->deadline_label;
		gtk_label_set_label (_tmp30_, "");
	}
	_tmp31_ = self->priv->deadline_revealer;
	_tmp32_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp33_ = _tmp32_;
	_tmp34_ = objects_item_get_has_deadline (_tmp33_);
	_tmp35_ = _tmp34_;
	gtk_revealer_set_reveal_child (_tmp31_, _tmp35_);
}

static void
layouts_item_board_update_subtasks (LayoutsItemBoard* self)
{
	GtkRevealer* _tmp0_;
	ObjectsItem* _tmp1_;
	ObjectsItem* _tmp2_;
	GeeArrayList* _tmp3_;
	GeeArrayList* _tmp4_;
	gint _tmp5_;
	gint _tmp6_;
	gint checked = 0;
	GtkLabel* _tmp22_;
	ObjectsItem* _tmp23_;
	ObjectsItem* _tmp24_;
	GeeArrayList* _tmp25_;
	GeeArrayList* _tmp26_;
	gint _tmp27_;
	gint _tmp28_;
	gchar* _tmp29_;
	gchar* _tmp30_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->subtaks_revealer;
	_tmp1_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp2_ = _tmp1_;
	_tmp3_ = objects_item_get_items (_tmp2_);
	_tmp4_ = _tmp3_;
	_tmp5_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp4_);
	_tmp6_ = _tmp5_;
	gtk_revealer_set_reveal_child (_tmp0_, _tmp6_ > 0);
	checked = 0;
	{
		GeeArrayList* _item_list = NULL;
		ObjectsItem* _tmp7_;
		ObjectsItem* _tmp8_;
		GeeArrayList* _tmp9_;
		GeeArrayList* _tmp10_;
		gint _item_size = 0;
		GeeArrayList* _tmp11_;
		gint _tmp12_;
		gint _tmp13_;
		gint _item_index = 0;
		_tmp7_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
		_tmp8_ = _tmp7_;
		_tmp9_ = objects_item_get_items (_tmp8_);
		_tmp10_ = _tmp9_;
		_item_list = _tmp10_;
		_tmp11_ = _item_list;
		_tmp12_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp11_);
		_tmp13_ = _tmp12_;
		_item_size = _tmp13_;
		_item_index = -1;
		while (TRUE) {
			gint _tmp14_;
			gint _tmp15_;
			ObjectsItem* item = NULL;
			GeeArrayList* _tmp16_;
			gpointer _tmp17_;
			ObjectsItem* _tmp18_;
			gboolean _tmp19_;
			gboolean _tmp20_;
			_item_index = _item_index + 1;
			_tmp14_ = _item_index;
			_tmp15_ = _item_size;
			if (!(_tmp14_ < _tmp15_)) {
				break;
			}
			_tmp16_ = _item_list;
			_tmp17_ = gee_abstract_list_get ((GeeAbstractList*) _tmp16_, _item_index);
			item = (ObjectsItem*) _tmp17_;
			_tmp18_ = item;
			_tmp19_ = objects_item_get_checked (_tmp18_);
			_tmp20_ = _tmp19_;
			if (_tmp20_) {
				gint _tmp21_;
				_tmp21_ = checked;
				checked = _tmp21_ + 1;
			}
			_g_object_unref0 (item);
		}
	}
	_tmp22_ = self->priv->subtaks_label;
	_tmp23_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp24_ = _tmp23_;
	_tmp25_ = objects_item_get_items (_tmp24_);
	_tmp26_ = _tmp25_;
	_tmp27_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp26_);
	_tmp28_ = _tmp27_;
	_tmp29_ = g_strdup_printf ("%d/%d", checked, _tmp28_);
	_tmp30_ = _tmp29_;
	gtk_label_set_label (_tmp22_, _tmp30_);
	_g_free0 (_tmp30_);
}

static void
__lambda59_ (LayoutsItemBoard* self,
             const gchar* type,
             const gchar* id)
{
	g_return_if_fail (type != NULL);
	g_return_if_fail (id != NULL);
	if (g_strcmp0 (type, "project") == 0) {
		ServicesStore* _tmp0_;
		ObjectsProject* _tmp1_;
		ObjectsProject* _tmp2_;
		_tmp0_ = services_store_instance ();
		_tmp1_ = services_store_get_project (_tmp0_, id);
		_tmp2_ = _tmp1_;
		layouts_item_board_move (self, _tmp2_, "");
		_g_object_unref0 (_tmp2_);
	} else {
		ObjectsItem* _tmp3_;
		ObjectsItem* _tmp4_;
		ObjectsProject* _tmp5_;
		ObjectsProject* _tmp6_;
		_tmp3_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
		_tmp4_ = _tmp3_;
		_tmp5_ = objects_item_get_project (_tmp4_);
		_tmp6_ = _tmp5_;
		layouts_item_board_move (self, _tmp6_, id);
	}
}

static void
___lambda59__dialogs_project_picker_project_picker_changed (DialogsProjectPickerProjectPicker* _sender,
                                                            const gchar* type,
                                                            const gchar* id,
                                                            gpointer self)
{
	__lambda59_ ((LayoutsItemBoard*) self, type, id);
}

static void
__lambda55_ (LayoutsItemBoard* self)
{
	DialogsProjectPickerProjectPicker* dialog = NULL;
	DialogsProjectPickerProjectPicker* _tmp0_;
	ObjectsItem* _tmp1_;
	ObjectsItem* _tmp2_;
	ObjectsProject* _tmp3_;
	ObjectsProject* _tmp4_;
	Planify* _tmp5_;
	MainWindow* _tmp6_;
	_tmp0_ = dialogs_project_picker_project_picker_new_for_projects ();
	g_object_ref_sink (_tmp0_);
	dialog = _tmp0_;
	_tmp1_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp2_ = _tmp1_;
	_tmp3_ = objects_item_get_project (_tmp2_);
	_tmp4_ = _tmp3_;
	dialogs_project_picker_project_picker_set_project (dialog, _tmp4_);
	_tmp5_ = planify__instance;
	_tmp6_ = _tmp5_->main_window;
	adw_dialog_present ((AdwDialog*) dialog, (GtkWidget*) _tmp6_);
	g_signal_connect_object (dialog, "changed", (GCallback) ___lambda59__dialogs_project_picker_project_picker_changed, self, 0);
	_g_object_unref0 (dialog);
}

static void
___lambda55__widgets_context_menu_menu_item_activate_item (WidgetsContextMenuMenuItem* _sender,
                                                           gpointer self)
{
	__lambda55_ ((LayoutsItemBoard*) self);
}

static void
__lambda64_ (LayoutsItemBoard* self,
             GeeHashMap* labels)
{
	ObjectsItem* _tmp0_;
	ObjectsItem* _tmp1_;
	g_return_if_fail (labels != NULL);
	_tmp0_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp1_ = _tmp0_;
	objects_item_update_labels (_tmp1_, labels);
}

static void
___lambda64__dialogs_label_picker_labels_changed (DialogsLabelPicker* _sender,
                                                  GeeHashMap* labels,
                                                  gpointer self)
{
	__lambda64_ ((LayoutsItemBoard*) self, labels);
}

static void
__lambda60_ (LayoutsItemBoard* self)
{
	DialogsLabelPicker* dialog = NULL;
	gchar* _tmp0_;
	DialogsLabelPicker* _tmp1_ = NULL;
	ObjectsItem* _tmp2_;
	ObjectsItem* _tmp3_;
	ObjectsSource* _tmp4_;
	ObjectsSource* _tmp5_;
	ObjectsItem* _tmp6_;
	ObjectsItem* _tmp7_;
	GeeArrayList* _tmp8_;
	GeeArrayList* _tmp9_;
	Planify* _tmp10_;
	MainWindow* _tmp11_;
	_tmp0_ = g_strdup (_ ("Apply"));
	_tmp1_ = dialogs_label_picker_new (LABEL_PICKER_TYPE_FILTER_AND_CREATE);
	dialogs_label_picker_set_button_text (_tmp1_, _tmp0_);
	_g_free0 (_tmp0_);
	g_object_ref_sink (_tmp1_);
	dialog = _tmp1_;
	_tmp2_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp3_ = _tmp2_;
	_tmp4_ = objects_base_object_get_source ((ObjectsBaseObject*) _tmp3_);
	_tmp5_ = _tmp4_;
	dialogs_label_picker_add_labels (dialog, _tmp5_);
	_tmp6_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp7_ = _tmp6_;
	_tmp8_ = objects_item_get_labels (_tmp7_);
	_tmp9_ = _tmp8_;
	dialogs_label_picker_set_labels (dialog, _tmp9_);
	g_signal_connect_object (dialog, "labels-changed", (GCallback) ___lambda64__dialogs_label_picker_labels_changed, self, 0);
	_tmp10_ = planify__instance;
	_tmp11_ = _tmp10_->main_window;
	adw_dialog_present ((AdwDialog*) dialog, (GtkWidget*) _tmp11_);
	_g_object_unref0 (dialog);
}

static void
___lambda60__widgets_context_menu_menu_item_activate_item (WidgetsContextMenuMenuItem* _sender,
                                                           gpointer self)
{
	__lambda60_ ((LayoutsItemBoard*) self);
}

static void
__lambda65_ (LayoutsItemBoard* self)
{
	GDateTime* _tmp0_;
	GDateTime* _tmp1_;
	GDateTime* _tmp2_;
	GDateTime* _tmp3_;
	_tmp0_ = g_date_time_new_now_local ();
	_tmp1_ = _tmp0_;
	_tmp2_ = utils_datetime_get_date_only (_tmp1_);
	_tmp3_ = _tmp2_;
	layouts_item_board_update_date (self, _tmp3_);
	_g_date_time_unref0 (_tmp3_);
	_g_date_time_unref0 (_tmp1_);
}

static void
___lambda65__widgets_context_menu_menu_item_activate_item (WidgetsContextMenuMenuItem* _sender,
                                                           gpointer self)
{
	__lambda65_ ((LayoutsItemBoard*) self);
}

static void
__lambda66_ (LayoutsItemBoard* self)
{
	GDateTime* _tmp0_;
	GDateTime* _tmp1_;
	GDateTime* _tmp2_;
	GDateTime* _tmp3_;
	GDateTime* _tmp4_;
	GDateTime* _tmp5_;
	_tmp0_ = g_date_time_new_now_local ();
	_tmp1_ = _tmp0_;
	_tmp2_ = g_date_time_add_days (_tmp1_, 1);
	_tmp3_ = _tmp2_;
	_tmp4_ = utils_datetime_get_date_only (_tmp3_);
	_tmp5_ = _tmp4_;
	layouts_item_board_update_date (self, _tmp5_);
	_g_date_time_unref0 (_tmp5_);
	_g_date_time_unref0 (_tmp3_);
	_g_date_time_unref0 (_tmp1_);
}

static void
___lambda66__widgets_context_menu_menu_item_activate_item (WidgetsContextMenuMenuItem* _sender,
                                                           gpointer self)
{
	__lambda66_ ((LayoutsItemBoard*) self);
}

static void
__lambda67_ (LayoutsItemBoard* self)
{
	ObjectsItem* _tmp0_;
	ObjectsItem* _tmp1_;
	ObjectsItem* _tmp2_;
	ObjectsItem* _tmp3_;
	gboolean _tmp4_;
	gboolean _tmp5_;
	_tmp0_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp1_ = _tmp0_;
	_tmp2_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp3_ = _tmp2_;
	_tmp4_ = objects_item_get_pinned (_tmp3_);
	_tmp5_ = _tmp4_;
	objects_item_update_pin (_tmp1_, !_tmp5_);
}

static void
___lambda67__widgets_context_menu_menu_item_activate_item (WidgetsContextMenuMenuItem* _sender,
                                                           gpointer self)
{
	__lambda67_ ((LayoutsItemBoard*) self);
}

static void
__lambda68_ (LayoutsItemBoard* self)
{
	layouts_item_board_update_date (self, NULL);
}

static void
___lambda68__widgets_context_menu_menu_item_activate_item (WidgetsContextMenuMenuItem* _sender,
                                                           gpointer self)
{
	__lambda68_ ((LayoutsItemBoard*) self);
}

static void
__lambda69_ (LayoutsItemBoard* self)
{
	GtkCheckButton* _tmp0_;
	GtkCheckButton* _tmp1_;
	gboolean _tmp2_;
	gboolean _tmp3_;
	GtkCheckButton* _tmp4_;
	gboolean _tmp5_;
	gboolean _tmp6_;
	_tmp0_ = self->priv->checked_button;
	_tmp1_ = self->priv->checked_button;
	_tmp2_ = gtk_check_button_get_active (_tmp1_);
	_tmp3_ = _tmp2_;
	gtk_check_button_set_active (_tmp0_, !_tmp3_);
	_tmp4_ = self->priv->checked_button;
	_tmp5_ = gtk_check_button_get_active (_tmp4_);
	_tmp6_ = _tmp5_;
	layouts_item_base_checked_toggled ((LayoutsItemBase*) self, _tmp6_, NULL);
}

static void
___lambda69__widgets_context_menu_menu_item_activate_item (WidgetsContextMenuMenuItem* _sender,
                                                           gpointer self)
{
	__lambda69_ ((LayoutsItemBoard*) self);
}

static void
__lambda70_ (LayoutsItemBoard* self)
{
	layouts_item_board_open_detail (self);
}

static void
___lambda70__widgets_context_menu_menu_item_activate_item (WidgetsContextMenuMenuItem* _sender,
                                                           gpointer self)
{
	__lambda70_ ((LayoutsItemBoard*) self);
}

static void
__lambda71_ (LayoutsItemBoard* self)
{
	layouts_item_base_delete_request ((LayoutsItemBase*) self, TRUE);
}

static void
___lambda71__widgets_context_menu_menu_item_activate_item (WidgetsContextMenuMenuItem* _sender,
                                                           gpointer self)
{
	__lambda71_ ((LayoutsItemBoard*) self);
}

static void
__lambda74_ (LayoutsItemBoard* self)
{
	DialogsQuickAdd* dialog = NULL;
	DialogsQuickAdd* _tmp0_;
	ObjectsItem* _tmp1_;
	ObjectsItem* _tmp2_;
	Planify* _tmp3_;
	MainWindow* _tmp4_;
	_tmp0_ = dialogs_quick_add_new ();
	g_object_ref_sink (_tmp0_);
	dialog = _tmp0_;
	_tmp1_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp2_ = _tmp1_;
	dialogs_quick_add_for_base_object (dialog, (ObjectsBaseObject*) _tmp2_);
	_tmp3_ = planify__instance;
	_tmp4_ = _tmp3_->main_window;
	adw_dialog_present ((AdwDialog*) dialog, (GtkWidget*) _tmp4_);
	_g_object_unref0 (dialog);
}

static void
___lambda74__widgets_context_menu_menu_item_activate_item (WidgetsContextMenuMenuItem* _sender,
                                                           gpointer self)
{
	__lambda74_ ((LayoutsItemBoard*) self);
}

static void
__lambda80_ (LayoutsItemBoard* self)
{
	Util* _tmp0_;
	Util* _tmp1_;
	ObjectsItem* _tmp2_;
	ObjectsItem* _tmp3_;
	ObjectsItem* _tmp4_;
	ObjectsItem* _tmp5_;
	const gchar* _tmp6_;
	const gchar* _tmp7_;
	ObjectsItem* _tmp8_;
	ObjectsItem* _tmp9_;
	const gchar* _tmp10_;
	const gchar* _tmp11_;
	ObjectsItem* _tmp12_;
	ObjectsItem* _tmp13_;
	const gchar* _tmp14_;
	const gchar* _tmp15_;
	_tmp0_ = util_get_default ();
	_tmp1_ = _tmp0_;
	_tmp2_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp3_ = _tmp2_;
	_tmp4_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp5_ = _tmp4_;
	_tmp6_ = objects_item_get_project_id (_tmp5_);
	_tmp7_ = _tmp6_;
	_tmp8_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp9_ = _tmp8_;
	_tmp10_ = objects_item_get_section_id (_tmp9_);
	_tmp11_ = _tmp10_;
	_tmp12_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp13_ = _tmp12_;
	_tmp14_ = objects_item_get_parent_id (_tmp13_);
	_tmp15_ = _tmp14_;
	util_duplicate_item (_tmp1_, _tmp3_, _tmp7_, _tmp11_, _tmp15_, TRUE, NULL, NULL);
	_g_object_unref0 (_tmp1_);
}

static void
___lambda80__gtk_button_clicked (GtkButton* _sender,
                                 gpointer self)
{
	__lambda80_ ((LayoutsItemBoard*) self);
}

static void
layouts_item_board_build_handle_context_menu (LayoutsItemBoard* self,
                                              gdouble x,
                                              gdouble y)
{
	GtkPopover* _tmp0_;
	WidgetsContextMenuMenuItem* today_item = NULL;
	WidgetsContextMenuMenuItem* _tmp16_;
	WidgetsContextMenuMenuItem* _tmp17_;
	GDateTime* _tmp18_;
	GDateTime* _tmp19_;
	gchar* _tmp20_;
	gchar* _tmp21_;
	WidgetsContextMenuMenuItem* tomorrow_item = NULL;
	WidgetsContextMenuMenuItem* _tmp22_;
	WidgetsContextMenuMenuItem* _tmp23_;
	GDateTime* _tmp24_;
	GDateTime* _tmp25_;
	GDateTime* _tmp26_;
	GDateTime* _tmp27_;
	gchar* _tmp28_;
	gchar* _tmp29_;
	const gchar* _tmp30_ = NULL;
	ObjectsItem* _tmp31_;
	ObjectsItem* _tmp32_;
	gboolean _tmp33_;
	gboolean _tmp34_;
	WidgetsContextMenuMenuItem* _tmp35_;
	WidgetsContextMenuMenuItem* _tmp36_;
	WidgetsContextMenuMenuItem* _tmp37_;
	ObjectsItem* _tmp38_;
	ObjectsItem* _tmp39_;
	gboolean _tmp40_;
	gboolean _tmp41_;
	WidgetsContextMenuMenuItem* move_item = NULL;
	WidgetsContextMenuMenuItem* _tmp42_;
	WidgetsContextMenuMenuItem* labels_item = NULL;
	WidgetsContextMenuMenuItem* _tmp43_;
	WidgetsContextMenuMenuItem* add_item = NULL;
	WidgetsContextMenuMenuItem* _tmp44_;
	WidgetsContextMenuMenuItem* complete_item = NULL;
	WidgetsContextMenuMenuItem* _tmp45_;
	WidgetsContextMenuMenuItem* edit_item = NULL;
	WidgetsContextMenuMenuItem* _tmp46_;
	WidgetsContextMenuMenuItem* duplicate_item = NULL;
	WidgetsContextMenuMenuItem* _tmp47_;
	WidgetsContextMenuMenuItem* delete_item = NULL;
	WidgetsContextMenuMenuItem* _tmp48_;
	WidgetsContextMenuMenuItem* _tmp49_;
	GtkBox* menu_box = NULL;
	GtkBox* _tmp50_;
	GtkBox* _tmp51_;
	GtkBox* _tmp52_;
	GtkBox* _tmp53_;
	WidgetsContextMenuMenuItem* _tmp54_;
	GtkBox* _tmp55_;
	WidgetsContextMenuMenuItem* _tmp56_;
	GtkBox* _tmp57_;
	WidgetsContextMenuMenuSeparator* _tmp58_;
	WidgetsContextMenuMenuSeparator* _tmp59_;
	GtkBox* _tmp60_;
	WidgetsContextMenuMenuItem* _tmp61_;
	GtkBox* _tmp62_;
	WidgetsContextMenuMenuItem* _tmp63_;
	GtkBox* _tmp64_;
	WidgetsContextMenuMenuItem* _tmp65_;
	GtkBox* _tmp66_;
	WidgetsContextMenuMenuSeparator* _tmp67_;
	WidgetsContextMenuMenuSeparator* _tmp68_;
	GtkBox* _tmp69_;
	WidgetsContextMenuMenuItem* _tmp70_;
	GtkBox* _tmp71_;
	WidgetsContextMenuMenuItem* _tmp72_;
	GtkBox* _tmp73_;
	WidgetsContextMenuMenuItem* _tmp74_;
	GtkBox* _tmp75_;
	WidgetsContextMenuMenuSeparator* _tmp76_;
	WidgetsContextMenuMenuSeparator* _tmp77_;
	GtkBox* _tmp78_;
	WidgetsContextMenuMenuItem* _tmp79_;
	GtkBox* _tmp80_;
	WidgetsContextMenuMenuItem* _tmp81_;
	GtkBox* _tmp82_;
	WidgetsContextMenuMenuSeparator* _tmp83_;
	WidgetsContextMenuMenuSeparator* _tmp84_;
	GtkBox* _tmp85_;
	WidgetsContextMenuMenuItem* _tmp86_;
	GtkBox* _tmp87_;
	GtkWidget* _tmp88_;
	GtkPopover* _tmp89_ = NULL;
	GtkPopover* _tmp90_;
	GtkPopover* _tmp91_;
	GdkRectangle _tmp92_ = {0};
	GtkPopover* _tmp93_;
	WidgetsContextMenuMenuItem* _tmp94_;
	WidgetsContextMenuMenuItem* _tmp95_;
	WidgetsContextMenuMenuItem* _tmp96_;
	WidgetsContextMenuMenuItem* _tmp97_;
	WidgetsContextMenuMenuItem* _tmp98_;
	WidgetsContextMenuMenuItem* _tmp99_;
	WidgetsContextMenuMenuItem* _tmp100_;
	WidgetsContextMenuMenuItem* _tmp101_;
	WidgetsContextMenuMenuItem* _tmp102_;
	WidgetsContextMenuMenuItem* _tmp103_;
	WidgetsContextMenuMenuItem* _tmp104_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->menu_handle_popover;
	if (_tmp0_ != NULL) {
		ObjectsItem* _tmp1_;
		ObjectsItem* _tmp2_;
		gboolean _tmp3_;
		gboolean _tmp4_;
		const gchar* _tmp7_ = NULL;
		ObjectsItem* _tmp8_;
		ObjectsItem* _tmp9_;
		gboolean _tmp10_;
		gboolean _tmp11_;
		WidgetsContextMenuMenuItem* _tmp12_;
		GtkPopover* _tmp13_;
		GdkRectangle _tmp14_ = {0};
		GtkPopover* _tmp15_;
		_tmp1_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
		_tmp2_ = _tmp1_;
		_tmp3_ = objects_item_get_has_due (_tmp2_);
		_tmp4_ = _tmp3_;
		if (_tmp4_) {
			WidgetsContextMenuMenuItem* _tmp5_;
			_tmp5_ = self->priv->no_date_item;
			gtk_widget_set_visible ((GtkWidget*) _tmp5_, TRUE);
		} else {
			WidgetsContextMenuMenuItem* _tmp6_;
			_tmp6_ = self->priv->no_date_item;
			gtk_widget_set_visible ((GtkWidget*) _tmp6_, FALSE);
		}
		_tmp8_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
		_tmp9_ = _tmp8_;
		_tmp10_ = objects_item_get_pinned (_tmp9_);
		_tmp11_ = _tmp10_;
		if (_tmp11_) {
			_tmp7_ = _ ("Unpin");
		} else {
			_tmp7_ = _ ("Pin");
		}
		_tmp12_ = self->priv->pinboard_item;
		widgets_context_menu_menu_item_set_title (_tmp12_, _tmp7_);
		_tmp13_ = self->priv->menu_handle_popover;
		_tmp14_.x = (gint) x;
		_tmp14_.y = (gint) y;
		_tmp14_.width = 1;
		_tmp14_.height = 1;
		g_object_set (_tmp13_, "pointing-to", &_tmp14_, NULL);
		_tmp15_ = self->priv->menu_handle_popover;
		gtk_popover_popup (_tmp15_);
		return;
	}
	_tmp16_ = widgets_context_menu_menu_item_new (_ ("Today"), "star-outline-thick-symbolic");
	g_object_ref_sink (_tmp16_);
	today_item = _tmp16_;
	_tmp17_ = today_item;
	_tmp18_ = g_date_time_new_now_local ();
	_tmp19_ = _tmp18_;
	_tmp20_ = g_date_time_format (_tmp19_, "%a");
	_tmp21_ = _tmp20_;
	widgets_context_menu_menu_item_set_secondary_text (_tmp17_, _tmp21_);
	_g_free0 (_tmp21_);
	_g_date_time_unref0 (_tmp19_);
	_tmp22_ = widgets_context_menu_menu_item_new (_ ("Tomorrow"), "today-calendar-symbolic");
	g_object_ref_sink (_tmp22_);
	tomorrow_item = _tmp22_;
	_tmp23_ = tomorrow_item;
	_tmp24_ = g_date_time_new_now_local ();
	_tmp25_ = _tmp24_;
	_tmp26_ = g_date_time_add_days (_tmp25_, 1);
	_tmp27_ = _tmp26_;
	_tmp28_ = g_date_time_format (_tmp27_, "%a");
	_tmp29_ = _tmp28_;
	widgets_context_menu_menu_item_set_secondary_text (_tmp23_, _tmp29_);
	_g_free0 (_tmp29_);
	_g_date_time_unref0 (_tmp27_);
	_g_date_time_unref0 (_tmp25_);
	_tmp31_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp32_ = _tmp31_;
	_tmp33_ = objects_item_get_pinned (_tmp32_);
	_tmp34_ = _tmp33_;
	if (_tmp34_) {
		_tmp30_ = _ ("Unpin");
	} else {
		_tmp30_ = _ ("Pin");
	}
	_tmp35_ = widgets_context_menu_menu_item_new (_tmp30_, "pin-symbolic");
	g_object_ref_sink (_tmp35_);
	_g_object_unref0 (self->priv->pinboard_item);
	self->priv->pinboard_item = _tmp35_;
	_tmp36_ = widgets_context_menu_menu_item_new (_ ("No Date"), "cross-large-circle-filled-symbolic");
	g_object_ref_sink (_tmp36_);
	_g_object_unref0 (self->priv->no_date_item);
	self->priv->no_date_item = _tmp36_;
	_tmp37_ = self->priv->no_date_item;
	_tmp38_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp39_ = _tmp38_;
	_tmp40_ = objects_item_get_has_due (_tmp39_);
	_tmp41_ = _tmp40_;
	gtk_widget_set_visible ((GtkWidget*) _tmp37_, _tmp41_);
	_tmp42_ = widgets_context_menu_menu_item_new (_ ("Move"), "arrow3-right-symbolic");
	g_object_ref_sink (_tmp42_);
	move_item = _tmp42_;
	_tmp43_ = widgets_context_menu_menu_item_new (_ ("Labels"), "tag-outline-symbolic");
	g_object_ref_sink (_tmp43_);
	labels_item = _tmp43_;
	_tmp44_ = widgets_context_menu_menu_item_new (_ ("Add Subtask"), "plus-large-symbolic");
	g_object_ref_sink (_tmp44_);
	add_item = _tmp44_;
	_tmp45_ = widgets_context_menu_menu_item_new (_ ("Complete"), "check-round-outline-symbolic");
	g_object_ref_sink (_tmp45_);
	complete_item = _tmp45_;
	_tmp46_ = widgets_context_menu_menu_item_new (_ ("Edit"), "edit-symbolic");
	g_object_ref_sink (_tmp46_);
	edit_item = _tmp46_;
	_tmp47_ = widgets_context_menu_menu_item_new (_ ("Duplicate"), "tabs-stack-symbolic");
	g_object_ref_sink (_tmp47_);
	duplicate_item = _tmp47_;
	_tmp48_ = widgets_context_menu_menu_item_new (_ ("Delete Task"), "user-trash-symbolic");
	g_object_ref_sink (_tmp48_);
	delete_item = _tmp48_;
	_tmp49_ = delete_item;
	gtk_widget_add_css_class ((GtkWidget*) _tmp49_, "menu-item-danger");
	_tmp50_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
	g_object_ref_sink (_tmp50_);
	menu_box = _tmp50_;
	_tmp51_ = menu_box;
	_tmp52_ = menu_box;
	gtk_widget_set_margin_bottom ((GtkWidget*) _tmp52_, 3);
	gtk_widget_set_margin_top ((GtkWidget*) _tmp51_, 3);
	_tmp53_ = menu_box;
	_tmp54_ = complete_item;
	gtk_box_append (_tmp53_, (GtkWidget*) _tmp54_);
	_tmp55_ = menu_box;
	_tmp56_ = edit_item;
	gtk_box_append (_tmp55_, (GtkWidget*) _tmp56_);
	_tmp57_ = menu_box;
	_tmp58_ = widgets_context_menu_menu_separator_new ();
	g_object_ref_sink (_tmp58_);
	_tmp59_ = _tmp58_;
	gtk_box_append (_tmp57_, (GtkWidget*) _tmp59_);
	_g_object_unref0 (_tmp59_);
	_tmp60_ = menu_box;
	_tmp61_ = today_item;
	gtk_box_append (_tmp60_, (GtkWidget*) _tmp61_);
	_tmp62_ = menu_box;
	_tmp63_ = tomorrow_item;
	gtk_box_append (_tmp62_, (GtkWidget*) _tmp63_);
	_tmp64_ = menu_box;
	_tmp65_ = self->priv->no_date_item;
	gtk_box_append (_tmp64_, (GtkWidget*) _tmp65_);
	_tmp66_ = menu_box;
	_tmp67_ = widgets_context_menu_menu_separator_new ();
	g_object_ref_sink (_tmp67_);
	_tmp68_ = _tmp67_;
	gtk_box_append (_tmp66_, (GtkWidget*) _tmp68_);
	_g_object_unref0 (_tmp68_);
	_tmp69_ = menu_box;
	_tmp70_ = self->priv->pinboard_item;
	gtk_box_append (_tmp69_, (GtkWidget*) _tmp70_);
	_tmp71_ = menu_box;
	_tmp72_ = move_item;
	gtk_box_append (_tmp71_, (GtkWidget*) _tmp72_);
	_tmp73_ = menu_box;
	_tmp74_ = labels_item;
	gtk_box_append (_tmp73_, (GtkWidget*) _tmp74_);
	_tmp75_ = menu_box;
	_tmp76_ = widgets_context_menu_menu_separator_new ();
	g_object_ref_sink (_tmp76_);
	_tmp77_ = _tmp76_;
	gtk_box_append (_tmp75_, (GtkWidget*) _tmp77_);
	_g_object_unref0 (_tmp77_);
	_tmp78_ = menu_box;
	_tmp79_ = add_item;
	gtk_box_append (_tmp78_, (GtkWidget*) _tmp79_);
	_tmp80_ = menu_box;
	_tmp81_ = duplicate_item;
	gtk_box_append (_tmp80_, (GtkWidget*) _tmp81_);
	_tmp82_ = menu_box;
	_tmp83_ = widgets_context_menu_menu_separator_new ();
	g_object_ref_sink (_tmp83_);
	_tmp84_ = _tmp83_;
	gtk_box_append (_tmp82_, (GtkWidget*) _tmp84_);
	_g_object_unref0 (_tmp84_);
	_tmp85_ = menu_box;
	_tmp86_ = delete_item;
	gtk_box_append (_tmp85_, (GtkWidget*) _tmp86_);
	_tmp87_ = menu_box;
	_tmp88_ = _g_object_ref0 ((GtkWidget*) _tmp87_);
	_tmp89_ = (GtkPopover*) gtk_popover_new ();
	gtk_popover_set_has_arrow (_tmp89_, FALSE);
	gtk_popover_set_child (_tmp89_, _tmp88_);
	_g_object_unref0 (_tmp88_);
	gtk_widget_set_halign ((GtkWidget*) _tmp89_, GTK_ALIGN_START);
	g_object_set ((GtkWidget*) _tmp89_, "width-request", 250, NULL);
	g_object_ref_sink (_tmp89_);
	_g_object_unref0 (self->priv->menu_handle_popover);
	self->priv->menu_handle_popover = _tmp89_;
	_tmp90_ = self->priv->menu_handle_popover;
	gtk_widget_set_parent ((GtkWidget*) _tmp90_, (GtkWidget*) self);
	_tmp91_ = self->priv->menu_handle_popover;
	_tmp92_.x = (gint) x;
	_tmp92_.y = (gint) y;
	_tmp92_.width = 1;
	_tmp92_.height = 1;
	g_object_set (_tmp91_, "pointing-to", &_tmp92_, NULL);
	_tmp93_ = self->priv->menu_handle_popover;
	gtk_popover_popup (_tmp93_);
	_tmp94_ = move_item;
	g_signal_connect_object (_tmp94_, "activate-item", (GCallback) ___lambda55__widgets_context_menu_menu_item_activate_item, self, 0);
	_tmp95_ = labels_item;
	g_signal_connect_object (_tmp95_, "activate-item", (GCallback) ___lambda60__widgets_context_menu_menu_item_activate_item, self, 0);
	_tmp96_ = today_item;
	g_signal_connect_object (_tmp96_, "activate-item", (GCallback) ___lambda65__widgets_context_menu_menu_item_activate_item, self, 0);
	_tmp97_ = tomorrow_item;
	g_signal_connect_object (_tmp97_, "activate-item", (GCallback) ___lambda66__widgets_context_menu_menu_item_activate_item, self, 0);
	_tmp98_ = self->priv->pinboard_item;
	g_signal_connect_object (_tmp98_, "activate-item", (GCallback) ___lambda67__widgets_context_menu_menu_item_activate_item, self, 0);
	_tmp99_ = self->priv->no_date_item;
	g_signal_connect_object (_tmp99_, "activate-item", (GCallback) ___lambda68__widgets_context_menu_menu_item_activate_item, self, 0);
	_tmp100_ = complete_item;
	g_signal_connect_object (_tmp100_, "activate-item", (GCallback) ___lambda69__widgets_context_menu_menu_item_activate_item, self, 0);
	_tmp101_ = edit_item;
	g_signal_connect_object (_tmp101_, "activate-item", (GCallback) ___lambda70__widgets_context_menu_menu_item_activate_item, self, 0);
	_tmp102_ = delete_item;
	g_signal_connect_object (_tmp102_, "activate-item", (GCallback) ___lambda71__widgets_context_menu_menu_item_activate_item, self, 0);
	_tmp103_ = add_item;
	g_signal_connect_object (_tmp103_, "activate-item", (GCallback) ___lambda74__widgets_context_menu_menu_item_activate_item, self, 0);
	_tmp104_ = duplicate_item;
	g_signal_connect_object ((GtkButton*) _tmp104_, "clicked", (GCallback) ___lambda80__gtk_button_clicked, self, 0);
	_g_object_unref0 (menu_box);
	_g_object_unref0 (delete_item);
	_g_object_unref0 (duplicate_item);
	_g_object_unref0 (edit_item);
	_g_object_unref0 (complete_item);
	_g_object_unref0 (add_item);
	_g_object_unref0 (labels_item);
	_g_object_unref0 (move_item);
	_g_object_unref0 (tomorrow_item);
	_g_object_unref0 (today_item);
}

static void
layouts_item_board_build_drag_and_drop (LayoutsItemBoard* self)
{
	g_return_if_fail (self != NULL);
	layouts_item_board_build_drop_motion (self);
	layouts_item_board_build_drag_source (self);
	layouts_item_board_build_drop_target (self);
	layouts_item_board_build_drop_magic_button_target (self);
	layouts_item_board_build_drop_order_target (self);
}

static Block37Data*
block37_data_ref (Block37Data* _data37_)
{
	g_atomic_int_inc (&_data37_->_ref_count_);
	return _data37_;
}

static void
block37_data_unref (void * _userdata_)
{
	Block37Data* _data37_;
	_data37_ = (Block37Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data37_->_ref_count_)) {
		LayoutsItemBoard* self;
		self = _data37_->self;
		_g_object_unref0 (_data37_->drop_motion_ctrl);
		_g_object_unref0 (self);
		g_slice_free (Block37Data, _data37_);
	}
}

static void
__lambda81_ (Block37Data* _data37_,
             gdouble x,
             gdouble y)
{
	LayoutsItemBoard* self;
	GdkDrop* drop = NULL;
	GdkDrop* _tmp0_;
	GdkDrop* _tmp1_;
	GValue value = {0};
	GValue _tmp2_ = {0};
	GError* _inner_error0_ = NULL;
	self = _data37_->self;
	_tmp0_ = gtk_drop_controller_motion_get_drop (_data37_->drop_motion_ctrl);
	_tmp1_ = _g_object_ref0 (_tmp0_);
	drop = _tmp1_;
	g_value_init (&_tmp2_, gtk_widget_get_type ());
	value = _tmp2_;
	{
		GdkDrop* _tmp3_;
		GdkDrag* _tmp4_;
		GdkDrag* _tmp5_;
		GdkContentProvider* _tmp6_;
		GdkContentProvider* _tmp7_;
		GObject* _tmp8_;
		GObject* _tmp9_;
		gboolean _tmp10_;
		_tmp3_ = drop;
		_tmp4_ = gdk_drop_get_drag (_tmp3_);
		_tmp5_ = _tmp4_;
		_tmp6_ = gdk_drag_get_content (_tmp5_);
		_tmp7_ = _tmp6_;
		gdk_content_provider_get_value (_tmp7_, &value, &_inner_error0_);
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_tmp8_ = g_value_dup_object (&value);
		_tmp9_ = _tmp8_;
		_tmp10_ = LAYOUTS_IS_ITEM_BOARD (_tmp9_);
		_g_object_unref0 (_tmp9_);
		if (_tmp10_) {
			LayoutsItemBoard* picked_widget = NULL;
			GValue _tmp11_;
			LayoutsItemBoard* _tmp12_;
			LayoutsItemBoard* _tmp13_;
			ObjectsItem* _tmp14_;
			ObjectsItem* _tmp15_;
			const gchar* _tmp16_;
			const gchar* _tmp17_;
			ObjectsItem* _tmp18_;
			ObjectsItem* _tmp19_;
			const gchar* _tmp20_;
			const gchar* _tmp21_;
			GtkGrid* _tmp22_;
			LayoutsItemBoard* _tmp23_;
			AdwBin* _tmp24_;
			gboolean _tmp25_ = FALSE;
			gboolean _tmp26_;
			gboolean _tmp27_;
			GtkRevealer* _tmp34_;
			_tmp11_ = value;
			_tmp12_ = _g_object_ref0 (g_value_get_object (&_tmp11_));
			picked_widget = _tmp12_;
			_tmp13_ = picked_widget;
			_tmp14_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp13_);
			_tmp15_ = _tmp14_;
			_tmp16_ = objects_base_object_get_id ((ObjectsBaseObject*) _tmp15_);
			_tmp17_ = _tmp16_;
			_tmp18_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
			_tmp19_ = _tmp18_;
			_tmp20_ = objects_item_get_parent_id (_tmp19_);
			_tmp21_ = _tmp20_;
			if (g_strcmp0 (_tmp17_, _tmp21_) == 0) {
				_g_object_unref0 (picked_widget);
				G_IS_VALUE (&value) ? (g_value_unset (&value), NULL) : NULL;
				_g_object_unref0 (drop);
				return;
			}
			_tmp22_ = self->priv->motion_top_grid;
			_tmp23_ = picked_widget;
			_tmp24_ = _tmp23_->card_widget;
			g_object_set ((GtkWidget*) _tmp22_, "height-request", gtk_widget_get_height ((GtkWidget*) _tmp24_), NULL);
			g_object_get (_data37_->drop_motion_ctrl, "contains-pointer", &_tmp26_, NULL);
			_tmp27_ = _tmp26_;
			if (_tmp27_) {
				ObjectsItem* _tmp28_;
				ObjectsItem* _tmp29_;
				ObjectsProject* _tmp30_;
				ObjectsProject* _tmp31_;
				SortedByType _tmp32_;
				SortedByType _tmp33_;
				_tmp28_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
				_tmp29_ = _tmp28_;
				_tmp30_ = objects_item_get_project (_tmp29_);
				_tmp31_ = _tmp30_;
				_tmp32_ = objects_project_get_sorted_by (_tmp31_);
				_tmp33_ = _tmp32_;
				_tmp25_ = _tmp33_ == SORTED_BY_TYPE_MANUAL;
			} else {
				_tmp25_ = FALSE;
			}
			_tmp34_ = self->priv->motion_top_revealer;
			gtk_revealer_set_reveal_child (_tmp34_, _tmp25_);
			_g_object_unref0 (picked_widget);
		} else {
			GObject* _tmp35_;
			GObject* _tmp36_;
			gboolean _tmp37_;
			_tmp35_ = g_value_dup_object (&value);
			_tmp36_ = _tmp35_;
			_tmp37_ = WIDGETS_IS_MAGIC_BUTTON (_tmp36_);
			_g_object_unref0 (_tmp36_);
			if (_tmp37_) {
				GtkGrid* _tmp38_;
				gboolean _tmp39_ = FALSE;
				gboolean _tmp40_;
				gboolean _tmp41_;
				GtkRevealer* _tmp48_;
				_tmp38_ = self->priv->motion_top_grid;
				g_object_set ((GtkWidget*) _tmp38_, "height-request", 32, NULL);
				g_object_get (_data37_->drop_motion_ctrl, "contains-pointer", &_tmp40_, NULL);
				_tmp41_ = _tmp40_;
				if (_tmp41_) {
					ObjectsItem* _tmp42_;
					ObjectsItem* _tmp43_;
					ObjectsProject* _tmp44_;
					ObjectsProject* _tmp45_;
					SortedByType _tmp46_;
					SortedByType _tmp47_;
					_tmp42_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
					_tmp43_ = _tmp42_;
					_tmp44_ = objects_item_get_project (_tmp43_);
					_tmp45_ = _tmp44_;
					_tmp46_ = objects_project_get_sorted_by (_tmp45_);
					_tmp47_ = _tmp46_;
					_tmp39_ = _tmp47_ == SORTED_BY_TYPE_MANUAL;
				} else {
					_tmp39_ = FALSE;
				}
				_tmp48_ = self->priv->motion_top_revealer;
				gtk_revealer_set_reveal_child (_tmp48_, _tmp39_);
			}
		}
	}
	goto __finally0;
	__catch0_g_error:
	{
		GError* e = NULL;
		GError* _tmp49_;
		const gchar* _tmp50_;
		e = _inner_error0_;
		_inner_error0_ = NULL;
		_tmp49_ = e;
		_tmp50_ = _tmp49_->message;
		g_debug ("ItemBoard.vala:962: %s", _tmp50_);
		_g_error_free0 (e);
	}
	__finally0:
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		G_IS_VALUE (&value) ? (g_value_unset (&value), NULL) : NULL;
		_g_object_unref0 (drop);
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
		g_clear_error (&_inner_error0_);
		return;
	}
	G_IS_VALUE (&value) ? (g_value_unset (&value), NULL) : NULL;
	_g_object_unref0 (drop);
}

static void
___lambda81__gtk_drop_controller_motion_enter (GtkDropControllerMotion* _sender,
                                               gdouble x,
                                               gdouble y,
                                               gpointer self)
{
	__lambda81_ (self, x, y);
}

static void
__lambda82_ (LayoutsItemBoard* self)
{
	GtkRevealer* _tmp0_;
	_tmp0_ = self->priv->motion_top_revealer;
	gtk_revealer_set_reveal_child (_tmp0_, FALSE);
}

static void
___lambda82__gtk_drop_controller_motion_leave (GtkDropControllerMotion* _sender,
                                               gpointer self)
{
	__lambda82_ ((LayoutsItemBoard*) self);
}

static void
layouts_item_board_build_drop_motion (LayoutsItemBoard* self)
{
	Block37Data* _data37_;
	GtkDropControllerMotion* _tmp0_;
	GtkEventController* _tmp1_;
	GeeHashMap* _tmp2_;
	gulong _tmp3_;
	GeeHashMap* _tmp4_;
	gulong _tmp5_;
	g_return_if_fail (self != NULL);
	_data37_ = g_slice_new0 (Block37Data);
	_data37_->_ref_count_ = 1;
	_data37_->self = g_object_ref (self);
	_tmp0_ = (GtkDropControllerMotion*) gtk_drop_controller_motion_new ();
	_data37_->drop_motion_ctrl = _tmp0_;
	_tmp1_ = _g_object_ref0 ((GtkEventController*) _data37_->drop_motion_ctrl);
	gtk_widget_add_controller ((GtkWidget*) self, _tmp1_);
	_tmp2_ = ((LayoutsItemBase*) self)->signals_map;
	_tmp3_ = g_signal_connect_data (_data37_->drop_motion_ctrl, "enter", (GCallback) ___lambda81__gtk_drop_controller_motion_enter, block37_data_ref (_data37_), (GClosureNotify) block37_data_unref, 0);
	gee_abstract_map_set ((GeeAbstractMap*) _tmp2_, (gpointer) ((guintptr) _tmp3_), (GObject*) _data37_->drop_motion_ctrl);
	_tmp4_ = ((LayoutsItemBase*) self)->signals_map;
	_tmp5_ = g_signal_connect_object (_data37_->drop_motion_ctrl, "leave", (GCallback) ___lambda82__gtk_drop_controller_motion_leave, self, 0);
	gee_abstract_map_set ((GeeAbstractMap*) _tmp4_, (gpointer) ((guintptr) _tmp5_), (GObject*) _data37_->drop_motion_ctrl);
	block37_data_unref (_data37_);
	_data37_ = NULL;
}

static GdkContentProvider*
__lambda83_ (LayoutsItemBoard* self,
             GtkDragSource* source,
             gdouble x,
             gdouble y)
{
	GValue _tmp0_ = {0};
	GdkContentProvider* _tmp1_;
	GdkContentProvider* _tmp2_;
	GdkContentProvider* result;
	g_return_val_if_fail (source != NULL, NULL);
	g_value_init (&_tmp0_, LAYOUTS_TYPE_ITEM_BOARD);
	g_value_set_object (&_tmp0_, self);
	_tmp1_ = gdk_content_provider_new_for_value (&_tmp0_);
	_tmp2_ = _tmp1_;
	G_IS_VALUE (&_tmp0_) ? (g_value_unset (&_tmp0_), NULL) : NULL;
	result = _tmp2_;
	return result;
}

static GdkContentProvider*
___lambda83__gtk_drag_source_prepare (GtkDragSource* _sender,
                                      gdouble x,
                                      gdouble y,
                                      gpointer self)
{
	GdkContentProvider* result;
	result = __lambda83_ ((LayoutsItemBoard*) self, _sender, x, y);
	return result;
}

static void
__lambda84_ (LayoutsItemBoard* self,
             GtkDragSource* source,
             GdkDrag* drag)
{
	GtkWidgetPaintable* paintable = NULL;
	AdwBin* _tmp0_;
	GtkWidgetPaintable* _tmp1_;
	g_return_if_fail (source != NULL);
	g_return_if_fail (drag != NULL);
	_tmp0_ = self->card_widget;
	_tmp1_ = (GtkWidgetPaintable*) gtk_widget_paintable_new ((GtkWidget*) _tmp0_);
	paintable = _tmp1_;
	gtk_drag_source_set_icon (source, (GdkPaintable*) paintable, 0, 0);
	layouts_item_board_drag_begin (self);
	_g_object_unref0 (paintable);
}

static void
___lambda84__gtk_drag_source_drag_begin (GtkDragSource* _sender,
                                         GdkDrag* drag,
                                         gpointer self)
{
	__lambda84_ ((LayoutsItemBoard*) self, _sender, drag);
}

static void
__lambda85_ (LayoutsItemBoard* self,
             GtkDragSource* source,
             GdkDrag* drag,
             gboolean delete_data)
{
	g_return_if_fail (source != NULL);
	g_return_if_fail (drag != NULL);
	layouts_item_board_drag_end (self);
}

static void
___lambda85__gtk_drag_source_drag_end (GtkDragSource* _sender,
                                       GdkDrag* drag,
                                       gboolean delete_data,
                                       gpointer self)
{
	__lambda85_ ((LayoutsItemBoard*) self, _sender, drag, delete_data);
}

static gboolean
__lambda86_ (LayoutsItemBoard* self,
             GtkDragSource* source,
             GdkDrag* drag,
             GdkDragCancelReason reason)
{
	gboolean result;
	g_return_val_if_fail (source != NULL, FALSE);
	g_return_val_if_fail (drag != NULL, FALSE);
	layouts_item_board_drag_end (self);
	result = FALSE;
	return result;
}

static gboolean
___lambda86__gtk_drag_source_drag_cancel (GtkDragSource* _sender,
                                          GdkDrag* drag,
                                          GdkDragCancelReason reason,
                                          gpointer self)
{
	gboolean result;
	result = __lambda86_ ((LayoutsItemBoard*) self, _sender, drag, reason);
	return result;
}

static void
layouts_item_board_build_drag_source (LayoutsItemBoard* self)
{
	GtkDragSource* drag_source = NULL;
	GtkDragSource* _tmp0_;
	AdwBin* _tmp1_;
	GtkEventController* _tmp2_;
	GeeHashMap* _tmp3_;
	gulong _tmp4_;
	GeeHashMap* _tmp5_;
	gulong _tmp6_;
	GeeHashMap* _tmp7_;
	gulong _tmp8_;
	GeeHashMap* _tmp9_;
	gulong _tmp10_;
	g_return_if_fail (self != NULL);
	_tmp0_ = gtk_drag_source_new ();
	drag_source = _tmp0_;
	gtk_drag_source_set_actions (drag_source, GDK_ACTION_MOVE);
	_tmp1_ = self->card_widget;
	_tmp2_ = _g_object_ref0 ((GtkEventController*) drag_source);
	gtk_widget_add_controller ((GtkWidget*) _tmp1_, _tmp2_);
	_tmp3_ = ((LayoutsItemBase*) self)->signals_map;
	_tmp4_ = g_signal_connect_object (drag_source, "prepare", (GCallback) ___lambda83__gtk_drag_source_prepare, self, 0);
	gee_abstract_map_set ((GeeAbstractMap*) _tmp3_, (gpointer) ((guintptr) _tmp4_), (GObject*) drag_source);
	_tmp5_ = ((LayoutsItemBase*) self)->signals_map;
	_tmp6_ = g_signal_connect_object (drag_source, "drag-begin", (GCallback) ___lambda84__gtk_drag_source_drag_begin, self, 0);
	gee_abstract_map_set ((GeeAbstractMap*) _tmp5_, (gpointer) ((guintptr) _tmp6_), (GObject*) drag_source);
	_tmp7_ = ((LayoutsItemBase*) self)->signals_map;
	_tmp8_ = g_signal_connect_object (drag_source, "drag-end", (GCallback) ___lambda85__gtk_drag_source_drag_end, self, 0);
	gee_abstract_map_set ((GeeAbstractMap*) _tmp7_, (gpointer) ((guintptr) _tmp8_), (GObject*) drag_source);
	_tmp9_ = ((LayoutsItemBase*) self)->signals_map;
	_tmp10_ = g_signal_connect_object (drag_source, "drag-cancel", (GCallback) ___lambda86__gtk_drag_source_drag_cancel, self, 0);
	gee_abstract_map_set ((GeeAbstractMap*) _tmp9_, (gpointer) ((guintptr) _tmp10_), (GObject*) drag_source);
	_g_object_unref0 (drag_source);
}

static gboolean
__lambda87_ (LayoutsItemBoard* self,
             GdkDrop* drop)
{
	GValue value = {0};
	GValue _tmp0_ = {0};
	GObject* _tmp8_;
	GObject* _tmp9_;
	gboolean _tmp10_;
	GError* _inner_error0_ = NULL;
	gboolean result;
	g_return_val_if_fail (drop != NULL, FALSE);
	g_value_init (&_tmp0_, gtk_widget_get_type ());
	value = _tmp0_;
	{
		GdkDrag* _tmp1_;
		GdkDrag* _tmp2_;
		GdkContentProvider* _tmp3_;
		GdkContentProvider* _tmp4_;
		_tmp1_ = gdk_drop_get_drag (drop);
		_tmp2_ = _tmp1_;
		_tmp3_ = gdk_drag_get_content (_tmp2_);
		_tmp4_ = _tmp3_;
		gdk_content_provider_get_value (_tmp4_, &value, &_inner_error0_);
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
	}
	goto __finally0;
	__catch0_g_error:
	{
		GError* e = NULL;
		GError* _tmp5_;
		const gchar* _tmp6_;
		e = _inner_error0_;
		_inner_error0_ = NULL;
		_tmp5_ = e;
		_tmp6_ = _tmp5_->message;
		g_debug ("ItemBoard.vala:1006: %s", _tmp6_);
		_g_error_free0 (e);
	}
	__finally0:
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		gboolean _tmp7_ = FALSE;
		G_IS_VALUE (&value) ? (g_value_unset (&value), NULL) : NULL;
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
		g_clear_error (&_inner_error0_);
		return _tmp7_;
	}
	_tmp8_ = g_value_dup_object (&value);
	_tmp9_ = _tmp8_;
	_tmp10_ = LAYOUTS_IS_ITEM_BOARD (_tmp9_);
	_g_object_unref0 (_tmp9_);
	if (_tmp10_) {
		LayoutsItemBoard* picked_widget = NULL;
		GValue _tmp11_;
		LayoutsItemBoard* _tmp12_;
		LayoutsItemBoard* _tmp13_;
		ObjectsItem* _tmp14_;
		ObjectsItem* _tmp15_;
		const gchar* _tmp16_;
		const gchar* _tmp17_;
		ObjectsItem* _tmp18_;
		ObjectsItem* _tmp19_;
		const gchar* _tmp20_;
		const gchar* _tmp21_;
		_tmp11_ = value;
		_tmp12_ = _g_object_ref0 (g_value_get_object (&_tmp11_));
		picked_widget = _tmp12_;
		_tmp13_ = picked_widget;
		_tmp14_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp13_);
		_tmp15_ = _tmp14_;
		_tmp16_ = objects_base_object_get_id ((ObjectsBaseObject*) _tmp15_);
		_tmp17_ = _tmp16_;
		_tmp18_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
		_tmp19_ = _tmp18_;
		_tmp20_ = objects_item_get_parent_id (_tmp19_);
		_tmp21_ = _tmp20_;
		if (g_strcmp0 (_tmp17_, _tmp21_) != 0) {
			result = TRUE;
			_g_object_unref0 (picked_widget);
			G_IS_VALUE (&value) ? (g_value_unset (&value), NULL) : NULL;
			return result;
		}
		_g_object_unref0 (picked_widget);
	}
	result = FALSE;
	G_IS_VALUE (&value) ? (g_value_unset (&value), NULL) : NULL;
	return result;
}

static gboolean
___lambda87__gtk_drop_target_accept (GtkDropTarget* _sender,
                                     GdkDrop* drop,
                                     gpointer self)
{
	gboolean result;
	result = __lambda87_ ((LayoutsItemBoard*) self, drop);
	return result;
}

static Block38Data*
block38_data_ref (Block38Data* _data38_)
{
	g_atomic_int_inc (&_data38_->_ref_count_);
	return _data38_;
}

static void
block38_data_unref (void * _userdata_)
{
	Block38Data* _data38_;
	_data38_ = (Block38Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data38_->_ref_count_)) {
		LayoutsItemBoard* self;
		self = _data38_->self;
		_g_free0 (_data38_->old_section_id);
		_g_free0 (_data38_->old_project_id);
		_g_free0 (_data38_->old_parent_id);
		_g_object_unref0 (_data38_->picked_item);
		_g_object_unref0 (_data38_->picked_widget);
		_g_object_unref0 (self);
		g_slice_free (Block38Data, _data38_);
	}
}

static void
____lambda89_ (Block38Data* _data38_,
               GObject* obj,
               GAsyncResult* res)
{
	LayoutsItemBoard* self;
	ServicesTodoist* _tmp0_;
	ServicesTodoist* _tmp1_;
	HttpResponse* _tmp2_;
	HttpResponse* _tmp3_;
	gboolean _tmp4_;
	gboolean _tmp5_;
	gboolean _tmp6_;
	self = _data38_->self;
	g_return_if_fail (res != NULL);
	_tmp0_ = services_todoist_get_default ();
	_tmp1_ = _tmp0_;
	_tmp2_ = services_todoist_move_item_finish (_tmp1_, res);
	_tmp3_ = _tmp2_;
	_tmp4_ = http_response_get_status (_tmp3_);
	_tmp5_ = _tmp4_;
	_tmp6_ = _tmp5_;
	_http_response_unref0 (_tmp3_);
	_g_object_unref0 (_tmp1_);
	if (_tmp6_) {
		ServicesStore* _tmp7_;
		LayoutsItemBase* _tmp8_;
		ObjectsItem* _tmp9_;
		ObjectsItem* _tmp10_;
		ServicesEventBus* _tmp11_;
		ServicesEventBus* _tmp12_;
		ObjectsItem* _tmp13_;
		const gchar* _tmp14_;
		const gchar* _tmp15_;
		const gchar* _tmp16_;
		_tmp7_ = services_store_instance ();
		_tmp8_ = _data38_->picked_widget;
		_tmp9_ = layouts_item_base_get_item (_tmp8_);
		_tmp10_ = _tmp9_;
		services_store_update_item (_tmp7_, _tmp10_, "");
		_tmp11_ = services_event_bus_get_default ();
		_tmp12_ = _tmp11_;
		_tmp13_ = _data38_->picked_item;
		_tmp14_ = _data38_->old_project_id;
		_tmp15_ = _data38_->old_section_id;
		_tmp16_ = _data38_->old_parent_id;
		g_signal_emit_by_name (_tmp12_, "item-moved", _tmp13_, _tmp14_, _tmp15_, _tmp16_);
		_g_object_unref0 (_tmp12_);
	}
}

static void
_____lambda89__gasync_ready_callback (GObject* source_object,
                                      GAsyncResult* res,
                                      gpointer self)
{
	____lambda89_ (self, source_object, res);
	block38_data_unref (self);
}

static Block39Data*
block39_data_ref (Block39Data* _data39_)
{
	g_atomic_int_inc (&_data39_->_ref_count_);
	return _data39_;
}

static void
block39_data_unref (void * _userdata_)
{
	Block39Data* _data39_;
	_data39_ = (Block39Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data39_->_ref_count_)) {
		LayoutsItemBoard* self;
		self = _data39_->_data38_->self;
		_g_object_unref0 (_data39_->caldav_client);
		block38_data_unref (_data39_->_data38_);
		_data39_->_data38_ = NULL;
		g_slice_free (Block39Data, _data39_);
	}
}

static void
_____lambda90_ (Block39Data* _data39_,
                GObject* obj,
                GAsyncResult* res)
{
	Block38Data* _data38_;
	LayoutsItemBoard* self;
	ServicesCalDAVCalDAVClient* _tmp0_;
	HttpResponse* _tmp1_;
	HttpResponse* _tmp2_;
	gboolean _tmp3_;
	gboolean _tmp4_;
	gboolean _tmp5_;
	_data38_ = _data39_->_data38_;
	self = _data38_->self;
	g_return_if_fail (res != NULL);
	_tmp0_ = _data39_->caldav_client;
	_tmp1_ = services_cal_dav_cal_dav_client_add_item_finish (_tmp0_, res);
	_tmp2_ = _tmp1_;
	_tmp3_ = http_response_get_status (_tmp2_);
	_tmp4_ = _tmp3_;
	_tmp5_ = _tmp4_;
	_http_response_unref0 (_tmp2_);
	if (_tmp5_) {
		ServicesStore* _tmp6_;
		LayoutsItemBase* _tmp7_;
		ObjectsItem* _tmp8_;
		ObjectsItem* _tmp9_;
		ServicesEventBus* _tmp10_;
		ServicesEventBus* _tmp11_;
		ObjectsItem* _tmp12_;
		const gchar* _tmp13_;
		const gchar* _tmp14_;
		const gchar* _tmp15_;
		_tmp6_ = services_store_instance ();
		_tmp7_ = _data38_->picked_widget;
		_tmp8_ = layouts_item_base_get_item (_tmp7_);
		_tmp9_ = _tmp8_;
		services_store_update_item (_tmp6_, _tmp9_, "");
		_tmp10_ = services_event_bus_get_default ();
		_tmp11_ = _tmp10_;
		_tmp12_ = _data38_->picked_item;
		_tmp13_ = _data38_->old_project_id;
		_tmp14_ = _data38_->old_section_id;
		_tmp15_ = _data38_->old_parent_id;
		g_signal_emit_by_name (_tmp11_, "item-moved", _tmp12_, _tmp13_, _tmp14_, _tmp15_);
		_g_object_unref0 (_tmp11_);
	}
}

static void
______lambda90__gasync_ready_callback (GObject* source_object,
                                       GAsyncResult* res,
                                       gpointer self)
{
	_____lambda90_ (self, source_object, res);
	block39_data_unref (self);
}

static gboolean
__lambda88_ (LayoutsItemBoard* self,
             GValue* value,
             gdouble x,
             gdouble y)
{
	Block38Data* _data38_;
	GValue _tmp0_;
	LayoutsItemBase* _tmp1_;
	LayoutsItemBoard* target_widget = NULL;
	LayoutsItemBoard* _tmp2_;
	LayoutsItemBase* _tmp3_;
	ObjectsItem* _tmp4_;
	ObjectsItem* _tmp5_;
	ObjectsItem* _tmp6_;
	ObjectsItem* target_item = NULL;
	LayoutsItemBoard* _tmp7_;
	ObjectsItem* _tmp8_;
	ObjectsItem* _tmp9_;
	ObjectsItem* _tmp10_;
	ServicesEventBus* _tmp11_;
	ServicesEventBus* _tmp12_;
	ObjectsItem* _tmp13_;
	ObjectsItem* _tmp14_;
	const gchar* _tmp15_;
	const gchar* _tmp16_;
	gboolean _tmp17_ = FALSE;
	LayoutsItemBase* _tmp18_;
	LayoutsItemBoard* _tmp19_;
	ObjectsItem* _tmp21_;
	const gchar* _tmp22_;
	const gchar* _tmp23_;
	gchar* _tmp24_;
	ObjectsItem* _tmp25_;
	const gchar* _tmp26_;
	const gchar* _tmp27_;
	gchar* _tmp28_;
	ObjectsItem* _tmp29_;
	const gchar* _tmp30_;
	const gchar* _tmp31_;
	gchar* _tmp32_;
	ObjectsItem* _tmp33_;
	ObjectsItem* _tmp34_;
	ObjectsItem* _tmp35_;
	const gchar* _tmp36_;
	const gchar* _tmp37_;
	ObjectsItem* _tmp38_;
	ObjectsProject* _tmp39_;
	ObjectsProject* _tmp40_;
	SourceType _tmp41_;
	SourceType _tmp42_;
	gboolean result;
	g_return_val_if_fail (value != NULL, FALSE);
	_data38_ = g_slice_new0 (Block38Data);
	_data38_->_ref_count_ = 1;
	_data38_->self = g_object_ref (self);
	_tmp0_ = *value;
	_tmp1_ = _g_object_ref0 (g_value_get_object (&_tmp0_));
	_data38_->picked_widget = _tmp1_;
	_tmp2_ = _g_object_ref0 (self);
	target_widget = _tmp2_;
	_tmp3_ = _data38_->picked_widget;
	_tmp4_ = layouts_item_base_get_item (_tmp3_);
	_tmp5_ = _tmp4_;
	_tmp6_ = _g_object_ref0 (_tmp5_);
	_data38_->picked_item = _tmp6_;
	_tmp7_ = target_widget;
	_tmp8_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp7_);
	_tmp9_ = _tmp8_;
	_tmp10_ = _g_object_ref0 (_tmp9_);
	target_item = _tmp10_;
	_tmp11_ = services_event_bus_get_default ();
	_tmp12_ = _tmp11_;
	_tmp13_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp14_ = _tmp13_;
	_tmp15_ = objects_item_get_project_id (_tmp14_);
	_tmp16_ = _tmp15_;
	g_signal_emit_by_name (_tmp12_, "drag-items-end", _tmp16_);
	_g_object_unref0 (_tmp12_);
	_tmp18_ = _data38_->picked_widget;
	_tmp19_ = target_widget;
	if (_tmp18_ == G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, LAYOUTS_TYPE_ITEM_BASE, LayoutsItemBase)) {
		_tmp17_ = TRUE;
	} else {
		LayoutsItemBoard* _tmp20_;
		_tmp20_ = target_widget;
		_tmp17_ = _tmp20_ == NULL;
	}
	if (_tmp17_) {
		result = FALSE;
		_g_object_unref0 (target_item);
		_g_object_unref0 (target_widget);
		block38_data_unref (_data38_);
		_data38_ = NULL;
		return result;
	}
	_tmp21_ = _data38_->picked_item;
	_tmp22_ = objects_item_get_parent_id (_tmp21_);
	_tmp23_ = _tmp22_;
	_tmp24_ = g_strdup (_tmp23_);
	_data38_->old_parent_id = _tmp24_;
	_tmp25_ = _data38_->picked_item;
	_tmp26_ = objects_item_get_project_id (_tmp25_);
	_tmp27_ = _tmp26_;
	_tmp28_ = g_strdup (_tmp27_);
	_data38_->old_project_id = _tmp28_;
	_tmp29_ = _data38_->picked_item;
	_tmp30_ = objects_item_get_section_id (_tmp29_);
	_tmp31_ = _tmp30_;
	_tmp32_ = g_strdup (_tmp31_);
	_data38_->old_section_id = _tmp32_;
	_tmp33_ = _data38_->picked_item;
	objects_item_set_section_id (_tmp33_, "");
	_tmp34_ = _data38_->picked_item;
	_tmp35_ = target_item;
	_tmp36_ = objects_base_object_get_id ((ObjectsBaseObject*) _tmp35_);
	_tmp37_ = _tmp36_;
	objects_item_set_parent_id (_tmp34_, _tmp37_);
	_tmp38_ = _data38_->picked_item;
	_tmp39_ = objects_item_get_project (_tmp38_);
	_tmp40_ = _tmp39_;
	_tmp41_ = objects_project_get_source_type (_tmp40_);
	_tmp42_ = _tmp41_;
	if (_tmp42_ == SOURCE_TYPE_LOCAL) {
		ServicesStore* _tmp43_;
		ObjectsItem* _tmp44_;
		ServicesEventBus* _tmp45_;
		ServicesEventBus* _tmp46_;
		ObjectsItem* _tmp47_;
		const gchar* _tmp48_;
		const gchar* _tmp49_;
		const gchar* _tmp50_;
		_tmp43_ = services_store_instance ();
		_tmp44_ = _data38_->picked_item;
		services_store_update_item (_tmp43_, _tmp44_, "");
		_tmp45_ = services_event_bus_get_default ();
		_tmp46_ = _tmp45_;
		_tmp47_ = _data38_->picked_item;
		_tmp48_ = _data38_->old_project_id;
		_tmp49_ = _data38_->old_section_id;
		_tmp50_ = _data38_->old_parent_id;
		g_signal_emit_by_name (_tmp46_, "item-moved", _tmp47_, _tmp48_, _tmp49_, _tmp50_);
		_g_object_unref0 (_tmp46_);
	} else {
		ObjectsItem* _tmp51_;
		ObjectsProject* _tmp52_;
		ObjectsProject* _tmp53_;
		SourceType _tmp54_;
		SourceType _tmp55_;
		_tmp51_ = _data38_->picked_item;
		_tmp52_ = objects_item_get_project (_tmp51_);
		_tmp53_ = _tmp52_;
		_tmp54_ = objects_project_get_source_type (_tmp53_);
		_tmp55_ = _tmp54_;
		if (_tmp55_ == SOURCE_TYPE_TODOIST) {
			ServicesTodoist* _tmp56_;
			ServicesTodoist* _tmp57_;
			ObjectsItem* _tmp58_;
			ObjectsItem* _tmp59_;
			const gchar* _tmp60_;
			const gchar* _tmp61_;
			_tmp56_ = services_todoist_get_default ();
			_tmp57_ = _tmp56_;
			_tmp58_ = _data38_->picked_item;
			_tmp59_ = _data38_->picked_item;
			_tmp60_ = objects_item_get_parent_id (_tmp59_);
			_tmp61_ = _tmp60_;
			services_todoist_move_item (_tmp57_, _tmp58_, "parent_id", _tmp61_, _____lambda89__gasync_ready_callback, block38_data_ref (_data38_));
			_g_object_unref0 (_tmp57_);
		} else {
			ObjectsItem* _tmp62_;
			ObjectsProject* _tmp63_;
			ObjectsProject* _tmp64_;
			SourceType _tmp65_;
			SourceType _tmp66_;
			_tmp62_ = _data38_->picked_item;
			_tmp63_ = objects_item_get_project (_tmp62_);
			_tmp64_ = _tmp63_;
			_tmp65_ = objects_project_get_source_type (_tmp64_);
			_tmp66_ = _tmp65_;
			if (_tmp66_ == SOURCE_TYPE_CALDAV) {
				Block39Data* _data39_;
				ServicesCalDAVCore* _tmp67_;
				ServicesCalDAVCore* _tmp68_;
				ObjectsItem* _tmp69_;
				ObjectsProject* _tmp70_;
				ObjectsProject* _tmp71_;
				ObjectsSource* _tmp72_;
				ObjectsSource* _tmp73_;
				ServicesCalDAVCalDAVClient* _tmp74_;
				ServicesCalDAVCalDAVClient* _tmp75_;
				ServicesCalDAVCalDAVClient* _tmp76_;
				ObjectsItem* _tmp77_;
				_data39_ = g_slice_new0 (Block39Data);
				_data39_->_ref_count_ = 1;
				_data39_->_data38_ = block38_data_ref (_data38_);
				_tmp67_ = services_cal_dav_core_get_default ();
				_tmp68_ = _tmp67_;
				_tmp69_ = _data38_->picked_item;
				_tmp70_ = objects_item_get_project (_tmp69_);
				_tmp71_ = _tmp70_;
				_tmp72_ = objects_project_get_source (_tmp71_);
				_tmp73_ = _tmp72_;
				_tmp74_ = services_cal_dav_core_get_client (_tmp68_, _tmp73_);
				_tmp75_ = _tmp74_;
				_g_object_unref0 (_tmp68_);
				_data39_->caldav_client = _tmp75_;
				_tmp76_ = _data39_->caldav_client;
				_tmp77_ = _data38_->picked_item;
				services_cal_dav_cal_dav_client_add_item (_tmp76_, _tmp77_, TRUE, ______lambda90__gasync_ready_callback, block39_data_ref (_data39_));
				block39_data_unref (_data39_);
				_data39_ = NULL;
			}
		}
	}
	result = TRUE;
	_g_object_unref0 (target_item);
	_g_object_unref0 (target_widget);
	block38_data_unref (_data38_);
	_data38_ = NULL;
	return result;
}

static gboolean
___lambda88__gtk_drop_target_drop (GtkDropTarget* _sender,
                                   GValue* value,
                                   gdouble x,
                                   gdouble y,
                                   gpointer self)
{
	gboolean result;
	result = __lambda88_ ((LayoutsItemBoard*) self, value, x, y);
	return result;
}

static void
layouts_item_board_build_drop_target (LayoutsItemBoard* self)
{
	GtkDropTarget* drop_target = NULL;
	GtkDropTarget* _tmp0_;
	AdwBin* _tmp1_;
	GtkEventController* _tmp2_;
	GeeHashMap* _tmp3_;
	gulong _tmp4_;
	GeeHashMap* _tmp5_;
	gulong _tmp6_;
	g_return_if_fail (self != NULL);
	_tmp0_ = gtk_drop_target_new (LAYOUTS_TYPE_ITEM_BOARD, GDK_ACTION_MOVE);
	drop_target = _tmp0_;
	_tmp1_ = self->card_widget;
	_tmp2_ = _g_object_ref0 ((GtkEventController*) drop_target);
	gtk_widget_add_controller ((GtkWidget*) _tmp1_, _tmp2_);
	_tmp3_ = ((LayoutsItemBase*) self)->signals_map;
	_tmp4_ = g_signal_connect_object (drop_target, "accept", (GCallback) ___lambda87__gtk_drop_target_accept, self, 0);
	gee_abstract_map_set ((GeeAbstractMap*) _tmp3_, (gpointer) ((guintptr) _tmp4_), (GObject*) drop_target);
	_tmp5_ = ((LayoutsItemBase*) self)->signals_map;
	_tmp6_ = g_signal_connect_object (drop_target, "drop", (GCallback) ___lambda88__gtk_drop_target_drop, self, 0);
	gee_abstract_map_set ((GeeAbstractMap*) _tmp5_, (gpointer) ((guintptr) _tmp6_), (GObject*) drop_target);
	_g_object_unref0 (drop_target);
}

static gboolean
__lambda91_ (LayoutsItemBoard* self,
             GValue* value,
             gdouble x,
             gdouble y)
{
	DialogsQuickAdd* dialog = NULL;
	DialogsQuickAdd* _tmp0_;
	ObjectsItem* _tmp1_;
	ObjectsItem* _tmp2_;
	Planify* _tmp3_;
	MainWindow* _tmp4_;
	gboolean result;
	g_return_val_if_fail (value != NULL, FALSE);
	_tmp0_ = dialogs_quick_add_new ();
	g_object_ref_sink (_tmp0_);
	dialog = _tmp0_;
	_tmp1_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp2_ = _tmp1_;
	dialogs_quick_add_for_base_object (dialog, (ObjectsBaseObject*) _tmp2_);
	_tmp3_ = planify__instance;
	_tmp4_ = _tmp3_->main_window;
	adw_dialog_present ((AdwDialog*) dialog, (GtkWidget*) _tmp4_);
	result = TRUE;
	_g_object_unref0 (dialog);
	return result;
}

static gboolean
___lambda91__gtk_drop_target_drop (GtkDropTarget* _sender,
                                   GValue* value,
                                   gdouble x,
                                   gdouble y,
                                   gpointer self)
{
	gboolean result;
	result = __lambda91_ ((LayoutsItemBoard*) self, value, x, y);
	return result;
}

static gboolean
__lambda92_ (LayoutsItemBoard* self,
             GValue* value,
             gdouble x,
             gdouble y)
{
	DialogsQuickAdd* dialog = NULL;
	DialogsQuickAdd* _tmp0_ = NULL;
	ObjectsItem* _tmp1_;
	ObjectsItem* _tmp2_;
	const gchar* _tmp3_;
	const gchar* _tmp4_;
	DialogsQuickAdd* _tmp15_;
	Planify* _tmp16_;
	MainWindow* _tmp17_;
	gboolean result;
	g_return_val_if_fail (value != NULL, FALSE);
	_tmp0_ = dialogs_quick_add_new ();
	dialogs_quick_add_set_position (_tmp0_, gtk_list_box_row_get_index ((GtkListBoxRow*) self));
	g_object_ref_sink (_tmp0_);
	dialog = _tmp0_;
	_tmp1_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp2_ = _tmp1_;
	_tmp3_ = objects_item_get_section_id (_tmp2_);
	_tmp4_ = _tmp3_;
	if (g_strcmp0 (_tmp4_, "") != 0) {
		DialogsQuickAdd* _tmp5_;
		ObjectsItem* _tmp6_;
		ObjectsItem* _tmp7_;
		ObjectsSection* _tmp8_;
		ObjectsSection* _tmp9_;
		_tmp5_ = dialog;
		_tmp6_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
		_tmp7_ = _tmp6_;
		_tmp8_ = objects_item_get_section (_tmp7_);
		_tmp9_ = _tmp8_;
		dialogs_quick_add_for_base_object (_tmp5_, (ObjectsBaseObject*) _tmp9_);
	} else {
		DialogsQuickAdd* _tmp10_;
		ObjectsItem* _tmp11_;
		ObjectsItem* _tmp12_;
		ObjectsProject* _tmp13_;
		ObjectsProject* _tmp14_;
		_tmp10_ = dialog;
		_tmp11_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
		_tmp12_ = _tmp11_;
		_tmp13_ = objects_item_get_project (_tmp12_);
		_tmp14_ = _tmp13_;
		dialogs_quick_add_for_base_object (_tmp10_, (ObjectsBaseObject*) _tmp14_);
	}
	_tmp15_ = dialog;
	_tmp16_ = planify__instance;
	_tmp17_ = _tmp16_->main_window;
	adw_dialog_present ((AdwDialog*) _tmp15_, (GtkWidget*) _tmp17_);
	result = TRUE;
	_g_object_unref0 (dialog);
	return result;
}

static gboolean
___lambda92__gtk_drop_target_drop (GtkDropTarget* _sender,
                                   GValue* value,
                                   gdouble x,
                                   gdouble y,
                                   gpointer self)
{
	gboolean result;
	result = __lambda92_ ((LayoutsItemBoard*) self, value, x, y);
	return result;
}

static void
layouts_item_board_build_drop_magic_button_target (LayoutsItemBoard* self)
{
	GtkDropTarget* drop_magic_button_target = NULL;
	GtkDropTarget* _tmp0_;
	AdwBin* _tmp1_;
	GtkEventController* _tmp2_;
	GeeHashMap* _tmp3_;
	gulong _tmp4_;
	GtkDropTarget* drop_order_magic_button_target = NULL;
	GtkDropTarget* _tmp5_;
	GtkGrid* _tmp6_;
	GtkEventController* _tmp7_;
	GeeHashMap* _tmp8_;
	gulong _tmp9_;
	g_return_if_fail (self != NULL);
	_tmp0_ = gtk_drop_target_new (WIDGETS_TYPE_MAGIC_BUTTON, GDK_ACTION_MOVE);
	drop_magic_button_target = _tmp0_;
	_tmp1_ = self->card_widget;
	_tmp2_ = _g_object_ref0 ((GtkEventController*) drop_magic_button_target);
	gtk_widget_add_controller ((GtkWidget*) _tmp1_, _tmp2_);
	_tmp3_ = ((LayoutsItemBase*) self)->signals_map;
	_tmp4_ = g_signal_connect_object (drop_magic_button_target, "drop", (GCallback) ___lambda91__gtk_drop_target_drop, self, 0);
	gee_abstract_map_set ((GeeAbstractMap*) _tmp3_, (gpointer) ((guintptr) _tmp4_), (GObject*) drop_magic_button_target);
	_tmp5_ = gtk_drop_target_new (WIDGETS_TYPE_MAGIC_BUTTON, GDK_ACTION_MOVE);
	drop_order_magic_button_target = _tmp5_;
	_tmp6_ = self->priv->motion_top_grid;
	_tmp7_ = _g_object_ref0 ((GtkEventController*) drop_order_magic_button_target);
	gtk_widget_add_controller ((GtkWidget*) _tmp6_, _tmp7_);
	_tmp8_ = ((LayoutsItemBase*) self)->signals_map;
	_tmp9_ = g_signal_connect_object (drop_order_magic_button_target, "drop", (GCallback) ___lambda92__gtk_drop_target_drop, self, 0);
	gee_abstract_map_set ((GeeAbstractMap*) _tmp8_, (gpointer) ((guintptr) _tmp9_), (GObject*) drop_order_magic_button_target);
	_g_object_unref0 (drop_order_magic_button_target);
	_g_object_unref0 (drop_magic_button_target);
}

static Block40Data*
block40_data_ref (Block40Data* _data40_)
{
	g_atomic_int_inc (&_data40_->_ref_count_);
	return _data40_;
}

static void
block40_data_unref (void * _userdata_)
{
	Block40Data* _data40_;
	_data40_ = (Block40Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data40_->_ref_count_)) {
		LayoutsItemBoard* self;
		self = _data40_->self;
		_g_object_unref0 (_data40_->picked_widget);
		_g_object_unref0 (self);
		g_slice_free (Block40Data, _data40_);
	}
}

static void
____lambda94_ (Block40Data* _data40_,
               GObject* obj,
               GAsyncResult* res)
{
	LayoutsItemBoard* self;
	ServicesTodoist* _tmp0_;
	ServicesTodoist* _tmp1_;
	HttpResponse* _tmp2_;
	HttpResponse* _tmp3_;
	gboolean _tmp4_;
	gboolean _tmp5_;
	gboolean _tmp6_;
	self = _data40_->self;
	g_return_if_fail (res != NULL);
	_tmp0_ = services_todoist_get_default ();
	_tmp1_ = _tmp0_;
	_tmp2_ = services_todoist_move_item_finish (_tmp1_, res);
	_tmp3_ = _tmp2_;
	_tmp4_ = http_response_get_status (_tmp3_);
	_tmp5_ = _tmp4_;
	_tmp6_ = _tmp5_;
	_http_response_unref0 (_tmp3_);
	_g_object_unref0 (_tmp1_);
	if (_tmp6_) {
		ServicesStore* _tmp7_;
		LayoutsItemBoard* _tmp8_;
		ObjectsItem* _tmp9_;
		ObjectsItem* _tmp10_;
		_tmp7_ = services_store_instance ();
		_tmp8_ = _data40_->picked_widget;
		_tmp9_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp8_);
		_tmp10_ = _tmp9_;
		services_store_update_item (_tmp7_, _tmp10_, "");
	}
}

static void
_____lambda94__gasync_ready_callback (GObject* source_object,
                                      GAsyncResult* res,
                                      gpointer self)
{
	____lambda94_ (self, source_object, res);
	block40_data_unref (self);
}

static gboolean
__lambda93_ (LayoutsItemBoard* self,
             GValue* value,
             gdouble x,
             gdouble y)
{
	Block40Data* _data40_;
	GValue _tmp0_;
	LayoutsItemBoard* _tmp1_;
	LayoutsItemBoard* target_widget = NULL;
	LayoutsItemBoard* _tmp2_;
	LayoutsItemBoard* _tmp3_;
	LayoutsItemBoard* _tmp4_;
	ServicesEventBus* _tmp5_;
	ServicesEventBus* _tmp6_;
	ObjectsItem* _tmp7_;
	ObjectsItem* _tmp8_;
	const gchar* _tmp9_;
	const gchar* _tmp10_;
	gboolean _tmp11_ = FALSE;
	LayoutsItemBoard* _tmp12_;
	LayoutsItemBoard* _tmp13_;
	ObjectsItem* _tmp15_;
	ObjectsItem* _tmp16_;
	ObjectsProject* _tmp17_;
	ObjectsProject* _tmp18_;
	SortOrderType _tmp19_;
	SortOrderType _tmp20_;
	gchar* old_section_id = NULL;
	LayoutsItemBoard* _tmp35_;
	ObjectsItem* _tmp36_;
	ObjectsItem* _tmp37_;
	const gchar* _tmp38_;
	const gchar* _tmp39_;
	gchar* _tmp40_;
	gchar* old_parent_id = NULL;
	LayoutsItemBoard* _tmp41_;
	ObjectsItem* _tmp42_;
	ObjectsItem* _tmp43_;
	const gchar* _tmp44_;
	const gchar* _tmp45_;
	gchar* _tmp46_;
	gboolean _tmp47_ = FALSE;
	gboolean _tmp48_ = FALSE;
	LayoutsItemBoard* _tmp49_;
	ObjectsItem* _tmp50_;
	ObjectsItem* _tmp51_;
	const gchar* _tmp52_;
	const gchar* _tmp53_;
	LayoutsItemBoard* _tmp54_;
	ObjectsItem* _tmp55_;
	ObjectsItem* _tmp56_;
	const gchar* _tmp57_;
	const gchar* _tmp58_;
	GtkListBox* source_list = NULL;
	LayoutsItemBoard* _tmp189_;
	GtkWidget* _tmp190_;
	GtkWidget* _tmp191_;
	GtkListBox* _tmp192_;
	GtkListBox* _tmp193_;
	LayoutsItemBoard* _tmp194_;
	GtkListBox* target_list = NULL;
	LayoutsItemBoard* _tmp195_;
	GtkWidget* _tmp196_;
	GtkWidget* _tmp197_;
	GtkListBox* _tmp198_;
	gint new_index = 0;
	LayoutsItemBoard* _tmp199_;
	GtkListBox* _tmp200_;
	LayoutsItemBoard* _tmp201_;
	ServicesEventBus* _tmp202_;
	ServicesEventBus* _tmp203_;
	LayoutsItemBoard* _tmp204_;
	const gchar* _tmp205_;
	const gchar* _tmp206_;
	GtkListBox* _tmp207_;
	LayoutsItemBoard* _tmp208_;
	const gchar* _tmp209_;
	LayoutsItemBoard* _tmp210_;
	ObjectsItem* _tmp211_;
	ObjectsItem* _tmp212_;
	const gchar* _tmp213_;
	const gchar* _tmp214_;
	LayoutsItemBoard* _tmp229_;
	ObjectsItem* _tmp230_;
	ObjectsItem* _tmp231_;
	ObjectsProject* _tmp232_;
	ObjectsProject* _tmp233_;
	gboolean result;
	g_return_val_if_fail (value != NULL, FALSE);
	_data40_ = g_slice_new0 (Block40Data);
	_data40_->_ref_count_ = 1;
	_data40_->self = g_object_ref (self);
	_tmp0_ = *value;
	_tmp1_ = _g_object_ref0 (g_value_get_object (&_tmp0_));
	_data40_->picked_widget = _tmp1_;
	_tmp2_ = _g_object_ref0 (self);
	target_widget = _tmp2_;
	_tmp3_ = _data40_->picked_widget;
	layouts_item_board_drag_end (_tmp3_);
	_tmp4_ = target_widget;
	layouts_item_board_drag_end (_tmp4_);
	_tmp5_ = services_event_bus_get_default ();
	_tmp6_ = _tmp5_;
	_tmp7_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp8_ = _tmp7_;
	_tmp9_ = objects_item_get_project_id (_tmp8_);
	_tmp10_ = _tmp9_;
	g_signal_emit_by_name (_tmp6_, "drag-items-end", _tmp10_);
	_g_object_unref0 (_tmp6_);
	_tmp12_ = _data40_->picked_widget;
	_tmp13_ = target_widget;
	if (_tmp12_ == _tmp13_) {
		_tmp11_ = TRUE;
	} else {
		LayoutsItemBoard* _tmp14_;
		_tmp14_ = target_widget;
		_tmp11_ = _tmp14_ == NULL;
	}
	if (_tmp11_) {
		result = FALSE;
		_g_object_unref0 (target_widget);
		block40_data_unref (_data40_);
		_data40_ = NULL;
		return result;
	}
	_tmp15_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp16_ = _tmp15_;
	_tmp17_ = objects_item_get_project (_tmp16_);
	_tmp18_ = _tmp17_;
	_tmp19_ = objects_project_get_sort_order (_tmp18_);
	_tmp20_ = _tmp19_;
	if (_tmp20_ != 0) {
		ObjectsItem* _tmp21_;
		ObjectsItem* _tmp22_;
		ObjectsProject* _tmp23_;
		ObjectsProject* _tmp24_;
		ServicesEventBus* _tmp25_;
		ServicesEventBus* _tmp26_;
		Util* _tmp27_;
		Util* _tmp28_;
		AdwToast* _tmp29_;
		AdwToast* _tmp30_;
		ObjectsItem* _tmp31_;
		ObjectsItem* _tmp32_;
		ObjectsProject* _tmp33_;
		ObjectsProject* _tmp34_;
		_tmp21_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
		_tmp22_ = _tmp21_;
		_tmp23_ = objects_item_get_project (_tmp22_);
		_tmp24_ = _tmp23_;
		objects_project_set_sort_order (_tmp24_, 0);
		_tmp25_ = services_event_bus_get_default ();
		_tmp26_ = _tmp25_;
		_tmp27_ = util_get_default ();
		_tmp28_ = _tmp27_;
		_tmp29_ = util_create_toast (_tmp28_, _ ("Order changed to 'Custom sort order'"), (guint) 2, ADW_TOAST_PRIORITY_NORMAL);
		_tmp30_ = _tmp29_;
		g_signal_emit_by_name (_tmp26_, "send-toast", _tmp30_);
		_g_object_unref0 (_tmp30_);
		_g_object_unref0 (_tmp28_);
		_g_object_unref0 (_tmp26_);
		_tmp31_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
		_tmp32_ = _tmp31_;
		_tmp33_ = objects_item_get_project (_tmp32_);
		_tmp34_ = _tmp33_;
		objects_project_update_local (_tmp34_);
	}
	_tmp35_ = _data40_->picked_widget;
	_tmp36_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp35_);
	_tmp37_ = _tmp36_;
	_tmp38_ = objects_item_get_section_id (_tmp37_);
	_tmp39_ = _tmp38_;
	_tmp40_ = g_strdup (_tmp39_);
	old_section_id = _tmp40_;
	_tmp41_ = _data40_->picked_widget;
	_tmp42_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp41_);
	_tmp43_ = _tmp42_;
	_tmp44_ = objects_item_get_parent_id (_tmp43_);
	_tmp45_ = _tmp44_;
	_tmp46_ = g_strdup (_tmp45_);
	old_parent_id = _tmp46_;
	_tmp49_ = _data40_->picked_widget;
	_tmp50_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp49_);
	_tmp51_ = _tmp50_;
	_tmp52_ = objects_item_get_project_id (_tmp51_);
	_tmp53_ = _tmp52_;
	_tmp54_ = target_widget;
	_tmp55_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp54_);
	_tmp56_ = _tmp55_;
	_tmp57_ = objects_item_get_project_id (_tmp56_);
	_tmp58_ = _tmp57_;
	if (g_strcmp0 (_tmp53_, _tmp58_) != 0) {
		_tmp48_ = TRUE;
	} else {
		LayoutsItemBoard* _tmp59_;
		ObjectsItem* _tmp60_;
		ObjectsItem* _tmp61_;
		const gchar* _tmp62_;
		const gchar* _tmp63_;
		LayoutsItemBoard* _tmp64_;
		ObjectsItem* _tmp65_;
		ObjectsItem* _tmp66_;
		const gchar* _tmp67_;
		const gchar* _tmp68_;
		_tmp59_ = _data40_->picked_widget;
		_tmp60_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp59_);
		_tmp61_ = _tmp60_;
		_tmp62_ = objects_item_get_section_id (_tmp61_);
		_tmp63_ = _tmp62_;
		_tmp64_ = target_widget;
		_tmp65_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp64_);
		_tmp66_ = _tmp65_;
		_tmp67_ = objects_item_get_section_id (_tmp66_);
		_tmp68_ = _tmp67_;
		_tmp48_ = g_strcmp0 (_tmp63_, _tmp68_) != 0;
	}
	if (_tmp48_) {
		_tmp47_ = TRUE;
	} else {
		LayoutsItemBoard* _tmp69_;
		ObjectsItem* _tmp70_;
		ObjectsItem* _tmp71_;
		const gchar* _tmp72_;
		const gchar* _tmp73_;
		LayoutsItemBoard* _tmp74_;
		ObjectsItem* _tmp75_;
		ObjectsItem* _tmp76_;
		const gchar* _tmp77_;
		const gchar* _tmp78_;
		_tmp69_ = _data40_->picked_widget;
		_tmp70_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp69_);
		_tmp71_ = _tmp70_;
		_tmp72_ = objects_item_get_parent_id (_tmp71_);
		_tmp73_ = _tmp72_;
		_tmp74_ = target_widget;
		_tmp75_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp74_);
		_tmp76_ = _tmp75_;
		_tmp77_ = objects_item_get_parent_id (_tmp76_);
		_tmp78_ = _tmp77_;
		_tmp47_ = g_strcmp0 (_tmp73_, _tmp78_) != 0;
	}
	if (_tmp47_) {
		LayoutsItemBoard* _tmp79_;
		ObjectsItem* _tmp80_;
		ObjectsItem* _tmp81_;
		const gchar* _tmp82_;
		const gchar* _tmp83_;
		LayoutsItemBoard* _tmp84_;
		ObjectsItem* _tmp85_;
		ObjectsItem* _tmp86_;
		const gchar* _tmp87_;
		const gchar* _tmp88_;
		LayoutsItemBoard* _tmp97_;
		ObjectsItem* _tmp98_;
		ObjectsItem* _tmp99_;
		const gchar* _tmp100_;
		const gchar* _tmp101_;
		LayoutsItemBoard* _tmp102_;
		ObjectsItem* _tmp103_;
		ObjectsItem* _tmp104_;
		const gchar* _tmp105_;
		const gchar* _tmp106_;
		LayoutsItemBoard* _tmp115_;
		ObjectsItem* _tmp116_;
		ObjectsItem* _tmp117_;
		const gchar* _tmp118_;
		const gchar* _tmp119_;
		LayoutsItemBoard* _tmp120_;
		ObjectsItem* _tmp121_;
		ObjectsItem* _tmp122_;
		const gchar* _tmp123_;
		const gchar* _tmp124_;
		LayoutsItemBoard* _tmp133_;
		ObjectsItem* _tmp134_;
		ObjectsItem* _tmp135_;
		ObjectsProject* _tmp136_;
		ObjectsProject* _tmp137_;
		SourceType _tmp138_;
		SourceType _tmp139_;
		_tmp79_ = _data40_->picked_widget;
		_tmp80_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp79_);
		_tmp81_ = _tmp80_;
		_tmp82_ = objects_item_get_project_id (_tmp81_);
		_tmp83_ = _tmp82_;
		_tmp84_ = target_widget;
		_tmp85_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp84_);
		_tmp86_ = _tmp85_;
		_tmp87_ = objects_item_get_project_id (_tmp86_);
		_tmp88_ = _tmp87_;
		if (g_strcmp0 (_tmp83_, _tmp88_) != 0) {
			LayoutsItemBoard* _tmp89_;
			ObjectsItem* _tmp90_;
			ObjectsItem* _tmp91_;
			LayoutsItemBoard* _tmp92_;
			ObjectsItem* _tmp93_;
			ObjectsItem* _tmp94_;
			const gchar* _tmp95_;
			const gchar* _tmp96_;
			_tmp89_ = _data40_->picked_widget;
			_tmp90_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp89_);
			_tmp91_ = _tmp90_;
			_tmp92_ = target_widget;
			_tmp93_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp92_);
			_tmp94_ = _tmp93_;
			_tmp95_ = objects_item_get_project_id (_tmp94_);
			_tmp96_ = _tmp95_;
			objects_item_set_project_id (_tmp91_, _tmp96_);
		}
		_tmp97_ = _data40_->picked_widget;
		_tmp98_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp97_);
		_tmp99_ = _tmp98_;
		_tmp100_ = objects_item_get_section_id (_tmp99_);
		_tmp101_ = _tmp100_;
		_tmp102_ = target_widget;
		_tmp103_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp102_);
		_tmp104_ = _tmp103_;
		_tmp105_ = objects_item_get_section_id (_tmp104_);
		_tmp106_ = _tmp105_;
		if (g_strcmp0 (_tmp101_, _tmp106_) != 0) {
			LayoutsItemBoard* _tmp107_;
			ObjectsItem* _tmp108_;
			ObjectsItem* _tmp109_;
			LayoutsItemBoard* _tmp110_;
			ObjectsItem* _tmp111_;
			ObjectsItem* _tmp112_;
			const gchar* _tmp113_;
			const gchar* _tmp114_;
			_tmp107_ = _data40_->picked_widget;
			_tmp108_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp107_);
			_tmp109_ = _tmp108_;
			_tmp110_ = target_widget;
			_tmp111_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp110_);
			_tmp112_ = _tmp111_;
			_tmp113_ = objects_item_get_section_id (_tmp112_);
			_tmp114_ = _tmp113_;
			objects_item_set_section_id (_tmp109_, _tmp114_);
		}
		_tmp115_ = _data40_->picked_widget;
		_tmp116_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp115_);
		_tmp117_ = _tmp116_;
		_tmp118_ = objects_item_get_parent_id (_tmp117_);
		_tmp119_ = _tmp118_;
		_tmp120_ = target_widget;
		_tmp121_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp120_);
		_tmp122_ = _tmp121_;
		_tmp123_ = objects_item_get_parent_id (_tmp122_);
		_tmp124_ = _tmp123_;
		if (g_strcmp0 (_tmp119_, _tmp124_) != 0) {
			LayoutsItemBoard* _tmp125_;
			ObjectsItem* _tmp126_;
			ObjectsItem* _tmp127_;
			LayoutsItemBoard* _tmp128_;
			ObjectsItem* _tmp129_;
			ObjectsItem* _tmp130_;
			const gchar* _tmp131_;
			const gchar* _tmp132_;
			_tmp125_ = _data40_->picked_widget;
			_tmp126_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp125_);
			_tmp127_ = _tmp126_;
			_tmp128_ = target_widget;
			_tmp129_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp128_);
			_tmp130_ = _tmp129_;
			_tmp131_ = objects_item_get_parent_id (_tmp130_);
			_tmp132_ = _tmp131_;
			objects_item_set_parent_id (_tmp127_, _tmp132_);
		}
		_tmp133_ = _data40_->picked_widget;
		_tmp134_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp133_);
		_tmp135_ = _tmp134_;
		_tmp136_ = objects_item_get_project (_tmp135_);
		_tmp137_ = _tmp136_;
		_tmp138_ = objects_project_get_source_type (_tmp137_);
		_tmp139_ = _tmp138_;
		if (_tmp139_ == SOURCE_TYPE_TODOIST) {
			gchar* move_id = NULL;
			LayoutsItemBoard* _tmp140_;
			ObjectsItem* _tmp141_;
			ObjectsItem* _tmp142_;
			const gchar* _tmp143_;
			const gchar* _tmp144_;
			gchar* _tmp145_;
			gchar* move_type = NULL;
			gchar* _tmp146_;
			LayoutsItemBoard* _tmp147_;
			ObjectsItem* _tmp148_;
			ObjectsItem* _tmp149_;
			const gchar* _tmp150_;
			const gchar* _tmp151_;
			LayoutsItemBoard* _tmp159_;
			ObjectsItem* _tmp160_;
			ObjectsItem* _tmp161_;
			gboolean _tmp162_;
			gboolean _tmp163_;
			ServicesTodoist* _tmp171_;
			ServicesTodoist* _tmp172_;
			LayoutsItemBoard* _tmp173_;
			ObjectsItem* _tmp174_;
			ObjectsItem* _tmp175_;
			const gchar* _tmp176_;
			const gchar* _tmp177_;
			_tmp140_ = _data40_->picked_widget;
			_tmp141_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp140_);
			_tmp142_ = _tmp141_;
			_tmp143_ = objects_item_get_project_id (_tmp142_);
			_tmp144_ = _tmp143_;
			_tmp145_ = g_strdup (_tmp144_);
			move_id = _tmp145_;
			_tmp146_ = g_strdup ("project_id");
			move_type = _tmp146_;
			_tmp147_ = _data40_->picked_widget;
			_tmp148_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp147_);
			_tmp149_ = _tmp148_;
			_tmp150_ = objects_item_get_section_id (_tmp149_);
			_tmp151_ = _tmp150_;
			if (g_strcmp0 (_tmp151_, "") != 0) {
				LayoutsItemBoard* _tmp152_;
				ObjectsItem* _tmp153_;
				ObjectsItem* _tmp154_;
				const gchar* _tmp155_;
				const gchar* _tmp156_;
				gchar* _tmp157_;
				gchar* _tmp158_;
				_tmp152_ = _data40_->picked_widget;
				_tmp153_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp152_);
				_tmp154_ = _tmp153_;
				_tmp155_ = objects_item_get_section_id (_tmp154_);
				_tmp156_ = _tmp155_;
				_tmp157_ = g_strdup (_tmp156_);
				_g_free0 (move_id);
				move_id = _tmp157_;
				_tmp158_ = g_strdup ("section_id");
				_g_free0 (move_type);
				move_type = _tmp158_;
			}
			_tmp159_ = _data40_->picked_widget;
			_tmp160_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp159_);
			_tmp161_ = _tmp160_;
			_tmp162_ = objects_item_get_has_parent (_tmp161_);
			_tmp163_ = _tmp162_;
			if (_tmp163_) {
				LayoutsItemBoard* _tmp164_;
				ObjectsItem* _tmp165_;
				ObjectsItem* _tmp166_;
				const gchar* _tmp167_;
				const gchar* _tmp168_;
				gchar* _tmp169_;
				gchar* _tmp170_;
				_tmp164_ = _data40_->picked_widget;
				_tmp165_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp164_);
				_tmp166_ = _tmp165_;
				_tmp167_ = objects_item_get_parent_id (_tmp166_);
				_tmp168_ = _tmp167_;
				_tmp169_ = g_strdup (_tmp168_);
				_g_free0 (move_id);
				move_id = _tmp169_;
				_tmp170_ = g_strdup ("parent_id");
				_g_free0 (move_type);
				move_type = _tmp170_;
			}
			_tmp171_ = services_todoist_get_default ();
			_tmp172_ = _tmp171_;
			_tmp173_ = _data40_->picked_widget;
			_tmp174_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp173_);
			_tmp175_ = _tmp174_;
			_tmp176_ = move_type;
			_tmp177_ = move_id;
			services_todoist_move_item (_tmp172_, _tmp175_, _tmp176_, _tmp177_, _____lambda94__gasync_ready_callback, block40_data_ref (_data40_));
			_g_object_unref0 (_tmp172_);
			_g_free0 (move_type);
			_g_free0 (move_id);
		} else {
			LayoutsItemBoard* _tmp178_;
			ObjectsItem* _tmp179_;
			ObjectsItem* _tmp180_;
			ObjectsProject* _tmp181_;
			ObjectsProject* _tmp182_;
			SourceType _tmp183_;
			SourceType _tmp184_;
			_tmp178_ = _data40_->picked_widget;
			_tmp179_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp178_);
			_tmp180_ = _tmp179_;
			_tmp181_ = objects_item_get_project (_tmp180_);
			_tmp182_ = _tmp181_;
			_tmp183_ = objects_project_get_source_type (_tmp182_);
			_tmp184_ = _tmp183_;
			if (_tmp184_ == SOURCE_TYPE_LOCAL) {
				ServicesStore* _tmp185_;
				LayoutsItemBoard* _tmp186_;
				ObjectsItem* _tmp187_;
				ObjectsItem* _tmp188_;
				_tmp185_ = services_store_instance ();
				_tmp186_ = _data40_->picked_widget;
				_tmp187_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp186_);
				_tmp188_ = _tmp187_;
				services_store_update_item (_tmp185_, _tmp188_, "");
			}
		}
	}
	_tmp189_ = _data40_->picked_widget;
	_tmp190_ = gtk_widget_get_parent ((GtkWidget*) _tmp189_);
	_tmp191_ = _tmp190_;
	_tmp192_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp191_, gtk_list_box_get_type (), GtkListBox));
	source_list = _tmp192_;
	_tmp193_ = source_list;
	_tmp194_ = _data40_->picked_widget;
	gtk_list_box_remove (_tmp193_, (GtkWidget*) _tmp194_);
	_tmp195_ = target_widget;
	_tmp196_ = gtk_widget_get_parent ((GtkWidget*) _tmp195_);
	_tmp197_ = _tmp196_;
	_tmp198_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp197_, gtk_list_box_get_type (), GtkListBox));
	target_list = _tmp198_;
	_tmp199_ = target_widget;
	new_index = gtk_list_box_row_get_index ((GtkListBoxRow*) _tmp199_);
	_tmp200_ = target_list;
	_tmp201_ = _data40_->picked_widget;
	gtk_list_box_insert (_tmp200_, (GtkWidget*) _tmp201_, new_index);
	_tmp202_ = services_event_bus_get_default ();
	_tmp203_ = _tmp202_;
	_tmp204_ = _data40_->picked_widget;
	_tmp205_ = old_section_id;
	_tmp206_ = old_parent_id;
	g_signal_emit_by_name (_tmp203_, "update-inserted-item-map", (GtkWidget*) _tmp204_, _tmp205_, _tmp206_);
	_g_object_unref0 (_tmp203_);
	_tmp207_ = target_list;
	_tmp208_ = _data40_->picked_widget;
	utils_task_utils_update_single_item_order (_tmp207_, (LayoutsItemBase*) _tmp208_, new_index);
	_tmp209_ = old_section_id;
	_tmp210_ = _data40_->picked_widget;
	_tmp211_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp210_);
	_tmp212_ = _tmp211_;
	_tmp213_ = objects_item_get_section_id (_tmp212_);
	_tmp214_ = _tmp213_;
	if (g_strcmp0 (_tmp209_, _tmp214_) != 0) {
		ObjectsSection* source_section = NULL;
		ServicesStore* _tmp215_;
		const gchar* _tmp216_;
		ObjectsSection* _tmp217_;
		ObjectsSection* _tmp218_;
		ObjectsSection* target_section = NULL;
		ServicesStore* _tmp220_;
		LayoutsItemBoard* _tmp221_;
		ObjectsItem* _tmp222_;
		ObjectsItem* _tmp223_;
		const gchar* _tmp224_;
		const gchar* _tmp225_;
		ObjectsSection* _tmp226_;
		ObjectsSection* _tmp227_;
		_tmp215_ = services_store_instance ();
		_tmp216_ = old_section_id;
		_tmp217_ = services_store_get_section (_tmp215_, _tmp216_);
		source_section = _tmp217_;
		_tmp218_ = source_section;
		if (_tmp218_ != NULL) {
			ObjectsSection* _tmp219_;
			_tmp219_ = source_section;
			objects_section_update_count (_tmp219_);
		}
		_tmp220_ = services_store_instance ();
		_tmp221_ = _data40_->picked_widget;
		_tmp222_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp221_);
		_tmp223_ = _tmp222_;
		_tmp224_ = objects_item_get_section_id (_tmp223_);
		_tmp225_ = _tmp224_;
		_tmp226_ = services_store_get_section (_tmp220_, _tmp225_);
		target_section = _tmp226_;
		_tmp227_ = target_section;
		if (_tmp227_ != NULL) {
			ObjectsSection* _tmp228_;
			_tmp228_ = target_section;
			objects_section_update_count (_tmp228_);
		}
		_g_object_unref0 (target_section);
		_g_object_unref0 (source_section);
	}
	_tmp229_ = _data40_->picked_widget;
	_tmp230_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp229_);
	_tmp231_ = _tmp230_;
	_tmp232_ = objects_item_get_project (_tmp231_);
	_tmp233_ = _tmp232_;
	objects_base_object_count_update ((ObjectsBaseObject*) _tmp233_);
	result = TRUE;
	_g_object_unref0 (target_list);
	_g_object_unref0 (source_list);
	_g_free0 (old_parent_id);
	_g_free0 (old_section_id);
	_g_object_unref0 (target_widget);
	block40_data_unref (_data40_);
	_data40_ = NULL;
	return result;
}

static gboolean
___lambda93__gtk_drop_target_drop (GtkDropTarget* _sender,
                                   GValue* value,
                                   gdouble x,
                                   gdouble y,
                                   gpointer self)
{
	gboolean result;
	result = __lambda93_ ((LayoutsItemBoard*) self, value, x, y);
	return result;
}

static void
layouts_item_board_build_drop_order_target (LayoutsItemBoard* self)
{
	GtkDropTarget* drop_order_target = NULL;
	GtkDropTarget* _tmp0_;
	GtkGrid* _tmp1_;
	GtkEventController* _tmp2_;
	GeeHashMap* _tmp3_;
	gulong _tmp4_;
	g_return_if_fail (self != NULL);
	_tmp0_ = gtk_drop_target_new (LAYOUTS_TYPE_ITEM_BOARD, GDK_ACTION_MOVE);
	drop_order_target = _tmp0_;
	_tmp1_ = self->priv->motion_top_grid;
	_tmp2_ = _g_object_ref0 ((GtkEventController*) drop_order_target);
	gtk_widget_add_controller ((GtkWidget*) _tmp1_, _tmp2_);
	_tmp3_ = ((LayoutsItemBase*) self)->signals_map;
	_tmp4_ = g_signal_connect_object (drop_order_target, "drop", (GCallback) ___lambda93__gtk_drop_target_drop, self, 0);
	gee_abstract_map_set ((GeeAbstractMap*) _tmp3_, (gpointer) ((guintptr) _tmp4_), (GObject*) drop_order_target);
	_g_object_unref0 (drop_order_target);
}

void
layouts_item_board_drag_begin (LayoutsItemBoard* self)
{
	AdwBin* _tmp0_;
	GtkRevealer* _tmp1_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->card_widget;
	gtk_widget_add_css_class ((GtkWidget*) _tmp0_, "drop-begin");
	self->on_drag = TRUE;
	_tmp1_ = self->priv->main_revealer;
	gtk_revealer_set_reveal_child (_tmp1_, FALSE);
}

void
layouts_item_board_drag_end (LayoutsItemBoard* self)
{
	AdwBin* _tmp0_;
	GtkRevealer* _tmp1_;
	ObjectsItem* _tmp2_;
	ObjectsItem* _tmp3_;
	gboolean _tmp4_;
	gboolean _tmp5_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->card_widget;
	gtk_widget_remove_css_class ((GtkWidget*) _tmp0_, "drop-begin");
	self->on_drag = FALSE;
	_tmp1_ = self->priv->main_revealer;
	_tmp2_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp3_ = _tmp2_;
	_tmp4_ = objects_item_get_show_item (_tmp3_);
	_tmp5_ = _tmp4_;
	gtk_revealer_set_reveal_child (_tmp1_, _tmp5_);
}

static void
layouts_item_board_real_delete_request (LayoutsItemBase* base,
                                        gboolean undo)
{
	LayoutsItemBoard * self;
	GtkRevealer* _tmp0_;
	self = (LayoutsItemBoard*) base;
	_tmp0_ = self->priv->main_revealer;
	gtk_revealer_set_reveal_child (_tmp0_, FALSE);
	if (undo) {
		layouts_item_board_delete_undo (self);
	} else {
		ObjectsItem* _tmp1_;
		ObjectsItem* _tmp2_;
		_tmp1_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
		_tmp2_ = _tmp1_;
		objects_item_delete_item (_tmp2_);
	}
}

static void
__lambda72_ (LayoutsItemBoard* self)
{
	GtkRevealer* _tmp0_;
	gboolean _tmp1_;
	gboolean _tmp2_;
	_tmp0_ = self->priv->main_revealer;
	_tmp1_ = gtk_revealer_get_reveal_child (_tmp0_);
	_tmp2_ = _tmp1_;
	if (!_tmp2_) {
		ObjectsItem* _tmp3_;
		ObjectsItem* _tmp4_;
		_tmp3_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
		_tmp4_ = _tmp3_;
		objects_item_delete_item (_tmp4_);
	}
}

static void
___lambda72__adw_toast_dismissed (AdwToast* _sender,
                                  gpointer self)
{
	__lambda72_ ((LayoutsItemBoard*) self);
}

static void
__lambda73_ (LayoutsItemBoard* self)
{
	GtkRevealer* _tmp0_;
	_tmp0_ = self->priv->main_revealer;
	gtk_revealer_set_reveal_child (_tmp0_, TRUE);
}

static void
___lambda73__adw_toast_button_clicked (AdwToast* _sender,
                                       gpointer self)
{
	__lambda73_ ((LayoutsItemBoard*) self);
}

static void
layouts_item_board_delete_undo (LayoutsItemBoard* self)
{
	AdwToast* toast = NULL;
	Util* _tmp0_;
	Util* _tmp1_;
	ObjectsItem* _tmp2_;
	ObjectsItem* _tmp3_;
	const gchar* _tmp4_;
	const gchar* _tmp5_;
	gchar* _tmp6_;
	gchar* _tmp7_;
	gchar* _tmp8_;
	gchar* _tmp9_;
	AdwToast* _tmp10_;
	AdwToast* _tmp11_;
	ServicesEventBus* _tmp12_;
	ServicesEventBus* _tmp13_;
	g_return_if_fail (self != NULL);
	_tmp0_ = util_get_default ();
	_tmp1_ = _tmp0_;
	_tmp2_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp3_ = _tmp2_;
	_tmp4_ = objects_item_get_content (_tmp3_);
	_tmp5_ = _tmp4_;
	_tmp6_ = util_get_short_name (_tmp1_, _tmp5_, CONSTANTS_SHORT_NAME_SIZE);
	_tmp7_ = _tmp6_;
	_tmp8_ = g_strdup_printf ("%s was deleted", _tmp7_);
	_tmp9_ = _tmp8_;
	_tmp10_ = adw_toast_new (_ (_tmp9_));
	_tmp11_ = _tmp10_;
	_g_free0 (_tmp9_);
	_g_free0 (_tmp7_);
	_g_object_unref0 (_tmp1_);
	toast = _tmp11_;
	adw_toast_set_button_label (toast, _ ("Undo"));
	adw_toast_set_priority (toast, ADW_TOAST_PRIORITY_HIGH);
	adw_toast_set_timeout (toast, (guint) 3);
	_tmp12_ = services_event_bus_get_default ();
	_tmp13_ = _tmp12_;
	g_signal_emit_by_name (_tmp13_, "send-toast", toast);
	_g_object_unref0 (_tmp13_);
	g_signal_connect_object (toast, "dismissed", (GCallback) ___lambda72__adw_toast_dismissed, self, 0);
	g_signal_connect_object (toast, "button-clicked", (GCallback) ___lambda73__adw_toast_button_clicked, self, 0);
	_g_object_unref0 (toast);
}

void
layouts_item_board_move (LayoutsItemBoard* self,
                         ObjectsProject* project,
                         const gchar* section_id)
{
	gchar* project_id = NULL;
	const gchar* _tmp0_;
	const gchar* _tmp1_;
	gchar* _tmp2_;
	ObjectsItem* _tmp3_;
	ObjectsItem* _tmp4_;
	ObjectsProject* _tmp5_;
	ObjectsProject* _tmp6_;
	const gchar* _tmp7_;
	const gchar* _tmp8_;
	const gchar* _tmp9_;
	const gchar* _tmp10_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (project != NULL);
	g_return_if_fail (section_id != NULL);
	_tmp0_ = objects_base_object_get_id ((ObjectsBaseObject*) project);
	_tmp1_ = _tmp0_;
	_tmp2_ = g_strdup (_tmp1_);
	project_id = _tmp2_;
	_tmp3_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp4_ = _tmp3_;
	_tmp5_ = objects_item_get_project (_tmp4_);
	_tmp6_ = _tmp5_;
	_tmp7_ = objects_project_get_source_id (_tmp6_);
	_tmp8_ = _tmp7_;
	_tmp9_ = objects_project_get_source_id (project);
	_tmp10_ = _tmp9_;
	if (g_strcmp0 (_tmp8_, _tmp10_) != 0) {
		Util* _tmp11_;
		Util* _tmp12_;
		ObjectsItem* _tmp13_;
		ObjectsItem* _tmp14_;
		_tmp11_ = util_get_default ();
		_tmp12_ = _tmp11_;
		_tmp13_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
		_tmp14_ = _tmp13_;
		util_move_backend_type_item (_tmp12_, _tmp14_, project, "", TRUE, NULL, NULL);
		_g_object_unref0 (_tmp12_);
	} else {
		gboolean _tmp15_ = FALSE;
		ObjectsItem* _tmp16_;
		ObjectsItem* _tmp17_;
		const gchar* _tmp18_;
		const gchar* _tmp19_;
		const gchar* _tmp20_;
		_tmp16_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
		_tmp17_ = _tmp16_;
		_tmp18_ = objects_item_get_project_id (_tmp17_);
		_tmp19_ = _tmp18_;
		_tmp20_ = project_id;
		if (g_strcmp0 (_tmp19_, _tmp20_) != 0) {
			_tmp15_ = TRUE;
		} else {
			ObjectsItem* _tmp21_;
			ObjectsItem* _tmp22_;
			const gchar* _tmp23_;
			const gchar* _tmp24_;
			_tmp21_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
			_tmp22_ = _tmp21_;
			_tmp23_ = objects_item_get_section_id (_tmp22_);
			_tmp24_ = _tmp23_;
			_tmp15_ = g_strcmp0 (_tmp24_, section_id) != 0;
		}
		if (_tmp15_) {
			ObjectsItem* _tmp25_;
			ObjectsItem* _tmp26_;
			_tmp25_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
			_tmp26_ = _tmp25_;
			objects_item_move (_tmp26_, project, section_id, TRUE);
		}
	}
	_g_free0 (project_id);
}

void
layouts_item_board_update_date (LayoutsItemBoard* self,
                                GDateTime* date)
{
	ObjectsItem* _tmp0_;
	ObjectsItem* _tmp1_;
	g_return_if_fail (self != NULL);
	_tmp0_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp1_ = _tmp0_;
	objects_item_update_date (_tmp1_, date);
}

static void
layouts_item_board_selected_toggled (LayoutsItemBoard* self,
                                     gboolean active)
{
	GtkCheckButton* _tmp0_;
	gboolean _tmp1_;
	gboolean _tmp2_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->select_checkbutton;
	_tmp1_ = gtk_check_button_get_active (_tmp0_);
	_tmp2_ = _tmp1_;
	if (_tmp2_) {
		ServicesEventBus* _tmp3_;
		ServicesEventBus* _tmp4_;
		_tmp3_ = services_event_bus_get_default ();
		_tmp4_ = _tmp3_;
		g_signal_emit_by_name (_tmp4_, "select-item", (GtkWidget*) self);
		_g_object_unref0 (_tmp4_);
	} else {
		ServicesEventBus* _tmp5_;
		ServicesEventBus* _tmp6_;
		_tmp5_ = services_event_bus_get_default ();
		_tmp6_ = _tmp5_;
		g_signal_emit_by_name (_tmp6_, "unselect-item", (GtkWidget*) self);
		_g_object_unref0 (_tmp6_);
	}
}

static void
layouts_item_board_real_select_row (LayoutsItemBase* base,
                                    gboolean active)
{
	LayoutsItemBoard * self;
	self = (LayoutsItemBoard*) base;
	if (active) {
		AdwBin* _tmp0_;
		_tmp0_ = self->card_widget;
		gtk_widget_add_css_class ((GtkWidget*) _tmp0_, "complete");
	} else {
		AdwBin* _tmp1_;
		_tmp1_ = self->card_widget;
		gtk_widget_remove_css_class ((GtkWidget*) _tmp1_, "complete");
	}
}

static gboolean
__lambda95_ (LayoutsItemBoard* 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
___lambda95__gsource_func (gpointer self)
{
	gboolean result;
	result = __lambda95_ ((LayoutsItemBoard*) self);
	return result;
}

static void
layouts_item_board_real_hide_destroy (LayoutsItemBase* base)
{
	LayoutsItemBoard * self;
	GtkRevealer* _tmp0_;
	GtkRevealer* _tmp1_;
	guint _tmp2_;
	guint _tmp3_;
	self = (LayoutsItemBoard*) base;
	_tmp0_ = self->priv->main_revealer;
	gtk_revealer_set_reveal_child (_tmp0_, FALSE);
	layouts_item_base_clean_up ((LayoutsItemBase*) self);
	_tmp1_ = self->priv->main_revealer;
	_tmp2_ = gtk_revealer_get_transition_duration (_tmp1_);
	_tmp3_ = _tmp2_;
	g_timeout_add_full (G_PRIORITY_DEFAULT, _tmp3_, ___lambda95__gsource_func, g_object_ref (self), g_object_unref);
}

void
layouts_item_board_hide_widget (LayoutsItemBoard* self)
{
	GtkRevealer* _tmp0_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->main_revealer;
	gtk_revealer_set_reveal_child (_tmp0_, FALSE);
}

static void
layouts_item_board_set_loading_state (LayoutsItemBoard* self,
                                      gboolean loading)
{
	gboolean _tmp0_;
	gboolean _tmp1_;
	g_return_if_fail (self != NULL);
	_tmp0_ = layouts_item_board_get_pin_mode (self);
	_tmp1_ = _tmp0_;
	if (_tmp1_) {
		GtkRevealer* _tmp2_;
		_tmp2_ = self->priv->hide_loading_revealer;
		gtk_revealer_set_reveal_child (_tmp2_, TRUE);
	} else {
		GtkRevealer* _tmp3_;
		_tmp3_ = self->priv->hide_loading_revealer;
		gtk_revealer_set_reveal_child (_tmp3_, loading);
	}
}

static void
layouts_item_board_real_clean_up (LayoutsItemBase* base)
{
	LayoutsItemBoard * self;
	GeeHashMap* _tmp15_;
	self = (LayoutsItemBoard*) base;
	{
		GeeIterator* _entry_it = NULL;
		GeeHashMap* _tmp0_;
		GeeSet* _tmp1_;
		GeeSet* _tmp2_;
		GeeSet* _tmp3_;
		GeeIterator* _tmp4_;
		GeeIterator* _tmp5_;
		_tmp0_ = ((LayoutsItemBase*) self)->signals_map;
		_tmp1_ = gee_abstract_map_get_entries ((GeeAbstractMap*) _tmp0_);
		_tmp2_ = _tmp1_;
		_tmp3_ = _tmp2_;
		_tmp4_ = gee_iterable_iterator ((GeeIterable*) _tmp3_);
		_tmp5_ = _tmp4_;
		_g_object_unref0 (_tmp3_);
		_entry_it = _tmp5_;
		while (TRUE) {
			GeeIterator* _tmp6_;
			GeeMapEntry* entry = NULL;
			GeeIterator* _tmp7_;
			gpointer _tmp8_;
			GeeMapEntry* _tmp9_;
			gconstpointer _tmp10_;
			gconstpointer _tmp11_;
			GeeMapEntry* _tmp12_;
			gconstpointer _tmp13_;
			gconstpointer _tmp14_;
			_tmp6_ = _entry_it;
			if (!gee_iterator_next (_tmp6_)) {
				break;
			}
			_tmp7_ = _entry_it;
			_tmp8_ = gee_iterator_get (_tmp7_);
			entry = (GeeMapEntry*) _tmp8_;
			_tmp9_ = entry;
			_tmp10_ = gee_map_entry_get_value (_tmp9_);
			_tmp11_ = _tmp10_;
			_tmp12_ = entry;
			_tmp13_ = gee_map_entry_get_key (_tmp12_);
			_tmp14_ = _tmp13_;
			g_signal_handler_disconnect ((GObject*) _tmp11_, (gulong) ((guintptr) _tmp14_));
			_g_object_unref0 (entry);
		}
		_g_object_unref0 (_entry_it);
	}
	_tmp15_ = ((LayoutsItemBase*) self)->signals_map;
	gee_abstract_map_clear ((GeeAbstractMap*) _tmp15_);
}

guint
layouts_item_board_get_complete_timeout (LayoutsItemBoard* self)
{
	guint result;
	g_return_val_if_fail (self != NULL, 0U);
	result = self->priv->_complete_timeout;
	return result;
}

void
layouts_item_board_set_complete_timeout (LayoutsItemBoard* self,
                                         guint value)
{
	guint old_value;
	g_return_if_fail (self != NULL);
	old_value = layouts_item_board_get_complete_timeout (self);
	if (old_value != value) {
		self->priv->_complete_timeout = value;
		g_object_notify_by_pspec ((GObject *) self, layouts_item_board_properties[LAYOUTS_ITEM_BOARD_COMPLETE_TIMEOUT_PROPERTY]);
	}
}

gboolean
layouts_item_board_get_is_loading (LayoutsItemBoard* self)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	result = self->priv->_is_loading;
	return result;
}

void
layouts_item_board_set_is_loading (LayoutsItemBoard* self,
                                   gboolean value)
{
	WidgetsLoadingButton* _tmp0_;
	g_return_if_fail (self != NULL);
	self->priv->_is_loading = value;
	_tmp0_ = self->priv->hide_loading_button;
	widgets_loading_button_set_is_loading (_tmp0_, self->priv->_is_loading);
	layouts_item_board_set_loading_state (self, self->priv->_is_loading);
	g_object_notify_by_pspec ((GObject *) self, layouts_item_board_properties[LAYOUTS_ITEM_BOARD_IS_LOADING_PROPERTY]);
}

gboolean
layouts_item_board_get_pin_mode (LayoutsItemBoard* self)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	result = self->priv->_pin_mode;
	return result;
}

void
layouts_item_board_set_pin_mode (LayoutsItemBoard* self,
                                 gboolean value)
{
	g_return_if_fail (self != NULL);
	self->priv->_pin_mode = value;
	if (self->priv->_pin_mode) {
		GtkRevealer* _tmp0_;
		AdwBin* _tmp1_;
		AdwBin* _tmp2_;
		GtkBox* _tmp3_;
		WidgetsLoadingButton* _tmp4_;
		WidgetsLoadingButton* _tmp5_;
		_tmp0_ = self->priv->hide_loading_revealer;
		gtk_revealer_set_reveal_child (_tmp0_, TRUE);
		_tmp1_ = self->card_widget;
		gtk_widget_set_margin_end ((GtkWidget*) _tmp1_, 6);
		_tmp2_ = self->card_widget;
		gtk_widget_set_margin_top ((GtkWidget*) _tmp2_, 6);
		_tmp3_ = self->handle_grid;
		g_object_set ((GtkWidget*) _tmp3_, "width-request", 200, NULL);
		_tmp4_ = self->priv->hide_loading_button;
		gtk_widget_set_margin_end ((GtkWidget*) _tmp4_, 0);
		_tmp5_ = self->priv->hide_loading_button;
		gtk_widget_set_margin_top ((GtkWidget*) _tmp5_, 0);
	} else {
		AdwBin* _tmp6_;
		AdwBin* _tmp7_;
		GtkBox* _tmp8_;
		WidgetsLoadingButton* _tmp9_;
		WidgetsLoadingButton* _tmp10_;
		_tmp6_ = self->card_widget;
		gtk_widget_set_margin_end ((GtkWidget*) _tmp6_, 0);
		_tmp7_ = self->card_widget;
		gtk_widget_set_margin_top ((GtkWidget*) _tmp7_, 0);
		_tmp8_ = self->handle_grid;
		g_object_set ((GtkWidget*) _tmp8_, "width-request", -1, NULL);
		_tmp9_ = self->priv->hide_loading_button;
		gtk_widget_set_margin_end ((GtkWidget*) _tmp9_, 6);
		_tmp10_ = self->priv->hide_loading_button;
		gtk_widget_set_margin_top ((GtkWidget*) _tmp10_, 6);
	}
	g_object_notify_by_pspec ((GObject *) self, layouts_item_board_properties[LAYOUTS_ITEM_BOARD_PIN_MODE_PROPERTY]);
}

static Block41Data*
block41_data_ref (Block41Data* _data41_)
{
	g_atomic_int_inc (&_data41_->_ref_count_);
	return _data41_;
}

static void
block41_data_unref (void * _userdata_)
{
	Block41Data* _data41_;
	_data41_ = (Block41Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data41_->_ref_count_)) {
		LayoutsItemBoard* self;
		self = _data41_->self;
		_g_object_unref0 (_data41_->detail_gesture_click);
		_g_object_unref0 (_data41_->select_button_gesture);
		_g_object_unref0 (_data41_->checked_button_gesture);
		_g_object_unref0 (self);
		g_slice_free (Block41Data, _data41_);
	}
}

static gboolean
_layouts_item_board___lambda96_ (LayoutsItemBoard* 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
__layouts_item_board___lambda96__gsource_func (gpointer self)
{
	gboolean result;
	result = _layouts_item_board___lambda96_ ((LayoutsItemBoard*) self);
	return result;
}

static void
_layouts_item_board___lambda97_ (Block41Data* _data41_)
{
	LayoutsItemBoard* self;
	GtkGestureClick* _tmp0_;
	GtkCheckButton* _tmp1_;
	GtkCheckButton* _tmp2_;
	gboolean _tmp3_;
	gboolean _tmp4_;
	GtkCheckButton* _tmp5_;
	gboolean _tmp6_;
	gboolean _tmp7_;
	self = _data41_->self;
	_tmp0_ = _data41_->checked_button_gesture;
	gtk_gesture_set_state ((GtkGesture*) _tmp0_, GTK_EVENT_SEQUENCE_CLAIMED);
	_tmp1_ = self->priv->checked_button;
	_tmp2_ = self->priv->checked_button;
	_tmp3_ = gtk_check_button_get_active (_tmp2_);
	_tmp4_ = _tmp3_;
	gtk_check_button_set_active (_tmp1_, !_tmp4_);
	_tmp5_ = self->priv->checked_button;
	_tmp6_ = gtk_check_button_get_active (_tmp5_);
	_tmp7_ = _tmp6_;
	layouts_item_base_checked_toggled ((LayoutsItemBase*) self, _tmp7_, NULL);
}

static void
__layouts_item_board___lambda97__gtk_gesture_click_pressed (GtkGestureClick* _sender,
                                                            gint n_press,
                                                            gdouble x,
                                                            gdouble y,
                                                            gpointer self)
{
	_layouts_item_board___lambda97_ (self);
}

static void
_layouts_item_board___lambda98_ (Block41Data* _data41_)
{
	LayoutsItemBoard* self;
	gboolean _tmp0_ = FALSE;
	GtkGestureClick* _tmp1_;
	self = _data41_->self;
	_tmp1_ = _data41_->checked_button_gesture;
	if (!gtk_gesture_is_active ((GtkGesture*) _tmp1_)) {
		_tmp0_ = !self->priv->_recurrency_reset;
	} else {
		_tmp0_ = FALSE;
	}
	if (_tmp0_) {
		GtkCheckButton* _tmp2_;
		gboolean _tmp3_;
		gboolean _tmp4_;
		_tmp2_ = self->priv->checked_button;
		_tmp3_ = gtk_check_button_get_active (_tmp2_);
		_tmp4_ = _tmp3_;
		layouts_item_base_checked_toggled ((LayoutsItemBase*) self, _tmp4_, NULL);
	}
}

static void
__layouts_item_board___lambda98__gtk_check_button_toggled (GtkCheckButton* _sender,
                                                           gpointer self)
{
	_layouts_item_board___lambda98_ (self);
}

static void
_layouts_item_board___lambda99_ (Block41Data* _data41_)
{
	LayoutsItemBoard* self;
	GtkGestureClick* _tmp0_;
	GtkCheckButton* _tmp1_;
	GtkCheckButton* _tmp2_;
	gboolean _tmp3_;
	gboolean _tmp4_;
	GtkCheckButton* _tmp5_;
	gboolean _tmp6_;
	gboolean _tmp7_;
	self = _data41_->self;
	_tmp0_ = _data41_->select_button_gesture;
	gtk_gesture_set_state ((GtkGesture*) _tmp0_, GTK_EVENT_SEQUENCE_CLAIMED);
	_tmp1_ = self->priv->select_checkbutton;
	_tmp2_ = self->priv->select_checkbutton;
	_tmp3_ = gtk_check_button_get_active (_tmp2_);
	_tmp4_ = _tmp3_;
	gtk_check_button_set_active (_tmp1_, !_tmp4_);
	_tmp5_ = self->priv->select_checkbutton;
	_tmp6_ = gtk_check_button_get_active (_tmp5_);
	_tmp7_ = _tmp6_;
	layouts_item_board_selected_toggled (self, _tmp7_);
}

static void
__layouts_item_board___lambda99__gtk_gesture_click_pressed (GtkGestureClick* _sender,
                                                            gint n_press,
                                                            gdouble x,
                                                            gdouble y,
                                                            gpointer self)
{
	_layouts_item_board___lambda99_ (self);
}

static gboolean
___lambda101_ (LayoutsItemBoard* self)
{
	ObjectsItem* _tmp0_;
	ObjectsItem* _tmp1_;
	ObjectsProject* _tmp2_;
	ObjectsProject* _tmp3_;
	ServicesEventBus* _tmp4_;
	ServicesEventBus* _tmp5_;
	gboolean _tmp6_;
	GtkCheckButton* _tmp11_;
	GtkCheckButton* _tmp12_;
	gboolean _tmp13_;
	gboolean _tmp14_;
	GtkCheckButton* _tmp15_;
	gboolean _tmp16_;
	gboolean _tmp17_;
	gboolean result;
	_tmp0_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp1_ = _tmp0_;
	_tmp2_ = objects_item_get_project (_tmp1_);
	_tmp3_ = _tmp2_;
	if (_tmp3_ == NULL) {
		result = G_SOURCE_REMOVE;
		return result;
	}
	_tmp4_ = services_event_bus_get_default ();
	_tmp5_ = _tmp4_;
	_tmp6_ = !_tmp5_->multi_select_enabled;
	_g_object_unref0 (_tmp5_);
	if (_tmp6_) {
		ObjectsItem* _tmp7_;
		ObjectsItem* _tmp8_;
		ObjectsProject* _tmp9_;
		ObjectsProject* _tmp10_;
		_tmp7_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
		_tmp8_ = _tmp7_;
		_tmp9_ = objects_item_get_project (_tmp8_);
		_tmp10_ = _tmp9_;
		objects_project_set_show_multi_select (_tmp10_, TRUE);
	}
	_tmp11_ = self->priv->select_checkbutton;
	_tmp12_ = self->priv->select_checkbutton;
	_tmp13_ = gtk_check_button_get_active (_tmp12_);
	_tmp14_ = _tmp13_;
	gtk_check_button_set_active (_tmp11_, !_tmp14_);
	_tmp15_ = self->priv->select_checkbutton;
	_tmp16_ = gtk_check_button_get_active (_tmp15_);
	_tmp17_ = _tmp16_;
	layouts_item_board_selected_toggled (self, _tmp17_);
	result = G_SOURCE_REMOVE;
	return result;
}

static gboolean
____lambda101__gsource_func (gpointer self)
{
	gboolean result;
	result = ___lambda101_ ((LayoutsItemBoard*) self);
	return result;
}

static void
_layouts_item_board___lambda100_ (Block41Data* _data41_,
                                  gint n_press,
                                  gdouble x,
                                  gdouble y)
{
	LayoutsItemBoard* self;
	GdkModifierType modifier = 0U;
	GtkGestureClick* _tmp0_;
	ServicesEventBus* _tmp1_;
	ServicesEventBus* _tmp2_;
	gboolean _tmp3_;
	self = _data41_->self;
	_tmp0_ = _data41_->detail_gesture_click;
	modifier = gtk_event_controller_get_current_event_state ((GtkEventController*) _tmp0_);
	if ((modifier & GDK_CONTROL_MASK) != 0) {
		g_idle_add_full (G_PRIORITY_DEFAULT_IDLE, ____lambda101__gsource_func, g_object_ref (self), g_object_unref);
		return;
	}
	_tmp1_ = services_event_bus_get_default ();
	_tmp2_ = _tmp1_;
	_tmp3_ = _tmp2_->multi_select_enabled;
	_g_object_unref0 (_tmp2_);
	if (_tmp3_) {
		GtkCheckButton* _tmp4_;
		GtkCheckButton* _tmp5_;
		gboolean _tmp6_;
		gboolean _tmp7_;
		GtkCheckButton* _tmp8_;
		gboolean _tmp9_;
		gboolean _tmp10_;
		_tmp4_ = self->priv->select_checkbutton;
		_tmp5_ = self->priv->select_checkbutton;
		_tmp6_ = gtk_check_button_get_active (_tmp5_);
		_tmp7_ = _tmp6_;
		gtk_check_button_set_active (_tmp4_, !_tmp7_);
		_tmp8_ = self->priv->select_checkbutton;
		_tmp9_ = gtk_check_button_get_active (_tmp8_);
		_tmp10_ = _tmp9_;
		layouts_item_board_selected_toggled (self, _tmp10_);
	} else {
		if (!self->on_drag) {
			layouts_item_board_open_detail (self);
		}
	}
}

static void
__layouts_item_board___lambda100__gtk_gesture_click_released (GtkGestureClick* _sender,
                                                              gint n_press,
                                                              gdouble x,
                                                              gdouble y,
                                                              gpointer self)
{
	_layouts_item_board___lambda100_ (self, n_press, x, y);
}

static void
_layouts_item_board___lambda102_ (LayoutsItemBoard* self,
                                  gint n_press,
                                  gdouble x,
                                  gdouble y)
{
	ObjectsItem* _tmp0_;
	ObjectsItem* _tmp1_;
	gboolean _tmp2_;
	gboolean _tmp3_;
	_tmp0_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp1_ = _tmp0_;
	_tmp2_ = objects_item_get_completed (_tmp1_);
	_tmp3_ = _tmp2_;
	if (!_tmp3_) {
		layouts_item_board_build_handle_context_menu (self, x, y);
	}
}

static void
__layouts_item_board___lambda102__gtk_gesture_click_pressed (GtkGestureClick* _sender,
                                                             gint n_press,
                                                             gdouble x,
                                                             gdouble y,
                                                             gpointer self)
{
	_layouts_item_board___lambda102_ ((LayoutsItemBoard*) self, n_press, x, y);
}

static void
_layouts_item_board___lambda103_ (LayoutsItemBoard* self)
{
	layouts_item_base_update_request ((LayoutsItemBase*) self);
}

static void
__layouts_item_board___lambda103__objects_item_reminder_added (ObjectsItem* _sender,
                                                               ObjectsReminder* reminder,
                                                               gpointer self)
{
	_layouts_item_board___lambda103_ ((LayoutsItemBoard*) self);
}

static void
_layouts_item_board___lambda104_ (LayoutsItemBoard* self)
{
	layouts_item_base_update_request ((LayoutsItemBase*) self);
}

static void
__layouts_item_board___lambda104__objects_item_reminder_deleted (ObjectsItem* _sender,
                                                                 ObjectsReminder* reminder,
                                                                 gpointer self)
{
	_layouts_item_board___lambda104_ ((LayoutsItemBoard*) self);
}

static void
_layouts_item_board___lambda105_ (LayoutsItemBoard* self)
{
	layouts_item_base_update_request ((LayoutsItemBase*) self);
}

static void
__layouts_item_board___lambda105__objects_item_item_added (ObjectsItem* _sender,
                                                           ObjectsItem* item,
                                                           gpointer self)
{
	_layouts_item_board___lambda105_ ((LayoutsItemBoard*) self);
}

static void
_layouts_item_board___lambda106_ (LayoutsItemBoard* self,
                                  ObjectsBaseObject* _item,
                                  const gchar* _update_id)
{
	gboolean _tmp0_ = FALSE;
	ObjectsItem* _tmp1_;
	ObjectsItem* _tmp2_;
	const gchar* _tmp3_;
	const gchar* _tmp4_;
	const gchar* _tmp5_;
	const gchar* _tmp6_;
	g_return_if_fail (_item != NULL);
	g_return_if_fail (_update_id != NULL);
	_tmp1_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp2_ = _tmp1_;
	_tmp3_ = objects_base_object_get_id ((ObjectsBaseObject*) _tmp2_);
	_tmp4_ = _tmp3_;
	_tmp5_ = objects_base_object_get_id (_item);
	_tmp6_ = _tmp5_;
	if (g_strcmp0 (_tmp4_, _tmp6_) == 0) {
		const gchar* _tmp7_;
		const gchar* _tmp8_;
		_tmp7_ = layouts_item_base_get_update_id ((LayoutsItemBase*) self);
		_tmp8_ = _tmp7_;
		_tmp0_ = g_strcmp0 (_tmp8_, _update_id) != 0;
	} else {
		_tmp0_ = FALSE;
	}
	if (_tmp0_) {
		layouts_item_base_update_request ((LayoutsItemBase*) self);
	}
}

static void
__layouts_item_board___lambda106__objects_base_object_updated (ObjectsBaseObject* _sender,
                                                               const gchar* update_id,
                                                               gpointer self)
{
	_layouts_item_board___lambda106_ ((LayoutsItemBoard*) self, _sender, update_id);
}

static void
_layouts_item_board___lambda107_ (LayoutsItemBoard* self,
                                  ObjectsItem* _item)
{
	ObjectsItem* _tmp0_;
	ObjectsItem* _tmp1_;
	const gchar* _tmp2_;
	const gchar* _tmp3_;
	const gchar* _tmp4_;
	const gchar* _tmp5_;
	g_return_if_fail (_item != NULL);
	_tmp0_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp1_ = _tmp0_;
	_tmp2_ = objects_base_object_get_id ((ObjectsBaseObject*) _tmp1_);
	_tmp3_ = _tmp2_;
	_tmp4_ = objects_item_get_parent_id (_item);
	_tmp5_ = _tmp4_;
	if (g_strcmp0 (_tmp3_, _tmp5_) == 0) {
		layouts_item_base_update_request ((LayoutsItemBase*) self);
	}
}

static void
__layouts_item_board___lambda107__services_store_item_deleted (ServicesStore* _sender,
                                                               ObjectsItem* item,
                                                               gpointer self)
{
	_layouts_item_board___lambda107_ ((LayoutsItemBoard*) self, item);
}

static void
_layouts_item_board___lambda108_ (LayoutsItemBoard* self,
                                  ObjectsItem* _item,
                                  const gchar* old_project_id,
                                  const gchar* old_section_id,
                                  const gchar* old_parent_id)
{
	ObjectsItem* _tmp0_;
	ObjectsItem* _tmp1_;
	const gchar* _tmp2_;
	const gchar* _tmp3_;
	ObjectsItem* _tmp4_;
	ObjectsItem* _tmp5_;
	const gchar* _tmp6_;
	const gchar* _tmp7_;
	const gchar* _tmp8_;
	const gchar* _tmp9_;
	g_return_if_fail (_item != NULL);
	g_return_if_fail (old_project_id != NULL);
	g_return_if_fail (old_section_id != NULL);
	g_return_if_fail (old_parent_id != NULL);
	_tmp0_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp1_ = _tmp0_;
	_tmp2_ = objects_base_object_get_id ((ObjectsBaseObject*) _tmp1_);
	_tmp3_ = _tmp2_;
	if (g_strcmp0 (_tmp3_, old_parent_id) == 0) {
		layouts_item_base_update_request ((LayoutsItemBase*) self);
	}
	_tmp4_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp5_ = _tmp4_;
	_tmp6_ = objects_base_object_get_id ((ObjectsBaseObject*) _tmp5_);
	_tmp7_ = _tmp6_;
	_tmp8_ = objects_item_get_parent_id (_item);
	_tmp9_ = _tmp8_;
	if (g_strcmp0 (_tmp7_, _tmp9_) == 0) {
		layouts_item_base_update_request ((LayoutsItemBase*) self);
	}
}

static void
__layouts_item_board___lambda108__services_event_bus_item_moved (ServicesEventBus* _sender,
                                                                 ObjectsItem* item,
                                                                 const gchar* old_project_id,
                                                                 const gchar* old_section_id,
                                                                 const gchar* old_parent_id,
                                                                 gpointer self)
{
	_layouts_item_board___lambda108_ ((LayoutsItemBoard*) self, item, old_project_id, old_section_id, old_parent_id);
}

static void
_layouts_item_board___lambda109_ (LayoutsItemBoard* self,
                                  ObjectsItem* _item)
{
	ObjectsItem* _tmp0_;
	ObjectsItem* _tmp1_;
	const gchar* _tmp2_;
	const gchar* _tmp3_;
	const gchar* _tmp4_;
	const gchar* _tmp5_;
	g_return_if_fail (_item != NULL);
	_tmp0_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp1_ = _tmp0_;
	_tmp2_ = objects_base_object_get_id ((ObjectsBaseObject*) _tmp1_);
	_tmp3_ = _tmp2_;
	_tmp4_ = objects_item_get_parent_id (_item);
	_tmp5_ = _tmp4_;
	if (g_strcmp0 (_tmp3_, _tmp5_) == 0) {
		layouts_item_base_update_request ((LayoutsItemBase*) self);
	}
}

static void
__layouts_item_board___lambda109__services_event_bus_checked_toggled (ServicesEventBus* _sender,
                                                                      ObjectsItem* item,
                                                                      gboolean old_checked,
                                                                      gpointer self)
{
	_layouts_item_board___lambda109_ ((LayoutsItemBoard*) self, item);
}

static void
_layouts_item_board___lambda110_ (LayoutsItemBoard* self,
                                  gboolean active)
{
	if (active) {
		GtkRevealer* _tmp0_;
		GtkCheckButton* _tmp1_;
		_tmp0_ = self->priv->select_revealer;
		gtk_revealer_set_reveal_child (_tmp0_, TRUE);
		_tmp1_ = self->priv->checked_button;
		gtk_widget_set_sensitive ((GtkWidget*) _tmp1_, FALSE);
	} else {
		GtkRevealer* _tmp2_;
		GtkCheckButton* _tmp3_;
		GtkCheckButton* _tmp4_;
		_tmp2_ = self->priv->select_revealer;
		gtk_revealer_set_reveal_child (_tmp2_, FALSE);
		_tmp3_ = self->priv->checked_button;
		gtk_widget_set_sensitive ((GtkWidget*) _tmp3_, TRUE);
		_tmp4_ = self->priv->select_checkbutton;
		gtk_check_button_set_active (_tmp4_, FALSE);
	}
}

static void
__layouts_item_board___lambda110__services_event_bus_show_multi_select (ServicesEventBus* _sender,
                                                                        gboolean enabled,
                                                                        gpointer self)
{
	_layouts_item_board___lambda110_ ((LayoutsItemBoard*) self, enabled);
}

static void
_layouts_item_board___lambda111_ (LayoutsItemBoard* self)
{
	GtkRevealer* _tmp0_;
	ObjectsItem* _tmp1_;
	ObjectsItem* _tmp2_;
	gboolean _tmp3_;
	gboolean _tmp4_;
	_tmp0_ = self->priv->main_revealer;
	_tmp1_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp2_ = _tmp1_;
	_tmp3_ = objects_item_get_show_item (_tmp2_);
	_tmp4_ = _tmp3_;
	gtk_revealer_set_reveal_child (_tmp0_, _tmp4_);
}

static void
__layouts_item_board___lambda111__objects_item_show_item_changed (ObjectsItem* _sender,
                                                                  gpointer self)
{
	_layouts_item_board___lambda111_ ((LayoutsItemBoard*) self);
}

static void
_layouts_item_board___lambda112_ (LayoutsItemBoard* self)
{
	ObjectsItem* _tmp0_;
	ObjectsItem* _tmp1_;
	gboolean _tmp2_;
	gboolean _tmp3_;
	_tmp0_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp1_ = _tmp0_;
	_tmp2_ = objects_base_object_get_loading ((ObjectsBaseObject*) _tmp1_);
	_tmp3_ = _tmp2_;
	layouts_item_board_set_is_loading (self, _tmp3_);
}

static void
__layouts_item_board___lambda112__objects_base_object_loading_change (ObjectsBaseObject* _sender,
                                                                      gpointer self)
{
	_layouts_item_board___lambda112_ ((LayoutsItemBoard*) self);
}

static void
_layouts_item_board___lambda113_ (LayoutsItemBoard* self)
{
	ObjectsItem* _tmp0_;
	ObjectsItem* _tmp1_;
	gboolean _tmp2_;
	gboolean _tmp3_;
	_tmp0_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp1_ = _tmp0_;
	_tmp2_ = objects_base_object_get_sensitive ((ObjectsBaseObject*) _tmp1_);
	_tmp3_ = _tmp2_;
	gtk_widget_set_sensitive ((GtkWidget*) self, _tmp3_);
}

static void
__layouts_item_board___lambda113__objects_base_object_sensitive_change (ObjectsBaseObject* _sender,
                                                                        gpointer self)
{
	_layouts_item_board___lambda113_ ((LayoutsItemBoard*) self);
}

static void
_layouts_item_board___lambda114_ (LayoutsItemBoard* self,
                                  const gchar* project_id)
{
	ObjectsItem* _tmp0_;
	ObjectsItem* _tmp1_;
	const gchar* _tmp2_;
	const gchar* _tmp3_;
	g_return_if_fail (project_id != NULL);
	_tmp0_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp1_ = _tmp0_;
	_tmp2_ = objects_item_get_project_id (_tmp1_);
	_tmp3_ = _tmp2_;
	if (g_strcmp0 (_tmp3_, project_id) == 0) {
		GtkRevealer* _tmp4_;
		_tmp4_ = self->priv->motion_top_revealer;
		gtk_revealer_set_reveal_child (_tmp4_, FALSE);
	}
}

static void
__layouts_item_board___lambda114__services_event_bus_drag_items_end (ServicesEventBus* _sender,
                                                                     const gchar* project_id,
                                                                     gpointer self)
{
	_layouts_item_board___lambda114_ ((LayoutsItemBoard*) self, project_id);
}

static void
_layouts_item_board___lambda115_ (LayoutsItemBoard* self)
{
	ObjectsItem* _tmp0_;
	ObjectsItem* _tmp1_;
	_tmp0_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp1_ = _tmp0_;
	objects_item_update_pin (_tmp1_, FALSE);
}

static void
__layouts_item_board___lambda115__gtk_button_clicked (GtkButton* _sender,
                                                      gpointer self)
{
	_layouts_item_board___lambda115_ ((LayoutsItemBoard*) self);
}

static void
_layouts_item_board___lambda116_ (LayoutsItemBoard* self)
{
	layouts_item_base_update_request ((LayoutsItemBase*) self);
}

static void
__layouts_item_board___lambda116__services_event_bus_day_changed (ServicesEventBus* _sender,
                                                                  gpointer self)
{
	_layouts_item_board___lambda116_ ((LayoutsItemBoard*) self);
}

static void
_layouts_item_board___lambda117_ (LayoutsItemBoard* self)
{
	layouts_item_board_open_detail (self);
}

static void
__layouts_item_board___lambda117__gtk_list_box_row_activate (GtkListBoxRow* _sender,
                                                             gpointer self)
{
	_layouts_item_board___lambda117_ ((LayoutsItemBoard*) self);
}

static GObject *
layouts_item_board_constructor (GType type,
                                guint n_construct_properties,
                                GObjectConstructParam * construct_properties)
{
	GObject * obj;
	GObjectClass * parent_class;
	LayoutsItemBoard * self;
	Block41Data* _data41_;
	gchar* _tmp0_;
	gchar* _tmp1_;
	gchar** _tmp2_;
	GtkGrid* _tmp3_ = NULL;
	GtkGrid* _tmp4_;
	GtkWidget* _tmp5_;
	GtkRevealer* _tmp6_ = NULL;
	gchar* _tmp7_;
	gchar** _tmp8_;
	GtkCheckButton* _tmp9_ = NULL;
	GtkCheckButton* _tmp10_;
	GtkWidget* _tmp11_;
	GtkRevealer* _tmp12_ = NULL;
	ObjectsItem* _tmp13_;
	ObjectsItem* _tmp14_;
	const gchar* _tmp15_;
	const gchar* _tmp16_;
	GtkLabel* _tmp17_ = NULL;
	gchar* _tmp18_;
	gchar* _tmp19_;
	gchar* _tmp20_;
	gchar** _tmp21_;
	WidgetsLoadingButton* _tmp22_ = NULL;
	WidgetsLoadingButton* _tmp23_;
	GtkWidget* _tmp24_;
	GtkRevealer* _tmp25_ = NULL;
	gchar* _tmp26_;
	gchar** _tmp27_;
	GtkCheckButton* _tmp28_ = NULL;
	GtkCheckButton* _tmp29_;
	GtkWidget* _tmp30_;
	GtkRevealer* _tmp31_ = NULL;
	GtkBox* _tmp32_ = NULL;
	GtkBox* _tmp33_;
	GtkBox* _tmp34_;
	GtkRevealer* _tmp35_;
	GtkBox* _tmp36_;
	GtkLabel* _tmp37_;
	GtkBox* _tmp38_;
	GtkRevealer* _tmp39_;
	gchar* _tmp40_;
	gchar* _tmp41_;
	gchar* _tmp42_;
	gchar** _tmp43_;
	GtkLabel* _tmp44_ = NULL;
	GtkLabel* _tmp45_;
	GtkWidget* _tmp46_;
	GtkRevealer* _tmp47_ = NULL;
	gchar* _tmp48_;
	gchar** _tmp49_;
	GtkLabel* _tmp50_ = NULL;
	GtkImage* repeat_image = NULL;
	GtkImage* _tmp51_ = NULL;
	GtkImage* _tmp52_;
	GtkWidget* _tmp53_;
	GtkRevealer* _tmp54_ = NULL;
	GtkBox* _tmp55_ = NULL;
	GtkBox* _tmp56_;
	GtkLabel* _tmp57_;
	GtkBox* _tmp58_;
	GtkRevealer* _tmp59_;
	GtkBox* _tmp60_;
	GtkWidget* _tmp61_;
	GtkRevealer* _tmp62_ = NULL;
	ObjectsItem* _tmp63_;
	ObjectsItem* _tmp64_;
	WidgetsLabelsSummary* _tmp65_ = NULL;
	GtkImage* reminder_icon = NULL;
	GtkImage* _tmp66_ = NULL;
	ObjectsItem* _tmp67_;
	ObjectsItem* _tmp68_;
	GeeArrayList* _tmp69_;
	GeeArrayList* _tmp70_;
	gint _tmp71_;
	gint _tmp72_;
	gchar* _tmp73_;
	gchar* _tmp74_;
	GtkLabel* _tmp75_;
	GtkLabel* _tmp76_;
	GtkBox* reminder_box = NULL;
	GtkBox* _tmp77_ = NULL;
	GtkBox* _tmp78_;
	GtkBox* _tmp79_;
	GtkImage* _tmp80_;
	GtkBox* _tmp81_;
	GtkLabel* _tmp82_;
	GtkBox* _tmp83_;
	GtkWidget* _tmp84_;
	GtkRevealer* _tmp85_ = NULL;
	GtkLabel* _tmp86_;
	GtkLabel* _tmp87_;
	AdwBin* subtaks_container = NULL;
	GtkLabel* _tmp88_;
	GtkWidget* _tmp89_;
	AdwBin* _tmp90_ = NULL;
	AdwBin* _tmp91_;
	AdwBin* _tmp92_;
	GtkWidget* _tmp93_;
	GtkRevealer* _tmp94_ = NULL;
	GtkImage* deadline_icon = NULL;
	GtkImage* _tmp95_ = NULL;
	GtkLabel* _tmp96_;
	GtkLabel* _tmp97_;
	gchar* _tmp98_;
	gchar** _tmp99_;
	GtkBox* _tmp100_ = NULL;
	GtkBox* _tmp101_;
	GtkImage* _tmp102_;
	GtkBox* _tmp103_;
	GtkLabel* _tmp104_;
	GtkBox* _tmp105_;
	GtkWidget* _tmp106_;
	GtkRevealer* _tmp107_ = NULL;
	GtkBox* _tmp108_ = NULL;
	GtkBox* _tmp109_;
	GtkRevealer* _tmp110_;
	GtkBox* _tmp111_;
	WidgetsLabelsSummary* _tmp112_;
	GtkBox* _tmp113_;
	GtkRevealer* _tmp114_;
	GtkBox* _tmp115_;
	GtkRevealer* _tmp116_;
	GtkBox* _tmp117_;
	GtkRevealer* _tmp118_;
	GtkBox* _tmp119_;
	GtkWidget* _tmp120_;
	GtkRevealer* _tmp121_ = NULL;
	GtkBox* _tmp122_;
	GtkBox* _tmp123_;
	GtkBox* _tmp124_;
	GtkBox* _tmp125_;
	GtkRevealer* _tmp126_;
	GtkBox* _tmp127_;
	GtkRevealer* _tmp128_;
	GtkBox* _tmp129_;
	GtkRevealer* _tmp130_;
	GtkBox* _tmp131_;
	GtkWidget* _tmp132_;
	AdwBin* _tmp133_ = NULL;
	AdwBin* _tmp134_;
	AdwBin* _tmp135_;
	AdwBin* _tmp136_;
	AdwBin* _tmp137_;
	AdwBin* _tmp138_;
	GtkOverlay* overlay = NULL;
	GtkOverlay* _tmp139_;
	GtkOverlay* _tmp140_;
	AdwBin* _tmp141_;
	GtkOverlay* _tmp142_;
	GtkRevealer* _tmp143_;
	GtkBox* v_box = NULL;
	GtkBox* _tmp144_ = NULL;
	GtkBox* _tmp145_;
	GtkRevealer* _tmp146_;
	GtkBox* _tmp147_;
	GtkOverlay* _tmp148_;
	GtkScrolledWindow* scrolled_window = NULL;
	GtkBox* _tmp149_;
	GtkWidget* _tmp150_;
	GtkScrolledWindow* _tmp151_ = NULL;
	GtkScrolledWindow* _tmp152_;
	GtkWidget* _tmp153_;
	GtkRevealer* _tmp154_ = NULL;
	GtkRevealer* _tmp155_;
	GtkRevealer* _tmp156_;
	guint _tmp157_;
	guint _tmp158_;
	gboolean _tmp159_ = FALSE;
	ObjectsItem* _tmp160_;
	ObjectsItem* _tmp161_;
	gboolean _tmp162_;
	gboolean _tmp163_;
	GtkGestureClick* _tmp168_;
	GtkCheckButton* _tmp169_;
	GtkGestureClick* _tmp170_;
	GtkEventController* _tmp171_;
	GeeHashMap* _tmp172_;
	GtkGestureClick* _tmp173_;
	gulong _tmp174_;
	GtkGestureClick* _tmp175_;
	GeeHashMap* _tmp176_;
	GtkCheckButton* _tmp177_;
	gulong _tmp178_;
	GtkCheckButton* _tmp179_;
	GtkGestureClick* _tmp180_;
	GtkCheckButton* _tmp181_;
	GtkGestureClick* _tmp182_;
	GtkEventController* _tmp183_;
	GeeHashMap* _tmp184_;
	GtkGestureClick* _tmp185_;
	gulong _tmp186_;
	GtkGestureClick* _tmp187_;
	GtkGestureClick* _tmp188_;
	AdwBin* _tmp189_;
	GtkGestureClick* _tmp190_;
	GtkEventController* _tmp191_;
	GeeHashMap* _tmp192_;
	GtkGestureClick* _tmp193_;
	gulong _tmp194_;
	GtkGestureClick* _tmp195_;
	GtkGestureClick* menu_handle_gesture = NULL;
	GtkGestureClick* _tmp196_;
	GtkGestureClick* _tmp197_;
	AdwBin* _tmp198_;
	GtkGestureClick* _tmp199_;
	GtkEventController* _tmp200_;
	GeeHashMap* _tmp201_;
	GtkGestureClick* _tmp202_;
	gulong _tmp203_;
	GtkGestureClick* _tmp204_;
	GeeHashMap* _tmp205_;
	ObjectsItem* _tmp206_;
	ObjectsItem* _tmp207_;
	gulong _tmp208_;
	ObjectsItem* _tmp209_;
	ObjectsItem* _tmp210_;
	GeeHashMap* _tmp211_;
	ObjectsItem* _tmp212_;
	ObjectsItem* _tmp213_;
	gulong _tmp214_;
	ObjectsItem* _tmp215_;
	ObjectsItem* _tmp216_;
	GeeHashMap* _tmp217_;
	ObjectsItem* _tmp218_;
	ObjectsItem* _tmp219_;
	gulong _tmp220_;
	ObjectsItem* _tmp221_;
	ObjectsItem* _tmp222_;
	GeeHashMap* _tmp223_;
	ObjectsItem* _tmp224_;
	ObjectsItem* _tmp225_;
	gulong _tmp226_;
	ObjectsItem* _tmp227_;
	ObjectsItem* _tmp228_;
	GeeHashMap* _tmp229_;
	ServicesStore* _tmp230_;
	gulong _tmp231_;
	ServicesStore* _tmp232_;
	GeeHashMap* _tmp233_;
	ServicesEventBus* _tmp234_;
	ServicesEventBus* _tmp235_;
	gulong _tmp236_;
	ServicesEventBus* _tmp237_;
	ServicesEventBus* _tmp238_;
	GeeHashMap* _tmp239_;
	ServicesEventBus* _tmp240_;
	ServicesEventBus* _tmp241_;
	gulong _tmp242_;
	ServicesEventBus* _tmp243_;
	ServicesEventBus* _tmp244_;
	GeeHashMap* _tmp245_;
	ServicesEventBus* _tmp246_;
	ServicesEventBus* _tmp247_;
	gulong _tmp248_;
	ServicesEventBus* _tmp249_;
	ServicesEventBus* _tmp250_;
	GeeHashMap* _tmp251_;
	ObjectsItem* _tmp252_;
	ObjectsItem* _tmp253_;
	gulong _tmp254_;
	ObjectsItem* _tmp255_;
	ObjectsItem* _tmp256_;
	GeeHashMap* _tmp257_;
	ObjectsItem* _tmp258_;
	ObjectsItem* _tmp259_;
	gulong _tmp260_;
	ObjectsItem* _tmp261_;
	ObjectsItem* _tmp262_;
	GeeHashMap* _tmp263_;
	ObjectsItem* _tmp264_;
	ObjectsItem* _tmp265_;
	gulong _tmp266_;
	ObjectsItem* _tmp267_;
	ObjectsItem* _tmp268_;
	GeeHashMap* _tmp269_;
	ServicesEventBus* _tmp270_;
	ServicesEventBus* _tmp271_;
	gulong _tmp272_;
	ServicesEventBus* _tmp273_;
	ServicesEventBus* _tmp274_;
	GeeHashMap* _tmp275_;
	WidgetsLoadingButton* _tmp276_;
	gulong _tmp277_;
	WidgetsLoadingButton* _tmp278_;
	GeeHashMap* _tmp279_;
	ServicesEventBus* _tmp280_;
	ServicesEventBus* _tmp281_;
	gulong _tmp282_;
	ServicesEventBus* _tmp283_;
	ServicesEventBus* _tmp284_;
	GeeHashMap* _tmp285_;
	gulong _tmp286_;
	parent_class = G_OBJECT_CLASS (layouts_item_board_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, LAYOUTS_TYPE_ITEM_BOARD, LayoutsItemBoard);
	_data41_ = g_slice_new0 (Block41Data);
	_data41_->_ref_count_ = 1;
	_data41_->self = g_object_ref (self);
	gtk_widget_add_css_class ((GtkWidget*) self, "br-12");
	gtk_widget_add_css_class ((GtkWidget*) self, "row");
	gtk_widget_add_css_class ((GtkWidget*) self, "no-padding");
	_tmp0_ = g_strdup ("drop-area");
	_tmp1_ = g_strdup ("drop-target");
	_tmp2_ = g_new0 (gchar*, 2 + 1);
	_tmp2_[0] = _tmp0_;
	_tmp2_[1] = _tmp1_;
	_tmp3_ = (GtkGrid*) gtk_grid_new ();
	gtk_widget_set_css_classes ((GtkWidget*) _tmp3_, _tmp2_);
	_tmp2_ = (_vala_array_free (_tmp2_, 2, (GDestroyNotify) g_free), NULL);
	gtk_widget_set_margin_bottom ((GtkWidget*) _tmp3_, 3);
	g_object_ref_sink (_tmp3_);
	_g_object_unref0 (self->priv->motion_top_grid);
	self->priv->motion_top_grid = _tmp3_;
	_tmp4_ = self->priv->motion_top_grid;
	_tmp5_ = _g_object_ref0 ((GtkWidget*) _tmp4_);
	_tmp6_ = (GtkRevealer*) gtk_revealer_new ();
	gtk_revealer_set_transition_type (_tmp6_, GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN);
	gtk_revealer_set_child (_tmp6_, _tmp5_);
	_g_object_unref0 (_tmp5_);
	g_object_ref_sink (_tmp6_);
	_g_object_unref0 (self->priv->motion_top_revealer);
	self->priv->motion_top_revealer = _tmp6_;
	_tmp7_ = g_strdup ("priority-color");
	_tmp8_ = g_new0 (gchar*, 1 + 1);
	_tmp8_[0] = _tmp7_;
	_tmp9_ = (GtkCheckButton*) gtk_check_button_new ();
	gtk_widget_set_valign ((GtkWidget*) _tmp9_, GTK_ALIGN_START);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp9_, _tmp8_);
	_tmp8_ = (_vala_array_free (_tmp8_, 1, (GDestroyNotify) g_free), NULL);
	g_object_ref_sink (_tmp9_);
	_g_object_unref0 (self->priv->checked_button);
	self->priv->checked_button = _tmp9_;
	_tmp10_ = self->priv->checked_button;
	_tmp11_ = _g_object_ref0 ((GtkWidget*) _tmp10_);
	_tmp12_ = (GtkRevealer*) gtk_revealer_new ();
	gtk_revealer_set_child (_tmp12_, _tmp11_);
	_g_object_unref0 (_tmp11_);
	gtk_revealer_set_transition_type (_tmp12_, GTK_REVEALER_TRANSITION_TYPE_SLIDE_RIGHT);
	gtk_revealer_set_reveal_child (_tmp12_, TRUE);
	g_object_ref_sink (_tmp12_);
	_g_object_unref0 (self->priv->checked_button_revealer);
	self->priv->checked_button_revealer = _tmp12_;
	_tmp13_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp14_ = _tmp13_;
	_tmp15_ = objects_item_get_content (_tmp14_);
	_tmp16_ = _tmp15_;
	_tmp17_ = (GtkLabel*) gtk_label_new (_tmp16_);
	gtk_label_set_wrap (_tmp17_, TRUE);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp17_, TRUE);
	gtk_label_set_wrap_mode (_tmp17_, PANGO_WRAP_WORD_CHAR);
	gtk_label_set_xalign (_tmp17_, (gfloat) 0);
	gtk_label_set_yalign (_tmp17_, (gfloat) 0);
	gtk_label_set_use_markup (_tmp17_, TRUE);
	g_object_ref_sink (_tmp17_);
	_g_object_unref0 (self->priv->content_label);
	self->priv->content_label = _tmp17_;
	_tmp18_ = g_strdup (_ ("Unpin"));
	_tmp19_ = g_strdup ("min-height-0");
	_tmp20_ = g_strdup ("view-button");
	_tmp21_ = g_new0 (gchar*, 2 + 1);
	_tmp21_[0] = _tmp19_;
	_tmp21_[1] = _tmp20_;
	_tmp22_ = widgets_loading_button_new_with_icon ("window-close", 16);
	gtk_widget_set_valign ((GtkWidget*) _tmp22_, GTK_ALIGN_CENTER);
	gtk_widget_set_halign ((GtkWidget*) _tmp22_, GTK_ALIGN_CENTER);
	gtk_widget_set_tooltip_text ((GtkWidget*) _tmp22_, _tmp18_);
	_g_free0 (_tmp18_);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp22_, _tmp21_);
	_tmp21_ = (_vala_array_free (_tmp21_, 2, (GDestroyNotify) g_free), NULL);
	gtk_widget_set_margin_end ((GtkWidget*) _tmp22_, 6);
	gtk_widget_set_margin_top ((GtkWidget*) _tmp22_, 6);
	g_object_ref_sink (_tmp22_);
	_g_object_unref0 (self->priv->hide_loading_button);
	self->priv->hide_loading_button = _tmp22_;
	_tmp23_ = self->priv->hide_loading_button;
	_tmp24_ = _g_object_ref0 ((GtkWidget*) _tmp23_);
	_tmp25_ = (GtkRevealer*) gtk_revealer_new ();
	gtk_revealer_set_transition_type (_tmp25_, GTK_REVEALER_TRANSITION_TYPE_SLIDE_LEFT);
	gtk_widget_set_valign ((GtkWidget*) _tmp25_, GTK_ALIGN_START);
	gtk_widget_set_halign ((GtkWidget*) _tmp25_, GTK_ALIGN_END);
	gtk_widget_set_vexpand ((GtkWidget*) _tmp25_, TRUE);
	gtk_revealer_set_child (_tmp25_, _tmp24_);
	_g_object_unref0 (_tmp24_);
	g_object_ref_sink (_tmp25_);
	_g_object_unref0 (self->priv->hide_loading_revealer);
	self->priv->hide_loading_revealer = _tmp25_;
	_tmp26_ = g_strdup ("circular-check");
	_tmp27_ = g_new0 (gchar*, 1 + 1);
	_tmp27_[0] = _tmp26_;
	_tmp28_ = (GtkCheckButton*) gtk_check_button_new ();
	gtk_widget_set_valign ((GtkWidget*) _tmp28_, GTK_ALIGN_CENTER);
	gtk_widget_set_margin_start ((GtkWidget*) _tmp28_, 6);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp28_, _tmp27_);
	_tmp27_ = (_vala_array_free (_tmp27_, 1, (GDestroyNotify) g_free), NULL);
	g_object_ref_sink (_tmp28_);
	_g_object_unref0 (self->priv->select_checkbutton);
	self->priv->select_checkbutton = _tmp28_;
	_tmp29_ = self->priv->select_checkbutton;
	_tmp30_ = _g_object_ref0 ((GtkWidget*) _tmp29_);
	_tmp31_ = (GtkRevealer*) gtk_revealer_new ();
	gtk_revealer_set_transition_type (_tmp31_, GTK_REVEALER_TRANSITION_TYPE_SLIDE_LEFT);
	gtk_revealer_set_child (_tmp31_, _tmp30_);
	_g_object_unref0 (_tmp30_);
	g_object_ref_sink (_tmp31_);
	_g_object_unref0 (self->priv->select_revealer);
	self->priv->select_revealer = _tmp31_;
	_tmp32_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
	gtk_widget_set_margin_top ((GtkWidget*) _tmp32_, 6);
	gtk_widget_set_margin_start ((GtkWidget*) _tmp32_, 6);
	gtk_widget_set_margin_end ((GtkWidget*) _tmp32_, 6);
	g_object_ref_sink (_tmp32_);
	_g_object_unref0 (self->priv->content_box);
	self->priv->content_box = _tmp32_;
	_tmp33_ = self->priv->content_box;
	gtk_widget_add_css_class ((GtkWidget*) _tmp33_, "transition");
	_tmp34_ = self->priv->content_box;
	_tmp35_ = self->priv->checked_button_revealer;
	gtk_box_append (_tmp34_, (GtkWidget*) _tmp35_);
	_tmp36_ = self->priv->content_box;
	_tmp37_ = self->priv->content_label;
	gtk_box_append (_tmp36_, (GtkWidget*) _tmp37_);
	_tmp38_ = self->priv->content_box;
	_tmp39_ = self->priv->select_revealer;
	gtk_box_append (_tmp38_, (GtkWidget*) _tmp39_);
	_tmp40_ = g_strdup ("dimmed");
	_tmp41_ = g_strdup ("caption");
	_tmp42_ = g_strdup ("transition");
	_tmp43_ = g_new0 (gchar*, 3 + 1);
	_tmp43_[0] = _tmp40_;
	_tmp43_[1] = _tmp41_;
	_tmp43_[2] = _tmp42_;
	_tmp44_ = (GtkLabel*) gtk_label_new (NULL);
	gtk_label_set_xalign (_tmp44_, (gfloat) 0);
	gtk_label_set_lines (_tmp44_, 1);
	gtk_label_set_ellipsize (_tmp44_, PANGO_ELLIPSIZE_END);
	gtk_widget_set_margin_start ((GtkWidget*) _tmp44_, 30);
	gtk_widget_set_margin_end ((GtkWidget*) _tmp44_, 6);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp44_, _tmp43_);
	_tmp43_ = (_vala_array_free (_tmp43_, 3, (GDestroyNotify) g_free), NULL);
	g_object_ref_sink (_tmp44_);
	_g_object_unref0 (self->priv->description_label);
	self->priv->description_label = _tmp44_;
	_tmp45_ = self->priv->description_label;
	_tmp46_ = _g_object_ref0 ((GtkWidget*) _tmp45_);
	_tmp47_ = (GtkRevealer*) gtk_revealer_new ();
	gtk_revealer_set_transition_type (_tmp47_, GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN);
	gtk_revealer_set_child (_tmp47_, _tmp46_);
	_g_object_unref0 (_tmp46_);
	g_object_ref_sink (_tmp47_);
	_g_object_unref0 (self->priv->description_revealer);
	self->priv->description_revealer = _tmp47_;
	_tmp48_ = g_strdup ("caption");
	_tmp49_ = g_new0 (gchar*, 1 + 1);
	_tmp49_[0] = _tmp48_;
	_tmp50_ = (GtkLabel*) gtk_label_new (NULL);
	gtk_widget_set_valign ((GtkWidget*) _tmp50_, GTK_ALIGN_CENTER);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp50_, _tmp49_);
	_tmp49_ = (_vala_array_free (_tmp49_, 1, (GDestroyNotify) g_free), NULL);
	g_object_ref_sink (_tmp50_);
	_g_object_unref0 (self->priv->due_label);
	self->priv->due_label = _tmp50_;
	_tmp51_ = (GtkImage*) gtk_image_new_from_icon_name ("playlist-repeat-symbolic");
	gtk_image_set_pixel_size (_tmp51_, 12);
	gtk_widget_set_margin_top ((GtkWidget*) _tmp51_, 3);
	gtk_widget_set_margin_start ((GtkWidget*) _tmp51_, 6);
	g_object_ref_sink (_tmp51_);
	repeat_image = _tmp51_;
	_tmp52_ = repeat_image;
	_tmp53_ = _g_object_ref0 ((GtkWidget*) _tmp52_);
	_tmp54_ = (GtkRevealer*) gtk_revealer_new ();
	gtk_revealer_set_transition_type (_tmp54_, GTK_REVEALER_TRANSITION_TYPE_SLIDE_LEFT);
	gtk_revealer_set_child (_tmp54_, _tmp53_);
	_g_object_unref0 (_tmp53_);
	g_object_ref_sink (_tmp54_);
	_g_object_unref0 (self->priv->repeat_revealer);
	self->priv->repeat_revealer = _tmp54_;
	_tmp55_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
	gtk_widget_set_valign ((GtkWidget*) _tmp55_, GTK_ALIGN_CENTER);
	gtk_widget_set_margin_end ((GtkWidget*) _tmp55_, 6);
	g_object_ref_sink (_tmp55_);
	_g_object_unref0 (self->priv->due_box);
	self->priv->due_box = _tmp55_;
	_tmp56_ = self->priv->due_box;
	_tmp57_ = self->priv->due_label;
	gtk_box_append (_tmp56_, (GtkWidget*) _tmp57_);
	_tmp58_ = self->priv->due_box;
	_tmp59_ = self->priv->repeat_revealer;
	gtk_box_append (_tmp58_, (GtkWidget*) _tmp59_);
	_tmp60_ = self->priv->due_box;
	_tmp61_ = _g_object_ref0 ((GtkWidget*) _tmp60_);
	_tmp62_ = (GtkRevealer*) gtk_revealer_new ();
	gtk_revealer_set_transition_type (_tmp62_, GTK_REVEALER_TRANSITION_TYPE_SLIDE_LEFT);
	gtk_revealer_set_child (_tmp62_, _tmp61_);
	_g_object_unref0 (_tmp61_);
	g_object_ref_sink (_tmp62_);
	_g_object_unref0 (self->priv->due_box_revealer);
	self->priv->due_box_revealer = _tmp62_;
	_tmp63_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp64_ = _tmp63_;
	_tmp65_ = widgets_labels_summary_new (_tmp64_, 1, TRUE);
	widgets_labels_summary_set_end_margin (_tmp65_, 6);
	g_object_ref_sink (_tmp65_);
	_g_object_unref0 (self->priv->labels_summary);
	self->priv->labels_summary = _tmp65_;
	_tmp66_ = (GtkImage*) gtk_image_new_from_icon_name ("alarm-symbolic");
	gtk_image_set_pixel_size (_tmp66_, 12);
	g_object_ref_sink (_tmp66_);
	reminder_icon = _tmp66_;
	_tmp67_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp68_ = _tmp67_;
	_tmp69_ = objects_item_get_reminders (_tmp68_);
	_tmp70_ = _tmp69_;
	_tmp71_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp70_);
	_tmp72_ = _tmp71_;
	_tmp73_ = g_strdup_printf ("%i", _tmp72_);
	_tmp74_ = _tmp73_;
	_tmp75_ = (GtkLabel*) gtk_label_new (_tmp74_);
	g_object_ref_sink (_tmp75_);
	_g_object_unref0 (self->priv->reminder_count);
	self->priv->reminder_count = _tmp75_;
	_g_free0 (_tmp74_);
	_tmp76_ = self->priv->reminder_count;
	gtk_widget_add_css_class ((GtkWidget*) _tmp76_, "caption");
	_tmp77_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3);
	gtk_widget_set_valign ((GtkWidget*) _tmp77_, GTK_ALIGN_CENTER);
	gtk_widget_set_margin_end ((GtkWidget*) _tmp77_, 6);
	g_object_ref_sink (_tmp77_);
	reminder_box = _tmp77_;
	_tmp78_ = reminder_box;
	gtk_widget_add_css_class ((GtkWidget*) _tmp78_, "upcoming-grid");
	_tmp79_ = reminder_box;
	_tmp80_ = reminder_icon;
	gtk_box_append (_tmp79_, (GtkWidget*) _tmp80_);
	_tmp81_ = reminder_box;
	_tmp82_ = self->priv->reminder_count;
	gtk_box_append (_tmp81_, (GtkWidget*) _tmp82_);
	_tmp83_ = reminder_box;
	_tmp84_ = _g_object_ref0 ((GtkWidget*) _tmp83_);
	_tmp85_ = (GtkRevealer*) gtk_revealer_new ();
	gtk_revealer_set_transition_type (_tmp85_, GTK_REVEALER_TRANSITION_TYPE_SLIDE_RIGHT);
	gtk_revealer_set_child (_tmp85_, _tmp84_);
	_g_object_unref0 (_tmp84_);
	g_object_ref_sink (_tmp85_);
	_g_object_unref0 (self->priv->reminder_revealer);
	self->priv->reminder_revealer = _tmp85_;
	_tmp86_ = (GtkLabel*) gtk_label_new (NULL);
	g_object_ref_sink (_tmp86_);
	_g_object_unref0 (self->priv->subtaks_label);
	self->priv->subtaks_label = _tmp86_;
	_tmp87_ = self->priv->subtaks_label;
	gtk_widget_add_css_class ((GtkWidget*) _tmp87_, "caption");
	_tmp88_ = self->priv->subtaks_label;
	_tmp89_ = _g_object_ref0 ((GtkWidget*) _tmp88_);
	_tmp90_ = (AdwBin*) adw_bin_new ();
	adw_bin_set_child (_tmp90_, _tmp89_);
	_g_object_unref0 (_tmp89_);
	gtk_widget_set_margin_end ((GtkWidget*) _tmp90_, 6);
	g_object_ref_sink (_tmp90_);
	subtaks_container = _tmp90_;
	_tmp91_ = subtaks_container;
	gtk_widget_add_css_class ((GtkWidget*) _tmp91_, "upcoming-grid");
	_tmp92_ = subtaks_container;
	_tmp93_ = _g_object_ref0 ((GtkWidget*) _tmp92_);
	_tmp94_ = (GtkRevealer*) gtk_revealer_new ();
	gtk_revealer_set_transition_type (_tmp94_, GTK_REVEALER_TRANSITION_TYPE_SLIDE_RIGHT);
	gtk_revealer_set_child (_tmp94_, _tmp93_);
	_g_object_unref0 (_tmp93_);
	g_object_ref_sink (_tmp94_);
	_g_object_unref0 (self->priv->subtaks_revealer);
	self->priv->subtaks_revealer = _tmp94_;
	_tmp95_ = (GtkImage*) gtk_image_new_from_icon_name ("delay-long-small-symbolic");
	gtk_image_set_pixel_size (_tmp95_, 12);
	g_object_ref_sink (_tmp95_);
	deadline_icon = _tmp95_;
	_tmp96_ = (GtkLabel*) gtk_label_new (NULL);
	g_object_ref_sink (_tmp96_);
	_g_object_unref0 (self->priv->deadline_label);
	self->priv->deadline_label = _tmp96_;
	_tmp97_ = self->priv->deadline_label;
	gtk_widget_add_css_class ((GtkWidget*) _tmp97_, "caption");
	_tmp98_ = g_strdup ("dimmed");
	_tmp99_ = g_new0 (gchar*, 1 + 1);
	_tmp99_[0] = _tmp98_;
	_tmp100_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3);
	gtk_widget_set_valign ((GtkWidget*) _tmp100_, GTK_ALIGN_CENTER);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp100_, TRUE);
	gtk_widget_set_halign ((GtkWidget*) _tmp100_, GTK_ALIGN_END);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp100_, _tmp99_);
	_tmp99_ = (_vala_array_free (_tmp99_, 1, (GDestroyNotify) g_free), NULL);
	g_object_ref_sink (_tmp100_);
	_g_object_unref0 (self->priv->deadline_box);
	self->priv->deadline_box = _tmp100_;
	_tmp101_ = self->priv->deadline_box;
	_tmp102_ = deadline_icon;
	gtk_box_append (_tmp101_, (GtkWidget*) _tmp102_);
	_tmp103_ = self->priv->deadline_box;
	_tmp104_ = self->priv->deadline_label;
	gtk_box_append (_tmp103_, (GtkWidget*) _tmp104_);
	_tmp105_ = self->priv->deadline_box;
	_tmp106_ = _g_object_ref0 ((GtkWidget*) _tmp105_);
	_tmp107_ = (GtkRevealer*) gtk_revealer_new ();
	gtk_revealer_set_transition_type (_tmp107_, GTK_REVEALER_TRANSITION_TYPE_SLIDE_RIGHT);
	gtk_revealer_set_child (_tmp107_, _tmp106_);
	_g_object_unref0 (_tmp106_);
	g_object_ref_sink (_tmp107_);
	_g_object_unref0 (self->priv->deadline_revealer);
	self->priv->deadline_revealer = _tmp107_;
	_tmp108_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp108_, TRUE);
	gtk_widget_set_margin_start ((GtkWidget*) _tmp108_, 30);
	gtk_widget_set_margin_top ((GtkWidget*) _tmp108_, 3);
	gtk_widget_set_margin_end ((GtkWidget*) _tmp108_, 12);
	g_object_ref_sink (_tmp108_);
	_g_object_unref0 (self->footer_box);
	self->footer_box = _tmp108_;
	_tmp109_ = self->footer_box;
	_tmp110_ = self->priv->due_box_revealer;
	gtk_box_append (_tmp109_, (GtkWidget*) _tmp110_);
	_tmp111_ = self->footer_box;
	_tmp112_ = self->priv->labels_summary;
	gtk_box_append (_tmp111_, (GtkWidget*) _tmp112_);
	_tmp113_ = self->footer_box;
	_tmp114_ = self->priv->reminder_revealer;
	gtk_box_append (_tmp113_, (GtkWidget*) _tmp114_);
	_tmp115_ = self->footer_box;
	_tmp116_ = self->priv->subtaks_revealer;
	gtk_box_append (_tmp115_, (GtkWidget*) _tmp116_);
	_tmp117_ = self->footer_box;
	_tmp118_ = self->priv->deadline_revealer;
	gtk_box_append (_tmp117_, (GtkWidget*) _tmp118_);
	_tmp119_ = self->footer_box;
	_tmp120_ = _g_object_ref0 ((GtkWidget*) _tmp119_);
	_tmp121_ = (GtkRevealer*) gtk_revealer_new ();
	gtk_revealer_set_transition_type (_tmp121_, GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN);
	gtk_revealer_set_child (_tmp121_, _tmp120_);
	_g_object_unref0 (_tmp120_);
	g_object_ref_sink (_tmp121_);
	_g_object_unref0 (self->priv->footer_revealer);
	self->priv->footer_revealer = _tmp121_;
	_tmp122_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
	g_object_ref_sink (_tmp122_);
	_g_object_unref0 (self->handle_grid);
	self->handle_grid = _tmp122_;
	_tmp123_ = self->handle_grid;
	_tmp124_ = self->priv->content_box;
	gtk_box_append (_tmp123_, (GtkWidget*) _tmp124_);
	_tmp125_ = self->handle_grid;
	_tmp126_ = self->priv->description_revealer;
	gtk_box_append (_tmp125_, (GtkWidget*) _tmp126_);
	_tmp127_ = self->handle_grid;
	_tmp128_ = self->priv->deadline_revealer;
	gtk_box_append (_tmp127_, (GtkWidget*) _tmp128_);
	_tmp129_ = self->handle_grid;
	_tmp130_ = self->priv->footer_revealer;
	gtk_box_append (_tmp129_, (GtkWidget*) _tmp130_);
	_tmp131_ = self->handle_grid;
	_tmp132_ = _g_object_ref0 ((GtkWidget*) _tmp131_);
	_tmp133_ = (AdwBin*) adw_bin_new ();
	gtk_widget_set_margin_top ((GtkWidget*) _tmp133_, 3);
	gtk_widget_set_margin_end ((GtkWidget*) _tmp133_, 3);
	gtk_widget_set_margin_bottom ((GtkWidget*) _tmp133_, 3);
	adw_bin_set_child (_tmp133_, _tmp132_);
	_g_object_unref0 (_tmp132_);
	g_object_ref_sink (_tmp133_);
	_g_object_unref0 (self->card_widget);
	self->card_widget = _tmp133_;
	_tmp134_ = self->card_widget;
	gtk_widget_add_css_class ((GtkWidget*) _tmp134_, "card");
	_tmp135_ = self->card_widget;
	gtk_widget_add_css_class ((GtkWidget*) _tmp135_, "border-radius-9");
	_tmp136_ = self->card_widget;
	gtk_widget_add_css_class ((GtkWidget*) _tmp136_, "pb-6");
	_tmp137_ = self->card_widget;
	gtk_widget_add_css_class ((GtkWidget*) _tmp137_, "activatable");
	_tmp138_ = self->card_widget;
	gtk_widget_add_css_class ((GtkWidget*) _tmp138_, "task-item");
	_tmp139_ = (GtkOverlay*) gtk_overlay_new ();
	g_object_ref_sink (_tmp139_);
	overlay = _tmp139_;
	_tmp140_ = overlay;
	_tmp141_ = self->card_widget;
	gtk_overlay_set_child (_tmp140_, (GtkWidget*) _tmp141_);
	_tmp142_ = overlay;
	_tmp143_ = self->priv->hide_loading_revealer;
	gtk_overlay_add_overlay (_tmp142_, (GtkWidget*) _tmp143_);
	_tmp144_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
	gtk_widget_set_margin_start ((GtkWidget*) _tmp144_, 3);
	g_object_ref_sink (_tmp144_);
	v_box = _tmp144_;
	_tmp145_ = v_box;
	_tmp146_ = self->priv->motion_top_revealer;
	gtk_box_append (_tmp145_, (GtkWidget*) _tmp146_);
	_tmp147_ = v_box;
	_tmp148_ = overlay;
	gtk_box_append (_tmp147_, (GtkWidget*) _tmp148_);
	_tmp149_ = v_box;
	_tmp150_ = _g_object_ref0 ((GtkWidget*) _tmp149_);
	_tmp151_ = (GtkScrolledWindow*) gtk_scrolled_window_new ();
	g_object_set (_tmp151_, "hscrollbar-policy", GTK_POLICY_NEVER, NULL);
	g_object_set (_tmp151_, "vscrollbar-policy", GTK_POLICY_NEVER, NULL);
	gtk_scrolled_window_set_child (_tmp151_, _tmp150_);
	_g_object_unref0 (_tmp150_);
	g_object_ref_sink (_tmp151_);
	scrolled_window = _tmp151_;
	_tmp152_ = scrolled_window;
	_tmp153_ = _g_object_ref0 ((GtkWidget*) _tmp152_);
	_tmp154_ = (GtkRevealer*) gtk_revealer_new ();
	gtk_revealer_set_transition_type (_tmp154_, GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN);
	gtk_revealer_set_child (_tmp154_, _tmp153_);
	_g_object_unref0 (_tmp153_);
	g_object_ref_sink (_tmp154_);
	_g_object_unref0 (self->priv->main_revealer);
	self->priv->main_revealer = _tmp154_;
	_tmp155_ = self->priv->main_revealer;
	gtk_list_box_row_set_child ((GtkListBoxRow*) self, (GtkWidget*) _tmp155_);
	layouts_item_base_update_request ((LayoutsItemBase*) self);
	_tmp156_ = self->priv->main_revealer;
	_tmp157_ = gtk_revealer_get_transition_duration (_tmp156_);
	_tmp158_ = _tmp157_;
	g_timeout_add_full (G_PRIORITY_DEFAULT, _tmp158_, __layouts_item_board___lambda96__gsource_func, g_object_ref (self), g_object_unref);
	layouts_item_base_update_request ((LayoutsItemBase*) self);
	_tmp160_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp161_ = _tmp160_;
	_tmp162_ = objects_item_get_pinned (_tmp161_);
	_tmp163_ = _tmp162_;
	if (!_tmp163_) {
		ObjectsItem* _tmp164_;
		ObjectsItem* _tmp165_;
		gboolean _tmp166_;
		gboolean _tmp167_;
		_tmp164_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
		_tmp165_ = _tmp164_;
		_tmp166_ = objects_item_get_checked (_tmp165_);
		_tmp167_ = _tmp166_;
		_tmp159_ = !_tmp167_;
	} else {
		_tmp159_ = FALSE;
	}
	if (_tmp159_) {
		layouts_item_board_build_drag_and_drop (self);
	}
	_tmp168_ = (GtkGestureClick*) gtk_gesture_click_new ();
	_data41_->checked_button_gesture = _tmp168_;
	_tmp169_ = self->priv->checked_button;
	_tmp170_ = _data41_->checked_button_gesture;
	_tmp171_ = _g_object_ref0 ((GtkEventController*) _tmp170_);
	gtk_widget_add_controller ((GtkWidget*) _tmp169_, _tmp171_);
	_tmp172_ = ((LayoutsItemBase*) self)->signals_map;
	_tmp173_ = _data41_->checked_button_gesture;
	_tmp174_ = g_signal_connect_data (_tmp173_, "pressed", (GCallback) __layouts_item_board___lambda97__gtk_gesture_click_pressed, block41_data_ref (_data41_), (GClosureNotify) block41_data_unref, 0);
	_tmp175_ = _data41_->checked_button_gesture;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp172_, (gpointer) ((guintptr) _tmp174_), (GObject*) _tmp175_);
	_tmp176_ = ((LayoutsItemBase*) self)->signals_map;
	_tmp177_ = self->priv->checked_button;
	_tmp178_ = g_signal_connect_data (_tmp177_, "toggled", (GCallback) __layouts_item_board___lambda98__gtk_check_button_toggled, block41_data_ref (_data41_), (GClosureNotify) block41_data_unref, 0);
	_tmp179_ = self->priv->checked_button;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp176_, (gpointer) ((guintptr) _tmp178_), (GObject*) _tmp179_);
	_tmp180_ = (GtkGestureClick*) gtk_gesture_click_new ();
	_data41_->select_button_gesture = _tmp180_;
	_tmp181_ = self->priv->select_checkbutton;
	_tmp182_ = _data41_->select_button_gesture;
	_tmp183_ = _g_object_ref0 ((GtkEventController*) _tmp182_);
	gtk_widget_add_controller ((GtkWidget*) _tmp181_, _tmp183_);
	_tmp184_ = ((LayoutsItemBase*) self)->signals_map;
	_tmp185_ = _data41_->select_button_gesture;
	_tmp186_ = g_signal_connect_data (_tmp185_, "pressed", (GCallback) __layouts_item_board___lambda99__gtk_gesture_click_pressed, block41_data_ref (_data41_), (GClosureNotify) block41_data_unref, 0);
	_tmp187_ = _data41_->select_button_gesture;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp184_, (gpointer) ((guintptr) _tmp186_), (GObject*) _tmp187_);
	_tmp188_ = (GtkGestureClick*) gtk_gesture_click_new ();
	_data41_->detail_gesture_click = _tmp188_;
	_tmp189_ = self->card_widget;
	_tmp190_ = _data41_->detail_gesture_click;
	_tmp191_ = _g_object_ref0 ((GtkEventController*) _tmp190_);
	gtk_widget_add_controller ((GtkWidget*) _tmp189_, _tmp191_);
	_tmp192_ = ((LayoutsItemBase*) self)->signals_map;
	_tmp193_ = _data41_->detail_gesture_click;
	_tmp194_ = g_signal_connect_data (_tmp193_, "released", (GCallback) __layouts_item_board___lambda100__gtk_gesture_click_released, block41_data_ref (_data41_), (GClosureNotify) block41_data_unref, 0);
	_tmp195_ = _data41_->detail_gesture_click;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp192_, (gpointer) ((guintptr) _tmp194_), (GObject*) _tmp195_);
	_tmp196_ = (GtkGestureClick*) gtk_gesture_click_new ();
	menu_handle_gesture = _tmp196_;
	_tmp197_ = menu_handle_gesture;
	gtk_gesture_single_set_button ((GtkGestureSingle*) _tmp197_, (guint) 3);
	_tmp198_ = self->card_widget;
	_tmp199_ = menu_handle_gesture;
	_tmp200_ = _g_object_ref0 ((GtkEventController*) _tmp199_);
	gtk_widget_add_controller ((GtkWidget*) _tmp198_, _tmp200_);
	_tmp201_ = ((LayoutsItemBase*) self)->signals_map;
	_tmp202_ = menu_handle_gesture;
	_tmp203_ = g_signal_connect_object (_tmp202_, "pressed", (GCallback) __layouts_item_board___lambda102__gtk_gesture_click_pressed, self, 0);
	_tmp204_ = menu_handle_gesture;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp201_, (gpointer) ((guintptr) _tmp203_), (GObject*) _tmp204_);
	_tmp205_ = ((LayoutsItemBase*) self)->signals_map;
	_tmp206_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp207_ = _tmp206_;
	_tmp208_ = g_signal_connect_object (_tmp207_, "reminder-added", (GCallback) __layouts_item_board___lambda103__objects_item_reminder_added, self, 0);
	_tmp209_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp210_ = _tmp209_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp205_, (gpointer) ((guintptr) _tmp208_), (GObject*) _tmp210_);
	_tmp211_ = ((LayoutsItemBase*) self)->signals_map;
	_tmp212_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp213_ = _tmp212_;
	_tmp214_ = g_signal_connect_object (_tmp213_, "reminder-deleted", (GCallback) __layouts_item_board___lambda104__objects_item_reminder_deleted, self, 0);
	_tmp215_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp216_ = _tmp215_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp211_, (gpointer) ((guintptr) _tmp214_), (GObject*) _tmp216_);
	_tmp217_ = ((LayoutsItemBase*) self)->signals_map;
	_tmp218_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp219_ = _tmp218_;
	_tmp220_ = g_signal_connect_object (_tmp219_, "item-added", (GCallback) __layouts_item_board___lambda105__objects_item_item_added, self, 0);
	_tmp221_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp222_ = _tmp221_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp217_, (gpointer) ((guintptr) _tmp220_), (GObject*) _tmp222_);
	_tmp223_ = ((LayoutsItemBase*) self)->signals_map;
	_tmp224_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp225_ = _tmp224_;
	_tmp226_ = g_signal_connect_object ((ObjectsBaseObject*) _tmp225_, "updated", (GCallback) __layouts_item_board___lambda106__objects_base_object_updated, self, 0);
	_tmp227_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp228_ = _tmp227_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp223_, (gpointer) ((guintptr) _tmp226_), (GObject*) _tmp228_);
	_tmp229_ = ((LayoutsItemBase*) self)->signals_map;
	_tmp230_ = services_store_instance ();
	_tmp231_ = g_signal_connect_object (_tmp230_, "item-deleted", (GCallback) __layouts_item_board___lambda107__services_store_item_deleted, self, 0);
	_tmp232_ = services_store_instance ();
	gee_abstract_map_set ((GeeAbstractMap*) _tmp229_, (gpointer) ((guintptr) _tmp231_), (GObject*) _tmp232_);
	_tmp233_ = ((LayoutsItemBase*) self)->signals_map;
	_tmp234_ = services_event_bus_get_default ();
	_tmp235_ = _tmp234_;
	_tmp236_ = g_signal_connect_object (_tmp235_, "item-moved", (GCallback) __layouts_item_board___lambda108__services_event_bus_item_moved, self, 0);
	_tmp237_ = services_event_bus_get_default ();
	_tmp238_ = _tmp237_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp233_, (gpointer) ((guintptr) _tmp236_), (GObject*) _tmp238_);
	_g_object_unref0 (_tmp238_);
	_g_object_unref0 (_tmp235_);
	_tmp239_ = ((LayoutsItemBase*) self)->signals_map;
	_tmp240_ = services_event_bus_get_default ();
	_tmp241_ = _tmp240_;
	_tmp242_ = g_signal_connect_object (_tmp241_, "checked-toggled", (GCallback) __layouts_item_board___lambda109__services_event_bus_checked_toggled, self, 0);
	_tmp243_ = services_event_bus_get_default ();
	_tmp244_ = _tmp243_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp239_, (gpointer) ((guintptr) _tmp242_), (GObject*) _tmp244_);
	_g_object_unref0 (_tmp244_);
	_g_object_unref0 (_tmp241_);
	_tmp245_ = ((LayoutsItemBase*) self)->signals_map;
	_tmp246_ = services_event_bus_get_default ();
	_tmp247_ = _tmp246_;
	_tmp248_ = g_signal_connect_object (_tmp247_, "show-multi-select", (GCallback) __layouts_item_board___lambda110__services_event_bus_show_multi_select, self, 0);
	_tmp249_ = services_event_bus_get_default ();
	_tmp250_ = _tmp249_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp245_, (gpointer) ((guintptr) _tmp248_), (GObject*) _tmp250_);
	_g_object_unref0 (_tmp250_);
	_g_object_unref0 (_tmp247_);
	_tmp251_ = ((LayoutsItemBase*) self)->signals_map;
	_tmp252_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp253_ = _tmp252_;
	_tmp254_ = g_signal_connect_object (_tmp253_, "show-item-changed", (GCallback) __layouts_item_board___lambda111__objects_item_show_item_changed, self, 0);
	_tmp255_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp256_ = _tmp255_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp251_, (gpointer) ((guintptr) _tmp254_), (GObject*) _tmp256_);
	_tmp257_ = ((LayoutsItemBase*) self)->signals_map;
	_tmp258_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp259_ = _tmp258_;
	_tmp260_ = g_signal_connect_object ((ObjectsBaseObject*) _tmp259_, "loading-change", (GCallback) __layouts_item_board___lambda112__objects_base_object_loading_change, self, 0);
	_tmp261_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp262_ = _tmp261_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp257_, (gpointer) ((guintptr) _tmp260_), (GObject*) _tmp262_);
	_tmp263_ = ((LayoutsItemBase*) self)->signals_map;
	_tmp264_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp265_ = _tmp264_;
	_tmp266_ = g_signal_connect_object ((ObjectsBaseObject*) _tmp265_, "sensitive-change", (GCallback) __layouts_item_board___lambda113__objects_base_object_sensitive_change, self, 0);
	_tmp267_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp268_ = _tmp267_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp263_, (gpointer) ((guintptr) _tmp266_), (GObject*) _tmp268_);
	_tmp269_ = ((LayoutsItemBase*) self)->signals_map;
	_tmp270_ = services_event_bus_get_default ();
	_tmp271_ = _tmp270_;
	_tmp272_ = g_signal_connect_object (_tmp271_, "drag-items-end", (GCallback) __layouts_item_board___lambda114__services_event_bus_drag_items_end, self, 0);
	_tmp273_ = services_event_bus_get_default ();
	_tmp274_ = _tmp273_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp269_, (gpointer) ((guintptr) _tmp272_), (GObject*) _tmp274_);
	_g_object_unref0 (_tmp274_);
	_g_object_unref0 (_tmp271_);
	_tmp275_ = ((LayoutsItemBase*) self)->signals_map;
	_tmp276_ = self->priv->hide_loading_button;
	_tmp277_ = g_signal_connect_object ((GtkButton*) _tmp276_, "clicked", (GCallback) __layouts_item_board___lambda115__gtk_button_clicked, self, 0);
	_tmp278_ = self->priv->hide_loading_button;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp275_, (gpointer) ((guintptr) _tmp277_), (GObject*) _tmp278_);
	_tmp279_ = ((LayoutsItemBase*) self)->signals_map;
	_tmp280_ = services_event_bus_get_default ();
	_tmp281_ = _tmp280_;
	_tmp282_ = g_signal_connect_object (_tmp281_, "day-changed", (GCallback) __layouts_item_board___lambda116__services_event_bus_day_changed, self, 0);
	_tmp283_ = services_event_bus_get_default ();
	_tmp284_ = _tmp283_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp279_, (gpointer) ((guintptr) _tmp282_), (GObject*) _tmp284_);
	_g_object_unref0 (_tmp284_);
	_g_object_unref0 (_tmp281_);
	_tmp285_ = ((LayoutsItemBase*) self)->signals_map;
	_tmp286_ = g_signal_connect_object ((GtkListBoxRow*) self, "activate", (GCallback) __layouts_item_board___lambda117__gtk_list_box_row_activate, self, 0);
	gee_abstract_map_set ((GeeAbstractMap*) _tmp285_, (gpointer) ((guintptr) _tmp286_), (GObject*) self);
	_g_object_unref0 (menu_handle_gesture);
	_g_object_unref0 (scrolled_window);
	_g_object_unref0 (v_box);
	_g_object_unref0 (overlay);
	_g_object_unref0 (deadline_icon);
	_g_object_unref0 (subtaks_container);
	_g_object_unref0 (reminder_box);
	_g_object_unref0 (reminder_icon);
	_g_object_unref0 (repeat_image);
	block41_data_unref (_data41_);
	_data41_ = NULL;
	return obj;
}

static void
layouts_item_board_class_init (LayoutsItemBoardClass * klass,
                               gpointer klass_data)
{
	layouts_item_board_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &LayoutsItemBoard_private_offset);
	((LayoutsItemBaseClass *) klass)->checked_toggled = (void (*) (LayoutsItemBase*, gboolean, guint*)) layouts_item_board_real_checked_toggled;
	((LayoutsItemBaseClass *) klass)->update_request = (void (*) (LayoutsItemBase*)) layouts_item_board_real_update_request;
	((LayoutsItemBaseClass *) klass)->delete_request = (void (*) (LayoutsItemBase*, gboolean)) layouts_item_board_real_delete_request;
	((LayoutsItemBaseClass *) klass)->select_row = (void (*) (LayoutsItemBase*, gboolean)) layouts_item_board_real_select_row;
	((LayoutsItemBaseClass *) klass)->hide_destroy = (void (*) (LayoutsItemBase*)) layouts_item_board_real_hide_destroy;
	((LayoutsItemBaseClass *) klass)->clean_up = (void (*) (LayoutsItemBase*)) layouts_item_board_real_clean_up;
	G_OBJECT_CLASS (klass)->get_property = _vala_layouts_item_board_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_layouts_item_board_set_property;
	G_OBJECT_CLASS (klass)->constructor = layouts_item_board_constructor;
	G_OBJECT_CLASS (klass)->finalize = layouts_item_board_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), LAYOUTS_ITEM_BOARD_COMPLETE_TIMEOUT_PROPERTY, layouts_item_board_properties[LAYOUTS_ITEM_BOARD_COMPLETE_TIMEOUT_PROPERTY] = g_param_spec_uint ("complete-timeout", "complete-timeout", "complete-timeout", 0, G_MAXUINT, (guint) 0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), LAYOUTS_ITEM_BOARD_IS_LOADING_PROPERTY, layouts_item_board_properties[LAYOUTS_ITEM_BOARD_IS_LOADING_PROPERTY] = g_param_spec_boolean ("is-loading", "is-loading", "is-loading", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), LAYOUTS_ITEM_BOARD_PIN_MODE_PROPERTY, layouts_item_board_properties[LAYOUTS_ITEM_BOARD_PIN_MODE_PROPERTY] = g_param_spec_boolean ("pin-mode", "pin-mode", "pin-mode", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
}

static void
layouts_item_board_instance_init (LayoutsItemBoard * self,
                                  gpointer klass)
{
	self->priv = layouts_item_board_get_instance_private (self);
	self->priv->menu_handle_popover = NULL;
	self->priv->_complete_timeout = (guint) 0;
	self->priv->_recurrency_reset = FALSE;
	self->priv->_pin_mode = FALSE;
	self->on_drag = FALSE;
}

static void
layouts_item_board_finalize (GObject * obj)
{
	LayoutsItemBoard * self;
	ObjectsItem* _tmp0_;
	ObjectsItem* _tmp1_;
	const gchar* _tmp2_;
	const gchar* _tmp3_;
	gchar* _tmp4_;
	gchar* _tmp5_;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, LAYOUTS_TYPE_ITEM_BOARD, LayoutsItemBoard);
	_tmp0_ = layouts_item_base_get_item ((LayoutsItemBase*) self);
	_tmp1_ = _tmp0_;
	_tmp2_ = objects_item_get_content (_tmp1_);
	_tmp3_ = _tmp2_;
	_tmp4_ = g_strdup_printf ("Destroying - Layouts.ItemBoard - %s\n", _tmp3_);
	_tmp5_ = _tmp4_;
	g_debug ("ItemBoard.vala:115: %s", _tmp5_);
	_g_free0 (_tmp5_);
	_g_object_unref0 (self->priv->motion_top_grid);
	_g_object_unref0 (self->priv->motion_top_revealer);
	_g_object_unref0 (self->priv->checked_button);
	_g_object_unref0 (self->priv->checked_button_revealer);
	_g_object_unref0 (self->priv->content_label);
	_g_object_unref0 (self->priv->content_box);
	_g_object_unref0 (self->priv->hide_loading_button);
	_g_object_unref0 (self->priv->hide_loading_revealer);
	_g_object_unref0 (self->priv->description_label);
	_g_object_unref0 (self->priv->description_revealer);
	_g_object_unref0 (self->priv->deadline_label);
	_g_object_unref0 (self->priv->deadline_revealer);
	_g_object_unref0 (self->priv->deadline_box);
	_g_object_unref0 (self->priv->due_label);
	_g_object_unref0 (self->priv->due_box);
	_g_object_unref0 (self->priv->repeat_revealer);
	_g_object_unref0 (self->priv->due_box_revealer);
	_g_object_unref0 (self->priv->labels_summary);
	_g_object_unref0 (self->priv->reminder_revealer);
	_g_object_unref0 (self->priv->reminder_count);
	_g_object_unref0 (self->priv->subtaks_label);
	_g_object_unref0 (self->priv->subtaks_revealer);
	_g_object_unref0 (self->priv->footer_revealer);
	_g_object_unref0 (self->handle_grid);
	_g_object_unref0 (self->card_widget);
	_g_object_unref0 (self->footer_box);
	_g_object_unref0 (self->priv->menu_handle_popover);
	_g_object_unref0 (self->priv->no_date_item);
	_g_object_unref0 (self->priv->pinboard_item);
	_g_object_unref0 (self->priv->main_revealer);
	_g_object_unref0 (self->priv->select_checkbutton);
	_g_object_unref0 (self->priv->select_revealer);
	G_OBJECT_CLASS (layouts_item_board_parent_class)->finalize (obj);
}

static GType
layouts_item_board_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (LayoutsItemBoardClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) layouts_item_board_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LayoutsItemBoard), 0, (GInstanceInitFunc) layouts_item_board_instance_init, NULL };
	GType layouts_item_board_type_id;
	layouts_item_board_type_id = g_type_register_static (LAYOUTS_TYPE_ITEM_BASE, "LayoutsItemBoard", &g_define_type_info, 0);
	LayoutsItemBoard_private_offset = g_type_add_instance_private (layouts_item_board_type_id, sizeof (LayoutsItemBoardPrivate));
	return layouts_item_board_type_id;
}

GType
layouts_item_board_get_type (void)
{
	static volatile gsize layouts_item_board_type_id__once = 0;
	if (g_once_init_enter (&layouts_item_board_type_id__once)) {
		GType layouts_item_board_type_id;
		layouts_item_board_type_id = layouts_item_board_get_type_once ();
		g_once_init_leave (&layouts_item_board_type_id__once, layouts_item_board_type_id);
	}
	return layouts_item_board_type_id__once;
}

static void
_vala_layouts_item_board_get_property (GObject * object,
                                       guint property_id,
                                       GValue * value,
                                       GParamSpec * pspec)
{
	LayoutsItemBoard * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, LAYOUTS_TYPE_ITEM_BOARD, LayoutsItemBoard);
	switch (property_id) {
		case LAYOUTS_ITEM_BOARD_COMPLETE_TIMEOUT_PROPERTY:
		g_value_set_uint (value, layouts_item_board_get_complete_timeout (self));
		break;
		case LAYOUTS_ITEM_BOARD_IS_LOADING_PROPERTY:
		g_value_set_boolean (value, layouts_item_board_get_is_loading (self));
		break;
		case LAYOUTS_ITEM_BOARD_PIN_MODE_PROPERTY:
		g_value_set_boolean (value, layouts_item_board_get_pin_mode (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_layouts_item_board_set_property (GObject * object,
                                       guint property_id,
                                       const GValue * value,
                                       GParamSpec * pspec)
{
	LayoutsItemBoard * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, LAYOUTS_TYPE_ITEM_BOARD, LayoutsItemBoard);
	switch (property_id) {
		case LAYOUTS_ITEM_BOARD_COMPLETE_TIMEOUT_PROPERTY:
		layouts_item_board_set_complete_timeout (self, g_value_get_uint (value));
		break;
		case LAYOUTS_ITEM_BOARD_IS_LOADING_PROPERTY:
		layouts_item_board_set_is_loading (self, g_value_get_boolean (value));
		break;
		case LAYOUTS_ITEM_BOARD_PIN_MODE_PROPERTY:
		layouts_item_board_set_pin_mode (self, g_value_get_boolean (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);
}

