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

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

#define VIEWS_TYPE_LIST (views_list_get_type ())
#define VIEWS_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIEWS_TYPE_LIST, ViewsList))
#define VIEWS_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIEWS_TYPE_LIST, ViewsListClass))
#define VIEWS_IS_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIEWS_TYPE_LIST))
#define VIEWS_IS_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIEWS_TYPE_LIST))
#define VIEWS_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIEWS_TYPE_LIST, ViewsListClass))

typedef struct _ViewsList ViewsList;
typedef struct _ViewsListClass ViewsListClass;
typedef struct _ViewsListPrivate ViewsListPrivate;

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

#define WIDGETS_TYPE_EDITABLE_TEXT_VIEW (widgets_editable_text_view_get_type ())
#define WIDGETS_EDITABLE_TEXT_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WIDGETS_TYPE_EDITABLE_TEXT_VIEW, WidgetsEditableTextView))
#define WIDGETS_EDITABLE_TEXT_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WIDGETS_TYPE_EDITABLE_TEXT_VIEW, WidgetsEditableTextViewClass))
#define WIDGETS_IS_EDITABLE_TEXT_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WIDGETS_TYPE_EDITABLE_TEXT_VIEW))
#define WIDGETS_IS_EDITABLE_TEXT_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WIDGETS_TYPE_EDITABLE_TEXT_VIEW))
#define WIDGETS_EDITABLE_TEXT_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WIDGETS_TYPE_EDITABLE_TEXT_VIEW, WidgetsEditableTextViewClass))

typedef struct _WidgetsEditableTextView WidgetsEditableTextView;
typedef struct _WidgetsEditableTextViewClass WidgetsEditableTextViewClass;

#define WIDGETS_TYPE_PINNED_ITEMS_BOX (widgets_pinned_items_box_get_type ())
#define WIDGETS_PINNED_ITEMS_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WIDGETS_TYPE_PINNED_ITEMS_BOX, WidgetsPinnedItemsBox))
#define WIDGETS_PINNED_ITEMS_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WIDGETS_TYPE_PINNED_ITEMS_BOX, WidgetsPinnedItemsBoxClass))
#define WIDGETS_IS_PINNED_ITEMS_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WIDGETS_TYPE_PINNED_ITEMS_BOX))
#define WIDGETS_IS_PINNED_ITEMS_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WIDGETS_TYPE_PINNED_ITEMS_BOX))
#define WIDGETS_PINNED_ITEMS_BOX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WIDGETS_TYPE_PINNED_ITEMS_BOX, WidgetsPinnedItemsBoxClass))

typedef struct _WidgetsPinnedItemsBox WidgetsPinnedItemsBox;
typedef struct _WidgetsPinnedItemsBoxClass WidgetsPinnedItemsBoxClass;

#define WIDGETS_TYPE_SCROLLED_WINDOW (widgets_scrolled_window_get_type ())
#define WIDGETS_SCROLLED_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WIDGETS_TYPE_SCROLLED_WINDOW, WidgetsScrolledWindow))
#define WIDGETS_SCROLLED_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WIDGETS_TYPE_SCROLLED_WINDOW, WidgetsScrolledWindowClass))
#define WIDGETS_IS_SCROLLED_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WIDGETS_TYPE_SCROLLED_WINDOW))
#define WIDGETS_IS_SCROLLED_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WIDGETS_TYPE_SCROLLED_WINDOW))
#define WIDGETS_SCROLLED_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WIDGETS_TYPE_SCROLLED_WINDOW, WidgetsScrolledWindowClass))

typedef struct _WidgetsScrolledWindow WidgetsScrolledWindow;
typedef struct _WidgetsScrolledWindowClass WidgetsScrolledWindowClass;
enum  {
	VIEWS_LIST_0_PROPERTY,
	VIEWS_LIST_PROJECT_PROPERTY,
	VIEWS_LIST_HAS_CHILDREN_PROPERTY,
	VIEWS_LIST_NUM_PROPERTIES
};
static GParamSpec* views_list_properties[VIEWS_LIST_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_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 _g_free0(var) (var = (g_free (var), NULL))
#define _g_date_time_unref0(var) ((var == NULL) ? NULL : (var = (g_date_time_unref (var), NULL)))

#define DIALOGS_TYPE_DATE_PICKER (dialogs_date_picker_get_type ())
#define DIALOGS_DATE_PICKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DIALOGS_TYPE_DATE_PICKER, DialogsDatePicker))
#define DIALOGS_DATE_PICKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DIALOGS_TYPE_DATE_PICKER, DialogsDatePickerClass))
#define DIALOGS_IS_DATE_PICKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DIALOGS_TYPE_DATE_PICKER))
#define DIALOGS_IS_DATE_PICKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DIALOGS_TYPE_DATE_PICKER))
#define DIALOGS_DATE_PICKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DIALOGS_TYPE_DATE_PICKER, DialogsDatePickerClass))

typedef struct _DialogsDatePicker DialogsDatePicker;
typedef struct _DialogsDatePickerClass DialogsDatePickerClass;
typedef struct _Block66Data Block66Data;

#define WIDGETS_TYPE_FILTER_FLOW_BOX (widgets_filter_flow_box_get_type ())
#define WIDGETS_FILTER_FLOW_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WIDGETS_TYPE_FILTER_FLOW_BOX, WidgetsFilterFlowBox))
#define WIDGETS_FILTER_FLOW_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WIDGETS_TYPE_FILTER_FLOW_BOX, WidgetsFilterFlowBoxClass))
#define WIDGETS_IS_FILTER_FLOW_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WIDGETS_TYPE_FILTER_FLOW_BOX))
#define WIDGETS_IS_FILTER_FLOW_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WIDGETS_TYPE_FILTER_FLOW_BOX))
#define WIDGETS_FILTER_FLOW_BOX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WIDGETS_TYPE_FILTER_FLOW_BOX, WidgetsFilterFlowBoxClass))

typedef struct _WidgetsFilterFlowBox WidgetsFilterFlowBox;
typedef struct _WidgetsFilterFlowBoxClass WidgetsFilterFlowBoxClass;
typedef struct _Block67Data Block67Data;
typedef struct _WidgetsFilterFlowBoxPrivate WidgetsFilterFlowBoxPrivate;

struct _ViewsList {
	AdwBin parent_instance;
	ViewsListPrivate * priv;
	GeeHashMap* sections_map;
};

struct _ViewsListClass {
	AdwBinClass parent_class;
};

struct _ViewsListPrivate {
	ObjectsProject* _project;
	WidgetsIconColorProject* icon_project;
	GtkLabel* title_label;
	WidgetsEditableTextView* description_widget;
	GtkImage* due_image;
	GtkLabel* due_label;
	GtkLabel* days_left_label;
	GtkRevealer* due_revealer;
	WidgetsPinnedItemsBox* pinned_items_flowbox;
	GtkListBox* listbox;
	LayoutsSectionRow* inbox_section;
	GtkStack* listbox_placeholder_stack;
	WidgetsScrolledWindow* scrolled_window;
	GeeHashMap* signal_map;
};

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

struct _PlanifyClass {
	AdwApplicationClass parent_class;
};

struct _Block66Data {
	int _ref_count_;
	ViewsList* self;
	DialogsDatePicker* dialog;
};

struct _Block67Data {
	int _ref_count_;
	ViewsList* self;
	GtkBox* title_box;
	WidgetsFilterFlowBox* filters;
};

struct _WidgetsFilterFlowBox {
	AdwBin parent_instance;
	WidgetsFilterFlowBoxPrivate * priv;
	GtkFlowBox* flowbox;
};

struct _WidgetsFilterFlowBoxClass {
	AdwBinClass parent_class;
};

static gint ViewsList_private_offset;
static gpointer views_list_parent_class = NULL;
VALA_EXTERN Planify* planify__instance;

VALA_EXTERN GType views_list_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ViewsList, g_object_unref)
VALA_EXTERN GType layouts_section_row_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LayoutsSectionRow, g_object_unref)
VALA_EXTERN GType widgets_editable_text_view_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WidgetsEditableTextView, g_object_unref)
VALA_EXTERN GType widgets_pinned_items_box_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WidgetsPinnedItemsBox, g_object_unref)
VALA_EXTERN GType widgets_scrolled_window_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WidgetsScrolledWindow, g_object_unref)
VALA_EXTERN ViewsList* views_list_new (ObjectsProject* project);
VALA_EXTERN ViewsList* views_list_construct (GType object_type,
                                 ObjectsProject* project);
static void views_list_check_placeholder (ViewsList* self);
VALA_EXTERN ObjectsProject* views_list_get_project (ViewsList* self);
static void views_list_add_sections (ViewsList* self);
static void views_list_add_inbox_section (ViewsList* self);
static void views_list_add_section (ViewsList* self,
                             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);
VALA_EXTERN LayoutsSectionRow* layouts_section_row_new (ObjectsSection* section);
VALA_EXTERN LayoutsSectionRow* layouts_section_row_construct (GType object_type,
                                                  ObjectsSection* section);
VALA_EXTERN void views_list_prepare_new_item (ViewsList* self,
                                  const gchar* content);
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 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 gboolean views_list_validate_children (ViewsList* self);
VALA_EXTERN gboolean layouts_section_row_get_has_children (LayoutsSectionRow* self);
static void _g_object_unref0_ (gpointer var);
static inline void _g_list_free__g_object_unref0_ (GList* self);
VALA_EXTERN gboolean views_list_get_has_children (ViewsList* self);
VALA_EXTERN void views_list_update_request (ViewsList* self);
VALA_EXTERN void widgets_editable_text_view_set_text (WidgetsEditableTextView* self,
                                          const gchar* value);
static void views_list_update_duedate (ViewsList* self);
static GtkRevealer* views_list_build_due_date_widget (ViewsList* self);
static void __lambda657_ (ViewsList* self,
                   gint n_press,
                   gdouble x,
                   gdouble y);
VALA_EXTERN GType dialogs_date_picker_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DialogsDatePicker, g_object_unref)
static Block66Data* block66_data_ref (Block66Data* _data66_);
static void block66_data_unref (void * _userdata_);
VALA_EXTERN DialogsDatePicker* dialogs_date_picker_new (const gchar* title);
VALA_EXTERN DialogsDatePicker* dialogs_date_picker_construct (GType object_type,
                                                  const gchar* title);
VALA_EXTERN void dialogs_date_picker_set_datetime (DialogsDatePicker* self,
                                       GDateTime* value);
VALA_EXTERN void dialogs_date_picker_set_clear (DialogsDatePicker* self,
                                    gboolean value);
static void __lambda665_ (Block66Data* _data66_);
VALA_EXTERN GDateTime* dialogs_date_picker_get_datetime (DialogsDatePicker* self);
static void ___lambda665__dialogs_date_picker_date_changed (DialogsDatePicker* _sender,
                                                     gpointer self);
static void ___lambda657__gtk_gesture_click_pressed (GtkGestureClick* _sender,
                                              gint n_press,
                                              gdouble x,
                                              gdouble y,
                                              gpointer self);
VALA_EXTERN void views_list_clean_up (ViewsList* self);
VALA_EXTERN void layouts_section_row_clean_up (LayoutsSectionRow* self);
static void views_list_set_project (ViewsList* self,
                             ObjectsProject* value);
static GObject * views_list_constructor (GType type,
                                  guint n_construct_properties,
                                  GObjectConstructParam * construct_properties);
VALA_EXTERN GType widgets_filter_flow_box_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WidgetsFilterFlowBox, g_object_unref)
static Block67Data* block67_data_ref (Block67Data* _data67_);
static void block67_data_unref (void * _userdata_);
static void _views_list___lambda666_ (ViewsList* self);
static void __views_list___lambda666__services_event_bus_theme_changed (ServicesEventBus* _sender,
                                                                 gpointer self);
VALA_EXTERN WidgetsEditableTextView* widgets_editable_text_view_new (const gchar* placeholder_text,
                                                         gint max_chars);
VALA_EXTERN WidgetsEditableTextView* widgets_editable_text_view_construct (GType object_type,
                                                               const gchar* placeholder_text,
                                                               gint max_chars);
VALA_EXTERN WidgetsFilterFlowBox* widgets_filter_flow_box_new (void);
VALA_EXTERN WidgetsFilterFlowBox* widgets_filter_flow_box_construct (GType object_type);
VALA_EXTERN void widgets_filter_flow_box_set_base_object (WidgetsFilterFlowBox* self,
                                              ObjectsBaseObject* value);
VALA_EXTERN WidgetsPinnedItemsBox* widgets_pinned_items_box_new (ObjectsProject* project);
VALA_EXTERN WidgetsPinnedItemsBox* widgets_pinned_items_box_construct (GType object_type,
                                                           ObjectsProject* project);
VALA_EXTERN WidgetsScrolledWindow* widgets_scrolled_window_new (GtkWidget* widget,
                                                    GtkOrientation orientation);
VALA_EXTERN WidgetsScrolledWindow* widgets_scrolled_window_construct (GType object_type,
                                                          GtkWidget* widget,
                                                          GtkOrientation orientation);
static gboolean _views_list___lambda667_ (ViewsList* self);
static gboolean __views_list___lambda667__gsource_func (gpointer self);
static void _views_list___lambda668_ (ViewsList* self,
                               ObjectsSection* section);
static void __views_list___lambda668__objects_project_section_added (ObjectsProject* _sender,
                                                              ObjectsSection* section,
                                                              gpointer self);
static void _views_list___lambda669_ (ViewsList* self);
static void __views_list___lambda669__objects_project_section_sort_order_changed (ObjectsProject* _sender,
                                                                           gpointer self);
static void _views_list___lambda670_ (ViewsList* self,
                               ObjectsSection* section,
                               const gchar* old_project_id);
VALA_EXTERN void layouts_section_row_hide_destroy (LayoutsSectionRow* self);
static void __views_list___lambda670__services_store_section_moved (ServicesStore* _sender,
                                                             ObjectsSection* section,
                                                             const gchar* old_project_id,
                                                             gpointer self);
static void _views_list___lambda671_ (ViewsList* self,
                               ObjectsSection* section);
static void __views_list___lambda671__services_store_section_deleted (ServicesStore* _sender,
                                                               ObjectsSection* section,
                                                               gpointer self);
static void _views_list___lambda672_ (ViewsList* self);
static void __views_list___lambda672__objects_base_object_updated (ObjectsBaseObject* _sender,
                                                            const gchar* update_id,
                                                            gpointer self);
static void _views_list___lambda673_ (ViewsList* self);
static void __views_list___lambda673__objects_base_object_count_updated (ObjectsBaseObject* _sender,
                                                                  gpointer self);
static gint _views_list___lambda674_ (ViewsList* self,
                               GtkListBoxRow* row1,
                               GtkListBoxRow* row2);
VALA_EXTERN gboolean layouts_section_row_get_is_inbox_section (LayoutsSectionRow* self);
VALA_EXTERN ObjectsSection* layouts_section_row_get_section (LayoutsSectionRow* self);
static gint __views_list___lambda674__gtk_list_box_sort_func (GtkListBoxRow* row1,
                                                       GtkListBoxRow* row2,
                                                       gpointer self);
static gboolean _views_list___lambda675_ (ViewsList* self,
                                   GtkListBoxRow* child);
static gboolean __views_list___lambda675__gtk_list_box_filter_func (GtkListBoxRow* row,
                                                             gpointer self);
static void _views_list___lambda676_ (ViewsList* self);
VALA_EXTERN const gchar* widgets_editable_text_view_get_text (WidgetsEditableTextView* self);
static void __views_list___lambda676__widgets_editable_text_view_changed (WidgetsEditableTextView* _sender,
                                                                   gpointer self);
static void _views_list___lambda677_ (ViewsList* self,
                               ObjectsSection* section);
static void __views_list___lambda677__services_store_section_archived (ServicesStore* _sender,
                                                                ObjectsSection* section,
                                                                gpointer self);
static void _views_list___lambda678_ (ViewsList* self,
                               ObjectsSection* section);
static void __views_list___lambda678__services_store_section_unarchived (ServicesStore* _sender,
                                                                  ObjectsSection* section,
                                                                  gpointer self);
static void _views_list___lambda679_ (ViewsList* self);
static void __views_list___lambda679__objects_project_show_completed_changed (ObjectsProject* _sender,
                                                                       gpointer self);
VALA_EXTERN GtkAdjustment* widgets_scrolled_window_get_vadjustment (WidgetsScrolledWindow* self);
static void _views_list___lambda680_ (ViewsList* self);
static void __views_list___lambda680__gtk_adjustment_value_changed (GtkAdjustment* _sender,
                                                             gpointer self);
static void _views_list___lambda681_ (ViewsList* self);
static void __views_list___lambda681__objects_source_sync_finished (ObjectsSource* _sender,
                                                             gpointer self);
static void _views_list___lambda682_ (Block67Data* _data67_,
                               gboolean active,
                               const gchar* focused_item_id);
static void __views_list___lambda682__services_event_bus_dim_content (ServicesEventBus* _sender,
                                                               gboolean active,
                                                               const gchar* focused_item_id,
                                                               gpointer self);
static void _views_list___lambda683_ (ViewsList* self);
static void __views_list___lambda683__gtk_widget_destroy (GtkWidget* _sender,
                                                   gpointer self);
static void views_list_finalize (GObject * obj);
static GType views_list_get_type_once (void);
static void _vala_views_list_get_property (GObject * object,
                                    guint property_id,
                                    GValue * value,
                                    GParamSpec * pspec);
static void _vala_views_list_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
views_list_get_instance_private (ViewsList* self)
{
	return G_STRUCT_MEMBER_P (self, ViewsList_private_offset);
}

ViewsList*
views_list_construct (GType object_type,
                      ObjectsProject* project)
{
	ViewsList * self = NULL;
	g_return_val_if_fail (project != NULL, NULL);
	self = (ViewsList*) g_object_new (object_type, "project", project, NULL);
	return self;
}

ViewsList*
views_list_new (ObjectsProject* project)
{
	return views_list_construct (VIEWS_TYPE_LIST, project);
}

static void
views_list_check_placeholder (ViewsList* self)
{
	gint count = 0;
	ObjectsProject* _tmp0_;
	gint _tmp1_;
	gint _tmp2_;
	GeeHashMap* _tmp3_;
	gint _tmp4_;
	gint _tmp5_;
	ObjectsProject* _tmp6_;
	gboolean _tmp7_;
	gboolean _tmp8_;
	const gchar* _tmp14_ = NULL;
	GtkStack* _tmp15_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->_project;
	_tmp1_ = objects_base_object_get_item_count ((ObjectsBaseObject*) _tmp0_);
	_tmp2_ = _tmp1_;
	_tmp3_ = self->sections_map;
	_tmp4_ = gee_abstract_map_get_size ((GeeAbstractMap*) _tmp3_);
	_tmp5_ = _tmp4_;
	count = _tmp2_ + _tmp5_;
	_tmp6_ = self->priv->_project;
	_tmp7_ = objects_project_get_show_completed (_tmp6_);
	_tmp8_ = _tmp7_;
	if (_tmp8_) {
		ObjectsProject* _tmp9_;
		GeeArrayList* _tmp10_;
		GeeArrayList* _tmp11_;
		gint _tmp12_;
		gint _tmp13_;
		_tmp9_ = self->priv->_project;
		_tmp10_ = objects_project_get_items_checked (_tmp9_);
		_tmp11_ = _tmp10_;
		_tmp12_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp11_);
		_tmp13_ = _tmp12_;
		count = count + _tmp13_;
	}
	if (count > 0) {
		_tmp14_ = "listbox";
	} else {
		_tmp14_ = "placeholder";
	}
	_tmp15_ = self->priv->listbox_placeholder_stack;
	gtk_stack_set_visible_child_name (_tmp15_, _tmp14_);
}

static void
views_list_add_sections (ViewsList* self)
{
	g_return_if_fail (self != NULL);
	views_list_add_inbox_section (self);
	{
		GeeArrayList* _section_list = NULL;
		ObjectsProject* _tmp0_;
		GeeArrayList* _tmp1_;
		GeeArrayList* _tmp2_;
		gint _section_size = 0;
		GeeArrayList* _tmp3_;
		gint _tmp4_;
		gint _tmp5_;
		gint _section_index = 0;
		_tmp0_ = self->priv->_project;
		_tmp1_ = objects_project_get_sections (_tmp0_);
		_tmp2_ = _tmp1_;
		_section_list = _tmp2_;
		_tmp3_ = _section_list;
		_tmp4_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp3_);
		_tmp5_ = _tmp4_;
		_section_size = _tmp5_;
		_section_index = -1;
		while (TRUE) {
			gint _tmp6_;
			gint _tmp7_;
			ObjectsSection* section = NULL;
			GeeArrayList* _tmp8_;
			gpointer _tmp9_;
			ObjectsSection* _tmp10_;
			_section_index = _section_index + 1;
			_tmp6_ = _section_index;
			_tmp7_ = _section_size;
			if (!(_tmp6_ < _tmp7_)) {
				break;
			}
			_tmp8_ = _section_list;
			_tmp9_ = gee_abstract_list_get ((GeeAbstractList*) _tmp8_, _section_index);
			section = (ObjectsSection*) _tmp9_;
			_tmp10_ = section;
			views_list_add_section (self, _tmp10_);
			_g_object_unref0 (section);
		}
	}
}

static void
views_list_add_inbox_section (ViewsList* self)
{
	ObjectsProject* _tmp0_;
	LayoutsSectionRow* _tmp1_;
	GtkListBox* _tmp2_;
	LayoutsSectionRow* _tmp3_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->_project;
	_tmp1_ = layouts_section_row_new_for_project (_tmp0_);
	g_object_ref_sink (_tmp1_);
	_g_object_unref0 (self->priv->inbox_section);
	self->priv->inbox_section = _tmp1_;
	_tmp2_ = self->priv->listbox;
	_tmp3_ = self->priv->inbox_section;
	gtk_list_box_append (_tmp2_, (GtkWidget*) _tmp3_);
}

static void
views_list_add_section (ViewsList* self,
                        ObjectsSection* section)
{
	gboolean _tmp0_ = FALSE;
	GeeHashMap* _tmp1_;
	const gchar* _tmp2_;
	const gchar* _tmp3_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (section != NULL);
	_tmp1_ = self->sections_map;
	_tmp2_ = objects_base_object_get_id ((ObjectsBaseObject*) section);
	_tmp3_ = _tmp2_;
	if (!gee_abstract_map_has_key ((GeeAbstractMap*) _tmp1_, _tmp3_)) {
		_tmp0_ = !objects_section_was_archived (section);
	} else {
		_tmp0_ = FALSE;
	}
	if (_tmp0_) {
		GeeHashMap* _tmp4_;
		const gchar* _tmp5_;
		const gchar* _tmp6_;
		LayoutsSectionRow* _tmp7_;
		LayoutsSectionRow* _tmp8_;
		GtkListBox* _tmp9_;
		GeeHashMap* _tmp10_;
		const gchar* _tmp11_;
		const gchar* _tmp12_;
		gpointer _tmp13_;
		LayoutsSectionRow* _tmp14_;
		_tmp4_ = self->sections_map;
		_tmp5_ = objects_base_object_get_id ((ObjectsBaseObject*) section);
		_tmp6_ = _tmp5_;
		_tmp7_ = layouts_section_row_new (section);
		g_object_ref_sink (_tmp7_);
		_tmp8_ = _tmp7_;
		gee_abstract_map_set ((GeeAbstractMap*) _tmp4_, _tmp6_, _tmp8_);
		_g_object_unref0 (_tmp8_);
		_tmp9_ = self->priv->listbox;
		_tmp10_ = self->sections_map;
		_tmp11_ = objects_base_object_get_id ((ObjectsBaseObject*) section);
		_tmp12_ = _tmp11_;
		_tmp13_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp10_, _tmp12_);
		_tmp14_ = (LayoutsSectionRow*) _tmp13_;
		gtk_list_box_append (_tmp9_, (GtkWidget*) _tmp14_);
		_g_object_unref0 (_tmp14_);
	}
	views_list_check_placeholder (self);
}

void
views_list_prepare_new_item (ViewsList* self,
                             const gchar* content)
{
	DialogsQuickAdd* dialog = NULL;
	DialogsQuickAdd* _tmp0_;
	ObjectsProject* _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->_project;
	dialogs_quick_add_for_base_object (dialog, (ObjectsBaseObject*) _tmp1_);
	dialogs_quick_add_update_content (dialog, content);
	_tmp2_ = planify__instance;
	_tmp3_ = _tmp2_->main_window;
	adw_dialog_present ((AdwDialog*) dialog, (GtkWidget*) _tmp3_);
	_g_object_unref0 (dialog);
}

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_);
}

gboolean
views_list_validate_children (ViewsList* self)
{
	Util* _tmp0_;
	Util* _tmp1_;
	GtkListBox* _tmp2_;
	GList* _tmp3_;
	GList* _tmp4_;
	gboolean _tmp8_;
	gboolean _tmp9_;
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	_tmp0_ = util_get_default ();
	_tmp1_ = _tmp0_;
	_tmp2_ = self->priv->listbox;
	_tmp3_ = util_get_children (_tmp1_, _tmp2_);
	_tmp4_ = _tmp3_;
	_g_object_unref0 (_tmp1_);
	{
		GList* child_collection = NULL;
		GList* child_it = NULL;
		child_collection = _tmp4_;
		for (child_it = child_collection; child_it != NULL; child_it = child_it->next) {
			GtkWidget* child = NULL;
			child = (GtkWidget*) ((GtkListBoxRow*) child_it->data);
			{
				GtkWidget* _tmp5_;
				gboolean _tmp6_;
				gboolean _tmp7_;
				_tmp5_ = child;
				_tmp6_ = layouts_section_row_get_has_children (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, LAYOUTS_TYPE_SECTION_ROW, LayoutsSectionRow));
				_tmp7_ = _tmp6_;
				if (_tmp7_) {
					result = TRUE;
					(child_collection == NULL) ? NULL : (child_collection = (_g_list_free__g_object_unref0_ (child_collection), NULL));
					return result;
				}
			}
		}
		(child_collection == NULL) ? NULL : (child_collection = (_g_list_free__g_object_unref0_ (child_collection), NULL));
	}
	_tmp8_ = views_list_get_has_children (self);
	_tmp9_ = _tmp8_;
	result = _tmp9_;
	return result;
}

void
views_list_update_request (ViewsList* self)
{
	WidgetsIconColorProject* _tmp0_;
	const gchar* _tmp1_ = NULL;
	ObjectsProject* _tmp2_;
	gboolean _tmp3_;
	gboolean _tmp4_;
	GtkLabel* _tmp8_;
	WidgetsEditableTextView* _tmp9_;
	ObjectsProject* _tmp10_;
	const gchar* _tmp11_;
	const gchar* _tmp12_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->icon_project;
	widgets_icon_color_project_update_request (_tmp0_);
	_tmp2_ = self->priv->_project;
	_tmp3_ = objects_project_get_is_inbox_project (_tmp2_);
	_tmp4_ = _tmp3_;
	if (_tmp4_) {
		_tmp1_ = _ ("Inbox");
	} else {
		ObjectsProject* _tmp5_;
		const gchar* _tmp6_;
		const gchar* _tmp7_;
		_tmp5_ = self->priv->_project;
		_tmp6_ = objects_base_object_get_name ((ObjectsBaseObject*) _tmp5_);
		_tmp7_ = _tmp6_;
		_tmp1_ = _tmp7_;
	}
	_tmp8_ = self->priv->title_label;
	gtk_label_set_label (_tmp8_, _tmp1_);
	_tmp9_ = self->priv->description_widget;
	_tmp10_ = self->priv->_project;
	_tmp11_ = objects_project_get_description (_tmp10_);
	_tmp12_ = _tmp11_;
	widgets_editable_text_view_set_text (_tmp9_, _tmp12_);
	views_list_update_duedate (self);
}

static void
views_list_update_duedate (ViewsList* self)
{
	GtkImage* _tmp0_;
	GtkImage* _tmp1_;
	gchar** _tmp2_;
	gchar** _tmp3_;
	gint _tmp3__length1;
	GtkLabel* _tmp4_;
	gchar** _tmp5_;
	gchar** _tmp6_;
	gint _tmp6__length1;
	GtkRevealer* _tmp7_;
	ObjectsProject* _tmp8_;
	const gchar* _tmp9_;
	const gchar* _tmp10_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->due_image;
	g_object_set (_tmp0_, "icon-name", "delay-long-small-symbolic", NULL);
	_tmp1_ = self->priv->due_image;
	_tmp2_ = g_new0 (gchar*, 0 + 1);
	_tmp3_ = _tmp2_;
	_tmp3__length1 = 0;
	gtk_widget_set_css_classes ((GtkWidget*) _tmp1_, _tmp3_);
	_tmp3_ = (_vala_array_free (_tmp3_, _tmp3__length1, (GDestroyNotify) g_free), NULL);
	_tmp4_ = self->priv->due_label;
	_tmp5_ = g_new0 (gchar*, 0 + 1);
	_tmp6_ = _tmp5_;
	_tmp6__length1 = 0;
	gtk_widget_set_css_classes ((GtkWidget*) _tmp4_, _tmp6_);
	_tmp6_ = (_vala_array_free (_tmp6_, _tmp6__length1, (GDestroyNotify) g_free), NULL);
	_tmp7_ = self->priv->due_revealer;
	gtk_revealer_set_reveal_child (_tmp7_, FALSE);
	_tmp8_ = self->priv->_project;
	_tmp9_ = objects_project_get_due_date (_tmp8_);
	_tmp10_ = _tmp9_;
	if (g_strcmp0 (_tmp10_, "") != 0) {
		GDateTime* datetime = NULL;
		ObjectsProject* _tmp11_;
		const gchar* _tmp12_;
		const gchar* _tmp13_;
		GDateTime* _tmp14_;
		GtkLabel* _tmp15_;
		GDateTime* _tmp16_;
		gchar* _tmp17_;
		gchar* _tmp18_;
		GtkLabel* _tmp19_;
		GDateTime* _tmp20_;
		gchar* _tmp21_;
		gchar* _tmp22_;
		gboolean _tmp23_ = FALSE;
		GDateTime* _tmp24_;
		GtkRevealer* _tmp34_;
		_tmp11_ = self->priv->_project;
		_tmp12_ = objects_project_get_due_date (_tmp11_);
		_tmp13_ = _tmp12_;
		_tmp14_ = utils_datetime_get_date_from_string (_tmp13_);
		datetime = _tmp14_;
		_tmp15_ = self->priv->due_label;
		_tmp16_ = datetime;
		_tmp17_ = utils_datetime_get_short_date_format_from_date (_tmp16_);
		_tmp18_ = _tmp17_;
		gtk_label_set_label (_tmp15_, _tmp18_);
		_g_free0 (_tmp18_);
		_tmp19_ = self->priv->days_left_label;
		_tmp20_ = datetime;
		_tmp21_ = utils_datetime_get_relative_time_from_date (_tmp20_);
		_tmp22_ = _tmp21_;
		gtk_label_set_label (_tmp19_, _tmp22_);
		_g_free0 (_tmp22_);
		_tmp24_ = datetime;
		if (utils_datetime_is_today (_tmp24_)) {
			_tmp23_ = TRUE;
		} else {
			GDateTime* _tmp25_;
			_tmp25_ = datetime;
			_tmp23_ = utils_datetime_is_overdue (_tmp25_);
		}
		if (_tmp23_) {
			GtkImage* _tmp26_;
			GtkLabel* _tmp27_;
			_tmp26_ = self->priv->due_image;
			gtk_widget_add_css_class ((GtkWidget*) _tmp26_, "error");
			_tmp27_ = self->priv->due_label;
			gtk_widget_add_css_class ((GtkWidget*) _tmp27_, "error");
		} else {
			GtkImage* _tmp28_;
			gchar** _tmp29_;
			gchar** _tmp30_;
			gint _tmp30__length1;
			GtkLabel* _tmp31_;
			gchar** _tmp32_;
			gchar** _tmp33_;
			gint _tmp33__length1;
			_tmp28_ = self->priv->due_image;
			_tmp29_ = g_new0 (gchar*, 0 + 1);
			_tmp30_ = _tmp29_;
			_tmp30__length1 = 0;
			gtk_widget_set_css_classes ((GtkWidget*) _tmp28_, _tmp30_);
			_tmp30_ = (_vala_array_free (_tmp30_, _tmp30__length1, (GDestroyNotify) g_free), NULL);
			_tmp31_ = self->priv->due_label;
			_tmp32_ = g_new0 (gchar*, 0 + 1);
			_tmp33_ = _tmp32_;
			_tmp33__length1 = 0;
			gtk_widget_set_css_classes ((GtkWidget*) _tmp31_, _tmp33_);
			_tmp33_ = (_vala_array_free (_tmp33_, _tmp33__length1, (GDestroyNotify) g_free), NULL);
		}
		_tmp34_ = self->priv->due_revealer;
		gtk_revealer_set_reveal_child (_tmp34_, TRUE);
		_g_date_time_unref0 (datetime);
	}
}

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

static Block66Data*
block66_data_ref (Block66Data* _data66_)
{
	g_atomic_int_inc (&_data66_->_ref_count_);
	return _data66_;
}

static void
block66_data_unref (void * _userdata_)
{
	Block66Data* _data66_;
	_data66_ = (Block66Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data66_->_ref_count_)) {
		ViewsList* self;
		self = _data66_->self;
		_g_object_unref0 (_data66_->dialog);
		_g_object_unref0 (self);
		g_slice_free (Block66Data, _data66_);
	}
}

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

static void
__lambda665_ (Block66Data* _data66_)
{
	ViewsList* self;
	DialogsDatePicker* _tmp0_;
	GDateTime* _tmp1_;
	GDateTime* _tmp2_;
	ObjectsProject* _tmp10_;
	self = _data66_->self;
	_tmp0_ = _data66_->dialog;
	_tmp1_ = dialogs_date_picker_get_datetime (_tmp0_);
	_tmp2_ = _tmp1_;
	if (_tmp2_ == NULL) {
		ObjectsProject* _tmp3_;
		_tmp3_ = self->priv->_project;
		objects_project_set_due_date (_tmp3_, "");
	} else {
		ObjectsProject* _tmp4_;
		DialogsDatePicker* _tmp5_;
		GDateTime* _tmp6_;
		GDateTime* _tmp7_;
		gchar* _tmp8_;
		gchar* _tmp9_;
		_tmp4_ = self->priv->_project;
		_tmp5_ = _data66_->dialog;
		_tmp6_ = dialogs_date_picker_get_datetime (_tmp5_);
		_tmp7_ = _tmp6_;
		_tmp8_ = g_date_time_to_string (_tmp7_);
		_tmp9_ = _tmp8_;
		objects_project_set_due_date (_tmp4_, _tmp9_);
		_g_free0 (_tmp9_);
	}
	_tmp10_ = self->priv->_project;
	objects_project_update_local (_tmp10_);
}

static void
___lambda665__dialogs_date_picker_date_changed (DialogsDatePicker* _sender,
                                                gpointer self)
{
	__lambda665_ (self);
}

static void
__lambda657_ (ViewsList* self,
              gint n_press,
              gdouble x,
              gdouble y)
{
	Block66Data* _data66_;
	DialogsDatePicker* _tmp0_;
	ObjectsProject* _tmp1_;
	const gchar* _tmp2_;
	const gchar* _tmp3_;
	GeeHashMap* _tmp11_;
	DialogsDatePicker* _tmp12_;
	gulong _tmp13_;
	DialogsDatePicker* _tmp14_;
	DialogsDatePicker* _tmp15_;
	Planify* _tmp16_;
	MainWindow* _tmp17_;
	_data66_ = g_slice_new0 (Block66Data);
	_data66_->_ref_count_ = 1;
	_data66_->self = g_object_ref (self);
	_tmp0_ = dialogs_date_picker_new (_ ("When?"));
	g_object_ref_sink (_tmp0_);
	_data66_->dialog = _tmp0_;
	_tmp1_ = self->priv->_project;
	_tmp2_ = objects_project_get_due_date (_tmp1_);
	_tmp3_ = _tmp2_;
	if (g_strcmp0 (_tmp3_, "") != 0) {
		DialogsDatePicker* _tmp4_;
		ObjectsProject* _tmp5_;
		const gchar* _tmp6_;
		const gchar* _tmp7_;
		GDateTime* _tmp8_;
		GDateTime* _tmp9_;
		DialogsDatePicker* _tmp10_;
		_tmp4_ = _data66_->dialog;
		_tmp5_ = self->priv->_project;
		_tmp6_ = objects_project_get_due_date (_tmp5_);
		_tmp7_ = _tmp6_;
		_tmp8_ = utils_datetime_get_date_from_string (_tmp7_);
		_tmp9_ = _tmp8_;
		dialogs_date_picker_set_datetime (_tmp4_, _tmp9_);
		_g_date_time_unref0 (_tmp9_);
		_tmp10_ = _data66_->dialog;
		dialogs_date_picker_set_clear (_tmp10_, TRUE);
	}
	_tmp11_ = self->priv->signal_map;
	_tmp12_ = _data66_->dialog;
	_tmp13_ = g_signal_connect_data (_tmp12_, "date-changed", (GCallback) ___lambda665__dialogs_date_picker_date_changed, block66_data_ref (_data66_), (GClosureNotify) block66_data_unref, 0);
	_tmp14_ = _data66_->dialog;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp11_, (gpointer) ((guintptr) _tmp13_), (GObject*) _tmp14_);
	_tmp15_ = _data66_->dialog;
	_tmp16_ = planify__instance;
	_tmp17_ = _tmp16_->main_window;
	adw_dialog_present ((AdwDialog*) _tmp15_, (GtkWidget*) _tmp17_);
	block66_data_unref (_data66_);
	_data66_ = NULL;
}

static void
___lambda657__gtk_gesture_click_pressed (GtkGestureClick* _sender,
                                         gint n_press,
                                         gdouble x,
                                         gdouble y,
                                         gpointer self)
{
	__lambda657_ ((ViewsList*) self, n_press, x, y);
}

static GtkRevealer*
views_list_build_due_date_widget (ViewsList* self)
{
	GtkImage* _tmp0_;
	GtkLabel* _tmp1_ = NULL;
	GtkLabel* _tmp2_ = NULL;
	GtkLabel* _tmp3_;
	GtkBox* due_box = NULL;
	GtkBox* _tmp4_ = NULL;
	GtkImage* _tmp5_;
	GtkLabel* _tmp6_;
	GtkLabel* _tmp7_;
	GtkBox* due_content = NULL;
	GtkBox* _tmp8_ = NULL;
	GtkSeparator* _tmp9_ = NULL;
	GtkSeparator* _tmp10_;
	GtkSeparator* _tmp11_ = NULL;
	GtkSeparator* _tmp12_;
	GtkRevealer* due_revealer = NULL;
	GtkWidget* _tmp13_;
	GtkRevealer* _tmp14_ = NULL;
	GtkGestureClick* gesture = NULL;
	GtkGestureClick* _tmp15_;
	GtkEventController* _tmp16_;
	GeeHashMap* _tmp17_;
	gulong _tmp18_;
	GtkRevealer* result;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = (GtkImage*) gtk_image_new_from_icon_name ("delay-long-small-symbolic");
	g_object_ref_sink (_tmp0_);
	_g_object_unref0 (self->priv->due_image);
	self->priv->due_image = _tmp0_;
	_tmp1_ = (GtkLabel*) gtk_label_new (NULL);
	gtk_label_set_xalign (_tmp1_, (gfloat) 0);
	g_object_ref_sink (_tmp1_);
	_g_object_unref0 (self->priv->due_label);
	self->priv->due_label = _tmp1_;
	_tmp2_ = (GtkLabel*) gtk_label_new (NULL);
	gtk_label_set_xalign (_tmp2_, (gfloat) 0);
	gtk_label_set_yalign (_tmp2_, 0.5f);
	g_object_ref_sink (_tmp2_);
	_g_object_unref0 (self->priv->days_left_label);
	self->priv->days_left_label = _tmp2_;
	_tmp3_ = self->priv->days_left_label;
	gtk_widget_add_css_class ((GtkWidget*) _tmp3_, "dimmed");
	_tmp4_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
	gtk_widget_set_margin_start ((GtkWidget*) _tmp4_, 3);
	gtk_widget_set_margin_top ((GtkWidget*) _tmp4_, 3);
	gtk_widget_set_margin_bottom ((GtkWidget*) _tmp4_, 3);
	g_object_ref_sink (_tmp4_);
	due_box = _tmp4_;
	_tmp5_ = self->priv->due_image;
	gtk_box_append (due_box, (GtkWidget*) _tmp5_);
	_tmp6_ = self->priv->due_label;
	gtk_box_append (due_box, (GtkWidget*) _tmp6_);
	_tmp7_ = self->priv->days_left_label;
	gtk_box_append (due_box, (GtkWidget*) _tmp7_);
	_tmp8_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
	gtk_widget_set_margin_top ((GtkWidget*) _tmp8_, 12);
	gtk_widget_set_margin_start ((GtkWidget*) _tmp8_, 30);
	g_object_ref_sink (_tmp8_);
	due_content = _tmp8_;
	_tmp9_ = (GtkSeparator*) gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
	gtk_widget_set_margin_start ((GtkWidget*) _tmp9_, 3);
	g_object_ref_sink (_tmp9_);
	_tmp10_ = _tmp9_;
	gtk_box_append (due_content, (GtkWidget*) _tmp10_);
	_g_object_unref0 (_tmp10_);
	gtk_box_append (due_content, (GtkWidget*) due_box);
	_tmp11_ = (GtkSeparator*) gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
	gtk_widget_set_margin_start ((GtkWidget*) _tmp11_, 3);
	g_object_ref_sink (_tmp11_);
	_tmp12_ = _tmp11_;
	gtk_box_append (due_content, (GtkWidget*) _tmp12_);
	_g_object_unref0 (_tmp12_);
	_tmp13_ = _g_object_ref0 ((GtkWidget*) due_content);
	_tmp14_ = (GtkRevealer*) gtk_revealer_new ();
	gtk_revealer_set_transition_type (_tmp14_, GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN);
	gtk_revealer_set_child (_tmp14_, _tmp13_);
	_g_object_unref0 (_tmp13_);
	g_object_ref_sink (_tmp14_);
	due_revealer = _tmp14_;
	_tmp15_ = (GtkGestureClick*) gtk_gesture_click_new ();
	gesture = _tmp15_;
	_tmp16_ = _g_object_ref0 ((GtkEventController*) gesture);
	gtk_widget_add_controller ((GtkWidget*) due_box, _tmp16_);
	_tmp17_ = self->priv->signal_map;
	_tmp18_ = g_signal_connect_object (gesture, "pressed", (GCallback) ___lambda657__gtk_gesture_click_pressed, self, 0);
	gee_abstract_map_set ((GeeAbstractMap*) _tmp17_, (gpointer) ((guintptr) _tmp18_), (GObject*) gesture);
	result = due_revealer;
	_g_object_unref0 (gesture);
	_g_object_unref0 (due_content);
	_g_object_unref0 (due_box);
	return result;
}

void
views_list_clean_up (ViewsList* self)
{
	GtkListBox* _tmp0_;
	GtkListBox* _tmp1_;
	Util* _tmp2_;
	Util* _tmp3_;
	GtkListBox* _tmp4_;
	GList* _tmp5_;
	GList* _tmp6_;
	LayoutsSectionRow* _tmp9_;
	GeeHashMap* _tmp26_;
	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_section_row_clean_up (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, LAYOUTS_TYPE_SECTION_ROW, LayoutsSectionRow));
				_g_object_unref0 (row);
			}
		}
		(row_collection == NULL) ? NULL : (row_collection = (_g_list_free__g_object_unref0_ (row_collection), NULL));
	}
	_tmp9_ = self->priv->inbox_section;
	if (_tmp9_ != NULL) {
		LayoutsSectionRow* _tmp10_;
		_tmp10_ = self->priv->inbox_section;
		layouts_section_row_clean_up (_tmp10_);
	}
	{
		GeeIterator* _entry_it = NULL;
		GeeHashMap* _tmp11_;
		GeeSet* _tmp12_;
		GeeSet* _tmp13_;
		GeeSet* _tmp14_;
		GeeIterator* _tmp15_;
		GeeIterator* _tmp16_;
		_tmp11_ = self->priv->signal_map;
		_tmp12_ = gee_abstract_map_get_entries ((GeeAbstractMap*) _tmp11_);
		_tmp13_ = _tmp12_;
		_tmp14_ = _tmp13_;
		_tmp15_ = gee_iterable_iterator ((GeeIterable*) _tmp14_);
		_tmp16_ = _tmp15_;
		_g_object_unref0 (_tmp14_);
		_entry_it = _tmp16_;
		while (TRUE) {
			GeeIterator* _tmp17_;
			GeeMapEntry* entry = NULL;
			GeeIterator* _tmp18_;
			gpointer _tmp19_;
			GeeMapEntry* _tmp20_;
			gconstpointer _tmp21_;
			gconstpointer _tmp22_;
			GeeMapEntry* _tmp23_;
			gconstpointer _tmp24_;
			gconstpointer _tmp25_;
			_tmp17_ = _entry_it;
			if (!gee_iterator_next (_tmp17_)) {
				break;
			}
			_tmp18_ = _entry_it;
			_tmp19_ = gee_iterator_get (_tmp18_);
			entry = (GeeMapEntry*) _tmp19_;
			_tmp20_ = entry;
			_tmp21_ = gee_map_entry_get_value (_tmp20_);
			_tmp22_ = _tmp21_;
			_tmp23_ = entry;
			_tmp24_ = gee_map_entry_get_key (_tmp23_);
			_tmp25_ = _tmp24_;
			g_signal_handler_disconnect ((GObject*) _tmp22_, (gulong) ((guintptr) _tmp25_));
			_g_object_unref0 (entry);
		}
		_g_object_unref0 (_entry_it);
	}
	_tmp26_ = self->priv->signal_map;
	gee_abstract_map_clear ((GeeAbstractMap*) _tmp26_);
}

ObjectsProject*
views_list_get_project (ViewsList* self)
{
	ObjectsProject* result;
	ObjectsProject* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_project;
	result = _tmp0_;
	return result;
}

static void
views_list_set_project (ViewsList* self,
                        ObjectsProject* value)
{
	ObjectsProject* old_value;
	g_return_if_fail (self != NULL);
	old_value = views_list_get_project (self);
	if (old_value != value) {
		ObjectsProject* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_project);
		self->priv->_project = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, views_list_properties[VIEWS_LIST_PROJECT_PROPERTY]);
	}
}

gboolean
views_list_get_has_children (ViewsList* self)
{
	gboolean result;
	Util* _tmp0_;
	Util* _tmp1_;
	GtkListBox* _tmp2_;
	GList* _tmp3_;
	GList* _tmp4_;
	gboolean _tmp5_;
	g_return_val_if_fail (self != NULL, FALSE);
	_tmp0_ = util_get_default ();
	_tmp1_ = _tmp0_;
	_tmp2_ = self->priv->listbox;
	_tmp3_ = util_get_children (_tmp1_, _tmp2_);
	_tmp4_ = _tmp3_;
	_tmp5_ = (g_list_length (_tmp4_) - 1) > ((guint) 0);
	(_tmp4_ == NULL) ? NULL : (_tmp4_ = (_g_list_free__g_object_unref0_ (_tmp4_), NULL));
	_g_object_unref0 (_tmp1_);
	result = _tmp5_;
	return result;
}

static Block67Data*
block67_data_ref (Block67Data* _data67_)
{
	g_atomic_int_inc (&_data67_->_ref_count_);
	return _data67_;
}

static void
block67_data_unref (void * _userdata_)
{
	Block67Data* _data67_;
	_data67_ = (Block67Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data67_->_ref_count_)) {
		ViewsList* self;
		self = _data67_->self;
		_g_object_unref0 (_data67_->filters);
		_g_object_unref0 (_data67_->title_box);
		_g_object_unref0 (self);
		g_slice_free (Block67Data, _data67_);
	}
}

static void
_views_list___lambda666_ (ViewsList* self)
{
	Util* _tmp0_;
	Util* _tmp1_;
	ObjectsFiltersInbox* _tmp2_;
	ObjectsFiltersInbox* _tmp3_;
	const gchar* _tmp4_;
	const gchar* _tmp5_;
	WidgetsIconColorProject* _tmp6_;
	GtkImage* _tmp7_;
	_tmp0_ = util_get_default ();
	_tmp1_ = _tmp0_;
	_tmp2_ = objects_filters_inbox_get_default ();
	_tmp3_ = _tmp2_;
	_tmp4_ = objects_base_object_get_color ((ObjectsBaseObject*) _tmp3_);
	_tmp5_ = _tmp4_;
	_tmp6_ = self->priv->icon_project;
	_tmp7_ = _tmp6_->inbox_icon;
	util_set_widget_color (_tmp1_, _tmp5_, (GtkWidget*) _tmp7_);
	_g_object_unref0 (_tmp3_);
	_g_object_unref0 (_tmp1_);
}

static void
__views_list___lambda666__services_event_bus_theme_changed (ServicesEventBus* _sender,
                                                            gpointer self)
{
	_views_list___lambda666_ ((ViewsList*) self);
}

static gboolean
_views_list___lambda667_ (ViewsList* self)
{
	gboolean result;
	views_list_check_placeholder (self);
	result = G_SOURCE_REMOVE;
	return result;
}

static gboolean
__views_list___lambda667__gsource_func (gpointer self)
{
	gboolean result;
	result = _views_list___lambda667_ ((ViewsList*) self);
	return result;
}

static void
_views_list___lambda668_ (ViewsList* self,
                          ObjectsSection* section)
{
	g_return_if_fail (section != NULL);
	views_list_add_section (self, section);
}

static void
__views_list___lambda668__objects_project_section_added (ObjectsProject* _sender,
                                                         ObjectsSection* section,
                                                         gpointer self)
{
	_views_list___lambda668_ ((ViewsList*) self, section);
}

static void
_views_list___lambda669_ (ViewsList* self)
{
	GtkListBox* _tmp0_;
	GtkListBox* _tmp1_;
	_tmp0_ = self->priv->listbox;
	gtk_list_box_invalidate_sort (_tmp0_);
	_tmp1_ = self->priv->listbox;
	gtk_list_box_invalidate_filter (_tmp1_);
}

static void
__views_list___lambda669__objects_project_section_sort_order_changed (ObjectsProject* _sender,
                                                                      gpointer self)
{
	_views_list___lambda669_ ((ViewsList*) self);
}

static void
_views_list___lambda670_ (ViewsList* self,
                          ObjectsSection* section,
                          const gchar* old_project_id)
{
	gboolean _tmp0_ = FALSE;
	ObjectsProject* _tmp1_;
	const gchar* _tmp2_;
	const gchar* _tmp3_;
	gboolean _tmp15_ = FALSE;
	ObjectsProject* _tmp16_;
	const gchar* _tmp17_;
	const gchar* _tmp18_;
	const gchar* _tmp19_;
	const gchar* _tmp20_;
	g_return_if_fail (section != NULL);
	g_return_if_fail (old_project_id != NULL);
	_tmp1_ = self->priv->_project;
	_tmp2_ = objects_base_object_get_id ((ObjectsBaseObject*) _tmp1_);
	_tmp3_ = _tmp2_;
	if (g_strcmp0 (_tmp3_, old_project_id) == 0) {
		GeeHashMap* _tmp4_;
		const gchar* _tmp5_;
		const gchar* _tmp6_;
		_tmp4_ = self->sections_map;
		_tmp5_ = objects_base_object_get_id ((ObjectsBaseObject*) section);
		_tmp6_ = _tmp5_;
		_tmp0_ = gee_abstract_map_has_key ((GeeAbstractMap*) _tmp4_, _tmp6_);
	} else {
		_tmp0_ = FALSE;
	}
	if (_tmp0_) {
		GeeHashMap* _tmp7_;
		const gchar* _tmp8_;
		const gchar* _tmp9_;
		gpointer _tmp10_;
		LayoutsSectionRow* _tmp11_;
		GeeHashMap* _tmp12_;
		const gchar* _tmp13_;
		const gchar* _tmp14_;
		_tmp7_ = self->sections_map;
		_tmp8_ = objects_base_object_get_id ((ObjectsBaseObject*) section);
		_tmp9_ = _tmp8_;
		_tmp10_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp7_, _tmp9_);
		_tmp11_ = (LayoutsSectionRow*) _tmp10_;
		layouts_section_row_hide_destroy (_tmp11_);
		_g_object_unref0 (_tmp11_);
		_tmp12_ = self->sections_map;
		_tmp13_ = objects_base_object_get_id ((ObjectsBaseObject*) section);
		_tmp14_ = _tmp13_;
		gee_abstract_map_unset ((GeeAbstractMap*) _tmp12_, _tmp14_, NULL);
	}
	_tmp16_ = self->priv->_project;
	_tmp17_ = objects_base_object_get_id ((ObjectsBaseObject*) _tmp16_);
	_tmp18_ = _tmp17_;
	_tmp19_ = objects_section_get_project_id (section);
	_tmp20_ = _tmp19_;
	if (g_strcmp0 (_tmp18_, _tmp20_) == 0) {
		GeeHashMap* _tmp21_;
		const gchar* _tmp22_;
		const gchar* _tmp23_;
		_tmp21_ = self->sections_map;
		_tmp22_ = objects_base_object_get_id ((ObjectsBaseObject*) section);
		_tmp23_ = _tmp22_;
		_tmp15_ = !gee_abstract_map_has_key ((GeeAbstractMap*) _tmp21_, _tmp23_);
	} else {
		_tmp15_ = FALSE;
	}
	if (_tmp15_) {
		views_list_add_section (self, section);
	}
}

static void
__views_list___lambda670__services_store_section_moved (ServicesStore* _sender,
                                                        ObjectsSection* section,
                                                        const gchar* old_project_id,
                                                        gpointer self)
{
	_views_list___lambda670_ ((ViewsList*) self, section, old_project_id);
}

static void
_views_list___lambda671_ (ViewsList* self,
                          ObjectsSection* section)
{
	GeeHashMap* _tmp0_;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
	g_return_if_fail (section != NULL);
	_tmp0_ = self->sections_map;
	_tmp1_ = objects_base_object_get_id ((ObjectsBaseObject*) section);
	_tmp2_ = _tmp1_;
	if (gee_abstract_map_has_key ((GeeAbstractMap*) _tmp0_, _tmp2_)) {
		GeeHashMap* _tmp3_;
		const gchar* _tmp4_;
		const gchar* _tmp5_;
		gpointer _tmp6_;
		LayoutsSectionRow* _tmp7_;
		GeeHashMap* _tmp8_;
		const gchar* _tmp9_;
		const gchar* _tmp10_;
		_tmp3_ = self->sections_map;
		_tmp4_ = objects_base_object_get_id ((ObjectsBaseObject*) section);
		_tmp5_ = _tmp4_;
		_tmp6_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp3_, _tmp5_);
		_tmp7_ = (LayoutsSectionRow*) _tmp6_;
		layouts_section_row_hide_destroy (_tmp7_);
		_g_object_unref0 (_tmp7_);
		_tmp8_ = self->sections_map;
		_tmp9_ = objects_base_object_get_id ((ObjectsBaseObject*) section);
		_tmp10_ = _tmp9_;
		gee_abstract_map_unset ((GeeAbstractMap*) _tmp8_, _tmp10_, NULL);
	}
	views_list_check_placeholder (self);
}

static void
__views_list___lambda671__services_store_section_deleted (ServicesStore* _sender,
                                                          ObjectsSection* section,
                                                          gpointer self)
{
	_views_list___lambda671_ ((ViewsList*) self, section);
}

static void
_views_list___lambda672_ (ViewsList* self)
{
	views_list_update_request (self);
}

static void
__views_list___lambda672__objects_base_object_updated (ObjectsBaseObject* _sender,
                                                       const gchar* update_id,
                                                       gpointer self)
{
	_views_list___lambda672_ ((ViewsList*) self);
}

static void
_views_list___lambda673_ (ViewsList* self)
{
	WidgetsIconColorProject* _tmp0_;
	views_list_check_placeholder (self);
	_tmp0_ = self->priv->icon_project;
	widgets_icon_color_project_update_request (_tmp0_);
}

static void
__views_list___lambda673__objects_base_object_count_updated (ObjectsBaseObject* _sender,
                                                             gpointer self)
{
	_views_list___lambda673_ ((ViewsList*) self);
}

static gint
_views_list___lambda674_ (ViewsList* self,
                          GtkListBoxRow* row1,
                          GtkListBoxRow* row2)
{
	LayoutsSectionRow* item1 = NULL;
	LayoutsSectionRow* _tmp0_;
	LayoutsSectionRow* item2 = NULL;
	LayoutsSectionRow* _tmp1_;
	LayoutsSectionRow* _tmp2_;
	gboolean _tmp3_;
	gboolean _tmp4_;
	LayoutsSectionRow* _tmp5_;
	ObjectsSection* _tmp6_;
	ObjectsSection* _tmp7_;
	gint _tmp8_;
	gint _tmp9_;
	LayoutsSectionRow* _tmp10_;
	ObjectsSection* _tmp11_;
	ObjectsSection* _tmp12_;
	gint _tmp13_;
	gint _tmp14_;
	gint result;
	g_return_val_if_fail (row1 != NULL, -1);
	g_return_val_if_fail (row2 != NULL, -1);
	_tmp0_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (row1, LAYOUTS_TYPE_SECTION_ROW, LayoutsSectionRow));
	item1 = _tmp0_;
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (row2, LAYOUTS_TYPE_SECTION_ROW, LayoutsSectionRow));
	item2 = _tmp1_;
	_tmp2_ = item1;
	_tmp3_ = layouts_section_row_get_is_inbox_section (_tmp2_);
	_tmp4_ = _tmp3_;
	if (_tmp4_) {
		result = 0;
		_g_object_unref0 (item2);
		_g_object_unref0 (item1);
		return result;
	}
	_tmp5_ = item1;
	_tmp6_ = layouts_section_row_get_section (_tmp5_);
	_tmp7_ = _tmp6_;
	_tmp8_ = objects_section_get_section_order (_tmp7_);
	_tmp9_ = _tmp8_;
	_tmp10_ = item2;
	_tmp11_ = layouts_section_row_get_section (_tmp10_);
	_tmp12_ = _tmp11_;
	_tmp13_ = objects_section_get_section_order (_tmp12_);
	_tmp14_ = _tmp13_;
	result = _tmp9_ - _tmp14_;
	_g_object_unref0 (item2);
	_g_object_unref0 (item1);
	return result;
}

static gint
__views_list___lambda674__gtk_list_box_sort_func (GtkListBoxRow* row1,
                                                  GtkListBoxRow* row2,
                                                  gpointer self)
{
	gint result;
	result = _views_list___lambda674_ ((ViewsList*) self, row1, row2);
	return result;
}

static gboolean
_views_list___lambda675_ (ViewsList* self,
                          GtkListBoxRow* child)
{
	LayoutsSectionRow* item = NULL;
	LayoutsSectionRow* _tmp0_;
	LayoutsSectionRow* _tmp1_;
	ObjectsSection* _tmp2_;
	ObjectsSection* _tmp3_;
	gboolean result;
	g_return_val_if_fail (child != NULL, FALSE);
	_tmp0_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (child, LAYOUTS_TYPE_SECTION_ROW, LayoutsSectionRow));
	item = _tmp0_;
	_tmp1_ = item;
	_tmp2_ = layouts_section_row_get_section (_tmp1_);
	_tmp3_ = _tmp2_;
	result = !objects_section_was_archived (_tmp3_);
	_g_object_unref0 (item);
	return result;
}

static gboolean
__views_list___lambda675__gtk_list_box_filter_func (GtkListBoxRow* row,
                                                    gpointer self)
{
	gboolean result;
	result = _views_list___lambda675_ ((ViewsList*) self, row);
	return result;
}

static void
_views_list___lambda676_ (ViewsList* self)
{
	ObjectsProject* _tmp0_;
	WidgetsEditableTextView* _tmp1_;
	const gchar* _tmp2_;
	const gchar* _tmp3_;
	ObjectsProject* _tmp4_;
	_tmp0_ = self->priv->_project;
	_tmp1_ = self->priv->description_widget;
	_tmp2_ = widgets_editable_text_view_get_text (_tmp1_);
	_tmp3_ = _tmp2_;
	objects_project_set_description (_tmp0_, _tmp3_);
	_tmp4_ = self->priv->_project;
	objects_project_update_local (_tmp4_);
}

static void
__views_list___lambda676__widgets_editable_text_view_changed (WidgetsEditableTextView* _sender,
                                                              gpointer self)
{
	_views_list___lambda676_ ((ViewsList*) self);
}

static void
_views_list___lambda677_ (ViewsList* self,
                          ObjectsSection* section)
{
	GeeHashMap* _tmp0_;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
	g_return_if_fail (section != NULL);
	_tmp0_ = self->sections_map;
	_tmp1_ = objects_base_object_get_id ((ObjectsBaseObject*) section);
	_tmp2_ = _tmp1_;
	if (gee_abstract_map_has_key ((GeeAbstractMap*) _tmp0_, _tmp2_)) {
		GeeHashMap* _tmp3_;
		const gchar* _tmp4_;
		const gchar* _tmp5_;
		gpointer _tmp6_;
		LayoutsSectionRow* _tmp7_;
		GeeHashMap* _tmp8_;
		const gchar* _tmp9_;
		const gchar* _tmp10_;
		_tmp3_ = self->sections_map;
		_tmp4_ = objects_base_object_get_id ((ObjectsBaseObject*) section);
		_tmp5_ = _tmp4_;
		_tmp6_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp3_, _tmp5_);
		_tmp7_ = (LayoutsSectionRow*) _tmp6_;
		layouts_section_row_hide_destroy (_tmp7_);
		_g_object_unref0 (_tmp7_);
		_tmp8_ = self->sections_map;
		_tmp9_ = objects_base_object_get_id ((ObjectsBaseObject*) section);
		_tmp10_ = _tmp9_;
		gee_abstract_map_unset ((GeeAbstractMap*) _tmp8_, _tmp10_, NULL);
	}
	views_list_check_placeholder (self);
}

static void
__views_list___lambda677__services_store_section_archived (ServicesStore* _sender,
                                                           ObjectsSection* section,
                                                           gpointer self)
{
	_views_list___lambda677_ ((ViewsList*) self, section);
}

static void
_views_list___lambda678_ (ViewsList* self,
                          ObjectsSection* section)
{
	ObjectsProject* _tmp0_;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
	const gchar* _tmp3_;
	const gchar* _tmp4_;
	g_return_if_fail (section != NULL);
	_tmp0_ = self->priv->_project;
	_tmp1_ = objects_base_object_get_id ((ObjectsBaseObject*) _tmp0_);
	_tmp2_ = _tmp1_;
	_tmp3_ = objects_section_get_project_id (section);
	_tmp4_ = _tmp3_;
	if (g_strcmp0 (_tmp2_, _tmp4_) == 0) {
		views_list_add_section (self, section);
	}
}

static void
__views_list___lambda678__services_store_section_unarchived (ServicesStore* _sender,
                                                             ObjectsSection* section,
                                                             gpointer self)
{
	_views_list___lambda678_ ((ViewsList*) self, section);
}

static void
_views_list___lambda679_ (ViewsList* self)
{
	views_list_check_placeholder (self);
}

static void
__views_list___lambda679__objects_project_show_completed_changed (ObjectsProject* _sender,
                                                                  gpointer self)
{
	_views_list___lambda679_ ((ViewsList*) self);
}

static void
_views_list___lambda680_ (ViewsList* self)
{
	ObjectsProject* _tmp0_;
	WidgetsScrolledWindow* _tmp1_;
	GtkAdjustment* _tmp2_;
	GtkAdjustment* _tmp3_;
	gdouble _tmp4_;
	gdouble _tmp5_;
	_tmp0_ = self->priv->_project;
	_tmp1_ = self->priv->scrolled_window;
	_tmp2_ = widgets_scrolled_window_get_vadjustment (_tmp1_);
	_tmp3_ = _tmp2_;
	_tmp4_ = gtk_adjustment_get_value (_tmp3_);
	_tmp5_ = _tmp4_;
	g_signal_emit_by_name ((ObjectsBaseObject*) _tmp0_, "handle-scroll-visibility-change", _tmp5_ >= ((gdouble) CONSTANTS_HEADERBAR_TITLE_SCROLL_THRESHOLD));
}

static void
__views_list___lambda680__gtk_adjustment_value_changed (GtkAdjustment* _sender,
                                                        gpointer self)
{
	_views_list___lambda680_ ((ViewsList*) self);
}

static void
_views_list___lambda681_ (ViewsList* self)
{
	GtkListBox* _tmp0_;
	_tmp0_ = self->priv->listbox;
	gtk_list_box_invalidate_sort (_tmp0_);
}

static void
__views_list___lambda681__objects_source_sync_finished (ObjectsSource* _sender,
                                                        gpointer self)
{
	_views_list___lambda681_ ((ViewsList*) self);
}

static void
_views_list___lambda682_ (Block67Data* _data67_,
                          gboolean active,
                          const gchar* focused_item_id)
{
	ViewsList* self;
	GtkBox* _tmp0_;
	GtkRevealer* _tmp1_;
	WidgetsFilterFlowBox* _tmp2_;
	WidgetsPinnedItemsBox* _tmp3_;
	self = _data67_->self;
	g_return_if_fail (focused_item_id != NULL);
	_tmp0_ = _data67_->title_box;
	gtk_widget_set_sensitive ((GtkWidget*) _tmp0_, !active);
	_tmp1_ = self->priv->due_revealer;
	gtk_widget_set_sensitive ((GtkWidget*) _tmp1_, !active);
	_tmp2_ = _data67_->filters;
	gtk_widget_set_sensitive ((GtkWidget*) _tmp2_, !active);
	_tmp3_ = self->priv->pinned_items_flowbox;
	gtk_widget_set_sensitive ((GtkWidget*) _tmp3_, !active);
	if (active) {
		WidgetsEditableTextView* _tmp4_;
		_tmp4_ = self->priv->description_widget;
		gtk_widget_add_css_class ((GtkWidget*) _tmp4_, "dimmed");
	} else {
		WidgetsEditableTextView* _tmp5_;
		_tmp5_ = self->priv->description_widget;
		gtk_widget_remove_css_class ((GtkWidget*) _tmp5_, "dimmed");
	}
}

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

static void
_views_list___lambda683_ (ViewsList* self)
{
	views_list_clean_up (self);
}

static void
__views_list___lambda683__gtk_widget_destroy (GtkWidget* _sender,
                                              gpointer self)
{
	_views_list___lambda683_ ((ViewsList*) self);
}

static GObject *
views_list_constructor (GType type,
                        guint n_construct_properties,
                        GObjectConstructParam * construct_properties)
{
	GObject * obj;
	GObjectClass * parent_class;
	ViewsList * self;
	Block67Data* _data67_;
	ObjectsProject* _tmp0_;
	ObjectsProject* _tmp1_;
	WidgetsIconColorProject* _tmp2_ = NULL;
	WidgetsIconColorProject* _tmp3_;
	WidgetsIconColorProject* _tmp4_;
	GtkImage* _tmp5_;
	Util* _tmp6_;
	Util* _tmp7_;
	ObjectsFiltersInbox* _tmp8_;
	ObjectsFiltersInbox* _tmp9_;
	const gchar* _tmp10_;
	const gchar* _tmp11_;
	WidgetsIconColorProject* _tmp12_;
	GtkImage* _tmp13_;
	GeeHashMap* _tmp14_;
	ServicesEventBus* _tmp15_;
	ServicesEventBus* _tmp16_;
	gulong _tmp17_;
	ServicesEventBus* _tmp18_;
	ServicesEventBus* _tmp19_;
	gchar* _tmp20_;
	gchar* _tmp21_;
	gchar** _tmp22_;
	GtkLabel* _tmp23_ = NULL;
	GtkBox* _tmp24_ = NULL;
	GtkBox* _tmp25_;
	WidgetsIconColorProject* _tmp26_;
	GtkBox* _tmp27_;
	GtkLabel* _tmp28_;
	ObjectsProject* _tmp29_;
	const gchar* _tmp30_;
	const gchar* _tmp31_;
	gchar* _tmp32_;
	WidgetsEditableTextView* _tmp33_ = NULL;
	GtkRevealer* _tmp34_;
	ObjectsProject* _tmp35_;
	ObjectsBaseObject* _tmp36_;
	WidgetsFilterFlowBox* _tmp37_ = NULL;
	WidgetsFilterFlowBox* _tmp38_;
	GtkFlowBox* _tmp39_;
	WidgetsFilterFlowBox* _tmp40_;
	GtkFlowBox* _tmp41_;
	WidgetsFilterFlowBox* _tmp42_;
	GtkFlowBox* _tmp43_;
	WidgetsFilterFlowBox* _tmp44_;
	GtkFlowBox* _tmp45_;
	ObjectsProject* _tmp46_;
	WidgetsPinnedItemsBox* _tmp47_;
	gchar* _tmp48_;
	gchar** _tmp49_;
	GtkListBox* _tmp50_ = NULL;
	AdwStatusPage* listbox_placeholder = NULL;
	gchar* _tmp51_;
	gchar* _tmp52_;
	gchar* _tmp53_;
	AdwStatusPage* _tmp54_ = NULL;
	AdwStatusPage* _tmp55_;
	GtkStack* _tmp56_ = NULL;
	GtkStack* _tmp57_;
	GtkListBox* _tmp58_;
	GtkStack* _tmp59_;
	AdwStatusPage* _tmp60_;
	GtkBox* content_box = NULL;
	GtkBox* _tmp61_ = NULL;
	GtkBox* _tmp62_;
	GtkBox* _tmp63_;
	ObjectsProject* _tmp64_;
	gboolean _tmp65_;
	gboolean _tmp66_;
	GtkBox* _tmp71_;
	WidgetsFilterFlowBox* _tmp72_;
	GtkBox* _tmp73_;
	WidgetsPinnedItemsBox* _tmp74_;
	GtkBox* _tmp75_;
	GtkStack* _tmp76_;
	AdwClamp* content_clamp = NULL;
	GtkBox* _tmp77_;
	GtkWidget* _tmp78_;
	AdwClamp* _tmp79_ = NULL;
	AdwClamp* _tmp80_;
	WidgetsScrolledWindow* _tmp81_;
	WidgetsScrolledWindow* _tmp82_;
	GtkStack* _tmp83_;
	guint _tmp84_;
	guint _tmp85_;
	GeeHashMap* _tmp86_;
	ObjectsProject* _tmp87_;
	gulong _tmp88_;
	ObjectsProject* _tmp89_;
	GeeHashMap* _tmp90_;
	ObjectsProject* _tmp91_;
	gulong _tmp92_;
	ObjectsProject* _tmp93_;
	GeeHashMap* _tmp94_;
	ServicesStore* _tmp95_;
	gulong _tmp96_;
	ServicesStore* _tmp97_;
	GeeHashMap* _tmp98_;
	ServicesStore* _tmp99_;
	gulong _tmp100_;
	ServicesStore* _tmp101_;
	GeeHashMap* _tmp102_;
	ObjectsProject* _tmp103_;
	gulong _tmp104_;
	ObjectsProject* _tmp105_;
	GeeHashMap* _tmp106_;
	ObjectsProject* _tmp107_;
	gulong _tmp108_;
	ObjectsProject* _tmp109_;
	GtkListBox* _tmp110_;
	GtkListBox* _tmp111_;
	GeeHashMap* _tmp112_;
	WidgetsEditableTextView* _tmp113_;
	gulong _tmp114_;
	WidgetsEditableTextView* _tmp115_;
	GeeHashMap* _tmp116_;
	ServicesStore* _tmp117_;
	gulong _tmp118_;
	ServicesStore* _tmp119_;
	GeeHashMap* _tmp120_;
	ServicesStore* _tmp121_;
	gulong _tmp122_;
	ServicesStore* _tmp123_;
	GeeHashMap* _tmp124_;
	ObjectsProject* _tmp125_;
	gulong _tmp126_;
	ObjectsProject* _tmp127_;
	GeeHashMap* _tmp128_;
	WidgetsScrolledWindow* _tmp129_;
	GtkAdjustment* _tmp130_;
	GtkAdjustment* _tmp131_;
	gulong _tmp132_;
	WidgetsScrolledWindow* _tmp133_;
	GtkAdjustment* _tmp134_;
	GtkAdjustment* _tmp135_;
	GeeHashMap* _tmp136_;
	ObjectsProject* _tmp137_;
	ObjectsSource* _tmp138_;
	ObjectsSource* _tmp139_;
	gulong _tmp140_;
	ObjectsProject* _tmp141_;
	ObjectsSource* _tmp142_;
	ObjectsSource* _tmp143_;
	GeeHashMap* _tmp144_;
	ServicesEventBus* _tmp145_;
	ServicesEventBus* _tmp146_;
	gulong _tmp147_;
	ServicesEventBus* _tmp148_;
	ServicesEventBus* _tmp149_;
	parent_class = G_OBJECT_CLASS (views_list_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, VIEWS_TYPE_LIST, ViewsList);
	_data67_ = g_slice_new0 (Block67Data);
	_data67_->_ref_count_ = 1;
	_data67_->self = g_object_ref (self);
	_tmp0_ = self->priv->_project;
	_tmp1_ = _g_object_ref0 (_tmp0_);
	_tmp2_ = widgets_icon_color_project_new (22);
	widgets_icon_color_project_set_project (_tmp2_, _tmp1_);
	_g_object_unref0 (_tmp1_);
	g_object_ref_sink (_tmp2_);
	_g_object_unref0 (self->priv->icon_project);
	self->priv->icon_project = _tmp2_;
	_tmp3_ = self->priv->icon_project;
	gtk_widget_add_css_class ((GtkWidget*) _tmp3_, "title-2");
	_tmp4_ = self->priv->icon_project;
	_tmp5_ = _tmp4_->inbox_icon;
	gtk_widget_add_css_class ((GtkWidget*) _tmp5_, "view-icon");
	_tmp6_ = util_get_default ();
	_tmp7_ = _tmp6_;
	_tmp8_ = objects_filters_inbox_get_default ();
	_tmp9_ = _tmp8_;
	_tmp10_ = objects_base_object_get_color ((ObjectsBaseObject*) _tmp9_);
	_tmp11_ = _tmp10_;
	_tmp12_ = self->priv->icon_project;
	_tmp13_ = _tmp12_->inbox_icon;
	util_set_widget_color (_tmp7_, _tmp11_, (GtkWidget*) _tmp13_);
	_g_object_unref0 (_tmp9_);
	_g_object_unref0 (_tmp7_);
	_tmp14_ = self->priv->signal_map;
	_tmp15_ = services_event_bus_get_default ();
	_tmp16_ = _tmp15_;
	_tmp17_ = g_signal_connect_object (_tmp16_, "theme-changed", (GCallback) __views_list___lambda666__services_event_bus_theme_changed, self, 0);
	_tmp18_ = services_event_bus_get_default ();
	_tmp19_ = _tmp18_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp14_, (gpointer) ((guintptr) _tmp17_), (GObject*) _tmp19_);
	_g_object_unref0 (_tmp19_);
	_g_object_unref0 (_tmp16_);
	_tmp20_ = g_strdup ("font-bold");
	_tmp21_ = g_strdup ("title-2");
	_tmp22_ = g_new0 (gchar*, 2 + 1);
	_tmp22_[0] = _tmp20_;
	_tmp22_[1] = _tmp21_;
	_tmp23_ = (GtkLabel*) gtk_label_new (NULL);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp23_, _tmp22_);
	_tmp22_ = (_vala_array_free (_tmp22_, 2, (GDestroyNotify) g_free), NULL);
	gtk_label_set_ellipsize (_tmp23_, PANGO_ELLIPSIZE_END);
	gtk_widget_set_halign ((GtkWidget*) _tmp23_, GTK_ALIGN_START);
	g_object_ref_sink (_tmp23_);
	_g_object_unref0 (self->priv->title_label);
	self->priv->title_label = _tmp23_;
	_tmp24_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
	gtk_widget_set_valign ((GtkWidget*) _tmp24_, GTK_ALIGN_CENTER);
	gtk_widget_set_margin_start ((GtkWidget*) _tmp24_, 30);
	g_object_ref_sink (_tmp24_);
	_data67_->title_box = _tmp24_;
	_tmp25_ = _data67_->title_box;
	_tmp26_ = self->priv->icon_project;
	gtk_box_append (_tmp25_, (GtkWidget*) _tmp26_);
	_tmp27_ = _data67_->title_box;
	_tmp28_ = self->priv->title_label;
	gtk_box_append (_tmp27_, (GtkWidget*) _tmp28_);
	_tmp29_ = self->priv->_project;
	_tmp30_ = objects_project_get_description (_tmp29_);
	_tmp31_ = _tmp30_;
	_tmp32_ = g_strdup (_tmp31_);
	_tmp33_ = widgets_editable_text_view_new (_ ("Note"), 100);
	widgets_editable_text_view_set_text (_tmp33_, _tmp32_);
	_g_free0 (_tmp32_);
	gtk_widget_set_margin_top ((GtkWidget*) _tmp33_, 12);
	gtk_widget_set_margin_start ((GtkWidget*) _tmp33_, 32);
	gtk_widget_set_margin_end ((GtkWidget*) _tmp33_, 24);
	g_object_ref_sink (_tmp33_);
	_g_object_unref0 (self->priv->description_widget);
	self->priv->description_widget = _tmp33_;
	_tmp34_ = views_list_build_due_date_widget (self);
	_g_object_unref0 (self->priv->due_revealer);
	self->priv->due_revealer = _tmp34_;
	_tmp35_ = self->priv->_project;
	_tmp36_ = _g_object_ref0 ((ObjectsBaseObject*) _tmp35_);
	_tmp37_ = widgets_filter_flow_box_new ();
	gtk_widget_set_valign ((GtkWidget*) _tmp37_, GTK_ALIGN_START);
	gtk_widget_set_vexpand ((GtkWidget*) _tmp37_, FALSE);
	gtk_widget_set_vexpand_set ((GtkWidget*) _tmp37_, TRUE);
	widgets_filter_flow_box_set_base_object (_tmp37_, _tmp36_);
	_g_object_unref0 (_tmp36_);
	g_object_ref_sink (_tmp37_);
	_data67_->filters = _tmp37_;
	_tmp38_ = _data67_->filters;
	_tmp39_ = _tmp38_->flowbox;
	gtk_widget_set_margin_start ((GtkWidget*) _tmp39_, 24);
	_tmp40_ = _data67_->filters;
	_tmp41_ = _tmp40_->flowbox;
	gtk_widget_set_margin_top ((GtkWidget*) _tmp41_, 12);
	_tmp42_ = _data67_->filters;
	_tmp43_ = _tmp42_->flowbox;
	gtk_widget_set_margin_end ((GtkWidget*) _tmp43_, 12);
	_tmp44_ = _data67_->filters;
	_tmp45_ = _tmp44_->flowbox;
	gtk_widget_set_margin_bottom ((GtkWidget*) _tmp45_, 3);
	_tmp46_ = self->priv->_project;
	_tmp47_ = widgets_pinned_items_box_new (_tmp46_);
	g_object_ref_sink (_tmp47_);
	_g_object_unref0 (self->priv->pinned_items_flowbox);
	self->priv->pinned_items_flowbox = _tmp47_;
	_tmp48_ = g_strdup ("listbox-background");
	_tmp49_ = g_new0 (gchar*, 1 + 1);
	_tmp49_[0] = _tmp48_;
	_tmp50_ = (GtkListBox*) gtk_list_box_new ();
	gtk_widget_set_valign ((GtkWidget*) _tmp50_, GTK_ALIGN_START);
	gtk_list_box_set_selection_mode (_tmp50_, GTK_SELECTION_NONE);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp50_, TRUE);
	gtk_widget_set_vexpand ((GtkWidget*) _tmp50_, TRUE);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp50_, _tmp49_);
	_tmp49_ = (_vala_array_free (_tmp49_, 1, (GDestroyNotify) g_free), NULL);
	gtk_widget_set_margin_top ((GtkWidget*) _tmp50_, 12);
	g_object_ref_sink (_tmp50_);
	_g_object_unref0 (self->priv->listbox);
	self->priv->listbox = _tmp50_;
	_tmp51_ = g_strdup ("check-round-outline-symbolic");
	_tmp52_ = g_strdup (_ ("Add Some Tasks"));
	_tmp53_ = g_strdup (_ ("Press 'a' to create a new task"));
	_tmp54_ = (AdwStatusPage*) adw_status_page_new ();
	adw_status_page_set_icon_name (_tmp54_, _tmp51_);
	_g_free0 (_tmp51_);
	adw_status_page_set_title (_tmp54_, _tmp52_);
	_g_free0 (_tmp52_);
	adw_status_page_set_description (_tmp54_, _tmp53_);
	_g_free0 (_tmp53_);
	gtk_widget_set_can_focus ((GtkWidget*) _tmp54_, FALSE);
	g_object_ref_sink (_tmp54_);
	listbox_placeholder = _tmp54_;
	_tmp55_ = listbox_placeholder;
	gtk_accessible_update_property ((GtkAccessible*) _tmp55_, GTK_ACCESSIBLE_PROPERTY_LABEL, _ ("Add Some Tasks. Press 'a' to create a new task"), -1, -1);
	_tmp56_ = (GtkStack*) gtk_stack_new ();
	gtk_widget_set_vexpand ((GtkWidget*) _tmp56_, TRUE);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp56_, TRUE);
	gtk_stack_set_transition_type (_tmp56_, GTK_STACK_TRANSITION_TYPE_CROSSFADE);
	g_object_ref_sink (_tmp56_);
	_g_object_unref0 (self->priv->listbox_placeholder_stack);
	self->priv->listbox_placeholder_stack = _tmp56_;
	_tmp57_ = self->priv->listbox_placeholder_stack;
	_tmp58_ = self->priv->listbox;
	gtk_stack_add_named (_tmp57_, (GtkWidget*) _tmp58_, "listbox");
	_tmp59_ = self->priv->listbox_placeholder_stack;
	_tmp60_ = listbox_placeholder;
	gtk_stack_add_named (_tmp59_, (GtkWidget*) _tmp60_, "placeholder");
	_tmp61_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp61_, TRUE);
	gtk_widget_set_vexpand ((GtkWidget*) _tmp61_, TRUE);
	gtk_widget_set_valign ((GtkWidget*) _tmp61_, GTK_ALIGN_BASELINE_FILL);
	gtk_widget_set_margin_bottom ((GtkWidget*) _tmp61_, 24);
	g_object_ref_sink (_tmp61_);
	content_box = _tmp61_;
	_tmp62_ = content_box;
	_tmp63_ = _data67_->title_box;
	gtk_box_append (_tmp62_, (GtkWidget*) _tmp63_);
	_tmp64_ = self->priv->_project;
	_tmp65_ = objects_project_get_is_inbox_project (_tmp64_);
	_tmp66_ = _tmp65_;
	if (!_tmp66_) {
		GtkBox* _tmp67_;
		WidgetsEditableTextView* _tmp68_;
		GtkBox* _tmp69_;
		GtkRevealer* _tmp70_;
		_tmp67_ = content_box;
		_tmp68_ = self->priv->description_widget;
		gtk_box_append (_tmp67_, (GtkWidget*) _tmp68_);
		_tmp69_ = content_box;
		_tmp70_ = self->priv->due_revealer;
		gtk_box_append (_tmp69_, (GtkWidget*) _tmp70_);
	}
	_tmp71_ = content_box;
	_tmp72_ = _data67_->filters;
	gtk_box_append (_tmp71_, (GtkWidget*) _tmp72_);
	_tmp73_ = content_box;
	_tmp74_ = self->priv->pinned_items_flowbox;
	gtk_box_append (_tmp73_, (GtkWidget*) _tmp74_);
	_tmp75_ = content_box;
	_tmp76_ = self->priv->listbox_placeholder_stack;
	gtk_box_append (_tmp75_, (GtkWidget*) _tmp76_);
	_tmp77_ = content_box;
	_tmp78_ = _g_object_ref0 ((GtkWidget*) _tmp77_);
	_tmp79_ = (AdwClamp*) adw_clamp_new ();
	adw_clamp_set_maximum_size (_tmp79_, 864);
	adw_clamp_set_tightening_threshold (_tmp79_, 600);
	gtk_widget_set_margin_bottom ((GtkWidget*) _tmp79_, 64);
	adw_clamp_set_child (_tmp79_, _tmp78_);
	_g_object_unref0 (_tmp78_);
	g_object_ref_sink (_tmp79_);
	content_clamp = _tmp79_;
	_tmp80_ = content_clamp;
	_tmp81_ = widgets_scrolled_window_new ((GtkWidget*) _tmp80_, GTK_ORIENTATION_VERTICAL);
	g_object_ref_sink (_tmp81_);
	_g_object_unref0 (self->priv->scrolled_window);
	self->priv->scrolled_window = _tmp81_;
	_tmp82_ = self->priv->scrolled_window;
	adw_bin_set_child ((AdwBin*) self, (GtkWidget*) _tmp82_);
	views_list_update_request (self);
	views_list_add_sections (self);
	_tmp83_ = self->priv->listbox_placeholder_stack;
	_tmp84_ = gtk_stack_get_transition_duration (_tmp83_);
	_tmp85_ = _tmp84_;
	g_timeout_add_full (G_PRIORITY_DEFAULT, _tmp85_, __views_list___lambda667__gsource_func, g_object_ref (self), g_object_unref);
	_tmp86_ = self->priv->signal_map;
	_tmp87_ = self->priv->_project;
	_tmp88_ = g_signal_connect_object (_tmp87_, "section-added", (GCallback) __views_list___lambda668__objects_project_section_added, self, 0);
	_tmp89_ = self->priv->_project;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp86_, (gpointer) ((guintptr) _tmp88_), (GObject*) _tmp89_);
	_tmp90_ = self->priv->signal_map;
	_tmp91_ = self->priv->_project;
	_tmp92_ = g_signal_connect_object (_tmp91_, "section-sort-order-changed", (GCallback) __views_list___lambda669__objects_project_section_sort_order_changed, self, 0);
	_tmp93_ = self->priv->_project;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp90_, (gpointer) ((guintptr) _tmp92_), (GObject*) _tmp93_);
	_tmp94_ = self->priv->signal_map;
	_tmp95_ = services_store_instance ();
	_tmp96_ = g_signal_connect_object (_tmp95_, "section-moved", (GCallback) __views_list___lambda670__services_store_section_moved, self, 0);
	_tmp97_ = services_store_instance ();
	gee_abstract_map_set ((GeeAbstractMap*) _tmp94_, (gpointer) ((guintptr) _tmp96_), (GObject*) _tmp97_);
	_tmp98_ = self->priv->signal_map;
	_tmp99_ = services_store_instance ();
	_tmp100_ = g_signal_connect_object (_tmp99_, "section-deleted", (GCallback) __views_list___lambda671__services_store_section_deleted, self, 0);
	_tmp101_ = services_store_instance ();
	gee_abstract_map_set ((GeeAbstractMap*) _tmp98_, (gpointer) ((guintptr) _tmp100_), (GObject*) _tmp101_);
	_tmp102_ = self->priv->signal_map;
	_tmp103_ = self->priv->_project;
	_tmp104_ = g_signal_connect_object ((ObjectsBaseObject*) _tmp103_, "updated", (GCallback) __views_list___lambda672__objects_base_object_updated, self, 0);
	_tmp105_ = self->priv->_project;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp102_, (gpointer) ((guintptr) _tmp104_), (GObject*) _tmp105_);
	_tmp106_ = self->priv->signal_map;
	_tmp107_ = self->priv->_project;
	_tmp108_ = g_signal_connect_object ((ObjectsBaseObject*) _tmp107_, "count-updated", (GCallback) __views_list___lambda673__objects_base_object_count_updated, self, 0);
	_tmp109_ = self->priv->_project;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp106_, (gpointer) ((guintptr) _tmp108_), (GObject*) _tmp109_);
	_tmp110_ = self->priv->listbox;
	gtk_list_box_set_sort_func (_tmp110_, __views_list___lambda674__gtk_list_box_sort_func, g_object_ref (self), g_object_unref);
	_tmp111_ = self->priv->listbox;
	gtk_list_box_set_filter_func (_tmp111_, __views_list___lambda675__gtk_list_box_filter_func, g_object_ref (self), g_object_unref);
	_tmp112_ = self->priv->signal_map;
	_tmp113_ = self->priv->description_widget;
	_tmp114_ = g_signal_connect_object (_tmp113_, "changed", (GCallback) __views_list___lambda676__widgets_editable_text_view_changed, self, 0);
	_tmp115_ = self->priv->description_widget;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp112_, (gpointer) ((guintptr) _tmp114_), (GObject*) _tmp115_);
	_tmp116_ = self->priv->signal_map;
	_tmp117_ = services_store_instance ();
	_tmp118_ = g_signal_connect_object (_tmp117_, "section-archived", (GCallback) __views_list___lambda677__services_store_section_archived, self, 0);
	_tmp119_ = services_store_instance ();
	gee_abstract_map_set ((GeeAbstractMap*) _tmp116_, (gpointer) ((guintptr) _tmp118_), (GObject*) _tmp119_);
	_tmp120_ = self->priv->signal_map;
	_tmp121_ = services_store_instance ();
	_tmp122_ = g_signal_connect_object (_tmp121_, "section-unarchived", (GCallback) __views_list___lambda678__services_store_section_unarchived, self, 0);
	_tmp123_ = services_store_instance ();
	gee_abstract_map_set ((GeeAbstractMap*) _tmp120_, (gpointer) ((guintptr) _tmp122_), (GObject*) _tmp123_);
	_tmp124_ = self->priv->signal_map;
	_tmp125_ = self->priv->_project;
	_tmp126_ = g_signal_connect_object (_tmp125_, "show-completed-changed", (GCallback) __views_list___lambda679__objects_project_show_completed_changed, self, 0);
	_tmp127_ = self->priv->_project;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp124_, (gpointer) ((guintptr) _tmp126_), (GObject*) _tmp127_);
	_tmp128_ = self->priv->signal_map;
	_tmp129_ = self->priv->scrolled_window;
	_tmp130_ = widgets_scrolled_window_get_vadjustment (_tmp129_);
	_tmp131_ = _tmp130_;
	_tmp132_ = g_signal_connect_object (_tmp131_, "value-changed", (GCallback) __views_list___lambda680__gtk_adjustment_value_changed, self, 0);
	_tmp133_ = self->priv->scrolled_window;
	_tmp134_ = widgets_scrolled_window_get_vadjustment (_tmp133_);
	_tmp135_ = _tmp134_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp128_, (gpointer) ((guintptr) _tmp132_), (GObject*) _tmp135_);
	_tmp136_ = self->priv->signal_map;
	_tmp137_ = self->priv->_project;
	_tmp138_ = objects_project_get_source (_tmp137_);
	_tmp139_ = _tmp138_;
	_tmp140_ = g_signal_connect_object (_tmp139_, "sync-finished", (GCallback) __views_list___lambda681__objects_source_sync_finished, self, 0);
	_tmp141_ = self->priv->_project;
	_tmp142_ = objects_project_get_source (_tmp141_);
	_tmp143_ = _tmp142_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp136_, (gpointer) ((guintptr) _tmp140_), (GObject*) _tmp143_);
	_tmp144_ = self->priv->signal_map;
	_tmp145_ = services_event_bus_get_default ();
	_tmp146_ = _tmp145_;
	_tmp147_ = g_signal_connect_data (_tmp146_, "dim-content", (GCallback) __views_list___lambda682__services_event_bus_dim_content, block67_data_ref (_data67_), (GClosureNotify) block67_data_unref, 0);
	_tmp148_ = services_event_bus_get_default ();
	_tmp149_ = _tmp148_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp144_, (gpointer) ((guintptr) _tmp147_), (GObject*) _tmp149_);
	_g_object_unref0 (_tmp149_);
	_g_object_unref0 (_tmp146_);
	g_signal_connect_object ((GtkWidget*) self, "destroy", (GCallback) __views_list___lambda683__gtk_widget_destroy, self, 0);
	_g_object_unref0 (content_clamp);
	_g_object_unref0 (content_box);
	_g_object_unref0 (listbox_placeholder);
	block67_data_unref (_data67_);
	_data67_ = NULL;
	return obj;
}

static void
views_list_class_init (ViewsListClass * klass,
                       gpointer klass_data)
{
	views_list_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &ViewsList_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_views_list_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_views_list_set_property;
	G_OBJECT_CLASS (klass)->constructor = views_list_constructor;
	G_OBJECT_CLASS (klass)->finalize = views_list_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), VIEWS_LIST_PROJECT_PROPERTY, views_list_properties[VIEWS_LIST_PROJECT_PROPERTY] = g_param_spec_object ("project", "project", "project", OBJECTS_TYPE_PROJECT, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
	g_object_class_install_property (G_OBJECT_CLASS (klass), VIEWS_LIST_HAS_CHILDREN_PROPERTY, views_list_properties[VIEWS_LIST_HAS_CHILDREN_PROPERTY] = g_param_spec_boolean ("has-children", "has-children", "has-children", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
}

static void
views_list_instance_init (ViewsList * self,
                          gpointer klass)
{
	GeeHashMap* _tmp0_;
	GeeHashMap* _tmp1_;
	self->priv = views_list_get_instance_private (self);
	_tmp0_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, LAYOUTS_TYPE_SECTION_ROW, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
	self->sections_map = _tmp0_;
	_tmp1_ = gee_hash_map_new (G_TYPE_ULONG, NULL, NULL, G_TYPE_OBJECT, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
	self->priv->signal_map = _tmp1_;
}

static void
views_list_finalize (GObject * obj)
{
	ViewsList * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, VIEWS_TYPE_LIST, ViewsList);
	g_debug ("List.vala:55: Destroying - Views.List\n");
	_g_object_unref0 (self->priv->_project);
	_g_object_unref0 (self->priv->icon_project);
	_g_object_unref0 (self->priv->title_label);
	_g_object_unref0 (self->priv->description_widget);
	_g_object_unref0 (self->priv->due_image);
	_g_object_unref0 (self->priv->due_label);
	_g_object_unref0 (self->priv->days_left_label);
	_g_object_unref0 (self->priv->due_revealer);
	_g_object_unref0 (self->priv->pinned_items_flowbox);
	_g_object_unref0 (self->priv->listbox);
	_g_object_unref0 (self->priv->inbox_section);
	_g_object_unref0 (self->priv->listbox_placeholder_stack);
	_g_object_unref0 (self->priv->scrolled_window);
	_g_object_unref0 (self->sections_map);
	_g_object_unref0 (self->priv->signal_map);
	G_OBJECT_CLASS (views_list_parent_class)->finalize (obj);
}

static GType
views_list_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (ViewsListClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) views_list_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ViewsList), 0, (GInstanceInitFunc) views_list_instance_init, NULL };
	GType views_list_type_id;
	views_list_type_id = g_type_register_static (adw_bin_get_type (), "ViewsList", &g_define_type_info, 0);
	ViewsList_private_offset = g_type_add_instance_private (views_list_type_id, sizeof (ViewsListPrivate));
	return views_list_type_id;
}

GType
views_list_get_type (void)
{
	static volatile gsize views_list_type_id__once = 0;
	if (g_once_init_enter (&views_list_type_id__once)) {
		GType views_list_type_id;
		views_list_type_id = views_list_get_type_once ();
		g_once_init_leave (&views_list_type_id__once, views_list_type_id);
	}
	return views_list_type_id__once;
}

static void
_vala_views_list_get_property (GObject * object,
                               guint property_id,
                               GValue * value,
                               GParamSpec * pspec)
{
	ViewsList * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, VIEWS_TYPE_LIST, ViewsList);
	switch (property_id) {
		case VIEWS_LIST_PROJECT_PROPERTY:
		g_value_set_object (value, views_list_get_project (self));
		break;
		case VIEWS_LIST_HAS_CHILDREN_PROPERTY:
		g_value_set_boolean (value, views_list_get_has_children (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_views_list_set_property (GObject * object,
                               guint property_id,
                               const GValue * value,
                               GParamSpec * pspec)
{
	ViewsList * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, VIEWS_TYPE_LIST, ViewsList);
	switch (property_id) {
		case VIEWS_LIST_PROJECT_PROPERTY:
		views_list_set_project (self, g_value_get_object (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

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

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

