/* Today.c generated by valac 0.56.19, the Vala compiler
 * generated from Today.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 <gio/gio.h>
#include <pango/pango.h>
#include <float.h>
#include <math.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_TODAY (views_today_get_type ())
#define VIEWS_TODAY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIEWS_TYPE_TODAY, ViewsToday))
#define VIEWS_TODAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIEWS_TYPE_TODAY, ViewsTodayClass))
#define VIEWS_IS_TODAY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIEWS_TYPE_TODAY))
#define VIEWS_IS_TODAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIEWS_TYPE_TODAY))
#define VIEWS_TODAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIEWS_TYPE_TODAY, ViewsTodayClass))

typedef struct _ViewsToday ViewsToday;
typedef struct _ViewsTodayClass ViewsTodayClass;
typedef struct _ViewsTodayPrivate ViewsTodayPrivate;

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

#define LAYOUTS_TYPE_HEADER_BAR (layouts_header_bar_get_type ())
#define LAYOUTS_HEADER_BAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LAYOUTS_TYPE_HEADER_BAR, LayoutsHeaderBar))
#define LAYOUTS_HEADER_BAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LAYOUTS_TYPE_HEADER_BAR, LayoutsHeaderBarClass))
#define LAYOUTS_IS_HEADER_BAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LAYOUTS_TYPE_HEADER_BAR))
#define LAYOUTS_IS_HEADER_BAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LAYOUTS_TYPE_HEADER_BAR))
#define LAYOUTS_HEADER_BAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LAYOUTS_TYPE_HEADER_BAR, LayoutsHeaderBarClass))

typedef struct _LayoutsHeaderBar LayoutsHeaderBar;
typedef struct _LayoutsHeaderBarClass LayoutsHeaderBarClass;

#define WIDGETS_TYPE_EVENTS_LIST (widgets_events_list_get_type ())
#define WIDGETS_EVENTS_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WIDGETS_TYPE_EVENTS_LIST, WidgetsEventsList))
#define WIDGETS_EVENTS_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WIDGETS_TYPE_EVENTS_LIST, WidgetsEventsListClass))
#define WIDGETS_IS_EVENTS_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WIDGETS_TYPE_EVENTS_LIST))
#define WIDGETS_IS_EVENTS_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WIDGETS_TYPE_EVENTS_LIST))
#define WIDGETS_EVENTS_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WIDGETS_TYPE_EVENTS_LIST, WidgetsEventsListClass))

typedef struct _WidgetsEventsList WidgetsEventsList;
typedef struct _WidgetsEventsListClass WidgetsEventsListClass;
enum  {
	VIEWS_TODAY_0_PROPERTY,
	VIEWS_TODAY_DATE_PROPERTY,
	VIEWS_TODAY_NUM_PROPERTIES
};
static GParamSpec* views_today_properties[VIEWS_TODAY_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_date_time_unref0(var) ((var == NULL) ? NULL : (var = (g_date_time_unref (var), NULL)))

#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))
typedef struct _Block69Data Block69Data;

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

typedef struct _DialogsLabelPicker DialogsLabelPicker;
typedef struct _DialogsLabelPickerClass DialogsLabelPickerClass;
typedef struct _Block70Data Block70Data;

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

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

typedef struct _WidgetsMagicButton WidgetsMagicButton;
typedef struct _WidgetsMagicButtonClass WidgetsMagicButtonClass;

struct _ViewsToday {
	AdwBin parent_instance;
	ViewsTodayPrivate * priv;
	GeeHashMap* overdue_items;
	GeeHashMap* items;
};

struct _ViewsTodayClass {
	AdwBinClass parent_class;
};

struct _ViewsTodayPrivate {
	LayoutsHeaderBar* headerbar;
	GtkLabel* title_label;
	GtkLabel* date_label;
	WidgetsEventsList* event_list;
	GtkRevealer* event_list_revealer;
	GtkListBox* listbox;
	GtkRevealer* today_revealer;
	GtkListBox* overdue_listbox;
	GtkRevealer* overdue_revealer;
	GtkGrid* listbox_grid;
	GtkScrolledWindow* scrolled_window;
	GtkStack* listbox_placeholder_stack;
	GtkRevealer* indicator_revealer;
	WidgetsContextMenuMenuCheckPicker* priority_filter;
	WidgetsContextMenuMenuCheckPicker* assignment_filter;
	GDateTime* _date;
	GeeHashMap* signal_map;
};

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

struct _PlanifyClass {
	AdwApplicationClass parent_class;
};

struct _Block69Data {
	int _ref_count_;
	ViewsToday* self;
	WidgetsContextMenuMenuPicker* sorted_by_item;
};

struct _Block70Data {
	int _ref_count_;
	ViewsToday* self;
	GtkBox* title_box;
	WidgetsScheduleButton* reschedule_button;
	GtkBox* overdue_header_box;
	GtkBox* today_header_box;
};

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

struct _WidgetsFilterFlowBoxClass {
	AdwBinClass parent_class;
};

static gint ViewsToday_private_offset;
static gpointer views_today_parent_class = NULL;
VALA_EXTERN Planify* planify__instance;

VALA_EXTERN GType views_today_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ViewsToday, 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 GType layouts_header_bar_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LayoutsHeaderBar, g_object_unref)
VALA_EXTERN GType widgets_events_list_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WidgetsEventsList, g_object_unref)
static void views_today_check_placeholder (ViewsToday* self);
static gboolean views_today_get_overdue_has_children (ViewsToday* self);
static gboolean views_today_get_today_has_children (ViewsToday* self);
static void views_today_add_today_items (ViewsToday* self);
static void _g_object_unref0_ (gpointer var);
static inline void _g_list_free__g_object_unref0_ (GList* self);
static void views_today_add_overdue_item (ViewsToday* self,
                                   ObjectsItem* item);
VALA_EXTERN GDateTime* views_today_get_date (ViewsToday* self);
static void views_today_add_item (ViewsToday* self,
                           ObjectsItem* item);
static void views_today_update_headers (ViewsToday* 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);
VALA_EXTERN void layouts_item_row_disable_drag_and_drop (LayoutsItemRow* self);
static void views_today_valid_add_item (ViewsToday* self,
                                 ObjectsItem* item);
static void views_today_valid_delete_item (ViewsToday* self,
                                    ObjectsItem* item);
VALA_EXTERN void layouts_item_base_hide_destroy (LayoutsItemBase* self);
static void views_today_valid_update_item (ViewsToday* 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);
VALA_EXTERN void views_today_prepare_new_item (ViewsToday* 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_update_content (DialogsQuickAdd* self,
                                       const gchar* content);
VALA_EXTERN void dialogs_quick_add_set_due (DialogsQuickAdd* self,
                                GDateTime* date);
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 views_today_update_today_label (ViewsToday* self);
VALA_EXTERN void layouts_header_bar_set_subtitle (LayoutsHeaderBar* self,
                                      const gchar* value);
static gboolean views_today_is_item_assigned_to_me (ViewsToday* self,
                                             ObjectsItem* item);
static gboolean views_today_is_item_not_assigned (ViewsToday* self,
                                           ObjectsItem* item);
static GtkPopover* views_today_build_view_setting_popover (ViewsToday* self);
static Block69Data* block69_data_ref (Block69Data* _data69_);
static void block69_data_unref (void * _userdata_);
static void __lambda790_ (Block69Data* _data69_);
static void ___lambda790__g_object_notify (GObject* _sender,
                                    GParamSpec* pspec,
                                    gpointer self);
static void __lambda791_ (ViewsToday* self,
                   ObjectsFiltersFilterItem* filter,
                   gboolean active);
static void ___lambda791__widgets_context_menu_menu_check_picker_filter_change (WidgetsContextMenuMenuCheckPicker* _sender,
                                                                         ObjectsFiltersFilterItem* filter,
                                                                         gboolean active,
                                                                         gpointer self);
static void __lambda792_ (ViewsToday* self);
VALA_EXTERN GType dialogs_label_picker_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DialogsLabelPicker, g_object_unref)
VALA_EXTERN DialogsLabelPicker* dialogs_label_picker_new (LabelPickerType picker_type);
VALA_EXTERN DialogsLabelPicker* dialogs_label_picker_construct (GType object_type,
                                                    LabelPickerType picker_type);
VALA_EXTERN void dialogs_label_picker_add_labels_list (DialogsLabelPicker* self,
                                           GeeArrayList* labels_list);
VALA_EXTERN void dialogs_label_picker_set_labels (DialogsLabelPicker* self,
                                      GeeArrayList* value);
static void __lambda793_ (ViewsToday* self,
                   GeeHashMap* labels);
static void ___lambda793__dialogs_label_picker_labels_changed (DialogsLabelPicker* _sender,
                                                        GeeHashMap* labels,
                                                        gpointer self);
static void ___lambda792__widgets_context_menu_menu_item_activate_item (WidgetsContextMenuMenuItem* _sender,
                                                                 gpointer self);
static void __lambda794_ (ViewsToday* self,
                   ObjectsFiltersFilterItem* filter,
                   gboolean active);
static void ___lambda794__widgets_context_menu_menu_check_picker_filter_change (WidgetsContextMenuMenuCheckPicker* _sender,
                                                                         ObjectsFiltersFilterItem* filter,
                                                                         gboolean active,
                                                                         gpointer self);
static gint views_today_set_sort_func (ViewsToday* self,
                                GtkListBoxRow* lbrow,
                                GtkListBoxRow* lbbefore);
VALA_EXTERN ObjectsItem* layouts_item_base_get_item (LayoutsItemBase* self);
VALA_EXTERN void views_today_clean_up (ViewsToday* self);
VALA_EXTERN void layouts_item_base_clean_up (LayoutsItemBase* self);
VALA_EXTERN void widgets_events_list_clean_up (WidgetsEventsList* self);
VALA_EXTERN ViewsToday* views_today_new (void);
VALA_EXTERN ViewsToday* views_today_construct (GType object_type);
VALA_EXTERN void views_today_set_date (ViewsToday* self,
                           GDateTime* value);
static GObject * views_today_constructor (GType type,
                                   guint n_construct_properties,
                                   GObjectConstructParam * construct_properties);
static Block70Data* block70_data_ref (Block70Data* _data70_);
static void block70_data_unref (void * _userdata_);
VALA_EXTERN LayoutsHeaderBar* layouts_header_bar_new (void);
VALA_EXTERN LayoutsHeaderBar* layouts_header_bar_construct (GType object_type);
VALA_EXTERN void layouts_header_bar_set_title (LayoutsHeaderBar* self,
                                   const gchar* value);
VALA_EXTERN void layouts_header_bar_pack_end (LayoutsHeaderBar* self,
                                  GtkWidget* widget);
VALA_EXTERN WidgetsEventsList* widgets_events_list_new_for_day (GDateTime* start_date);
VALA_EXTERN WidgetsEventsList* widgets_events_list_construct_for_day (GType object_type,
                                                          GDateTime* start_date);
VALA_EXTERN gboolean widgets_events_list_get_has_items (WidgetsEventsList* self);
VALA_EXTERN GType widgets_filter_flow_box_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WidgetsFilterFlowBox, g_object_unref)
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);
static gint _views_today_set_sort_func_gtk_list_box_sort_func (GtkListBoxRow* row1,
                                                        GtkListBoxRow* row2,
                                                        gpointer self);
VALA_EXTERN GType widgets_magic_button_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WidgetsMagicButton, g_object_unref)
VALA_EXTERN WidgetsMagicButton* widgets_magic_button_new (void);
VALA_EXTERN WidgetsMagicButton* widgets_magic_button_construct (GType object_type);
static gboolean _views_today___lambda795_ (ViewsToday* self);
static gboolean __views_today___lambda795__gsource_func (gpointer self);
static void _views_today___lambda796_ (ViewsToday* self);
VALA_EXTERN void widgets_events_list_refresh (WidgetsEventsList* self,
                                  GDateTime* new_start_date,
                                  GDateTime* new_end_date);
static void __views_today___lambda796__services_event_bus_day_changed (ServicesEventBus* _sender,
                                                                gpointer self);
static void _views_today_valid_add_item_services_store_item_added (ServicesStore* _sender,
                                                            ObjectsItem* item,
                                                            gboolean insert,
                                                            gpointer self);
static void _views_today_valid_delete_item_services_store_item_deleted (ServicesStore* _sender,
                                                                 ObjectsItem* item,
                                                                 gpointer self);
static void _views_today_valid_update_item_services_store_item_updated (ServicesStore* _sender,
                                                                 ObjectsItem* item,
                                                                 const gchar* update_id,
                                                                 gpointer self);
static void _views_today_valid_delete_item_services_store_item_archived (ServicesStore* _sender,
                                                                  ObjectsItem* item,
                                                                  gpointer self);
static void _views_today_valid_add_item_services_store_item_unarchived (ServicesStore* _sender,
                                                                 ObjectsItem* item,
                                                                 gpointer self);
static void _views_today___lambda797_ (ViewsToday* self,
                                ObjectsItem* item,
                                const gchar* old_project_id,
                                const gchar* old_section_id,
                                const gchar* old_parent_id);
static void __views_today___lambda797__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 _views_today___lambda798_ (ViewsToday* self);
static void __views_today___lambda798__widgets_magic_button_clicked (WidgetsMagicButton* _sender,
                                                              gpointer self);
static void _views_today___lambda799_ (ViewsToday* self);
static void __views_today___lambda799__widgets_events_list_change (WidgetsEventsList* _sender,
                                                            gpointer self);
static void _views_today___lambda800_ (ViewsToday* self);
static void __views_today___lambda800__g_settings_changed (GSettings* _sender,
                                                    const gchar* key,
                                                    gpointer self);
static gboolean _views_today___lambda801_ (ViewsToday* self,
                                    GtkListBoxRow* row);
static gboolean __views_today___lambda801__gtk_list_box_filter_func (GtkListBoxRow* row,
                                                              gpointer self);
static gboolean _views_today___lambda802_ (ViewsToday* self,
                                    GtkListBoxRow* row);
static gboolean __views_today___lambda802__gtk_list_box_filter_func (GtkListBoxRow* row,
                                                              gpointer self);
static void _views_today___lambda803_ (ViewsToday* self);
static void __views_today___lambda803__objects_base_object_filter_added (ObjectsBaseObject* _sender,
                                                                  ObjectsFiltersFilterItem* filters,
                                                                  gpointer self);
static void _views_today___lambda804_ (ViewsToday* self,
                                ObjectsFiltersFilterItem* filter);
static void __views_today___lambda804__objects_base_object_filter_removed (ObjectsBaseObject* _sender,
                                                                    ObjectsFiltersFilterItem* filters,
                                                                    gpointer self);
static void _views_today___lambda805_ (ViewsToday* self);
static void __views_today___lambda805__objects_base_object_filter_updated (ObjectsBaseObject* _sender,
                                                                    ObjectsFiltersFilterItem* filters,
                                                                    gpointer self);
static void _views_today___lambda806_ (Block70Data* _data70_);
VALA_EXTERN void layouts_item_row_update_due (LayoutsItemRow* self,
                                  ObjectsDueDate* duedate);
static void __views_today___lambda806__widgets_schedule_button_duedate_changed (WidgetsScheduleButton* _sender,
                                                                         gpointer self);
static void _views_today___lambda807_ (ViewsToday* self);
VALA_EXTERN void layouts_header_bar_revealer_title_box (LayoutsHeaderBar* self,
                                            gboolean reveal);
static void __views_today___lambda807__gtk_adjustment_value_changed (GtkAdjustment* _sender,
                                                              gpointer self);
static void _views_today___lambda808_ (Block70Data* _data70_,
                                gboolean active);
static void __views_today___lambda808__services_event_bus_dim_content (ServicesEventBus* _sender,
                                                                gboolean active,
                                                                const gchar* focused_item_id,
                                                                gpointer self);
static void views_today_finalize (GObject * obj);
static GType views_today_get_type_once (void);
static void _vala_views_today_get_property (GObject * object,
                                     guint property_id,
                                     GValue * value,
                                     GParamSpec * pspec);
static void _vala_views_today_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_today_get_instance_private (ViewsToday* self)
{
	return G_STRUCT_MEMBER_P (self, ViewsToday_private_offset);
}

static void
views_today_check_placeholder (ViewsToday* self)
{
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_;
	gboolean _tmp2_;
	GtkListBox* _tmp7_;
	GtkListBox* _tmp8_;
	g_return_if_fail (self != NULL);
	_tmp1_ = views_today_get_overdue_has_children (self);
	_tmp2_ = _tmp1_;
	if (_tmp2_) {
		_tmp0_ = TRUE;
	} else {
		gboolean _tmp3_;
		gboolean _tmp4_;
		_tmp3_ = views_today_get_today_has_children (self);
		_tmp4_ = _tmp3_;
		_tmp0_ = _tmp4_;
	}
	if (_tmp0_) {
		GtkStack* _tmp5_;
		_tmp5_ = self->priv->listbox_placeholder_stack;
		gtk_stack_set_visible_child_name (_tmp5_, "listbox");
	} else {
		GtkStack* _tmp6_;
		_tmp6_ = self->priv->listbox_placeholder_stack;
		gtk_stack_set_visible_child_name (_tmp6_, "placeholder");
	}
	_tmp7_ = self->priv->listbox;
	gtk_list_box_invalidate_sort (_tmp7_);
	_tmp8_ = self->priv->overdue_listbox;
	gtk_list_box_invalidate_sort (_tmp8_);
}

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

static void
views_today_add_today_items (ViewsToday* self)
{
	GeeHashMap* _tmp0_;
	Util* _tmp1_;
	Util* _tmp2_;
	GtkListBox* _tmp3_;
	GList* _tmp4_;
	GList* _tmp5_;
	GeeHashMap* _tmp18_;
	Util* _tmp19_;
	Util* _tmp20_;
	GtkListBox* _tmp21_;
	GList* _tmp22_;
	GList* _tmp23_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->overdue_items;
	gee_abstract_map_clear ((GeeAbstractMap*) _tmp0_);
	_tmp1_ = util_get_default ();
	_tmp2_ = _tmp1_;
	_tmp3_ = self->priv->overdue_listbox;
	_tmp4_ = util_get_children (_tmp2_, _tmp3_);
	_tmp5_ = _tmp4_;
	_g_object_unref0 (_tmp2_);
	{
		GList* child_collection = NULL;
		GList* child_it = NULL;
		child_collection = _tmp5_;
		for (child_it = child_collection; child_it != NULL; child_it = child_it->next) {
			GtkWidget* child = NULL;
			child = (GtkWidget*) ((GtkListBoxRow*) child_it->data);
			{
				GtkListBox* _tmp6_;
				GtkWidget* _tmp7_;
				_tmp6_ = self->priv->overdue_listbox;
				_tmp7_ = child;
				gtk_list_box_remove (_tmp6_, _tmp7_);
			}
		}
		(child_collection == NULL) ? NULL : (child_collection = (_g_list_free__g_object_unref0_ (child_collection), NULL));
	}
	{
		GeeArrayList* _item_list = NULL;
		ServicesStore* _tmp8_;
		GeeArrayList* _tmp9_;
		gint _item_size = 0;
		GeeArrayList* _tmp10_;
		gint _tmp11_;
		gint _tmp12_;
		gint _item_index = 0;
		_tmp8_ = services_store_instance ();
		_tmp9_ = services_store_get_items_by_overdue_view (_tmp8_, FALSE);
		_item_list = _tmp9_;
		_tmp10_ = _item_list;
		_tmp11_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp10_);
		_tmp12_ = _tmp11_;
		_item_size = _tmp12_;
		_item_index = -1;
		while (TRUE) {
			gint _tmp13_;
			gint _tmp14_;
			ObjectsItem* item = NULL;
			GeeArrayList* _tmp15_;
			gpointer _tmp16_;
			ObjectsItem* _tmp17_;
			_item_index = _item_index + 1;
			_tmp13_ = _item_index;
			_tmp14_ = _item_size;
			if (!(_tmp13_ < _tmp14_)) {
				break;
			}
			_tmp15_ = _item_list;
			_tmp16_ = gee_abstract_list_get ((GeeAbstractList*) _tmp15_, _item_index);
			item = (ObjectsItem*) _tmp16_;
			_tmp17_ = item;
			views_today_add_overdue_item (self, _tmp17_);
			_g_object_unref0 (item);
		}
		_g_object_unref0 (_item_list);
	}
	_tmp18_ = self->items;
	gee_abstract_map_clear ((GeeAbstractMap*) _tmp18_);
	_tmp19_ = util_get_default ();
	_tmp20_ = _tmp19_;
	_tmp21_ = self->priv->listbox;
	_tmp22_ = util_get_children (_tmp20_, _tmp21_);
	_tmp23_ = _tmp22_;
	_g_object_unref0 (_tmp20_);
	{
		GList* child_collection = NULL;
		GList* child_it = NULL;
		child_collection = _tmp23_;
		for (child_it = child_collection; child_it != NULL; child_it = child_it->next) {
			GtkWidget* child = NULL;
			child = (GtkWidget*) ((GtkListBoxRow*) child_it->data);
			{
				GtkListBox* _tmp24_;
				GtkWidget* _tmp25_;
				_tmp24_ = self->priv->listbox;
				_tmp25_ = child;
				gtk_list_box_remove (_tmp24_, _tmp25_);
			}
		}
		(child_collection == NULL) ? NULL : (child_collection = (_g_list_free__g_object_unref0_ (child_collection), NULL));
	}
	{
		GeeArrayList* _item_list = NULL;
		ServicesStore* _tmp26_;
		GDateTime* _tmp27_;
		GeeArrayList* _tmp28_;
		gint _item_size = 0;
		GeeArrayList* _tmp29_;
		gint _tmp30_;
		gint _tmp31_;
		gint _item_index = 0;
		_tmp26_ = services_store_instance ();
		_tmp27_ = self->priv->_date;
		_tmp28_ = services_store_get_items_by_date (_tmp26_, _tmp27_, FALSE);
		_item_list = _tmp28_;
		_tmp29_ = _item_list;
		_tmp30_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp29_);
		_tmp31_ = _tmp30_;
		_item_size = _tmp31_;
		_item_index = -1;
		while (TRUE) {
			gint _tmp32_;
			gint _tmp33_;
			ObjectsItem* item = NULL;
			GeeArrayList* _tmp34_;
			gpointer _tmp35_;
			ObjectsItem* _tmp36_;
			_item_index = _item_index + 1;
			_tmp32_ = _item_index;
			_tmp33_ = _item_size;
			if (!(_tmp32_ < _tmp33_)) {
				break;
			}
			_tmp34_ = _item_list;
			_tmp35_ = gee_abstract_list_get ((GeeAbstractList*) _tmp34_, _item_index);
			item = (ObjectsItem*) _tmp35_;
			_tmp36_ = item;
			views_today_add_item (self, _tmp36_);
			_g_object_unref0 (item);
		}
		_g_object_unref0 (_item_list);
	}
	{
		GeeArrayList* _item_list = NULL;
		ServicesStore* _tmp37_;
		GeeArrayList* _tmp38_;
		GeeArrayList* _tmp39_;
		gint _item_size = 0;
		GeeArrayList* _tmp40_;
		gint _tmp41_;
		gint _tmp42_;
		gint _item_index = 0;
		_tmp37_ = services_store_instance ();
		_tmp38_ = services_store_get_items (_tmp37_);
		_tmp39_ = _tmp38_;
		_item_list = _tmp39_;
		_tmp40_ = _item_list;
		_tmp41_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp40_);
		_tmp42_ = _tmp41_;
		_item_size = _tmp42_;
		_item_index = -1;
		while (TRUE) {
			gint _tmp43_;
			gint _tmp44_;
			ObjectsItem* item = NULL;
			GeeArrayList* _tmp45_;
			gpointer _tmp46_;
			gboolean _tmp47_ = FALSE;
			gboolean _tmp48_ = FALSE;
			ObjectsItem* _tmp49_;
			gboolean _tmp50_;
			gboolean _tmp51_;
			_item_index = _item_index + 1;
			_tmp43_ = _item_index;
			_tmp44_ = _item_size;
			if (!(_tmp43_ < _tmp44_)) {
				break;
			}
			_tmp45_ = _item_list;
			_tmp46_ = gee_abstract_list_get ((GeeAbstractList*) _tmp45_, _item_index);
			item = (ObjectsItem*) _tmp46_;
			_tmp49_ = item;
			_tmp50_ = objects_item_get_checked (_tmp49_);
			_tmp51_ = _tmp50_;
			if (!_tmp51_) {
				ObjectsItem* _tmp52_;
				_tmp52_ = item;
				_tmp48_ = !objects_item_was_archived (_tmp52_);
			} else {
				_tmp48_ = FALSE;
			}
			if (_tmp48_) {
				ObjectsItem* _tmp53_;
				gboolean _tmp54_;
				gboolean _tmp55_;
				_tmp53_ = item;
				_tmp54_ = objects_item_get_has_deadline (_tmp53_);
				_tmp55_ = _tmp54_;
				_tmp47_ = _tmp55_;
			} else {
				_tmp47_ = FALSE;
			}
			if (_tmp47_) {
				GDateTime* deadline_date = NULL;
				ObjectsItem* _tmp56_;
				GDateTime* _tmp57_;
				GDateTime* _tmp58_;
				GDateTime* _tmp59_;
				gboolean _tmp60_ = FALSE;
				GDateTime* _tmp61_;
				_tmp56_ = item;
				_tmp57_ = objects_item_get_deadline_datetime (_tmp56_);
				_tmp58_ = _tmp57_;
				_tmp59_ = utils_datetime_get_date_only (_tmp58_);
				deadline_date = _tmp59_;
				_tmp61_ = deadline_date;
				if (utils_datetime_is_today (_tmp61_)) {
					GeeHashMap* _tmp62_;
					ObjectsItem* _tmp63_;
					const gchar* _tmp64_;
					const gchar* _tmp65_;
					_tmp62_ = self->items;
					_tmp63_ = item;
					_tmp64_ = objects_base_object_get_id ((ObjectsBaseObject*) _tmp63_);
					_tmp65_ = _tmp64_;
					_tmp60_ = !gee_abstract_map_has_key ((GeeAbstractMap*) _tmp62_, _tmp65_);
				} else {
					_tmp60_ = FALSE;
				}
				if (_tmp60_) {
					ObjectsItem* _tmp66_;
					_tmp66_ = item;
					views_today_add_item (self, _tmp66_);
				} else {
					gboolean _tmp67_ = FALSE;
					GDateTime* _tmp68_;
					_tmp68_ = deadline_date;
					if (utils_datetime_is_overdue (_tmp68_)) {
						GeeHashMap* _tmp69_;
						ObjectsItem* _tmp70_;
						const gchar* _tmp71_;
						const gchar* _tmp72_;
						_tmp69_ = self->overdue_items;
						_tmp70_ = item;
						_tmp71_ = objects_base_object_get_id ((ObjectsBaseObject*) _tmp70_);
						_tmp72_ = _tmp71_;
						_tmp67_ = !gee_abstract_map_has_key ((GeeAbstractMap*) _tmp69_, _tmp72_);
					} else {
						_tmp67_ = FALSE;
					}
					if (_tmp67_) {
						ObjectsItem* _tmp73_;
						_tmp73_ = item;
						views_today_add_overdue_item (self, _tmp73_);
					}
				}
				_g_date_time_unref0 (deadline_date);
			}
			_g_object_unref0 (item);
		}
	}
	views_today_update_headers (self);
}

static void
views_today_add_item (ViewsToday* self,
                      ObjectsItem* item)
{
	GeeHashMap* _tmp0_;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
	LayoutsItemRow* _tmp3_;
	LayoutsItemRow* _tmp4_;
	GeeHashMap* _tmp5_;
	const gchar* _tmp6_;
	const gchar* _tmp7_;
	gpointer _tmp8_;
	LayoutsItemRow* _tmp9_;
	GtkListBox* _tmp10_;
	GeeHashMap* _tmp11_;
	const gchar* _tmp12_;
	const gchar* _tmp13_;
	gpointer _tmp14_;
	LayoutsItemRow* _tmp15_;
	GtkListBox* _tmp16_;
	GtkListBox* _tmp17_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (item != NULL);
	_tmp0_ = self->items;
	_tmp1_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
	_tmp2_ = _tmp1_;
	_tmp3_ = layouts_item_row_new (item, FALSE);
	g_object_ref_sink (_tmp3_);
	_tmp4_ = _tmp3_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp0_, _tmp2_, _tmp4_);
	_g_object_unref0 (_tmp4_);
	_tmp5_ = self->items;
	_tmp6_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
	_tmp7_ = _tmp6_;
	_tmp8_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp5_, _tmp7_);
	_tmp9_ = (LayoutsItemRow*) _tmp8_;
	layouts_item_row_disable_drag_and_drop (_tmp9_);
	_g_object_unref0 (_tmp9_);
	_tmp10_ = self->priv->listbox;
	_tmp11_ = self->items;
	_tmp12_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
	_tmp13_ = _tmp12_;
	_tmp14_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp11_, _tmp13_);
	_tmp15_ = (LayoutsItemRow*) _tmp14_;
	gtk_list_box_append (_tmp10_, (GtkWidget*) _tmp15_);
	_g_object_unref0 (_tmp15_);
	views_today_update_headers (self);
	views_today_check_placeholder (self);
	_tmp16_ = self->priv->listbox;
	gtk_list_box_invalidate_filter (_tmp16_);
	_tmp17_ = self->priv->overdue_listbox;
	gtk_list_box_invalidate_filter (_tmp17_);
}

static void
views_today_add_overdue_item (ViewsToday* self,
                              ObjectsItem* item)
{
	GeeHashMap* _tmp0_;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
	LayoutsItemRow* _tmp3_;
	LayoutsItemRow* _tmp4_;
	GeeHashMap* _tmp5_;
	const gchar* _tmp6_;
	const gchar* _tmp7_;
	gpointer _tmp8_;
	LayoutsItemRow* _tmp9_;
	GtkListBox* _tmp10_;
	GeeHashMap* _tmp11_;
	const gchar* _tmp12_;
	const gchar* _tmp13_;
	gpointer _tmp14_;
	LayoutsItemRow* _tmp15_;
	GtkListBox* _tmp16_;
	GtkListBox* _tmp17_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (item != NULL);
	_tmp0_ = self->overdue_items;
	_tmp1_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
	_tmp2_ = _tmp1_;
	_tmp3_ = layouts_item_row_new (item, FALSE);
	g_object_ref_sink (_tmp3_);
	_tmp4_ = _tmp3_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp0_, _tmp2_, _tmp4_);
	_g_object_unref0 (_tmp4_);
	_tmp5_ = self->overdue_items;
	_tmp6_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
	_tmp7_ = _tmp6_;
	_tmp8_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp5_, _tmp7_);
	_tmp9_ = (LayoutsItemRow*) _tmp8_;
	layouts_item_row_disable_drag_and_drop (_tmp9_);
	_g_object_unref0 (_tmp9_);
	_tmp10_ = self->priv->overdue_listbox;
	_tmp11_ = self->overdue_items;
	_tmp12_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
	_tmp13_ = _tmp12_;
	_tmp14_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp11_, _tmp13_);
	_tmp15_ = (LayoutsItemRow*) _tmp14_;
	gtk_list_box_append (_tmp10_, (GtkWidget*) _tmp15_);
	_g_object_unref0 (_tmp15_);
	views_today_update_headers (self);
	views_today_check_placeholder (self);
	_tmp16_ = self->priv->listbox;
	gtk_list_box_invalidate_filter (_tmp16_);
	_tmp17_ = self->priv->overdue_listbox;
	gtk_list_box_invalidate_filter (_tmp17_);
}

static void
views_today_valid_add_item (ViewsToday* self,
                            ObjectsItem* item)
{
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_;
	gboolean _tmp2_;
	gboolean valid_due_today = FALSE;
	gboolean _tmp5_ = FALSE;
	gboolean _tmp6_;
	gboolean _tmp7_;
	gboolean valid_deadline_today = FALSE;
	gboolean _tmp12_ = FALSE;
	GeeHashMap* _tmp13_;
	const gchar* _tmp14_;
	const gchar* _tmp15_;
	gboolean _tmp17_ = FALSE;
	gboolean _tmp18_;
	gboolean _tmp19_;
	gboolean valid_due_overdue = FALSE;
	gboolean _tmp22_ = FALSE;
	gboolean _tmp23_;
	gboolean _tmp24_;
	gboolean valid_deadline_overdue = FALSE;
	gboolean _tmp29_ = FALSE;
	GeeHashMap* _tmp30_;
	const gchar* _tmp31_;
	const gchar* _tmp32_;
	GtkListBox* _tmp34_;
	GtkListBox* _tmp35_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (item != NULL);
	_tmp1_ = objects_item_get_has_due (item);
	_tmp2_ = _tmp1_;
	if (_tmp2_) {
		ServicesStore* _tmp3_;
		GDateTime* _tmp4_;
		_tmp3_ = services_store_instance ();
		_tmp4_ = self->priv->_date;
		_tmp0_ = services_store_valid_item_by_date (_tmp3_, item, _tmp4_, FALSE);
	} else {
		_tmp0_ = FALSE;
	}
	valid_due_today = _tmp0_;
	_tmp6_ = objects_item_get_has_deadline (item);
	_tmp7_ = _tmp6_;
	if (_tmp7_) {
		GDateTime* _tmp8_;
		GDateTime* _tmp9_;
		GDateTime* _tmp10_;
		GDateTime* _tmp11_;
		_tmp8_ = objects_item_get_deadline_datetime (item);
		_tmp9_ = _tmp8_;
		_tmp10_ = utils_datetime_get_date_only (_tmp9_);
		_tmp11_ = _tmp10_;
		_tmp5_ = utils_datetime_is_today (_tmp11_);
		_g_date_time_unref0 (_tmp11_);
	} else {
		_tmp5_ = FALSE;
	}
	valid_deadline_today = _tmp5_;
	_tmp13_ = self->items;
	_tmp14_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
	_tmp15_ = _tmp14_;
	if (!gee_abstract_map_has_key ((GeeAbstractMap*) _tmp13_, _tmp15_)) {
		gboolean _tmp16_ = FALSE;
		if (valid_due_today) {
			_tmp16_ = TRUE;
		} else {
			_tmp16_ = valid_deadline_today;
		}
		_tmp12_ = _tmp16_;
	} else {
		_tmp12_ = FALSE;
	}
	if (_tmp12_) {
		views_today_add_item (self, item);
	}
	_tmp18_ = objects_item_get_has_due (item);
	_tmp19_ = _tmp18_;
	if (_tmp19_) {
		ServicesStore* _tmp20_;
		GDateTime* _tmp21_;
		_tmp20_ = services_store_instance ();
		_tmp21_ = self->priv->_date;
		_tmp17_ = services_store_valid_item_by_overdue (_tmp20_, item, _tmp21_, FALSE);
	} else {
		_tmp17_ = FALSE;
	}
	valid_due_overdue = _tmp17_;
	_tmp23_ = objects_item_get_has_deadline (item);
	_tmp24_ = _tmp23_;
	if (_tmp24_) {
		GDateTime* _tmp25_;
		GDateTime* _tmp26_;
		GDateTime* _tmp27_;
		GDateTime* _tmp28_;
		_tmp25_ = objects_item_get_deadline_datetime (item);
		_tmp26_ = _tmp25_;
		_tmp27_ = utils_datetime_get_date_only (_tmp26_);
		_tmp28_ = _tmp27_;
		_tmp22_ = utils_datetime_is_overdue (_tmp28_);
		_g_date_time_unref0 (_tmp28_);
	} else {
		_tmp22_ = FALSE;
	}
	valid_deadline_overdue = _tmp22_;
	_tmp30_ = self->overdue_items;
	_tmp31_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
	_tmp32_ = _tmp31_;
	if (!gee_abstract_map_has_key ((GeeAbstractMap*) _tmp30_, _tmp32_)) {
		gboolean _tmp33_ = FALSE;
		if (valid_due_overdue) {
			_tmp33_ = TRUE;
		} else {
			_tmp33_ = valid_deadline_overdue;
		}
		_tmp29_ = _tmp33_;
	} else {
		_tmp29_ = FALSE;
	}
	if (_tmp29_) {
		views_today_add_overdue_item (self, item);
	}
	views_today_update_headers (self);
	views_today_check_placeholder (self);
	_tmp34_ = self->priv->listbox;
	gtk_list_box_invalidate_filter (_tmp34_);
	_tmp35_ = self->priv->overdue_listbox;
	gtk_list_box_invalidate_filter (_tmp35_);
}

static void
views_today_valid_delete_item (ViewsToday* self,
                               ObjectsItem* item)
{
	GeeHashMap* _tmp0_;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
	GeeHashMap* _tmp11_;
	const gchar* _tmp12_;
	const gchar* _tmp13_;
	GtkListBox* _tmp22_;
	GtkListBox* _tmp23_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (item != NULL);
	_tmp0_ = self->items;
	_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;
		_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;
		_tmp9_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
		_tmp10_ = _tmp9_;
		gee_abstract_map_unset ((GeeAbstractMap*) _tmp8_, _tmp10_, NULL);
	}
	_tmp11_ = self->overdue_items;
	_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->overdue_items;
		_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->overdue_items;
		_tmp20_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
		_tmp21_ = _tmp20_;
		gee_abstract_map_unset ((GeeAbstractMap*) _tmp19_, _tmp21_, NULL);
	}
	views_today_update_headers (self);
	views_today_check_placeholder (self);
	_tmp22_ = self->priv->listbox;
	gtk_list_box_invalidate_filter (_tmp22_);
	_tmp23_ = self->priv->overdue_listbox;
	gtk_list_box_invalidate_filter (_tmp23_);
}

static void
views_today_valid_update_item (ViewsToday* self,
                               ObjectsItem* item,
                               const gchar* update_id)
{
	GeeHashMap* _tmp0_;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
	GeeHashMap* _tmp16_;
	const gchar* _tmp17_;
	const gchar* _tmp18_;
	gboolean _tmp32_ = FALSE;
	gboolean _tmp33_ = FALSE;
	GeeHashMap* _tmp34_;
	const gchar* _tmp35_;
	const gchar* _tmp36_;
	gboolean _tmp51_ = FALSE;
	gboolean _tmp52_ = FALSE;
	GeeHashMap* _tmp53_;
	const gchar* _tmp54_;
	const gchar* _tmp55_;
	gboolean _tmp70_ = FALSE;
	GeeHashMap* _tmp71_;
	const gchar* _tmp72_;
	const gchar* _tmp73_;
	gboolean _tmp102_ = FALSE;
	GeeHashMap* _tmp103_;
	const gchar* _tmp104_;
	const gchar* _tmp105_;
	gboolean _tmp134_ = FALSE;
	gboolean _tmp135_;
	gboolean _tmp136_;
	GtkListBox* _tmp139_;
	GtkListBox* _tmp140_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (item != NULL);
	g_return_if_fail (update_id != NULL);
	_tmp0_ = self->items;
	_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_;
		_tmp3_ = self->items;
		_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;
			_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->overdue_items;
	_tmp17_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
	_tmp18_ = _tmp17_;
	if (gee_abstract_map_has_key ((GeeAbstractMap*) _tmp16_, _tmp18_)) {
		GeeHashMap* _tmp19_;
		const gchar* _tmp20_;
		const gchar* _tmp21_;
		gpointer _tmp22_;
		LayoutsItemRow* _tmp23_;
		const gchar* _tmp24_;
		const gchar* _tmp25_;
		gboolean _tmp26_;
		_tmp19_ = self->overdue_items;
		_tmp20_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
		_tmp21_ = _tmp20_;
		_tmp22_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp19_, _tmp21_);
		_tmp23_ = (LayoutsItemRow*) _tmp22_;
		_tmp24_ = layouts_item_base_get_update_id ((LayoutsItemBase*) _tmp23_);
		_tmp25_ = _tmp24_;
		_tmp26_ = g_strcmp0 (_tmp25_, update_id) != 0;
		_g_object_unref0 (_tmp23_);
		if (_tmp26_) {
			GeeHashMap* _tmp27_;
			const gchar* _tmp28_;
			const gchar* _tmp29_;
			gpointer _tmp30_;
			LayoutsItemRow* _tmp31_;
			_tmp27_ = self->overdue_items;
			_tmp28_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
			_tmp29_ = _tmp28_;
			_tmp30_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp27_, _tmp29_);
			_tmp31_ = (LayoutsItemRow*) _tmp30_;
			layouts_item_base_update_request ((LayoutsItemBase*) _tmp31_);
			_g_object_unref0 (_tmp31_);
		}
	}
	_tmp34_ = self->items;
	_tmp35_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
	_tmp36_ = _tmp35_;
	if (gee_abstract_map_has_key ((GeeAbstractMap*) _tmp34_, _tmp36_)) {
		gboolean _tmp37_;
		gboolean _tmp38_;
		_tmp37_ = objects_item_get_has_due (item);
		_tmp38_ = _tmp37_;
		_tmp33_ = !_tmp38_;
	} else {
		_tmp33_ = FALSE;
	}
	if (_tmp33_) {
		gboolean _tmp39_;
		gboolean _tmp40_;
		_tmp39_ = objects_item_get_has_deadline (item);
		_tmp40_ = _tmp39_;
		_tmp32_ = !_tmp40_;
	} else {
		_tmp32_ = FALSE;
	}
	if (_tmp32_) {
		GeeHashMap* _tmp41_;
		const gchar* _tmp42_;
		const gchar* _tmp43_;
		gpointer _tmp44_;
		LayoutsItemRow* _tmp45_;
		GeeHashMap* _tmp46_;
		const gchar* _tmp47_;
		const gchar* _tmp48_;
		ServicesEventBus* _tmp49_;
		ServicesEventBus* _tmp50_;
		_tmp41_ = self->items;
		_tmp42_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
		_tmp43_ = _tmp42_;
		_tmp44_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp41_, _tmp43_);
		_tmp45_ = (LayoutsItemRow*) _tmp44_;
		layouts_item_base_hide_destroy ((LayoutsItemBase*) _tmp45_);
		_g_object_unref0 (_tmp45_);
		_tmp46_ = self->items;
		_tmp47_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
		_tmp48_ = _tmp47_;
		gee_abstract_map_unset ((GeeAbstractMap*) _tmp46_, _tmp48_, NULL);
		_tmp49_ = services_event_bus_get_default ();
		_tmp50_ = _tmp49_;
		services_event_bus_unfocus_item (_tmp50_);
		_g_object_unref0 (_tmp50_);
	}
	_tmp53_ = self->overdue_items;
	_tmp54_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
	_tmp55_ = _tmp54_;
	if (gee_abstract_map_has_key ((GeeAbstractMap*) _tmp53_, _tmp55_)) {
		gboolean _tmp56_;
		gboolean _tmp57_;
		_tmp56_ = objects_item_get_has_due (item);
		_tmp57_ = _tmp56_;
		_tmp52_ = !_tmp57_;
	} else {
		_tmp52_ = FALSE;
	}
	if (_tmp52_) {
		gboolean _tmp58_;
		gboolean _tmp59_;
		_tmp58_ = objects_item_get_has_deadline (item);
		_tmp59_ = _tmp58_;
		_tmp51_ = !_tmp59_;
	} else {
		_tmp51_ = FALSE;
	}
	if (_tmp51_) {
		GeeHashMap* _tmp60_;
		const gchar* _tmp61_;
		const gchar* _tmp62_;
		gpointer _tmp63_;
		LayoutsItemRow* _tmp64_;
		GeeHashMap* _tmp65_;
		const gchar* _tmp66_;
		const gchar* _tmp67_;
		ServicesEventBus* _tmp68_;
		ServicesEventBus* _tmp69_;
		_tmp60_ = self->overdue_items;
		_tmp61_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
		_tmp62_ = _tmp61_;
		_tmp63_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp60_, _tmp62_);
		_tmp64_ = (LayoutsItemRow*) _tmp63_;
		layouts_item_base_hide_destroy ((LayoutsItemBase*) _tmp64_);
		_g_object_unref0 (_tmp64_);
		_tmp65_ = self->overdue_items;
		_tmp66_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
		_tmp67_ = _tmp66_;
		gee_abstract_map_unset ((GeeAbstractMap*) _tmp65_, _tmp67_, NULL);
		_tmp68_ = services_event_bus_get_default ();
		_tmp69_ = _tmp68_;
		services_event_bus_unfocus_item (_tmp69_);
		_g_object_unref0 (_tmp69_);
	}
	_tmp71_ = self->items;
	_tmp72_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
	_tmp73_ = _tmp72_;
	if (gee_abstract_map_has_key ((GeeAbstractMap*) _tmp71_, _tmp73_)) {
		gboolean _tmp74_ = FALSE;
		gboolean _tmp75_;
		gboolean _tmp76_;
		_tmp75_ = objects_item_get_has_due (item);
		_tmp76_ = _tmp75_;
		if (_tmp76_) {
			_tmp74_ = TRUE;
		} else {
			gboolean _tmp77_;
			gboolean _tmp78_;
			_tmp77_ = objects_item_get_has_deadline (item);
			_tmp78_ = _tmp77_;
			_tmp74_ = _tmp78_;
		}
		_tmp70_ = _tmp74_;
	} else {
		_tmp70_ = FALSE;
	}
	if (_tmp70_) {
		gboolean _tmp79_ = FALSE;
		gboolean _tmp80_;
		gboolean _tmp81_;
		gboolean valid_due = FALSE;
		gboolean _tmp84_ = FALSE;
		gboolean _tmp85_;
		gboolean _tmp86_;
		gboolean valid_deadline = FALSE;
		gboolean _tmp91_ = FALSE;
		_tmp80_ = objects_item_get_has_due (item);
		_tmp81_ = _tmp80_;
		if (_tmp81_) {
			ServicesStore* _tmp82_;
			GDateTime* _tmp83_;
			_tmp82_ = services_store_instance ();
			_tmp83_ = self->priv->_date;
			_tmp79_ = services_store_valid_item_by_date (_tmp82_, item, _tmp83_, FALSE);
		} else {
			_tmp79_ = FALSE;
		}
		valid_due = _tmp79_;
		_tmp85_ = objects_item_get_has_deadline (item);
		_tmp86_ = _tmp85_;
		if (_tmp86_) {
			GDateTime* _tmp87_;
			GDateTime* _tmp88_;
			GDateTime* _tmp89_;
			GDateTime* _tmp90_;
			_tmp87_ = objects_item_get_deadline_datetime (item);
			_tmp88_ = _tmp87_;
			_tmp89_ = utils_datetime_get_date_only (_tmp88_);
			_tmp90_ = _tmp89_;
			_tmp84_ = utils_datetime_is_today (_tmp90_);
			_g_date_time_unref0 (_tmp90_);
		} else {
			_tmp84_ = FALSE;
		}
		valid_deadline = _tmp84_;
		if (!valid_due) {
			_tmp91_ = !valid_deadline;
		} else {
			_tmp91_ = FALSE;
		}
		if (_tmp91_) {
			GeeHashMap* _tmp92_;
			const gchar* _tmp93_;
			const gchar* _tmp94_;
			gpointer _tmp95_;
			LayoutsItemRow* _tmp96_;
			GeeHashMap* _tmp97_;
			const gchar* _tmp98_;
			const gchar* _tmp99_;
			ServicesEventBus* _tmp100_;
			ServicesEventBus* _tmp101_;
			_tmp92_ = self->items;
			_tmp93_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
			_tmp94_ = _tmp93_;
			_tmp95_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp92_, _tmp94_);
			_tmp96_ = (LayoutsItemRow*) _tmp95_;
			layouts_item_base_hide_destroy ((LayoutsItemBase*) _tmp96_);
			_g_object_unref0 (_tmp96_);
			_tmp97_ = self->items;
			_tmp98_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
			_tmp99_ = _tmp98_;
			gee_abstract_map_unset ((GeeAbstractMap*) _tmp97_, _tmp99_, NULL);
			_tmp100_ = services_event_bus_get_default ();
			_tmp101_ = _tmp100_;
			services_event_bus_unfocus_item (_tmp101_);
			_g_object_unref0 (_tmp101_);
		}
	}
	_tmp103_ = self->overdue_items;
	_tmp104_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
	_tmp105_ = _tmp104_;
	if (gee_abstract_map_has_key ((GeeAbstractMap*) _tmp103_, _tmp105_)) {
		gboolean _tmp106_ = FALSE;
		gboolean _tmp107_;
		gboolean _tmp108_;
		_tmp107_ = objects_item_get_has_due (item);
		_tmp108_ = _tmp107_;
		if (_tmp108_) {
			_tmp106_ = TRUE;
		} else {
			gboolean _tmp109_;
			gboolean _tmp110_;
			_tmp109_ = objects_item_get_has_deadline (item);
			_tmp110_ = _tmp109_;
			_tmp106_ = _tmp110_;
		}
		_tmp102_ = _tmp106_;
	} else {
		_tmp102_ = FALSE;
	}
	if (_tmp102_) {
		gboolean _tmp111_ = FALSE;
		gboolean _tmp112_;
		gboolean _tmp113_;
		gboolean valid_due = FALSE;
		gboolean _tmp116_ = FALSE;
		gboolean _tmp117_;
		gboolean _tmp118_;
		gboolean valid_deadline = FALSE;
		gboolean _tmp123_ = FALSE;
		_tmp112_ = objects_item_get_has_due (item);
		_tmp113_ = _tmp112_;
		if (_tmp113_) {
			ServicesStore* _tmp114_;
			GDateTime* _tmp115_;
			_tmp114_ = services_store_instance ();
			_tmp115_ = self->priv->_date;
			_tmp111_ = services_store_valid_item_by_overdue (_tmp114_, item, _tmp115_, FALSE);
		} else {
			_tmp111_ = FALSE;
		}
		valid_due = _tmp111_;
		_tmp117_ = objects_item_get_has_deadline (item);
		_tmp118_ = _tmp117_;
		if (_tmp118_) {
			GDateTime* _tmp119_;
			GDateTime* _tmp120_;
			GDateTime* _tmp121_;
			GDateTime* _tmp122_;
			_tmp119_ = objects_item_get_deadline_datetime (item);
			_tmp120_ = _tmp119_;
			_tmp121_ = utils_datetime_get_date_only (_tmp120_);
			_tmp122_ = _tmp121_;
			_tmp116_ = utils_datetime_is_overdue (_tmp122_);
			_g_date_time_unref0 (_tmp122_);
		} else {
			_tmp116_ = FALSE;
		}
		valid_deadline = _tmp116_;
		if (!valid_due) {
			_tmp123_ = !valid_deadline;
		} else {
			_tmp123_ = FALSE;
		}
		if (_tmp123_) {
			GeeHashMap* _tmp124_;
			const gchar* _tmp125_;
			const gchar* _tmp126_;
			gpointer _tmp127_;
			LayoutsItemRow* _tmp128_;
			GeeHashMap* _tmp129_;
			const gchar* _tmp130_;
			const gchar* _tmp131_;
			ServicesEventBus* _tmp132_;
			ServicesEventBus* _tmp133_;
			_tmp124_ = self->overdue_items;
			_tmp125_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
			_tmp126_ = _tmp125_;
			_tmp127_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp124_, _tmp126_);
			_tmp128_ = (LayoutsItemRow*) _tmp127_;
			layouts_item_base_hide_destroy ((LayoutsItemBase*) _tmp128_);
			_g_object_unref0 (_tmp128_);
			_tmp129_ = self->overdue_items;
			_tmp130_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
			_tmp131_ = _tmp130_;
			gee_abstract_map_unset ((GeeAbstractMap*) _tmp129_, _tmp131_, NULL);
			_tmp132_ = services_event_bus_get_default ();
			_tmp133_ = _tmp132_;
			services_event_bus_unfocus_item (_tmp133_);
			_g_object_unref0 (_tmp133_);
		}
	}
	_tmp135_ = objects_item_get_has_due (item);
	_tmp136_ = _tmp135_;
	if (_tmp136_) {
		_tmp134_ = TRUE;
	} else {
		gboolean _tmp137_;
		gboolean _tmp138_;
		_tmp137_ = objects_item_get_has_deadline (item);
		_tmp138_ = _tmp137_;
		_tmp134_ = _tmp138_;
	}
	if (_tmp134_) {
		views_today_valid_add_item (self, item);
	}
	views_today_update_headers (self);
	views_today_check_placeholder (self);
	_tmp139_ = self->priv->listbox;
	gtk_list_box_invalidate_filter (_tmp139_);
	_tmp140_ = self->priv->overdue_listbox;
	gtk_list_box_invalidate_filter (_tmp140_);
}

void
views_today_prepare_new_item (ViewsToday* self,
                              const gchar* content)
{
	DialogsQuickAdd* dialog = NULL;
	DialogsQuickAdd* _tmp0_;
	GDateTime* _tmp1_;
	GDateTime* _tmp2_;
	GDateTime* _tmp3_;
	Planify* _tmp4_;
	MainWindow* _tmp5_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (content != NULL);
	_tmp0_ = dialogs_quick_add_new ();
	g_object_ref_sink (_tmp0_);
	dialog = _tmp0_;
	dialogs_quick_add_update_content (dialog, content);
	_tmp1_ = self->priv->_date;
	_tmp2_ = utils_datetime_get_date_only (_tmp1_);
	_tmp3_ = _tmp2_;
	dialogs_quick_add_set_due (dialog, _tmp3_);
	_g_date_time_unref0 (_tmp3_);
	_tmp4_ = planify__instance;
	_tmp5_ = _tmp4_->main_window;
	adw_dialog_present ((AdwDialog*) dialog, (GtkWidget*) _tmp5_);
	_g_object_unref0 (dialog);
}

static void
views_today_update_headers (ViewsToday* self)
{
	gboolean _tmp0_;
	gboolean _tmp1_;
	g_return_if_fail (self != NULL);
	_tmp0_ = views_today_get_overdue_has_children (self);
	_tmp1_ = _tmp0_;
	if (_tmp1_) {
		GtkRevealer* _tmp2_;
		GtkRevealer* _tmp3_;
		gboolean _tmp4_;
		gboolean _tmp5_;
		GtkGrid* _tmp6_;
		_tmp2_ = self->priv->overdue_revealer;
		gtk_revealer_set_reveal_child (_tmp2_, TRUE);
		_tmp3_ = self->priv->today_revealer;
		_tmp4_ = views_today_get_today_has_children (self);
		_tmp5_ = _tmp4_;
		gtk_revealer_set_reveal_child (_tmp3_, _tmp5_);
		_tmp6_ = self->priv->listbox_grid;
		gtk_widget_set_margin_top ((GtkWidget*) _tmp6_, 6);
	} else {
		GtkRevealer* _tmp7_;
		GtkRevealer* _tmp8_;
		GtkGrid* _tmp9_;
		_tmp7_ = self->priv->overdue_revealer;
		gtk_revealer_set_reveal_child (_tmp7_, FALSE);
		_tmp8_ = self->priv->today_revealer;
		gtk_revealer_set_reveal_child (_tmp8_, FALSE);
		_tmp9_ = self->priv->listbox_grid;
		gtk_widget_set_margin_top ((GtkWidget*) _tmp9_, 12);
	}
}

void
views_today_update_today_label (ViewsToday* self)
{
	gchar* date_format = NULL;
	GDateTime* _tmp0_;
	GDateTime* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	GDateTime* _tmp4_;
	gchar* _tmp5_;
	gchar* _tmp6_;
	gchar* _tmp7_;
	gchar* _tmp8_;
	gchar* _tmp9_;
	gchar* _tmp10_;
	GtkLabel* _tmp11_;
	LayoutsHeaderBar* _tmp12_;
	g_return_if_fail (self != NULL);
	_tmp0_ = g_date_time_new_now_local ();
	_tmp1_ = _tmp0_;
	_tmp2_ = g_date_time_format (_tmp1_, "%a");
	_tmp3_ = _tmp2_;
	_tmp4_ = self->priv->_date;
	_tmp5_ = utils_datetime_get_default_date_format (FALSE, TRUE, FALSE);
	_tmp6_ = _tmp5_;
	_tmp7_ = g_date_time_format (_tmp4_, _tmp6_);
	_tmp8_ = _tmp7_;
	_tmp9_ = g_strdup_printf ("%s %s", _tmp3_, _tmp8_);
	_tmp10_ = _tmp9_;
	_g_free0 (_tmp8_);
	_g_free0 (_tmp6_);
	_g_free0 (_tmp3_);
	_g_date_time_unref0 (_tmp1_);
	date_format = _tmp10_;
	_tmp11_ = self->priv->date_label;
	gtk_label_set_label (_tmp11_, date_format);
	_tmp12_ = self->priv->headerbar;
	layouts_header_bar_set_subtitle (_tmp12_, date_format);
	_g_free0 (date_format);
}

static gboolean
views_today_is_item_assigned_to_me (ViewsToday* self,
                                    ObjectsItem* item)
{
	const gchar* _tmp0_;
	const gchar* _tmp1_;
	ObjectsProject* project = NULL;
	ServicesStore* _tmp2_;
	const gchar* _tmp3_;
	const gchar* _tmp4_;
	ObjectsProject* _tmp5_;
	ObjectsProject* _tmp6_;
	ObjectsSource* source = NULL;
	ServicesStore* _tmp7_;
	ObjectsProject* _tmp8_;
	const gchar* _tmp9_;
	const gchar* _tmp10_;
	ObjectsSource* _tmp11_;
	gboolean _tmp12_ = FALSE;
	ObjectsSource* _tmp13_;
	const gchar* _tmp17_;
	const gchar* _tmp18_;
	ObjectsSource* _tmp19_;
	ObjectsSourceTodoistData* _tmp20_;
	ObjectsSourceTodoistData* _tmp21_;
	const gchar* _tmp22_;
	const gchar* _tmp23_;
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	g_return_val_if_fail (item != NULL, FALSE);
	_tmp0_ = objects_item_get_responsible_uid (item);
	_tmp1_ = _tmp0_;
	if (g_strcmp0 (_tmp1_, "") == 0) {
		result = FALSE;
		return result;
	}
	_tmp2_ = services_store_instance ();
	_tmp3_ = objects_item_get_project_id (item);
	_tmp4_ = _tmp3_;
	_tmp5_ = services_store_get_project (_tmp2_, _tmp4_);
	project = _tmp5_;
	_tmp6_ = project;
	if (_tmp6_ == NULL) {
		result = FALSE;
		_g_object_unref0 (project);
		return result;
	}
	_tmp7_ = services_store_instance ();
	_tmp8_ = project;
	_tmp9_ = objects_project_get_source_id (_tmp8_);
	_tmp10_ = _tmp9_;
	_tmp11_ = services_store_get_source (_tmp7_, _tmp10_);
	source = _tmp11_;
	_tmp13_ = source;
	if (_tmp13_ == NULL) {
		_tmp12_ = TRUE;
	} else {
		ObjectsSource* _tmp14_;
		SourceType _tmp15_;
		SourceType _tmp16_;
		_tmp14_ = source;
		_tmp15_ = objects_source_get_source_type (_tmp14_);
		_tmp16_ = _tmp15_;
		_tmp12_ = _tmp16_ != SOURCE_TYPE_TODOIST;
	}
	if (_tmp12_) {
		result = FALSE;
		_g_object_unref0 (source);
		_g_object_unref0 (project);
		return result;
	}
	_tmp17_ = objects_item_get_responsible_uid (item);
	_tmp18_ = _tmp17_;
	_tmp19_ = source;
	_tmp20_ = objects_source_get_todoist_data (_tmp19_);
	_tmp21_ = _tmp20_;
	_tmp22_ = objects_source_todoist_data_get_user_id (_tmp21_);
	_tmp23_ = _tmp22_;
	result = g_strcmp0 (_tmp18_, _tmp23_) == 0;
	_g_object_unref0 (source);
	_g_object_unref0 (project);
	return result;
}

static gboolean
views_today_is_item_not_assigned (ViewsToday* self,
                                  ObjectsItem* item)
{
	const gchar* _tmp0_;
	const gchar* _tmp1_;
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	g_return_val_if_fail (item != NULL, FALSE);
	_tmp0_ = objects_item_get_responsible_uid (item);
	_tmp1_ = _tmp0_;
	result = g_strcmp0 (_tmp1_, "") == 0;
	return result;
}

static Block69Data*
block69_data_ref (Block69Data* _data69_)
{
	g_atomic_int_inc (&_data69_->_ref_count_);
	return _data69_;
}

static void
block69_data_unref (void * _userdata_)
{
	Block69Data* _data69_;
	_data69_ = (Block69Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data69_->_ref_count_)) {
		ViewsToday* self;
		self = _data69_->self;
		_g_object_unref0 (_data69_->sorted_by_item);
		_g_object_unref0 (self);
		g_slice_free (Block69Data, _data69_);
	}
}

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

static void
__lambda790_ (Block69Data* _data69_)
{
	ViewsToday* self;
	ServicesSettings* _tmp0_;
	ServicesSettings* _tmp1_;
	GSettings* _tmp2_;
	const gchar* _tmp3_;
	const gchar* _tmp4_;
	self = _data69_->self;
	_tmp0_ = services_settings_get_default ();
	_tmp1_ = _tmp0_;
	_tmp2_ = _tmp1_->settings;
	_tmp3_ = widgets_context_menu_menu_picker_get_selected (_data69_->sorted_by_item);
	_tmp4_ = _tmp3_;
	g_settings_set_string (_tmp2_, "today-sort-order", _tmp4_);
	_g_object_unref0 (_tmp1_);
}

static void
___lambda790__g_object_notify (GObject* _sender,
                               GParamSpec* pspec,
                               gpointer self)
{
	__lambda790_ (self);
}

static void
__lambda791_ (ViewsToday* self,
              ObjectsFiltersFilterItem* filter,
              gboolean active)
{
	g_return_if_fail (filter != NULL);
	if (active) {
		ObjectsFiltersToday* _tmp0_;
		ObjectsFiltersToday* _tmp1_;
		_tmp0_ = objects_filters_today_get_default ();
		_tmp1_ = _tmp0_;
		objects_base_object_add_filter ((ObjectsBaseObject*) _tmp1_, filter);
		_g_object_unref0 (_tmp1_);
	} else {
		ObjectsFiltersToday* _tmp2_;
		ObjectsFiltersToday* _tmp3_;
		_tmp2_ = objects_filters_today_get_default ();
		_tmp3_ = _tmp2_;
		objects_base_object_remove_filter ((ObjectsBaseObject*) _tmp3_, filter);
		_g_object_unref0 (_tmp3_);
	}
}

static void
___lambda791__widgets_context_menu_menu_check_picker_filter_change (WidgetsContextMenuMenuCheckPicker* _sender,
                                                                    ObjectsFiltersFilterItem* filter,
                                                                    gboolean active,
                                                                    gpointer self)
{
	__lambda791_ ((ViewsToday*) self, filter, active);
}

static void
__lambda793_ (ViewsToday* self,
              GeeHashMap* labels)
{
	GeeArrayList* to_remove = NULL;
	GeeArrayList* _tmp21_;
	g_return_if_fail (labels != NULL);
	{
		GeeIterator* _label_it = NULL;
		GeeCollection* _tmp0_;
		GeeCollection* _tmp1_;
		GeeCollection* _tmp2_;
		GeeIterator* _tmp3_;
		GeeIterator* _tmp4_;
		_tmp0_ = gee_abstract_map_get_values ((GeeAbstractMap*) labels);
		_tmp1_ = _tmp0_;
		_tmp2_ = _tmp1_;
		_tmp3_ = gee_iterable_iterator ((GeeIterable*) _tmp2_);
		_tmp4_ = _tmp3_;
		_g_object_unref0 (_tmp2_);
		_label_it = _tmp4_;
		while (TRUE) {
			GeeIterator* _tmp5_;
			ObjectsLabel* label = NULL;
			GeeIterator* _tmp6_;
			gpointer _tmp7_;
			ObjectsFiltersFilterItem* filter = NULL;
			ObjectsFiltersFilterItem* _tmp8_;
			ObjectsFiltersFilterItem* _tmp9_;
			ObjectsFiltersFilterItem* _tmp10_;
			ObjectsLabel* _tmp11_;
			const gchar* _tmp12_;
			const gchar* _tmp13_;
			ObjectsFiltersFilterItem* _tmp14_;
			ObjectsLabel* _tmp15_;
			const gchar* _tmp16_;
			const gchar* _tmp17_;
			ObjectsFiltersToday* _tmp18_;
			ObjectsFiltersToday* _tmp19_;
			ObjectsFiltersFilterItem* _tmp20_;
			_tmp5_ = _label_it;
			if (!gee_iterator_next (_tmp5_)) {
				break;
			}
			_tmp6_ = _label_it;
			_tmp7_ = gee_iterator_get (_tmp6_);
			label = (ObjectsLabel*) _tmp7_;
			_tmp8_ = objects_filters_filter_item_new ();
			filter = _tmp8_;
			_tmp9_ = filter;
			objects_filters_filter_item_set_filter_type (_tmp9_, FILTER_ITEM_TYPE_LABEL);
			_tmp10_ = filter;
			_tmp11_ = label;
			_tmp12_ = objects_base_object_get_name ((ObjectsBaseObject*) _tmp11_);
			_tmp13_ = _tmp12_;
			objects_filters_filter_item_set_name (_tmp10_, _tmp13_);
			_tmp14_ = filter;
			_tmp15_ = label;
			_tmp16_ = objects_base_object_get_id ((ObjectsBaseObject*) _tmp15_);
			_tmp17_ = _tmp16_;
			objects_filters_filter_item_set_value (_tmp14_, _tmp17_);
			_tmp18_ = objects_filters_today_get_default ();
			_tmp19_ = _tmp18_;
			_tmp20_ = filter;
			objects_base_object_add_filter ((ObjectsBaseObject*) _tmp19_, _tmp20_);
			_g_object_unref0 (_tmp19_);
			_g_object_unref0 (filter);
			_g_object_unref0 (label);
		}
		_g_object_unref0 (_label_it);
	}
	_tmp21_ = gee_array_list_new (OBJECTS_FILTERS_TYPE_FILTER_ITEM, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
	to_remove = _tmp21_;
	{
		GeeIterator* _filter_it = NULL;
		ObjectsFiltersToday* _tmp22_;
		ObjectsFiltersToday* _tmp23_;
		GeeHashMap* _tmp24_;
		GeeCollection* _tmp25_;
		GeeCollection* _tmp26_;
		GeeCollection* _tmp27_;
		GeeIterator* _tmp28_;
		GeeIterator* _tmp29_;
		_tmp22_ = objects_filters_today_get_default ();
		_tmp23_ = _tmp22_;
		_tmp24_ = ((ObjectsBaseObject*) _tmp23_)->filters;
		_tmp25_ = gee_abstract_map_get_values ((GeeAbstractMap*) _tmp24_);
		_tmp26_ = _tmp25_;
		_tmp27_ = _tmp26_;
		_tmp28_ = gee_iterable_iterator ((GeeIterable*) _tmp27_);
		_tmp29_ = _tmp28_;
		_g_object_unref0 (_tmp27_);
		_g_object_unref0 (_tmp23_);
		_filter_it = _tmp29_;
		while (TRUE) {
			GeeIterator* _tmp30_;
			ObjectsFiltersFilterItem* filter = NULL;
			GeeIterator* _tmp31_;
			gpointer _tmp32_;
			ObjectsFiltersFilterItem* _tmp33_;
			FilterItemType _tmp34_;
			FilterItemType _tmp35_;
			_tmp30_ = _filter_it;
			if (!gee_iterator_next (_tmp30_)) {
				break;
			}
			_tmp31_ = _filter_it;
			_tmp32_ = gee_iterator_get (_tmp31_);
			filter = (ObjectsFiltersFilterItem*) _tmp32_;
			_tmp33_ = filter;
			_tmp34_ = objects_filters_filter_item_get_filter_type (_tmp33_);
			_tmp35_ = _tmp34_;
			if (_tmp35_ == FILTER_ITEM_TYPE_LABEL) {
				ObjectsFiltersFilterItem* _tmp36_;
				const gchar* _tmp37_;
				const gchar* _tmp38_;
				_tmp36_ = filter;
				_tmp37_ = objects_filters_filter_item_get_value (_tmp36_);
				_tmp38_ = _tmp37_;
				if (!gee_abstract_map_has_key ((GeeAbstractMap*) labels, _tmp38_)) {
					GeeArrayList* _tmp39_;
					ObjectsFiltersFilterItem* _tmp40_;
					_tmp39_ = to_remove;
					_tmp40_ = filter;
					gee_abstract_collection_add ((GeeAbstractCollection*) _tmp39_, _tmp40_);
				}
			}
			_g_object_unref0 (filter);
		}
		_g_object_unref0 (_filter_it);
	}
	{
		GeeArrayList* _filter_list = NULL;
		GeeArrayList* _tmp41_;
		gint _filter_size = 0;
		GeeArrayList* _tmp42_;
		gint _tmp43_;
		gint _tmp44_;
		gint _filter_index = 0;
		_tmp41_ = to_remove;
		_filter_list = _tmp41_;
		_tmp42_ = _filter_list;
		_tmp43_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp42_);
		_tmp44_ = _tmp43_;
		_filter_size = _tmp44_;
		_filter_index = -1;
		while (TRUE) {
			gint _tmp45_;
			gint _tmp46_;
			ObjectsFiltersFilterItem* filter = NULL;
			GeeArrayList* _tmp47_;
			gpointer _tmp48_;
			ObjectsFiltersToday* _tmp49_;
			ObjectsFiltersToday* _tmp50_;
			ObjectsFiltersFilterItem* _tmp51_;
			_filter_index = _filter_index + 1;
			_tmp45_ = _filter_index;
			_tmp46_ = _filter_size;
			if (!(_tmp45_ < _tmp46_)) {
				break;
			}
			_tmp47_ = _filter_list;
			_tmp48_ = gee_abstract_list_get ((GeeAbstractList*) _tmp47_, _filter_index);
			filter = (ObjectsFiltersFilterItem*) _tmp48_;
			_tmp49_ = objects_filters_today_get_default ();
			_tmp50_ = _tmp49_;
			_tmp51_ = filter;
			objects_base_object_remove_filter ((ObjectsBaseObject*) _tmp50_, _tmp51_);
			_g_object_unref0 (_tmp50_);
			_g_object_unref0 (filter);
		}
	}
	_g_object_unref0 (to_remove);
}

static void
___lambda793__dialogs_label_picker_labels_changed (DialogsLabelPicker* _sender,
                                                   GeeHashMap* labels,
                                                   gpointer self)
{
	__lambda793_ ((ViewsToday*) self, labels);
}

static void
__lambda792_ (ViewsToday* self)
{
	GeeArrayList* _labels = NULL;
	GeeArrayList* _tmp0_;
	DialogsLabelPicker* dialog = NULL;
	DialogsLabelPicker* _tmp22_;
	ServicesStore* _tmp23_;
	GeeArrayList* _tmp24_;
	GeeArrayList* _tmp25_;
	GeeArrayList* _tmp26_;
	GeeHashMap* _tmp27_;
	gulong _tmp28_;
	DialogsLabelPicker* _tmp29_;
	Planify* _tmp30_;
	MainWindow* _tmp31_;
	_tmp0_ = gee_array_list_new (OBJECTS_TYPE_LABEL, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
	_labels = _tmp0_;
	{
		GeeIterator* _filter_it = NULL;
		ObjectsFiltersToday* _tmp1_;
		ObjectsFiltersToday* _tmp2_;
		GeeHashMap* _tmp3_;
		GeeCollection* _tmp4_;
		GeeCollection* _tmp5_;
		GeeCollection* _tmp6_;
		GeeIterator* _tmp7_;
		GeeIterator* _tmp8_;
		_tmp1_ = objects_filters_today_get_default ();
		_tmp2_ = _tmp1_;
		_tmp3_ = ((ObjectsBaseObject*) _tmp2_)->filters;
		_tmp4_ = gee_abstract_map_get_values ((GeeAbstractMap*) _tmp3_);
		_tmp5_ = _tmp4_;
		_tmp6_ = _tmp5_;
		_tmp7_ = gee_iterable_iterator ((GeeIterable*) _tmp6_);
		_tmp8_ = _tmp7_;
		_g_object_unref0 (_tmp6_);
		_g_object_unref0 (_tmp2_);
		_filter_it = _tmp8_;
		while (TRUE) {
			GeeIterator* _tmp9_;
			ObjectsFiltersFilterItem* filter = NULL;
			GeeIterator* _tmp10_;
			gpointer _tmp11_;
			ObjectsFiltersFilterItem* _tmp12_;
			FilterItemType _tmp13_;
			FilterItemType _tmp14_;
			_tmp9_ = _filter_it;
			if (!gee_iterator_next (_tmp9_)) {
				break;
			}
			_tmp10_ = _filter_it;
			_tmp11_ = gee_iterator_get (_tmp10_);
			filter = (ObjectsFiltersFilterItem*) _tmp11_;
			_tmp12_ = filter;
			_tmp13_ = objects_filters_filter_item_get_filter_type (_tmp12_);
			_tmp14_ = _tmp13_;
			if (_tmp14_ == FILTER_ITEM_TYPE_LABEL) {
				GeeArrayList* _tmp15_;
				ServicesStore* _tmp16_;
				ObjectsFiltersFilterItem* _tmp17_;
				const gchar* _tmp18_;
				const gchar* _tmp19_;
				ObjectsLabel* _tmp20_;
				ObjectsLabel* _tmp21_;
				_tmp15_ = _labels;
				_tmp16_ = services_store_instance ();
				_tmp17_ = filter;
				_tmp18_ = objects_filters_filter_item_get_value (_tmp17_);
				_tmp19_ = _tmp18_;
				_tmp20_ = services_store_get_label (_tmp16_, _tmp19_);
				_tmp21_ = _tmp20_;
				gee_abstract_collection_add ((GeeAbstractCollection*) _tmp15_, _tmp21_);
				_g_object_unref0 (_tmp21_);
			}
			_g_object_unref0 (filter);
		}
		_g_object_unref0 (_filter_it);
	}
	_tmp22_ = dialogs_label_picker_new (LABEL_PICKER_TYPE_FILTER_ONLY);
	g_object_ref_sink (_tmp22_);
	dialog = _tmp22_;
	_tmp23_ = services_store_instance ();
	_tmp24_ = services_store_get_labels (_tmp23_);
	_tmp25_ = _tmp24_;
	dialogs_label_picker_add_labels_list (dialog, _tmp25_);
	_tmp26_ = _labels;
	dialogs_label_picker_set_labels (dialog, _tmp26_);
	_tmp27_ = self->priv->signal_map;
	_tmp28_ = g_signal_connect_object (dialog, "labels-changed", (GCallback) ___lambda793__dialogs_label_picker_labels_changed, self, 0);
	_tmp29_ = dialog;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp27_, (gpointer) ((guintptr) _tmp28_), (GObject*) _tmp29_);
	_tmp30_ = planify__instance;
	_tmp31_ = _tmp30_->main_window;
	adw_dialog_present ((AdwDialog*) dialog, (GtkWidget*) _tmp31_);
	_g_object_unref0 (dialog);
	_g_object_unref0 (_labels);
}

static void
___lambda792__widgets_context_menu_menu_item_activate_item (WidgetsContextMenuMenuItem* _sender,
                                                            gpointer self)
{
	__lambda792_ ((ViewsToday*) self);
}

static void
__lambda794_ (ViewsToday* self,
              ObjectsFiltersFilterItem* filter,
              gboolean active)
{
	g_return_if_fail (filter != NULL);
	if (active) {
		ObjectsFiltersToday* _tmp0_;
		ObjectsFiltersToday* _tmp1_;
		_tmp0_ = objects_filters_today_get_default ();
		_tmp1_ = _tmp0_;
		objects_base_object_add_filter ((ObjectsBaseObject*) _tmp1_, filter);
		_g_object_unref0 (_tmp1_);
	} else {
		ObjectsFiltersToday* _tmp2_;
		ObjectsFiltersToday* _tmp3_;
		_tmp2_ = objects_filters_today_get_default ();
		_tmp3_ = _tmp2_;
		objects_base_object_remove_filter ((ObjectsBaseObject*) _tmp3_, filter);
		_g_object_unref0 (_tmp3_);
	}
}

static void
___lambda794__widgets_context_menu_menu_check_picker_filter_change (WidgetsContextMenuMenuCheckPicker* _sender,
                                                                    ObjectsFiltersFilterItem* filter,
                                                                    gboolean active,
                                                                    gpointer self)
{
	__lambda794_ ((ViewsToday*) self, filter, active);
}

static GtkPopover*
views_today_build_view_setting_popover (ViewsToday* self)
{
	Block69Data* _data69_;
	ServicesSettings* _tmp0_;
	ServicesSettings* _tmp1_;
	GSettings* _tmp2_;
	gchar* _tmp3_;
	WidgetsContextMenuMenuPicker* _tmp4_ = NULL;
	WidgetsContextMenuMenuPicker* _tmp5_;
	gchar* _tmp6_;
	gchar* _tmp7_;
	gchar* _tmp8_;
	gchar* _tmp9_;
	gchar* _tmp10_;
	gchar* _tmp11_;
	gchar* _tmp12_;
	gchar* _tmp13_;
	gchar* _tmp14_;
	gchar* _tmp15_;
	GeeArrayList* priority_items = NULL;
	GeeArrayList* _tmp16_;
	gchar* _tmp17_;
	gchar* _tmp18_;
	ObjectsFiltersFilterItem* _tmp19_ = NULL;
	ObjectsFiltersFilterItem* _tmp20_;
	gchar* _tmp21_;
	gchar* _tmp22_;
	ObjectsFiltersFilterItem* _tmp23_ = NULL;
	ObjectsFiltersFilterItem* _tmp24_;
	gchar* _tmp25_;
	gchar* _tmp26_;
	ObjectsFiltersFilterItem* _tmp27_ = NULL;
	ObjectsFiltersFilterItem* _tmp28_;
	gchar* _tmp29_;
	gchar* _tmp30_;
	ObjectsFiltersFilterItem* _tmp31_ = NULL;
	ObjectsFiltersFilterItem* _tmp32_;
	WidgetsContextMenuMenuCheckPicker* _tmp33_;
	WidgetsContextMenuMenuCheckPicker* _tmp34_;
	WidgetsContextMenuMenuItem* labels_filter = NULL;
	WidgetsContextMenuMenuItem* _tmp35_ = NULL;
	GeeArrayList* assignment_items = NULL;
	GeeArrayList* _tmp36_;
	ObjectsFiltersFilterItem* assigned_to_me_item = NULL;
	gchar* _tmp37_;
	gchar* _tmp38_;
	ObjectsFiltersFilterItem* _tmp39_ = NULL;
	ObjectsFiltersFilterItem* not_assigned_item = NULL;
	gchar* _tmp40_;
	gchar* _tmp41_;
	ObjectsFiltersFilterItem* _tmp42_ = NULL;
	WidgetsContextMenuMenuCheckPicker* _tmp43_;
	WidgetsContextMenuMenuCheckPicker* _tmp44_;
	GtkBox* menu_box = NULL;
	GtkBox* _tmp45_;
	WidgetsContextMenuMenuSeparator* _tmp46_;
	WidgetsContextMenuMenuSeparator* _tmp47_;
	gchar* _tmp48_;
	gchar* _tmp49_;
	gchar** _tmp50_;
	GtkLabel* _tmp51_ = NULL;
	GtkLabel* _tmp52_;
	WidgetsContextMenuMenuCheckPicker* _tmp53_;
	WidgetsContextMenuMenuCheckPicker* _tmp54_;
	GtkPopover* popover = NULL;
	GtkWidget* _tmp55_;
	GtkPopover* _tmp56_ = NULL;
	GeeHashMap* _tmp57_;
	gulong _tmp58_;
	GeeHashMap* _tmp59_;
	WidgetsContextMenuMenuCheckPicker* _tmp60_;
	gulong _tmp61_;
	WidgetsContextMenuMenuCheckPicker* _tmp62_;
	GeeHashMap* _tmp63_;
	gulong _tmp64_;
	WidgetsContextMenuMenuItem* _tmp65_;
	GeeHashMap* _tmp66_;
	WidgetsContextMenuMenuCheckPicker* _tmp67_;
	gulong _tmp68_;
	WidgetsContextMenuMenuCheckPicker* _tmp69_;
	GtkPopover* result;
	g_return_val_if_fail (self != NULL, NULL);
	_data69_ = g_slice_new0 (Block69Data);
	_data69_->_ref_count_ = 1;
	_data69_->self = g_object_ref (self);
	_tmp0_ = services_settings_get_default ();
	_tmp1_ = _tmp0_;
	_tmp2_ = _tmp1_->settings;
	_tmp3_ = g_settings_get_string (_tmp2_, "today-sort-order");
	_tmp4_ = widgets_context_menu_menu_picker_new (_ ("Sorting"), "vertical-arrows-long-symbolic");
	widgets_context_menu_menu_picker_set_selected (_tmp4_, _tmp3_);
	_g_free0 (_tmp3_);
	g_object_ref_sink (_tmp4_);
	_tmp5_ = _tmp4_;
	_g_object_unref0 (_tmp1_);
	_data69_->sorted_by_item = _tmp5_;
	_tmp6_ = sorted_by_type_to_string (SORTED_BY_TYPE_NAME);
	_tmp7_ = _tmp6_;
	widgets_context_menu_menu_picker_add_item (_data69_->sorted_by_item, _ ("Alphabetically"), _tmp7_);
	_g_free0 (_tmp7_);
	_tmp8_ = sorted_by_type_to_string (SORTED_BY_TYPE_DUE_DATE);
	_tmp9_ = _tmp8_;
	widgets_context_menu_menu_picker_add_item (_data69_->sorted_by_item, _ ("Due Date"), _tmp9_);
	_g_free0 (_tmp9_);
	_tmp10_ = sorted_by_type_to_string (SORTED_BY_TYPE_ADDED_DATE);
	_tmp11_ = _tmp10_;
	widgets_context_menu_menu_picker_add_item (_data69_->sorted_by_item, _ ("Date Added"), _tmp11_);
	_g_free0 (_tmp11_);
	_tmp12_ = sorted_by_type_to_string (SORTED_BY_TYPE_UPDATED_DATE);
	_tmp13_ = _tmp12_;
	widgets_context_menu_menu_picker_add_item (_data69_->sorted_by_item, _ ("Date Modified"), _tmp13_);
	_g_free0 (_tmp13_);
	_tmp14_ = sorted_by_type_to_string (SORTED_BY_TYPE_PRIORITY);
	_tmp15_ = _tmp14_;
	widgets_context_menu_menu_picker_add_item (_data69_->sorted_by_item, _ ("Priority"), _tmp15_);
	_g_free0 (_tmp15_);
	_tmp16_ = gee_array_list_new (OBJECTS_FILTERS_TYPE_FILTER_ITEM, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
	priority_items = _tmp16_;
	_tmp17_ = g_strdup (_ ("P1"));
	_tmp18_ = g_strdup_printf ("%i", CONSTANTS_PRIORITY_1);
	_tmp19_ = objects_filters_filter_item_new ();
	objects_filters_filter_item_set_filter_type (_tmp19_, FILTER_ITEM_TYPE_PRIORITY);
	objects_filters_filter_item_set_name (_tmp19_, _tmp17_);
	_g_free0 (_tmp17_);
	objects_filters_filter_item_set_value (_tmp19_, _tmp18_);
	_g_free0 (_tmp18_);
	_tmp20_ = _tmp19_;
	gee_abstract_collection_add ((GeeAbstractCollection*) priority_items, _tmp20_);
	_g_object_unref0 (_tmp20_);
	_tmp21_ = g_strdup (_ ("P2"));
	_tmp22_ = g_strdup_printf ("%i", CONSTANTS_PRIORITY_2);
	_tmp23_ = objects_filters_filter_item_new ();
	objects_filters_filter_item_set_filter_type (_tmp23_, FILTER_ITEM_TYPE_PRIORITY);
	objects_filters_filter_item_set_name (_tmp23_, _tmp21_);
	_g_free0 (_tmp21_);
	objects_filters_filter_item_set_value (_tmp23_, _tmp22_);
	_g_free0 (_tmp22_);
	_tmp24_ = _tmp23_;
	gee_abstract_collection_add ((GeeAbstractCollection*) priority_items, _tmp24_);
	_g_object_unref0 (_tmp24_);
	_tmp25_ = g_strdup (_ ("P3"));
	_tmp26_ = g_strdup_printf ("%i", CONSTANTS_PRIORITY_3);
	_tmp27_ = objects_filters_filter_item_new ();
	objects_filters_filter_item_set_filter_type (_tmp27_, FILTER_ITEM_TYPE_PRIORITY);
	objects_filters_filter_item_set_name (_tmp27_, _tmp25_);
	_g_free0 (_tmp25_);
	objects_filters_filter_item_set_value (_tmp27_, _tmp26_);
	_g_free0 (_tmp26_);
	_tmp28_ = _tmp27_;
	gee_abstract_collection_add ((GeeAbstractCollection*) priority_items, _tmp28_);
	_g_object_unref0 (_tmp28_);
	_tmp29_ = g_strdup (_ ("P4"));
	_tmp30_ = g_strdup_printf ("%i", CONSTANTS_PRIORITY_4);
	_tmp31_ = objects_filters_filter_item_new ();
	objects_filters_filter_item_set_filter_type (_tmp31_, FILTER_ITEM_TYPE_PRIORITY);
	objects_filters_filter_item_set_name (_tmp31_, _tmp29_);
	_g_free0 (_tmp29_);
	objects_filters_filter_item_set_value (_tmp31_, _tmp30_);
	_g_free0 (_tmp30_);
	_tmp32_ = _tmp31_;
	gee_abstract_collection_add ((GeeAbstractCollection*) priority_items, _tmp32_);
	_g_object_unref0 (_tmp32_);
	_tmp33_ = widgets_context_menu_menu_check_picker_new (_ ("Priority"), "flag-outline-thick-symbolic");
	g_object_ref_sink (_tmp33_);
	_g_object_unref0 (self->priv->priority_filter);
	self->priv->priority_filter = _tmp33_;
	_tmp34_ = self->priv->priority_filter;
	widgets_context_menu_menu_check_picker_set_items (_tmp34_, priority_items);
	_tmp35_ = widgets_context_menu_menu_item_new (_ ("Filter by Labels"), "tag-outline-symbolic");
	widgets_context_menu_menu_item_set_arrow (_tmp35_, TRUE);
	g_object_ref_sink (_tmp35_);
	labels_filter = _tmp35_;
	_tmp36_ = gee_array_list_new (OBJECTS_FILTERS_TYPE_FILTER_ITEM, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
	assignment_items = _tmp36_;
	_tmp37_ = g_strdup (_ ("Me"));
	_tmp38_ = g_strdup ("me");
	_tmp39_ = objects_filters_filter_item_new ();
	objects_filters_filter_item_set_filter_type (_tmp39_, FILTER_ITEM_TYPE_ASSIGNMENT);
	objects_filters_filter_item_set_name (_tmp39_, _tmp37_);
	_g_free0 (_tmp37_);
	objects_filters_filter_item_set_value (_tmp39_, _tmp38_);
	_g_free0 (_tmp38_);
	assigned_to_me_item = _tmp39_;
	gee_abstract_collection_add ((GeeAbstractCollection*) assignment_items, assigned_to_me_item);
	_tmp40_ = g_strdup (_ ("None"));
	_tmp41_ = g_strdup ("none");
	_tmp42_ = objects_filters_filter_item_new ();
	objects_filters_filter_item_set_filter_type (_tmp42_, FILTER_ITEM_TYPE_ASSIGNMENT);
	objects_filters_filter_item_set_name (_tmp42_, _tmp40_);
	_g_free0 (_tmp40_);
	objects_filters_filter_item_set_value (_tmp42_, _tmp41_);
	_g_free0 (_tmp41_);
	not_assigned_item = _tmp42_;
	gee_abstract_collection_add ((GeeAbstractCollection*) assignment_items, not_assigned_item);
	_tmp43_ = widgets_context_menu_menu_check_picker_new (_ ("Assignment"), "avatar-default-symbolic");
	g_object_ref_sink (_tmp43_);
	_g_object_unref0 (self->priv->assignment_filter);
	self->priv->assignment_filter = _tmp43_;
	_tmp44_ = self->priv->assignment_filter;
	widgets_context_menu_menu_check_picker_set_items (_tmp44_, assignment_items);
	_tmp45_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
	g_object_ref_sink (_tmp45_);
	menu_box = _tmp45_;
	gtk_widget_set_margin_bottom ((GtkWidget*) menu_box, 3);
	gtk_widget_set_margin_top ((GtkWidget*) menu_box, 3);
	gtk_box_append (menu_box, (GtkWidget*) _data69_->sorted_by_item);
	_tmp46_ = widgets_context_menu_menu_separator_new ();
	g_object_ref_sink (_tmp46_);
	_tmp47_ = _tmp46_;
	gtk_box_append (menu_box, (GtkWidget*) _tmp47_);
	_g_object_unref0 (_tmp47_);
	_tmp48_ = g_strdup ("heading");
	_tmp49_ = g_strdup ("h4");
	_tmp50_ = g_new0 (gchar*, 2 + 1);
	_tmp50_[0] = _tmp48_;
	_tmp50_[1] = _tmp49_;
	_tmp51_ = (GtkLabel*) gtk_label_new (_ ("Filter By"));
	gtk_widget_set_css_classes ((GtkWidget*) _tmp51_, _tmp50_);
	_tmp50_ = (_vala_array_free (_tmp50_, 2, (GDestroyNotify) g_free), NULL);
	gtk_widget_set_margin_start ((GtkWidget*) _tmp51_, 6);
	gtk_widget_set_margin_top ((GtkWidget*) _tmp51_, 6);
	gtk_widget_set_margin_bottom ((GtkWidget*) _tmp51_, 6);
	gtk_widget_set_halign ((GtkWidget*) _tmp51_, GTK_ALIGN_START);
	g_object_ref_sink (_tmp51_);
	_tmp52_ = _tmp51_;
	gtk_box_append (menu_box, (GtkWidget*) _tmp52_);
	_g_object_unref0 (_tmp52_);
	_tmp53_ = self->priv->priority_filter;
	gtk_box_append (menu_box, (GtkWidget*) _tmp53_);
	gtk_box_append (menu_box, (GtkWidget*) labels_filter);
	_tmp54_ = self->priv->assignment_filter;
	gtk_box_append (menu_box, (GtkWidget*) _tmp54_);
	_tmp55_ = _g_object_ref0 ((GtkWidget*) menu_box);
	_tmp56_ = (GtkPopover*) gtk_popover_new ();
	gtk_popover_set_has_arrow (_tmp56_, FALSE);
	gtk_popover_set_position (_tmp56_, GTK_POS_BOTTOM);
	gtk_popover_set_child (_tmp56_, _tmp55_);
	_g_object_unref0 (_tmp55_);
	g_object_set ((GtkWidget*) _tmp56_, "width-request", 250, NULL);
	g_object_ref_sink (_tmp56_);
	popover = _tmp56_;
	_tmp57_ = self->priv->signal_map;
	_tmp58_ = g_signal_connect_data ((GObject*) _data69_->sorted_by_item, "notify::selected", (GCallback) ___lambda790__g_object_notify, block69_data_ref (_data69_), (GClosureNotify) block69_data_unref, 0);
	gee_abstract_map_set ((GeeAbstractMap*) _tmp57_, (gpointer) ((guintptr) _tmp58_), (GObject*) _data69_->sorted_by_item);
	_tmp59_ = self->priv->signal_map;
	_tmp60_ = self->priv->priority_filter;
	_tmp61_ = g_signal_connect_object (_tmp60_, "filter-change", (GCallback) ___lambda791__widgets_context_menu_menu_check_picker_filter_change, self, 0);
	_tmp62_ = self->priv->priority_filter;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp59_, (gpointer) ((guintptr) _tmp61_), (GObject*) _tmp62_);
	_tmp63_ = self->priv->signal_map;
	_tmp64_ = g_signal_connect_object (labels_filter, "activate-item", (GCallback) ___lambda792__widgets_context_menu_menu_item_activate_item, self, 0);
	_tmp65_ = labels_filter;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp63_, (gpointer) ((guintptr) _tmp64_), (GObject*) _tmp65_);
	_tmp66_ = self->priv->signal_map;
	_tmp67_ = self->priv->assignment_filter;
	_tmp68_ = g_signal_connect_object (_tmp67_, "filter-change", (GCallback) ___lambda794__widgets_context_menu_menu_check_picker_filter_change, self, 0);
	_tmp69_ = self->priv->assignment_filter;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp66_, (gpointer) ((guintptr) _tmp68_), (GObject*) _tmp69_);
	result = popover;
	_g_object_unref0 (menu_box);
	_g_object_unref0 (not_assigned_item);
	_g_object_unref0 (assigned_to_me_item);
	_g_object_unref0 (assignment_items);
	_g_object_unref0 (labels_filter);
	_g_object_unref0 (priority_items);
	block69_data_unref (_data69_);
	_data69_ = NULL;
	return result;
}

static gint
views_today_set_sort_func (ViewsToday* self,
                           GtkListBoxRow* lbrow,
                           GtkListBoxRow* lbbefore)
{
	ObjectsItem* item1 = NULL;
	ObjectsItem* _tmp0_;
	ObjectsItem* _tmp1_;
	ObjectsItem* _tmp2_;
	ObjectsItem* item2 = NULL;
	ObjectsItem* _tmp3_;
	ObjectsItem* _tmp4_;
	ObjectsItem* _tmp5_;
	SortedByType sorted_by = 0;
	ServicesSettings* _tmp6_;
	ServicesSettings* _tmp7_;
	GSettings* _tmp8_;
	gchar* _tmp9_;
	gchar* _tmp10_;
	SortedByType _tmp11_;
	Util* _tmp12_;
	Util* _tmp13_;
	gint _tmp14_;
	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_ = services_settings_get_default ();
	_tmp7_ = _tmp6_;
	_tmp8_ = _tmp7_->settings;
	_tmp9_ = g_settings_get_string (_tmp8_, "today-sort-order");
	_tmp10_ = _tmp9_;
	_tmp11_ = sorted_by_type_parse (_tmp10_);
	_g_free0 (_tmp10_);
	_g_object_unref0 (_tmp7_);
	sorted_by = _tmp11_;
	_tmp12_ = util_get_default ();
	_tmp13_ = _tmp12_;
	_tmp14_ = util_set_item_sort_func (_tmp13_, item1, item2, sorted_by, SORT_ORDER_TYPE_ASC);
	_g_object_unref0 (_tmp13_);
	result = _tmp14_;
	_g_object_unref0 (item2);
	_g_object_unref0 (item1);
	return result;
}

void
views_today_clean_up (ViewsToday* self)
{
	GtkListBox* _tmp0_;
	GtkListBox* _tmp1_;
	Util* _tmp2_;
	Util* _tmp3_;
	GtkListBox* _tmp4_;
	GList* _tmp5_;
	GList* _tmp6_;
	GtkListBox* _tmp9_;
	GtkListBox* _tmp10_;
	Util* _tmp11_;
	Util* _tmp12_;
	GtkListBox* _tmp13_;
	GList* _tmp14_;
	GList* _tmp15_;
	GeeHashMap* _tmp43_;
	WidgetsEventsList* _tmp44_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->listbox;
	gtk_list_box_set_filter_func (_tmp0_, NULL, NULL, NULL);
	_tmp1_ = self->priv->listbox;
	gtk_list_box_set_sort_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_ = self->priv->overdue_listbox;
	gtk_list_box_set_filter_func (_tmp9_, NULL, NULL, NULL);
	_tmp10_ = self->priv->overdue_listbox;
	gtk_list_box_set_sort_func (_tmp10_, NULL, NULL, NULL);
	_tmp11_ = util_get_default ();
	_tmp12_ = _tmp11_;
	_tmp13_ = self->priv->overdue_listbox;
	_tmp14_ = util_get_children (_tmp12_, _tmp13_);
	_tmp15_ = _tmp14_;
	_g_object_unref0 (_tmp12_);
	{
		GList* row_collection = NULL;
		GList* row_it = NULL;
		row_collection = _tmp15_;
		for (row_it = row_collection; row_it != NULL; row_it = row_it->next) {
			GtkListBoxRow* _tmp16_;
			GtkListBoxRow* row = NULL;
			_tmp16_ = _g_object_ref0 ((GtkListBoxRow*) row_it->data);
			row = _tmp16_;
			{
				GtkListBoxRow* _tmp17_;
				_tmp17_ = row;
				layouts_item_base_clean_up ((LayoutsItemBase*) G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, 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* _tmp18_;
		GeeSet* _tmp19_;
		GeeSet* _tmp20_;
		GeeSet* _tmp21_;
		GeeIterator* _tmp22_;
		GeeIterator* _tmp23_;
		_tmp18_ = self->priv->signal_map;
		_tmp19_ = gee_abstract_map_get_entries ((GeeAbstractMap*) _tmp18_);
		_tmp20_ = _tmp19_;
		_tmp21_ = _tmp20_;
		_tmp22_ = gee_iterable_iterator ((GeeIterable*) _tmp21_);
		_tmp23_ = _tmp22_;
		_g_object_unref0 (_tmp21_);
		_entry_it = _tmp23_;
		while (TRUE) {
			GeeIterator* _tmp24_;
			GeeMapEntry* entry = NULL;
			GeeIterator* _tmp25_;
			gpointer _tmp26_;
			gboolean _tmp27_ = FALSE;
			GeeMapEntry* _tmp28_;
			gconstpointer _tmp29_;
			gconstpointer _tmp30_;
			_tmp24_ = _entry_it;
			if (!gee_iterator_next (_tmp24_)) {
				break;
			}
			_tmp25_ = _entry_it;
			_tmp26_ = gee_iterator_get (_tmp25_);
			entry = (GeeMapEntry*) _tmp26_;
			_tmp28_ = entry;
			_tmp29_ = gee_map_entry_get_value (_tmp28_);
			_tmp30_ = _tmp29_;
			if (((GObject*) _tmp30_) != NULL) {
				GeeMapEntry* _tmp31_;
				gconstpointer _tmp32_;
				gconstpointer _tmp33_;
				GeeMapEntry* _tmp34_;
				gconstpointer _tmp35_;
				gconstpointer _tmp36_;
				_tmp31_ = entry;
				_tmp32_ = gee_map_entry_get_value (_tmp31_);
				_tmp33_ = _tmp32_;
				_tmp34_ = entry;
				_tmp35_ = gee_map_entry_get_key (_tmp34_);
				_tmp36_ = _tmp35_;
				_tmp27_ = g_signal_handler_is_connected ((GObject*) _tmp33_, (gulong) ((guintptr) _tmp36_));
			} else {
				_tmp27_ = FALSE;
			}
			if (_tmp27_) {
				GeeMapEntry* _tmp37_;
				gconstpointer _tmp38_;
				gconstpointer _tmp39_;
				GeeMapEntry* _tmp40_;
				gconstpointer _tmp41_;
				gconstpointer _tmp42_;
				_tmp37_ = entry;
				_tmp38_ = gee_map_entry_get_value (_tmp37_);
				_tmp39_ = _tmp38_;
				_tmp40_ = entry;
				_tmp41_ = gee_map_entry_get_key (_tmp40_);
				_tmp42_ = _tmp41_;
				g_signal_handler_disconnect ((GObject*) _tmp39_, (gulong) ((guintptr) _tmp42_));
			}
			_g_object_unref0 (entry);
		}
		_g_object_unref0 (_entry_it);
	}
	_tmp43_ = self->priv->signal_map;
	gee_abstract_map_clear ((GeeAbstractMap*) _tmp43_);
	_tmp44_ = self->priv->event_list;
	widgets_events_list_clean_up (_tmp44_);
}

ViewsToday*
views_today_construct (GType object_type)
{
	ViewsToday * self = NULL;
	self = (ViewsToday*) g_object_new (object_type, NULL);
	return self;
}

ViewsToday*
views_today_new (void)
{
	return views_today_construct (VIEWS_TYPE_TODAY);
}

GDateTime*
views_today_get_date (ViewsToday* self)
{
	GDateTime* result;
	GDateTime* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_date;
	result = _tmp0_;
	return result;
}

static gpointer
_g_date_time_ref0 (gpointer self)
{
	return self ? g_date_time_ref (self) : NULL;
}

void
views_today_set_date (ViewsToday* self,
                      GDateTime* value)
{
	GDateTime* old_value;
	g_return_if_fail (self != NULL);
	old_value = views_today_get_date (self);
	if (old_value != value) {
		GDateTime* _tmp0_;
		_tmp0_ = _g_date_time_ref0 (value);
		_g_date_time_unref0 (self->priv->_date);
		self->priv->_date = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, views_today_properties[VIEWS_TODAY_DATE_PROPERTY]);
	}
}

static gboolean
views_today_get_overdue_has_children (ViewsToday* self)
{
	gboolean result;
	GeeHashMap* _tmp0_;
	gint _tmp1_;
	gint _tmp2_;
	g_return_val_if_fail (self != NULL, FALSE);
	_tmp0_ = self->overdue_items;
	_tmp1_ = gee_abstract_map_get_size ((GeeAbstractMap*) _tmp0_);
	_tmp2_ = _tmp1_;
	result = _tmp2_ > 0;
	return result;
}

static gboolean
views_today_get_today_has_children (ViewsToday* self)
{
	gboolean result;
	GeeHashMap* _tmp0_;
	gint _tmp1_;
	gint _tmp2_;
	g_return_val_if_fail (self != NULL, FALSE);
	_tmp0_ = self->items;
	_tmp1_ = gee_abstract_map_get_size ((GeeAbstractMap*) _tmp0_);
	_tmp2_ = _tmp1_;
	result = _tmp2_ > 0;
	return result;
}

static Block70Data*
block70_data_ref (Block70Data* _data70_)
{
	g_atomic_int_inc (&_data70_->_ref_count_);
	return _data70_;
}

static void
block70_data_unref (void * _userdata_)
{
	Block70Data* _data70_;
	_data70_ = (Block70Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data70_->_ref_count_)) {
		ViewsToday* self;
		self = _data70_->self;
		_g_object_unref0 (_data70_->today_header_box);
		_g_object_unref0 (_data70_->overdue_header_box);
		_g_object_unref0 (_data70_->reschedule_button);
		_g_object_unref0 (_data70_->title_box);
		_g_object_unref0 (self);
		g_slice_free (Block70Data, _data70_);
	}
}

static gint
_views_today_set_sort_func_gtk_list_box_sort_func (GtkListBoxRow* row1,
                                                   GtkListBoxRow* row2,
                                                   gpointer self)
{
	gint result;
	result = views_today_set_sort_func ((ViewsToday*) self, row1, row2);
	return result;
}

static gboolean
_views_today___lambda795_ (ViewsToday* self)
{
	gboolean result;
	views_today_check_placeholder (self);
	result = G_SOURCE_REMOVE;
	return result;
}

static gboolean
__views_today___lambda795__gsource_func (gpointer self)
{
	gboolean result;
	result = _views_today___lambda795_ ((ViewsToday*) self);
	return result;
}

static void
_views_today___lambda796_ (ViewsToday* self)
{
	GDateTime* _tmp0_;
	GDateTime* _tmp1_;
	WidgetsEventsList* _tmp2_;
	GDateTime* _tmp3_;
	_tmp0_ = g_date_time_new_now_local ();
	_tmp1_ = _tmp0_;
	views_today_set_date (self, _tmp1_);
	_g_date_time_unref0 (_tmp1_);
	views_today_update_today_label (self);
	views_today_add_today_items (self);
	_tmp2_ = self->priv->event_list;
	_tmp3_ = self->priv->_date;
	widgets_events_list_refresh (_tmp2_, _tmp3_, NULL);
}

static void
__views_today___lambda796__services_event_bus_day_changed (ServicesEventBus* _sender,
                                                           gpointer self)
{
	_views_today___lambda796_ ((ViewsToday*) self);
}

static void
_views_today_valid_add_item_services_store_item_added (ServicesStore* _sender,
                                                       ObjectsItem* item,
                                                       gboolean insert,
                                                       gpointer self)
{
	views_today_valid_add_item ((ViewsToday*) self, item);
}

static void
_views_today_valid_delete_item_services_store_item_deleted (ServicesStore* _sender,
                                                            ObjectsItem* item,
                                                            gpointer self)
{
	views_today_valid_delete_item ((ViewsToday*) self, item);
}

static void
_views_today_valid_update_item_services_store_item_updated (ServicesStore* _sender,
                                                            ObjectsItem* item,
                                                            const gchar* update_id,
                                                            gpointer self)
{
	views_today_valid_update_item ((ViewsToday*) self, item, update_id);
}

static void
_views_today_valid_delete_item_services_store_item_archived (ServicesStore* _sender,
                                                             ObjectsItem* item,
                                                             gpointer self)
{
	views_today_valid_delete_item ((ViewsToday*) self, item);
}

static void
_views_today_valid_add_item_services_store_item_unarchived (ServicesStore* _sender,
                                                            ObjectsItem* item,
                                                            gpointer self)
{
	views_today_valid_add_item ((ViewsToday*) self, item);
}

static void
_views_today___lambda797_ (ViewsToday* self,
                           ObjectsItem* item,
                           const gchar* old_project_id,
                           const gchar* old_section_id,
                           const gchar* old_parent_id)
{
	GeeHashMap* _tmp0_;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
	GeeHashMap* _tmp13_;
	const gchar* _tmp14_;
	const gchar* _tmp15_;
	gboolean _tmp26_ = FALSE;
	GeeHashMap* _tmp27_;
	const gchar* _tmp28_;
	const gchar* _tmp29_;
	gboolean _tmp32_ = FALSE;
	GeeHashMap* _tmp33_;
	const gchar* _tmp34_;
	const gchar* _tmp35_;
	GtkListBox* _tmp38_;
	GtkListBox* _tmp39_;
	g_return_if_fail (item != NULL);
	g_return_if_fail (old_project_id != NULL);
	g_return_if_fail (old_section_id != NULL);
	g_return_if_fail (old_parent_id != NULL);
	_tmp0_ = self->items;
	_tmp1_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
	_tmp2_ = _tmp1_;
	if (gee_abstract_map_has_key ((GeeAbstractMap*) _tmp0_, _tmp2_)) {
		ServicesStore* _tmp3_;
		GDateTime* _tmp4_;
		_tmp3_ = services_store_instance ();
		_tmp4_ = self->priv->_date;
		if (!services_store_valid_item_by_date (_tmp3_, item, _tmp4_, FALSE)) {
			GeeHashMap* _tmp5_;
			const gchar* _tmp6_;
			const gchar* _tmp7_;
			gpointer _tmp8_;
			LayoutsItemRow* _tmp9_;
			GeeHashMap* _tmp10_;
			const gchar* _tmp11_;
			const gchar* _tmp12_;
			_tmp5_ = self->items;
			_tmp6_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
			_tmp7_ = _tmp6_;
			_tmp8_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp5_, _tmp7_);
			_tmp9_ = (LayoutsItemRow*) _tmp8_;
			layouts_item_base_hide_destroy ((LayoutsItemBase*) _tmp9_);
			_g_object_unref0 (_tmp9_);
			_tmp10_ = self->items;
			_tmp11_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
			_tmp12_ = _tmp11_;
			gee_abstract_map_unset ((GeeAbstractMap*) _tmp10_, _tmp12_, NULL);
		}
	}
	_tmp13_ = self->overdue_items;
	_tmp14_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
	_tmp15_ = _tmp14_;
	if (gee_abstract_map_has_key ((GeeAbstractMap*) _tmp13_, _tmp15_)) {
		ServicesStore* _tmp16_;
		GDateTime* _tmp17_;
		_tmp16_ = services_store_instance ();
		_tmp17_ = self->priv->_date;
		if (!services_store_valid_item_by_overdue (_tmp16_, item, _tmp17_, FALSE)) {
			GeeHashMap* _tmp18_;
			const gchar* _tmp19_;
			const gchar* _tmp20_;
			gpointer _tmp21_;
			LayoutsItemRow* _tmp22_;
			GeeHashMap* _tmp23_;
			const gchar* _tmp24_;
			const gchar* _tmp25_;
			_tmp18_ = self->overdue_items;
			_tmp19_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
			_tmp20_ = _tmp19_;
			_tmp21_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp18_, _tmp20_);
			_tmp22_ = (LayoutsItemRow*) _tmp21_;
			layouts_item_base_hide_destroy ((LayoutsItemBase*) _tmp22_);
			_g_object_unref0 (_tmp22_);
			_tmp23_ = self->overdue_items;
			_tmp24_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
			_tmp25_ = _tmp24_;
			gee_abstract_map_unset ((GeeAbstractMap*) _tmp23_, _tmp25_, NULL);
		}
	}
	_tmp27_ = self->items;
	_tmp28_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
	_tmp29_ = _tmp28_;
	if (!gee_abstract_map_has_key ((GeeAbstractMap*) _tmp27_, _tmp29_)) {
		ServicesStore* _tmp30_;
		GDateTime* _tmp31_;
		_tmp30_ = services_store_instance ();
		_tmp31_ = self->priv->_date;
		_tmp26_ = services_store_valid_item_by_date (_tmp30_, item, _tmp31_, FALSE);
	} else {
		_tmp26_ = FALSE;
	}
	if (_tmp26_) {
		views_today_add_item (self, item);
	}
	_tmp33_ = self->overdue_items;
	_tmp34_ = objects_base_object_get_id ((ObjectsBaseObject*) item);
	_tmp35_ = _tmp34_;
	if (!gee_abstract_map_has_key ((GeeAbstractMap*) _tmp33_, _tmp35_)) {
		ServicesStore* _tmp36_;
		GDateTime* _tmp37_;
		_tmp36_ = services_store_instance ();
		_tmp37_ = self->priv->_date;
		_tmp32_ = services_store_valid_item_by_overdue (_tmp36_, item, _tmp37_, FALSE);
	} else {
		_tmp32_ = FALSE;
	}
	if (_tmp32_) {
		views_today_add_overdue_item (self, item);
	}
	views_today_update_headers (self);
	views_today_check_placeholder (self);
	_tmp38_ = self->priv->listbox;
	gtk_list_box_invalidate_filter (_tmp38_);
	_tmp39_ = self->priv->overdue_listbox;
	gtk_list_box_invalidate_filter (_tmp39_);
}

static void
__views_today___lambda797__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)
{
	_views_today___lambda797_ ((ViewsToday*) self, item, old_project_id, old_section_id, old_parent_id);
}

static void
_views_today___lambda798_ (ViewsToday* self)
{
	views_today_prepare_new_item (self, "");
}

static void
__views_today___lambda798__widgets_magic_button_clicked (WidgetsMagicButton* _sender,
                                                         gpointer self)
{
	_views_today___lambda798_ ((ViewsToday*) self);
}

static void
_views_today___lambda799_ (ViewsToday* self)
{
	GtkRevealer* _tmp0_;
	WidgetsEventsList* _tmp1_;
	gboolean _tmp2_;
	gboolean _tmp3_;
	_tmp0_ = self->priv->event_list_revealer;
	_tmp1_ = self->priv->event_list;
	_tmp2_ = widgets_events_list_get_has_items (_tmp1_);
	_tmp3_ = _tmp2_;
	gtk_revealer_set_reveal_child (_tmp0_, _tmp3_);
}

static void
__views_today___lambda799__widgets_events_list_change (WidgetsEventsList* _sender,
                                                       gpointer self)
{
	_views_today___lambda799_ ((ViewsToday*) self);
}

static void
_views_today___lambda800_ (ViewsToday* self)
{
	GtkListBox* _tmp0_;
	GtkListBox* _tmp1_;
	_tmp0_ = self->priv->listbox;
	gtk_list_box_invalidate_sort (_tmp0_);
	_tmp1_ = self->priv->overdue_listbox;
	gtk_list_box_invalidate_sort (_tmp1_);
}

static void
__views_today___lambda800__g_settings_changed (GSettings* _sender,
                                               const gchar* key,
                                               gpointer self)
{
	_views_today___lambda800_ ((ViewsToday*) self);
}

static gboolean
_views_today___lambda801_ (ViewsToday* self,
                           GtkListBoxRow* row)
{
	ObjectsItem* item = NULL;
	ObjectsItem* _tmp0_;
	ObjectsItem* _tmp1_;
	ObjectsItem* _tmp2_;
	ObjectsFiltersToday* _tmp3_;
	ObjectsFiltersToday* _tmp4_;
	GeeHashMap* _tmp5_;
	gint _tmp6_;
	gint _tmp7_;
	gboolean _tmp8_;
	gboolean has_assignment_filter = FALSE;
	gboolean passes_assignment_filter = FALSE;
	gboolean _tmp33_ = FALSE;
	gboolean has_other_filters = FALSE;
	gboolean passes_other_filters = FALSE;
	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_ = objects_filters_today_get_default ();
	_tmp4_ = _tmp3_;
	_tmp5_ = ((ObjectsBaseObject*) _tmp4_)->filters;
	_tmp6_ = gee_abstract_map_get_size ((GeeAbstractMap*) _tmp5_);
	_tmp7_ = _tmp6_;
	_tmp8_ = _tmp7_ <= 0;
	_g_object_unref0 (_tmp4_);
	if (_tmp8_) {
		result = TRUE;
		_g_object_unref0 (item);
		return result;
	}
	has_assignment_filter = FALSE;
	passes_assignment_filter = FALSE;
	{
		GeeIterator* _filter_it = NULL;
		ObjectsFiltersToday* _tmp9_;
		ObjectsFiltersToday* _tmp10_;
		GeeHashMap* _tmp11_;
		GeeCollection* _tmp12_;
		GeeCollection* _tmp13_;
		GeeCollection* _tmp14_;
		GeeIterator* _tmp15_;
		GeeIterator* _tmp16_;
		_tmp9_ = objects_filters_today_get_default ();
		_tmp10_ = _tmp9_;
		_tmp11_ = ((ObjectsBaseObject*) _tmp10_)->filters;
		_tmp12_ = gee_abstract_map_get_values ((GeeAbstractMap*) _tmp11_);
		_tmp13_ = _tmp12_;
		_tmp14_ = _tmp13_;
		_tmp15_ = gee_iterable_iterator ((GeeIterable*) _tmp14_);
		_tmp16_ = _tmp15_;
		_g_object_unref0 (_tmp14_);
		_g_object_unref0 (_tmp10_);
		_filter_it = _tmp16_;
		while (TRUE) {
			GeeIterator* _tmp17_;
			ObjectsFiltersFilterItem* filter = NULL;
			GeeIterator* _tmp18_;
			gpointer _tmp19_;
			ObjectsFiltersFilterItem* _tmp20_;
			FilterItemType _tmp21_;
			FilterItemType _tmp22_;
			_tmp17_ = _filter_it;
			if (!gee_iterator_next (_tmp17_)) {
				break;
			}
			_tmp18_ = _filter_it;
			_tmp19_ = gee_iterator_get (_tmp18_);
			filter = (ObjectsFiltersFilterItem*) _tmp19_;
			_tmp20_ = filter;
			_tmp21_ = objects_filters_filter_item_get_filter_type (_tmp20_);
			_tmp22_ = _tmp21_;
			if (_tmp22_ == FILTER_ITEM_TYPE_ASSIGNMENT) {
				ObjectsFiltersFilterItem* _tmp23_;
				const gchar* _tmp24_;
				const gchar* _tmp25_;
				has_assignment_filter = TRUE;
				_tmp23_ = filter;
				_tmp24_ = objects_filters_filter_item_get_value (_tmp23_);
				_tmp25_ = _tmp24_;
				if (g_strcmp0 (_tmp25_, "me") == 0) {
					gboolean _tmp26_ = FALSE;
					if (passes_assignment_filter) {
						_tmp26_ = TRUE;
					} else {
						ObjectsItem* _tmp27_;
						_tmp27_ = item;
						_tmp26_ = views_today_is_item_assigned_to_me (self, _tmp27_);
					}
					passes_assignment_filter = _tmp26_;
				} else {
					ObjectsFiltersFilterItem* _tmp28_;
					const gchar* _tmp29_;
					const gchar* _tmp30_;
					_tmp28_ = filter;
					_tmp29_ = objects_filters_filter_item_get_value (_tmp28_);
					_tmp30_ = _tmp29_;
					if (g_strcmp0 (_tmp30_, "none") == 0) {
						gboolean _tmp31_ = FALSE;
						if (passes_assignment_filter) {
							_tmp31_ = TRUE;
						} else {
							ObjectsItem* _tmp32_;
							_tmp32_ = item;
							_tmp31_ = views_today_is_item_not_assigned (self, _tmp32_);
						}
						passes_assignment_filter = _tmp31_;
					}
				}
			}
			_g_object_unref0 (filter);
		}
		_g_object_unref0 (_filter_it);
	}
	if (has_assignment_filter) {
		_tmp33_ = !passes_assignment_filter;
	} else {
		_tmp33_ = FALSE;
	}
	if (_tmp33_) {
		result = FALSE;
		_g_object_unref0 (item);
		return result;
	}
	has_other_filters = FALSE;
	passes_other_filters = FALSE;
	{
		GeeIterator* _filter_it = NULL;
		ObjectsFiltersToday* _tmp34_;
		ObjectsFiltersToday* _tmp35_;
		GeeHashMap* _tmp36_;
		GeeCollection* _tmp37_;
		GeeCollection* _tmp38_;
		GeeCollection* _tmp39_;
		GeeIterator* _tmp40_;
		GeeIterator* _tmp41_;
		_tmp34_ = objects_filters_today_get_default ();
		_tmp35_ = _tmp34_;
		_tmp36_ = ((ObjectsBaseObject*) _tmp35_)->filters;
		_tmp37_ = gee_abstract_map_get_values ((GeeAbstractMap*) _tmp36_);
		_tmp38_ = _tmp37_;
		_tmp39_ = _tmp38_;
		_tmp40_ = gee_iterable_iterator ((GeeIterable*) _tmp39_);
		_tmp41_ = _tmp40_;
		_g_object_unref0 (_tmp39_);
		_g_object_unref0 (_tmp35_);
		_filter_it = _tmp41_;
		while (TRUE) {
			GeeIterator* _tmp42_;
			ObjectsFiltersFilterItem* filter = NULL;
			GeeIterator* _tmp43_;
			gpointer _tmp44_;
			ObjectsFiltersFilterItem* _tmp45_;
			FilterItemType _tmp46_;
			FilterItemType _tmp47_;
			_tmp42_ = _filter_it;
			if (!gee_iterator_next (_tmp42_)) {
				break;
			}
			_tmp43_ = _filter_it;
			_tmp44_ = gee_iterator_get (_tmp43_);
			filter = (ObjectsFiltersFilterItem*) _tmp44_;
			_tmp45_ = filter;
			_tmp46_ = objects_filters_filter_item_get_filter_type (_tmp45_);
			_tmp47_ = _tmp46_;
			if (_tmp47_ == FILTER_ITEM_TYPE_PRIORITY) {
				gboolean _tmp48_ = FALSE;
				has_other_filters = TRUE;
				if (passes_other_filters) {
					_tmp48_ = TRUE;
				} else {
					ObjectsItem* _tmp49_;
					gint _tmp50_;
					gint _tmp51_;
					ObjectsFiltersFilterItem* _tmp52_;
					const gchar* _tmp53_;
					const gchar* _tmp54_;
					_tmp49_ = item;
					_tmp50_ = objects_item_get_priority (_tmp49_);
					_tmp51_ = _tmp50_;
					_tmp52_ = filter;
					_tmp53_ = objects_filters_filter_item_get_value (_tmp52_);
					_tmp54_ = _tmp53_;
					_tmp48_ = _tmp51_ == atoi (_tmp54_);
				}
				passes_other_filters = _tmp48_;
			} else {
				ObjectsFiltersFilterItem* _tmp55_;
				FilterItemType _tmp56_;
				FilterItemType _tmp57_;
				_tmp55_ = filter;
				_tmp56_ = objects_filters_filter_item_get_filter_type (_tmp55_);
				_tmp57_ = _tmp56_;
				if (_tmp57_ == FILTER_ITEM_TYPE_LABEL) {
					gboolean _tmp58_ = FALSE;
					has_other_filters = TRUE;
					if (passes_other_filters) {
						_tmp58_ = TRUE;
					} else {
						ObjectsItem* _tmp59_;
						ObjectsFiltersFilterItem* _tmp60_;
						const gchar* _tmp61_;
						const gchar* _tmp62_;
						_tmp59_ = item;
						_tmp60_ = filter;
						_tmp61_ = objects_filters_filter_item_get_value (_tmp60_);
						_tmp62_ = _tmp61_;
						_tmp58_ = objects_item_has_label (_tmp59_, _tmp62_);
					}
					passes_other_filters = _tmp58_;
				}
			}
			_g_object_unref0 (filter);
		}
		_g_object_unref0 (_filter_it);
	}
	if (has_other_filters) {
		result = passes_other_filters;
		_g_object_unref0 (item);
		return result;
	}
	result = TRUE;
	_g_object_unref0 (item);
	return result;
}

static gboolean
__views_today___lambda801__gtk_list_box_filter_func (GtkListBoxRow* row,
                                                     gpointer self)
{
	gboolean result;
	result = _views_today___lambda801_ ((ViewsToday*) self, row);
	return result;
}

static gboolean
_views_today___lambda802_ (ViewsToday* self,
                           GtkListBoxRow* row)
{
	ObjectsItem* item = NULL;
	ObjectsItem* _tmp0_;
	ObjectsItem* _tmp1_;
	ObjectsItem* _tmp2_;
	ObjectsFiltersToday* _tmp3_;
	ObjectsFiltersToday* _tmp4_;
	GeeHashMap* _tmp5_;
	gint _tmp6_;
	gint _tmp7_;
	gboolean _tmp8_;
	gboolean has_assignment_filter = FALSE;
	gboolean passes_assignment_filter = FALSE;
	gboolean _tmp33_ = FALSE;
	gboolean has_other_filters = FALSE;
	gboolean passes_other_filters = FALSE;
	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_ = objects_filters_today_get_default ();
	_tmp4_ = _tmp3_;
	_tmp5_ = ((ObjectsBaseObject*) _tmp4_)->filters;
	_tmp6_ = gee_abstract_map_get_size ((GeeAbstractMap*) _tmp5_);
	_tmp7_ = _tmp6_;
	_tmp8_ = _tmp7_ <= 0;
	_g_object_unref0 (_tmp4_);
	if (_tmp8_) {
		result = TRUE;
		_g_object_unref0 (item);
		return result;
	}
	has_assignment_filter = FALSE;
	passes_assignment_filter = FALSE;
	{
		GeeIterator* _filter_it = NULL;
		ObjectsFiltersToday* _tmp9_;
		ObjectsFiltersToday* _tmp10_;
		GeeHashMap* _tmp11_;
		GeeCollection* _tmp12_;
		GeeCollection* _tmp13_;
		GeeCollection* _tmp14_;
		GeeIterator* _tmp15_;
		GeeIterator* _tmp16_;
		_tmp9_ = objects_filters_today_get_default ();
		_tmp10_ = _tmp9_;
		_tmp11_ = ((ObjectsBaseObject*) _tmp10_)->filters;
		_tmp12_ = gee_abstract_map_get_values ((GeeAbstractMap*) _tmp11_);
		_tmp13_ = _tmp12_;
		_tmp14_ = _tmp13_;
		_tmp15_ = gee_iterable_iterator ((GeeIterable*) _tmp14_);
		_tmp16_ = _tmp15_;
		_g_object_unref0 (_tmp14_);
		_g_object_unref0 (_tmp10_);
		_filter_it = _tmp16_;
		while (TRUE) {
			GeeIterator* _tmp17_;
			ObjectsFiltersFilterItem* filter = NULL;
			GeeIterator* _tmp18_;
			gpointer _tmp19_;
			ObjectsFiltersFilterItem* _tmp20_;
			FilterItemType _tmp21_;
			FilterItemType _tmp22_;
			_tmp17_ = _filter_it;
			if (!gee_iterator_next (_tmp17_)) {
				break;
			}
			_tmp18_ = _filter_it;
			_tmp19_ = gee_iterator_get (_tmp18_);
			filter = (ObjectsFiltersFilterItem*) _tmp19_;
			_tmp20_ = filter;
			_tmp21_ = objects_filters_filter_item_get_filter_type (_tmp20_);
			_tmp22_ = _tmp21_;
			if (_tmp22_ == FILTER_ITEM_TYPE_ASSIGNMENT) {
				ObjectsFiltersFilterItem* _tmp23_;
				const gchar* _tmp24_;
				const gchar* _tmp25_;
				has_assignment_filter = TRUE;
				_tmp23_ = filter;
				_tmp24_ = objects_filters_filter_item_get_value (_tmp23_);
				_tmp25_ = _tmp24_;
				if (g_strcmp0 (_tmp25_, "me") == 0) {
					gboolean _tmp26_ = FALSE;
					if (passes_assignment_filter) {
						_tmp26_ = TRUE;
					} else {
						ObjectsItem* _tmp27_;
						_tmp27_ = item;
						_tmp26_ = views_today_is_item_assigned_to_me (self, _tmp27_);
					}
					passes_assignment_filter = _tmp26_;
				} else {
					ObjectsFiltersFilterItem* _tmp28_;
					const gchar* _tmp29_;
					const gchar* _tmp30_;
					_tmp28_ = filter;
					_tmp29_ = objects_filters_filter_item_get_value (_tmp28_);
					_tmp30_ = _tmp29_;
					if (g_strcmp0 (_tmp30_, "none") == 0) {
						gboolean _tmp31_ = FALSE;
						if (passes_assignment_filter) {
							_tmp31_ = TRUE;
						} else {
							ObjectsItem* _tmp32_;
							_tmp32_ = item;
							_tmp31_ = views_today_is_item_not_assigned (self, _tmp32_);
						}
						passes_assignment_filter = _tmp31_;
					}
				}
			}
			_g_object_unref0 (filter);
		}
		_g_object_unref0 (_filter_it);
	}
	if (has_assignment_filter) {
		_tmp33_ = !passes_assignment_filter;
	} else {
		_tmp33_ = FALSE;
	}
	if (_tmp33_) {
		result = FALSE;
		_g_object_unref0 (item);
		return result;
	}
	has_other_filters = FALSE;
	passes_other_filters = FALSE;
	{
		GeeIterator* _filter_it = NULL;
		ObjectsFiltersToday* _tmp34_;
		ObjectsFiltersToday* _tmp35_;
		GeeHashMap* _tmp36_;
		GeeCollection* _tmp37_;
		GeeCollection* _tmp38_;
		GeeCollection* _tmp39_;
		GeeIterator* _tmp40_;
		GeeIterator* _tmp41_;
		_tmp34_ = objects_filters_today_get_default ();
		_tmp35_ = _tmp34_;
		_tmp36_ = ((ObjectsBaseObject*) _tmp35_)->filters;
		_tmp37_ = gee_abstract_map_get_values ((GeeAbstractMap*) _tmp36_);
		_tmp38_ = _tmp37_;
		_tmp39_ = _tmp38_;
		_tmp40_ = gee_iterable_iterator ((GeeIterable*) _tmp39_);
		_tmp41_ = _tmp40_;
		_g_object_unref0 (_tmp39_);
		_g_object_unref0 (_tmp35_);
		_filter_it = _tmp41_;
		while (TRUE) {
			GeeIterator* _tmp42_;
			ObjectsFiltersFilterItem* filter = NULL;
			GeeIterator* _tmp43_;
			gpointer _tmp44_;
			ObjectsFiltersFilterItem* _tmp45_;
			FilterItemType _tmp46_;
			FilterItemType _tmp47_;
			_tmp42_ = _filter_it;
			if (!gee_iterator_next (_tmp42_)) {
				break;
			}
			_tmp43_ = _filter_it;
			_tmp44_ = gee_iterator_get (_tmp43_);
			filter = (ObjectsFiltersFilterItem*) _tmp44_;
			_tmp45_ = filter;
			_tmp46_ = objects_filters_filter_item_get_filter_type (_tmp45_);
			_tmp47_ = _tmp46_;
			if (_tmp47_ == FILTER_ITEM_TYPE_PRIORITY) {
				gboolean _tmp48_ = FALSE;
				has_other_filters = TRUE;
				if (passes_other_filters) {
					_tmp48_ = TRUE;
				} else {
					ObjectsItem* _tmp49_;
					gint _tmp50_;
					gint _tmp51_;
					ObjectsFiltersFilterItem* _tmp52_;
					const gchar* _tmp53_;
					const gchar* _tmp54_;
					_tmp49_ = item;
					_tmp50_ = objects_item_get_priority (_tmp49_);
					_tmp51_ = _tmp50_;
					_tmp52_ = filter;
					_tmp53_ = objects_filters_filter_item_get_value (_tmp52_);
					_tmp54_ = _tmp53_;
					_tmp48_ = _tmp51_ == atoi (_tmp54_);
				}
				passes_other_filters = _tmp48_;
			} else {
				ObjectsFiltersFilterItem* _tmp55_;
				FilterItemType _tmp56_;
				FilterItemType _tmp57_;
				_tmp55_ = filter;
				_tmp56_ = objects_filters_filter_item_get_filter_type (_tmp55_);
				_tmp57_ = _tmp56_;
				if (_tmp57_ == FILTER_ITEM_TYPE_LABEL) {
					gboolean _tmp58_ = FALSE;
					has_other_filters = TRUE;
					if (passes_other_filters) {
						_tmp58_ = TRUE;
					} else {
						ObjectsItem* _tmp59_;
						ObjectsFiltersFilterItem* _tmp60_;
						const gchar* _tmp61_;
						const gchar* _tmp62_;
						_tmp59_ = item;
						_tmp60_ = filter;
						_tmp61_ = objects_filters_filter_item_get_value (_tmp60_);
						_tmp62_ = _tmp61_;
						_tmp58_ = objects_item_has_label (_tmp59_, _tmp62_);
					}
					passes_other_filters = _tmp58_;
				}
			}
			_g_object_unref0 (filter);
		}
		_g_object_unref0 (_filter_it);
	}
	if (has_other_filters) {
		result = passes_other_filters;
		_g_object_unref0 (item);
		return result;
	}
	result = TRUE;
	_g_object_unref0 (item);
	return result;
}

static gboolean
__views_today___lambda802__gtk_list_box_filter_func (GtkListBoxRow* row,
                                                     gpointer self)
{
	gboolean result;
	result = _views_today___lambda802_ ((ViewsToday*) self, row);
	return result;
}

static void
_views_today___lambda803_ (ViewsToday* self)
{
	GtkListBox* _tmp0_;
	GtkListBox* _tmp1_;
	_tmp0_ = self->priv->listbox;
	gtk_list_box_invalidate_filter (_tmp0_);
	_tmp1_ = self->priv->overdue_listbox;
	gtk_list_box_invalidate_filter (_tmp1_);
}

static void
__views_today___lambda803__objects_base_object_filter_added (ObjectsBaseObject* _sender,
                                                             ObjectsFiltersFilterItem* filters,
                                                             gpointer self)
{
	_views_today___lambda803_ ((ViewsToday*) self);
}

static void
_views_today___lambda804_ (ViewsToday* self,
                           ObjectsFiltersFilterItem* filter)
{
	FilterItemType _tmp0_;
	FilterItemType _tmp1_;
	GtkListBox* _tmp3_;
	GtkListBox* _tmp4_;
	g_return_if_fail (filter != NULL);
	_tmp0_ = objects_filters_filter_item_get_filter_type (filter);
	_tmp1_ = _tmp0_;
	if (_tmp1_ == FILTER_ITEM_TYPE_ASSIGNMENT) {
		WidgetsContextMenuMenuCheckPicker* _tmp2_;
		_tmp2_ = self->priv->assignment_filter;
		widgets_context_menu_menu_check_picker_unchecked (_tmp2_, filter);
	}
	_tmp3_ = self->priv->listbox;
	gtk_list_box_invalidate_filter (_tmp3_);
	_tmp4_ = self->priv->overdue_listbox;
	gtk_list_box_invalidate_filter (_tmp4_);
}

static void
__views_today___lambda804__objects_base_object_filter_removed (ObjectsBaseObject* _sender,
                                                               ObjectsFiltersFilterItem* filters,
                                                               gpointer self)
{
	_views_today___lambda804_ ((ViewsToday*) self, filters);
}

static void
_views_today___lambda805_ (ViewsToday* self)
{
	GtkListBox* _tmp0_;
	GtkListBox* _tmp1_;
	_tmp0_ = self->priv->listbox;
	gtk_list_box_invalidate_filter (_tmp0_);
	_tmp1_ = self->priv->overdue_listbox;
	gtk_list_box_invalidate_filter (_tmp1_);
}

static void
__views_today___lambda805__objects_base_object_filter_updated (ObjectsBaseObject* _sender,
                                                               ObjectsFiltersFilterItem* filters,
                                                               gpointer self)
{
	_views_today___lambda805_ ((ViewsToday*) self);
}

static void
_views_today___lambda806_ (Block70Data* _data70_)
{
	ViewsToday* self;
	Util* _tmp0_;
	Util* _tmp1_;
	GtkListBox* _tmp2_;
	GList* _tmp3_;
	GList* _tmp4_;
	self = _data70_->self;
	_tmp0_ = util_get_default ();
	_tmp1_ = _tmp0_;
	_tmp2_ = self->priv->overdue_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_;
				WidgetsScheduleButton* _tmp6_;
				ObjectsDueDate* _tmp7_;
				ObjectsDueDate* _tmp8_;
				_tmp5_ = child;
				_tmp6_ = _data70_->reschedule_button;
				_tmp7_ = widgets_schedule_button_get_duedate (_tmp6_);
				_tmp8_ = _tmp7_;
				layouts_item_row_update_due (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, LAYOUTS_TYPE_ITEM_ROW, LayoutsItemRow), _tmp8_);
			}
		}
		(child_collection == NULL) ? NULL : (child_collection = (_g_list_free__g_object_unref0_ (child_collection), NULL));
	}
}

static void
__views_today___lambda806__widgets_schedule_button_duedate_changed (WidgetsScheduleButton* _sender,
                                                                    gpointer self)
{
	_views_today___lambda806_ (self);
}

static void
_views_today___lambda807_ (ViewsToday* self)
{
	LayoutsHeaderBar* _tmp0_;
	GtkScrolledWindow* _tmp1_;
	GtkAdjustment* _tmp2_;
	GtkAdjustment* _tmp3_;
	gdouble _tmp4_;
	gdouble _tmp5_;
	_tmp0_ = self->priv->headerbar;
	_tmp1_ = self->priv->scrolled_window;
	_tmp2_ = gtk_scrolled_window_get_vadjustment (_tmp1_);
	_tmp3_ = _tmp2_;
	_tmp4_ = gtk_adjustment_get_value (_tmp3_);
	_tmp5_ = _tmp4_;
	layouts_header_bar_revealer_title_box (_tmp0_, _tmp5_ >= ((gdouble) CONSTANTS_HEADERBAR_TITLE_SCROLL_THRESHOLD));
}

static void
__views_today___lambda807__gtk_adjustment_value_changed (GtkAdjustment* _sender,
                                                         gpointer self)
{
	_views_today___lambda807_ ((ViewsToday*) self);
}

static void
_views_today___lambda808_ (Block70Data* _data70_,
                           gboolean active)
{
	ViewsToday* self;
	GtkBox* _tmp0_;
	GtkBox* _tmp1_;
	GtkBox* _tmp2_;
	WidgetsEventsList* _tmp3_;
	self = _data70_->self;
	_tmp0_ = _data70_->title_box;
	gtk_widget_set_sensitive ((GtkWidget*) _tmp0_, !active);
	_tmp1_ = _data70_->today_header_box;
	gtk_widget_set_sensitive ((GtkWidget*) _tmp1_, !active);
	_tmp2_ = _data70_->overdue_header_box;
	gtk_widget_set_sensitive ((GtkWidget*) _tmp2_, !active);
	_tmp3_ = self->priv->event_list;
	gtk_widget_set_sensitive ((GtkWidget*) _tmp3_, !active);
}

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

static GObject *
views_today_constructor (GType type,
                         guint n_construct_properties,
                         GObjectConstructParam * construct_properties)
{
	GObject * obj;
	GObjectClass * parent_class;
	ViewsToday * self;
	Block70Data* _data70_;
	GtkGrid* indicator_grid = NULL;
	gchar* _tmp0_;
	gchar** _tmp1_;
	GtkGrid* _tmp2_ = NULL;
	GtkGrid* _tmp3_;
	GtkWidget* _tmp4_;
	GtkRevealer* _tmp5_ = NULL;
	GtkMenuButton* view_setting_button = NULL;
	GtkPopover* _tmp6_;
	gchar* _tmp7_;
	gchar* _tmp8_;
	gchar** _tmp9_;
	gchar* _tmp10_;
	GtkMenuButton* _tmp11_ = NULL;
	GtkOverlay* view_setting_overlay = NULL;
	GtkOverlay* _tmp12_;
	GtkOverlay* _tmp13_;
	GtkMenuButton* _tmp14_;
	GtkOverlay* _tmp15_;
	GtkRevealer* _tmp16_;
	ObjectsFiltersToday* _tmp17_;
	ObjectsFiltersToday* _tmp18_;
	const gchar* _tmp19_;
	const gchar* _tmp20_;
	gchar* _tmp21_;
	LayoutsHeaderBar* _tmp22_ = NULL;
	LayoutsHeaderBar* _tmp23_;
	GtkOverlay* _tmp24_;
	GtkImage* today_icon = NULL;
	ObjectsFiltersToday* _tmp25_;
	ObjectsFiltersToday* _tmp26_;
	const gchar* _tmp27_;
	const gchar* _tmp28_;
	gchar* _tmp29_;
	gchar** _tmp30_;
	GtkImage* _tmp31_ = NULL;
	GtkImage* _tmp32_;
	Util* _tmp33_;
	Util* _tmp34_;
	ObjectsFiltersToday* _tmp35_;
	ObjectsFiltersToday* _tmp36_;
	gchar* _tmp37_;
	gchar* _tmp38_;
	GtkImage* _tmp39_;
	ObjectsFiltersToday* _tmp40_;
	ObjectsFiltersToday* _tmp41_;
	const gchar* _tmp42_;
	const gchar* _tmp43_;
	gchar* _tmp44_;
	gchar* _tmp45_;
	gchar** _tmp46_;
	GtkLabel* _tmp47_ = NULL;
	gchar* _tmp48_;
	gchar** _tmp49_;
	GtkLabel* _tmp50_ = NULL;
	GtkBox* _tmp51_ = NULL;
	GtkBox* _tmp52_;
	GtkImage* _tmp53_;
	GtkBox* _tmp54_;
	GtkLabel* _tmp55_;
	GtkBox* _tmp56_;
	GtkLabel* _tmp57_;
	GDateTime* _tmp58_;
	WidgetsEventsList* _tmp59_ = NULL;
	WidgetsEventsList* _tmp60_;
	gboolean _tmp61_;
	gboolean _tmp62_;
	WidgetsEventsList* _tmp63_;
	GtkWidget* _tmp64_;
	GtkRevealer* _tmp65_ = NULL;
	WidgetsFilterFlowBox* filters = NULL;
	ObjectsFiltersToday* _tmp66_;
	WidgetsFilterFlowBox* _tmp67_ = NULL;
	WidgetsFilterFlowBox* _tmp68_;
	GtkFlowBox* _tmp69_;
	WidgetsFilterFlowBox* _tmp70_;
	GtkFlowBox* _tmp71_;
	WidgetsFilterFlowBox* _tmp72_;
	GtkFlowBox* _tmp73_;
	WidgetsFilterFlowBox* _tmp74_;
	GtkFlowBox* _tmp75_;
	GtkLabel* overdue_label = NULL;
	GtkLabel* _tmp76_ = NULL;
	GtkLabel* _tmp77_;
	WidgetsScheduleButton* _tmp78_ = NULL;
	GtkBox* _tmp79_ = NULL;
	GtkBox* _tmp80_;
	GtkLabel* _tmp81_;
	GtkBox* _tmp82_;
	WidgetsScheduleButton* _tmp83_;
	gchar* _tmp84_;
	gchar** _tmp85_;
	GtkListBox* _tmp86_ = NULL;
	GtkListBox* _tmp87_;
	GtkGrid* overdue_listbox_grid = NULL;
	GtkGrid* _tmp88_ = NULL;
	GtkGrid* _tmp89_;
	GtkListBox* _tmp90_;
	GtkBox* overdue_box = NULL;
	GtkBox* _tmp91_ = NULL;
	GtkBox* _tmp92_;
	GtkBox* _tmp93_;
	GtkBox* _tmp94_;
	GtkGrid* _tmp95_;
	GtkBox* _tmp96_;
	GtkWidget* _tmp97_;
	GtkRevealer* _tmp98_ = NULL;
	GtkLabel* today_label = NULL;
	GtkLabel* _tmp99_ = NULL;
	GtkLabel* _tmp100_;
	GtkBox* _tmp101_ = NULL;
	GtkBox* _tmp102_;
	GtkLabel* _tmp103_;
	GtkBox* _tmp104_;
	GtkWidget* _tmp105_;
	GtkRevealer* _tmp106_ = NULL;
	gchar* _tmp107_;
	gchar** _tmp108_;
	GtkListBox* _tmp109_ = NULL;
	GtkListBox* _tmp110_;
	GtkGrid* _tmp111_ = NULL;
	GtkGrid* _tmp112_;
	GtkListBox* _tmp113_;
	GtkBox* content = NULL;
	GtkBox* _tmp114_ = NULL;
	GtkBox* _tmp115_;
	GtkRevealer* _tmp116_;
	GtkBox* _tmp117_;
	GtkRevealer* _tmp118_;
	GtkBox* _tmp119_;
	GtkGrid* _tmp120_;
	AdwStatusPage* listbox_placeholder = NULL;
	AdwStatusPage* _tmp121_;
	AdwStatusPage* _tmp122_;
	AdwStatusPage* _tmp123_;
	AdwStatusPage* _tmp124_;
	GtkStack* _tmp125_ = NULL;
	GtkStack* _tmp126_;
	GtkBox* _tmp127_;
	GtkStack* _tmp128_;
	AdwStatusPage* _tmp129_;
	GtkBox* content_box = NULL;
	GtkBox* _tmp130_ = NULL;
	GtkBox* _tmp131_;
	GtkBox* _tmp132_;
	GtkBox* _tmp133_;
	GtkRevealer* _tmp134_;
	GtkBox* _tmp135_;
	WidgetsFilterFlowBox* _tmp136_;
	GtkBox* _tmp137_;
	GtkStack* _tmp138_;
	AdwClamp* content_clamp = NULL;
	GtkBox* _tmp139_;
	GtkWidget* _tmp140_;
	AdwClamp* _tmp141_ = NULL;
	AdwClamp* _tmp142_;
	GtkWidget* _tmp143_;
	GtkScrolledWindow* _tmp144_ = NULL;
	WidgetsMagicButton* magic_button = NULL;
	WidgetsMagicButton* _tmp145_;
	GtkOverlay* content_overlay = NULL;
	GtkScrolledWindow* _tmp146_;
	GtkWidget* _tmp147_;
	GtkOverlay* _tmp148_ = NULL;
	GtkOverlay* _tmp149_;
	WidgetsMagicButton* _tmp150_;
	AdwToolbarView* toolbar_view = NULL;
	GtkOverlay* _tmp151_;
	GtkWidget* _tmp152_;
	AdwToolbarView* _tmp153_ = NULL;
	AdwToolbarView* _tmp154_;
	LayoutsHeaderBar* _tmp155_;
	AdwToolbarView* _tmp156_;
	GtkStack* _tmp157_;
	guint _tmp158_;
	guint _tmp159_;
	GeeHashMap* _tmp160_;
	ServicesEventBus* _tmp161_;
	ServicesEventBus* _tmp162_;
	gulong _tmp163_;
	ServicesEventBus* _tmp164_;
	ServicesEventBus* _tmp165_;
	GeeHashMap* _tmp166_;
	ServicesStore* _tmp167_;
	gulong _tmp168_;
	ServicesStore* _tmp169_;
	GeeHashMap* _tmp170_;
	ServicesStore* _tmp171_;
	gulong _tmp172_;
	ServicesStore* _tmp173_;
	GeeHashMap* _tmp174_;
	ServicesStore* _tmp175_;
	gulong _tmp176_;
	ServicesStore* _tmp177_;
	GeeHashMap* _tmp178_;
	ServicesStore* _tmp179_;
	gulong _tmp180_;
	ServicesStore* _tmp181_;
	GeeHashMap* _tmp182_;
	ServicesStore* _tmp183_;
	gulong _tmp184_;
	ServicesStore* _tmp185_;
	GeeHashMap* _tmp186_;
	ServicesEventBus* _tmp187_;
	ServicesEventBus* _tmp188_;
	gulong _tmp189_;
	ServicesEventBus* _tmp190_;
	ServicesEventBus* _tmp191_;
	GeeHashMap* _tmp192_;
	WidgetsMagicButton* _tmp193_;
	gulong _tmp194_;
	WidgetsMagicButton* _tmp195_;
	WidgetsEventsList* _tmp196_;
	GeeHashMap* _tmp197_;
	ServicesSettings* _tmp198_;
	ServicesSettings* _tmp199_;
	GSettings* _tmp200_;
	gulong _tmp201_;
	ServicesSettings* _tmp202_;
	ServicesSettings* _tmp203_;
	GSettings* _tmp204_;
	GtkListBox* _tmp205_;
	GtkListBox* _tmp206_;
	GeeHashMap* _tmp207_;
	ObjectsFiltersToday* _tmp208_;
	ObjectsFiltersToday* _tmp209_;
	gulong _tmp210_;
	ObjectsFiltersToday* _tmp211_;
	ObjectsFiltersToday* _tmp212_;
	GeeHashMap* _tmp213_;
	ObjectsFiltersToday* _tmp214_;
	ObjectsFiltersToday* _tmp215_;
	gulong _tmp216_;
	ObjectsFiltersToday* _tmp217_;
	ObjectsFiltersToday* _tmp218_;
	GeeHashMap* _tmp219_;
	ObjectsFiltersToday* _tmp220_;
	ObjectsFiltersToday* _tmp221_;
	gulong _tmp222_;
	ObjectsFiltersToday* _tmp223_;
	ObjectsFiltersToday* _tmp224_;
	GeeHashMap* _tmp225_;
	WidgetsScheduleButton* _tmp226_;
	gulong _tmp227_;
	WidgetsScheduleButton* _tmp228_;
	GeeHashMap* _tmp229_;
	GtkScrolledWindow* _tmp230_;
	GtkAdjustment* _tmp231_;
	GtkAdjustment* _tmp232_;
	gulong _tmp233_;
	GtkScrolledWindow* _tmp234_;
	GtkAdjustment* _tmp235_;
	GtkAdjustment* _tmp236_;
	GeeHashMap* _tmp237_;
	ServicesEventBus* _tmp238_;
	ServicesEventBus* _tmp239_;
	gulong _tmp240_;
	ServicesEventBus* _tmp241_;
	ServicesEventBus* _tmp242_;
	parent_class = G_OBJECT_CLASS (views_today_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, VIEWS_TYPE_TODAY, ViewsToday);
	_data70_ = g_slice_new0 (Block70Data);
	_data70_->_ref_count_ = 1;
	_data70_->self = g_object_ref (self);
	_tmp0_ = g_strdup ("indicator");
	_tmp1_ = g_new0 (gchar*, 1 + 1);
	_tmp1_[0] = _tmp0_;
	_tmp2_ = (GtkGrid*) gtk_grid_new ();
	g_object_set ((GtkWidget*) _tmp2_, "width-request", 9, NULL);
	g_object_set ((GtkWidget*) _tmp2_, "height-request", 9, NULL);
	gtk_widget_set_margin_top ((GtkWidget*) _tmp2_, 6);
	gtk_widget_set_margin_end ((GtkWidget*) _tmp2_, 6);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp2_, _tmp1_);
	_tmp1_ = (_vala_array_free (_tmp1_, 1, (GDestroyNotify) g_free), NULL);
	g_object_ref_sink (_tmp2_);
	indicator_grid = _tmp2_;
	_tmp3_ = indicator_grid;
	_tmp4_ = _g_object_ref0 ((GtkWidget*) _tmp3_);
	_tmp5_ = (GtkRevealer*) gtk_revealer_new ();
	gtk_revealer_set_transition_type (_tmp5_, GTK_REVEALER_TRANSITION_TYPE_CROSSFADE);
	gtk_revealer_set_child (_tmp5_, _tmp4_);
	_g_object_unref0 (_tmp4_);
	gtk_widget_set_halign ((GtkWidget*) _tmp5_, GTK_ALIGN_END);
	gtk_widget_set_valign ((GtkWidget*) _tmp5_, GTK_ALIGN_START);
	gtk_widget_set_sensitive ((GtkWidget*) _tmp5_, FALSE);
	g_object_ref_sink (_tmp5_);
	_g_object_unref0 (self->priv->indicator_revealer);
	self->priv->indicator_revealer = _tmp5_;
	_tmp6_ = views_today_build_view_setting_popover (self);
	_tmp7_ = g_strdup ("view-sort-descending-rtl-symbolic");
	_tmp8_ = g_strdup ("flat");
	_tmp9_ = g_new0 (gchar*, 1 + 1);
	_tmp9_[0] = _tmp8_;
	_tmp10_ = g_strdup (_ ("View Option Menu"));
	_tmp11_ = (GtkMenuButton*) gtk_menu_button_new ();
	gtk_widget_set_valign ((GtkWidget*) _tmp11_, GTK_ALIGN_CENTER);
	gtk_widget_set_halign ((GtkWidget*) _tmp11_, GTK_ALIGN_CENTER);
	gtk_widget_set_margin_end ((GtkWidget*) _tmp11_, 12);
	gtk_menu_button_set_popover (_tmp11_, _tmp6_);
	_g_object_unref0 (_tmp6_);
	gtk_menu_button_set_icon_name (_tmp11_, _tmp7_);
	_g_free0 (_tmp7_);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp11_, _tmp9_);
	_tmp9_ = (_vala_array_free (_tmp9_, 1, (GDestroyNotify) g_free), NULL);
	gtk_widget_set_tooltip_text ((GtkWidget*) _tmp11_, _tmp10_);
	_g_free0 (_tmp10_);
	g_object_ref_sink (_tmp11_);
	view_setting_button = _tmp11_;
	_tmp12_ = (GtkOverlay*) gtk_overlay_new ();
	g_object_ref_sink (_tmp12_);
	view_setting_overlay = _tmp12_;
	_tmp13_ = view_setting_overlay;
	_tmp14_ = view_setting_button;
	gtk_overlay_set_child (_tmp13_, (GtkWidget*) _tmp14_);
	_tmp15_ = view_setting_overlay;
	_tmp16_ = self->priv->indicator_revealer;
	gtk_overlay_add_overlay (_tmp15_, (GtkWidget*) _tmp16_);
	_tmp17_ = objects_filters_today_get_default ();
	_tmp18_ = _tmp17_;
	_tmp19_ = objects_base_object_get_name ((ObjectsBaseObject*) _tmp18_);
	_tmp20_ = _tmp19_;
	_tmp21_ = g_strdup (_tmp20_);
	_tmp22_ = layouts_header_bar_new ();
	layouts_header_bar_set_title (_tmp22_, _tmp21_);
	_g_free0 (_tmp21_);
	g_object_ref_sink (_tmp22_);
	_g_object_unref0 (self->priv->headerbar);
	self->priv->headerbar = _tmp22_;
	_g_object_unref0 (_tmp18_);
	_tmp23_ = self->priv->headerbar;
	_tmp24_ = view_setting_overlay;
	layouts_header_bar_pack_end (_tmp23_, (GtkWidget*) _tmp24_);
	_tmp25_ = objects_filters_today_get_default ();
	_tmp26_ = _tmp25_;
	_tmp27_ = objects_base_object_get_icon_name ((ObjectsBaseObject*) _tmp26_);
	_tmp28_ = _tmp27_;
	_tmp29_ = g_strdup ("view-icon");
	_tmp30_ = g_new0 (gchar*, 1 + 1);
	_tmp30_[0] = _tmp29_;
	_tmp31_ = (GtkImage*) gtk_image_new_from_icon_name (_tmp28_);
	gtk_image_set_pixel_size (_tmp31_, 16);
	gtk_widget_set_valign ((GtkWidget*) _tmp31_, GTK_ALIGN_CENTER);
	gtk_widget_set_halign ((GtkWidget*) _tmp31_, GTK_ALIGN_CENTER);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp31_, _tmp30_);
	_tmp30_ = (_vala_array_free (_tmp30_, 1, (GDestroyNotify) g_free), NULL);
	g_object_ref_sink (_tmp31_);
	_tmp32_ = _tmp31_;
	_g_object_unref0 (_tmp26_);
	today_icon = _tmp32_;
	_tmp33_ = util_get_default ();
	_tmp34_ = _tmp33_;
	_tmp35_ = objects_filters_today_get_default ();
	_tmp36_ = _tmp35_;
	_tmp37_ = objects_base_object_theme_color ((ObjectsBaseObject*) _tmp36_);
	_tmp38_ = _tmp37_;
	_tmp39_ = today_icon;
	util_set_widget_color (_tmp34_, _tmp38_, (GtkWidget*) _tmp39_);
	_g_free0 (_tmp38_);
	_g_object_unref0 (_tmp36_);
	_g_object_unref0 (_tmp34_);
	_tmp40_ = objects_filters_today_get_default ();
	_tmp41_ = _tmp40_;
	_tmp42_ = objects_base_object_get_name ((ObjectsBaseObject*) _tmp41_);
	_tmp43_ = _tmp42_;
	_tmp44_ = g_strdup ("font-bold");
	_tmp45_ = g_strdup ("title-2");
	_tmp46_ = g_new0 (gchar*, 2 + 1);
	_tmp46_[0] = _tmp44_;
	_tmp46_[1] = _tmp45_;
	_tmp47_ = (GtkLabel*) gtk_label_new (_tmp43_);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp47_, _tmp46_);
	_tmp46_ = (_vala_array_free (_tmp46_, 2, (GDestroyNotify) g_free), NULL);
	gtk_label_set_ellipsize (_tmp47_, PANGO_ELLIPSIZE_END);
	gtk_widget_set_halign ((GtkWidget*) _tmp47_, GTK_ALIGN_START);
	g_object_ref_sink (_tmp47_);
	_g_object_unref0 (self->priv->title_label);
	self->priv->title_label = _tmp47_;
	_g_object_unref0 (_tmp41_);
	_tmp48_ = g_strdup ("caption");
	_tmp49_ = g_new0 (gchar*, 1 + 1);
	_tmp49_[0] = _tmp48_;
	_tmp50_ = (GtkLabel*) gtk_label_new (NULL);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp50_, _tmp49_);
	_tmp49_ = (_vala_array_free (_tmp49_, 1, (GDestroyNotify) g_free), NULL);
	gtk_label_set_ellipsize (_tmp50_, PANGO_ELLIPSIZE_END);
	gtk_widget_set_margin_top ((GtkWidget*) _tmp50_, 3);
	g_object_ref_sink (_tmp50_);
	_g_object_unref0 (self->priv->date_label);
	self->priv->date_label = _tmp50_;
	_tmp51_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
	gtk_widget_set_margin_start ((GtkWidget*) _tmp51_, 30);
	g_object_ref_sink (_tmp51_);
	_data70_->title_box = _tmp51_;
	_tmp52_ = _data70_->title_box;
	_tmp53_ = today_icon;
	gtk_box_append (_tmp52_, (GtkWidget*) _tmp53_);
	_tmp54_ = _data70_->title_box;
	_tmp55_ = self->priv->title_label;
	gtk_box_append (_tmp54_, (GtkWidget*) _tmp55_);
	_tmp56_ = _data70_->title_box;
	_tmp57_ = self->priv->date_label;
	gtk_box_append (_tmp56_, (GtkWidget*) _tmp57_);
	_tmp58_ = self->priv->_date;
	_tmp59_ = widgets_events_list_new_for_day (_tmp58_);
	gtk_widget_set_margin_top ((GtkWidget*) _tmp59_, 12);
	gtk_widget_set_margin_start ((GtkWidget*) _tmp59_, 30);
	gtk_widget_set_margin_end ((GtkWidget*) _tmp59_, 24);
	g_object_ref_sink (_tmp59_);
	_g_object_unref0 (self->priv->event_list);
	self->priv->event_list = _tmp59_;
	_tmp60_ = self->priv->event_list;
	_tmp61_ = widgets_events_list_get_has_items (_tmp60_);
	_tmp62_ = _tmp61_;
	_tmp63_ = self->priv->event_list;
	_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_, _tmp62_);
	gtk_revealer_set_child (_tmp65_, _tmp64_);
	_g_object_unref0 (_tmp64_);
	g_object_ref_sink (_tmp65_);
	_g_object_unref0 (self->priv->event_list_revealer);
	self->priv->event_list_revealer = _tmp65_;
	_tmp66_ = objects_filters_today_get_default ();
	_tmp67_ = widgets_filter_flow_box_new ();
	gtk_widget_set_valign ((GtkWidget*) _tmp67_, GTK_ALIGN_START);
	gtk_widget_set_vexpand ((GtkWidget*) _tmp67_, FALSE);
	gtk_widget_set_vexpand_set ((GtkWidget*) _tmp67_, TRUE);
	widgets_filter_flow_box_set_base_object (_tmp67_, (ObjectsBaseObject*) _tmp66_);
	_g_object_unref0 (_tmp66_);
	g_object_ref_sink (_tmp67_);
	filters = _tmp67_;
	_tmp68_ = filters;
	_tmp69_ = _tmp68_->flowbox;
	gtk_widget_set_margin_start ((GtkWidget*) _tmp69_, 30);
	_tmp70_ = filters;
	_tmp71_ = _tmp70_->flowbox;
	gtk_widget_set_margin_top ((GtkWidget*) _tmp71_, 12);
	_tmp72_ = filters;
	_tmp73_ = _tmp72_->flowbox;
	gtk_widget_set_margin_end ((GtkWidget*) _tmp73_, 12);
	_tmp74_ = filters;
	_tmp75_ = _tmp74_->flowbox;
	gtk_widget_set_margin_bottom ((GtkWidget*) _tmp75_, 3);
	_tmp76_ = (GtkLabel*) gtk_label_new (_ ("Overdue"));
	gtk_widget_set_halign ((GtkWidget*) _tmp76_, GTK_ALIGN_START);
	gtk_widget_set_valign ((GtkWidget*) _tmp76_, GTK_ALIGN_CENTER);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp76_, TRUE);
	g_object_ref_sink (_tmp76_);
	overdue_label = _tmp76_;
	_tmp77_ = overdue_label;
	gtk_widget_add_css_class ((GtkWidget*) _tmp77_, "font-bold");
	_tmp78_ = widgets_schedule_button_new (_ ("Reschedule"));
	widgets_schedule_button_set_visible_clear_button (_tmp78_, FALSE);
	widgets_schedule_button_set_visible_no_date (_tmp78_, TRUE);
	g_object_ref_sink (_tmp78_);
	_data70_->reschedule_button = _tmp78_;
	_tmp79_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
	gtk_widget_set_margin_start ((GtkWidget*) _tmp79_, 30);
	gtk_widget_set_margin_end ((GtkWidget*) _tmp79_, 24);
	g_object_ref_sink (_tmp79_);
	_data70_->overdue_header_box = _tmp79_;
	_tmp80_ = _data70_->overdue_header_box;
	_tmp81_ = overdue_label;
	gtk_box_append (_tmp80_, (GtkWidget*) _tmp81_);
	_tmp82_ = _data70_->overdue_header_box;
	_tmp83_ = _data70_->reschedule_button;
	gtk_box_append (_tmp82_, (GtkWidget*) _tmp83_);
	_tmp84_ = g_strdup ("listbox-background");
	_tmp85_ = g_new0 (gchar*, 1 + 1);
	_tmp85_[0] = _tmp84_;
	_tmp86_ = (GtkListBox*) gtk_list_box_new ();
	gtk_widget_set_valign ((GtkWidget*) _tmp86_, GTK_ALIGN_START);
	gtk_list_box_set_activate_on_single_click (_tmp86_, TRUE);
	gtk_list_box_set_selection_mode (_tmp86_, GTK_SELECTION_SINGLE);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp86_, TRUE);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp86_, _tmp85_);
	_tmp85_ = (_vala_array_free (_tmp85_, 1, (GDestroyNotify) g_free), NULL);
	gtk_widget_set_margin_end ((GtkWidget*) _tmp86_, 24);
	g_object_ref_sink (_tmp86_);
	_g_object_unref0 (self->priv->overdue_listbox);
	self->priv->overdue_listbox = _tmp86_;
	_tmp87_ = self->priv->overdue_listbox;
	gtk_list_box_set_sort_func (_tmp87_, _views_today_set_sort_func_gtk_list_box_sort_func, g_object_ref (self), g_object_unref);
	_tmp88_ = (GtkGrid*) gtk_grid_new ();
	gtk_widget_set_margin_top ((GtkWidget*) _tmp88_, 6);
	g_object_ref_sink (_tmp88_);
	overdue_listbox_grid = _tmp88_;
	_tmp89_ = overdue_listbox_grid;
	_tmp90_ = self->priv->overdue_listbox;
	gtk_grid_attach (_tmp89_, (GtkWidget*) _tmp90_, 0, 0, 1, 1);
	_tmp91_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
	gtk_widget_set_margin_top ((GtkWidget*) _tmp91_, 12);
	g_object_ref_sink (_tmp91_);
	overdue_box = _tmp91_;
	_tmp92_ = overdue_box;
	_tmp93_ = _data70_->overdue_header_box;
	gtk_box_append (_tmp92_, (GtkWidget*) _tmp93_);
	_tmp94_ = overdue_box;
	_tmp95_ = overdue_listbox_grid;
	gtk_box_append (_tmp94_, (GtkWidget*) _tmp95_);
	_tmp96_ = overdue_box;
	_tmp97_ = _g_object_ref0 ((GtkWidget*) _tmp96_);
	_tmp98_ = (GtkRevealer*) gtk_revealer_new ();
	gtk_revealer_set_transition_type (_tmp98_, GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN);
	gtk_revealer_set_child (_tmp98_, _tmp97_);
	_g_object_unref0 (_tmp97_);
	g_object_ref_sink (_tmp98_);
	_g_object_unref0 (self->priv->overdue_revealer);
	self->priv->overdue_revealer = _tmp98_;
	_tmp99_ = (GtkLabel*) gtk_label_new (_ ("Today"));
	gtk_widget_set_halign ((GtkWidget*) _tmp99_, GTK_ALIGN_START);
	gtk_widget_set_valign ((GtkWidget*) _tmp99_, GTK_ALIGN_CENTER);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp99_, TRUE);
	g_object_ref_sink (_tmp99_);
	today_label = _tmp99_;
	_tmp100_ = today_label;
	gtk_widget_add_css_class ((GtkWidget*) _tmp100_, "font-bold");
	_tmp101_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
	gtk_widget_set_margin_start ((GtkWidget*) _tmp101_, 30);
	gtk_widget_set_margin_end ((GtkWidget*) _tmp101_, 24);
	gtk_widget_set_margin_top ((GtkWidget*) _tmp101_, 12);
	g_object_ref_sink (_tmp101_);
	_data70_->today_header_box = _tmp101_;
	_tmp102_ = _data70_->today_header_box;
	_tmp103_ = today_label;
	gtk_box_append (_tmp102_, (GtkWidget*) _tmp103_);
	_tmp104_ = _data70_->today_header_box;
	_tmp105_ = _g_object_ref0 ((GtkWidget*) _tmp104_);
	_tmp106_ = (GtkRevealer*) gtk_revealer_new ();
	gtk_revealer_set_transition_type (_tmp106_, GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN);
	gtk_revealer_set_child (_tmp106_, _tmp105_);
	_g_object_unref0 (_tmp105_);
	g_object_ref_sink (_tmp106_);
	_g_object_unref0 (self->priv->today_revealer);
	self->priv->today_revealer = _tmp106_;
	_tmp107_ = g_strdup ("listbox-background");
	_tmp108_ = g_new0 (gchar*, 1 + 1);
	_tmp108_[0] = _tmp107_;
	_tmp109_ = (GtkListBox*) gtk_list_box_new ();
	gtk_widget_set_valign ((GtkWidget*) _tmp109_, GTK_ALIGN_START);
	gtk_list_box_set_activate_on_single_click (_tmp109_, TRUE);
	gtk_list_box_set_selection_mode (_tmp109_, GTK_SELECTION_SINGLE);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp109_, TRUE);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp109_, _tmp108_);
	_tmp108_ = (_vala_array_free (_tmp108_, 1, (GDestroyNotify) g_free), NULL);
	g_object_ref_sink (_tmp109_);
	_g_object_unref0 (self->priv->listbox);
	self->priv->listbox = _tmp109_;
	_tmp110_ = self->priv->listbox;
	gtk_list_box_set_sort_func (_tmp110_, _views_today_set_sort_func_gtk_list_box_sort_func, g_object_ref (self), g_object_unref);
	_tmp111_ = (GtkGrid*) gtk_grid_new ();
	gtk_widget_set_margin_top ((GtkWidget*) _tmp111_, 6);
	gtk_widget_set_margin_start ((GtkWidget*) _tmp111_, 3);
	gtk_widget_set_margin_end ((GtkWidget*) _tmp111_, 24);
	g_object_ref_sink (_tmp111_);
	_g_object_unref0 (self->priv->listbox_grid);
	self->priv->listbox_grid = _tmp111_;
	_tmp112_ = self->priv->listbox_grid;
	_tmp113_ = self->priv->listbox;
	gtk_grid_attach (_tmp112_, (GtkWidget*) _tmp113_, 0, 0, 1, 1);
	_tmp114_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp114_, TRUE);
	gtk_widget_set_vexpand ((GtkWidget*) _tmp114_, TRUE);
	g_object_ref_sink (_tmp114_);
	content = _tmp114_;
	_tmp115_ = content;
	_tmp116_ = self->priv->overdue_revealer;
	gtk_box_append (_tmp115_, (GtkWidget*) _tmp116_);
	_tmp117_ = content;
	_tmp118_ = self->priv->today_revealer;
	gtk_box_append (_tmp117_, (GtkWidget*) _tmp118_);
	_tmp119_ = content;
	_tmp120_ = self->priv->listbox_grid;
	gtk_box_append (_tmp119_, (GtkWidget*) _tmp120_);
	_tmp121_ = (AdwStatusPage*) adw_status_page_new ();
	g_object_ref_sink (_tmp121_);
	listbox_placeholder = _tmp121_;
	_tmp122_ = listbox_placeholder;
	adw_status_page_set_icon_name (_tmp122_, "check-round-outline-symbolic");
	_tmp123_ = listbox_placeholder;
	adw_status_page_set_title (_tmp123_, _ ("Add Some Tasks"));
	_tmp124_ = listbox_placeholder;
	adw_status_page_set_description (_tmp124_, _ ("Press 'a' to create a new task"));
	_tmp125_ = (GtkStack*) gtk_stack_new ();
	gtk_widget_set_vexpand ((GtkWidget*) _tmp125_, TRUE);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp125_, TRUE);
	gtk_stack_set_transition_type (_tmp125_, GTK_STACK_TRANSITION_TYPE_CROSSFADE);
	gtk_stack_set_vhomogeneous (_tmp125_, FALSE);
	gtk_stack_set_hhomogeneous (_tmp125_, FALSE);
	g_object_ref_sink (_tmp125_);
	_g_object_unref0 (self->priv->listbox_placeholder_stack);
	self->priv->listbox_placeholder_stack = _tmp125_;
	_tmp126_ = self->priv->listbox_placeholder_stack;
	_tmp127_ = content;
	gtk_stack_add_named (_tmp126_, (GtkWidget*) _tmp127_, "listbox");
	_tmp128_ = self->priv->listbox_placeholder_stack;
	_tmp129_ = listbox_placeholder;
	gtk_stack_add_named (_tmp128_, (GtkWidget*) _tmp129_, "placeholder");
	_tmp130_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp130_, TRUE);
	gtk_widget_set_vexpand ((GtkWidget*) _tmp130_, TRUE);
	g_object_ref_sink (_tmp130_);
	content_box = _tmp130_;
	_tmp131_ = content_box;
	_tmp132_ = _data70_->title_box;
	gtk_box_append (_tmp131_, (GtkWidget*) _tmp132_);
	_tmp133_ = content_box;
	_tmp134_ = self->priv->event_list_revealer;
	gtk_box_append (_tmp133_, (GtkWidget*) _tmp134_);
	_tmp135_ = content_box;
	_tmp136_ = filters;
	gtk_box_append (_tmp135_, (GtkWidget*) _tmp136_);
	_tmp137_ = content_box;
	_tmp138_ = self->priv->listbox_placeholder_stack;
	gtk_box_append (_tmp137_, (GtkWidget*) _tmp138_);
	_tmp139_ = content_box;
	_tmp140_ = _g_object_ref0 ((GtkWidget*) _tmp139_);
	_tmp141_ = (AdwClamp*) adw_clamp_new ();
	adw_clamp_set_maximum_size (_tmp141_, 864);
	adw_clamp_set_tightening_threshold (_tmp141_, 600);
	gtk_widget_set_margin_bottom ((GtkWidget*) _tmp141_, 64);
	adw_clamp_set_child (_tmp141_, _tmp140_);
	_g_object_unref0 (_tmp140_);
	g_object_ref_sink (_tmp141_);
	content_clamp = _tmp141_;
	_tmp142_ = content_clamp;
	_tmp143_ = _g_object_ref0 ((GtkWidget*) _tmp142_);
	_tmp144_ = (GtkScrolledWindow*) gtk_scrolled_window_new ();
	g_object_set (_tmp144_, "hscrollbar-policy", GTK_POLICY_NEVER, NULL);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp144_, TRUE);
	gtk_widget_set_vexpand ((GtkWidget*) _tmp144_, TRUE);
	gtk_scrolled_window_set_child (_tmp144_, _tmp143_);
	_g_object_unref0 (_tmp143_);
	g_object_ref_sink (_tmp144_);
	_g_object_unref0 (self->priv->scrolled_window);
	self->priv->scrolled_window = _tmp144_;
	_tmp145_ = widgets_magic_button_new ();
	g_object_ref_sink (_tmp145_);
	magic_button = _tmp145_;
	_tmp146_ = self->priv->scrolled_window;
	_tmp147_ = _g_object_ref0 ((GtkWidget*) _tmp146_);
	_tmp148_ = (GtkOverlay*) gtk_overlay_new ();
	gtk_widget_set_hexpand ((GtkWidget*) _tmp148_, TRUE);
	gtk_widget_set_vexpand ((GtkWidget*) _tmp148_, TRUE);
	gtk_overlay_set_child (_tmp148_, _tmp147_);
	_g_object_unref0 (_tmp147_);
	g_object_ref_sink (_tmp148_);
	content_overlay = _tmp148_;
	_tmp149_ = content_overlay;
	_tmp150_ = magic_button;
	gtk_overlay_add_overlay (_tmp149_, (GtkWidget*) _tmp150_);
	_tmp151_ = content_overlay;
	_tmp152_ = _g_object_ref0 ((GtkWidget*) _tmp151_);
	_tmp153_ = (AdwToolbarView*) adw_toolbar_view_new ();
	adw_toolbar_view_set_content (_tmp153_, _tmp152_);
	_g_object_unref0 (_tmp152_);
	g_object_ref_sink (_tmp153_);
	toolbar_view = _tmp153_;
	_tmp154_ = toolbar_view;
	_tmp155_ = self->priv->headerbar;
	adw_toolbar_view_add_top_bar (_tmp154_, (GtkWidget*) _tmp155_);
	_tmp156_ = toolbar_view;
	adw_bin_set_child ((AdwBin*) self, (GtkWidget*) _tmp156_);
	views_today_update_today_label (self);
	views_today_add_today_items (self);
	_tmp157_ = self->priv->listbox_placeholder_stack;
	_tmp158_ = gtk_stack_get_transition_duration (_tmp157_);
	_tmp159_ = _tmp158_;
	g_timeout_add_full (G_PRIORITY_DEFAULT, _tmp159_, __views_today___lambda795__gsource_func, g_object_ref (self), g_object_unref);
	_tmp160_ = self->priv->signal_map;
	_tmp161_ = services_event_bus_get_default ();
	_tmp162_ = _tmp161_;
	_tmp163_ = g_signal_connect_object (_tmp162_, "day-changed", (GCallback) __views_today___lambda796__services_event_bus_day_changed, self, 0);
	_tmp164_ = services_event_bus_get_default ();
	_tmp165_ = _tmp164_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp160_, (gpointer) ((guintptr) _tmp163_), (GObject*) _tmp165_);
	_g_object_unref0 (_tmp165_);
	_g_object_unref0 (_tmp162_);
	_tmp166_ = self->priv->signal_map;
	_tmp167_ = services_store_instance ();
	_tmp168_ = g_signal_connect_object (_tmp167_, "item-added", (GCallback) _views_today_valid_add_item_services_store_item_added, self, 0);
	_tmp169_ = services_store_instance ();
	gee_abstract_map_set ((GeeAbstractMap*) _tmp166_, (gpointer) ((guintptr) _tmp168_), (GObject*) _tmp169_);
	_tmp170_ = self->priv->signal_map;
	_tmp171_ = services_store_instance ();
	_tmp172_ = g_signal_connect_object (_tmp171_, "item-deleted", (GCallback) _views_today_valid_delete_item_services_store_item_deleted, self, 0);
	_tmp173_ = services_store_instance ();
	gee_abstract_map_set ((GeeAbstractMap*) _tmp170_, (gpointer) ((guintptr) _tmp172_), (GObject*) _tmp173_);
	_tmp174_ = self->priv->signal_map;
	_tmp175_ = services_store_instance ();
	_tmp176_ = g_signal_connect_object (_tmp175_, "item-updated", (GCallback) _views_today_valid_update_item_services_store_item_updated, self, 0);
	_tmp177_ = services_store_instance ();
	gee_abstract_map_set ((GeeAbstractMap*) _tmp174_, (gpointer) ((guintptr) _tmp176_), (GObject*) _tmp177_);
	_tmp178_ = self->priv->signal_map;
	_tmp179_ = services_store_instance ();
	_tmp180_ = g_signal_connect_object (_tmp179_, "item-archived", (GCallback) _views_today_valid_delete_item_services_store_item_archived, self, 0);
	_tmp181_ = services_store_instance ();
	gee_abstract_map_set ((GeeAbstractMap*) _tmp178_, (gpointer) ((guintptr) _tmp180_), (GObject*) _tmp181_);
	_tmp182_ = self->priv->signal_map;
	_tmp183_ = services_store_instance ();
	_tmp184_ = g_signal_connect_object (_tmp183_, "item-unarchived", (GCallback) _views_today_valid_add_item_services_store_item_unarchived, self, 0);
	_tmp185_ = services_store_instance ();
	gee_abstract_map_set ((GeeAbstractMap*) _tmp182_, (gpointer) ((guintptr) _tmp184_), (GObject*) _tmp185_);
	_tmp186_ = self->priv->signal_map;
	_tmp187_ = services_event_bus_get_default ();
	_tmp188_ = _tmp187_;
	_tmp189_ = g_signal_connect_object (_tmp188_, "item-moved", (GCallback) __views_today___lambda797__services_event_bus_item_moved, self, 0);
	_tmp190_ = services_event_bus_get_default ();
	_tmp191_ = _tmp190_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp186_, (gpointer) ((guintptr) _tmp189_), (GObject*) _tmp191_);
	_g_object_unref0 (_tmp191_);
	_g_object_unref0 (_tmp188_);
	_tmp192_ = self->priv->signal_map;
	_tmp193_ = magic_button;
	_tmp194_ = g_signal_connect_object (_tmp193_, "clicked", (GCallback) __views_today___lambda798__widgets_magic_button_clicked, self, 0);
	_tmp195_ = magic_button;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp192_, (gpointer) ((guintptr) _tmp194_), (GObject*) _tmp195_);
	_tmp196_ = self->priv->event_list;
	g_signal_connect_object (_tmp196_, "change", (GCallback) __views_today___lambda799__widgets_events_list_change, self, 0);
	_tmp197_ = self->priv->signal_map;
	_tmp198_ = services_settings_get_default ();
	_tmp199_ = _tmp198_;
	_tmp200_ = _tmp199_->settings;
	_tmp201_ = g_signal_connect_object (_tmp200_, "changed::today-sort-order", (GCallback) __views_today___lambda800__g_settings_changed, self, 0);
	_tmp202_ = services_settings_get_default ();
	_tmp203_ = _tmp202_;
	_tmp204_ = _tmp203_->settings;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp197_, (gpointer) ((guintptr) _tmp201_), (GObject*) _tmp204_);
	_g_object_unref0 (_tmp203_);
	_g_object_unref0 (_tmp199_);
	_tmp205_ = self->priv->listbox;
	gtk_list_box_set_filter_func (_tmp205_, __views_today___lambda801__gtk_list_box_filter_func, g_object_ref (self), g_object_unref);
	_tmp206_ = self->priv->overdue_listbox;
	gtk_list_box_set_filter_func (_tmp206_, __views_today___lambda802__gtk_list_box_filter_func, g_object_ref (self), g_object_unref);
	_tmp207_ = self->priv->signal_map;
	_tmp208_ = objects_filters_today_get_default ();
	_tmp209_ = _tmp208_;
	_tmp210_ = g_signal_connect_object ((ObjectsBaseObject*) _tmp209_, "filter-added", (GCallback) __views_today___lambda803__objects_base_object_filter_added, self, 0);
	_tmp211_ = objects_filters_today_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_ = objects_filters_today_get_default ();
	_tmp215_ = _tmp214_;
	_tmp216_ = g_signal_connect_object ((ObjectsBaseObject*) _tmp215_, "filter-removed", (GCallback) __views_today___lambda804__objects_base_object_filter_removed, self, 0);
	_tmp217_ = objects_filters_today_get_default ();
	_tmp218_ = _tmp217_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp213_, (gpointer) ((guintptr) _tmp216_), (GObject*) _tmp218_);
	_g_object_unref0 (_tmp218_);
	_g_object_unref0 (_tmp215_);
	_tmp219_ = self->priv->signal_map;
	_tmp220_ = objects_filters_today_get_default ();
	_tmp221_ = _tmp220_;
	_tmp222_ = g_signal_connect_object ((ObjectsBaseObject*) _tmp221_, "filter-updated", (GCallback) __views_today___lambda805__objects_base_object_filter_updated, self, 0);
	_tmp223_ = objects_filters_today_get_default ();
	_tmp224_ = _tmp223_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp219_, (gpointer) ((guintptr) _tmp222_), (GObject*) _tmp224_);
	_g_object_unref0 (_tmp224_);
	_g_object_unref0 (_tmp221_);
	_tmp225_ = self->priv->signal_map;
	_tmp226_ = _data70_->reschedule_button;
	_tmp227_ = g_signal_connect_data (_tmp226_, "duedate-changed", (GCallback) __views_today___lambda806__widgets_schedule_button_duedate_changed, block70_data_ref (_data70_), (GClosureNotify) block70_data_unref, 0);
	_tmp228_ = _data70_->reschedule_button;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp225_, (gpointer) ((guintptr) _tmp227_), (GObject*) _tmp228_);
	_tmp229_ = self->priv->signal_map;
	_tmp230_ = self->priv->scrolled_window;
	_tmp231_ = gtk_scrolled_window_get_vadjustment (_tmp230_);
	_tmp232_ = _tmp231_;
	_tmp233_ = g_signal_connect_object (_tmp232_, "value-changed", (GCallback) __views_today___lambda807__gtk_adjustment_value_changed, self, 0);
	_tmp234_ = self->priv->scrolled_window;
	_tmp235_ = gtk_scrolled_window_get_vadjustment (_tmp234_);
	_tmp236_ = _tmp235_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp229_, (gpointer) ((guintptr) _tmp233_), (GObject*) _tmp236_);
	_tmp237_ = self->priv->signal_map;
	_tmp238_ = services_event_bus_get_default ();
	_tmp239_ = _tmp238_;
	_tmp240_ = g_signal_connect_data (_tmp239_, "dim-content", (GCallback) __views_today___lambda808__services_event_bus_dim_content, block70_data_ref (_data70_), (GClosureNotify) block70_data_unref, 0);
	_tmp241_ = services_event_bus_get_default ();
	_tmp242_ = _tmp241_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp237_, (gpointer) ((guintptr) _tmp240_), (GObject*) _tmp242_);
	_g_object_unref0 (_tmp242_);
	_g_object_unref0 (_tmp239_);
	_g_object_unref0 (toolbar_view);
	_g_object_unref0 (content_overlay);
	_g_object_unref0 (magic_button);
	_g_object_unref0 (content_clamp);
	_g_object_unref0 (content_box);
	_g_object_unref0 (listbox_placeholder);
	_g_object_unref0 (content);
	_g_object_unref0 (today_label);
	_g_object_unref0 (overdue_box);
	_g_object_unref0 (overdue_listbox_grid);
	_g_object_unref0 (overdue_label);
	_g_object_unref0 (filters);
	_g_object_unref0 (today_icon);
	_g_object_unref0 (view_setting_overlay);
	_g_object_unref0 (view_setting_button);
	_g_object_unref0 (indicator_grid);
	block70_data_unref (_data70_);
	_data70_ = NULL;
	return obj;
}

static void
views_today_class_init (ViewsTodayClass * klass,
                        gpointer klass_data)
{
	views_today_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &ViewsToday_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_views_today_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_views_today_set_property;
	G_OBJECT_CLASS (klass)->constructor = views_today_constructor;
	G_OBJECT_CLASS (klass)->finalize = views_today_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), VIEWS_TODAY_DATE_PROPERTY, views_today_properties[VIEWS_TODAY_DATE_PROPERTY] = g_param_spec_boxed ("date", "date", "date", G_TYPE_DATE_TIME, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
}

static void
views_today_instance_init (ViewsToday * self,
                           gpointer klass)
{
	GeeHashMap* _tmp0_;
	GeeHashMap* _tmp1_;
	GDateTime* _tmp2_;
	GeeHashMap* _tmp3_;
	self->priv = views_today_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->overdue_items = _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->items = _tmp1_;
	_tmp2_ = g_date_time_new_now_local ();
	self->priv->_date = _tmp2_;
	_tmp3_ = 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 = _tmp3_;
}

static void
views_today_finalize (GObject * obj)
{
	ViewsToday * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, VIEWS_TYPE_TODAY, ViewsToday);
	g_debug ("Today.vala:61: Destroying - Today View\n");
	_g_object_unref0 (self->priv->headerbar);
	_g_object_unref0 (self->priv->title_label);
	_g_object_unref0 (self->priv->date_label);
	_g_object_unref0 (self->priv->event_list);
	_g_object_unref0 (self->priv->event_list_revealer);
	_g_object_unref0 (self->priv->listbox);
	_g_object_unref0 (self->priv->today_revealer);
	_g_object_unref0 (self->priv->overdue_listbox);
	_g_object_unref0 (self->priv->overdue_revealer);
	_g_object_unref0 (self->priv->listbox_grid);
	_g_object_unref0 (self->priv->scrolled_window);
	_g_object_unref0 (self->priv->listbox_placeholder_stack);
	_g_object_unref0 (self->priv->indicator_revealer);
	_g_object_unref0 (self->priv->priority_filter);
	_g_object_unref0 (self->priv->assignment_filter);
	_g_object_unref0 (self->overdue_items);
	_g_object_unref0 (self->items);
	_g_date_time_unref0 (self->priv->_date);
	_g_object_unref0 (self->priv->signal_map);
	G_OBJECT_CLASS (views_today_parent_class)->finalize (obj);
}

static GType
views_today_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (ViewsTodayClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) views_today_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ViewsToday), 0, (GInstanceInitFunc) views_today_instance_init, NULL };
	GType views_today_type_id;
	views_today_type_id = g_type_register_static (adw_bin_get_type (), "ViewsToday", &g_define_type_info, 0);
	ViewsToday_private_offset = g_type_add_instance_private (views_today_type_id, sizeof (ViewsTodayPrivate));
	return views_today_type_id;
}

GType
views_today_get_type (void)
{
	static volatile gsize views_today_type_id__once = 0;
	if (g_once_init_enter (&views_today_type_id__once)) {
		GType views_today_type_id;
		views_today_type_id = views_today_get_type_once ();
		g_once_init_leave (&views_today_type_id__once, views_today_type_id);
	}
	return views_today_type_id__once;
}

static void
_vala_views_today_get_property (GObject * object,
                                guint property_id,
                                GValue * value,
                                GParamSpec * pspec)
{
	ViewsToday * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, VIEWS_TYPE_TODAY, ViewsToday);
	switch (property_id) {
		case VIEWS_TODAY_DATE_PROPERTY:
		g_value_set_boxed (value, views_today_get_date (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_views_today_set_property (GObject * object,
                                guint property_id,
                                const GValue * value,
                                GParamSpec * pspec)
{
	ViewsToday * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, VIEWS_TYPE_TODAY, ViewsToday);
	switch (property_id) {
		case VIEWS_TODAY_DATE_PROPERTY:
		views_today_set_date (self, g_value_get_boxed (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);
}

