/* SectionRow.c generated by valac 0.56.19, the Vala compiler
 * generated from SectionRow.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 <gee.h>
#include <stdlib.h>
#include <string.h>
#include <glib.h>
#include "planify.h"
#include <adwaita.h>
#include <glib/gi18n-lib.h>
#include <gdk/gdk.h>
#include <float.h>
#include <math.h>
#include <gio/gio.h>

#define LAYOUTS_SECTION_ROW_PAGE_SIZE CONSTANTS_COMPLETED_PAGE_SIZE
#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_SECTION_ROW (layouts_section_row_get_type ())
#define LAYOUTS_SECTION_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LAYOUTS_TYPE_SECTION_ROW, LayoutsSectionRow))
#define LAYOUTS_SECTION_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LAYOUTS_TYPE_SECTION_ROW, LayoutsSectionRowClass))
#define LAYOUTS_IS_SECTION_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LAYOUTS_TYPE_SECTION_ROW))
#define LAYOUTS_IS_SECTION_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LAYOUTS_TYPE_SECTION_ROW))
#define LAYOUTS_SECTION_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LAYOUTS_TYPE_SECTION_ROW, LayoutsSectionRowClass))

typedef struct _LayoutsSectionRow LayoutsSectionRow;
typedef struct _LayoutsSectionRowClass LayoutsSectionRowClass;
typedef struct _LayoutsSectionRowPrivate LayoutsSectionRowPrivate;

#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;

#define LAYOUTS_TYPE_ITEM_ROW (layouts_item_row_get_type ())
#define LAYOUTS_ITEM_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LAYOUTS_TYPE_ITEM_ROW, LayoutsItemRow))
#define LAYOUTS_ITEM_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LAYOUTS_TYPE_ITEM_ROW, LayoutsItemRowClass))
#define LAYOUTS_IS_ITEM_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LAYOUTS_TYPE_ITEM_ROW))
#define LAYOUTS_IS_ITEM_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LAYOUTS_TYPE_ITEM_ROW))
#define LAYOUTS_ITEM_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LAYOUTS_TYPE_ITEM_ROW, LayoutsItemRowClass))

typedef struct _LayoutsItemRow LayoutsItemRow;
typedef struct _LayoutsItemRowClass LayoutsItemRowClass;
enum  {
	LAYOUTS_SECTION_ROW_0_PROPERTY,
	LAYOUTS_SECTION_ROW_SECTION_PROPERTY,
	LAYOUTS_SECTION_ROW_IS_INBOX_SECTION_PROPERTY,
	LAYOUTS_SECTION_ROW_HAS_CHILDREN_PROPERTY,
	LAYOUTS_SECTION_ROW_IS_CREATING_PROPERTY,
	LAYOUTS_SECTION_ROW_IS_LOADING_PROPERTY,
	LAYOUTS_SECTION_ROW_NUM_PROPERTIES
};
static GParamSpec* layouts_section_row_properties[LAYOUTS_SECTION_ROW_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))
typedef struct _Block25Data Block25Data;
#define _g_date_time_unref0(var) ((var == NULL) ? NULL : (var = (g_date_time_unref (var), NULL)))

#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;

#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_SECTION (dialogs_section_get_type ())
#define DIALOGS_SECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DIALOGS_TYPE_SECTION, DialogsSection))
#define DIALOGS_SECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DIALOGS_TYPE_SECTION, DialogsSectionClass))
#define DIALOGS_IS_SECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DIALOGS_TYPE_SECTION))
#define DIALOGS_IS_SECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DIALOGS_TYPE_SECTION))
#define DIALOGS_SECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DIALOGS_TYPE_SECTION, DialogsSectionClass))

typedef struct _DialogsSection DialogsSection;
typedef struct _DialogsSectionClass DialogsSectionClass;

#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 DIALOGS_TYPE_MANAGE_SECTION_ORDER (dialogs_manage_section_order_get_type ())
#define DIALOGS_MANAGE_SECTION_ORDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DIALOGS_TYPE_MANAGE_SECTION_ORDER, DialogsManageSectionOrder))
#define DIALOGS_MANAGE_SECTION_ORDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DIALOGS_TYPE_MANAGE_SECTION_ORDER, DialogsManageSectionOrderClass))
#define DIALOGS_IS_MANAGE_SECTION_ORDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DIALOGS_TYPE_MANAGE_SECTION_ORDER))
#define DIALOGS_IS_MANAGE_SECTION_ORDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DIALOGS_TYPE_MANAGE_SECTION_ORDER))
#define DIALOGS_MANAGE_SECTION_ORDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DIALOGS_TYPE_MANAGE_SECTION_ORDER, DialogsManageSectionOrderClass))

typedef struct _DialogsManageSectionOrder DialogsManageSectionOrder;
typedef struct _DialogsManageSectionOrderClass DialogsManageSectionOrderClass;

#define DIALOGS_TYPE_COMPLETED_TASKS (dialogs_completed_tasks_get_type ())
#define DIALOGS_COMPLETED_TASKS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DIALOGS_TYPE_COMPLETED_TASKS, DialogsCompletedTasks))
#define DIALOGS_COMPLETED_TASKS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DIALOGS_TYPE_COMPLETED_TASKS, DialogsCompletedTasksClass))
#define DIALOGS_IS_COMPLETED_TASKS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DIALOGS_TYPE_COMPLETED_TASKS))
#define DIALOGS_IS_COMPLETED_TASKS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DIALOGS_TYPE_COMPLETED_TASKS))
#define DIALOGS_COMPLETED_TASKS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DIALOGS_TYPE_COMPLETED_TASKS, DialogsCompletedTasksClass))

typedef struct _DialogsCompletedTasks DialogsCompletedTasks;
typedef struct _DialogsCompletedTasksClass DialogsCompletedTasksClass;
typedef struct _Block26Data Block26Data;
#define _http_response_unref0(var) ((var == NULL) ? NULL : (var = (http_response_unref (var), NULL)))
typedef struct _Block27Data Block27Data;
typedef struct _Block28Data Block28Data;
enum  {
	LAYOUTS_SECTION_ROW_CHILDREN_SIZE_CHANGED_SIGNAL,
	LAYOUTS_SECTION_ROW_NUM_SIGNALS
};
static guint layouts_section_row_signals[LAYOUTS_SECTION_ROW_NUM_SIGNALS] = {0};

struct _LayoutsSectionRow {
	GtkListBoxRow parent_instance;
	LayoutsSectionRowPrivate * priv;
	GeeHashMap* items_map;
	GeeHashMap* checked_items_map;
};

struct _LayoutsSectionRowClass {
	GtkListBoxRowClass parent_class;
};

struct _LayoutsSectionRowPrivate {
	ObjectsSection* _section;
	GtkRevealer* bottom_revealer;
	GtkLabel* name_label;
	GtkLabel* count_label;
	GtkListBox* listbox;
	GtkListBox* checked_listbox;
	GtkButton* load_more_button;
	GtkRevealer* load_more_button_revealer;
	GtkRevealer* checked_revealer;
	GtkRevealer* content_revealer;
	GtkGrid* drop_inbox_widget;
	GtkRevealer* drop_inbox_revealer;
	AdwBin* handle_grid;
	WidgetsLoadingButton* add_button;
	GtkButton* hide_subtask_button;
	GeeArrayList* completed_items_list;
	gint completed_page_index;
	GeeHashMap* signal_map;
};

struct _Block25Data {
	int _ref_count_;
	LayoutsSectionRow* self;
	GeeArrayList* items;
	gint index;
};

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

struct _PlanifyClass {
	AdwApplicationClass parent_class;
};

struct _Block26Data {
	int _ref_count_;
	LayoutsSectionRow* self;
	LayoutsItemRow* picked_widget;
	gchar* old_section_id;
	gchar* old_parent_id;
};

struct _Block27Data {
	int _ref_count_;
	LayoutsSectionRow* self;
	gchar* old_project_id;
};

struct _Block28Data {
	int _ref_count_;
	LayoutsSectionRow* self;
	GtkBox* sectionrow_box;
	GtkButton* add_button;
};

static gint LayoutsSectionRow_private_offset;
static gpointer layouts_section_row_parent_class = NULL;
VALA_EXTERN Planify* planify__instance;

VALA_EXTERN GType layouts_section_row_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LayoutsSectionRow, g_object_unref)
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_row_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LayoutsItemRow, g_object_unref)
VALA_EXTERN LayoutsSectionRow* layouts_section_row_new (ObjectsSection* section);
VALA_EXTERN LayoutsSectionRow* layouts_section_row_construct (GType object_type,
                                                  ObjectsSection* section);
VALA_EXTERN LayoutsSectionRow* layouts_section_row_new_for_project (ObjectsProject* project);
VALA_EXTERN LayoutsSectionRow* layouts_section_row_construct_for_project (GType object_type,
                                                              ObjectsProject* project);
static void layouts_section_row_update_count_label (LayoutsSectionRow* self,
                                             gint count);
static void layouts_section_row_update_sort (LayoutsSectionRow* self);
static gint layouts_section_row_set_sort_func (LayoutsSectionRow* self,
                                        GtkListBoxRow* lbrow,
                                        GtkListBoxRow* lbbefore);
static gint _layouts_section_row_set_sort_func_gtk_list_box_sort_func (GtkListBoxRow* row1,
                                                                GtkListBoxRow* row2,
                                                                gpointer self);
VALA_EXTERN ObjectsItem* layouts_item_base_get_item (LayoutsItemBase* self);
VALA_EXTERN ObjectsSection* layouts_section_row_get_section (LayoutsSectionRow* self);
VALA_EXTERN void layouts_section_row_add_items (LayoutsSectionRow* self);
static Block25Data* block25_data_ref (Block25Data* _data25_);
static void block25_data_unref (void * _userdata_);
VALA_EXTERN gboolean layouts_section_row_get_is_inbox_section (LayoutsSectionRow* self);
static gint __lambda565_ (LayoutsSectionRow* self,
                   ObjectsItem* item1,
                   ObjectsItem* item2);
static gint ___lambda565__gcompare_data_func (gconstpointer a,
                                       gconstpointer b,
                                       gpointer self);
static gboolean __lambda566_ (Block25Data* _data25_);
VALA_EXTERN void layouts_section_row_add_item (LayoutsSectionRow* self,
                                   ObjectsItem* item);
static gboolean ___lambda566__gsource_func (gpointer self);
VALA_EXTERN LayoutsItemRow* layouts_item_row_new (ObjectsItem* item,
                                      gboolean is_project_view);
VALA_EXTERN LayoutsItemRow* layouts_item_row_construct (GType object_type,
                                            ObjectsItem* item,
                                            gboolean is_project_view);
static void layouts_section_row_show_completed_changed (LayoutsSectionRow* self);
VALA_EXTERN void layouts_section_row_add_completed_items (LayoutsSectionRow* self);
VALA_EXTERN void layouts_item_base_hide_destroy (LayoutsItemBase* self);
static gint __lambda567_ (LayoutsSectionRow* self,
                   ObjectsItem* a,
                   ObjectsItem* b);
static gint ___lambda567__gcompare_data_func (gconstpointer a,
                                       gconstpointer b,
                                       gpointer self);
static void layouts_section_row_load_next_completed_page (LayoutsSectionRow* self);
VALA_EXTERN void layouts_section_row_add_complete_item (LayoutsSectionRow* self,
                                            ObjectsItem* item);
static void layouts_section_row_update_load_more_button_label (LayoutsSectionRow* self);
VALA_EXTERN void layouts_section_row_prepare_new_item (LayoutsSectionRow* self,
                                           const gchar* content,
                                           NewTaskPosition new_task_position);
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);
VALA_EXTERN void dialogs_quick_add_update_content (DialogsQuickAdd* self,
                                       const gchar* content);
VALA_EXTERN void dialogs_quick_add_set_new_task_position (DialogsQuickAdd* self,
                                              NewTaskPosition 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)
VALA_EXTERN void layouts_section_row_hide_destroy (LayoutsSectionRow* self);
VALA_EXTERN void layouts_section_row_clean_up (LayoutsSectionRow* self);
static gboolean __lambda568_ (LayoutsSectionRow* self);
static gboolean ___lambda568__gsource_func (gpointer self);
static GtkPopover* layouts_section_row_build_context_menu (LayoutsSectionRow* self);
static void __lambda569_ (LayoutsSectionRow* self);
static void ___lambda569__gtk_button_clicked (GtkButton* _sender,
                                       gpointer self);
static void __lambda570_ (LayoutsSectionRow* self);
VALA_EXTERN GType dialogs_section_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DialogsSection, g_object_unref)
VALA_EXTERN DialogsSection* dialogs_section_new (ObjectsSection* section);
VALA_EXTERN DialogsSection* dialogs_section_construct (GType object_type,
                                           ObjectsSection* section);
static void ___lambda570__gtk_button_clicked (GtkButton* _sender,
                                       gpointer self);
static void __lambda577_ (LayoutsSectionRow* 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_source (ObjectsSource* source);
VALA_EXTERN DialogsProjectPickerProjectPicker* dialogs_project_picker_project_picker_construct_for_source (GType object_type,
                                                                                               ObjectsSource* source);
VALA_EXTERN void dialogs_project_picker_project_picker_set_project (DialogsProjectPickerProjectPicker* self,
                                                        ObjectsProject* value);
static void __lambda578_ (LayoutsSectionRow* self,
                   const gchar* type,
                   const gchar* id);
static void layouts_section_row_move_section (LayoutsSectionRow* self,
                                       const gchar* project_id);
static void ___lambda578__dialogs_project_picker_project_picker_changed (DialogsProjectPickerProjectPicker* _sender,
                                                                  const gchar* type,
                                                                  const gchar* id,
                                                                  gpointer self);
static void ___lambda577__gtk_button_clicked (GtkButton* _sender,
                                       gpointer self);
static void __lambda580_ (LayoutsSectionRow* self);
VALA_EXTERN GType dialogs_manage_section_order_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DialogsManageSectionOrder, g_object_unref)
VALA_EXTERN DialogsManageSectionOrder* dialogs_manage_section_order_new (ObjectsProject* project);
VALA_EXTERN DialogsManageSectionOrder* dialogs_manage_section_order_construct (GType object_type,
                                                                   ObjectsProject* project);
static void ___lambda580__gtk_button_clicked (GtkButton* _sender,
                                       gpointer self);
static void __lambda598_ (LayoutsSectionRow* self);
VALA_EXTERN Planify* planify_get_instance (void);
static void ___lambda598__gtk_button_clicked (GtkButton* _sender,
                                       gpointer self);
static void __lambda599_ (LayoutsSectionRow* self);
VALA_EXTERN GType dialogs_completed_tasks_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DialogsCompletedTasks, g_object_unref)
VALA_EXTERN DialogsCompletedTasks* dialogs_completed_tasks_new (ObjectsProject* project);
VALA_EXTERN DialogsCompletedTasks* dialogs_completed_tasks_construct (GType object_type,
                                                          ObjectsProject* project);
VALA_EXTERN void dialogs_completed_tasks_add_update_filter (DialogsCompletedTasks* self,
                                                ObjectsSection* section);
static void ___lambda599__gtk_button_clicked (GtkButton* _sender,
                                       gpointer self);
static void __lambda625_ (LayoutsSectionRow* self);
static void ___lambda625__gtk_button_clicked (GtkButton* _sender,
                                       gpointer self);
static void __lambda626_ (LayoutsSectionRow* self);
static void ___lambda626__gtk_button_clicked (GtkButton* _sender,
                                       gpointer self);
static void layouts_section_row_build_drag_and_drop (LayoutsSectionRow* self);
static gboolean __lambda627_ (LayoutsSectionRow* self,
                       GtkDropTarget* target,
                       GValue* value,
                       gdouble x,
                       gdouble y);
static Block26Data* block26_data_ref (Block26Data* _data26_);
static void block26_data_unref (void * _userdata_);
VALA_EXTERN void layouts_item_row_drag_end (LayoutsItemRow* self);
static void ___lambda628_ (Block26Data* _data26_,
                    GObject* obj,
                    GAsyncResult* res);
static void ____lambda628__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 ___lambda627__gtk_drop_target_drop (GtkDropTarget* _sender,
                                             GValue* value,
                                             gdouble x,
                                             gdouble y,
                                             gpointer self);
static Block27Data* block27_data_ref (Block27Data* _data27_);
static void block27_data_unref (void * _userdata_);
VALA_EXTERN void layouts_section_row_set_is_loading (LayoutsSectionRow* self,
                                         gboolean value);
static void ___lambda579_ (Block27Data* _data27_,
                    GObject* obj,
                    GAsyncResult* res);
static void ____lambda579__gasync_ready_callback (GObject* source_object,
                                           GAsyncResult* res,
                                           gpointer self);
static void layouts_section_row_update_collapsed_button (LayoutsSectionRow* self);
VALA_EXTERN void layouts_item_base_clean_up (LayoutsItemBase* self);
static void _g_object_unref0_ (gpointer var);
static inline void _g_list_free__g_object_unref0_ (GList* self);
static void layouts_section_row_set_section (LayoutsSectionRow* self,
                                      ObjectsSection* value);
VALA_EXTERN gboolean layouts_section_row_get_has_children (LayoutsSectionRow* self);
VALA_EXTERN gboolean layouts_section_row_get_is_creating (LayoutsSectionRow* self);
static GObject * layouts_section_row_constructor (GType type,
                                           guint n_construct_properties,
                                           GObjectConstructParam * construct_properties);
static Block28Data* block28_data_ref (Block28Data* _data28_);
static void block28_data_unref (void * _userdata_);
static gboolean _layouts_section_row___lambda629_ (LayoutsSectionRow* self);
static gboolean __layouts_section_row___lambda629__gsource_func (gpointer self);
static void _layouts_section_row___lambda630_ (LayoutsSectionRow* self);
static void __layouts_section_row___lambda630__objects_base_object_updated (ObjectsBaseObject* _sender,
                                                                     const gchar* update_id,
                                                                     gpointer self);
static void _layouts_section_row___lambda631_ (Block28Data* _data28_,
                                        gboolean active,
                                        const gchar* focused_item_id);
static void __layouts_section_row___lambda631__services_event_bus_dim_content (ServicesEventBus* _sender,
                                                                        gboolean active,
                                                                        const gchar* focused_item_id,
                                                                        gpointer self);
static void _layouts_section_row____lambda632_ (LayoutsSectionRow* self,
                                         ObjectsItem* item);
static void __layouts_section_row____lambda632__objects_project_item_added (ObjectsProject* _sender,
                                                                     ObjectsItem* item,
                                                                     gpointer self);
static void _layouts_section_row____lambda633_ (LayoutsSectionRow* self,
                                         ObjectsItem* item);
static void __layouts_section_row____lambda633__objects_section_item_added (ObjectsSection* _sender,
                                                                     ObjectsItem* item,
                                                                     gpointer self);
static void _layouts_section_row___lambda634_ (LayoutsSectionRow* self,
                                        gint n_press,
                                        gdouble x,
                                        gdouble y);
static void __layouts_section_row___lambda634__gtk_gesture_click_released (GtkGestureClick* _sender,
                                                                    gint n_press,
                                                                    gdouble x,
                                                                    gdouble y,
                                                                    gpointer self);
static void _layouts_section_row___lambda635_ (LayoutsSectionRow* self,
                                        ObjectsItem* item,
                                        gboolean old_checked);
static void __layouts_section_row___lambda635__services_event_bus_checked_toggled (ServicesEventBus* _sender,
                                                                            ObjectsItem* item,
                                                                            gboolean old_checked,
                                                                            gpointer self);
static void _layouts_section_row___lambda636_ (LayoutsSectionRow* self,
                                        ObjectsItem* item,
                                        const gchar* update_id);
VALA_EXTERN const gchar* layouts_item_base_get_update_id (LayoutsItemBase* self);
VALA_EXTERN void layouts_item_base_update_request (LayoutsItemBase* self);
static void __layouts_section_row___lambda636__services_store_item_updated (ServicesStore* _sender,
                                                                     ObjectsItem* item,
                                                                     const gchar* update_id,
                                                                     gpointer self);
static void _layouts_section_row___lambda637_ (LayoutsSectionRow* self,
                                        ObjectsItem* item);
static void __layouts_section_row___lambda637__services_store_item_pin_change (ServicesStore* _sender,
                                                                        ObjectsItem* item,
                                                                        gpointer self);
static void _layouts_section_row___lambda638_ (LayoutsSectionRow* self,
                                        ObjectsItem* item);
static void __layouts_section_row___lambda638__services_store_item_deleted (ServicesStore* _sender,
                                                                     ObjectsItem* item,
                                                                     gpointer self);
static void _layouts_section_row___lambda639_ (LayoutsSectionRow* self,
                                        ObjectsItem* item,
                                        const gchar* old_project_id,
                                        const gchar* old_section_id,
                                        const gchar* old_parent_id);
static void __layouts_section_row___lambda639__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_section_row___lambda640_ (LayoutsSectionRow* self,
                                        GtkWidget* _row,
                                        const gchar* old_section_id);
static void __layouts_section_row___lambda640__services_event_bus_update_inserted_item_map (ServicesEventBus* _sender,
                                                                                     GtkWidget* row,
                                                                                     const gchar* old_section_id,
                                                                                     const gchar* old_parent_id,
                                                                                     gpointer self);
static void _layouts_section_row_show_completed_changed_objects_project_show_completed_changed (ObjectsProject* _sender,
                                                                                         gpointer self);
static void _layouts_section_row___lambda641_ (LayoutsSectionRow* self);
static void __layouts_section_row___lambda641__objects_project_sort_order_changed (ObjectsProject* _sender,
                                                                            gpointer self);
static void _layouts_section_row___lambda642_ (LayoutsSectionRow* self);
static void __layouts_section_row___lambda642__objects_project_sorted_by_changed (ObjectsProject* _sender,
                                                                           gpointer self);
static void _layouts_section_row___lambda643_ (LayoutsSectionRow* self,
                                        const gchar* project_id,
                                        const gchar* section_id,
                                        gboolean value);
static void __layouts_section_row___lambda643__services_event_bus_update_section_sort_func (ServicesEventBus* _sender,
                                                                                     const gchar* project_id,
                                                                                     const gchar* section_id,
                                                                                     gboolean active,
                                                                                     gpointer self);
static void _layouts_section_row___lambda644_ (LayoutsSectionRow* self);
static void __layouts_section_row___lambda644__objects_section_section_count_updated (ObjectsSection* _sender,
                                                                               gpointer self);
static void _layouts_section_row___lambda645_ (LayoutsSectionRow* self,
                                        const gchar* project_id,
                                        gboolean active);
static void __layouts_section_row___lambda645__services_event_bus_drag_n_drop_active (ServicesEventBus* _sender,
                                                                               const gchar* project_id,
                                                                               gboolean active,
                                                                               gpointer self);
static gboolean _layouts_section_row___lambda646_ (LayoutsSectionRow* self,
                                            GtkListBoxRow* row);
VALA_EXTERN gboolean utils_task_utils_items_filter_func (ObjectsItem* item,
                                             GeeHashMap* filters);
static gboolean __layouts_section_row___lambda646__gtk_list_box_filter_func (GtkListBoxRow* row,
                                                                      gpointer self);
static void _layouts_section_row___lambda647_ (LayoutsSectionRow* self);
static void __layouts_section_row___lambda647__objects_base_object_filter_added (ObjectsBaseObject* _sender,
                                                                          ObjectsFiltersFilterItem* filters,
                                                                          gpointer self);
static void _layouts_section_row___lambda648_ (LayoutsSectionRow* self);
static void __layouts_section_row___lambda648__objects_base_object_filter_removed (ObjectsBaseObject* _sender,
                                                                            ObjectsFiltersFilterItem* filters,
                                                                            gpointer self);
static void _layouts_section_row___lambda649_ (LayoutsSectionRow* self);
static void __layouts_section_row___lambda649__objects_base_object_filter_updated (ObjectsBaseObject* _sender,
                                                                            ObjectsFiltersFilterItem* filters,
                                                                            gpointer self);
static void _layouts_section_row___lambda650_ (LayoutsSectionRow* self);
static void __layouts_section_row___lambda650__objects_base_object_sensitive_change (ObjectsBaseObject* _sender,
                                                                              gpointer self);
static void _layouts_section_row___lambda651_ (LayoutsSectionRow* self);
static void __layouts_section_row___lambda651__objects_base_object_loading_change (ObjectsBaseObject* _sender,
                                                                            gpointer self);
static void _layouts_section_row___lambda652_ (LayoutsSectionRow* self,
                                        const gchar* project_id,
                                        gboolean value);
VALA_EXTERN void layouts_item_row_set_edit (LayoutsItemRow* self,
                                gboolean value);
static void __layouts_section_row___lambda652__services_event_bus_expand_all (ServicesEventBus* _sender,
                                                                       const gchar* project_id,
                                                                       gboolean active,
                                                                       gpointer self);
static void _layouts_section_row___lambda653_ (LayoutsSectionRow* self);
static void __layouts_section_row___lambda653__gtk_button_clicked (GtkButton* _sender,
                                                            gpointer self);
static void _layouts_section_row___lambda654_ (LayoutsSectionRow* self);
static void __layouts_section_row___lambda654__gtk_button_clicked (GtkButton* _sender,
                                                            gpointer self);
static void _layouts_section_row___lambda655_ (LayoutsSectionRow* self);
static void __layouts_section_row___lambda655__gtk_button_clicked (GtkButton* _sender,
                                                            gpointer self);
static void _layouts_section_row___lambda656_ (LayoutsSectionRow* self);
static void __layouts_section_row___lambda656__objects_project_sync_finished (ObjectsProject* _sender,
                                                                       gpointer self);
static void layouts_section_row_finalize (GObject * obj);
static GType layouts_section_row_get_type_once (void);
static void _vala_layouts_section_row_get_property (GObject * object,
                                             guint property_id,
                                             GValue * value,
                                             GParamSpec * pspec);
static void _vala_layouts_section_row_set_property (GObject * object,
                                             guint property_id,
                                             const GValue * value,
                                             GParamSpec * pspec);
static void _vala_array_destroy (gpointer array,
                          gssize array_length,
                          GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array,
                       gssize array_length,
                       GDestroyNotify destroy_func);

static inline gpointer
layouts_section_row_get_instance_private (LayoutsSectionRow* self)
{
	return G_STRUCT_MEMBER_P (self, LayoutsSectionRow_private_offset);
}

LayoutsSectionRow*
layouts_section_row_construct (GType object_type,
                               ObjectsSection* section)
{
	LayoutsSectionRow * self = NULL;
	g_return_val_if_fail (section != NULL, NULL);
	self = (LayoutsSectionRow*) g_object_new (object_type, "section", section, "focusable", FALSE, "can-focus", TRUE, NULL);
	return self;
}

LayoutsSectionRow*
layouts_section_row_new (ObjectsSection* section)
{
	return layouts_section_row_construct (LAYOUTS_TYPE_SECTION_ROW, section);
}

LayoutsSectionRow*
layouts_section_row_construct_for_project (GType object_type,
                                           ObjectsProject* project)
{
	LayoutsSectionRow * self = NULL;
	ObjectsSection* section = NULL;
	ObjectsSection* _tmp0_;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
	g_return_val_if_fail (project != NULL, NULL);
	_tmp0_ = objects_section_new ();
	section = _tmp0_;
	objects_base_object_set_id ((ObjectsBaseObject*) section, "");
	_tmp1_ = objects_base_object_get_id ((ObjectsBaseObject*) project);
	_tmp2_ = _tmp1_;
	objects_section_set_project_id (section, _tmp2_);
	objects_base_object_set_name ((ObjectsBaseObject*) section, _ ("(No Section)"));
	self = (LayoutsSectionRow*) g_object_new (object_type, "section", section, "focusable", FALSE, "can-focus", TRUE, NULL);
	_g_object_unref0 (section);
	return self;
}

LayoutsSectionRow*
layouts_section_row_new_for_project (ObjectsProject* project)
{
	return layouts_section_row_construct_for_project (LAYOUTS_TYPE_SECTION_ROW, project);
}

static void
layouts_section_row_update_count_label (LayoutsSectionRow* self,
                                        gint count)
{
	gchar* _tmp0_ = NULL;
	GtkLabel* _tmp3_;
	g_return_if_fail (self != NULL);
	if (count <= 0) {
		gchar* _tmp1_;
		_tmp1_ = g_strdup ("");
		_g_free0 (_tmp0_);
		_tmp0_ = _tmp1_;
	} else {
		gchar* _tmp2_;
		_tmp2_ = g_strdup_printf ("%i", count);
		_g_free0 (_tmp0_);
		_tmp0_ = _tmp2_;
	}
	_tmp3_ = self->priv->count_label;
	gtk_label_set_label (_tmp3_, _tmp0_);
	_g_free0 (_tmp0_);
}

static gint
_layouts_section_row_set_sort_func_gtk_list_box_sort_func (GtkListBoxRow* row1,
                                                           GtkListBoxRow* row2,
                                                           gpointer self)
{
	gint result;
	result = layouts_section_row_set_sort_func ((LayoutsSectionRow*) self, row1, row2);
	return result;
}

static void
layouts_section_row_update_sort (LayoutsSectionRow* self)
{
	GtkListBox* _tmp0_;
	GtkListBox* _tmp1_;
	GtkListBox* _tmp2_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->listbox;
	gtk_list_box_set_sort_func (_tmp0_, _layouts_section_row_set_sort_func_gtk_list_box_sort_func, g_object_ref (self), g_object_unref);
	_tmp1_ = self->priv->listbox;
	gtk_list_box_set_sort_func (_tmp1_, NULL, NULL, NULL);
	_tmp2_ = self->priv->listbox;
	gtk_list_box_invalidate_filter (_tmp2_);
}

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

static gint
layouts_section_row_set_sort_func (LayoutsSectionRow* self,
                                   GtkListBoxRow* lbrow,
                                   GtkListBoxRow* lbbefore)
{
	ObjectsItem* item1 = NULL;
	ObjectsItem* _tmp0_;
	ObjectsItem* _tmp1_;
	ObjectsItem* _tmp2_;
	ObjectsItem* item2 = NULL;
	ObjectsItem* _tmp3_;
	ObjectsItem* _tmp4_;
	ObjectsItem* _tmp5_;
	Util* _tmp6_;
	Util* _tmp7_;
	ObjectsSection* _tmp8_;
	ObjectsProject* _tmp9_;
	ObjectsProject* _tmp10_;
	SortedByType _tmp11_;
	SortedByType _tmp12_;
	ObjectsSection* _tmp13_;
	ObjectsProject* _tmp14_;
	ObjectsProject* _tmp15_;
	SortOrderType _tmp16_;
	SortOrderType _tmp17_;
	gint _tmp18_;
	gint result;
	g_return_val_if_fail (self != NULL, -1);
	g_return_val_if_fail (lbrow != NULL, -1);
	g_return_val_if_fail (lbbefore != NULL, -1);
	_tmp0_ = layouts_item_base_get_item ((LayoutsItemBase*) G_TYPE_CHECK_INSTANCE_CAST (lbrow, LAYOUTS_TYPE_ITEM_ROW, LayoutsItemRow));
	_tmp1_ = _tmp0_;
	_tmp2_ = _g_object_ref0 (_tmp1_);
	item1 = _tmp2_;
	_tmp3_ = layouts_item_base_get_item ((LayoutsItemBase*) G_TYPE_CHECK_INSTANCE_CAST (lbbefore, LAYOUTS_TYPE_ITEM_ROW, LayoutsItemRow));
	_tmp4_ = _tmp3_;
	_tmp5_ = _g_object_ref0 (_tmp4_);
	item2 = _tmp5_;
	_tmp6_ = util_get_default ();
	_tmp7_ = _tmp6_;
	_tmp8_ = self->priv->_section;
	_tmp9_ = objects_section_get_project (_tmp8_);
	_tmp10_ = _tmp9_;
	_tmp11_ = objects_project_get_sorted_by (_tmp10_);
	_tmp12_ = _tmp11_;
	_tmp13_ = self->priv->_section;
	_tmp14_ = objects_section_get_project (_tmp13_);
	_tmp15_ = _tmp14_;
	_tmp16_ = objects_project_get_sort_order (_tmp15_);
	_tmp17_ = _tmp16_;
	_tmp18_ = util_set_item_sort_func (_tmp7_, item1, item2, _tmp12_, _tmp17_);
	_g_object_unref0 (_tmp7_);
	result = _tmp18_;
	_g_object_unref0 (item2);
	_g_object_unref0 (item1);
	return result;
}

static Block25Data*
block25_data_ref (Block25Data* _data25_)
{
	g_atomic_int_inc (&_data25_->_ref_count_);
	return _data25_;
}

static void
block25_data_unref (void * _userdata_)
{
	Block25Data* _data25_;
	_data25_ = (Block25Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data25_->_ref_count_)) {
		LayoutsSectionRow* self;
		self = _data25_->self;
		_g_object_unref0 (_data25_->items);
		_g_object_unref0 (self);
		g_slice_free (Block25Data, _data25_);
	}
}

static gint
__lambda565_ (LayoutsSectionRow* self,
              ObjectsItem* item1,
              ObjectsItem* item2)
{
	Util* _tmp0_;
	Util* _tmp1_;
	ObjectsSection* _tmp2_;
	ObjectsProject* _tmp3_;
	ObjectsProject* _tmp4_;
	SortedByType _tmp5_;
	SortedByType _tmp6_;
	ObjectsSection* _tmp7_;
	ObjectsProject* _tmp8_;
	ObjectsProject* _tmp9_;
	SortOrderType _tmp10_;
	SortOrderType _tmp11_;
	gint _tmp12_;
	gint result;
	g_return_val_if_fail (item1 != NULL, -1);
	g_return_val_if_fail (item2 != NULL, -1);
	_tmp0_ = util_get_default ();
	_tmp1_ = _tmp0_;
	_tmp2_ = self->priv->_section;
	_tmp3_ = objects_section_get_project (_tmp2_);
	_tmp4_ = _tmp3_;
	_tmp5_ = objects_project_get_sorted_by (_tmp4_);
	_tmp6_ = _tmp5_;
	_tmp7_ = self->priv->_section;
	_tmp8_ = objects_section_get_project (_tmp7_);
	_tmp9_ = _tmp8_;
	_tmp10_ = objects_project_get_sort_order (_tmp9_);
	_tmp11_ = _tmp10_;
	_tmp12_ = util_set_item_sort_func (_tmp1_, item1, item2, _tmp6_, _tmp11_);
	_g_object_unref0 (_tmp1_);
	result = _tmp12_;
	return result;
}

static gint
___lambda565__gcompare_data_func (gconstpointer a,
                                  gconstpointer b,
                                  gpointer self)
{
	gint result;
	result = __lambda565_ ((LayoutsSectionRow*) self, (ObjectsItem*) a, (ObjectsItem*) b);
	return result;
}

static gboolean
__lambda566_ (Block25Data* _data25_)
{
	LayoutsSectionRow* self;
	gint count = 0;
	gint _tmp7_;
	gint _tmp8_;
	gboolean result;
	self = _data25_->self;
	count = 0;
	while (TRUE) {
		gboolean _tmp0_ = FALSE;
		gint _tmp1_;
		gint _tmp2_;
		gpointer _tmp3_;
		ObjectsItem* _tmp4_;
		gint _tmp5_;
		gint _tmp6_;
		_tmp1_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _data25_->items);
		_tmp2_ = _tmp1_;
		if (_data25_->index < _tmp2_) {
			_tmp0_ = count < 50;
		} else {
			_tmp0_ = FALSE;
		}
		if (!_tmp0_) {
			break;
		}
		_tmp3_ = gee_abstract_list_get ((GeeAbstractList*) _data25_->items, _data25_->index);
		_tmp4_ = (ObjectsItem*) _tmp3_;
		layouts_section_row_add_item (self, _tmp4_);
		_g_object_unref0 (_tmp4_);
		_tmp5_ = _data25_->index;
		_data25_->index = _tmp5_ + 1;
		_tmp6_ = count;
		count = _tmp6_ + 1;
	}
	_tmp7_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _data25_->items);
	_tmp8_ = _tmp7_;
	result = _data25_->index < _tmp8_;
	return result;
}

static gboolean
___lambda566__gsource_func (gpointer self)
{
	gboolean result;
	result = __lambda566_ (self);
	return result;
}

void
layouts_section_row_add_items (LayoutsSectionRow* self)
{
	Block25Data* _data25_;
	GeeHashMap* _tmp0_;
	GeeArrayList* _tmp1_ = NULL;
	gboolean _tmp2_;
	gboolean _tmp3_;
	GeeArrayList* _tmp12_;
	g_return_if_fail (self != NULL);
	_data25_ = g_slice_new0 (Block25Data);
	_data25_->_ref_count_ = 1;
	_data25_->self = g_object_ref (self);
	_tmp0_ = self->items_map;
	gee_abstract_map_clear ((GeeAbstractMap*) _tmp0_);
	_tmp2_ = layouts_section_row_get_is_inbox_section (self);
	_tmp3_ = _tmp2_;
	if (_tmp3_) {
		ObjectsSection* _tmp4_;
		ObjectsProject* _tmp5_;
		ObjectsProject* _tmp6_;
		GeeArrayList* _tmp7_;
		GeeArrayList* _tmp8_;
		_tmp4_ = self->priv->_section;
		_tmp5_ = objects_section_get_project (_tmp4_);
		_tmp6_ = _tmp5_;
		_tmp7_ = objects_project_get_items (_tmp6_);
		_tmp8_ = _tmp7_;
		_tmp1_ = _tmp8_;
	} else {
		ObjectsSection* _tmp9_;
		GeeArrayList* _tmp10_;
		GeeArrayList* _tmp11_;
		_tmp9_ = self->priv->_section;
		_tmp10_ = objects_section_get_items (_tmp9_);
		_tmp11_ = _tmp10_;
		_tmp1_ = _tmp11_;
	}
	_tmp12_ = _g_object_ref0 (_tmp1_);
	_data25_->items = _tmp12_;
	gee_list_sort ((GeeList*) _data25_->items, ___lambda565__gcompare_data_func, g_object_ref (self), g_object_unref);
	_data25_->index = 0;
	g_idle_add_full (G_PRIORITY_DEFAULT_IDLE, ___lambda566__gsource_func, block25_data_ref (_data25_), block25_data_unref);
	layouts_section_row_update_sort (self);
	block25_data_unref (_data25_);
	_data25_ = NULL;
}

void
layouts_section_row_add_item (LayoutsSectionRow* self,
                              ObjectsItem* item)
{
	gboolean _tmp0_;
	gboolean _tmp1_;
	gboolean _tmp2_;
	gboolean _tmp3_;
	GeeHashMap* _tmp4_;
	const gchar* _tmp5_;
	const gchar* _tmp6_;
	GeeHashMap* _tmp7_;
	const gchar* _tmp8_;
	const gchar* _tmp9_;
	LayoutsItemRow* _tmp10_;
	LayoutsItemRow* _tmp11_;
	GtkListBox* _tmp12_;
	GeeHashMap* _tmp13_;
	const gchar* _tmp14_;
	const gchar* _tmp15_;
	gpointer _tmp16_;
	LayoutsItemRow* _tmp17_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (item != NULL);
	_tmp0_ = objects_item_get_checked (item);
	_tmp1_ = _tmp0_;
	if (_tmp1_) {
		return;
	}
	_tmp2_ = objects_item_get_pinned (item);
	_tmp3_ = _tmp2_;
	if (_tmp3_) {
		return;
	}
	_tmp4_ = self->items_map;
	_tmp5_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
	_tmp6_ = _tmp5_;
	if (gee_abstract_map_has_key ((GeeAbstractMap*) _tmp4_, _tmp6_)) {
		return;
	}
	_tmp7_ = self->items_map;
	_tmp8_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
	_tmp9_ = _tmp8_;
	_tmp10_ = layouts_item_row_new (item, TRUE);
	g_object_ref_sink (_tmp10_);
	_tmp11_ = _tmp10_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp7_, _tmp9_, _tmp11_);
	_g_object_unref0 (_tmp11_);
	_tmp12_ = self->priv->listbox;
	_tmp13_ = self->items_map;
	_tmp14_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
	_tmp15_ = _tmp14_;
	_tmp16_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp13_, _tmp15_);
	_tmp17_ = (LayoutsItemRow*) _tmp16_;
	gtk_list_box_append (_tmp12_, (GtkWidget*) _tmp17_);
	_g_object_unref0 (_tmp17_);
}

static void
layouts_section_row_show_completed_changed (LayoutsSectionRow* self)
{
	ObjectsSection* _tmp0_;
	ObjectsProject* _tmp1_;
	ObjectsProject* _tmp2_;
	gboolean _tmp3_;
	gboolean _tmp4_;
	GtkRevealer* _tmp16_;
	ObjectsSection* _tmp17_;
	ObjectsProject* _tmp18_;
	ObjectsProject* _tmp19_;
	gboolean _tmp20_;
	gboolean _tmp21_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->_section;
	_tmp1_ = objects_section_get_project (_tmp0_);
	_tmp2_ = _tmp1_;
	_tmp3_ = objects_project_get_show_completed (_tmp2_);
	_tmp4_ = _tmp3_;
	if (_tmp4_) {
		layouts_section_row_add_completed_items (self);
	} else {
		GeeHashMap* _tmp15_;
		{
			GeeIterator* _row_it = NULL;
			GeeHashMap* _tmp5_;
			GeeCollection* _tmp6_;
			GeeCollection* _tmp7_;
			GeeCollection* _tmp8_;
			GeeIterator* _tmp9_;
			GeeIterator* _tmp10_;
			_tmp5_ = self->checked_items_map;
			_tmp6_ = gee_abstract_map_get_values ((GeeAbstractMap*) _tmp5_);
			_tmp7_ = _tmp6_;
			_tmp8_ = _tmp7_;
			_tmp9_ = gee_iterable_iterator ((GeeIterable*) _tmp8_);
			_tmp10_ = _tmp9_;
			_g_object_unref0 (_tmp8_);
			_row_it = _tmp10_;
			while (TRUE) {
				GeeIterator* _tmp11_;
				LayoutsItemRow* row = NULL;
				GeeIterator* _tmp12_;
				gpointer _tmp13_;
				LayoutsItemRow* _tmp14_;
				_tmp11_ = _row_it;
				if (!gee_iterator_next (_tmp11_)) {
					break;
				}
				_tmp12_ = _row_it;
				_tmp13_ = gee_iterator_get (_tmp12_);
				row = (LayoutsItemRow*) _tmp13_;
				_tmp14_ = row;
				layouts_item_base_hide_destroy ((LayoutsItemBase*) _tmp14_);
				_g_object_unref0 (row);
			}
			_g_object_unref0 (_row_it);
		}
		_tmp15_ = self->checked_items_map;
		gee_abstract_map_clear ((GeeAbstractMap*) _tmp15_);
	}
	_tmp16_ = self->priv->checked_revealer;
	_tmp17_ = self->priv->_section;
	_tmp18_ = objects_section_get_project (_tmp17_);
	_tmp19_ = _tmp18_;
	_tmp20_ = objects_project_get_show_completed (_tmp19_);
	_tmp21_ = _tmp20_;
	gtk_revealer_set_reveal_child (_tmp16_, _tmp21_);
}

static gint
__lambda567_ (LayoutsSectionRow* self,
              ObjectsItem* a,
              ObjectsItem* b)
{
	GDateTime* completed_a = NULL;
	const gchar* _tmp0_;
	const gchar* _tmp1_;
	GDateTime* _tmp2_;
	GDateTime* _tmp3_;
	GDateTime* _tmp4_;
	GDateTime* _tmp5_;
	GDateTime* completed_b = NULL;
	const gchar* _tmp6_;
	const gchar* _tmp7_;
	GDateTime* _tmp8_;
	GDateTime* _tmp9_;
	GDateTime* _tmp10_;
	GDateTime* _tmp11_;
	gint result;
	g_return_val_if_fail (a != NULL, -1);
	g_return_val_if_fail (b != NULL, -1);
	_tmp0_ = objects_item_get_completed_at (a);
	_tmp1_ = _tmp0_;
	_tmp2_ = utils_datetime_get_date_from_string (_tmp1_);
	_tmp3_ = _tmp2_;
	_tmp4_ = utils_datetime_get_date_only (_tmp3_);
	_tmp5_ = _tmp4_;
	_g_date_time_unref0 (_tmp3_);
	completed_a = _tmp5_;
	_tmp6_ = objects_item_get_completed_at (b);
	_tmp7_ = _tmp6_;
	_tmp8_ = utils_datetime_get_date_from_string (_tmp7_);
	_tmp9_ = _tmp8_;
	_tmp10_ = utils_datetime_get_date_only (_tmp9_);
	_tmp11_ = _tmp10_;
	_g_date_time_unref0 (_tmp9_);
	completed_b = _tmp11_;
	result = g_date_time_compare (completed_b, completed_a);
	_g_date_time_unref0 (completed_b);
	_g_date_time_unref0 (completed_a);
	return result;
}

static gint
___lambda567__gcompare_data_func (gconstpointer a,
                                  gconstpointer b,
                                  gpointer self)
{
	gint result;
	result = __lambda567_ ((LayoutsSectionRow*) self, (ObjectsItem*) a, (ObjectsItem*) b);
	return result;
}

void
layouts_section_row_add_completed_items (LayoutsSectionRow* self)
{
	GeeHashMap* _tmp10_;
	GeeArrayList* _tmp11_;
	GeeArrayList* _tmp12_ = NULL;
	gboolean _tmp13_;
	gboolean _tmp14_;
	GeeArrayList* _tmp35_;
	g_return_if_fail (self != NULL);
	{
		GeeIterator* _row_it = NULL;
		GeeHashMap* _tmp0_;
		GeeCollection* _tmp1_;
		GeeCollection* _tmp2_;
		GeeCollection* _tmp3_;
		GeeIterator* _tmp4_;
		GeeIterator* _tmp5_;
		_tmp0_ = self->checked_items_map;
		_tmp1_ = gee_abstract_map_get_values ((GeeAbstractMap*) _tmp0_);
		_tmp2_ = _tmp1_;
		_tmp3_ = _tmp2_;
		_tmp4_ = gee_iterable_iterator ((GeeIterable*) _tmp3_);
		_tmp5_ = _tmp4_;
		_g_object_unref0 (_tmp3_);
		_row_it = _tmp5_;
		while (TRUE) {
			GeeIterator* _tmp6_;
			LayoutsItemRow* row = NULL;
			GeeIterator* _tmp7_;
			gpointer _tmp8_;
			LayoutsItemRow* _tmp9_;
			_tmp6_ = _row_it;
			if (!gee_iterator_next (_tmp6_)) {
				break;
			}
			_tmp7_ = _row_it;
			_tmp8_ = gee_iterator_get (_tmp7_);
			row = (LayoutsItemRow*) _tmp8_;
			_tmp9_ = row;
			layouts_item_base_hide_destroy ((LayoutsItemBase*) _tmp9_);
			_g_object_unref0 (row);
		}
		_g_object_unref0 (_row_it);
	}
	_tmp10_ = self->checked_items_map;
	gee_abstract_map_clear ((GeeAbstractMap*) _tmp10_);
	_tmp11_ = gee_array_list_new (OBJECTS_TYPE_ITEM, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
	_g_object_unref0 (self->priv->completed_items_list);
	self->priv->completed_items_list = _tmp11_;
	_tmp13_ = layouts_section_row_get_is_inbox_section (self);
	_tmp14_ = _tmp13_;
	if (_tmp14_) {
		ObjectsSection* _tmp15_;
		ObjectsProject* _tmp16_;
		ObjectsProject* _tmp17_;
		GeeArrayList* _tmp18_;
		GeeArrayList* _tmp19_;
		_tmp15_ = self->priv->_section;
		_tmp16_ = objects_section_get_project (_tmp15_);
		_tmp17_ = _tmp16_;
		_tmp18_ = objects_project_get_items (_tmp17_);
		_tmp19_ = _tmp18_;
		_tmp12_ = _tmp19_;
	} else {
		ObjectsSection* _tmp20_;
		GeeArrayList* _tmp21_;
		GeeArrayList* _tmp22_;
		_tmp20_ = self->priv->_section;
		_tmp21_ = objects_section_get_items (_tmp20_);
		_tmp22_ = _tmp21_;
		_tmp12_ = _tmp22_;
	}
	{
		GeeArrayList* _item_list = NULL;
		gint _item_size = 0;
		GeeArrayList* _tmp23_;
		gint _tmp24_;
		gint _tmp25_;
		gint _item_index = 0;
		_item_list = _tmp12_;
		_tmp23_ = _item_list;
		_tmp24_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp23_);
		_tmp25_ = _tmp24_;
		_item_size = _tmp25_;
		_item_index = -1;
		while (TRUE) {
			gint _tmp26_;
			gint _tmp27_;
			ObjectsItem* item = NULL;
			GeeArrayList* _tmp28_;
			gpointer _tmp29_;
			ObjectsItem* _tmp30_;
			gboolean _tmp31_;
			gboolean _tmp32_;
			_item_index = _item_index + 1;
			_tmp26_ = _item_index;
			_tmp27_ = _item_size;
			if (!(_tmp26_ < _tmp27_)) {
				break;
			}
			_tmp28_ = _item_list;
			_tmp29_ = gee_abstract_list_get ((GeeAbstractList*) _tmp28_, _item_index);
			item = (ObjectsItem*) _tmp29_;
			_tmp30_ = item;
			_tmp31_ = objects_item_get_checked (_tmp30_);
			_tmp32_ = _tmp31_;
			if (_tmp32_) {
				GeeArrayList* _tmp33_;
				ObjectsItem* _tmp34_;
				_tmp33_ = self->priv->completed_items_list;
				_tmp34_ = item;
				gee_abstract_collection_add ((GeeAbstractCollection*) _tmp33_, _tmp34_);
			}
			_g_object_unref0 (item);
		}
	}
	_tmp35_ = self->priv->completed_items_list;
	gee_list_sort ((GeeList*) _tmp35_, ___lambda567__gcompare_data_func, g_object_ref (self), g_object_unref);
	self->priv->completed_page_index = 0;
	layouts_section_row_load_next_completed_page (self);
}

static void
layouts_section_row_load_next_completed_page (LayoutsSectionRow* self)
{
	gint start = 0;
	gint _tmp0_ = 0;
	GeeArrayList* _tmp1_;
	gint _tmp2_;
	gint _tmp3_;
	gint end = 0;
	gint _tmp12_;
	g_return_if_fail (self != NULL);
	start = self->priv->completed_page_index * LAYOUTS_SECTION_ROW_PAGE_SIZE;
	_tmp1_ = self->priv->completed_items_list;
	_tmp2_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp1_);
	_tmp3_ = _tmp2_;
	if ((start + LAYOUTS_SECTION_ROW_PAGE_SIZE) < _tmp3_) {
		_tmp0_ = start + LAYOUTS_SECTION_ROW_PAGE_SIZE;
	} else {
		GeeArrayList* _tmp4_;
		gint _tmp5_;
		gint _tmp6_;
		_tmp4_ = self->priv->completed_items_list;
		_tmp5_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp4_);
		_tmp6_ = _tmp5_;
		_tmp0_ = _tmp6_;
	}
	end = _tmp0_;
	{
		gint i = 0;
		i = start;
		{
			gboolean _tmp7_ = FALSE;
			_tmp7_ = TRUE;
			while (TRUE) {
				ObjectsItem* item = NULL;
				GeeArrayList* _tmp9_;
				gpointer _tmp10_;
				ObjectsItem* _tmp11_;
				if (!_tmp7_) {
					gint _tmp8_;
					_tmp8_ = i;
					i = _tmp8_ + 1;
				}
				_tmp7_ = FALSE;
				if (!(i < end)) {
					break;
				}
				_tmp9_ = self->priv->completed_items_list;
				_tmp10_ = gee_abstract_list_get ((GeeAbstractList*) _tmp9_, i);
				item = (ObjectsItem*) _tmp10_;
				_tmp11_ = item;
				layouts_section_row_add_complete_item (self, _tmp11_);
				_g_object_unref0 (item);
			}
		}
	}
	_tmp12_ = self->priv->completed_page_index;
	self->priv->completed_page_index = _tmp12_ + 1;
	layouts_section_row_update_load_more_button_label (self);
}

static void
layouts_section_row_update_load_more_button_label (LayoutsSectionRow* self)
{
	gint loaded = 0;
	gint remaining = 0;
	GeeArrayList* _tmp0_;
	gint _tmp1_;
	gint _tmp2_;
	g_return_if_fail (self != NULL);
	loaded = self->priv->completed_page_index * LAYOUTS_SECTION_ROW_PAGE_SIZE;
	_tmp0_ = self->priv->completed_items_list;
	_tmp1_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp0_);
	_tmp2_ = _tmp1_;
	remaining = _tmp2_ - loaded;
	if (remaining > 0) {
		gint _tmp3_ = 0;
		gint to_show = 0;
		GtkButton* _tmp4_;
		gchar* _tmp5_;
		gchar* _tmp6_;
		GtkRevealer* _tmp7_;
		if (remaining < LAYOUTS_SECTION_ROW_PAGE_SIZE) {
			_tmp3_ = remaining;
		} else {
			_tmp3_ = LAYOUTS_SECTION_ROW_PAGE_SIZE;
		}
		to_show = _tmp3_;
		_tmp4_ = self->priv->load_more_button;
		_tmp5_ = g_strdup_printf ("+%d %s", to_show, _ ("completed tasks"));
		_tmp6_ = _tmp5_;
		gtk_button_set_label (_tmp4_, _tmp6_);
		_g_free0 (_tmp6_);
		_tmp7_ = self->priv->load_more_button_revealer;
		gtk_revealer_set_reveal_child (_tmp7_, TRUE);
	} else {
		GtkButton* _tmp8_;
		GtkRevealer* _tmp9_;
		_tmp8_ = self->priv->load_more_button;
		gtk_button_set_label (_tmp8_, "No more tasks");
		_tmp9_ = self->priv->load_more_button_revealer;
		gtk_revealer_set_reveal_child (_tmp9_, FALSE);
	}
}

void
layouts_section_row_add_complete_item (LayoutsSectionRow* self,
                                       ObjectsItem* item)
{
	ObjectsSection* _tmp0_;
	ObjectsProject* _tmp1_;
	ObjectsProject* _tmp2_;
	gboolean _tmp3_;
	gboolean _tmp4_;
	gboolean _tmp5_;
	gboolean _tmp6_;
	GeeHashMap* _tmp7_;
	const gchar* _tmp8_;
	const gchar* _tmp9_;
	GeeHashMap* _tmp10_;
	const gchar* _tmp11_;
	const gchar* _tmp12_;
	LayoutsItemRow* _tmp13_;
	LayoutsItemRow* _tmp14_;
	GtkListBox* _tmp15_;
	GeeHashMap* _tmp16_;
	const gchar* _tmp17_;
	const gchar* _tmp18_;
	gpointer _tmp19_;
	LayoutsItemRow* _tmp20_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (item != NULL);
	_tmp0_ = self->priv->_section;
	_tmp1_ = objects_section_get_project (_tmp0_);
	_tmp2_ = _tmp1_;
	_tmp3_ = objects_project_get_show_completed (_tmp2_);
	_tmp4_ = _tmp3_;
	if (!_tmp4_) {
		return;
	}
	_tmp5_ = objects_item_get_checked (item);
	_tmp6_ = _tmp5_;
	if (!_tmp6_) {
		return;
	}
	_tmp7_ = self->checked_items_map;
	_tmp8_ = objects_base_object_get_id_string ((ObjectsBaseObject*) item);
	_tmp9_ = _tmp8_;
	if (gee_abstract_map_has_key ((GeeAbstractMap*) _tmp7_, _tmp9_)) {
		return;
	}
	_tmp10_ = self->checked_items_map;
	_tmp11_ = objects_base_object_get_id_string ((ObjectsBaseObject*) item);
	_tmp12_ = _tmp11_;
	_tmp13_ = layouts_item_row_new (item, FALSE);
	g_object_ref_sink (_tmp13_);
	_tmp14_ = _tmp13_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp10_, _tmp12_, _tmp14_);
	_g_object_unref0 (_tmp14_);
	_tmp15_ = self->priv->checked_listbox;
	_tmp16_ = self->checked_items_map;
	_tmp17_ = objects_base_object_get_id_string ((ObjectsBaseObject*) item);
	_tmp18_ = _tmp17_;
	_tmp19_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp16_, _tmp18_);
	_tmp20_ = (LayoutsItemRow*) _tmp19_;
	gtk_list_box_append (_tmp15_, (GtkWidget*) _tmp20_);
	_g_object_unref0 (_tmp20_);
}

void
layouts_section_row_prepare_new_item (LayoutsSectionRow* self,
                                      const gchar* content,
                                      NewTaskPosition new_task_position)
{
	DialogsQuickAdd* dialog = NULL;
	DialogsQuickAdd* _tmp0_;
	ObjectsSection* _tmp1_;
	Planify* _tmp2_;
	MainWindow* _tmp3_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (content != NULL);
	_tmp0_ = dialogs_quick_add_new ();
	g_object_ref_sink (_tmp0_);
	dialog = _tmp0_;
	_tmp1_ = self->priv->_section;
	dialogs_quick_add_for_base_object (dialog, (ObjectsBaseObject*) _tmp1_);
	dialogs_quick_add_update_content (dialog, content);
	dialogs_quick_add_set_new_task_position (dialog, new_task_position);
	_tmp2_ = planify__instance;
	_tmp3_ = _tmp2_->main_window;
	adw_dialog_present ((AdwDialog*) dialog, (GtkWidget*) _tmp3_);
	_g_object_unref0 (dialog);
}

static gboolean
__lambda568_ (LayoutsSectionRow* 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
___lambda568__gsource_func (gpointer self)
{
	gboolean result;
	result = __lambda568_ ((LayoutsSectionRow*) self);
	return result;
}

void
layouts_section_row_hide_destroy (LayoutsSectionRow* self)
{
	GtkRevealer* _tmp0_;
	GtkRevealer* _tmp1_;
	guint _tmp2_;
	guint _tmp3_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->content_revealer;
	gtk_revealer_set_reveal_child (_tmp0_, FALSE);
	layouts_section_row_clean_up (self);
	_tmp1_ = self->priv->content_revealer;
	_tmp2_ = gtk_revealer_get_transition_duration (_tmp1_);
	_tmp3_ = _tmp2_;
	g_timeout_add_full (G_PRIORITY_DEFAULT, _tmp3_, ___lambda568__gsource_func, g_object_ref (self), g_object_unref);
}

static void
__lambda569_ (LayoutsSectionRow* self)
{
	ServicesSettings* _tmp0_;
	ServicesSettings* _tmp1_;
	_tmp0_ = services_settings_get_default ();
	_tmp1_ = _tmp0_;
	layouts_section_row_prepare_new_item (self, "", services_settings_get_new_task_position (_tmp1_));
	_g_object_unref0 (_tmp1_);
}

static void
___lambda569__gtk_button_clicked (GtkButton* _sender,
                                  gpointer self)
{
	__lambda569_ ((LayoutsSectionRow*) self);
}

static void
__lambda570_ (LayoutsSectionRow* self)
{
	DialogsSection* dialog = NULL;
	ObjectsSection* _tmp0_;
	DialogsSection* _tmp1_;
	Planify* _tmp2_;
	MainWindow* _tmp3_;
	_tmp0_ = self->priv->_section;
	_tmp1_ = dialogs_section_new (_tmp0_);
	g_object_ref_sink (_tmp1_);
	dialog = _tmp1_;
	_tmp2_ = planify__instance;
	_tmp3_ = _tmp2_->main_window;
	adw_dialog_present ((AdwDialog*) dialog, (GtkWidget*) _tmp3_);
	_g_object_unref0 (dialog);
}

static void
___lambda570__gtk_button_clicked (GtkButton* _sender,
                                  gpointer self)
{
	__lambda570_ ((LayoutsSectionRow*) self);
}

static void
__lambda578_ (LayoutsSectionRow* 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) {
		layouts_section_row_move_section (self, id);
	}
}

static void
___lambda578__dialogs_project_picker_project_picker_changed (DialogsProjectPickerProjectPicker* _sender,
                                                             const gchar* type,
                                                             const gchar* id,
                                                             gpointer self)
{
	__lambda578_ ((LayoutsSectionRow*) self, type, id);
}

static void
__lambda577_ (LayoutsSectionRow* self)
{
	DialogsProjectPickerProjectPicker* dialog = NULL;
	ObjectsSection* _tmp0_;
	ObjectsSource* _tmp1_;
	ObjectsSource* _tmp2_;
	DialogsProjectPickerProjectPicker* _tmp3_;
	ObjectsSection* _tmp4_;
	ObjectsProject* _tmp5_;
	ObjectsProject* _tmp6_;
	Planify* _tmp7_;
	MainWindow* _tmp8_;
	_tmp0_ = self->priv->_section;
	_tmp1_ = objects_base_object_get_source ((ObjectsBaseObject*) _tmp0_);
	_tmp2_ = _tmp1_;
	_tmp3_ = dialogs_project_picker_project_picker_new_for_source (_tmp2_);
	g_object_ref_sink (_tmp3_);
	dialog = _tmp3_;
	_tmp4_ = self->priv->_section;
	_tmp5_ = objects_section_get_project (_tmp4_);
	_tmp6_ = _tmp5_;
	dialogs_project_picker_project_picker_set_project (dialog, _tmp6_);
	_tmp7_ = planify__instance;
	_tmp8_ = _tmp7_->main_window;
	adw_dialog_present ((AdwDialog*) dialog, (GtkWidget*) _tmp8_);
	g_signal_connect_object (dialog, "changed", (GCallback) ___lambda578__dialogs_project_picker_project_picker_changed, self, 0);
	_g_object_unref0 (dialog);
}

static void
___lambda577__gtk_button_clicked (GtkButton* _sender,
                                  gpointer self)
{
	__lambda577_ ((LayoutsSectionRow*) self);
}

static void
__lambda580_ (LayoutsSectionRow* self)
{
	DialogsManageSectionOrder* dialog = NULL;
	ObjectsSection* _tmp0_;
	ObjectsProject* _tmp1_;
	ObjectsProject* _tmp2_;
	DialogsManageSectionOrder* _tmp3_;
	Planify* _tmp4_;
	MainWindow* _tmp5_;
	_tmp0_ = self->priv->_section;
	_tmp1_ = objects_section_get_project (_tmp0_);
	_tmp2_ = _tmp1_;
	_tmp3_ = dialogs_manage_section_order_new (_tmp2_);
	g_object_ref_sink (_tmp3_);
	dialog = _tmp3_;
	_tmp4_ = planify__instance;
	_tmp5_ = _tmp4_->main_window;
	adw_dialog_present ((AdwDialog*) dialog, (GtkWidget*) _tmp5_);
	_g_object_unref0 (dialog);
}

static void
___lambda580__gtk_button_clicked (GtkButton* _sender,
                                  gpointer self)
{
	__lambda580_ ((LayoutsSectionRow*) self);
}

static void
__lambda598_ (LayoutsSectionRow* self)
{
	ObjectsSection* _tmp0_;
	Planify* _tmp1_;
	Planify* _tmp2_;
	MainWindow* _tmp3_;
	_tmp0_ = self->priv->_section;
	_tmp1_ = planify_get_instance ();
	_tmp2_ = _tmp1_;
	_tmp3_ = _tmp2_->main_window;
	objects_section_delete_section (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_window_get_type (), GtkWindow));
}

static void
___lambda598__gtk_button_clicked (GtkButton* _sender,
                                  gpointer self)
{
	__lambda598_ ((LayoutsSectionRow*) self);
}

static void
__lambda599_ (LayoutsSectionRow* self)
{
	DialogsCompletedTasks* dialog = NULL;
	ObjectsSection* _tmp0_;
	ObjectsProject* _tmp1_;
	ObjectsProject* _tmp2_;
	DialogsCompletedTasks* _tmp3_;
	ObjectsSection* _tmp4_;
	Planify* _tmp5_;
	MainWindow* _tmp6_;
	_tmp0_ = self->priv->_section;
	_tmp1_ = objects_section_get_project (_tmp0_);
	_tmp2_ = _tmp1_;
	_tmp3_ = dialogs_completed_tasks_new (_tmp2_);
	g_object_ref_sink (_tmp3_);
	dialog = _tmp3_;
	_tmp4_ = self->priv->_section;
	dialogs_completed_tasks_add_update_filter (dialog, _tmp4_);
	_tmp5_ = planify__instance;
	_tmp6_ = _tmp5_->main_window;
	adw_dialog_present ((AdwDialog*) dialog, (GtkWidget*) _tmp6_);
	_g_object_unref0 (dialog);
}

static void
___lambda599__gtk_button_clicked (GtkButton* _sender,
                                  gpointer self)
{
	__lambda599_ ((LayoutsSectionRow*) self);
}

static void
__lambda625_ (LayoutsSectionRow* self)
{
	ObjectsSection* _tmp0_;
	Planify* _tmp1_;
	Planify* _tmp2_;
	MainWindow* _tmp3_;
	_tmp0_ = self->priv->_section;
	_tmp1_ = planify_get_instance ();
	_tmp2_ = _tmp1_;
	_tmp3_ = _tmp2_->main_window;
	objects_section_archive_section (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_window_get_type (), GtkWindow));
}

static void
___lambda625__gtk_button_clicked (GtkButton* _sender,
                                  gpointer self)
{
	__lambda625_ ((LayoutsSectionRow*) self);
}

static void
__lambda626_ (LayoutsSectionRow* self)
{
	Util* _tmp0_;
	Util* _tmp1_;
	ObjectsSection* _tmp2_;
	ObjectsSection* _tmp3_;
	const gchar* _tmp4_;
	const gchar* _tmp5_;
	_tmp0_ = util_get_default ();
	_tmp1_ = _tmp0_;
	_tmp2_ = self->priv->_section;
	_tmp3_ = self->priv->_section;
	_tmp4_ = objects_section_get_project_id (_tmp3_);
	_tmp5_ = _tmp4_;
	util_duplicate_section (_tmp1_, _tmp2_, _tmp5_, TRUE, NULL, NULL);
	_g_object_unref0 (_tmp1_);
}

static void
___lambda626__gtk_button_clicked (GtkButton* _sender,
                                  gpointer self)
{
	__lambda626_ ((LayoutsSectionRow*) self);
}

static GtkPopover*
layouts_section_row_build_context_menu (LayoutsSectionRow* self)
{
	WidgetsContextMenuMenuItem* add_item = NULL;
	WidgetsContextMenuMenuItem* _tmp0_;
	WidgetsContextMenuMenuItem* edit_item = NULL;
	WidgetsContextMenuMenuItem* _tmp1_;
	WidgetsContextMenuMenuItem* move_item = NULL;
	WidgetsContextMenuMenuItem* _tmp2_;
	WidgetsContextMenuMenuItem* manage_item = NULL;
	WidgetsContextMenuMenuItem* _tmp3_;
	WidgetsContextMenuMenuItem* duplicate_item = NULL;
	WidgetsContextMenuMenuItem* _tmp4_;
	WidgetsContextMenuMenuItem* show_completed_item = NULL;
	WidgetsContextMenuMenuItem* _tmp5_;
	WidgetsContextMenuMenuItem* archive_item = NULL;
	WidgetsContextMenuMenuItem* _tmp6_;
	WidgetsContextMenuMenuItem* delete_item = NULL;
	WidgetsContextMenuMenuItem* _tmp7_;
	WidgetsContextMenuMenuItem* _tmp8_;
	GtkBox* menu_box = NULL;
	GtkBox* _tmp9_;
	GtkBox* _tmp10_;
	GtkBox* _tmp11_;
	GtkBox* _tmp12_;
	WidgetsContextMenuMenuItem* _tmp13_;
	gboolean _tmp14_;
	gboolean _tmp15_;
	GtkBox* _tmp21_;
	WidgetsContextMenuMenuItem* _tmp22_;
	GtkBox* _tmp23_;
	WidgetsContextMenuMenuItem* _tmp24_;
	GtkBox* _tmp25_;
	WidgetsContextMenuMenuItem* _tmp26_;
	GtkBox* _tmp27_;
	WidgetsContextMenuMenuSeparator* _tmp28_;
	WidgetsContextMenuMenuSeparator* _tmp29_;
	GtkBox* _tmp30_;
	WidgetsContextMenuMenuItem* _tmp31_;
	gboolean _tmp32_;
	gboolean _tmp33_;
	WidgetsContextMenuMenuItem* _tmp46_;
	ObjectsSection* _tmp47_;
	ObjectsProject* _tmp48_;
	ObjectsProject* _tmp49_;
	SourceType _tmp50_;
	SourceType _tmp51_;
	WidgetsContextMenuMenuItem* _tmp52_;
	ObjectsSection* _tmp53_;
	ObjectsProject* _tmp54_;
	ObjectsProject* _tmp55_;
	SourceType _tmp56_;
	SourceType _tmp57_;
	GtkPopover* menu_popover = NULL;
	GtkBox* _tmp58_;
	GtkWidget* _tmp59_;
	GtkPopover* _tmp60_ = NULL;
	WidgetsContextMenuMenuItem* _tmp61_;
	WidgetsContextMenuMenuItem* _tmp62_;
	WidgetsContextMenuMenuItem* _tmp63_;
	WidgetsContextMenuMenuItem* _tmp64_;
	WidgetsContextMenuMenuItem* _tmp65_;
	WidgetsContextMenuMenuItem* _tmp66_;
	WidgetsContextMenuMenuItem* _tmp67_;
	WidgetsContextMenuMenuItem* _tmp68_;
	GtkPopover* result;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = widgets_context_menu_menu_item_new (_ ("Add Task"), "plus-large-symbolic");
	g_object_ref_sink (_tmp0_);
	add_item = _tmp0_;
	_tmp1_ = widgets_context_menu_menu_item_new (_ ("Edit Section"), "edit-symbolic");
	g_object_ref_sink (_tmp1_);
	edit_item = _tmp1_;
	_tmp2_ = widgets_context_menu_menu_item_new (_ ("Move Section"), "arrow3-right-symbolic");
	g_object_ref_sink (_tmp2_);
	move_item = _tmp2_;
	_tmp3_ = widgets_context_menu_menu_item_new (_ ("Manage Sections"), "view-list-ordered-symbolic");
	g_object_ref_sink (_tmp3_);
	manage_item = _tmp3_;
	_tmp4_ = widgets_context_menu_menu_item_new (_ ("Duplicate"), "tabs-stack-symbolic");
	g_object_ref_sink (_tmp4_);
	duplicate_item = _tmp4_;
	_tmp5_ = widgets_context_menu_menu_item_new (_ ("Show Completed Tasks"), "check-round-outline-symbolic");
	g_object_ref_sink (_tmp5_);
	show_completed_item = _tmp5_;
	_tmp6_ = widgets_context_menu_menu_item_new (_ ("Archive"), "shoe-box-symbolic");
	g_object_ref_sink (_tmp6_);
	archive_item = _tmp6_;
	_tmp7_ = widgets_context_menu_menu_item_new (_ ("Delete Section"), "user-trash-symbolic");
	g_object_ref_sink (_tmp7_);
	delete_item = _tmp7_;
	_tmp8_ = delete_item;
	gtk_widget_add_css_class ((GtkWidget*) _tmp8_, "menu-item-danger");
	_tmp9_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
	g_object_ref_sink (_tmp9_);
	menu_box = _tmp9_;
	_tmp10_ = menu_box;
	_tmp11_ = menu_box;
	gtk_widget_set_margin_bottom ((GtkWidget*) _tmp11_, 3);
	gtk_widget_set_margin_top ((GtkWidget*) _tmp10_, 3);
	_tmp12_ = menu_box;
	_tmp13_ = add_item;
	gtk_box_append (_tmp12_, (GtkWidget*) _tmp13_);
	_tmp14_ = layouts_section_row_get_is_inbox_section (self);
	_tmp15_ = _tmp14_;
	if (!_tmp15_) {
		GtkBox* _tmp16_;
		WidgetsContextMenuMenuSeparator* _tmp17_;
		WidgetsContextMenuMenuSeparator* _tmp18_;
		GtkBox* _tmp19_;
		WidgetsContextMenuMenuItem* _tmp20_;
		_tmp16_ = menu_box;
		_tmp17_ = widgets_context_menu_menu_separator_new ();
		g_object_ref_sink (_tmp17_);
		_tmp18_ = _tmp17_;
		gtk_box_append (_tmp16_, (GtkWidget*) _tmp18_);
		_g_object_unref0 (_tmp18_);
		_tmp19_ = menu_box;
		_tmp20_ = edit_item;
		gtk_box_append (_tmp19_, (GtkWidget*) _tmp20_);
	}
	_tmp21_ = menu_box;
	_tmp22_ = move_item;
	gtk_box_append (_tmp21_, (GtkWidget*) _tmp22_);
	_tmp23_ = menu_box;
	_tmp24_ = manage_item;
	gtk_box_append (_tmp23_, (GtkWidget*) _tmp24_);
	_tmp25_ = menu_box;
	_tmp26_ = duplicate_item;
	gtk_box_append (_tmp25_, (GtkWidget*) _tmp26_);
	_tmp27_ = menu_box;
	_tmp28_ = widgets_context_menu_menu_separator_new ();
	g_object_ref_sink (_tmp28_);
	_tmp29_ = _tmp28_;
	gtk_box_append (_tmp27_, (GtkWidget*) _tmp29_);
	_g_object_unref0 (_tmp29_);
	_tmp30_ = menu_box;
	_tmp31_ = show_completed_item;
	gtk_box_append (_tmp30_, (GtkWidget*) _tmp31_);
	_tmp32_ = layouts_section_row_get_is_inbox_section (self);
	_tmp33_ = _tmp32_;
	if (!_tmp33_) {
		GtkBox* _tmp34_;
		WidgetsContextMenuMenuSeparator* _tmp35_;
		WidgetsContextMenuMenuSeparator* _tmp36_;
		ObjectsSection* _tmp37_;
		ObjectsProject* _tmp38_;
		ObjectsProject* _tmp39_;
		SourceType _tmp40_;
		SourceType _tmp41_;
		GtkBox* _tmp44_;
		WidgetsContextMenuMenuItem* _tmp45_;
		_tmp34_ = menu_box;
		_tmp35_ = widgets_context_menu_menu_separator_new ();
		g_object_ref_sink (_tmp35_);
		_tmp36_ = _tmp35_;
		gtk_box_append (_tmp34_, (GtkWidget*) _tmp36_);
		_g_object_unref0 (_tmp36_);
		_tmp37_ = self->priv->_section;
		_tmp38_ = objects_section_get_project (_tmp37_);
		_tmp39_ = _tmp38_;
		_tmp40_ = objects_project_get_source_type (_tmp39_);
		_tmp41_ = _tmp40_;
		if (_tmp41_ != SOURCE_TYPE_CALDAV) {
			GtkBox* _tmp42_;
			WidgetsContextMenuMenuItem* _tmp43_;
			_tmp42_ = menu_box;
			_tmp43_ = archive_item;
			gtk_box_append (_tmp42_, (GtkWidget*) _tmp43_);
		}
		_tmp44_ = menu_box;
		_tmp45_ = delete_item;
		gtk_box_append (_tmp44_, (GtkWidget*) _tmp45_);
	}
	_tmp46_ = move_item;
	_tmp47_ = self->priv->_section;
	_tmp48_ = objects_section_get_project (_tmp47_);
	_tmp49_ = _tmp48_;
	_tmp50_ = objects_project_get_source_type (_tmp49_);
	_tmp51_ = _tmp50_;
	gtk_widget_set_visible ((GtkWidget*) _tmp46_, _tmp51_ != SOURCE_TYPE_CALDAV);
	_tmp52_ = duplicate_item;
	_tmp53_ = self->priv->_section;
	_tmp54_ = objects_section_get_project (_tmp53_);
	_tmp55_ = _tmp54_;
	_tmp56_ = objects_project_get_source_type (_tmp55_);
	_tmp57_ = _tmp56_;
	gtk_widget_set_visible ((GtkWidget*) _tmp52_, _tmp57_ != SOURCE_TYPE_CALDAV);
	_tmp58_ = menu_box;
	_tmp59_ = _g_object_ref0 ((GtkWidget*) _tmp58_);
	_tmp60_ = (GtkPopover*) gtk_popover_new ();
	gtk_popover_set_has_arrow (_tmp60_, FALSE);
	gtk_popover_set_child (_tmp60_, _tmp59_);
	_g_object_unref0 (_tmp59_);
	gtk_popover_set_position (_tmp60_, GTK_POS_BOTTOM);
	g_object_set ((GtkWidget*) _tmp60_, "width-request", 250, NULL);
	g_object_ref_sink (_tmp60_);
	menu_popover = _tmp60_;
	_tmp61_ = add_item;
	g_signal_connect_object ((GtkButton*) _tmp61_, "clicked", (GCallback) ___lambda569__gtk_button_clicked, self, 0);
	_tmp62_ = edit_item;
	g_signal_connect_object ((GtkButton*) _tmp62_, "clicked", (GCallback) ___lambda570__gtk_button_clicked, self, 0);
	_tmp63_ = move_item;
	g_signal_connect_object ((GtkButton*) _tmp63_, "clicked", (GCallback) ___lambda577__gtk_button_clicked, self, 0);
	_tmp64_ = manage_item;
	g_signal_connect_object ((GtkButton*) _tmp64_, "clicked", (GCallback) ___lambda580__gtk_button_clicked, self, 0);
	_tmp65_ = delete_item;
	g_signal_connect_object ((GtkButton*) _tmp65_, "clicked", (GCallback) ___lambda598__gtk_button_clicked, self, 0);
	_tmp66_ = show_completed_item;
	g_signal_connect_object ((GtkButton*) _tmp66_, "clicked", (GCallback) ___lambda599__gtk_button_clicked, self, 0);
	_tmp67_ = archive_item;
	g_signal_connect_object ((GtkButton*) _tmp67_, "clicked", (GCallback) ___lambda625__gtk_button_clicked, self, 0);
	_tmp68_ = duplicate_item;
	g_signal_connect_object ((GtkButton*) _tmp68_, "clicked", (GCallback) ___lambda626__gtk_button_clicked, self, 0);
	result = menu_popover;
	_g_object_unref0 (menu_box);
	_g_object_unref0 (delete_item);
	_g_object_unref0 (archive_item);
	_g_object_unref0 (show_completed_item);
	_g_object_unref0 (duplicate_item);
	_g_object_unref0 (manage_item);
	_g_object_unref0 (move_item);
	_g_object_unref0 (edit_item);
	_g_object_unref0 (add_item);
	return result;
}

static Block26Data*
block26_data_ref (Block26Data* _data26_)
{
	g_atomic_int_inc (&_data26_->_ref_count_);
	return _data26_;
}

static void
block26_data_unref (void * _userdata_)
{
	Block26Data* _data26_;
	_data26_ = (Block26Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data26_->_ref_count_)) {
		LayoutsSectionRow* self;
		self = _data26_->self;
		_g_free0 (_data26_->old_parent_id);
		_g_free0 (_data26_->old_section_id);
		_g_object_unref0 (_data26_->picked_widget);
		_g_object_unref0 (self);
		g_slice_free (Block26Data, _data26_);
	}
}

static void
___lambda628_ (Block26Data* _data26_,
               GObject* obj,
               GAsyncResult* res)
{
	LayoutsSectionRow* self;
	ServicesTodoist* _tmp0_;
	ServicesTodoist* _tmp1_;
	HttpResponse* _tmp2_;
	HttpResponse* _tmp3_;
	gboolean _tmp4_;
	gboolean _tmp5_;
	gboolean _tmp6_;
	self = _data26_->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_;
		LayoutsItemRow* _tmp8_;
		ObjectsItem* _tmp9_;
		ObjectsItem* _tmp10_;
		const gchar* _tmp11_;
		const gchar* _tmp12_;
		_tmp7_ = services_store_instance ();
		_tmp8_ = _data26_->picked_widget;
		_tmp9_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp8_);
		_tmp10_ = _tmp9_;
		_tmp11_ = _data26_->old_section_id;
		_tmp12_ = _data26_->old_parent_id;
		services_store_move_item (_tmp7_, _tmp10_, _tmp11_, _tmp12_, "");
	}
}

static void
____lambda628__gasync_ready_callback (GObject* source_object,
                                      GAsyncResult* res,
                                      gpointer self)
{
	___lambda628_ (self, source_object, res);
	block26_data_unref (self);
}

static gboolean
__lambda627_ (LayoutsSectionRow* self,
              GtkDropTarget* target,
              GValue* value,
              gdouble x,
              gdouble y)
{
	Block26Data* _data26_;
	GValue _tmp0_;
	LayoutsItemRow* _tmp1_;
	LayoutsItemRow* _tmp2_;
	LayoutsItemRow* _tmp3_;
	ObjectsItem* _tmp4_;
	ObjectsItem* _tmp5_;
	const gchar* _tmp6_;
	const gchar* _tmp7_;
	gchar* _tmp8_;
	LayoutsItemRow* _tmp9_;
	ObjectsItem* _tmp10_;
	ObjectsItem* _tmp11_;
	const gchar* _tmp12_;
	const gchar* _tmp13_;
	gchar* _tmp14_;
	LayoutsItemRow* _tmp15_;
	ObjectsItem* _tmp16_;
	ObjectsItem* _tmp17_;
	ObjectsSection* _tmp18_;
	const gchar* _tmp19_;
	const gchar* _tmp20_;
	LayoutsItemRow* _tmp21_;
	ObjectsItem* _tmp22_;
	ObjectsItem* _tmp23_;
	ObjectsSection* _tmp24_;
	const gchar* _tmp25_;
	const gchar* _tmp26_;
	LayoutsItemRow* _tmp27_;
	ObjectsItem* _tmp28_;
	ObjectsItem* _tmp29_;
	LayoutsItemRow* _tmp30_;
	ObjectsItem* _tmp31_;
	ObjectsItem* _tmp32_;
	ObjectsProject* _tmp33_;
	ObjectsProject* _tmp34_;
	SourceType _tmp35_;
	SourceType _tmp36_;
	GtkListBox* source_list = NULL;
	LayoutsItemRow* _tmp69_;
	GtkWidget* _tmp70_;
	GtkWidget* _tmp71_;
	GtkListBox* _tmp72_;
	LayoutsItemRow* _tmp73_;
	GtkListBox* _tmp74_;
	LayoutsItemRow* _tmp75_;
	GtkListBox* _tmp76_;
	LayoutsItemRow* _tmp77_;
	LayoutsItemRow* _tmp78_;
	ServicesEventBus* _tmp79_;
	ServicesEventBus* _tmp80_;
	LayoutsItemRow* _tmp81_;
	const gchar* _tmp82_;
	const gchar* _tmp83_;
	gboolean result;
	g_return_val_if_fail (target != NULL, FALSE);
	g_return_val_if_fail (value != NULL, FALSE);
	_data26_ = g_slice_new0 (Block26Data);
	_data26_->_ref_count_ = 1;
	_data26_->self = g_object_ref (self);
	_tmp0_ = *value;
	_tmp1_ = _g_object_ref0 (g_value_get_object (&_tmp0_));
	_data26_->picked_widget = _tmp1_;
	_tmp2_ = _data26_->picked_widget;
	layouts_item_row_drag_end (_tmp2_);
	_tmp3_ = _data26_->picked_widget;
	_tmp4_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp3_);
	_tmp5_ = _tmp4_;
	_tmp6_ = objects_item_get_section_id (_tmp5_);
	_tmp7_ = _tmp6_;
	_tmp8_ = g_strdup (_tmp7_);
	_data26_->old_section_id = _tmp8_;
	_tmp9_ = _data26_->picked_widget;
	_tmp10_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp9_);
	_tmp11_ = _tmp10_;
	_tmp12_ = objects_item_get_parent_id (_tmp11_);
	_tmp13_ = _tmp12_;
	_tmp14_ = g_strdup (_tmp13_);
	_data26_->old_parent_id = _tmp14_;
	_tmp15_ = _data26_->picked_widget;
	_tmp16_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp15_);
	_tmp17_ = _tmp16_;
	_tmp18_ = self->priv->_section;
	_tmp19_ = objects_section_get_project_id (_tmp18_);
	_tmp20_ = _tmp19_;
	objects_item_set_project_id (_tmp17_, _tmp20_);
	_tmp21_ = _data26_->picked_widget;
	_tmp22_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp21_);
	_tmp23_ = _tmp22_;
	_tmp24_ = self->priv->_section;
	_tmp25_ = objects_base_object_get_id ((ObjectsBaseObject*) _tmp24_);
	_tmp26_ = _tmp25_;
	objects_item_set_section_id (_tmp23_, _tmp26_);
	_tmp27_ = _data26_->picked_widget;
	_tmp28_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp27_);
	_tmp29_ = _tmp28_;
	objects_item_set_parent_id (_tmp29_, "");
	_tmp30_ = _data26_->picked_widget;
	_tmp31_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp30_);
	_tmp32_ = _tmp31_;
	_tmp33_ = objects_item_get_project (_tmp32_);
	_tmp34_ = _tmp33_;
	_tmp35_ = objects_project_get_source_type (_tmp34_);
	_tmp36_ = _tmp35_;
	if (_tmp36_ == SOURCE_TYPE_TODOIST) {
		gchar* type = NULL;
		gchar* _tmp37_;
		gchar* id = NULL;
		ObjectsSection* _tmp38_;
		const gchar* _tmp39_;
		const gchar* _tmp40_;
		gchar* _tmp41_;
		gboolean _tmp42_;
		gboolean _tmp43_;
		ServicesTodoist* _tmp49_;
		ServicesTodoist* _tmp50_;
		LayoutsItemRow* _tmp51_;
		ObjectsItem* _tmp52_;
		ObjectsItem* _tmp53_;
		const gchar* _tmp54_;
		const gchar* _tmp55_;
		_tmp37_ = g_strdup ("section_id");
		type = _tmp37_;
		_tmp38_ = self->priv->_section;
		_tmp39_ = objects_base_object_get_id ((ObjectsBaseObject*) _tmp38_);
		_tmp40_ = _tmp39_;
		_tmp41_ = g_strdup (_tmp40_);
		id = _tmp41_;
		_tmp42_ = layouts_section_row_get_is_inbox_section (self);
		_tmp43_ = _tmp42_;
		if (_tmp43_) {
			gchar* _tmp44_;
			ObjectsSection* _tmp45_;
			const gchar* _tmp46_;
			const gchar* _tmp47_;
			gchar* _tmp48_;
			_tmp44_ = g_strdup ("project_id");
			_g_free0 (type);
			type = _tmp44_;
			_tmp45_ = self->priv->_section;
			_tmp46_ = objects_section_get_project_id (_tmp45_);
			_tmp47_ = _tmp46_;
			_tmp48_ = g_strdup (_tmp47_);
			_g_free0 (id);
			id = _tmp48_;
		}
		_tmp49_ = services_todoist_get_default ();
		_tmp50_ = _tmp49_;
		_tmp51_ = _data26_->picked_widget;
		_tmp52_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp51_);
		_tmp53_ = _tmp52_;
		_tmp54_ = type;
		_tmp55_ = id;
		services_todoist_move_item (_tmp50_, _tmp53_, _tmp54_, _tmp55_, ____lambda628__gasync_ready_callback, block26_data_ref (_data26_));
		_g_object_unref0 (_tmp50_);
		_g_free0 (id);
		_g_free0 (type);
	} else {
		LayoutsItemRow* _tmp56_;
		ObjectsItem* _tmp57_;
		ObjectsItem* _tmp58_;
		ObjectsProject* _tmp59_;
		ObjectsProject* _tmp60_;
		SourceType _tmp61_;
		SourceType _tmp62_;
		_tmp56_ = _data26_->picked_widget;
		_tmp57_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp56_);
		_tmp58_ = _tmp57_;
		_tmp59_ = objects_item_get_project (_tmp58_);
		_tmp60_ = _tmp59_;
		_tmp61_ = objects_project_get_source_type (_tmp60_);
		_tmp62_ = _tmp61_;
		if (_tmp62_ == SOURCE_TYPE_LOCAL) {
			ServicesStore* _tmp63_;
			LayoutsItemRow* _tmp64_;
			ObjectsItem* _tmp65_;
			ObjectsItem* _tmp66_;
			const gchar* _tmp67_;
			const gchar* _tmp68_;
			_tmp63_ = services_store_instance ();
			_tmp64_ = _data26_->picked_widget;
			_tmp65_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp64_);
			_tmp66_ = _tmp65_;
			_tmp67_ = _data26_->old_section_id;
			_tmp68_ = _data26_->old_parent_id;
			services_store_move_item (_tmp63_, _tmp66_, _tmp67_, _tmp68_, "");
		}
	}
	_tmp69_ = _data26_->picked_widget;
	_tmp70_ = gtk_widget_get_parent ((GtkWidget*) _tmp69_);
	_tmp71_ = _tmp70_;
	_tmp72_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp71_, gtk_list_box_get_type (), GtkListBox));
	source_list = _tmp72_;
	_tmp73_ = _data26_->picked_widget;
	gtk_list_box_remove (source_list, (GtkWidget*) _tmp73_);
	_tmp74_ = self->priv->listbox;
	_tmp75_ = _data26_->picked_widget;
	gtk_list_box_append (_tmp74_, (GtkWidget*) _tmp75_);
	_tmp76_ = self->priv->listbox;
	_tmp77_ = _data26_->picked_widget;
	_tmp78_ = _data26_->picked_widget;
	utils_task_utils_update_single_item_order (_tmp76_, (LayoutsItemBase*) _tmp77_, gtk_list_box_row_get_index ((GtkListBoxRow*) _tmp78_));
	_tmp79_ = services_event_bus_get_default ();
	_tmp80_ = _tmp79_;
	_tmp81_ = _data26_->picked_widget;
	_tmp82_ = _data26_->old_section_id;
	_tmp83_ = _data26_->old_parent_id;
	g_signal_emit_by_name (_tmp80_, "update-inserted-item-map", (GtkWidget*) _tmp81_, _tmp82_, _tmp83_);
	_g_object_unref0 (_tmp80_);
	result = TRUE;
	_g_object_unref0 (source_list);
	block26_data_unref (_data26_);
	_data26_ = NULL;
	return result;
}

static gboolean
___lambda627__gtk_drop_target_drop (GtkDropTarget* _sender,
                                    GValue* value,
                                    gdouble x,
                                    gdouble y,
                                    gpointer self)
{
	gboolean result;
	result = __lambda627_ ((LayoutsSectionRow*) self, _sender, value, x, y);
	return result;
}

static void
layouts_section_row_build_drag_and_drop (LayoutsSectionRow* self)
{
	GtkDropTarget* drop_inbox_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_ROW, GDK_ACTION_MOVE);
	drop_inbox_target = _tmp0_;
	_tmp1_ = self->priv->drop_inbox_widget;
	_tmp2_ = _g_object_ref0 ((GtkEventController*) drop_inbox_target);
	gtk_widget_add_controller ((GtkWidget*) _tmp1_, _tmp2_);
	_tmp3_ = self->priv->signal_map;
	_tmp4_ = g_signal_connect_object (drop_inbox_target, "drop", (GCallback) ___lambda627__gtk_drop_target_drop, self, 0);
	gee_abstract_map_set ((GeeAbstractMap*) _tmp3_, (gpointer) ((guintptr) _tmp4_), (GObject*) drop_inbox_target);
	_g_object_unref0 (drop_inbox_target);
}

static Block27Data*
block27_data_ref (Block27Data* _data27_)
{
	g_atomic_int_inc (&_data27_->_ref_count_);
	return _data27_;
}

static void
block27_data_unref (void * _userdata_)
{
	Block27Data* _data27_;
	_data27_ = (Block27Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data27_->_ref_count_)) {
		LayoutsSectionRow* self;
		self = _data27_->self;
		_g_free0 (_data27_->old_project_id);
		_g_object_unref0 (self);
		g_slice_free (Block27Data, _data27_);
	}
}

static void
___lambda579_ (Block27Data* _data27_,
               GObject* obj,
               GAsyncResult* res)
{
	LayoutsSectionRow* self;
	ServicesTodoist* _tmp0_;
	ServicesTodoist* _tmp1_;
	HttpResponse* _tmp2_;
	HttpResponse* _tmp3_;
	gboolean _tmp4_;
	gboolean _tmp5_;
	gboolean _tmp6_;
	self = _data27_->self;
	g_return_if_fail (res != NULL);
	_tmp0_ = services_todoist_get_default ();
	_tmp1_ = _tmp0_;
	_tmp2_ = services_todoist_move_project_section_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_;
		ObjectsSection* _tmp8_;
		const gchar* _tmp9_;
		_tmp7_ = services_store_instance ();
		_tmp8_ = self->priv->_section;
		_tmp9_ = _data27_->old_project_id;
		services_store_move_section (_tmp7_, _tmp8_, _tmp9_);
	}
	layouts_section_row_set_is_loading (self, FALSE);
}

static void
____lambda579__gasync_ready_callback (GObject* source_object,
                                      GAsyncResult* res,
                                      gpointer self)
{
	___lambda579_ (self, source_object, res);
	block27_data_unref (self);
}

static void
layouts_section_row_move_section (LayoutsSectionRow* self,
                                  const gchar* project_id)
{
	Block27Data* _data27_;
	ObjectsSection* _tmp0_;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
	gchar* _tmp3_;
	ObjectsSection* _tmp4_;
	ObjectsSection* _tmp5_;
	ObjectsProject* _tmp6_;
	ObjectsProject* _tmp7_;
	SourceType _tmp8_;
	SourceType _tmp9_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (project_id != NULL);
	_data27_ = g_slice_new0 (Block27Data);
	_data27_->_ref_count_ = 1;
	_data27_->self = g_object_ref (self);
	_tmp0_ = self->priv->_section;
	_tmp1_ = objects_section_get_project_id (_tmp0_);
	_tmp2_ = _tmp1_;
	_tmp3_ = g_strdup (_tmp2_);
	_data27_->old_project_id = _tmp3_;
	_tmp4_ = self->priv->_section;
	objects_section_set_project_id (_tmp4_, project_id);
	layouts_section_row_set_is_loading (self, TRUE);
	_tmp5_ = self->priv->_section;
	_tmp6_ = objects_section_get_project (_tmp5_);
	_tmp7_ = _tmp6_;
	_tmp8_ = objects_project_get_source_type (_tmp7_);
	_tmp9_ = _tmp8_;
	if (_tmp9_ == SOURCE_TYPE_TODOIST) {
		ServicesTodoist* _tmp10_;
		ServicesTodoist* _tmp11_;
		ObjectsSection* _tmp12_;
		_tmp10_ = services_todoist_get_default ();
		_tmp11_ = _tmp10_;
		_tmp12_ = self->priv->_section;
		services_todoist_move_project_section (_tmp11_, (ObjectsBaseObject*) _tmp12_, project_id, ____lambda579__gasync_ready_callback, block27_data_ref (_data27_));
		_g_object_unref0 (_tmp11_);
	} else {
		ObjectsSection* _tmp13_;
		ObjectsProject* _tmp14_;
		ObjectsProject* _tmp15_;
		SourceType _tmp16_;
		SourceType _tmp17_;
		_tmp13_ = self->priv->_section;
		_tmp14_ = objects_section_get_project (_tmp13_);
		_tmp15_ = _tmp14_;
		_tmp16_ = objects_project_get_source_type (_tmp15_);
		_tmp17_ = _tmp16_;
		if (_tmp17_ == SOURCE_TYPE_LOCAL) {
			ServicesStore* _tmp18_;
			ObjectsSection* _tmp19_;
			const gchar* _tmp20_;
			_tmp18_ = services_store_instance ();
			_tmp19_ = self->priv->_section;
			_tmp20_ = _data27_->old_project_id;
			services_store_move_section (_tmp18_, _tmp19_, _tmp20_);
			layouts_section_row_set_is_loading (self, FALSE);
		}
	}
	block27_data_unref (_data27_);
	_data27_ = NULL;
}

static void
layouts_section_row_update_collapsed_button (LayoutsSectionRow* self)
{
	ObjectsSection* _tmp0_;
	gboolean _tmp1_;
	gboolean _tmp2_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->_section;
	_tmp1_ = objects_section_get_collapsed (_tmp0_);
	_tmp2_ = _tmp1_;
	if (_tmp2_) {
		GtkButton* _tmp3_;
		_tmp3_ = self->priv->hide_subtask_button;
		gtk_widget_add_css_class ((GtkWidget*) _tmp3_, "opened");
	} else {
		GtkButton* _tmp4_;
		_tmp4_ = self->priv->hide_subtask_button;
		gtk_widget_remove_css_class ((GtkWidget*) _tmp4_, "opened");
	}
}

static void
_g_object_unref0_ (gpointer var)
{
	(var == NULL) ? NULL : (var = (g_object_unref (var), NULL));
}

static inline void
_g_list_free__g_object_unref0_ (GList* self)
{
	g_list_free_full (self, (GDestroyNotify) _g_object_unref0_);
}

void
layouts_section_row_clean_up (LayoutsSectionRow* self)
{
	GtkListBox* _tmp0_;
	GtkListBox* _tmp1_;
	Util* _tmp2_;
	Util* _tmp3_;
	GtkListBox* _tmp4_;
	GList* _tmp5_;
	GList* _tmp6_;
	Util* _tmp9_;
	Util* _tmp10_;
	GtkListBox* _tmp11_;
	GList* _tmp12_;
	GList* _tmp13_;
	GeeHashMap* _tmp31_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->listbox;
	gtk_list_box_set_sort_func (_tmp0_, NULL, NULL, NULL);
	_tmp1_ = self->priv->listbox;
	gtk_list_box_set_filter_func (_tmp1_, NULL, NULL, NULL);
	_tmp2_ = util_get_default ();
	_tmp3_ = _tmp2_;
	_tmp4_ = self->priv->listbox;
	_tmp5_ = util_get_children (_tmp3_, _tmp4_);
	_tmp6_ = _tmp5_;
	_g_object_unref0 (_tmp3_);
	{
		GList* row_collection = NULL;
		GList* row_it = NULL;
		row_collection = _tmp6_;
		for (row_it = row_collection; row_it != NULL; row_it = row_it->next) {
			GtkListBoxRow* _tmp7_;
			GtkListBoxRow* row = NULL;
			_tmp7_ = _g_object_ref0 ((GtkListBoxRow*) row_it->data);
			row = _tmp7_;
			{
				GtkListBoxRow* _tmp8_;
				_tmp8_ = row;
				layouts_item_base_clean_up ((LayoutsItemBase*) G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, LAYOUTS_TYPE_ITEM_ROW, LayoutsItemRow));
				_g_object_unref0 (row);
			}
		}
		(row_collection == NULL) ? NULL : (row_collection = (_g_list_free__g_object_unref0_ (row_collection), NULL));
	}
	_tmp9_ = util_get_default ();
	_tmp10_ = _tmp9_;
	_tmp11_ = self->priv->checked_listbox;
	_tmp12_ = util_get_children (_tmp10_, _tmp11_);
	_tmp13_ = _tmp12_;
	_g_object_unref0 (_tmp10_);
	{
		GList* row_collection = NULL;
		GList* row_it = NULL;
		row_collection = _tmp13_;
		for (row_it = row_collection; row_it != NULL; row_it = row_it->next) {
			GtkListBoxRow* _tmp14_;
			GtkListBoxRow* row = NULL;
			_tmp14_ = _g_object_ref0 ((GtkListBoxRow*) row_it->data);
			row = _tmp14_;
			{
				GtkListBoxRow* _tmp15_;
				_tmp15_ = row;
				layouts_item_base_clean_up ((LayoutsItemBase*) G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, LAYOUTS_TYPE_ITEM_ROW, LayoutsItemRow));
				_g_object_unref0 (row);
			}
		}
		(row_collection == NULL) ? NULL : (row_collection = (_g_list_free__g_object_unref0_ (row_collection), NULL));
	}
	{
		GeeIterator* _entry_it = NULL;
		GeeHashMap* _tmp16_;
		GeeSet* _tmp17_;
		GeeSet* _tmp18_;
		GeeSet* _tmp19_;
		GeeIterator* _tmp20_;
		GeeIterator* _tmp21_;
		_tmp16_ = self->priv->signal_map;
		_tmp17_ = gee_abstract_map_get_entries ((GeeAbstractMap*) _tmp16_);
		_tmp18_ = _tmp17_;
		_tmp19_ = _tmp18_;
		_tmp20_ = gee_iterable_iterator ((GeeIterable*) _tmp19_);
		_tmp21_ = _tmp20_;
		_g_object_unref0 (_tmp19_);
		_entry_it = _tmp21_;
		while (TRUE) {
			GeeIterator* _tmp22_;
			GeeMapEntry* entry = NULL;
			GeeIterator* _tmp23_;
			gpointer _tmp24_;
			GeeMapEntry* _tmp25_;
			gconstpointer _tmp26_;
			gconstpointer _tmp27_;
			GeeMapEntry* _tmp28_;
			gconstpointer _tmp29_;
			gconstpointer _tmp30_;
			_tmp22_ = _entry_it;
			if (!gee_iterator_next (_tmp22_)) {
				break;
			}
			_tmp23_ = _entry_it;
			_tmp24_ = gee_iterator_get (_tmp23_);
			entry = (GeeMapEntry*) _tmp24_;
			_tmp25_ = entry;
			_tmp26_ = gee_map_entry_get_value (_tmp25_);
			_tmp27_ = _tmp26_;
			_tmp28_ = entry;
			_tmp29_ = gee_map_entry_get_key (_tmp28_);
			_tmp30_ = _tmp29_;
			g_signal_handler_disconnect ((GObject*) _tmp27_, (gulong) ((guintptr) _tmp30_));
			_g_object_unref0 (entry);
		}
		_g_object_unref0 (_entry_it);
	}
	_tmp31_ = self->priv->signal_map;
	gee_abstract_map_clear ((GeeAbstractMap*) _tmp31_);
}

ObjectsSection*
layouts_section_row_get_section (LayoutsSectionRow* self)
{
	ObjectsSection* result;
	ObjectsSection* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_section;
	result = _tmp0_;
	return result;
}

static void
layouts_section_row_set_section (LayoutsSectionRow* self,
                                 ObjectsSection* value)
{
	ObjectsSection* old_value;
	g_return_if_fail (self != NULL);
	old_value = layouts_section_row_get_section (self);
	if (old_value != value) {
		ObjectsSection* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_section);
		self->priv->_section = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, layouts_section_row_properties[LAYOUTS_SECTION_ROW_SECTION_PROPERTY]);
	}
}

gboolean
layouts_section_row_get_is_inbox_section (LayoutsSectionRow* self)
{
	gboolean result;
	ObjectsSection* _tmp0_;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
	g_return_val_if_fail (self != NULL, FALSE);
	_tmp0_ = self->priv->_section;
	_tmp1_ = objects_base_object_get_id ((ObjectsBaseObject*) _tmp0_);
	_tmp2_ = _tmp1_;
	result = g_strcmp0 (_tmp2_, "") == 0;
	return result;
}

gboolean
layouts_section_row_get_has_children (LayoutsSectionRow* self)
{
	gboolean result;
	gboolean _tmp0_ = FALSE;
	GeeHashMap* _tmp1_;
	gint _tmp2_;
	gint _tmp3_;
	g_return_val_if_fail (self != NULL, FALSE);
	_tmp1_ = self->items_map;
	_tmp2_ = gee_abstract_map_get_size ((GeeAbstractMap*) _tmp1_);
	_tmp3_ = _tmp2_;
	if (_tmp3_ > 0) {
		_tmp0_ = TRUE;
	} else {
		GeeHashMap* _tmp4_;
		gint _tmp5_;
		gint _tmp6_;
		_tmp4_ = self->checked_items_map;
		_tmp5_ = gee_abstract_map_get_size ((GeeAbstractMap*) _tmp4_);
		_tmp6_ = _tmp5_;
		_tmp0_ = _tmp6_ > 0;
	}
	result = _tmp0_;
	return result;
}

gboolean
layouts_section_row_get_is_creating (LayoutsSectionRow* self)
{
	gboolean result;
	ObjectsSection* _tmp0_;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
	g_return_val_if_fail (self != NULL, FALSE);
	_tmp0_ = self->priv->_section;
	_tmp1_ = objects_base_object_get_id ((ObjectsBaseObject*) _tmp0_);
	_tmp2_ = _tmp1_;
	result = g_strcmp0 (_tmp2_, "") == 0;
	return result;
}

void
layouts_section_row_set_is_loading (LayoutsSectionRow* self,
                                    gboolean value)
{
	WidgetsLoadingButton* _tmp0_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->add_button;
	widgets_loading_button_set_is_loading (_tmp0_, value);
	g_object_notify_by_pspec ((GObject *) self, layouts_section_row_properties[LAYOUTS_SECTION_ROW_IS_LOADING_PROPERTY]);
}

static Block28Data*
block28_data_ref (Block28Data* _data28_)
{
	g_atomic_int_inc (&_data28_->_ref_count_);
	return _data28_;
}

static void
block28_data_unref (void * _userdata_)
{
	Block28Data* _data28_;
	_data28_ = (Block28Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data28_->_ref_count_)) {
		LayoutsSectionRow* self;
		self = _data28_->self;
		_g_object_unref0 (_data28_->add_button);
		_g_object_unref0 (_data28_->sectionrow_box);
		_g_object_unref0 (self);
		g_slice_free (Block28Data, _data28_);
	}
}

static gboolean
_layouts_section_row___lambda629_ (LayoutsSectionRow* self)
{
	GtkRevealer* _tmp0_;
	gboolean result;
	_tmp0_ = self->priv->content_revealer;
	gtk_revealer_set_reveal_child (_tmp0_, TRUE);
	result = G_SOURCE_REMOVE;
	return result;
}

static gboolean
__layouts_section_row___lambda629__gsource_func (gpointer self)
{
	gboolean result;
	result = _layouts_section_row___lambda629_ ((LayoutsSectionRow*) self);
	return result;
}

static void
_layouts_section_row___lambda630_ (LayoutsSectionRow* self)
{
	GtkLabel* _tmp0_;
	ObjectsSection* _tmp1_;
	const gchar* _tmp2_;
	const gchar* _tmp3_;
	GtkRevealer* _tmp4_;
	ObjectsSection* _tmp5_;
	gboolean _tmp6_;
	gboolean _tmp7_;
	_tmp0_ = self->priv->name_label;
	_tmp1_ = self->priv->_section;
	_tmp2_ = objects_base_object_get_name ((ObjectsBaseObject*) _tmp1_);
	_tmp3_ = _tmp2_;
	gtk_label_set_label (_tmp0_, _tmp3_);
	_tmp4_ = self->priv->bottom_revealer;
	_tmp5_ = self->priv->_section;
	_tmp6_ = objects_section_get_collapsed (_tmp5_);
	_tmp7_ = _tmp6_;
	gtk_revealer_set_reveal_child (_tmp4_, _tmp7_);
	layouts_section_row_update_collapsed_button (self);
}

static void
__layouts_section_row___lambda630__objects_base_object_updated (ObjectsBaseObject* _sender,
                                                                const gchar* update_id,
                                                                gpointer self)
{
	_layouts_section_row___lambda630_ ((LayoutsSectionRow*) self);
}

static void
_layouts_section_row___lambda631_ (Block28Data* _data28_,
                                   gboolean active,
                                   const gchar* focused_item_id)
{
	LayoutsSectionRow* self;
	GtkBox* _tmp0_;
	GtkButton* _tmp1_;
	self = _data28_->self;
	g_return_if_fail (focused_item_id != NULL);
	_tmp0_ = _data28_->sectionrow_box;
	gtk_widget_set_sensitive ((GtkWidget*) _tmp0_, !active);
	_tmp1_ = _data28_->add_button;
	gtk_widget_set_sensitive ((GtkWidget*) _tmp1_, !active);
}

static void
__layouts_section_row___lambda631__services_event_bus_dim_content (ServicesEventBus* _sender,
                                                                   gboolean active,
                                                                   const gchar* focused_item_id,
                                                                   gpointer self)
{
	_layouts_section_row___lambda631_ (self, active, focused_item_id);
}

static void
_layouts_section_row____lambda632_ (LayoutsSectionRow* self,
                                    ObjectsItem* item)
{
	g_return_if_fail (item != NULL);
	layouts_section_row_add_item (self, item);
}

static void
__layouts_section_row____lambda632__objects_project_item_added (ObjectsProject* _sender,
                                                                ObjectsItem* item,
                                                                gpointer self)
{
	_layouts_section_row____lambda632_ ((LayoutsSectionRow*) self, item);
}

static void
_layouts_section_row____lambda633_ (LayoutsSectionRow* self,
                                    ObjectsItem* item)
{
	g_return_if_fail (item != NULL);
	layouts_section_row_add_item (self, item);
}

static void
__layouts_section_row____lambda633__objects_section_item_added (ObjectsSection* _sender,
                                                                ObjectsItem* item,
                                                                gpointer self)
{
	_layouts_section_row____lambda633_ ((LayoutsSectionRow*) self, item);
}

static void
_layouts_section_row___lambda634_ (LayoutsSectionRow* self,
                                   gint n_press,
                                   gdouble x,
                                   gdouble y)
{
	if (n_press == 2) {
		DialogsSection* dialog = NULL;
		ObjectsSection* _tmp0_;
		DialogsSection* _tmp1_;
		DialogsSection* _tmp2_;
		Planify* _tmp3_;
		MainWindow* _tmp4_;
		_tmp0_ = self->priv->_section;
		_tmp1_ = dialogs_section_new (_tmp0_);
		g_object_ref_sink (_tmp1_);
		dialog = _tmp1_;
		_tmp2_ = dialog;
		_tmp3_ = planify__instance;
		_tmp4_ = _tmp3_->main_window;
		adw_dialog_present ((AdwDialog*) _tmp2_, (GtkWidget*) _tmp4_);
		_g_object_unref0 (dialog);
	}
}

static void
__layouts_section_row___lambda634__gtk_gesture_click_released (GtkGestureClick* _sender,
                                                               gint n_press,
                                                               gdouble x,
                                                               gdouble y,
                                                               gpointer self)
{
	_layouts_section_row___lambda634_ ((LayoutsSectionRow*) self, n_press, x, y);
}

static void
_layouts_section_row___lambda635_ (LayoutsSectionRow* self,
                                   ObjectsItem* item,
                                   gboolean old_checked)
{
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	const gchar* _tmp2_;
	const gchar* _tmp3_;
	ObjectsSection* _tmp4_;
	const gchar* _tmp5_;
	const gchar* _tmp6_;
	g_return_if_fail (item != NULL);
	_tmp2_ = objects_item_get_project_id (item);
	_tmp3_ = _tmp2_;
	_tmp4_ = self->priv->_section;
	_tmp5_ = objects_section_get_project_id (_tmp4_);
	_tmp6_ = _tmp5_;
	if (g_strcmp0 (_tmp3_, _tmp6_) == 0) {
		const gchar* _tmp7_;
		const gchar* _tmp8_;
		ObjectsSection* _tmp9_;
		const gchar* _tmp10_;
		const gchar* _tmp11_;
		_tmp7_ = objects_item_get_section_id (item);
		_tmp8_ = _tmp7_;
		_tmp9_ = self->priv->_section;
		_tmp10_ = objects_base_object_get_id ((ObjectsBaseObject*) _tmp9_);
		_tmp11_ = _tmp10_;
		_tmp1_ = g_strcmp0 (_tmp8_, _tmp11_) == 0;
	} else {
		_tmp1_ = FALSE;
	}
	if (_tmp1_) {
		gboolean _tmp12_;
		gboolean _tmp13_;
		_tmp12_ = objects_item_get_has_parent (item);
		_tmp13_ = _tmp12_;
		_tmp0_ = !_tmp13_;
	} else {
		_tmp0_ = FALSE;
	}
	if (_tmp0_) {
		if (!old_checked) {
			GeeHashMap* _tmp14_;
			const gchar* _tmp15_;
			const gchar* _tmp16_;
			GeeHashMap* _tmp25_;
			const gchar* _tmp26_;
			const gchar* _tmp27_;
			_tmp14_ = self->items_map;
			_tmp15_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
			_tmp16_ = _tmp15_;
			if (gee_abstract_map_has_key ((GeeAbstractMap*) _tmp14_, _tmp16_)) {
				GeeHashMap* _tmp17_;
				const gchar* _tmp18_;
				const gchar* _tmp19_;
				gpointer _tmp20_;
				LayoutsItemRow* _tmp21_;
				GeeHashMap* _tmp22_;
				const gchar* _tmp23_;
				const gchar* _tmp24_;
				_tmp17_ = self->items_map;
				_tmp18_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
				_tmp19_ = _tmp18_;
				_tmp20_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp17_, _tmp19_);
				_tmp21_ = (LayoutsItemRow*) _tmp20_;
				layouts_item_base_hide_destroy ((LayoutsItemBase*) _tmp21_);
				_g_object_unref0 (_tmp21_);
				_tmp22_ = self->items_map;
				_tmp23_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
				_tmp24_ = _tmp23_;
				gee_abstract_map_unset ((GeeAbstractMap*) _tmp22_, _tmp24_, NULL);
			}
			_tmp25_ = self->checked_items_map;
			_tmp26_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
			_tmp27_ = _tmp26_;
			if (!gee_abstract_map_has_key ((GeeAbstractMap*) _tmp25_, _tmp27_)) {
				GeeHashMap* _tmp28_;
				const gchar* _tmp29_;
				const gchar* _tmp30_;
				LayoutsItemRow* _tmp31_;
				LayoutsItemRow* _tmp32_;
				GtkListBox* _tmp33_;
				GeeHashMap* _tmp34_;
				const gchar* _tmp35_;
				const gchar* _tmp36_;
				gpointer _tmp37_;
				LayoutsItemRow* _tmp38_;
				_tmp28_ = self->checked_items_map;
				_tmp29_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
				_tmp30_ = _tmp29_;
				_tmp31_ = layouts_item_row_new (item, TRUE);
				g_object_ref_sink (_tmp31_);
				_tmp32_ = _tmp31_;
				gee_abstract_map_set ((GeeAbstractMap*) _tmp28_, _tmp30_, _tmp32_);
				_g_object_unref0 (_tmp32_);
				_tmp33_ = self->priv->checked_listbox;
				_tmp34_ = self->checked_items_map;
				_tmp35_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
				_tmp36_ = _tmp35_;
				_tmp37_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp34_, _tmp36_);
				_tmp38_ = (LayoutsItemRow*) _tmp37_;
				gtk_list_box_insert (_tmp33_, (GtkWidget*) _tmp38_, 0);
				_g_object_unref0 (_tmp38_);
			}
		} else {
			GeeHashMap* _tmp39_;
			const gchar* _tmp40_;
			const gchar* _tmp41_;
			GeeHashMap* _tmp50_;
			const gchar* _tmp51_;
			const gchar* _tmp52_;
			_tmp39_ = self->checked_items_map;
			_tmp40_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
			_tmp41_ = _tmp40_;
			if (gee_abstract_map_has_key ((GeeAbstractMap*) _tmp39_, _tmp41_)) {
				GeeHashMap* _tmp42_;
				const gchar* _tmp43_;
				const gchar* _tmp44_;
				gpointer _tmp45_;
				LayoutsItemRow* _tmp46_;
				GeeHashMap* _tmp47_;
				const gchar* _tmp48_;
				const gchar* _tmp49_;
				_tmp42_ = self->checked_items_map;
				_tmp43_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
				_tmp44_ = _tmp43_;
				_tmp45_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp42_, _tmp44_);
				_tmp46_ = (LayoutsItemRow*) _tmp45_;
				layouts_item_base_hide_destroy ((LayoutsItemBase*) _tmp46_);
				_g_object_unref0 (_tmp46_);
				_tmp47_ = self->checked_items_map;
				_tmp48_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
				_tmp49_ = _tmp48_;
				gee_abstract_map_unset ((GeeAbstractMap*) _tmp47_, _tmp49_, NULL);
			}
			_tmp50_ = self->items_map;
			_tmp51_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
			_tmp52_ = _tmp51_;
			if (!gee_abstract_map_has_key ((GeeAbstractMap*) _tmp50_, _tmp52_)) {
				GeeHashMap* _tmp53_;
				const gchar* _tmp54_;
				const gchar* _tmp55_;
				LayoutsItemRow* _tmp56_;
				LayoutsItemRow* _tmp57_;
				GtkListBox* _tmp58_;
				GeeHashMap* _tmp59_;
				const gchar* _tmp60_;
				const gchar* _tmp61_;
				gpointer _tmp62_;
				LayoutsItemRow* _tmp63_;
				_tmp53_ = self->items_map;
				_tmp54_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
				_tmp55_ = _tmp54_;
				_tmp56_ = layouts_item_row_new (item, TRUE);
				g_object_ref_sink (_tmp56_);
				_tmp57_ = _tmp56_;
				gee_abstract_map_set ((GeeAbstractMap*) _tmp53_, _tmp55_, _tmp57_);
				_g_object_unref0 (_tmp57_);
				_tmp58_ = self->priv->listbox;
				_tmp59_ = self->items_map;
				_tmp60_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
				_tmp61_ = _tmp60_;
				_tmp62_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp59_, _tmp61_);
				_tmp63_ = (LayoutsItemRow*) _tmp62_;
				gtk_list_box_append (_tmp58_, (GtkWidget*) _tmp63_);
				_g_object_unref0 (_tmp63_);
			}
		}
	}
}

static void
__layouts_section_row___lambda635__services_event_bus_checked_toggled (ServicesEventBus* _sender,
                                                                       ObjectsItem* item,
                                                                       gboolean old_checked,
                                                                       gpointer self)
{
	_layouts_section_row___lambda635_ ((LayoutsSectionRow*) self, item, old_checked);
}

static void
_layouts_section_row___lambda636_ (LayoutsSectionRow* self,
                                   ObjectsItem* item,
                                   const gchar* update_id)
{
	GeeHashMap* _tmp0_;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
	g_return_if_fail (item != NULL);
	g_return_if_fail (update_id != NULL);
	_tmp0_ = self->items_map;
	_tmp1_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
	_tmp2_ = _tmp1_;
	if (gee_abstract_map_has_key ((GeeAbstractMap*) _tmp0_, _tmp2_)) {
		GeeHashMap* _tmp3_;
		const gchar* _tmp4_;
		const gchar* _tmp5_;
		gpointer _tmp6_;
		LayoutsItemRow* _tmp7_;
		const gchar* _tmp8_;
		const gchar* _tmp9_;
		gboolean _tmp10_;
		ObjectsSection* _tmp16_;
		ObjectsProject* _tmp17_;
		ObjectsProject* _tmp18_;
		SortedByType _tmp19_;
		SortedByType _tmp20_;
		GeeHashMap* _tmp21_;
		const gchar* _tmp22_;
		const gchar* _tmp23_;
		_tmp3_ = self->items_map;
		_tmp4_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
		_tmp5_ = _tmp4_;
		_tmp6_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp3_, _tmp5_);
		_tmp7_ = (LayoutsItemRow*) _tmp6_;
		_tmp8_ = layouts_item_base_get_update_id ((LayoutsItemBase*) _tmp7_);
		_tmp9_ = _tmp8_;
		_tmp10_ = g_strcmp0 (_tmp9_, update_id) != 0;
		_g_object_unref0 (_tmp7_);
		if (_tmp10_) {
			GeeHashMap* _tmp11_;
			const gchar* _tmp12_;
			const gchar* _tmp13_;
			gpointer _tmp14_;
			LayoutsItemRow* _tmp15_;
			_tmp11_ = self->items_map;
			_tmp12_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
			_tmp13_ = _tmp12_;
			_tmp14_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp11_, _tmp13_);
			_tmp15_ = (LayoutsItemRow*) _tmp14_;
			layouts_item_base_update_request ((LayoutsItemBase*) _tmp15_);
			_g_object_unref0 (_tmp15_);
		}
		_tmp16_ = self->priv->_section;
		_tmp17_ = objects_section_get_project (_tmp16_);
		_tmp18_ = _tmp17_;
		_tmp19_ = objects_project_get_sorted_by (_tmp18_);
		_tmp20_ = _tmp19_;
		if (_tmp20_ != SORTED_BY_TYPE_MANUAL) {
			layouts_section_row_update_sort (self);
		}
		_tmp21_ = self->checked_items_map;
		_tmp22_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
		_tmp23_ = _tmp22_;
		if (gee_abstract_map_has_key ((GeeAbstractMap*) _tmp21_, _tmp23_)) {
			GeeHashMap* _tmp24_;
			const gchar* _tmp25_;
			const gchar* _tmp26_;
			gpointer _tmp27_;
			LayoutsItemRow* _tmp28_;
			_tmp24_ = self->checked_items_map;
			_tmp25_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
			_tmp26_ = _tmp25_;
			_tmp27_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp24_, _tmp26_);
			_tmp28_ = (LayoutsItemRow*) _tmp27_;
			layouts_item_base_update_request ((LayoutsItemBase*) _tmp28_);
			_g_object_unref0 (_tmp28_);
		}
	}
}

static void
__layouts_section_row___lambda636__services_store_item_updated (ServicesStore* _sender,
                                                                ObjectsItem* item,
                                                                const gchar* update_id,
                                                                gpointer self)
{
	_layouts_section_row___lambda636_ ((LayoutsSectionRow*) self, item, update_id);
}

static void
_layouts_section_row___lambda637_ (LayoutsSectionRow* self,
                                   ObjectsItem* item)
{
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	gboolean _tmp2_ = FALSE;
	gboolean _tmp3_ = FALSE;
	gboolean _tmp4_;
	gboolean _tmp5_;
	gboolean _tmp21_ = FALSE;
	gboolean _tmp22_;
	gboolean _tmp23_;
	g_return_if_fail (item != NULL);
	_tmp4_ = objects_item_get_pinned (item);
	_tmp5_ = _tmp4_;
	if (!_tmp5_) {
		const gchar* _tmp6_;
		const gchar* _tmp7_;
		ObjectsSection* _tmp8_;
		const gchar* _tmp9_;
		const gchar* _tmp10_;
		_tmp6_ = objects_item_get_project_id (item);
		_tmp7_ = _tmp6_;
		_tmp8_ = self->priv->_section;
		_tmp9_ = objects_section_get_project_id (_tmp8_);
		_tmp10_ = _tmp9_;
		_tmp3_ = g_strcmp0 (_tmp7_, _tmp10_) == 0;
	} else {
		_tmp3_ = FALSE;
	}
	if (_tmp3_) {
		const gchar* _tmp11_;
		const gchar* _tmp12_;
		ObjectsSection* _tmp13_;
		const gchar* _tmp14_;
		const gchar* _tmp15_;
		_tmp11_ = objects_item_get_section_id (item);
		_tmp12_ = _tmp11_;
		_tmp13_ = self->priv->_section;
		_tmp14_ = objects_base_object_get_id ((ObjectsBaseObject*) _tmp13_);
		_tmp15_ = _tmp14_;
		_tmp2_ = g_strcmp0 (_tmp12_, _tmp15_) == 0;
	} else {
		_tmp2_ = FALSE;
	}
	if (_tmp2_) {
		gboolean _tmp16_;
		gboolean _tmp17_;
		_tmp16_ = objects_item_get_has_parent (item);
		_tmp17_ = _tmp16_;
		_tmp1_ = !_tmp17_;
	} else {
		_tmp1_ = FALSE;
	}
	if (_tmp1_) {
		GeeHashMap* _tmp18_;
		const gchar* _tmp19_;
		const gchar* _tmp20_;
		_tmp18_ = self->items_map;
		_tmp19_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
		_tmp20_ = _tmp19_;
		_tmp0_ = !gee_abstract_map_has_key ((GeeAbstractMap*) _tmp18_, _tmp20_);
	} else {
		_tmp0_ = FALSE;
	}
	if (_tmp0_) {
		layouts_section_row_add_item (self, item);
	}
	_tmp22_ = objects_item_get_pinned (item);
	_tmp23_ = _tmp22_;
	if (_tmp23_) {
		GeeHashMap* _tmp24_;
		const gchar* _tmp25_;
		const gchar* _tmp26_;
		_tmp24_ = self->items_map;
		_tmp25_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
		_tmp26_ = _tmp25_;
		_tmp21_ = gee_abstract_map_has_key ((GeeAbstractMap*) _tmp24_, _tmp26_);
	} else {
		_tmp21_ = FALSE;
	}
	if (_tmp21_) {
		GeeHashMap* _tmp27_;
		const gchar* _tmp28_;
		const gchar* _tmp29_;
		gpointer _tmp30_;
		LayoutsItemRow* _tmp31_;
		GeeHashMap* _tmp32_;
		const gchar* _tmp33_;
		const gchar* _tmp34_;
		_tmp27_ = self->items_map;
		_tmp28_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
		_tmp29_ = _tmp28_;
		_tmp30_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp27_, _tmp29_);
		_tmp31_ = (LayoutsItemRow*) _tmp30_;
		layouts_item_base_hide_destroy ((LayoutsItemBase*) _tmp31_);
		_g_object_unref0 (_tmp31_);
		_tmp32_ = self->items_map;
		_tmp33_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
		_tmp34_ = _tmp33_;
		gee_abstract_map_unset ((GeeAbstractMap*) _tmp32_, _tmp34_, NULL);
	}
}

static void
__layouts_section_row___lambda637__services_store_item_pin_change (ServicesStore* _sender,
                                                                   ObjectsItem* item,
                                                                   gpointer self)
{
	_layouts_section_row___lambda637_ ((LayoutsSectionRow*) self, item);
}

static void
_layouts_section_row___lambda638_ (LayoutsSectionRow* self,
                                   ObjectsItem* item)
{
	GeeHashMap* _tmp0_;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
	GeeHashMap* _tmp11_;
	const gchar* _tmp12_;
	const gchar* _tmp13_;
	g_return_if_fail (item != NULL);
	_tmp0_ = self->items_map;
	_tmp1_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
	_tmp2_ = _tmp1_;
	if (gee_abstract_map_has_key ((GeeAbstractMap*) _tmp0_, _tmp2_)) {
		GeeHashMap* _tmp3_;
		const gchar* _tmp4_;
		const gchar* _tmp5_;
		gpointer _tmp6_;
		LayoutsItemRow* _tmp7_;
		GeeHashMap* _tmp8_;
		const gchar* _tmp9_;
		const gchar* _tmp10_;
		_tmp3_ = self->items_map;
		_tmp4_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
		_tmp5_ = _tmp4_;
		_tmp6_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp3_, _tmp5_);
		_tmp7_ = (LayoutsItemRow*) _tmp6_;
		layouts_item_base_hide_destroy ((LayoutsItemBase*) _tmp7_);
		_g_object_unref0 (_tmp7_);
		_tmp8_ = self->items_map;
		_tmp9_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
		_tmp10_ = _tmp9_;
		gee_abstract_map_unset ((GeeAbstractMap*) _tmp8_, _tmp10_, NULL);
	}
	_tmp11_ = self->checked_items_map;
	_tmp12_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
	_tmp13_ = _tmp12_;
	if (gee_abstract_map_has_key ((GeeAbstractMap*) _tmp11_, _tmp13_)) {
		GeeHashMap* _tmp14_;
		const gchar* _tmp15_;
		const gchar* _tmp16_;
		gpointer _tmp17_;
		LayoutsItemRow* _tmp18_;
		GeeHashMap* _tmp19_;
		const gchar* _tmp20_;
		const gchar* _tmp21_;
		_tmp14_ = self->checked_items_map;
		_tmp15_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
		_tmp16_ = _tmp15_;
		_tmp17_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp14_, _tmp16_);
		_tmp18_ = (LayoutsItemRow*) _tmp17_;
		layouts_item_base_hide_destroy ((LayoutsItemBase*) _tmp18_);
		_g_object_unref0 (_tmp18_);
		_tmp19_ = self->checked_items_map;
		_tmp20_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
		_tmp21_ = _tmp20_;
		gee_abstract_map_unset ((GeeAbstractMap*) _tmp19_, _tmp21_, NULL);
	}
}

static void
__layouts_section_row___lambda638__services_store_item_deleted (ServicesStore* _sender,
                                                                ObjectsItem* item,
                                                                gpointer self)
{
	_layouts_section_row___lambda638_ ((LayoutsSectionRow*) self, item);
}

static void
_layouts_section_row___lambda639_ (LayoutsSectionRow* self,
                                   ObjectsItem* item,
                                   const gchar* old_project_id,
                                   const gchar* old_section_id,
                                   const gchar* old_parent_id)
{
	gboolean _tmp0_ = FALSE;
	ObjectsSection* _tmp1_;
	const gchar* _tmp2_;
	const gchar* _tmp3_;
	gboolean _tmp29_ = FALSE;
	gboolean _tmp30_ = FALSE;
	const gchar* _tmp31_;
	const gchar* _tmp32_;
	ObjectsSection* _tmp33_;
	const gchar* _tmp34_;
	const gchar* _tmp35_;
	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);
	_tmp1_ = self->priv->_section;
	_tmp2_ = objects_section_get_project_id (_tmp1_);
	_tmp3_ = _tmp2_;
	if (g_strcmp0 (old_project_id, _tmp3_) == 0) {
		ObjectsSection* _tmp4_;
		const gchar* _tmp5_;
		const gchar* _tmp6_;
		_tmp4_ = self->priv->_section;
		_tmp5_ = objects_base_object_get_id ((ObjectsBaseObject*) _tmp4_);
		_tmp6_ = _tmp5_;
		_tmp0_ = g_strcmp0 (old_section_id, _tmp6_) == 0;
	} else {
		_tmp0_ = FALSE;
	}
	if (_tmp0_) {
		GeeHashMap* _tmp7_;
		const gchar* _tmp8_;
		const gchar* _tmp9_;
		GeeHashMap* _tmp18_;
		const gchar* _tmp19_;
		const gchar* _tmp20_;
		_tmp7_ = self->items_map;
		_tmp8_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
		_tmp9_ = _tmp8_;
		if (gee_abstract_map_has_key ((GeeAbstractMap*) _tmp7_, _tmp9_)) {
			GeeHashMap* _tmp10_;
			const gchar* _tmp11_;
			const gchar* _tmp12_;
			gpointer _tmp13_;
			LayoutsItemRow* _tmp14_;
			GeeHashMap* _tmp15_;
			const gchar* _tmp16_;
			const gchar* _tmp17_;
			_tmp10_ = self->items_map;
			_tmp11_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
			_tmp12_ = _tmp11_;
			_tmp13_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp10_, _tmp12_);
			_tmp14_ = (LayoutsItemRow*) _tmp13_;
			layouts_item_base_hide_destroy ((LayoutsItemBase*) _tmp14_);
			_g_object_unref0 (_tmp14_);
			_tmp15_ = self->items_map;
			_tmp16_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
			_tmp17_ = _tmp16_;
			gee_abstract_map_unset ((GeeAbstractMap*) _tmp15_, _tmp17_, NULL);
		}
		_tmp18_ = self->checked_items_map;
		_tmp19_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
		_tmp20_ = _tmp19_;
		if (gee_abstract_map_has_key ((GeeAbstractMap*) _tmp18_, _tmp20_)) {
			GeeHashMap* _tmp21_;
			const gchar* _tmp22_;
			const gchar* _tmp23_;
			gpointer _tmp24_;
			LayoutsItemRow* _tmp25_;
			GeeHashMap* _tmp26_;
			const gchar* _tmp27_;
			const gchar* _tmp28_;
			_tmp21_ = self->checked_items_map;
			_tmp22_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
			_tmp23_ = _tmp22_;
			_tmp24_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp21_, _tmp23_);
			_tmp25_ = (LayoutsItemRow*) _tmp24_;
			layouts_item_base_hide_destroy ((LayoutsItemBase*) _tmp25_);
			_g_object_unref0 (_tmp25_);
			_tmp26_ = self->checked_items_map;
			_tmp27_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
			_tmp28_ = _tmp27_;
			gee_abstract_map_unset ((GeeAbstractMap*) _tmp26_, _tmp28_, NULL);
		}
	}
	_tmp31_ = objects_item_get_project_id (item);
	_tmp32_ = _tmp31_;
	_tmp33_ = self->priv->_section;
	_tmp34_ = objects_section_get_project_id (_tmp33_);
	_tmp35_ = _tmp34_;
	if (g_strcmp0 (_tmp32_, _tmp35_) == 0) {
		const gchar* _tmp36_;
		const gchar* _tmp37_;
		ObjectsSection* _tmp38_;
		const gchar* _tmp39_;
		const gchar* _tmp40_;
		_tmp36_ = objects_item_get_section_id (item);
		_tmp37_ = _tmp36_;
		_tmp38_ = self->priv->_section;
		_tmp39_ = objects_base_object_get_id ((ObjectsBaseObject*) _tmp38_);
		_tmp40_ = _tmp39_;
		_tmp30_ = g_strcmp0 (_tmp37_, _tmp40_) == 0;
	} else {
		_tmp30_ = FALSE;
	}
	if (_tmp30_) {
		gboolean _tmp41_;
		gboolean _tmp42_;
		_tmp41_ = objects_item_get_has_parent (item);
		_tmp42_ = _tmp41_;
		_tmp29_ = !_tmp42_;
	} else {
		_tmp29_ = FALSE;
	}
	if (_tmp29_) {
		layouts_section_row_add_item (self, item);
	}
}

static void
__layouts_section_row___lambda639__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_section_row___lambda639_ ((LayoutsSectionRow*) self, item, old_project_id, old_section_id, old_parent_id);
}

static void
_layouts_section_row___lambda640_ (LayoutsSectionRow* self,
                                   GtkWidget* _row,
                                   const gchar* old_section_id)
{
	g_return_if_fail (_row != NULL);
	g_return_if_fail (old_section_id != NULL);
	if (LAYOUTS_IS_ITEM_ROW (_row)) {
		LayoutsItemRow* row = NULL;
		LayoutsItemRow* _tmp0_;
		gboolean _tmp1_ = FALSE;
		LayoutsItemRow* _tmp2_;
		ObjectsItem* _tmp3_;
		ObjectsItem* _tmp4_;
		const gchar* _tmp5_;
		const gchar* _tmp6_;
		ObjectsSection* _tmp7_;
		const gchar* _tmp8_;
		const gchar* _tmp9_;
		gboolean _tmp31_ = FALSE;
		gboolean _tmp32_ = FALSE;
		LayoutsItemRow* _tmp33_;
		ObjectsItem* _tmp34_;
		ObjectsItem* _tmp35_;
		const gchar* _tmp36_;
		const gchar* _tmp37_;
		ObjectsSection* _tmp38_;
		const gchar* _tmp39_;
		const gchar* _tmp40_;
		_tmp0_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_row, LAYOUTS_TYPE_ITEM_ROW, LayoutsItemRow));
		row = _tmp0_;
		_tmp2_ = row;
		_tmp3_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp2_);
		_tmp4_ = _tmp3_;
		_tmp5_ = objects_item_get_project_id (_tmp4_);
		_tmp6_ = _tmp5_;
		_tmp7_ = self->priv->_section;
		_tmp8_ = objects_section_get_project_id (_tmp7_);
		_tmp9_ = _tmp8_;
		if (g_strcmp0 (_tmp6_, _tmp9_) == 0) {
			LayoutsItemRow* _tmp10_;
			ObjectsItem* _tmp11_;
			ObjectsItem* _tmp12_;
			const gchar* _tmp13_;
			const gchar* _tmp14_;
			ObjectsSection* _tmp15_;
			const gchar* _tmp16_;
			const gchar* _tmp17_;
			_tmp10_ = row;
			_tmp11_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp10_);
			_tmp12_ = _tmp11_;
			_tmp13_ = objects_item_get_section_id (_tmp12_);
			_tmp14_ = _tmp13_;
			_tmp15_ = self->priv->_section;
			_tmp16_ = objects_base_object_get_id ((ObjectsBaseObject*) _tmp15_);
			_tmp17_ = _tmp16_;
			_tmp1_ = g_strcmp0 (_tmp14_, _tmp17_) == 0;
		} else {
			_tmp1_ = FALSE;
		}
		if (_tmp1_) {
			GeeHashMap* _tmp18_;
			LayoutsItemRow* _tmp19_;
			ObjectsItem* _tmp20_;
			ObjectsItem* _tmp21_;
			const gchar* _tmp22_;
			const gchar* _tmp23_;
			_tmp18_ = self->items_map;
			_tmp19_ = row;
			_tmp20_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp19_);
			_tmp21_ = _tmp20_;
			_tmp22_ = objects_base_object_get_id ((ObjectsBaseObject*) _tmp21_);
			_tmp23_ = _tmp22_;
			if (!gee_abstract_map_has_key ((GeeAbstractMap*) _tmp18_, _tmp23_)) {
				GeeHashMap* _tmp24_;
				LayoutsItemRow* _tmp25_;
				ObjectsItem* _tmp26_;
				ObjectsItem* _tmp27_;
				const gchar* _tmp28_;
				const gchar* _tmp29_;
				LayoutsItemRow* _tmp30_;
				_tmp24_ = self->items_map;
				_tmp25_ = row;
				_tmp26_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp25_);
				_tmp27_ = _tmp26_;
				_tmp28_ = objects_base_object_get_id ((ObjectsBaseObject*) _tmp27_);
				_tmp29_ = _tmp28_;
				_tmp30_ = row;
				gee_abstract_map_set ((GeeAbstractMap*) _tmp24_, _tmp29_, _tmp30_);
			}
		}
		_tmp33_ = row;
		_tmp34_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp33_);
		_tmp35_ = _tmp34_;
		_tmp36_ = objects_item_get_project_id (_tmp35_);
		_tmp37_ = _tmp36_;
		_tmp38_ = self->priv->_section;
		_tmp39_ = objects_section_get_project_id (_tmp38_);
		_tmp40_ = _tmp39_;
		if (g_strcmp0 (_tmp37_, _tmp40_) == 0) {
			LayoutsItemRow* _tmp41_;
			ObjectsItem* _tmp42_;
			ObjectsItem* _tmp43_;
			const gchar* _tmp44_;
			const gchar* _tmp45_;
			ObjectsSection* _tmp46_;
			const gchar* _tmp47_;
			const gchar* _tmp48_;
			_tmp41_ = row;
			_tmp42_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp41_);
			_tmp43_ = _tmp42_;
			_tmp44_ = objects_item_get_section_id (_tmp43_);
			_tmp45_ = _tmp44_;
			_tmp46_ = self->priv->_section;
			_tmp47_ = objects_base_object_get_id ((ObjectsBaseObject*) _tmp46_);
			_tmp48_ = _tmp47_;
			_tmp32_ = g_strcmp0 (_tmp45_, _tmp48_) != 0;
		} else {
			_tmp32_ = FALSE;
		}
		if (_tmp32_) {
			ObjectsSection* _tmp49_;
			const gchar* _tmp50_;
			const gchar* _tmp51_;
			_tmp49_ = self->priv->_section;
			_tmp50_ = objects_base_object_get_id ((ObjectsBaseObject*) _tmp49_);
			_tmp51_ = _tmp50_;
			_tmp31_ = g_strcmp0 (old_section_id, _tmp51_) == 0;
		} else {
			_tmp31_ = FALSE;
		}
		if (_tmp31_) {
			GeeHashMap* _tmp52_;
			LayoutsItemRow* _tmp53_;
			ObjectsItem* _tmp54_;
			ObjectsItem* _tmp55_;
			const gchar* _tmp56_;
			const gchar* _tmp57_;
			_tmp52_ = self->items_map;
			_tmp53_ = row;
			_tmp54_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp53_);
			_tmp55_ = _tmp54_;
			_tmp56_ = objects_base_object_get_id ((ObjectsBaseObject*) _tmp55_);
			_tmp57_ = _tmp56_;
			if (gee_abstract_map_has_key ((GeeAbstractMap*) _tmp52_, _tmp57_)) {
				GeeHashMap* _tmp58_;
				LayoutsItemRow* _tmp59_;
				ObjectsItem* _tmp60_;
				ObjectsItem* _tmp61_;
				const gchar* _tmp62_;
				const gchar* _tmp63_;
				_tmp58_ = self->items_map;
				_tmp59_ = row;
				_tmp60_ = layouts_item_base_get_item ((LayoutsItemBase*) _tmp59_);
				_tmp61_ = _tmp60_;
				_tmp62_ = objects_base_object_get_id ((ObjectsBaseObject*) _tmp61_);
				_tmp63_ = _tmp62_;
				gee_abstract_map_unset ((GeeAbstractMap*) _tmp58_, _tmp63_, NULL);
			}
		}
		_g_object_unref0 (row);
	}
}

static void
__layouts_section_row___lambda640__services_event_bus_update_inserted_item_map (ServicesEventBus* _sender,
                                                                                GtkWidget* row,
                                                                                const gchar* old_section_id,
                                                                                const gchar* old_parent_id,
                                                                                gpointer self)
{
	_layouts_section_row___lambda640_ ((LayoutsSectionRow*) self, row, old_section_id);
}

static void
_layouts_section_row_show_completed_changed_objects_project_show_completed_changed (ObjectsProject* _sender,
                                                                                    gpointer self)
{
	layouts_section_row_show_completed_changed ((LayoutsSectionRow*) self);
}

static void
_layouts_section_row___lambda641_ (LayoutsSectionRow* self)
{
	layouts_section_row_update_sort (self);
}

static void
__layouts_section_row___lambda641__objects_project_sort_order_changed (ObjectsProject* _sender,
                                                                       gpointer self)
{
	_layouts_section_row___lambda641_ ((LayoutsSectionRow*) self);
}

static void
_layouts_section_row___lambda642_ (LayoutsSectionRow* self)
{
	layouts_section_row_update_sort (self);
}

static void
__layouts_section_row___lambda642__objects_project_sorted_by_changed (ObjectsProject* _sender,
                                                                      gpointer self)
{
	_layouts_section_row___lambda642_ ((LayoutsSectionRow*) self);
}

static void
_layouts_section_row___lambda643_ (LayoutsSectionRow* self,
                                   const gchar* project_id,
                                   const gchar* section_id,
                                   gboolean value)
{
	gboolean _tmp0_ = FALSE;
	ObjectsSection* _tmp1_;
	const gchar* _tmp2_;
	const gchar* _tmp3_;
	g_return_if_fail (project_id != NULL);
	g_return_if_fail (section_id != NULL);
	_tmp1_ = self->priv->_section;
	_tmp2_ = objects_section_get_project_id (_tmp1_);
	_tmp3_ = _tmp2_;
	if (g_strcmp0 (_tmp3_, project_id) == 0) {
		ObjectsSection* _tmp4_;
		const gchar* _tmp5_;
		const gchar* _tmp6_;
		_tmp4_ = self->priv->_section;
		_tmp5_ = objects_base_object_get_id ((ObjectsBaseObject*) _tmp4_);
		_tmp6_ = _tmp5_;
		_tmp0_ = g_strcmp0 (_tmp6_, section_id) == 0;
	} else {
		_tmp0_ = FALSE;
	}
	if (_tmp0_) {
		layouts_section_row_update_sort (self);
	}
}

static void
__layouts_section_row___lambda643__services_event_bus_update_section_sort_func (ServicesEventBus* _sender,
                                                                                const gchar* project_id,
                                                                                const gchar* section_id,
                                                                                gboolean active,
                                                                                gpointer self)
{
	_layouts_section_row___lambda643_ ((LayoutsSectionRow*) self, project_id, section_id, active);
}

static void
_layouts_section_row___lambda644_ (LayoutsSectionRow* self)
{
	ObjectsSection* _tmp0_;
	gint _tmp1_;
	gint _tmp2_;
	_tmp0_ = self->priv->_section;
	_tmp1_ = objects_section_get_section_count (_tmp0_);
	_tmp2_ = _tmp1_;
	layouts_section_row_update_count_label (self, _tmp2_);
}

static void
__layouts_section_row___lambda644__objects_section_section_count_updated (ObjectsSection* _sender,
                                                                          gpointer self)
{
	_layouts_section_row___lambda644_ ((LayoutsSectionRow*) self);
}

static void
_layouts_section_row___lambda645_ (LayoutsSectionRow* self,
                                   const gchar* project_id,
                                   gboolean active)
{
	ObjectsSection* _tmp0_;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
	g_return_if_fail (project_id != NULL);
	_tmp0_ = self->priv->_section;
	_tmp1_ = objects_section_get_project_id (_tmp0_);
	_tmp2_ = _tmp1_;
	if (g_strcmp0 (_tmp2_, project_id) == 0) {
		GtkRevealer* _tmp3_;
		_tmp3_ = self->priv->drop_inbox_revealer;
		gtk_revealer_set_reveal_child (_tmp3_, active);
		if (active) {
			GtkListBox* _tmp4_;
			_tmp4_ = self->priv->listbox;
			gtk_list_box_set_sort_func (_tmp4_, NULL, NULL, NULL);
		}
	}
}

static void
__layouts_section_row___lambda645__services_event_bus_drag_n_drop_active (ServicesEventBus* _sender,
                                                                          const gchar* project_id,
                                                                          gboolean active,
                                                                          gpointer self)
{
	_layouts_section_row___lambda645_ ((LayoutsSectionRow*) self, project_id, active);
}

static gboolean
_layouts_section_row___lambda646_ (LayoutsSectionRow* self,
                                   GtkListBoxRow* row)
{
	ObjectsItem* item = NULL;
	ObjectsItem* _tmp0_;
	ObjectsItem* _tmp1_;
	ObjectsItem* _tmp2_;
	ObjectsItem* _tmp3_;
	ObjectsSection* _tmp4_;
	ObjectsProject* _tmp5_;
	ObjectsProject* _tmp6_;
	GeeHashMap* _tmp7_;
	gboolean result;
	g_return_val_if_fail (row != NULL, FALSE);
	_tmp0_ = layouts_item_base_get_item ((LayoutsItemBase*) G_TYPE_CHECK_INSTANCE_CAST (row, LAYOUTS_TYPE_ITEM_ROW, LayoutsItemRow));
	_tmp1_ = _tmp0_;
	_tmp2_ = _g_object_ref0 (_tmp1_);
	item = _tmp2_;
	_tmp3_ = item;
	_tmp4_ = self->priv->_section;
	_tmp5_ = objects_section_get_project (_tmp4_);
	_tmp6_ = _tmp5_;
	_tmp7_ = ((ObjectsBaseObject*) _tmp6_)->filters;
	result = utils_task_utils_items_filter_func (_tmp3_, _tmp7_);
	_g_object_unref0 (item);
	return result;
}

static gboolean
__layouts_section_row___lambda646__gtk_list_box_filter_func (GtkListBoxRow* row,
                                                             gpointer self)
{
	gboolean result;
	result = _layouts_section_row___lambda646_ ((LayoutsSectionRow*) self, row);
	return result;
}

static void
_layouts_section_row___lambda647_ (LayoutsSectionRow* self)
{
	layouts_section_row_update_sort (self);
}

static void
__layouts_section_row___lambda647__objects_base_object_filter_added (ObjectsBaseObject* _sender,
                                                                     ObjectsFiltersFilterItem* filters,
                                                                     gpointer self)
{
	_layouts_section_row___lambda647_ ((LayoutsSectionRow*) self);
}

static void
_layouts_section_row___lambda648_ (LayoutsSectionRow* self)
{
	layouts_section_row_update_sort (self);
}

static void
__layouts_section_row___lambda648__objects_base_object_filter_removed (ObjectsBaseObject* _sender,
                                                                       ObjectsFiltersFilterItem* filters,
                                                                       gpointer self)
{
	_layouts_section_row___lambda648_ ((LayoutsSectionRow*) self);
}

static void
_layouts_section_row___lambda649_ (LayoutsSectionRow* self)
{
	layouts_section_row_update_sort (self);
}

static void
__layouts_section_row___lambda649__objects_base_object_filter_updated (ObjectsBaseObject* _sender,
                                                                       ObjectsFiltersFilterItem* filters,
                                                                       gpointer self)
{
	_layouts_section_row___lambda649_ ((LayoutsSectionRow*) self);
}

static void
_layouts_section_row___lambda650_ (LayoutsSectionRow* self)
{
	ObjectsSection* _tmp0_;
	gboolean _tmp1_;
	gboolean _tmp2_;
	_tmp0_ = self->priv->_section;
	_tmp1_ = objects_base_object_get_sensitive ((ObjectsBaseObject*) _tmp0_);
	_tmp2_ = _tmp1_;
	gtk_widget_set_sensitive ((GtkWidget*) self, _tmp2_);
}

static void
__layouts_section_row___lambda650__objects_base_object_sensitive_change (ObjectsBaseObject* _sender,
                                                                         gpointer self)
{
	_layouts_section_row___lambda650_ ((LayoutsSectionRow*) self);
}

static void
_layouts_section_row___lambda651_ (LayoutsSectionRow* self)
{
	ObjectsSection* _tmp0_;
	gboolean _tmp1_;
	gboolean _tmp2_;
	_tmp0_ = self->priv->_section;
	_tmp1_ = objects_base_object_get_loading ((ObjectsBaseObject*) _tmp0_);
	_tmp2_ = _tmp1_;
	layouts_section_row_set_is_loading (self, _tmp2_);
}

static void
__layouts_section_row___lambda651__objects_base_object_loading_change (ObjectsBaseObject* _sender,
                                                                       gpointer self)
{
	_layouts_section_row___lambda651_ ((LayoutsSectionRow*) self);
}

static void
_layouts_section_row___lambda652_ (LayoutsSectionRow* self,
                                   const gchar* project_id,
                                   gboolean value)
{
	ObjectsSection* _tmp0_;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
	g_return_if_fail (project_id != NULL);
	_tmp0_ = self->priv->_section;
	_tmp1_ = objects_section_get_project_id (_tmp0_);
	_tmp2_ = _tmp1_;
	if (g_strcmp0 (_tmp2_, project_id) == 0) {
		{
			GeeIterator* _row_it = NULL;
			GeeHashMap* _tmp3_;
			GeeCollection* _tmp4_;
			GeeCollection* _tmp5_;
			GeeCollection* _tmp6_;
			GeeIterator* _tmp7_;
			GeeIterator* _tmp8_;
			_tmp3_ = self->items_map;
			_tmp4_ = gee_abstract_map_get_values ((GeeAbstractMap*) _tmp3_);
			_tmp5_ = _tmp4_;
			_tmp6_ = _tmp5_;
			_tmp7_ = gee_iterable_iterator ((GeeIterable*) _tmp6_);
			_tmp8_ = _tmp7_;
			_g_object_unref0 (_tmp6_);
			_row_it = _tmp8_;
			while (TRUE) {
				GeeIterator* _tmp9_;
				LayoutsItemRow* row = NULL;
				GeeIterator* _tmp10_;
				gpointer _tmp11_;
				LayoutsItemRow* _tmp12_;
				_tmp9_ = _row_it;
				if (!gee_iterator_next (_tmp9_)) {
					break;
				}
				_tmp10_ = _row_it;
				_tmp11_ = gee_iterator_get (_tmp10_);
				row = (LayoutsItemRow*) _tmp11_;
				_tmp12_ = row;
				layouts_item_row_set_edit (_tmp12_, value);
				_g_object_unref0 (row);
			}
			_g_object_unref0 (_row_it);
		}
	}
}

static void
__layouts_section_row___lambda652__services_event_bus_expand_all (ServicesEventBus* _sender,
                                                                  const gchar* project_id,
                                                                  gboolean active,
                                                                  gpointer self)
{
	_layouts_section_row___lambda652_ ((LayoutsSectionRow*) self, project_id, active);
}

static void
_layouts_section_row___lambda653_ (LayoutsSectionRow* self)
{
	ObjectsSection* _tmp0_;
	ObjectsSection* _tmp1_;
	gboolean _tmp2_;
	gboolean _tmp3_;
	ObjectsSection* _tmp4_;
	_tmp0_ = self->priv->_section;
	_tmp1_ = self->priv->_section;
	_tmp2_ = objects_section_get_collapsed (_tmp1_);
	_tmp3_ = _tmp2_;
	objects_section_set_collapsed (_tmp0_, !_tmp3_);
	_tmp4_ = self->priv->_section;
	objects_section_update_local (_tmp4_);
}

static void
__layouts_section_row___lambda653__gtk_button_clicked (GtkButton* _sender,
                                                       gpointer self)
{
	_layouts_section_row___lambda653_ ((LayoutsSectionRow*) self);
}

static void
_layouts_section_row___lambda654_ (LayoutsSectionRow* self)
{
	layouts_section_row_load_next_completed_page (self);
}

static void
__layouts_section_row___lambda654__gtk_button_clicked (GtkButton* _sender,
                                                       gpointer self)
{
	_layouts_section_row___lambda654_ ((LayoutsSectionRow*) self);
}

static void
_layouts_section_row___lambda655_ (LayoutsSectionRow* self)
{
	layouts_section_row_prepare_new_item (self, "", NEW_TASK_POSITION_END);
}

static void
__layouts_section_row___lambda655__gtk_button_clicked (GtkButton* _sender,
                                                       gpointer self)
{
	_layouts_section_row___lambda655_ ((LayoutsSectionRow*) self);
}

static void
_layouts_section_row___lambda656_ (LayoutsSectionRow* self)
{
	layouts_section_row_update_sort (self);
}

static void
__layouts_section_row___lambda656__objects_project_sync_finished (ObjectsProject* _sender,
                                                                  gpointer self)
{
	_layouts_section_row___lambda656_ ((LayoutsSectionRow*) self);
}

static GObject *
layouts_section_row_constructor (GType type,
                                 guint n_construct_properties,
                                 GObjectConstructParam * construct_properties)
{
	GObject * obj;
	GObjectClass * parent_class;
	LayoutsSectionRow * self;
	Block28Data* _data28_;
	gchar* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	gchar** _tmp4_;
	GtkImage* _tmp5_ = NULL;
	GtkButton* _tmp6_ = NULL;
	ObjectsSection* _tmp7_;
	const gchar* _tmp8_;
	const gchar* _tmp9_;
	gchar* _tmp10_;
	gchar** _tmp11_;
	GtkLabel* _tmp12_ = NULL;
	gchar* _tmp13_;
	gchar* _tmp14_;
	gchar** _tmp15_;
	GtkLabel* _tmp16_ = NULL;
	GtkMenuButton* menu_button = NULL;
	GtkPopover* _tmp17_;
	gchar* _tmp18_;
	gchar* _tmp19_;
	gchar** _tmp20_;
	GtkMenuButton* _tmp21_ = NULL;
	GtkBox* actions_box = NULL;
	GtkBox* _tmp22_ = NULL;
	GtkBox* _tmp23_;
	GtkMenuButton* _tmp24_;
	GtkRevealer* actions_box_revealer = NULL;
	GtkBox* _tmp25_;
	GtkWidget* _tmp26_;
	GtkRevealer* _tmp27_ = NULL;
	GtkBox* _tmp28_ = NULL;
	GtkBox* _tmp29_;
	GtkButton* _tmp30_;
	GtkBox* _tmp31_;
	GtkLabel* _tmp32_;
	GtkBox* _tmp33_;
	GtkLabel* _tmp34_;
	GtkBox* _tmp35_;
	GtkRevealer* _tmp36_;
	GtkRevealer* sectionrow_revealer = NULL;
	gboolean _tmp37_;
	gboolean _tmp38_;
	GtkBox* _tmp39_;
	GtkWidget* _tmp40_;
	GtkRevealer* _tmp41_ = NULL;
	gchar* _tmp42_;
	gchar* _tmp43_;
	gchar** _tmp44_;
	GtkRevealer* _tmp45_;
	GtkWidget* _tmp46_;
	AdwBin* _tmp47_ = NULL;
	gchar* _tmp48_;
	gchar* _tmp49_;
	gchar** _tmp50_;
	GtkGrid* _tmp51_ = NULL;
	GtkGrid* _tmp52_;
	GtkWidget* _tmp53_;
	GtkRevealer* _tmp54_ = NULL;
	gchar* _tmp55_;
	gchar** _tmp56_;
	GtkListBox* _tmp57_ = NULL;
	gchar* _tmp58_;
	gchar** _tmp59_;
	GtkListBox* _tmp60_ = NULL;
	GtkButton* _tmp61_ = NULL;
	GtkButton* _tmp62_;
	GtkButton* _tmp63_;
	GtkWidget* _tmp64_;
	GtkRevealer* _tmp65_ = NULL;
	GtkBox* checked_listbox_container = NULL;
	GtkBox* _tmp66_;
	GtkBox* _tmp67_;
	GtkListBox* _tmp68_;
	GtkBox* _tmp69_;
	GtkRevealer* _tmp70_;
	GtkBox* _tmp71_;
	GtkWidget* _tmp72_;
	GtkRevealer* _tmp73_ = NULL;
	GtkBox* bottom_box = NULL;
	GtkBox* _tmp74_ = NULL;
	GtkBox* add_button_box = NULL;
	GtkBox* _tmp75_ = NULL;
	GtkBox* _tmp76_;
	gchar* _tmp77_;
	gchar** _tmp78_;
	GtkImage* _tmp79_ = NULL;
	GtkImage* _tmp80_;
	GtkBox* _tmp81_;
	GtkLabel* _tmp82_;
	GtkLabel* _tmp83_;
	GtkBox* _tmp84_;
	GtkWidget* _tmp85_;
	ObjectsSection* _tmp86_;
	ObjectsProject* _tmp87_;
	ObjectsProject* _tmp88_;
	gboolean _tmp89_;
	gboolean _tmp90_;
	GtkButton* _tmp91_ = NULL;
	GtkButton* _tmp92_;
	GtkButton* _tmp93_;
	ObjectsSection* _tmp94_;
	gint _tmp95_;
	gint _tmp96_;
	GtkBox* _tmp97_;
	GtkListBox* _tmp98_;
	GtkBox* _tmp99_;
	GtkRevealer* _tmp100_;
	GtkBox* _tmp101_;
	GtkButton* _tmp102_;
	GtkBox* _tmp103_;
	GtkRevealer* _tmp104_;
	ObjectsSection* _tmp105_;
	gboolean _tmp106_;
	gboolean _tmp107_;
	GtkBox* _tmp108_;
	GtkWidget* _tmp109_;
	GtkRevealer* _tmp110_ = NULL;
	GtkBox* content_box = NULL;
	GtkBox* _tmp111_ = NULL;
	GtkBox* _tmp112_;
	AdwBin* _tmp113_;
	GtkBox* _tmp114_;
	GtkRevealer* _tmp115_;
	GtkBox* _tmp116_;
	GtkWidget* _tmp117_;
	GtkRevealer* _tmp118_ = NULL;
	GtkRevealer* _tmp119_;
	GtkRevealer* _tmp120_;
	guint _tmp121_;
	guint _tmp122_;
	GeeHashMap* _tmp123_;
	ObjectsSection* _tmp124_;
	gulong _tmp125_;
	ObjectsSection* _tmp126_;
	GeeHashMap* _tmp127_;
	ServicesEventBus* _tmp128_;
	ServicesEventBus* _tmp129_;
	gulong _tmp130_;
	ServicesEventBus* _tmp131_;
	ServicesEventBus* _tmp132_;
	gboolean _tmp133_;
	gboolean _tmp134_;
	GtkGestureClick* edit_gesture = NULL;
	GtkGestureClick* _tmp145_;
	GtkLabel* _tmp146_;
	GtkGestureClick* _tmp147_;
	GtkEventController* _tmp148_;
	GeeHashMap* _tmp149_;
	GtkGestureClick* _tmp150_;
	gulong _tmp151_;
	GtkGestureClick* _tmp152_;
	GeeHashMap* _tmp153_;
	ServicesEventBus* _tmp154_;
	ServicesEventBus* _tmp155_;
	gulong _tmp156_;
	ServicesEventBus* _tmp157_;
	ServicesEventBus* _tmp158_;
	GeeHashMap* _tmp159_;
	ServicesStore* _tmp160_;
	gulong _tmp161_;
	ServicesStore* _tmp162_;
	GeeHashMap* _tmp163_;
	ServicesStore* _tmp164_;
	gulong _tmp165_;
	ServicesStore* _tmp166_;
	GeeHashMap* _tmp167_;
	ServicesStore* _tmp168_;
	gulong _tmp169_;
	ServicesStore* _tmp170_;
	GeeHashMap* _tmp171_;
	ServicesEventBus* _tmp172_;
	ServicesEventBus* _tmp173_;
	gulong _tmp174_;
	ServicesEventBus* _tmp175_;
	ServicesEventBus* _tmp176_;
	GeeHashMap* _tmp177_;
	ServicesEventBus* _tmp178_;
	ServicesEventBus* _tmp179_;
	gulong _tmp180_;
	ServicesEventBus* _tmp181_;
	ServicesEventBus* _tmp182_;
	GeeHashMap* _tmp183_;
	ObjectsSection* _tmp184_;
	ObjectsProject* _tmp185_;
	ObjectsProject* _tmp186_;
	gulong _tmp187_;
	ObjectsSection* _tmp188_;
	ObjectsProject* _tmp189_;
	ObjectsProject* _tmp190_;
	GeeHashMap* _tmp191_;
	ObjectsSection* _tmp192_;
	ObjectsProject* _tmp193_;
	ObjectsProject* _tmp194_;
	gulong _tmp195_;
	ObjectsSection* _tmp196_;
	ObjectsProject* _tmp197_;
	ObjectsProject* _tmp198_;
	GeeHashMap* _tmp199_;
	ObjectsSection* _tmp200_;
	ObjectsProject* _tmp201_;
	ObjectsProject* _tmp202_;
	gulong _tmp203_;
	ObjectsSection* _tmp204_;
	ObjectsProject* _tmp205_;
	ObjectsProject* _tmp206_;
	GeeHashMap* _tmp207_;
	ServicesEventBus* _tmp208_;
	ServicesEventBus* _tmp209_;
	gulong _tmp210_;
	ServicesEventBus* _tmp211_;
	ServicesEventBus* _tmp212_;
	GeeHashMap* _tmp213_;
	ObjectsSection* _tmp214_;
	gulong _tmp215_;
	ObjectsSection* _tmp216_;
	GeeHashMap* _tmp217_;
	ServicesEventBus* _tmp218_;
	ServicesEventBus* _tmp219_;
	gulong _tmp220_;
	ServicesEventBus* _tmp221_;
	ServicesEventBus* _tmp222_;
	GtkListBox* _tmp223_;
	GeeHashMap* _tmp224_;
	ObjectsSection* _tmp225_;
	ObjectsProject* _tmp226_;
	ObjectsProject* _tmp227_;
	gulong _tmp228_;
	ObjectsSection* _tmp229_;
	ObjectsProject* _tmp230_;
	ObjectsProject* _tmp231_;
	GeeHashMap* _tmp232_;
	ObjectsSection* _tmp233_;
	ObjectsProject* _tmp234_;
	ObjectsProject* _tmp235_;
	gulong _tmp236_;
	ObjectsSection* _tmp237_;
	ObjectsProject* _tmp238_;
	ObjectsProject* _tmp239_;
	GeeHashMap* _tmp240_;
	ObjectsSection* _tmp241_;
	ObjectsProject* _tmp242_;
	ObjectsProject* _tmp243_;
	gulong _tmp244_;
	ObjectsSection* _tmp245_;
	ObjectsProject* _tmp246_;
	ObjectsProject* _tmp247_;
	GeeHashMap* _tmp248_;
	ObjectsSection* _tmp249_;
	gulong _tmp250_;
	ObjectsSection* _tmp251_;
	GeeHashMap* _tmp252_;
	ObjectsSection* _tmp253_;
	gulong _tmp254_;
	ObjectsSection* _tmp255_;
	GeeHashMap* _tmp256_;
	ServicesEventBus* _tmp257_;
	ServicesEventBus* _tmp258_;
	gulong _tmp259_;
	ServicesEventBus* _tmp260_;
	ServicesEventBus* _tmp261_;
	GeeHashMap* _tmp262_;
	GtkButton* _tmp263_;
	gulong _tmp264_;
	GtkButton* _tmp265_;
	GeeHashMap* _tmp266_;
	GtkButton* _tmp267_;
	gulong _tmp268_;
	GtkButton* _tmp269_;
	GeeHashMap* _tmp270_;
	GtkButton* _tmp271_;
	gulong _tmp272_;
	GtkButton* _tmp273_;
	GeeHashMap* _tmp274_;
	ObjectsSection* _tmp275_;
	ObjectsProject* _tmp276_;
	ObjectsProject* _tmp277_;
	gulong _tmp278_;
	ObjectsSection* _tmp279_;
	ObjectsProject* _tmp280_;
	ObjectsProject* _tmp281_;
	ObjectsSource* _tmp282_;
	ObjectsSource* _tmp283_;
	parent_class = G_OBJECT_CLASS (layouts_section_row_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, LAYOUTS_TYPE_SECTION_ROW, LayoutsSectionRow);
	_data28_ = g_slice_new0 (Block28Data);
	_data28_->_ref_count_ = 1;
	_data28_->self = g_object_ref (self);
	gtk_widget_add_css_class ((GtkWidget*) self, "no-selectable");
	gtk_widget_add_css_class ((GtkWidget*) self, "no-padding");
	_tmp0_ = g_strdup ("flat");
	_tmp1_ = g_strdup ("dimmed");
	_tmp2_ = g_strdup ("no-padding");
	_tmp3_ = g_strdup ("hidden-button");
	_tmp4_ = g_new0 (gchar*, 4 + 1);
	_tmp4_[0] = _tmp0_;
	_tmp4_[1] = _tmp1_;
	_tmp4_[2] = _tmp2_;
	_tmp4_[3] = _tmp3_;
	_tmp5_ = (GtkImage*) gtk_image_new_from_icon_name ("go-next-symbolic");
	gtk_image_set_pixel_size (_tmp5_, 12);
	g_object_ref_sink (_tmp5_);
	_tmp6_ = (GtkButton*) gtk_button_new ();
	gtk_widget_set_valign ((GtkWidget*) _tmp6_, GTK_ALIGN_CENTER);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp6_, _tmp4_);
	_tmp4_ = (_vala_array_free (_tmp4_, 4, (GDestroyNotify) g_free), NULL);
	gtk_button_set_child (_tmp6_, (GtkWidget*) _tmp5_);
	_g_object_unref0 (_tmp5_);
	g_object_ref_sink (_tmp6_);
	_g_object_unref0 (self->priv->hide_subtask_button);
	self->priv->hide_subtask_button = _tmp6_;
	_tmp7_ = self->priv->_section;
	_tmp8_ = objects_base_object_get_name ((ObjectsBaseObject*) _tmp7_);
	_tmp9_ = _tmp8_;
	_tmp10_ = g_strdup ("font-bold");
	_tmp11_ = g_new0 (gchar*, 1 + 1);
	_tmp11_[0] = _tmp10_;
	_tmp12_ = (GtkLabel*) gtk_label_new (_tmp9_);
	gtk_widget_set_halign ((GtkWidget*) _tmp12_, GTK_ALIGN_START);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp12_, _tmp11_);
	_tmp11_ = (_vala_array_free (_tmp11_, 1, (GDestroyNotify) g_free), NULL);
	gtk_widget_set_margin_start ((GtkWidget*) _tmp12_, 9);
	g_object_ref_sink (_tmp12_);
	_g_object_unref0 (self->priv->name_label);
	self->priv->name_label = _tmp12_;
	_tmp13_ = g_strdup ("dimmed");
	_tmp14_ = g_strdup ("caption");
	_tmp15_ = g_new0 (gchar*, 2 + 1);
	_tmp15_[0] = _tmp13_;
	_tmp15_[1] = _tmp14_;
	_tmp16_ = (GtkLabel*) gtk_label_new (NULL);
	gtk_widget_set_margin_start ((GtkWidget*) _tmp16_, 9);
	gtk_widget_set_halign ((GtkWidget*) _tmp16_, GTK_ALIGN_CENTER);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp16_, _tmp15_);
	_tmp15_ = (_vala_array_free (_tmp15_, 2, (GDestroyNotify) g_free), NULL);
	g_object_ref_sink (_tmp16_);
	_g_object_unref0 (self->priv->count_label);
	self->priv->count_label = _tmp16_;
	_tmp17_ = layouts_section_row_build_context_menu (self);
	_tmp18_ = g_strdup ("view-more-symbolic");
	_tmp19_ = g_strdup ("flat");
	_tmp20_ = g_new0 (gchar*, 1 + 1);
	_tmp20_[0] = _tmp19_;
	_tmp21_ = (GtkMenuButton*) gtk_menu_button_new ();
	gtk_widget_set_valign ((GtkWidget*) _tmp21_, GTK_ALIGN_CENTER);
	gtk_widget_set_halign ((GtkWidget*) _tmp21_, GTK_ALIGN_CENTER);
	gtk_menu_button_set_popover (_tmp21_, _tmp17_);
	_g_object_unref0 (_tmp17_);
	gtk_menu_button_set_icon_name (_tmp21_, _tmp18_);
	_g_free0 (_tmp18_);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp21_, _tmp20_);
	_tmp20_ = (_vala_array_free (_tmp20_, 1, (GDestroyNotify) g_free), NULL);
	g_object_ref_sink (_tmp21_);
	menu_button = _tmp21_;
	_tmp22_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp22_, TRUE);
	gtk_widget_set_halign ((GtkWidget*) _tmp22_, GTK_ALIGN_END);
	g_object_ref_sink (_tmp22_);
	actions_box = _tmp22_;
	_tmp23_ = actions_box;
	_tmp24_ = menu_button;
	gtk_box_append (_tmp23_, (GtkWidget*) _tmp24_);
	_tmp25_ = actions_box;
	_tmp26_ = _g_object_ref0 ((GtkWidget*) _tmp25_);
	_tmp27_ = (GtkRevealer*) gtk_revealer_new ();
	gtk_revealer_set_transition_type (_tmp27_, GTK_REVEALER_TRANSITION_TYPE_CROSSFADE);
	gtk_revealer_set_reveal_child (_tmp27_, TRUE);
	gtk_revealer_set_child (_tmp27_, _tmp26_);
	_g_object_unref0 (_tmp26_);
	gtk_widget_set_margin_end ((GtkWidget*) _tmp27_, 6);
	g_object_ref_sink (_tmp27_);
	actions_box_revealer = _tmp27_;
	_tmp28_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
	gtk_widget_set_margin_start ((GtkWidget*) _tmp28_, 3);
	g_object_ref_sink (_tmp28_);
	_data28_->sectionrow_box = _tmp28_;
	_tmp29_ = _data28_->sectionrow_box;
	_tmp30_ = self->priv->hide_subtask_button;
	gtk_box_append (_tmp29_, (GtkWidget*) _tmp30_);
	_tmp31_ = _data28_->sectionrow_box;
	_tmp32_ = self->priv->name_label;
	gtk_box_append (_tmp31_, (GtkWidget*) _tmp32_);
	_tmp33_ = _data28_->sectionrow_box;
	_tmp34_ = self->priv->count_label;
	gtk_box_append (_tmp33_, (GtkWidget*) _tmp34_);
	_tmp35_ = _data28_->sectionrow_box;
	_tmp36_ = actions_box_revealer;
	gtk_box_append (_tmp35_, (GtkWidget*) _tmp36_);
	_tmp37_ = layouts_section_row_get_is_inbox_section (self);
	_tmp38_ = _tmp37_;
	_tmp39_ = _data28_->sectionrow_box;
	_tmp40_ = _g_object_ref0 ((GtkWidget*) _tmp39_);
	_tmp41_ = (GtkRevealer*) gtk_revealer_new ();
	gtk_revealer_set_transition_type (_tmp41_, GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN);
	gtk_revealer_set_reveal_child (_tmp41_, !_tmp38_);
	gtk_revealer_set_child (_tmp41_, _tmp40_);
	_g_object_unref0 (_tmp40_);
	g_object_ref_sink (_tmp41_);
	sectionrow_revealer = _tmp41_;
	_tmp42_ = g_strdup ("transition");
	_tmp43_ = g_strdup ("drop-target");
	_tmp44_ = g_new0 (gchar*, 2 + 1);
	_tmp44_[0] = _tmp42_;
	_tmp44_[1] = _tmp43_;
	_tmp45_ = sectionrow_revealer;
	_tmp46_ = _g_object_ref0 ((GtkWidget*) _tmp45_);
	_tmp47_ = (AdwBin*) adw_bin_new ();
	gtk_widget_set_css_classes ((GtkWidget*) _tmp47_, _tmp44_);
	_tmp44_ = (_vala_array_free (_tmp44_, 2, (GDestroyNotify) g_free), NULL);
	adw_bin_set_child (_tmp47_, _tmp46_);
	_g_object_unref0 (_tmp46_);
	g_object_ref_sink (_tmp47_);
	_g_object_unref0 (self->priv->handle_grid);
	self->priv->handle_grid = _tmp47_;
	_tmp48_ = g_strdup ("transition");
	_tmp49_ = g_strdup ("drop-target");
	_tmp50_ = g_new0 (gchar*, 2 + 1);
	_tmp50_[0] = _tmp48_;
	_tmp50_[1] = _tmp49_;
	_tmp51_ = (GtkGrid*) gtk_grid_new ();
	gtk_widget_set_css_classes ((GtkWidget*) _tmp51_, _tmp50_);
	_tmp50_ = (_vala_array_free (_tmp50_, 2, (GDestroyNotify) g_free), NULL);
	g_object_set ((GtkWidget*) _tmp51_, "height-request", 30, NULL);
	gtk_widget_set_margin_start ((GtkWidget*) _tmp51_, 32);
	gtk_widget_set_margin_end ((GtkWidget*) _tmp51_, 24);
	gtk_widget_set_margin_bottom ((GtkWidget*) _tmp51_, 6);
	g_object_ref_sink (_tmp51_);
	_g_object_unref0 (self->priv->drop_inbox_widget);
	self->priv->drop_inbox_widget = _tmp51_;
	_tmp52_ = self->priv->drop_inbox_widget;
	_tmp53_ = _g_object_ref0 ((GtkWidget*) _tmp52_);
	_tmp54_ = (GtkRevealer*) gtk_revealer_new ();
	gtk_revealer_set_transition_type (_tmp54_, GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN);
	gtk_revealer_set_child (_tmp54_, _tmp53_);
	_g_object_unref0 (_tmp53_);
	g_object_ref_sink (_tmp54_);
	_g_object_unref0 (self->priv->drop_inbox_revealer);
	self->priv->drop_inbox_revealer = _tmp54_;
	_tmp55_ = g_strdup ("listbox-background");
	_tmp56_ = g_new0 (gchar*, 1 + 1);
	_tmp56_[0] = _tmp55_;
	_tmp57_ = (GtkListBox*) gtk_list_box_new ();
	gtk_widget_set_valign ((GtkWidget*) _tmp57_, GTK_ALIGN_START);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp57_, TRUE);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp57_, _tmp56_);
	_tmp56_ = (_vala_array_free (_tmp56_, 1, (GDestroyNotify) g_free), NULL);
	g_object_ref_sink (_tmp57_);
	_g_object_unref0 (self->priv->listbox);
	self->priv->listbox = _tmp57_;
	_tmp58_ = g_strdup ("listbox-background");
	_tmp59_ = g_new0 (gchar*, 1 + 1);
	_tmp59_[0] = _tmp58_;
	_tmp60_ = (GtkListBox*) gtk_list_box_new ();
	gtk_widget_set_valign ((GtkWidget*) _tmp60_, GTK_ALIGN_START);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp60_, TRUE);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp60_, _tmp59_);
	_tmp59_ = (_vala_array_free (_tmp59_, 1, (GDestroyNotify) g_free), NULL);
	g_object_ref_sink (_tmp60_);
	_g_object_unref0 (self->priv->checked_listbox);
	self->priv->checked_listbox = _tmp60_;
	_tmp61_ = (GtkButton*) gtk_button_new_with_label ("Cargar más");
	gtk_widget_set_margin_start ((GtkWidget*) _tmp61_, 9);
	gtk_widget_set_halign ((GtkWidget*) _tmp61_, GTK_ALIGN_START);
	g_object_ref_sink (_tmp61_);
	_g_object_unref0 (self->priv->load_more_button);
	self->priv->load_more_button = _tmp61_;
	_tmp62_ = self->priv->load_more_button;
	gtk_widget_add_css_class ((GtkWidget*) _tmp62_, "flat");
	_tmp63_ = self->priv->load_more_button;
	_tmp64_ = _g_object_ref0 ((GtkWidget*) _tmp63_);
	_tmp65_ = (GtkRevealer*) gtk_revealer_new ();
	gtk_revealer_set_transition_type (_tmp65_, GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN);
	gtk_revealer_set_reveal_child (_tmp65_, FALSE);
	gtk_revealer_set_child (_tmp65_, _tmp64_);
	_g_object_unref0 (_tmp64_);
	g_object_ref_sink (_tmp65_);
	_g_object_unref0 (self->priv->load_more_button_revealer);
	self->priv->load_more_button_revealer = _tmp65_;
	_tmp66_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
	g_object_ref_sink (_tmp66_);
	checked_listbox_container = _tmp66_;
	_tmp67_ = checked_listbox_container;
	_tmp68_ = self->priv->checked_listbox;
	gtk_box_append (_tmp67_, (GtkWidget*) _tmp68_);
	_tmp69_ = checked_listbox_container;
	_tmp70_ = self->priv->load_more_button_revealer;
	gtk_box_append (_tmp69_, (GtkWidget*) _tmp70_);
	_tmp71_ = checked_listbox_container;
	_tmp72_ = _g_object_ref0 ((GtkWidget*) _tmp71_);
	_tmp73_ = (GtkRevealer*) gtk_revealer_new ();
	gtk_revealer_set_transition_type (_tmp73_, GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN);
	gtk_revealer_set_reveal_child (_tmp73_, TRUE);
	gtk_revealer_set_child (_tmp73_, _tmp72_);
	_g_object_unref0 (_tmp72_);
	g_object_ref_sink (_tmp73_);
	_g_object_unref0 (self->priv->checked_revealer);
	self->priv->checked_revealer = _tmp73_;
	_tmp74_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp74_, TRUE);
	gtk_widget_set_margin_end ((GtkWidget*) _tmp74_, 24);
	g_object_ref_sink (_tmp74_);
	bottom_box = _tmp74_;
	_tmp75_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
	gtk_widget_set_valign ((GtkWidget*) _tmp75_, GTK_ALIGN_CENTER);
	g_object_ref_sink (_tmp75_);
	add_button_box = _tmp75_;
	_tmp76_ = add_button_box;
	_tmp77_ = g_strdup ("color-primary");
	_tmp78_ = g_new0 (gchar*, 1 + 1);
	_tmp78_[0] = _tmp77_;
	_tmp79_ = (GtkImage*) gtk_image_new_from_icon_name ("plus-large-symbolic");
	gtk_widget_set_css_classes ((GtkWidget*) _tmp79_, _tmp78_);
	_tmp78_ = (_vala_array_free (_tmp78_, 1, (GDestroyNotify) g_free), NULL);
	g_object_ref_sink (_tmp79_);
	_tmp80_ = _tmp79_;
	gtk_box_append (_tmp76_, (GtkWidget*) _tmp80_);
	_g_object_unref0 (_tmp80_);
	_tmp81_ = add_button_box;
	_tmp82_ = (GtkLabel*) gtk_label_new (_ ("Add tasks"));
	g_object_ref_sink (_tmp82_);
	_tmp83_ = _tmp82_;
	gtk_box_append (_tmp81_, (GtkWidget*) _tmp83_);
	_g_object_unref0 (_tmp83_);
	_tmp84_ = add_button_box;
	_tmp85_ = _g_object_ref0 ((GtkWidget*) _tmp84_);
	_tmp86_ = self->priv->_section;
	_tmp87_ = objects_section_get_project (_tmp86_);
	_tmp88_ = _tmp87_;
	_tmp89_ = objects_project_get_is_deck (_tmp88_);
	_tmp90_ = _tmp89_;
	_tmp91_ = (GtkButton*) gtk_button_new ();
	gtk_button_set_child (_tmp91_, _tmp85_);
	_g_object_unref0 (_tmp85_);
	gtk_widget_set_margin_start ((GtkWidget*) _tmp91_, 24);
	gtk_widget_set_margin_bottom ((GtkWidget*) _tmp91_, 6);
	gtk_widget_set_margin_top ((GtkWidget*) _tmp91_, 3);
	gtk_widget_set_halign ((GtkWidget*) _tmp91_, GTK_ALIGN_START);
	gtk_widget_set_visible ((GtkWidget*) _tmp91_, !_tmp90_);
	g_object_ref_sink (_tmp91_);
	_data28_->add_button = _tmp91_;
	_tmp92_ = _data28_->add_button;
	gtk_widget_add_css_class ((GtkWidget*) _tmp92_, "flat");
	_tmp93_ = _data28_->add_button;
	gtk_widget_add_css_class ((GtkWidget*) _tmp93_, "add-button");
	layouts_section_row_add_items (self);
	layouts_section_row_show_completed_changed (self);
	layouts_section_row_build_drag_and_drop (self);
	_tmp94_ = self->priv->_section;
	_tmp95_ = objects_section_get_section_count (_tmp94_);
	_tmp96_ = _tmp95_;
	layouts_section_row_update_count_label (self, _tmp96_);
	layouts_section_row_update_collapsed_button (self);
	_tmp97_ = bottom_box;
	_tmp98_ = self->priv->listbox;
	gtk_box_append (_tmp97_, (GtkWidget*) _tmp98_);
	_tmp99_ = bottom_box;
	_tmp100_ = self->priv->drop_inbox_revealer;
	gtk_box_append (_tmp99_, (GtkWidget*) _tmp100_);
	_tmp101_ = bottom_box;
	_tmp102_ = _data28_->add_button;
	gtk_box_append (_tmp101_, (GtkWidget*) _tmp102_);
	_tmp103_ = bottom_box;
	_tmp104_ = self->priv->checked_revealer;
	gtk_box_append (_tmp103_, (GtkWidget*) _tmp104_);
	_tmp105_ = self->priv->_section;
	_tmp106_ = objects_section_get_collapsed (_tmp105_);
	_tmp107_ = _tmp106_;
	_tmp108_ = bottom_box;
	_tmp109_ = _g_object_ref0 ((GtkWidget*) _tmp108_);
	_tmp110_ = (GtkRevealer*) gtk_revealer_new ();
	gtk_revealer_set_transition_type (_tmp110_, GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN);
	gtk_revealer_set_reveal_child (_tmp110_, _tmp107_);
	gtk_revealer_set_child (_tmp110_, _tmp109_);
	_g_object_unref0 (_tmp109_);
	g_object_ref_sink (_tmp110_);
	_g_object_unref0 (self->priv->bottom_revealer);
	self->priv->bottom_revealer = _tmp110_;
	_tmp111_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp111_, TRUE);
	g_object_ref_sink (_tmp111_);
	content_box = _tmp111_;
	_tmp112_ = content_box;
	_tmp113_ = self->priv->handle_grid;
	gtk_box_append (_tmp112_, (GtkWidget*) _tmp113_);
	_tmp114_ = content_box;
	_tmp115_ = self->priv->bottom_revealer;
	gtk_box_append (_tmp114_, (GtkWidget*) _tmp115_);
	_tmp116_ = content_box;
	_tmp117_ = _g_object_ref0 ((GtkWidget*) _tmp116_);
	_tmp118_ = (GtkRevealer*) gtk_revealer_new ();
	gtk_revealer_set_transition_type (_tmp118_, GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN);
	gtk_revealer_set_child (_tmp118_, _tmp117_);
	_g_object_unref0 (_tmp117_);
	g_object_ref_sink (_tmp118_);
	_g_object_unref0 (self->priv->content_revealer);
	self->priv->content_revealer = _tmp118_;
	_tmp119_ = self->priv->content_revealer;
	gtk_list_box_row_set_child ((GtkListBoxRow*) self, (GtkWidget*) _tmp119_);
	_tmp120_ = self->priv->content_revealer;
	_tmp121_ = gtk_revealer_get_transition_duration (_tmp120_);
	_tmp122_ = _tmp121_;
	g_timeout_add_full (G_PRIORITY_DEFAULT, _tmp122_, __layouts_section_row___lambda629__gsource_func, g_object_ref (self), g_object_unref);
	_tmp123_ = self->priv->signal_map;
	_tmp124_ = self->priv->_section;
	_tmp125_ = g_signal_connect_object ((ObjectsBaseObject*) _tmp124_, "updated", (GCallback) __layouts_section_row___lambda630__objects_base_object_updated, self, 0);
	_tmp126_ = self->priv->_section;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp123_, (gpointer) ((guintptr) _tmp125_), (GObject*) _tmp126_);
	_tmp127_ = self->priv->signal_map;
	_tmp128_ = services_event_bus_get_default ();
	_tmp129_ = _tmp128_;
	_tmp130_ = g_signal_connect_data (_tmp129_, "dim-content", (GCallback) __layouts_section_row___lambda631__services_event_bus_dim_content, block28_data_ref (_data28_), (GClosureNotify) block28_data_unref, 0);
	_tmp131_ = services_event_bus_get_default ();
	_tmp132_ = _tmp131_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp127_, (gpointer) ((guintptr) _tmp130_), (GObject*) _tmp132_);
	_g_object_unref0 (_tmp132_);
	_g_object_unref0 (_tmp129_);
	_tmp133_ = layouts_section_row_get_is_inbox_section (self);
	_tmp134_ = _tmp133_;
	if (_tmp134_) {
		GeeHashMap* _tmp135_;
		ObjectsSection* _tmp136_;
		ObjectsProject* _tmp137_;
		ObjectsProject* _tmp138_;
		gulong _tmp139_;
		ObjectsSection* _tmp140_;
		_tmp135_ = self->priv->signal_map;
		_tmp136_ = self->priv->_section;
		_tmp137_ = objects_section_get_project (_tmp136_);
		_tmp138_ = _tmp137_;
		_tmp139_ = g_signal_connect_object (_tmp138_, "item-added", (GCallback) __layouts_section_row____lambda632__objects_project_item_added, self, 0);
		_tmp140_ = self->priv->_section;
		gee_abstract_map_set ((GeeAbstractMap*) _tmp135_, (gpointer) ((guintptr) _tmp139_), (GObject*) _tmp140_);
	} else {
		GeeHashMap* _tmp141_;
		ObjectsSection* _tmp142_;
		gulong _tmp143_;
		ObjectsSection* _tmp144_;
		_tmp141_ = self->priv->signal_map;
		_tmp142_ = self->priv->_section;
		_tmp143_ = g_signal_connect_object (_tmp142_, "item-added", (GCallback) __layouts_section_row____lambda633__objects_section_item_added, self, 0);
		_tmp144_ = self->priv->_section;
		gee_abstract_map_set ((GeeAbstractMap*) _tmp141_, (gpointer) ((guintptr) _tmp143_), (GObject*) _tmp144_);
	}
	_tmp145_ = (GtkGestureClick*) gtk_gesture_click_new ();
	edit_gesture = _tmp145_;
	_tmp146_ = self->priv->name_label;
	_tmp147_ = edit_gesture;
	_tmp148_ = _g_object_ref0 ((GtkEventController*) _tmp147_);
	gtk_widget_add_controller ((GtkWidget*) _tmp146_, _tmp148_);
	_tmp149_ = self->priv->signal_map;
	_tmp150_ = edit_gesture;
	_tmp151_ = g_signal_connect_object (_tmp150_, "released", (GCallback) __layouts_section_row___lambda634__gtk_gesture_click_released, self, 0);
	_tmp152_ = edit_gesture;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp149_, (gpointer) ((guintptr) _tmp151_), (GObject*) _tmp152_);
	_tmp153_ = self->priv->signal_map;
	_tmp154_ = services_event_bus_get_default ();
	_tmp155_ = _tmp154_;
	_tmp156_ = g_signal_connect_object (_tmp155_, "checked-toggled", (GCallback) __layouts_section_row___lambda635__services_event_bus_checked_toggled, self, 0);
	_tmp157_ = services_event_bus_get_default ();
	_tmp158_ = _tmp157_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp153_, (gpointer) ((guintptr) _tmp156_), (GObject*) _tmp158_);
	_g_object_unref0 (_tmp158_);
	_g_object_unref0 (_tmp155_);
	_tmp159_ = self->priv->signal_map;
	_tmp160_ = services_store_instance ();
	_tmp161_ = g_signal_connect_object (_tmp160_, "item-updated", (GCallback) __layouts_section_row___lambda636__services_store_item_updated, self, 0);
	_tmp162_ = services_store_instance ();
	gee_abstract_map_set ((GeeAbstractMap*) _tmp159_, (gpointer) ((guintptr) _tmp161_), (GObject*) _tmp162_);
	_tmp163_ = self->priv->signal_map;
	_tmp164_ = services_store_instance ();
	_tmp165_ = g_signal_connect_object (_tmp164_, "item-pin-change", (GCallback) __layouts_section_row___lambda637__services_store_item_pin_change, self, 0);
	_tmp166_ = services_store_instance ();
	gee_abstract_map_set ((GeeAbstractMap*) _tmp163_, (gpointer) ((guintptr) _tmp165_), (GObject*) _tmp166_);
	_tmp167_ = self->priv->signal_map;
	_tmp168_ = services_store_instance ();
	_tmp169_ = g_signal_connect_object (_tmp168_, "item-deleted", (GCallback) __layouts_section_row___lambda638__services_store_item_deleted, self, 0);
	_tmp170_ = services_store_instance ();
	gee_abstract_map_set ((GeeAbstractMap*) _tmp167_, (gpointer) ((guintptr) _tmp169_), (GObject*) _tmp170_);
	_tmp171_ = self->priv->signal_map;
	_tmp172_ = services_event_bus_get_default ();
	_tmp173_ = _tmp172_;
	_tmp174_ = g_signal_connect_object (_tmp173_, "item-moved", (GCallback) __layouts_section_row___lambda639__services_event_bus_item_moved, self, 0);
	_tmp175_ = services_event_bus_get_default ();
	_tmp176_ = _tmp175_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp171_, (gpointer) ((guintptr) _tmp174_), (GObject*) _tmp176_);
	_g_object_unref0 (_tmp176_);
	_g_object_unref0 (_tmp173_);
	_tmp177_ = self->priv->signal_map;
	_tmp178_ = services_event_bus_get_default ();
	_tmp179_ = _tmp178_;
	_tmp180_ = g_signal_connect_object (_tmp179_, "update-inserted-item-map", (GCallback) __layouts_section_row___lambda640__services_event_bus_update_inserted_item_map, self, 0);
	_tmp181_ = services_event_bus_get_default ();
	_tmp182_ = _tmp181_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp177_, (gpointer) ((guintptr) _tmp180_), (GObject*) _tmp182_);
	_g_object_unref0 (_tmp182_);
	_g_object_unref0 (_tmp179_);
	_tmp183_ = self->priv->signal_map;
	_tmp184_ = self->priv->_section;
	_tmp185_ = objects_section_get_project (_tmp184_);
	_tmp186_ = _tmp185_;
	_tmp187_ = g_signal_connect_object (_tmp186_, "show-completed-changed", (GCallback) _layouts_section_row_show_completed_changed_objects_project_show_completed_changed, self, 0);
	_tmp188_ = self->priv->_section;
	_tmp189_ = objects_section_get_project (_tmp188_);
	_tmp190_ = _tmp189_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp183_, (gpointer) ((guintptr) _tmp187_), (GObject*) _tmp190_);
	_tmp191_ = self->priv->signal_map;
	_tmp192_ = self->priv->_section;
	_tmp193_ = objects_section_get_project (_tmp192_);
	_tmp194_ = _tmp193_;
	_tmp195_ = g_signal_connect_object (_tmp194_, "sort-order-changed", (GCallback) __layouts_section_row___lambda641__objects_project_sort_order_changed, self, 0);
	_tmp196_ = self->priv->_section;
	_tmp197_ = objects_section_get_project (_tmp196_);
	_tmp198_ = _tmp197_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp191_, (gpointer) ((guintptr) _tmp195_), (GObject*) _tmp198_);
	_tmp199_ = self->priv->signal_map;
	_tmp200_ = self->priv->_section;
	_tmp201_ = objects_section_get_project (_tmp200_);
	_tmp202_ = _tmp201_;
	_tmp203_ = g_signal_connect_object (_tmp202_, "sorted-by-changed", (GCallback) __layouts_section_row___lambda642__objects_project_sorted_by_changed, self, 0);
	_tmp204_ = self->priv->_section;
	_tmp205_ = objects_section_get_project (_tmp204_);
	_tmp206_ = _tmp205_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp199_, (gpointer) ((guintptr) _tmp203_), (GObject*) _tmp206_);
	_tmp207_ = self->priv->signal_map;
	_tmp208_ = services_event_bus_get_default ();
	_tmp209_ = _tmp208_;
	_tmp210_ = g_signal_connect_object (_tmp209_, "update-section-sort-func", (GCallback) __layouts_section_row___lambda643__services_event_bus_update_section_sort_func, self, 0);
	_tmp211_ = services_event_bus_get_default ();
	_tmp212_ = _tmp211_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp207_, (gpointer) ((guintptr) _tmp210_), (GObject*) _tmp212_);
	_g_object_unref0 (_tmp212_);
	_g_object_unref0 (_tmp209_);
	_tmp213_ = self->priv->signal_map;
	_tmp214_ = self->priv->_section;
	_tmp215_ = g_signal_connect_object (_tmp214_, "section-count-updated", (GCallback) __layouts_section_row___lambda644__objects_section_section_count_updated, self, 0);
	_tmp216_ = self->priv->_section;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp213_, (gpointer) ((guintptr) _tmp215_), (GObject*) _tmp216_);
	_tmp217_ = self->priv->signal_map;
	_tmp218_ = services_event_bus_get_default ();
	_tmp219_ = _tmp218_;
	_tmp220_ = g_signal_connect_object (_tmp219_, "drag-n-drop-active", (GCallback) __layouts_section_row___lambda645__services_event_bus_drag_n_drop_active, self, 0);
	_tmp221_ = services_event_bus_get_default ();
	_tmp222_ = _tmp221_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp217_, (gpointer) ((guintptr) _tmp220_), (GObject*) _tmp222_);
	_g_object_unref0 (_tmp222_);
	_g_object_unref0 (_tmp219_);
	_tmp223_ = self->priv->listbox;
	gtk_list_box_set_filter_func (_tmp223_, __layouts_section_row___lambda646__gtk_list_box_filter_func, g_object_ref (self), g_object_unref);
	_tmp224_ = self->priv->signal_map;
	_tmp225_ = self->priv->_section;
	_tmp226_ = objects_section_get_project (_tmp225_);
	_tmp227_ = _tmp226_;
	_tmp228_ = g_signal_connect_object ((ObjectsBaseObject*) _tmp227_, "filter-added", (GCallback) __layouts_section_row___lambda647__objects_base_object_filter_added, self, 0);
	_tmp229_ = self->priv->_section;
	_tmp230_ = objects_section_get_project (_tmp229_);
	_tmp231_ = _tmp230_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp224_, (gpointer) ((guintptr) _tmp228_), (GObject*) _tmp231_);
	_tmp232_ = self->priv->signal_map;
	_tmp233_ = self->priv->_section;
	_tmp234_ = objects_section_get_project (_tmp233_);
	_tmp235_ = _tmp234_;
	_tmp236_ = g_signal_connect_object ((ObjectsBaseObject*) _tmp235_, "filter-removed", (GCallback) __layouts_section_row___lambda648__objects_base_object_filter_removed, self, 0);
	_tmp237_ = self->priv->_section;
	_tmp238_ = objects_section_get_project (_tmp237_);
	_tmp239_ = _tmp238_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp232_, (gpointer) ((guintptr) _tmp236_), (GObject*) _tmp239_);
	_tmp240_ = self->priv->signal_map;
	_tmp241_ = self->priv->_section;
	_tmp242_ = objects_section_get_project (_tmp241_);
	_tmp243_ = _tmp242_;
	_tmp244_ = g_signal_connect_object ((ObjectsBaseObject*) _tmp243_, "filter-updated", (GCallback) __layouts_section_row___lambda649__objects_base_object_filter_updated, self, 0);
	_tmp245_ = self->priv->_section;
	_tmp246_ = objects_section_get_project (_tmp245_);
	_tmp247_ = _tmp246_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp240_, (gpointer) ((guintptr) _tmp244_), (GObject*) _tmp247_);
	_tmp248_ = self->priv->signal_map;
	_tmp249_ = self->priv->_section;
	_tmp250_ = g_signal_connect_object ((ObjectsBaseObject*) _tmp249_, "sensitive-change", (GCallback) __layouts_section_row___lambda650__objects_base_object_sensitive_change, self, 0);
	_tmp251_ = self->priv->_section;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp248_, (gpointer) ((guintptr) _tmp250_), (GObject*) _tmp251_);
	_tmp252_ = self->priv->signal_map;
	_tmp253_ = self->priv->_section;
	_tmp254_ = g_signal_connect_object ((ObjectsBaseObject*) _tmp253_, "loading-change", (GCallback) __layouts_section_row___lambda651__objects_base_object_loading_change, self, 0);
	_tmp255_ = self->priv->_section;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp252_, (gpointer) ((guintptr) _tmp254_), (GObject*) _tmp255_);
	_tmp256_ = self->priv->signal_map;
	_tmp257_ = services_event_bus_get_default ();
	_tmp258_ = _tmp257_;
	_tmp259_ = g_signal_connect_object (_tmp258_, "expand-all", (GCallback) __layouts_section_row___lambda652__services_event_bus_expand_all, self, 0);
	_tmp260_ = services_event_bus_get_default ();
	_tmp261_ = _tmp260_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp256_, (gpointer) ((guintptr) _tmp259_), (GObject*) _tmp261_);
	_g_object_unref0 (_tmp261_);
	_g_object_unref0 (_tmp258_);
	_tmp262_ = self->priv->signal_map;
	_tmp263_ = self->priv->hide_subtask_button;
	_tmp264_ = g_signal_connect_object (_tmp263_, "clicked", (GCallback) __layouts_section_row___lambda653__gtk_button_clicked, self, 0);
	_tmp265_ = self->priv->hide_subtask_button;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp262_, (gpointer) ((guintptr) _tmp264_), (GObject*) _tmp265_);
	_tmp266_ = self->priv->signal_map;
	_tmp267_ = self->priv->load_more_button;
	_tmp268_ = g_signal_connect_object (_tmp267_, "clicked", (GCallback) __layouts_section_row___lambda654__gtk_button_clicked, self, 0);
	_tmp269_ = self->priv->load_more_button;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp266_, (gpointer) ((guintptr) _tmp268_), (GObject*) _tmp269_);
	_tmp270_ = self->priv->signal_map;
	_tmp271_ = _data28_->add_button;
	_tmp272_ = g_signal_connect_object (_tmp271_, "clicked", (GCallback) __layouts_section_row___lambda655__gtk_button_clicked, self, 0);
	_tmp273_ = _data28_->add_button;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp270_, (gpointer) ((guintptr) _tmp272_), (GObject*) _tmp273_);
	_tmp274_ = self->priv->signal_map;
	_tmp275_ = self->priv->_section;
	_tmp276_ = objects_section_get_project (_tmp275_);
	_tmp277_ = _tmp276_;
	_tmp278_ = g_signal_connect_object (_tmp277_, "sync-finished", (GCallback) __layouts_section_row___lambda656__objects_project_sync_finished, self, 0);
	_tmp279_ = self->priv->_section;
	_tmp280_ = objects_section_get_project (_tmp279_);
	_tmp281_ = _tmp280_;
	_tmp282_ = objects_project_get_source (_tmp281_);
	_tmp283_ = _tmp282_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp274_, (gpointer) ((guintptr) _tmp278_), (GObject*) _tmp283_);
	_g_object_unref0 (edit_gesture);
	_g_object_unref0 (content_box);
	_g_object_unref0 (add_button_box);
	_g_object_unref0 (bottom_box);
	_g_object_unref0 (checked_listbox_container);
	_g_object_unref0 (sectionrow_revealer);
	_g_object_unref0 (actions_box_revealer);
	_g_object_unref0 (actions_box);
	_g_object_unref0 (menu_button);
	block28_data_unref (_data28_);
	_data28_ = NULL;
	return obj;
}

static void
layouts_section_row_class_init (LayoutsSectionRowClass * klass,
                                gpointer klass_data)
{
	layouts_section_row_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &LayoutsSectionRow_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_layouts_section_row_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_layouts_section_row_set_property;
	G_OBJECT_CLASS (klass)->constructor = layouts_section_row_constructor;
	G_OBJECT_CLASS (klass)->finalize = layouts_section_row_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), LAYOUTS_SECTION_ROW_SECTION_PROPERTY, layouts_section_row_properties[LAYOUTS_SECTION_ROW_SECTION_PROPERTY] = g_param_spec_object ("section", "section", "section", OBJECTS_TYPE_SECTION, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
	g_object_class_install_property (G_OBJECT_CLASS (klass), LAYOUTS_SECTION_ROW_IS_INBOX_SECTION_PROPERTY, layouts_section_row_properties[LAYOUTS_SECTION_ROW_IS_INBOX_SECTION_PROPERTY] = g_param_spec_boolean ("is-inbox-section", "is-inbox-section", "is-inbox-section", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), LAYOUTS_SECTION_ROW_HAS_CHILDREN_PROPERTY, layouts_section_row_properties[LAYOUTS_SECTION_ROW_HAS_CHILDREN_PROPERTY] = g_param_spec_boolean ("has-children", "has-children", "has-children", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), LAYOUTS_SECTION_ROW_IS_CREATING_PROPERTY, layouts_section_row_properties[LAYOUTS_SECTION_ROW_IS_CREATING_PROPERTY] = g_param_spec_boolean ("is-creating", "is-creating", "is-creating", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), LAYOUTS_SECTION_ROW_IS_LOADING_PROPERTY, layouts_section_row_properties[LAYOUTS_SECTION_ROW_IS_LOADING_PROPERTY] = g_param_spec_boolean ("is-loading", "is-loading", "is-loading", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_WRITABLE));
	layouts_section_row_signals[LAYOUTS_SECTION_ROW_CHILDREN_SIZE_CHANGED_SIGNAL] = g_signal_new ("children-size-changed", LAYOUTS_TYPE_SECTION_ROW, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
}

static void
layouts_section_row_instance_init (LayoutsSectionRow * self,
                                   gpointer klass)
{
	GeeHashMap* _tmp0_;
	GeeHashMap* _tmp1_;
	GeeHashMap* _tmp2_;
	self->priv = layouts_section_row_get_instance_private (self);
	_tmp0_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, LAYOUTS_TYPE_ITEM_ROW, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
	self->items_map = _tmp0_;
	_tmp1_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, LAYOUTS_TYPE_ITEM_ROW, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
	self->checked_items_map = _tmp1_;
	self->priv->completed_page_index = 0;
	_tmp2_ = gee_hash_map_new (G_TYPE_ULONG, NULL, NULL, G_TYPE_OBJECT, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
	self->priv->signal_map = _tmp2_;
}

static void
layouts_section_row_finalize (GObject * obj)
{
	LayoutsSectionRow * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, LAYOUTS_TYPE_SECTION_ROW, LayoutsSectionRow);
	g_debug ("SectionRow.vala:98: Destroying - Layouts.SectionRow\n");
	_g_object_unref0 (self->priv->_section);
	_g_object_unref0 (self->priv->bottom_revealer);
	_g_object_unref0 (self->priv->name_label);
	_g_object_unref0 (self->priv->count_label);
	_g_object_unref0 (self->priv->listbox);
	_g_object_unref0 (self->priv->checked_listbox);
	_g_object_unref0 (self->priv->load_more_button);
	_g_object_unref0 (self->priv->load_more_button_revealer);
	_g_object_unref0 (self->priv->checked_revealer);
	_g_object_unref0 (self->priv->content_revealer);
	_g_object_unref0 (self->priv->drop_inbox_widget);
	_g_object_unref0 (self->priv->drop_inbox_revealer);
	_g_object_unref0 (self->priv->handle_grid);
	_g_object_unref0 (self->priv->add_button);
	_g_object_unref0 (self->priv->hide_subtask_button);
	_g_object_unref0 (self->items_map);
	_g_object_unref0 (self->checked_items_map);
	_g_object_unref0 (self->priv->completed_items_list);
	_g_object_unref0 (self->priv->signal_map);
	G_OBJECT_CLASS (layouts_section_row_parent_class)->finalize (obj);
}

static GType
layouts_section_row_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (LayoutsSectionRowClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) layouts_section_row_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LayoutsSectionRow), 0, (GInstanceInitFunc) layouts_section_row_instance_init, NULL };
	GType layouts_section_row_type_id;
	layouts_section_row_type_id = g_type_register_static (gtk_list_box_row_get_type (), "LayoutsSectionRow", &g_define_type_info, 0);
	LayoutsSectionRow_private_offset = g_type_add_instance_private (layouts_section_row_type_id, sizeof (LayoutsSectionRowPrivate));
	return layouts_section_row_type_id;
}

GType
layouts_section_row_get_type (void)
{
	static volatile gsize layouts_section_row_type_id__once = 0;
	if (g_once_init_enter (&layouts_section_row_type_id__once)) {
		GType layouts_section_row_type_id;
		layouts_section_row_type_id = layouts_section_row_get_type_once ();
		g_once_init_leave (&layouts_section_row_type_id__once, layouts_section_row_type_id);
	}
	return layouts_section_row_type_id__once;
}

static void
_vala_layouts_section_row_get_property (GObject * object,
                                        guint property_id,
                                        GValue * value,
                                        GParamSpec * pspec)
{
	LayoutsSectionRow * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, LAYOUTS_TYPE_SECTION_ROW, LayoutsSectionRow);
	switch (property_id) {
		case LAYOUTS_SECTION_ROW_SECTION_PROPERTY:
		g_value_set_object (value, layouts_section_row_get_section (self));
		break;
		case LAYOUTS_SECTION_ROW_IS_INBOX_SECTION_PROPERTY:
		g_value_set_boolean (value, layouts_section_row_get_is_inbox_section (self));
		break;
		case LAYOUTS_SECTION_ROW_HAS_CHILDREN_PROPERTY:
		g_value_set_boolean (value, layouts_section_row_get_has_children (self));
		break;
		case LAYOUTS_SECTION_ROW_IS_CREATING_PROPERTY:
		g_value_set_boolean (value, layouts_section_row_get_is_creating (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_layouts_section_row_set_property (GObject * object,
                                        guint property_id,
                                        const GValue * value,
                                        GParamSpec * pspec)
{
	LayoutsSectionRow * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, LAYOUTS_TYPE_SECTION_ROW, LayoutsSectionRow);
	switch (property_id) {
		case LAYOUTS_SECTION_ROW_SECTION_PROPERTY:
		layouts_section_row_set_section (self, g_value_get_object (value));
		break;
		case LAYOUTS_SECTION_ROW_IS_LOADING_PROPERTY:
		layouts_section_row_set_is_loading (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);
}

