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

/*-
 * Copyright (c) 2019 elementary, Inc. (https://elementary.io)
 *
 * 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, see <http://www.gnu.org/licenses/>.
 */

#include <adwaita.h>
#include <glib-object.h>
#include <stdlib.h>
#include <string.h>
#include <glib.h>
#include <glib/gi18n-lib.h>
#include <gtk/gtk.h>
#include <gio/gio.h>
#include <granite-7.h>
#include <float.h>
#include <math.h>
#include <gdk/gdk.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 ONBOARDING_TYPE_ABSTRACT_ONBOARDING_VIEW (onboarding_abstract_onboarding_view_get_type ())
#define ONBOARDING_ABSTRACT_ONBOARDING_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ONBOARDING_TYPE_ABSTRACT_ONBOARDING_VIEW, OnboardingAbstractOnboardingView))
#define ONBOARDING_ABSTRACT_ONBOARDING_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ONBOARDING_TYPE_ABSTRACT_ONBOARDING_VIEW, OnboardingAbstractOnboardingViewClass))
#define ONBOARDING_IS_ABSTRACT_ONBOARDING_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ONBOARDING_TYPE_ABSTRACT_ONBOARDING_VIEW))
#define ONBOARDING_IS_ABSTRACT_ONBOARDING_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ONBOARDING_TYPE_ABSTRACT_ONBOARDING_VIEW))
#define ONBOARDING_ABSTRACT_ONBOARDING_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ONBOARDING_TYPE_ABSTRACT_ONBOARDING_VIEW, OnboardingAbstractOnboardingViewClass))

typedef struct _OnboardingAbstractOnboardingView OnboardingAbstractOnboardingView;
typedef struct _OnboardingAbstractOnboardingViewClass OnboardingAbstractOnboardingViewClass;
typedef struct _OnboardingAbstractOnboardingViewPrivate OnboardingAbstractOnboardingViewPrivate;

#define ONBOARDING_TYPE_WELCOME_VIEW (onboarding_welcome_view_get_type ())
#define ONBOARDING_WELCOME_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ONBOARDING_TYPE_WELCOME_VIEW, OnboardingWelcomeView))
#define ONBOARDING_WELCOME_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ONBOARDING_TYPE_WELCOME_VIEW, OnboardingWelcomeViewClass))
#define ONBOARDING_IS_WELCOME_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ONBOARDING_TYPE_WELCOME_VIEW))
#define ONBOARDING_IS_WELCOME_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ONBOARDING_TYPE_WELCOME_VIEW))
#define ONBOARDING_WELCOME_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ONBOARDING_TYPE_WELCOME_VIEW, OnboardingWelcomeViewClass))

typedef struct _OnboardingWelcomeView OnboardingWelcomeView;
typedef struct _OnboardingWelcomeViewClass OnboardingWelcomeViewClass;
typedef struct _OnboardingWelcomeViewPrivate OnboardingWelcomeViewPrivate;
enum  {
	ONBOARDING_WELCOME_VIEW_0_PROPERTY,
	ONBOARDING_WELCOME_VIEW_NUM_PROPERTIES
};
static GParamSpec* onboarding_welcome_view_properties[ONBOARDING_WELCOME_VIEW_NUM_PROPERTIES];
#define _g_free0(var) (var = (g_free (var), NULL))
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

#define ONBOARDING_WELCOME_VIEW_TYPE_LINK_ROW (onboarding_welcome_view_link_row_get_type ())
#define ONBOARDING_WELCOME_VIEW_LINK_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ONBOARDING_WELCOME_VIEW_TYPE_LINK_ROW, OnboardingWelcomeViewLinkRow))
#define ONBOARDING_WELCOME_VIEW_LINK_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ONBOARDING_WELCOME_VIEW_TYPE_LINK_ROW, OnboardingWelcomeViewLinkRowClass))
#define ONBOARDING_WELCOME_VIEW_IS_LINK_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ONBOARDING_WELCOME_VIEW_TYPE_LINK_ROW))
#define ONBOARDING_WELCOME_VIEW_IS_LINK_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ONBOARDING_WELCOME_VIEW_TYPE_LINK_ROW))
#define ONBOARDING_WELCOME_VIEW_LINK_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ONBOARDING_WELCOME_VIEW_TYPE_LINK_ROW, OnboardingWelcomeViewLinkRowClass))

typedef struct _OnboardingWelcomeViewLinkRow OnboardingWelcomeViewLinkRow;
typedef struct _OnboardingWelcomeViewLinkRowClass OnboardingWelcomeViewLinkRowClass;
typedef struct _OnboardingWelcomeViewLinkRowPrivate OnboardingWelcomeViewLinkRowPrivate;
enum  {
	ONBOARDING_WELCOME_VIEW_LINK_ROW_0_PROPERTY,
	ONBOARDING_WELCOME_VIEW_LINK_ROW_URI_PROPERTY,
	ONBOARDING_WELCOME_VIEW_LINK_ROW_ICON_NAME_PROPERTY,
	ONBOARDING_WELCOME_VIEW_LINK_ROW_LABEL_STRING_PROPERTY,
	ONBOARDING_WELCOME_VIEW_LINK_ROW_COLOR_PROPERTY,
	ONBOARDING_WELCOME_VIEW_LINK_ROW_NUM_PROPERTIES
};
static GParamSpec* onboarding_welcome_view_link_row_properties[ONBOARDING_WELCOME_VIEW_LINK_ROW_NUM_PROPERTIES];

struct _OnboardingAbstractOnboardingView {
	AdwNavigationPage parent_instance;
	OnboardingAbstractOnboardingViewPrivate * priv;
};

struct _OnboardingAbstractOnboardingViewClass {
	AdwNavigationPageClass parent_class;
};

struct _OnboardingWelcomeView {
	OnboardingAbstractOnboardingView parent_instance;
	OnboardingWelcomeViewPrivate * priv;
};

struct _OnboardingWelcomeViewClass {
	OnboardingAbstractOnboardingViewClass parent_class;
};

struct _OnboardingWelcomeViewLinkRow {
	GraniteListItem parent_instance;
	OnboardingWelcomeViewLinkRowPrivate * priv;
};

struct _OnboardingWelcomeViewLinkRowClass {
	GraniteListItemClass parent_class;
};

struct _OnboardingWelcomeViewLinkRowPrivate {
	gchar* _uri;
	gchar* _icon_name;
	gchar* _label_string;
	gchar* _color;
};

static gpointer onboarding_welcome_view_parent_class = NULL;
static gchar* onboarding_welcome_view__bug_url;
static gchar* onboarding_welcome_view__bug_url = NULL;
static gchar* onboarding_welcome_view__documentation_url;
static gchar* onboarding_welcome_view__documentation_url = NULL;
static gchar* onboarding_welcome_view__website_url;
static gchar* onboarding_welcome_view__website_url = NULL;
static gchar* onboarding_welcome_view__support_url;
static gchar* onboarding_welcome_view__support_url = NULL;
static gint OnboardingWelcomeViewLinkRow_private_offset;
static gpointer onboarding_welcome_view_link_row_parent_class = NULL;

VALA_EXTERN GType onboarding_abstract_onboarding_view_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (OnboardingAbstractOnboardingView, g_object_unref)
VALA_EXTERN GType onboarding_welcome_view_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (OnboardingWelcomeView, g_object_unref)
VALA_EXTERN OnboardingWelcomeView* onboarding_welcome_view_new (gboolean updates);
VALA_EXTERN OnboardingWelcomeView* onboarding_welcome_view_construct (GType object_type,
                                                          gboolean updates);
VALA_EXTERN const gchar* utils_get_logo_icon_name (void);
static void onboarding_welcome_view_launch_uri (OnboardingWelcomeView* self,
                                         const gchar* uri);
static const gchar* onboarding_welcome_view_get_bug_url (void);
static const gchar* onboarding_welcome_view_get_documentation_url (void);
static const gchar* onboarding_welcome_view_get_website_url (void);
static const gchar* onboarding_welcome_view_get_support_url (void);
static GType onboarding_welcome_view_link_row_get_type (void) G_GNUC_CONST  G_GNUC_UNUSED ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (OnboardingWelcomeViewLinkRow, g_object_unref)
static OnboardingWelcomeViewLinkRow* onboarding_welcome_view_link_row_new (const gchar* uri,
                                                                    const gchar* label_string,
                                                                    const gchar* icon_name,
                                                                    const gchar* color);
static OnboardingWelcomeViewLinkRow* onboarding_welcome_view_link_row_construct (GType object_type,
                                                                          const gchar* uri,
                                                                          const gchar* label_string,
                                                                          const gchar* icon_name,
                                                                          const gchar* color);
static const gchar* onboarding_welcome_view_link_row_get_uri (OnboardingWelcomeViewLinkRow* self);
static void onboarding_welcome_view_link_row_set_uri (OnboardingWelcomeViewLinkRow* self,
                                               const gchar* value);
static const gchar* onboarding_welcome_view_link_row_get_icon_name (OnboardingWelcomeViewLinkRow* self);
static void onboarding_welcome_view_link_row_set_icon_name (OnboardingWelcomeViewLinkRow* self,
                                                     const gchar* value);
static const gchar* onboarding_welcome_view_link_row_get_label_string (OnboardingWelcomeViewLinkRow* self);
static void onboarding_welcome_view_link_row_set_label_string (OnboardingWelcomeViewLinkRow* self,
                                                        const gchar* value);
static const gchar* onboarding_welcome_view_link_row_get_color (OnboardingWelcomeViewLinkRow* self);
static void onboarding_welcome_view_link_row_set_color (OnboardingWelcomeViewLinkRow* self,
                                                 const gchar* value);
static GObject * onboarding_welcome_view_link_row_constructor (GType type,
                                                        guint n_construct_properties,
                                                        GObjectConstructParam * construct_properties);
static void onboarding_welcome_view_link_row_finalize (GObject * obj);
static GType onboarding_welcome_view_link_row_get_type_once (void);
static void _vala_onboarding_welcome_view_link_row_get_property (GObject * object,
                                                          guint property_id,
                                                          GValue * value,
                                                          GParamSpec * pspec);
static void _vala_onboarding_welcome_view_link_row_set_property (GObject * object,
                                                          guint property_id,
                                                          const GValue * value,
                                                          GParamSpec * pspec);
static GObject * onboarding_welcome_view_constructor (GType type,
                                               guint n_construct_properties,
                                               GObjectConstructParam * construct_properties);
VALA_EXTERN const gchar* onboarding_abstract_onboarding_view_get_icon_name (OnboardingAbstractOnboardingView* self);
VALA_EXTERN GtkImage* onboarding_abstract_onboarding_view_get_image (OnboardingAbstractOnboardingView* self);
VALA_EXTERN GraniteBox* onboarding_abstract_onboarding_view_get_custom_bin (OnboardingAbstractOnboardingView* self);
static void _onboarding_welcome_view___lambda4_ (OnboardingWelcomeView* self,
                                          GtkListBoxRow* row);
static void __onboarding_welcome_view___lambda4__gtk_list_box_row_activated (GtkListBox* _sender,
                                                                      GtkListBoxRow* row,
                                                                      gpointer self);
static void onboarding_welcome_view_finalize (GObject * obj);
static GType onboarding_welcome_view_get_type_once (void);
static void _vala_onboarding_welcome_view_get_property (GObject * object,
                                                 guint property_id,
                                                 GValue * value,
                                                 GParamSpec * pspec);
static gssize _vala_array_length (gpointer array);

OnboardingWelcomeView*
onboarding_welcome_view_construct (GType object_type,
                                   gboolean updates)
{
	OnboardingWelcomeView * self = NULL;
	gchar* _title = NULL;
	gchar* _tmp0_;
	gchar* _badge_icon = NULL;
	gchar* _tmp1_;
	const gchar* _tmp5_;
	const gchar* _tmp6_;
	const gchar* _tmp7_;
	const gchar* _tmp8_;
	_tmp0_ = g_strdup ("");
	_title = _tmp0_;
	_tmp1_ = g_strdup ("");
	_badge_icon = _tmp1_;
	if (updates) {
		gchar* _tmp2_;
		gchar* _tmp3_;
		_tmp2_ = g_strdup (_ ("What’s New"));
		_g_free0 (_title);
		_title = _tmp2_;
		_tmp3_ = g_strdup ("system-software-update");
		_g_free0 (_badge_icon);
		_badge_icon = _tmp3_;
	} else {
		gchar* _tmp4_;
		_tmp4_ = g_strdup (_ ("Welcome!"));
		_g_free0 (_title);
		_title = _tmp4_;
	}
	_tmp5_ = _title;
	_tmp6_ = utils_get_logo_icon_name ();
	_tmp7_ = _tmp6_;
	_tmp8_ = _badge_icon;
	self = (OnboardingWelcomeView*) g_object_new (object_type, "view-name", "welcome", "title", _tmp5_, "description", _ ("Continue to set up some useful features. Visit the links below for mor" \
"e help with getting started."), "icon-name", _tmp7_, "badge-name", _tmp8_, NULL);
	_g_free0 (_badge_icon);
	_g_free0 (_title);
	return self;
}

OnboardingWelcomeView*
onboarding_welcome_view_new (gboolean updates)
{
	return onboarding_welcome_view_construct (ONBOARDING_TYPE_WELCOME_VIEW, updates);
}

static void
onboarding_welcome_view_launch_uri (OnboardingWelcomeView* self,
                                    const gchar* uri)
{
	GtkUriLauncher* uri_launcher = NULL;
	GtkUriLauncher* _tmp0_;
	GApplication* _tmp1_;
	GtkWindow* _tmp2_;
	GtkWindow* _tmp3_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (uri != NULL);
	_tmp0_ = gtk_uri_launcher_new (uri);
	uri_launcher = _tmp0_;
	_tmp1_ = g_application_get_default ();
	_tmp2_ = gtk_application_get_active_window (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_application_get_type (), GtkApplication));
	_tmp3_ = _tmp2_;
	gtk_uri_launcher_launch (uri_launcher, _tmp3_, NULL, NULL, NULL);
	_g_object_unref0 (uri_launcher);
}

static const gchar*
onboarding_welcome_view_get_bug_url (void)
{
	const gchar* result;
	const gchar* _tmp0_;
	const gchar* _tmp4_;
	_tmp0_ = onboarding_welcome_view__bug_url;
	if (_tmp0_ == NULL) {
		gchar* _tmp1_;
		const gchar* _tmp2_;
		_tmp1_ = g_get_os_info (G_OS_INFO_KEY_BUG_REPORT_URL);
		_g_free0 (onboarding_welcome_view__bug_url);
		onboarding_welcome_view__bug_url = _tmp1_;
		_tmp2_ = onboarding_welcome_view__bug_url;
		if (_tmp2_ == NULL) {
			gchar* _tmp3_;
			_tmp3_ = g_strdup ("https://docs.elementary.io/contributor-guide/feedback/reporting-issues");
			_g_free0 (onboarding_welcome_view__bug_url);
			onboarding_welcome_view__bug_url = _tmp3_;
		}
	}
	_tmp4_ = onboarding_welcome_view__bug_url;
	result = _tmp4_;
	return result;
}

static const gchar*
onboarding_welcome_view_get_documentation_url (void)
{
	const gchar* result;
	const gchar* _tmp0_;
	const gchar* _tmp4_;
	_tmp0_ = onboarding_welcome_view__documentation_url;
	if (_tmp0_ == NULL) {
		gchar* _tmp1_;
		const gchar* _tmp2_;
		_tmp1_ = g_get_os_info (G_OS_INFO_KEY_DOCUMENTATION_URL);
		_g_free0 (onboarding_welcome_view__documentation_url);
		onboarding_welcome_view__documentation_url = _tmp1_;
		_tmp2_ = onboarding_welcome_view__documentation_url;
		if (_tmp2_ == NULL) {
			gchar* _tmp3_;
			_tmp3_ = g_strdup ("https://elementary.io/docs/learning-the-basics");
			_g_free0 (onboarding_welcome_view__documentation_url);
			onboarding_welcome_view__documentation_url = _tmp3_;
		}
	}
	_tmp4_ = onboarding_welcome_view__documentation_url;
	result = _tmp4_;
	return result;
}

static const gchar*
onboarding_welcome_view_get_website_url (void)
{
	const gchar* result;
	const gchar* _tmp0_;
	const gchar* _tmp4_;
	_tmp0_ = onboarding_welcome_view__website_url;
	if (_tmp0_ == NULL) {
		gchar* _tmp1_;
		const gchar* _tmp2_;
		_tmp1_ = g_get_os_info (G_OS_INFO_KEY_HOME_URL);
		_g_free0 (onboarding_welcome_view__website_url);
		onboarding_welcome_view__website_url = _tmp1_;
		_tmp2_ = onboarding_welcome_view__website_url;
		if (_tmp2_ == NULL) {
			gchar* _tmp3_;
			_tmp3_ = g_strdup ("https://elementary.io");
			_g_free0 (onboarding_welcome_view__website_url);
			onboarding_welcome_view__website_url = _tmp3_;
		}
	}
	_tmp4_ = onboarding_welcome_view__website_url;
	result = _tmp4_;
	return result;
}

static const gchar*
onboarding_welcome_view_get_support_url (void)
{
	const gchar* result;
	const gchar* _tmp0_;
	const gchar* _tmp4_;
	_tmp0_ = onboarding_welcome_view__support_url;
	if (_tmp0_ == NULL) {
		gchar* _tmp1_;
		const gchar* _tmp2_;
		_tmp1_ = g_get_os_info (G_OS_INFO_KEY_SUPPORT_URL);
		_g_free0 (onboarding_welcome_view__support_url);
		onboarding_welcome_view__support_url = _tmp1_;
		_tmp2_ = onboarding_welcome_view__support_url;
		if (_tmp2_ == NULL) {
			gchar* _tmp3_;
			_tmp3_ = g_strdup ("https://elementary.io/support");
			_g_free0 (onboarding_welcome_view__support_url);
			onboarding_welcome_view__support_url = _tmp3_;
		}
	}
	_tmp4_ = onboarding_welcome_view__support_url;
	result = _tmp4_;
	return result;
}

static inline gpointer
onboarding_welcome_view_link_row_get_instance_private (OnboardingWelcomeViewLinkRow* self)
{
	return G_STRUCT_MEMBER_P (self, OnboardingWelcomeViewLinkRow_private_offset);
}

static OnboardingWelcomeViewLinkRow*
onboarding_welcome_view_link_row_construct (GType object_type,
                                            const gchar* uri,
                                            const gchar* label_string,
                                            const gchar* icon_name,
                                            const gchar* color)
{
	OnboardingWelcomeViewLinkRow * self = NULL;
	g_return_val_if_fail (uri != NULL, NULL);
	g_return_val_if_fail (label_string != NULL, NULL);
	g_return_val_if_fail (icon_name != NULL, NULL);
	g_return_val_if_fail (color != NULL, NULL);
	self = (OnboardingWelcomeViewLinkRow*) g_object_new (object_type, "uri", uri, "label-string", label_string, "icon-name", icon_name, "color", color, NULL);
	return self;
}

static OnboardingWelcomeViewLinkRow*
onboarding_welcome_view_link_row_new (const gchar* uri,
                                      const gchar* label_string,
                                      const gchar* icon_name,
                                      const gchar* color)
{
	return onboarding_welcome_view_link_row_construct (ONBOARDING_WELCOME_VIEW_TYPE_LINK_ROW, uri, label_string, icon_name, color);
}

static const gchar*
onboarding_welcome_view_link_row_get_uri (OnboardingWelcomeViewLinkRow* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_uri;
	result = _tmp0_;
	return result;
}

static void
onboarding_welcome_view_link_row_set_uri (OnboardingWelcomeViewLinkRow* self,
                                          const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = onboarding_welcome_view_link_row_get_uri (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_uri);
		self->priv->_uri = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, onboarding_welcome_view_link_row_properties[ONBOARDING_WELCOME_VIEW_LINK_ROW_URI_PROPERTY]);
	}
}

static const gchar*
onboarding_welcome_view_link_row_get_icon_name (OnboardingWelcomeViewLinkRow* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_icon_name;
	result = _tmp0_;
	return result;
}

static void
onboarding_welcome_view_link_row_set_icon_name (OnboardingWelcomeViewLinkRow* self,
                                                const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = onboarding_welcome_view_link_row_get_icon_name (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_icon_name);
		self->priv->_icon_name = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, onboarding_welcome_view_link_row_properties[ONBOARDING_WELCOME_VIEW_LINK_ROW_ICON_NAME_PROPERTY]);
	}
}

static const gchar*
onboarding_welcome_view_link_row_get_label_string (OnboardingWelcomeViewLinkRow* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_label_string;
	result = _tmp0_;
	return result;
}

static void
onboarding_welcome_view_link_row_set_label_string (OnboardingWelcomeViewLinkRow* self,
                                                   const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = onboarding_welcome_view_link_row_get_label_string (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_label_string);
		self->priv->_label_string = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, onboarding_welcome_view_link_row_properties[ONBOARDING_WELCOME_VIEW_LINK_ROW_LABEL_STRING_PROPERTY]);
	}
}

static const gchar*
onboarding_welcome_view_link_row_get_color (OnboardingWelcomeViewLinkRow* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_color;
	result = _tmp0_;
	return result;
}

static void
onboarding_welcome_view_link_row_set_color (OnboardingWelcomeViewLinkRow* self,
                                            const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = onboarding_welcome_view_link_row_get_color (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_color);
		self->priv->_color = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, onboarding_welcome_view_link_row_properties[ONBOARDING_WELCOME_VIEW_LINK_ROW_COLOR_PROPERTY]);
	}
}

static GObject *
onboarding_welcome_view_link_row_constructor (GType type,
                                              guint n_construct_properties,
                                              GObjectConstructParam * construct_properties)
{
	GObject * obj;
	GObjectClass * parent_class;
	OnboardingWelcomeViewLinkRow * self;
	GtkImage* image = NULL;
	const gchar* _tmp0_;
	GtkImage* _tmp1_ = NULL;
	GtkImage* _tmp2_;
	GtkImage* _tmp3_;
	const gchar* _tmp4_;
	GtkLabel* left_label = NULL;
	const gchar* _tmp5_;
	GtkLabel* _tmp6_ = NULL;
	GtkImage* link_image = NULL;
	GtkImage* _tmp7_;
	GraniteBox* box = NULL;
	GraniteBox* _tmp8_;
	GraniteBox* _tmp9_;
	GtkImage* _tmp10_;
	GraniteBox* _tmp11_;
	GtkLabel* _tmp12_;
	GraniteBox* _tmp13_;
	GtkImage* _tmp14_;
	GraniteBox* _tmp15_;
	parent_class = G_OBJECT_CLASS (onboarding_welcome_view_link_row_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, ONBOARDING_WELCOME_VIEW_TYPE_LINK_ROW, OnboardingWelcomeViewLinkRow);
	_tmp0_ = self->priv->_icon_name;
	_tmp1_ = (GtkImage*) gtk_image_new_from_icon_name (_tmp0_);
	gtk_image_set_pixel_size (_tmp1_, 16);
	g_object_ref_sink (_tmp1_);
	image = _tmp1_;
	_tmp2_ = image;
	gtk_widget_add_css_class ((GtkWidget*) _tmp2_, GRANITE_CSS_CLASS_ACCENT);
	_tmp3_ = image;
	_tmp4_ = self->priv->_color;
	gtk_widget_add_css_class ((GtkWidget*) _tmp3_, _tmp4_);
	_tmp5_ = self->priv->_label_string;
	_tmp6_ = (GtkLabel*) gtk_label_new (_tmp5_);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp6_, TRUE);
	gtk_label_set_xalign (_tmp6_, (gfloat) 0);
	g_object_ref_sink (_tmp6_);
	left_label = _tmp6_;
	_tmp7_ = (GtkImage*) gtk_image_new_from_icon_name ("adw-external-link-symbolic");
	g_object_ref_sink (_tmp7_);
	link_image = _tmp7_;
	_tmp8_ = granite_box_new (GTK_ORIENTATION_HORIZONTAL, GRANITE_BOX_SPACING_SINGLE);
	g_object_ref_sink (_tmp8_);
	box = _tmp8_;
	_tmp9_ = box;
	_tmp10_ = image;
	gtk_box_append ((GtkBox*) _tmp9_, (GtkWidget*) _tmp10_);
	_tmp11_ = box;
	_tmp12_ = left_label;
	gtk_box_append ((GtkBox*) _tmp11_, (GtkWidget*) _tmp12_);
	_tmp13_ = box;
	_tmp14_ = link_image;
	gtk_box_append ((GtkBox*) _tmp13_, (GtkWidget*) _tmp14_);
	_tmp15_ = box;
	granite_list_item_set_child ((GraniteListItem*) self, (GtkWidget*) _tmp15_);
	gtk_widget_add_css_class ((GtkWidget*) self, "link");
	_g_object_unref0 (box);
	_g_object_unref0 (link_image);
	_g_object_unref0 (left_label);
	_g_object_unref0 (image);
	return obj;
}

static void
onboarding_welcome_view_link_row_base_init (OnboardingWelcomeViewLinkRowClass * klass)
{
	gtk_widget_class_set_accessible_role (GTK_WIDGET_CLASS (klass), GTK_ACCESSIBLE_ROLE_LINK);
}

static void
onboarding_welcome_view_link_row_class_init (OnboardingWelcomeViewLinkRowClass * klass,
                                             gpointer klass_data)
{
	onboarding_welcome_view_link_row_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &OnboardingWelcomeViewLinkRow_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_onboarding_welcome_view_link_row_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_onboarding_welcome_view_link_row_set_property;
	G_OBJECT_CLASS (klass)->constructor = onboarding_welcome_view_link_row_constructor;
	G_OBJECT_CLASS (klass)->finalize = onboarding_welcome_view_link_row_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), ONBOARDING_WELCOME_VIEW_LINK_ROW_URI_PROPERTY, onboarding_welcome_view_link_row_properties[ONBOARDING_WELCOME_VIEW_LINK_ROW_URI_PROPERTY] = g_param_spec_string ("uri", "uri", "uri", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
	g_object_class_install_property (G_OBJECT_CLASS (klass), ONBOARDING_WELCOME_VIEW_LINK_ROW_ICON_NAME_PROPERTY, onboarding_welcome_view_link_row_properties[ONBOARDING_WELCOME_VIEW_LINK_ROW_ICON_NAME_PROPERTY] = g_param_spec_string ("icon-name", "icon-name", "icon-name", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
	g_object_class_install_property (G_OBJECT_CLASS (klass), ONBOARDING_WELCOME_VIEW_LINK_ROW_LABEL_STRING_PROPERTY, onboarding_welcome_view_link_row_properties[ONBOARDING_WELCOME_VIEW_LINK_ROW_LABEL_STRING_PROPERTY] = g_param_spec_string ("label-string", "label-string", "label-string", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
	g_object_class_install_property (G_OBJECT_CLASS (klass), ONBOARDING_WELCOME_VIEW_LINK_ROW_COLOR_PROPERTY, onboarding_welcome_view_link_row_properties[ONBOARDING_WELCOME_VIEW_LINK_ROW_COLOR_PROPERTY] = g_param_spec_string ("color", "color", "color", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
}

static void
onboarding_welcome_view_link_row_instance_init (OnboardingWelcomeViewLinkRow * self,
                                                gpointer klass)
{
	self->priv = onboarding_welcome_view_link_row_get_instance_private (self);
}

static void
onboarding_welcome_view_link_row_finalize (GObject * obj)
{
	OnboardingWelcomeViewLinkRow * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, ONBOARDING_WELCOME_VIEW_TYPE_LINK_ROW, OnboardingWelcomeViewLinkRow);
	_g_free0 (self->priv->_uri);
	_g_free0 (self->priv->_icon_name);
	_g_free0 (self->priv->_label_string);
	_g_free0 (self->priv->_color);
	G_OBJECT_CLASS (onboarding_welcome_view_link_row_parent_class)->finalize (obj);
}

 G_GNUC_NO_INLINE static GType
onboarding_welcome_view_link_row_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (OnboardingWelcomeViewLinkRowClass), (GBaseInitFunc) onboarding_welcome_view_link_row_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) onboarding_welcome_view_link_row_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (OnboardingWelcomeViewLinkRow), 0, (GInstanceInitFunc) onboarding_welcome_view_link_row_instance_init, NULL };
	GType onboarding_welcome_view_link_row_type_id;
	onboarding_welcome_view_link_row_type_id = g_type_register_static (GRANITE_TYPE_LIST_ITEM, "OnboardingWelcomeViewLinkRow", &g_define_type_info, 0);
	OnboardingWelcomeViewLinkRow_private_offset = g_type_add_instance_private (onboarding_welcome_view_link_row_type_id, sizeof (OnboardingWelcomeViewLinkRowPrivate));
	return onboarding_welcome_view_link_row_type_id;
}

static GType
onboarding_welcome_view_link_row_get_type (void)
{
	static volatile gsize onboarding_welcome_view_link_row_type_id__once = 0;
	if (g_once_init_enter (&onboarding_welcome_view_link_row_type_id__once)) {
		GType onboarding_welcome_view_link_row_type_id;
		onboarding_welcome_view_link_row_type_id = onboarding_welcome_view_link_row_get_type_once ();
		g_once_init_leave (&onboarding_welcome_view_link_row_type_id__once, onboarding_welcome_view_link_row_type_id);
	}
	return onboarding_welcome_view_link_row_type_id__once;
}

static void
_vala_onboarding_welcome_view_link_row_get_property (GObject * object,
                                                     guint property_id,
                                                     GValue * value,
                                                     GParamSpec * pspec)
{
	OnboardingWelcomeViewLinkRow * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, ONBOARDING_WELCOME_VIEW_TYPE_LINK_ROW, OnboardingWelcomeViewLinkRow);
	switch (property_id) {
		case ONBOARDING_WELCOME_VIEW_LINK_ROW_URI_PROPERTY:
		g_value_set_string (value, onboarding_welcome_view_link_row_get_uri (self));
		break;
		case ONBOARDING_WELCOME_VIEW_LINK_ROW_ICON_NAME_PROPERTY:
		g_value_set_string (value, onboarding_welcome_view_link_row_get_icon_name (self));
		break;
		case ONBOARDING_WELCOME_VIEW_LINK_ROW_LABEL_STRING_PROPERTY:
		g_value_set_string (value, onboarding_welcome_view_link_row_get_label_string (self));
		break;
		case ONBOARDING_WELCOME_VIEW_LINK_ROW_COLOR_PROPERTY:
		g_value_set_string (value, onboarding_welcome_view_link_row_get_color (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_onboarding_welcome_view_link_row_set_property (GObject * object,
                                                     guint property_id,
                                                     const GValue * value,
                                                     GParamSpec * pspec)
{
	OnboardingWelcomeViewLinkRow * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, ONBOARDING_WELCOME_VIEW_TYPE_LINK_ROW, OnboardingWelcomeViewLinkRow);
	switch (property_id) {
		case ONBOARDING_WELCOME_VIEW_LINK_ROW_URI_PROPERTY:
		onboarding_welcome_view_link_row_set_uri (self, g_value_get_string (value));
		break;
		case ONBOARDING_WELCOME_VIEW_LINK_ROW_ICON_NAME_PROPERTY:
		onboarding_welcome_view_link_row_set_icon_name (self, g_value_get_string (value));
		break;
		case ONBOARDING_WELCOME_VIEW_LINK_ROW_LABEL_STRING_PROPERTY:
		onboarding_welcome_view_link_row_set_label_string (self, g_value_get_string (value));
		break;
		case ONBOARDING_WELCOME_VIEW_LINK_ROW_COLOR_PROPERTY:
		onboarding_welcome_view_link_row_set_color (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static guint8*
string_get_data (const gchar* self,
                 gint* result_length1)
{
	guint8* result;
	guint8* res = NULL;
	gint res_length1;
	gint _res_size_;
	gint _tmp0_;
	gint _tmp1_;
	guint8* _tmp2_;
	gint _tmp2__length1;
	g_return_val_if_fail (self != NULL, NULL);
	res = (guint8*) self;
	res_length1 = -1;
	_res_size_ = res_length1;
	_tmp0_ = strlen (self);
	_tmp1_ = _tmp0_;
	res_length1 = (gint) _tmp1_;
	_tmp2_ = res;
	_tmp2__length1 = res_length1;
	if (result_length1) {
		*result_length1 = _tmp2__length1;
	}
	result = _tmp2_;
	return result;
}

static void
_onboarding_welcome_view___lambda4_ (OnboardingWelcomeView* self,
                                     GtkListBoxRow* row)
{
	GtkWidget* _tmp0_;
	GtkWidget* _tmp1_;
	const gchar* _tmp2_;
	const gchar* _tmp3_;
	g_return_if_fail (row != NULL);
	_tmp0_ = gtk_list_box_row_get_child (row);
	_tmp1_ = _tmp0_;
	_tmp2_ = onboarding_welcome_view_link_row_get_uri (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, ONBOARDING_WELCOME_VIEW_TYPE_LINK_ROW, OnboardingWelcomeViewLinkRow));
	_tmp3_ = _tmp2_;
	onboarding_welcome_view_launch_uri (self, _tmp3_);
}

static void
__onboarding_welcome_view___lambda4__gtk_list_box_row_activated (GtkListBox* _sender,
                                                                 GtkListBoxRow* row,
                                                                 gpointer self)
{
	_onboarding_welcome_view___lambda4_ ((OnboardingWelcomeView*) self, row);
}

static GObject *
onboarding_welcome_view_constructor (GType type,
                                     guint n_construct_properties,
                                     GObjectConstructParam * construct_properties)
{
	GObject * obj;
	GObjectClass * parent_class;
	OnboardingWelcomeView * self;
	GdkDisplay* _tmp0_;
	GtkIconTheme* _tmp1_;
	const gchar* _tmp2_;
	const gchar* _tmp3_;
	gchar* _tmp4_;
	gchar* _tmp5_;
	gboolean _tmp6_;
	OnboardingWelcomeViewLinkRow* thebasics_link = NULL;
	const gchar* _tmp36_;
	const gchar* _tmp37_;
	OnboardingWelcomeViewLinkRow* _tmp38_;
	OnboardingWelcomeViewLinkRow* support_link = NULL;
	const gchar* _tmp39_;
	const gchar* _tmp40_;
	OnboardingWelcomeViewLinkRow* _tmp41_;
	OnboardingWelcomeViewLinkRow* website_link = NULL;
	const gchar* _tmp42_;
	const gchar* _tmp43_;
	OnboardingWelcomeViewLinkRow* _tmp44_;
	OnboardingWelcomeViewLinkRow* getinvolved_link = NULL;
	OnboardingWelcomeViewLinkRow* _tmp45_;
	GtkListBox* links_list = NULL;
	GtkListBox* _tmp46_ = NULL;
	GtkListBox* _tmp47_;
	GtkListBox* _tmp48_;
	OnboardingWelcomeViewLinkRow* _tmp49_;
	GtkListBox* _tmp50_;
	OnboardingWelcomeViewLinkRow* _tmp51_;
	GtkListBox* _tmp52_;
	OnboardingWelcomeViewLinkRow* _tmp53_;
	GtkListBox* _tmp54_;
	OnboardingWelcomeViewLinkRow* _tmp55_;
	GraniteBox* _tmp56_;
	GraniteBox* _tmp57_;
	GtkListBox* _tmp58_;
	GtkListBox* _tmp59_;
	parent_class = G_OBJECT_CLASS (onboarding_welcome_view_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, ONBOARDING_TYPE_WELCOME_VIEW, OnboardingWelcomeView);
	_tmp0_ = gdk_display_get_default ();
	_tmp1_ = gtk_icon_theme_get_for_display (_tmp0_);
	_tmp2_ = onboarding_abstract_onboarding_view_get_icon_name ((OnboardingAbstractOnboardingView*) self);
	_tmp3_ = _tmp2_;
	_tmp4_ = g_strconcat (_tmp3_, "-symbolic", NULL);
	_tmp5_ = _tmp4_;
	_tmp6_ = gtk_icon_theme_has_icon (_tmp1_, _tmp5_);
	_g_free0 (_tmp5_);
	if (_tmp6_) {
		gchar** _tmp7_;
		gchar** _tmp8_;
		_tmp8_ = _tmp7_ = g_get_system_data_dirs ();
		{
			gchar** path_collection = NULL;
			gint path_collection_length1 = 0;
			gint _path_collection_size_ = 0;
			gint path_it = 0;
			path_collection = _tmp8_;
			path_collection_length1 = _vala_array_length (_tmp7_);
			for (path_it = 0; path_it < path_collection_length1; path_it = path_it + 1) {
				const gchar* path = NULL;
				path = path_collection[path_it];
				{
					gchar* file_path = NULL;
					const gchar* _tmp9_;
					gchar* _tmp10_;
					GFile* file = NULL;
					const gchar* _tmp11_;
					GFile* _tmp12_;
					GFile* _tmp13_;
					_tmp9_ = path;
					_tmp10_ = g_build_path (G_DIR_SEPARATOR_S, _tmp9_, "backgrounds", "elementaryos-default", NULL);
					file_path = _tmp10_;
					_tmp11_ = file_path;
					_tmp12_ = g_file_new_for_path (_tmp11_);
					file = _tmp12_;
					_tmp13_ = file;
					if (g_file_query_exists (_tmp13_, NULL)) {
						GtkCssProvider* style_provider = NULL;
						GtkCssProvider* _tmp14_;
						GtkCssProvider* _tmp15_;
						GtkCssProvider* background_provider = NULL;
						GtkCssProvider* _tmp16_;
						GtkCssProvider* _tmp17_;
						const gchar* _tmp18_;
						gchar* _tmp19_;
						gchar* _tmp20_;
						guint8* _tmp21_;
						gint _tmp21__length1;
						gint _tmp22_ = 0;
						guint8* _tmp23_;
						gint _tmp23__length1;
						GtkImage* _tmp24_;
						GtkImage* _tmp25_;
						GtkImage* _tmp26_;
						GtkImage* _tmp27_;
						GtkImage* _tmp28_;
						GtkImage* _tmp29_;
						GtkStyleContext* _tmp30_;
						GtkCssProvider* _tmp31_;
						GtkImage* _tmp32_;
						GtkImage* _tmp33_;
						GtkStyleContext* _tmp34_;
						GtkCssProvider* _tmp35_;
						_tmp14_ = gtk_css_provider_new ();
						style_provider = _tmp14_;
						_tmp15_ = style_provider;
						gtk_css_provider_load_from_resource (_tmp15_, "io/elementary/onboarding/WelcomeView.css");
						_tmp16_ = gtk_css_provider_new ();
						background_provider = _tmp16_;
						_tmp17_ = background_provider;
						_tmp18_ = file_path;
						_tmp19_ = g_strdup_printf ("\n" \
"                    image.logo {\n" \
"                        background-image:\n" \
"                            linear-gradient(\n" \
"                                to bottom,\n" \
"                                alpha(@accent_color_500, 0.25),\n" \
"                                alpha(@accent_color_700, 0.75)\n" \
"                            ),\n" \
"                            url(\"file://%s\");\n" \
"                    }\n" \
"                    ", _tmp18_);
						_tmp20_ = _tmp19_;
						_tmp21_ = string_get_data (_tmp20_, &_tmp22_);
						_tmp21__length1 = _tmp22_;
						_tmp23_ = _tmp21_;
						_tmp23__length1 = _tmp21__length1;
						gtk_css_provider_load_from_data (_tmp17_, (const char*) _tmp23_, (gssize) _tmp23__length1);
						_g_free0 (_tmp20_);
						_tmp24_ = onboarding_abstract_onboarding_view_get_image ((OnboardingAbstractOnboardingView*) self);
						_tmp25_ = _tmp24_;
						gtk_image_set_pixel_size (_tmp25_, 48);
						_tmp26_ = onboarding_abstract_onboarding_view_get_image ((OnboardingAbstractOnboardingView*) self);
						_tmp27_ = _tmp26_;
						gtk_widget_add_css_class ((GtkWidget*) _tmp27_, "logo");
						_tmp28_ = onboarding_abstract_onboarding_view_get_image ((OnboardingAbstractOnboardingView*) self);
						_tmp29_ = _tmp28_;
						_tmp30_ = gtk_widget_get_style_context ((GtkWidget*) _tmp29_);
						_tmp31_ = style_provider;
						gtk_style_context_add_provider (_tmp30_, (GtkStyleProvider*) _tmp31_, (guint) GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
						_tmp32_ = onboarding_abstract_onboarding_view_get_image ((OnboardingAbstractOnboardingView*) self);
						_tmp33_ = _tmp32_;
						_tmp34_ = gtk_widget_get_style_context ((GtkWidget*) _tmp33_);
						_tmp35_ = background_provider;
						gtk_style_context_add_provider (_tmp34_, (GtkStyleProvider*) _tmp35_, (guint) GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
						_g_object_unref0 (background_provider);
						_g_object_unref0 (style_provider);
						_g_object_unref0 (file);
						_g_free0 (file_path);
						break;
					}
					_g_object_unref0 (file);
					_g_free0 (file_path);
				}
			}
		}
	}
	_tmp36_ = onboarding_welcome_view_get_documentation_url ();
	_tmp37_ = _tmp36_;
	_tmp38_ = onboarding_welcome_view_link_row_new (_tmp37_, _ ("Basics Guide"), "text-x-generic-symbolic", "green");
	g_object_ref_sink (_tmp38_);
	thebasics_link = _tmp38_;
	_tmp39_ = onboarding_welcome_view_get_support_url ();
	_tmp40_ = _tmp39_;
	_tmp41_ = onboarding_welcome_view_link_row_new (_tmp40_, _ ("Get Help"), "help-contents-symbolic", "blue");
	g_object_ref_sink (_tmp41_);
	support_link = _tmp41_;
	_tmp42_ = onboarding_welcome_view_get_website_url ();
	_tmp43_ = _tmp42_;
	_tmp44_ = onboarding_welcome_view_link_row_new (_tmp43_, _ ("Our Website"), "view-reader-symbolic", "slate");
	g_object_ref_sink (_tmp44_);
	website_link = _tmp44_;
	_tmp45_ = onboarding_welcome_view_link_row_new ("https://elementary.io/get-involved", _ ("Get Involved or Sponsor Us"), "face-heart-symbolic", "pink");
	g_object_ref_sink (_tmp45_);
	getinvolved_link = _tmp45_;
	_tmp46_ = (GtkListBox*) gtk_list_box_new ();
	gtk_list_box_set_show_separators (_tmp46_, TRUE);
	gtk_list_box_set_selection_mode (_tmp46_, GTK_SELECTION_NONE);
	g_object_ref_sink (_tmp46_);
	links_list = _tmp46_;
	_tmp47_ = links_list;
	gtk_widget_add_css_class ((GtkWidget*) _tmp47_, GRANITE_CSS_CLASS_CARD);
	_tmp48_ = links_list;
	_tmp49_ = thebasics_link;
	gtk_list_box_append (_tmp48_, (GtkWidget*) _tmp49_);
	_tmp50_ = links_list;
	_tmp51_ = support_link;
	gtk_list_box_append (_tmp50_, (GtkWidget*) _tmp51_);
	_tmp52_ = links_list;
	_tmp53_ = website_link;
	gtk_list_box_append (_tmp52_, (GtkWidget*) _tmp53_);
	_tmp54_ = links_list;
	_tmp55_ = getinvolved_link;
	gtk_list_box_append (_tmp54_, (GtkWidget*) _tmp55_);
	_tmp56_ = onboarding_abstract_onboarding_view_get_custom_bin ((OnboardingAbstractOnboardingView*) self);
	_tmp57_ = _tmp56_;
	_tmp58_ = links_list;
	gtk_box_append ((GtkBox*) _tmp57_, (GtkWidget*) _tmp58_);
	_tmp59_ = links_list;
	g_signal_connect_object (_tmp59_, "row-activated", (GCallback) __onboarding_welcome_view___lambda4__gtk_list_box_row_activated, self, 0);
	_g_object_unref0 (links_list);
	_g_object_unref0 (getinvolved_link);
	_g_object_unref0 (website_link);
	_g_object_unref0 (support_link);
	_g_object_unref0 (thebasics_link);
	return obj;
}

static void
onboarding_welcome_view_class_init (OnboardingWelcomeViewClass * klass,
                                    gpointer klass_data)
{
	onboarding_welcome_view_parent_class = g_type_class_peek_parent (klass);
	G_OBJECT_CLASS (klass)->get_property = _vala_onboarding_welcome_view_get_property;
	G_OBJECT_CLASS (klass)->constructor = onboarding_welcome_view_constructor;
	G_OBJECT_CLASS (klass)->finalize = onboarding_welcome_view_finalize;
}

static void
onboarding_welcome_view_instance_init (OnboardingWelcomeView * self,
                                       gpointer klass)
{
}

static void
onboarding_welcome_view_finalize (GObject * obj)
{
	OnboardingWelcomeView * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, ONBOARDING_TYPE_WELCOME_VIEW, OnboardingWelcomeView);
	G_OBJECT_CLASS (onboarding_welcome_view_parent_class)->finalize (obj);
}

 G_GNUC_NO_INLINE static GType
onboarding_welcome_view_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (OnboardingWelcomeViewClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) onboarding_welcome_view_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (OnboardingWelcomeView), 0, (GInstanceInitFunc) onboarding_welcome_view_instance_init, NULL };
	GType onboarding_welcome_view_type_id;
	onboarding_welcome_view_type_id = g_type_register_static (ONBOARDING_TYPE_ABSTRACT_ONBOARDING_VIEW, "OnboardingWelcomeView", &g_define_type_info, 0);
	return onboarding_welcome_view_type_id;
}

GType
onboarding_welcome_view_get_type (void)
{
	static volatile gsize onboarding_welcome_view_type_id__once = 0;
	if (g_once_init_enter (&onboarding_welcome_view_type_id__once)) {
		GType onboarding_welcome_view_type_id;
		onboarding_welcome_view_type_id = onboarding_welcome_view_get_type_once ();
		g_once_init_leave (&onboarding_welcome_view_type_id__once, onboarding_welcome_view_type_id);
	}
	return onboarding_welcome_view_type_id__once;
}

static void
_vala_onboarding_welcome_view_get_property (GObject * object,
                                            guint property_id,
                                            GValue * value,
                                            GParamSpec * pspec)
{
	OnboardingWelcomeView * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, ONBOARDING_TYPE_WELCOME_VIEW, OnboardingWelcomeView);
	switch (property_id) {
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static gssize
_vala_array_length (gpointer array)
{
	gssize length;
	length = 0;
	if (array) {
		while (((gpointer*) array)[length]) {
			length++;
		}
	}
	return length;
}

