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

/* -*- Mode: Vala; indent-tabs-mode: nil; tab-width: 4 -*-
 * -*- coding: utf-8 -*-
 *
 * Copyright (C) 2011 ~ 2018 Deepin, Inc.
 *               2011 ~ 2018 Wang Yong
 *
 * Author:     Wang Yong <wangyong@deepin.com>
 * Maintainer: Wang Yong <wangyong@deepin.com>
 *
 * 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
 * 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 <gtk/gtk.h>
#include <glib-object.h>
#include <cairo-gobject.h>
#include <gdk/gdk.h>
#include <glib.h>
#include <stdlib.h>
#include <string.h>
#include <glib/gi18n-lib.h>
#include <pango/pango.h>
#include <float.h>
#include <math.h>
#include <glib/gstdio.h>
#include <gee.h>

#define GETTEXT_PACKAGE "deepin-terminal-gtk"
#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 WIDGETS_TYPE_DIALOG (widgets_dialog_get_type ())
#define WIDGETS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WIDGETS_TYPE_DIALOG, WidgetsDialog))
#define WIDGETS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WIDGETS_TYPE_DIALOG, WidgetsDialogClass))
#define WIDGETS_IS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WIDGETS_TYPE_DIALOG))
#define WIDGETS_IS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WIDGETS_TYPE_DIALOG))
#define WIDGETS_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WIDGETS_TYPE_DIALOG, WidgetsDialogClass))

typedef struct _WidgetsDialog WidgetsDialog;
typedef struct _WidgetsDialogClass WidgetsDialogClass;
typedef struct _WidgetsDialogPrivate WidgetsDialogPrivate;

#define WIDGETS_TYPE_CONFIG_WINDOW (widgets_config_window_get_type ())
#define WIDGETS_CONFIG_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WIDGETS_TYPE_CONFIG_WINDOW, WidgetsConfigWindow))
#define WIDGETS_CONFIG_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WIDGETS_TYPE_CONFIG_WINDOW, WidgetsConfigWindowClass))
#define WIDGETS_IS_CONFIG_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WIDGETS_TYPE_CONFIG_WINDOW))
#define WIDGETS_IS_CONFIG_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WIDGETS_TYPE_CONFIG_WINDOW))
#define WIDGETS_CONFIG_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WIDGETS_TYPE_CONFIG_WINDOW, WidgetsConfigWindowClass))

typedef struct _WidgetsConfigWindow WidgetsConfigWindow;
typedef struct _WidgetsConfigWindowClass WidgetsConfigWindowClass;

#define WIDGETS_TYPE_REMOTE_SERVER_DIALOG (widgets_remote_server_dialog_get_type ())
#define WIDGETS_REMOTE_SERVER_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WIDGETS_TYPE_REMOTE_SERVER_DIALOG, WidgetsRemoteServerDialog))
#define WIDGETS_REMOTE_SERVER_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WIDGETS_TYPE_REMOTE_SERVER_DIALOG, WidgetsRemoteServerDialogClass))
#define WIDGETS_IS_REMOTE_SERVER_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WIDGETS_TYPE_REMOTE_SERVER_DIALOG))
#define WIDGETS_IS_REMOTE_SERVER_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WIDGETS_TYPE_REMOTE_SERVER_DIALOG))
#define WIDGETS_REMOTE_SERVER_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WIDGETS_TYPE_REMOTE_SERVER_DIALOG, WidgetsRemoteServerDialogClass))

typedef struct _WidgetsRemoteServerDialog WidgetsRemoteServerDialog;
typedef struct _WidgetsRemoteServerDialogClass WidgetsRemoteServerDialogClass;
typedef struct _WidgetsRemoteServerDialogPrivate WidgetsRemoteServerDialogPrivate;

#define WIDGETS_TYPE_DROPDOWN_TEXT_BUTTON (widgets_dropdown_text_button_get_type ())
#define WIDGETS_DROPDOWN_TEXT_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WIDGETS_TYPE_DROPDOWN_TEXT_BUTTON, WidgetsDropdownTextButton))
#define WIDGETS_DROPDOWN_TEXT_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WIDGETS_TYPE_DROPDOWN_TEXT_BUTTON, WidgetsDropdownTextButtonClass))
#define WIDGETS_IS_DROPDOWN_TEXT_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WIDGETS_TYPE_DROPDOWN_TEXT_BUTTON))
#define WIDGETS_IS_DROPDOWN_TEXT_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WIDGETS_TYPE_DROPDOWN_TEXT_BUTTON))
#define WIDGETS_DROPDOWN_TEXT_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WIDGETS_TYPE_DROPDOWN_TEXT_BUTTON, WidgetsDropdownTextButtonClass))

typedef struct _WidgetsDropdownTextButton WidgetsDropdownTextButton;
typedef struct _WidgetsDropdownTextButtonClass WidgetsDropdownTextButtonClass;

#define WIDGETS_TYPE_ENTRY (widgets_entry_get_type ())
#define WIDGETS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WIDGETS_TYPE_ENTRY, WidgetsEntry))
#define WIDGETS_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WIDGETS_TYPE_ENTRY, WidgetsEntryClass))
#define WIDGETS_IS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WIDGETS_TYPE_ENTRY))
#define WIDGETS_IS_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WIDGETS_TYPE_ENTRY))
#define WIDGETS_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WIDGETS_TYPE_ENTRY, WidgetsEntryClass))

typedef struct _WidgetsEntry WidgetsEntry;
typedef struct _WidgetsEntryClass WidgetsEntryClass;

#define WIDGETS_TYPE_FILE_BUTTON (widgets_file_button_get_type ())
#define WIDGETS_FILE_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WIDGETS_TYPE_FILE_BUTTON, WidgetsFileButton))
#define WIDGETS_FILE_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WIDGETS_TYPE_FILE_BUTTON, WidgetsFileButtonClass))
#define WIDGETS_IS_FILE_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WIDGETS_TYPE_FILE_BUTTON))
#define WIDGETS_IS_FILE_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WIDGETS_TYPE_FILE_BUTTON))
#define WIDGETS_FILE_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WIDGETS_TYPE_FILE_BUTTON, WidgetsFileButtonClass))

typedef struct _WidgetsFileButton WidgetsFileButton;
typedef struct _WidgetsFileButtonClass WidgetsFileButtonClass;

#define WIDGETS_TYPE_PASSWORD_BUTTON (widgets_password_button_get_type ())
#define WIDGETS_PASSWORD_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WIDGETS_TYPE_PASSWORD_BUTTON, WidgetsPasswordButton))
#define WIDGETS_PASSWORD_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WIDGETS_TYPE_PASSWORD_BUTTON, WidgetsPasswordButtonClass))
#define WIDGETS_IS_PASSWORD_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WIDGETS_TYPE_PASSWORD_BUTTON))
#define WIDGETS_IS_PASSWORD_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WIDGETS_TYPE_PASSWORD_BUTTON))
#define WIDGETS_PASSWORD_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WIDGETS_TYPE_PASSWORD_BUTTON, WidgetsPasswordButtonClass))

typedef struct _WidgetsPasswordButton WidgetsPasswordButton;
typedef struct _WidgetsPasswordButtonClass WidgetsPasswordButtonClass;

#define WIDGETS_TYPE_SPIN_BUTTON (widgets_spin_button_get_type ())
#define WIDGETS_SPIN_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WIDGETS_TYPE_SPIN_BUTTON, WidgetsSpinButton))
#define WIDGETS_SPIN_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WIDGETS_TYPE_SPIN_BUTTON, WidgetsSpinButtonClass))
#define WIDGETS_IS_SPIN_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WIDGETS_TYPE_SPIN_BUTTON))
#define WIDGETS_IS_SPIN_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WIDGETS_TYPE_SPIN_BUTTON))
#define WIDGETS_SPIN_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WIDGETS_TYPE_SPIN_BUTTON, WidgetsSpinButtonClass))

typedef struct _WidgetsSpinButton WidgetsSpinButton;
typedef struct _WidgetsSpinButtonClass WidgetsSpinButtonClass;

#define WIDGETS_TYPE_CLICK_EVENT_BOX (widgets_click_event_box_get_type ())
#define WIDGETS_CLICK_EVENT_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WIDGETS_TYPE_CLICK_EVENT_BOX, WidgetsClickEventBox))
#define WIDGETS_CLICK_EVENT_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WIDGETS_TYPE_CLICK_EVENT_BOX, WidgetsClickEventBoxClass))
#define WIDGETS_IS_CLICK_EVENT_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WIDGETS_TYPE_CLICK_EVENT_BOX))
#define WIDGETS_IS_CLICK_EVENT_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WIDGETS_TYPE_CLICK_EVENT_BOX))
#define WIDGETS_CLICK_EVENT_BOX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WIDGETS_TYPE_CLICK_EVENT_BOX, WidgetsClickEventBoxClass))

typedef struct _WidgetsClickEventBox WidgetsClickEventBox;
typedef struct _WidgetsClickEventBoxClass WidgetsClickEventBoxClass;

#define WIDGETS_TYPE_TEXT_BUTTON (widgets_text_button_get_type ())
#define WIDGETS_TEXT_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WIDGETS_TYPE_TEXT_BUTTON, WidgetsTextButton))
#define WIDGETS_TEXT_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WIDGETS_TYPE_TEXT_BUTTON, WidgetsTextButtonClass))
#define WIDGETS_IS_TEXT_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WIDGETS_TYPE_TEXT_BUTTON))
#define WIDGETS_IS_TEXT_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WIDGETS_TYPE_TEXT_BUTTON))
#define WIDGETS_TEXT_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WIDGETS_TYPE_TEXT_BUTTON, WidgetsTextButtonClass))

typedef struct _WidgetsTextButton WidgetsTextButton;
typedef struct _WidgetsTextButtonClass WidgetsTextButtonClass;
enum  {
	WIDGETS_REMOTE_SERVER_DIALOG_0_PROPERTY,
	WIDGETS_REMOTE_SERVER_DIALOG_NUM_PROPERTIES
};
static GParamSpec* widgets_remote_server_dialog_properties[WIDGETS_REMOTE_SERVER_DIALOG_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))
typedef struct _Block35Data Block35Data;

#define WIDGETS_TYPE_WINDOW_EVENT_AREA (widgets_window_event_area_get_type ())
#define WIDGETS_WINDOW_EVENT_AREA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WIDGETS_TYPE_WINDOW_EVENT_AREA, WidgetsWindowEventArea))
#define WIDGETS_WINDOW_EVENT_AREA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WIDGETS_TYPE_WINDOW_EVENT_AREA, WidgetsWindowEventAreaClass))
#define WIDGETS_IS_WINDOW_EVENT_AREA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WIDGETS_TYPE_WINDOW_EVENT_AREA))
#define WIDGETS_IS_WINDOW_EVENT_AREA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WIDGETS_TYPE_WINDOW_EVENT_AREA))
#define WIDGETS_WINDOW_EVENT_AREA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WIDGETS_TYPE_WINDOW_EVENT_AREA, WidgetsWindowEventAreaClass))

typedef struct _WidgetsWindowEventArea WidgetsWindowEventArea;
typedef struct _WidgetsWindowEventAreaClass WidgetsWindowEventAreaClass;

#define WIDGETS_TYPE_WINDOW_BUTTON (widgets_window_button_get_type ())
#define WIDGETS_WINDOW_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WIDGETS_TYPE_WINDOW_BUTTON, WidgetsWindowButton))
#define WIDGETS_WINDOW_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WIDGETS_TYPE_WINDOW_BUTTON, WidgetsWindowButtonClass))
#define WIDGETS_IS_WINDOW_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WIDGETS_TYPE_WINDOW_BUTTON))
#define WIDGETS_IS_WINDOW_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WIDGETS_TYPE_WINDOW_BUTTON))
#define WIDGETS_WINDOW_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WIDGETS_TYPE_WINDOW_BUTTON, WidgetsWindowButtonClass))

typedef struct _WidgetsWindowButton WidgetsWindowButton;
typedef struct _WidgetsWindowButtonClass WidgetsWindowButtonClass;
typedef struct _WidgetsPasswordButtonPrivate WidgetsPasswordButtonPrivate;

#define WIDGETS_TYPE_IMAGE_BUTTON (widgets_image_button_get_type ())
#define WIDGETS_IMAGE_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WIDGETS_TYPE_IMAGE_BUTTON, WidgetsImageButton))
#define WIDGETS_IMAGE_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WIDGETS_TYPE_IMAGE_BUTTON, WidgetsImageButtonClass))
#define WIDGETS_IS_IMAGE_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WIDGETS_TYPE_IMAGE_BUTTON))
#define WIDGETS_IS_IMAGE_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WIDGETS_TYPE_IMAGE_BUTTON))
#define WIDGETS_IMAGE_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WIDGETS_TYPE_IMAGE_BUTTON, WidgetsImageButtonClass))

typedef struct _WidgetsImageButton WidgetsImageButton;
typedef struct _WidgetsImageButtonClass WidgetsImageButtonClass;
#define __vala_PangoFontDescription_free0(var) ((var == NULL) ? NULL : (var = (_vala_PangoFontDescription_free (var), NULL)))
typedef struct _WidgetsFileButtonPrivate WidgetsFileButtonPrivate;
typedef struct _WidgetsConfigWindowPrivate WidgetsConfigWindowPrivate;

#define CONFIG_TYPE_CONFIG (config_config_get_type ())
#define CONFIG_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_CONFIG, ConfigConfig))
#define CONFIG_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_CONFIG, ConfigConfigClass))
#define CONFIG_IS_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_CONFIG))
#define CONFIG_IS_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_CONFIG))
#define CONFIG_CONFIG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_CONFIG, ConfigConfigClass))

typedef struct _ConfigConfig ConfigConfig;
typedef struct _ConfigConfigClass ConfigConfigClass;

#define WIDGETS_TYPE_WORKSPACE_MANAGER (widgets_workspace_manager_get_type ())
#define WIDGETS_WORKSPACE_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WIDGETS_TYPE_WORKSPACE_MANAGER, WidgetsWorkspaceManager))
#define WIDGETS_WORKSPACE_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WIDGETS_TYPE_WORKSPACE_MANAGER, WidgetsWorkspaceManagerClass))
#define WIDGETS_IS_WORKSPACE_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WIDGETS_TYPE_WORKSPACE_MANAGER))
#define WIDGETS_IS_WORKSPACE_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WIDGETS_TYPE_WORKSPACE_MANAGER))
#define WIDGETS_WORKSPACE_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WIDGETS_TYPE_WORKSPACE_MANAGER, WidgetsWorkspaceManagerClass))

typedef struct _WidgetsWorkspaceManager WidgetsWorkspaceManager;
typedef struct _WidgetsWorkspaceManagerClass WidgetsWorkspaceManagerClass;
typedef struct _ConfigConfigPrivate ConfigConfigPrivate;

#define WIDGETS_TYPE_DIALOG_BUTTON (widgets_dialog_button_get_type ())
#define WIDGETS_DIALOG_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WIDGETS_TYPE_DIALOG_BUTTON, WidgetsDialogButton))
#define WIDGETS_DIALOG_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WIDGETS_TYPE_DIALOG_BUTTON, WidgetsDialogButtonClass))
#define WIDGETS_IS_DIALOG_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WIDGETS_TYPE_DIALOG_BUTTON))
#define WIDGETS_IS_DIALOG_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WIDGETS_TYPE_DIALOG_BUTTON))
#define WIDGETS_DIALOG_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WIDGETS_TYPE_DIALOG_BUTTON, WidgetsDialogButtonClass))

typedef struct _WidgetsDialogButton WidgetsDialogButton;
typedef struct _WidgetsDialogButtonClass WidgetsDialogButtonClass;
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))

#define WIDGETS_TYPE_CONFIRM_DIALOG (widgets_confirm_dialog_get_type ())
#define WIDGETS_CONFIRM_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WIDGETS_TYPE_CONFIRM_DIALOG, WidgetsConfirmDialog))
#define WIDGETS_CONFIRM_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WIDGETS_TYPE_CONFIRM_DIALOG, WidgetsConfirmDialogClass))
#define WIDGETS_IS_CONFIRM_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WIDGETS_TYPE_CONFIRM_DIALOG))
#define WIDGETS_IS_CONFIRM_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WIDGETS_TYPE_CONFIRM_DIALOG))
#define WIDGETS_CONFIRM_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WIDGETS_TYPE_CONFIRM_DIALOG, WidgetsConfirmDialogClass))

typedef struct _WidgetsConfirmDialog WidgetsConfirmDialog;
typedef struct _WidgetsConfirmDialogClass WidgetsConfirmDialogClass;
enum  {
	WIDGETS_REMOTE_SERVER_DIALOG_ADD_SERVER_SIGNAL,
	WIDGETS_REMOTE_SERVER_DIALOG_EDIT_SERVER_SIGNAL,
	WIDGETS_REMOTE_SERVER_DIALOG_DELETE_SERVER_SIGNAL,
	WIDGETS_REMOTE_SERVER_DIALOG_NUM_SIGNALS
};
static guint widgets_remote_server_dialog_signals[WIDGETS_REMOTE_SERVER_DIALOG_NUM_SIGNALS] = {0};

struct _WidgetsDialog {
	GtkWindow parent_instance;
	WidgetsDialogPrivate * priv;
	GdkScreen* screen_monitor;
	GtkBox* window_frame_box;
	GtkBox* window_widget_box;
	WidgetsConfigWindow* transient_window;
	gint option_widget_margin_end;
	gint option_widget_margin_top;
	gint window_frame_margin_bottom;
	gint window_frame_margin_end;
	gint window_frame_margin_start;
	gint window_frame_margin_top;
	gint window_frame_radius;
	gint window_init_height;
	gint window_init_width;
};

struct _WidgetsDialogClass {
	GtkWindowClass parent_class;
	void (*draw_window_above) (WidgetsDialog* self, cairo_t* cr);
};

struct _WidgetsRemoteServerDialog {
	WidgetsDialog parent_instance;
	WidgetsRemoteServerDialogPrivate * priv;
	GtkBox* advanced_options_box;
	GtkBox* box;
	GtkBox* server_action_box;
	WidgetsDropdownTextButton* backspace_key_box;
	WidgetsDropdownTextButton* del_key_box;
	WidgetsDropdownTextButton* encode_box;
	GtkGrid* advanced_grid;
	GtkWidget* focus_widget;
	WidgetsConfigWindow* parent_window;
	WidgetsEntry* address_entry;
	WidgetsEntry* command_entry;
	WidgetsEntry* groupname_entry;
	WidgetsEntry* name_entry;
	WidgetsEntry* path_entry;
	WidgetsEntry* user_entry;
	WidgetsFileButton* file_button;
	WidgetsPasswordButton* password_button;
	WidgetsSpinButton* port_spinbutton;
	WidgetsTextButton* delete_server_button;
	WidgetsTextButton* show_advanced_button;
	gint action_button_margin_top;
	gint font_size;
	gint grid_height;
	gint label_margin_left;
	gint max_server_name_length;
	gint port_label_margin_left;
	gint preference_margin_end;
	gint preference_margin_start;
	gint preference_margin_top;
	gint preference_name_margin_left;
	gint preference_name_width;
	gint preference_widget_width;
	gint window_expand_height;
	gchar* server_info;
};

struct _WidgetsRemoteServerDialogClass {
	WidgetsDialogClass parent_class;
};

struct _Block35Data {
	int _ref_count_;
	WidgetsRemoteServerDialog* self;
	gchar** server_infos;
	gint server_infos_length1;
	gint _server_infos_size_;
};

struct _WidgetsPasswordButton {
	GtkEventBox parent_instance;
	WidgetsPasswordButtonPrivate * priv;
	GtkBox* box;
	GtkBox* button_box;
	WidgetsImageButton* hide_password_button;
	WidgetsImageButton* show_password_button;
	WidgetsEntry* entry;
	gint height;
};

struct _WidgetsPasswordButtonClass {
	GtkEventBoxClass parent_class;
};

struct _WidgetsFileButton {
	GtkEventBox parent_instance;
	WidgetsFileButtonPrivate * priv;
	GtkBox* box;
	GtkBox* button_box;
	WidgetsImageButton* file_add_button;
	WidgetsEntry* entry;
	gint height;
};

struct _WidgetsFileButtonClass {
	GtkEventBoxClass parent_class;
};

struct _WidgetsConfigWindow {
	GtkWindow parent_instance;
	WidgetsConfigWindowPrivate * priv;
	ConfigConfig* config;
	GdkRGBA title_line_dark_color;
	GdkRGBA title_line_light_color;
	GdkScreen* screen_monitor;
	GtkBox* box;
	GtkBox* top_box;
	GtkBox* window_frame_box;
	GtkBox* window_widget_box;
	WidgetsWorkspaceManager* workspace_manager;
	gboolean quake_mode;
	gboolean show_quake_menu;
	gboolean* config_theme_is_light;
	gint active_tab_underline_width;
	gint active_tab_underline_x;
	gint cache_height;
	gint cache_width;
	gint reset_timeout_delay;
	gint resize_cache_x;
	gint resize_cache_y;
	gint resize_cache_width;
	gint resize_cache_height;
	gint resize_timeout_delay;
	guint* reset_timeout_source_id;
	guint* resize_timeout_source_id;
};

struct _WidgetsConfigWindowClass {
	GtkWindowClass parent_class;
	void (*toggle_fullscreen) (WidgetsConfigWindow* self);
	void (*window_save_before_quit) (WidgetsConfigWindow* self);
	GdkCursorType* (*get_frame_cursor_type) (WidgetsConfigWindow* self, gdouble x, gdouble y);
	void (*update_frame) (WidgetsConfigWindow* self);
	GdkCursorType* (*get_cursor_type) (WidgetsConfigWindow* self, gdouble x, gdouble y);
};

struct _ConfigConfig {
	GObject parent_instance;
	ConfigConfigPrivate * priv;
	GeeArrayList* backspace_key_erase_names;
	GeeArrayList* del_key_erase_names;
	GeeArrayList* encoding_names;
	GeeHashMap* erase_map;
	gdouble default_opacity;
	gint default_size;
	gchar* default_mono_font;
	GKeyFile* config_file;
	gchar* config_file_path;
	gchar* temp_theme;
};

struct _ConfigConfigClass {
	GObjectClass parent_class;
};

static gpointer widgets_remote_server_dialog_parent_class = NULL;
VALA_EXTERN gint constant_CLOSE_BUTTON_WIDTH;

VALA_EXTERN GType widgets_dialog_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WidgetsDialog, g_object_unref)
VALA_EXTERN GType widgets_config_window_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WidgetsConfigWindow, g_object_unref)
VALA_EXTERN GType widgets_remote_server_dialog_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WidgetsRemoteServerDialog, g_object_unref)
VALA_EXTERN GType widgets_dropdown_text_button_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WidgetsDropdownTextButton, g_object_unref)
VALA_EXTERN GType widgets_entry_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WidgetsEntry, g_object_unref)
VALA_EXTERN GType widgets_file_button_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WidgetsFileButton, g_object_unref)
VALA_EXTERN GType widgets_password_button_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WidgetsPasswordButton, g_object_unref)
VALA_EXTERN GType widgets_spin_button_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WidgetsSpinButton, g_object_unref)
VALA_EXTERN GType widgets_click_event_box_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WidgetsClickEventBox, g_object_unref)
VALA_EXTERN GType widgets_text_button_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WidgetsTextButton, g_object_unref)
VALA_EXTERN WidgetsRemoteServerDialog* widgets_remote_server_dialog_new (WidgetsConfigWindow* window,
                                                             GtkWidget* widget,
                                                             const gchar* info,
                                                             GKeyFile* config_file);
VALA_EXTERN WidgetsRemoteServerDialog* widgets_remote_server_dialog_construct (GType object_type,
                                                                   WidgetsConfigWindow* window,
                                                                   GtkWidget* widget,
                                                                   const gchar* info,
                                                                   GKeyFile* config_file);
VALA_EXTERN WidgetsDialog* widgets_dialog_new (void);
VALA_EXTERN WidgetsDialog* widgets_dialog_construct (GType object_type);
VALA_EXTERN void widgets_dialog_set_init_size (WidgetsDialog* self,
                                   gint width,
                                   gint height);
static Block35Data* block35_data_ref (Block35Data* _data35_);
static void block35_data_unref (void * _userdata_);
VALA_EXTERN GType widgets_window_event_area_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WidgetsWindowEventArea, g_object_unref)
VALA_EXTERN WidgetsWindowEventArea* widgets_window_event_area_new (GtkContainer* area);
VALA_EXTERN WidgetsWindowEventArea* widgets_window_event_area_construct (GType object_type,
                                                             GtkContainer* area);
VALA_EXTERN GType widgets_window_button_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WidgetsWindowButton, g_object_unref)
VALA_EXTERN WidgetsWindowButton* widgets_create_close_button (void);
static void ___lambda131_ (WidgetsRemoteServerDialog* self,
                    GdkEventButton* b);
static void ____lambda131__widgets_click_event_box_clicked (WidgetsClickEventBox* _sender,
                                                     GdkEventButton* event,
                                                     gpointer self);
static void ___lambda132_ (WidgetsRemoteServerDialog* self,
                    GtkWidget* w);
static void ____lambda132__gtk_widget_destroy (GtkWidget* _sender,
                                        gpointer self);
VALA_EXTERN WidgetsEntry* widgets_entry_new (void);
VALA_EXTERN WidgetsEntry* widgets_entry_construct (GType object_type);
VALA_EXTERN void widgets_remote_server_dialog_create_key_row (WidgetsRemoteServerDialog* self,
                                                  GtkLabel* label,
                                                  GtkWidget* widget,
                                                  const gchar* name,
                                                  GtkGrid* grid,
                                                  const gchar* class_name);
VALA_EXTERN GtkLabel* widgets_remote_server_dialog_create_label (WidgetsRemoteServerDialog* self,
                                                     const gchar* text);
VALA_EXTERN WidgetsSpinButton* widgets_spin_button_new (void);
VALA_EXTERN WidgetsSpinButton* widgets_spin_button_construct (GType object_type);
VALA_EXTERN void widgets_dialog_grid_attach_next_to (WidgetsDialog* self,
                                         GtkGrid* grid,
                                         GtkWidget* child,
                                         GtkWidget* sibling,
                                         GtkPositionType side,
                                         gint width,
                                         gint height);
VALA_EXTERN void widgets_remote_server_dialog_adjust_option_widgets (WidgetsRemoteServerDialog* self,
                                                         GtkLabel* name_widget,
                                                         GtkWidget* value_widget);
VALA_EXTERN void widgets_remote_server_dialog_create_follow_key_row (WidgetsRemoteServerDialog* self,
                                                         GtkLabel* label,
                                                         GtkWidget* widget,
                                                         const gchar* name,
                                                         GtkLabel* previous_label,
                                                         GtkGrid* grid,
                                                         const gchar* class_name);
VALA_EXTERN WidgetsPasswordButton* widgets_password_button_new (void);
VALA_EXTERN WidgetsPasswordButton* widgets_password_button_construct (GType object_type);
VALA_EXTERN gchar* utils_lookup_password (const gchar* user,
                              const gchar* server_address,
                              const gchar* port);
VALA_EXTERN GType widgets_image_button_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WidgetsImageButton, g_object_unref)
VALA_EXTERN WidgetsFileButton* widgets_file_button_new (void);
VALA_EXTERN WidgetsFileButton* widgets_file_button_construct (GType object_type);
static void _vala_PangoFontDescription_free (PangoFontDescription* self);
VALA_EXTERN gchar* utils_get_default_private_key_path (void);
VALA_EXTERN WidgetsDropdownTextButton* widgets_dropdown_text_button_new (void);
VALA_EXTERN WidgetsDropdownTextButton* widgets_dropdown_text_button_construct (GType object_type);
VALA_EXTERN GType config_config_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ConfigConfig, g_object_unref)
VALA_EXTERN GType widgets_workspace_manager_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WidgetsWorkspaceManager, g_object_unref)
VALA_EXTERN WidgetsTextButton* widgets_create_link_button (const gchar* text);
static void ___lambda133_ (WidgetsRemoteServerDialog* self,
                    GdkEventButton* w);
VALA_EXTERN void widgets_remote_server_dialog_show_advanced_options (WidgetsRemoteServerDialog* self);
static void ____lambda133__widgets_click_event_box_clicked (WidgetsClickEventBox* _sender,
                                                     GdkEventButton* event,
                                                     gpointer self);
VALA_EXTERN GType widgets_dialog_button_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WidgetsDialogButton, g_object_unref)
VALA_EXTERN WidgetsDialogButton* widgets_dialog_button_new (const gchar* text,
                                                const gchar* direction,
                                                const gchar* type,
                                                gboolean has_radius);
VALA_EXTERN WidgetsDialogButton* widgets_dialog_button_construct (GType object_type,
                                                      const gchar* text,
                                                      const gchar* direction,
                                                      const gchar* type,
                                                      gboolean has_radius);
static void ___lambda137_ (WidgetsRemoteServerDialog* self,
                    GtkButton* b);
static void ____lambda137__gtk_button_clicked (GtkButton* _sender,
                                        gpointer self);
static void ___lambda138_ (Block35Data* _data35_,
                    GtkButton* b);
static void ____lambda138__gtk_button_clicked (GtkButton* _sender,
                                        gpointer self);
VALA_EXTERN void widgets_dialog_add_widget (WidgetsDialog* self,
                                GtkWidget* widget);
static void _g_object_unref0_ (gpointer var);
static inline void _g_list_free__g_object_unref0_ (GList* self);
VALA_EXTERN void utils_destroy_all_children (GtkContainer* container);
VALA_EXTERN WidgetsTextButton* widgets_create_delete_button (const gchar* text);
static void ___lambda134_ (WidgetsRemoteServerDialog* self,
                    GdkEventButton* w);
VALA_EXTERN GType widgets_confirm_dialog_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WidgetsConfirmDialog, g_object_unref)
VALA_EXTERN WidgetsConfirmDialog* widgets_confirm_dialog_new (const gchar* title,
                                                  const gchar* content,
                                                  const gchar* cancel_text,
                                                  const gchar* confirm_text);
VALA_EXTERN WidgetsConfirmDialog* widgets_confirm_dialog_construct (GType object_type,
                                                        const gchar* title,
                                                        const gchar* content,
                                                        const gchar* cancel_text,
                                                        const gchar* confirm_text);
VALA_EXTERN void widgets_dialog_transient_for_window (WidgetsDialog* self,
                                          WidgetsConfigWindow* window);
static void __lambda135_ (WidgetsRemoteServerDialog* self,
                   WidgetsConfirmDialog* w);
static void ___lambda135__widgets_confirm_dialog_cancel (WidgetsConfirmDialog* _sender,
                                                  gpointer self);
static void __lambda136_ (WidgetsRemoteServerDialog* self,
                   WidgetsConfirmDialog* w);
static void ___lambda136__widgets_confirm_dialog_confirm (WidgetsConfirmDialog* _sender,
                                                   gpointer self);
static void ____lambda134__widgets_click_event_box_clicked (WidgetsClickEventBox* _sender,
                                                     GdkEventButton* event,
                                                     gpointer self);
VALA_EXTERN void widgets_dialog_grid_attach (WidgetsDialog* self,
                                 GtkGrid* grid,
                                 GtkWidget* child,
                                 gint left,
                                 gint top,
                                 gint width,
                                 gint height);
static void g_cclosure_user_marshal_VOID__STRING_STRING_STRING_STRING_INT_STRING_STRING_STRING_STRING_STRING_STRING_STRING (GClosure * closure,
                                                                                                                     GValue * return_value,
                                                                                                                     guint n_param_values,
                                                                                                                     const GValue * param_values,
                                                                                                                     gpointer invocation_hint,
                                                                                                                     gpointer marshal_data);
static void g_cclosure_user_marshal_VOID__STRING_STRING (GClosure * closure,
                                                  GValue * return_value,
                                                  guint n_param_values,
                                                  const GValue * param_values,
                                                  gpointer invocation_hint,
                                                  gpointer marshal_data);
static void widgets_remote_server_dialog_finalize (GObject * obj);
static GType widgets_remote_server_dialog_get_type_once (void);
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 gssize _vala_array_length (gpointer array);
static inline gpointer _vala_memdup2 (gconstpointer mem,
                        gsize byte_size);

static Block35Data*
block35_data_ref (Block35Data* _data35_)
{
	g_atomic_int_inc (&_data35_->_ref_count_);
	return _data35_;
}

static void
block35_data_unref (void * _userdata_)
{
	Block35Data* _data35_;
	_data35_ = (Block35Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data35_->_ref_count_)) {
		WidgetsRemoteServerDialog* self;
		self = _data35_->self;
		_data35_->server_infos = (_vala_array_free (_data35_->server_infos, _data35_->server_infos_length1, (GDestroyNotify) g_free), NULL);
		_g_object_unref0 (self);
		g_slice_free (Block35Data, _data35_);
	}
}

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

static void
___lambda131_ (WidgetsRemoteServerDialog* self,
               GdkEventButton* b)
{
	g_return_if_fail (b != NULL);
	gtk_widget_destroy ((GtkWidget*) self);
}

static void
____lambda131__widgets_click_event_box_clicked (WidgetsClickEventBox* _sender,
                                                GdkEventButton* event,
                                                gpointer self)
{
	___lambda131_ ((WidgetsRemoteServerDialog*) self, event);
}

static void
___lambda132_ (WidgetsRemoteServerDialog* self,
               GtkWidget* w)
{
	GtkWidget* _tmp0_;
	g_return_if_fail (w != NULL);
	_tmp0_ = self->focus_widget;
	if (_tmp0_ != NULL) {
		GtkWidget* _tmp1_;
		_tmp1_ = self->focus_widget;
		gtk_widget_grab_focus (_tmp1_);
	}
}

static void
____lambda132__gtk_widget_destroy (GtkWidget* _sender,
                                   gpointer self)
{
	___lambda132_ ((WidgetsRemoteServerDialog*) self, _sender);
}

static void
_vala_PangoFontDescription_free (PangoFontDescription* self)
{
	g_boxed_free (pango_font_description_get_type (), self);
}

static void
___lambda133_ (WidgetsRemoteServerDialog* self,
               GdkEventButton* w)
{
	g_return_if_fail (w != NULL);
	widgets_remote_server_dialog_show_advanced_options (self);
}

static void
____lambda133__widgets_click_event_box_clicked (WidgetsClickEventBox* _sender,
                                                GdkEventButton* event,
                                                gpointer self)
{
	___lambda133_ ((WidgetsRemoteServerDialog*) self, event);
}

static void
___lambda137_ (WidgetsRemoteServerDialog* self,
               GtkButton* b)
{
	g_return_if_fail (b != NULL);
	gtk_widget_destroy ((GtkWidget*) self);
}

static void
____lambda137__gtk_button_clicked (GtkButton* _sender,
                                   gpointer self)
{
	___lambda137_ ((WidgetsRemoteServerDialog*) self, _sender);
}

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

static void
___lambda138_ (Block35Data* _data35_,
               GtkButton* b)
{
	WidgetsRemoteServerDialog* self;
	gchar** _tmp0_;
	gint _tmp0__length1;
	self = _data35_->self;
	g_return_if_fail (b != NULL);
	_tmp0_ = _data35_->server_infos;
	_tmp0__length1 = _data35_->server_infos_length1;
	if (_tmp0_ != NULL) {
		gboolean _tmp1_ = FALSE;
		gboolean _tmp2_ = FALSE;
		gboolean _tmp3_ = FALSE;
		WidgetsEntry* _tmp4_;
		const gchar* _tmp5_;
		gchar* _tmp6_;
		gchar* _tmp7_;
		gboolean _tmp8_;
		_tmp4_ = self->name_entry;
		_tmp5_ = gtk_entry_get_text ((GtkEntry*) _tmp4_);
		_tmp6_ = string_strip (_tmp5_);
		_tmp7_ = _tmp6_;
		_tmp8_ = g_strcmp0 (_tmp7_, "") != 0;
		_g_free0 (_tmp7_);
		if (_tmp8_) {
			WidgetsEntry* _tmp9_;
			const gchar* _tmp10_;
			gchar* _tmp11_;
			gchar* _tmp12_;
			_tmp9_ = self->address_entry;
			_tmp10_ = gtk_entry_get_text ((GtkEntry*) _tmp9_);
			_tmp11_ = string_strip (_tmp10_);
			_tmp12_ = _tmp11_;
			_tmp3_ = g_strcmp0 (_tmp12_, "") != 0;
			_g_free0 (_tmp12_);
		} else {
			_tmp3_ = FALSE;
		}
		if (_tmp3_) {
			WidgetsSpinButton* _tmp13_;
			const gchar* _tmp14_;
			gchar* _tmp15_;
			gchar* _tmp16_;
			_tmp13_ = self->port_spinbutton;
			_tmp14_ = gtk_entry_get_text ((GtkEntry*) _tmp13_);
			_tmp15_ = string_strip (_tmp14_);
			_tmp16_ = _tmp15_;
			_tmp2_ = g_strcmp0 (_tmp16_, "") != 0;
			_g_free0 (_tmp16_);
		} else {
			_tmp2_ = FALSE;
		}
		if (_tmp2_) {
			WidgetsEntry* _tmp17_;
			const gchar* _tmp18_;
			gchar* _tmp19_;
			gchar* _tmp20_;
			_tmp17_ = self->user_entry;
			_tmp18_ = gtk_entry_get_text ((GtkEntry*) _tmp17_);
			_tmp19_ = string_strip (_tmp18_);
			_tmp20_ = _tmp19_;
			_tmp1_ = g_strcmp0 (_tmp20_, "") != 0;
			_g_free0 (_tmp20_);
		} else {
			_tmp1_ = FALSE;
		}
		if (_tmp1_) {
			WidgetsEntry* _tmp21_;
			const gchar* _tmp22_;
			WidgetsEntry* _tmp23_;
			const gchar* _tmp24_;
			WidgetsPasswordButton* _tmp25_;
			WidgetsEntry* _tmp26_;
			const gchar* _tmp27_;
			WidgetsFileButton* _tmp28_;
			WidgetsEntry* _tmp29_;
			const gchar* _tmp30_;
			WidgetsSpinButton* _tmp31_;
			WidgetsConfigWindow* _tmp32_;
			ConfigConfig* _tmp33_;
			GeeArrayList* _tmp34_;
			WidgetsDropdownTextButton* _tmp35_;
			gpointer _tmp36_;
			gchar* _tmp37_;
			WidgetsEntry* _tmp38_;
			const gchar* _tmp39_;
			WidgetsEntry* _tmp40_;
			const gchar* _tmp41_;
			WidgetsEntry* _tmp42_;
			const gchar* _tmp43_;
			WidgetsEntry* _tmp44_;
			const gchar* _tmp45_;
			WidgetsConfigWindow* _tmp46_;
			ConfigConfig* _tmp47_;
			GeeArrayList* _tmp48_;
			WidgetsDropdownTextButton* _tmp49_;
			gpointer _tmp50_;
			gchar* _tmp51_;
			WidgetsConfigWindow* _tmp52_;
			ConfigConfig* _tmp53_;
			GeeArrayList* _tmp54_;
			WidgetsDropdownTextButton* _tmp55_;
			gpointer _tmp56_;
			gchar* _tmp57_;
			_tmp21_ = self->address_entry;
			_tmp22_ = gtk_entry_get_text ((GtkEntry*) _tmp21_);
			_tmp23_ = self->user_entry;
			_tmp24_ = gtk_entry_get_text ((GtkEntry*) _tmp23_);
			_tmp25_ = self->password_button;
			_tmp26_ = _tmp25_->entry;
			_tmp27_ = gtk_entry_get_text ((GtkEntry*) _tmp26_);
			_tmp28_ = self->file_button;
			_tmp29_ = _tmp28_->entry;
			_tmp30_ = gtk_entry_get_text ((GtkEntry*) _tmp29_);
			_tmp31_ = self->port_spinbutton;
			_tmp32_ = self->parent_window;
			_tmp33_ = _tmp32_->config;
			_tmp34_ = _tmp33_->encoding_names;
			_tmp35_ = self->encode_box;
			_tmp36_ = gee_abstract_list_get ((GeeAbstractList*) _tmp34_, gtk_combo_box_get_active ((GtkComboBox*) _tmp35_));
			_tmp37_ = (gchar*) _tmp36_;
			_tmp38_ = self->path_entry;
			_tmp39_ = gtk_entry_get_text ((GtkEntry*) _tmp38_);
			_tmp40_ = self->command_entry;
			_tmp41_ = gtk_entry_get_text ((GtkEntry*) _tmp40_);
			_tmp42_ = self->name_entry;
			_tmp43_ = gtk_entry_get_text ((GtkEntry*) _tmp42_);
			_tmp44_ = self->groupname_entry;
			_tmp45_ = gtk_entry_get_text ((GtkEntry*) _tmp44_);
			_tmp46_ = self->parent_window;
			_tmp47_ = _tmp46_->config;
			_tmp48_ = _tmp47_->backspace_key_erase_names;
			_tmp49_ = self->backspace_key_box;
			_tmp50_ = gee_abstract_list_get ((GeeAbstractList*) _tmp48_, gtk_combo_box_get_active ((GtkComboBox*) _tmp49_));
			_tmp51_ = (gchar*) _tmp50_;
			_tmp52_ = self->parent_window;
			_tmp53_ = _tmp52_->config;
			_tmp54_ = _tmp53_->del_key_erase_names;
			_tmp55_ = self->del_key_box;
			_tmp56_ = gee_abstract_list_get ((GeeAbstractList*) _tmp54_, gtk_combo_box_get_active ((GtkComboBox*) _tmp55_));
			_tmp57_ = (gchar*) _tmp56_;
			g_signal_emit (self, widgets_remote_server_dialog_signals[WIDGETS_REMOTE_SERVER_DIALOG_EDIT_SERVER_SIGNAL], 0, _tmp22_, _tmp24_, _tmp27_, _tmp30_, (gint) gtk_spin_button_get_value ((GtkSpinButton*) _tmp31_), _tmp37_, _tmp39_, _tmp41_, _tmp43_, _tmp45_, _tmp51_, _tmp57_);
			_g_free0 (_tmp57_);
			_g_free0 (_tmp51_);
			_g_free0 (_tmp37_);
		}
	} else {
		gboolean _tmp58_ = FALSE;
		gboolean _tmp59_ = FALSE;
		gboolean _tmp60_ = FALSE;
		WidgetsEntry* _tmp61_;
		const gchar* _tmp62_;
		gchar* _tmp63_;
		gchar* _tmp64_;
		gboolean _tmp65_;
		_tmp61_ = self->name_entry;
		_tmp62_ = gtk_entry_get_text ((GtkEntry*) _tmp61_);
		_tmp63_ = string_strip (_tmp62_);
		_tmp64_ = _tmp63_;
		_tmp65_ = g_strcmp0 (_tmp64_, "") != 0;
		_g_free0 (_tmp64_);
		if (_tmp65_) {
			WidgetsEntry* _tmp66_;
			const gchar* _tmp67_;
			gchar* _tmp68_;
			gchar* _tmp69_;
			_tmp66_ = self->address_entry;
			_tmp67_ = gtk_entry_get_text ((GtkEntry*) _tmp66_);
			_tmp68_ = string_strip (_tmp67_);
			_tmp69_ = _tmp68_;
			_tmp60_ = g_strcmp0 (_tmp69_, "") != 0;
			_g_free0 (_tmp69_);
		} else {
			_tmp60_ = FALSE;
		}
		if (_tmp60_) {
			WidgetsSpinButton* _tmp70_;
			const gchar* _tmp71_;
			gchar* _tmp72_;
			gchar* _tmp73_;
			_tmp70_ = self->port_spinbutton;
			_tmp71_ = gtk_entry_get_text ((GtkEntry*) _tmp70_);
			_tmp72_ = string_strip (_tmp71_);
			_tmp73_ = _tmp72_;
			_tmp59_ = g_strcmp0 (_tmp73_, "") != 0;
			_g_free0 (_tmp73_);
		} else {
			_tmp59_ = FALSE;
		}
		if (_tmp59_) {
			WidgetsEntry* _tmp74_;
			const gchar* _tmp75_;
			gchar* _tmp76_;
			gchar* _tmp77_;
			_tmp74_ = self->user_entry;
			_tmp75_ = gtk_entry_get_text ((GtkEntry*) _tmp74_);
			_tmp76_ = string_strip (_tmp75_);
			_tmp77_ = _tmp76_;
			_tmp58_ = g_strcmp0 (_tmp77_, "") != 0;
			_g_free0 (_tmp77_);
		} else {
			_tmp58_ = FALSE;
		}
		if (_tmp58_) {
			WidgetsEntry* _tmp78_;
			const gchar* _tmp79_;
			WidgetsEntry* _tmp80_;
			const gchar* _tmp81_;
			WidgetsPasswordButton* _tmp82_;
			WidgetsEntry* _tmp83_;
			const gchar* _tmp84_;
			WidgetsFileButton* _tmp85_;
			WidgetsEntry* _tmp86_;
			const gchar* _tmp87_;
			WidgetsSpinButton* _tmp88_;
			WidgetsConfigWindow* _tmp89_;
			ConfigConfig* _tmp90_;
			GeeArrayList* _tmp91_;
			WidgetsDropdownTextButton* _tmp92_;
			gpointer _tmp93_;
			gchar* _tmp94_;
			WidgetsEntry* _tmp95_;
			const gchar* _tmp96_;
			WidgetsEntry* _tmp97_;
			const gchar* _tmp98_;
			WidgetsEntry* _tmp99_;
			const gchar* _tmp100_;
			WidgetsEntry* _tmp101_;
			const gchar* _tmp102_;
			WidgetsConfigWindow* _tmp103_;
			ConfigConfig* _tmp104_;
			GeeArrayList* _tmp105_;
			WidgetsDropdownTextButton* _tmp106_;
			gpointer _tmp107_;
			gchar* _tmp108_;
			WidgetsConfigWindow* _tmp109_;
			ConfigConfig* _tmp110_;
			GeeArrayList* _tmp111_;
			WidgetsDropdownTextButton* _tmp112_;
			gpointer _tmp113_;
			gchar* _tmp114_;
			_tmp78_ = self->address_entry;
			_tmp79_ = gtk_entry_get_text ((GtkEntry*) _tmp78_);
			_tmp80_ = self->user_entry;
			_tmp81_ = gtk_entry_get_text ((GtkEntry*) _tmp80_);
			_tmp82_ = self->password_button;
			_tmp83_ = _tmp82_->entry;
			_tmp84_ = gtk_entry_get_text ((GtkEntry*) _tmp83_);
			_tmp85_ = self->file_button;
			_tmp86_ = _tmp85_->entry;
			_tmp87_ = gtk_entry_get_text ((GtkEntry*) _tmp86_);
			_tmp88_ = self->port_spinbutton;
			_tmp89_ = self->parent_window;
			_tmp90_ = _tmp89_->config;
			_tmp91_ = _tmp90_->encoding_names;
			_tmp92_ = self->encode_box;
			_tmp93_ = gee_abstract_list_get ((GeeAbstractList*) _tmp91_, gtk_combo_box_get_active ((GtkComboBox*) _tmp92_));
			_tmp94_ = (gchar*) _tmp93_;
			_tmp95_ = self->path_entry;
			_tmp96_ = gtk_entry_get_text ((GtkEntry*) _tmp95_);
			_tmp97_ = self->command_entry;
			_tmp98_ = gtk_entry_get_text ((GtkEntry*) _tmp97_);
			_tmp99_ = self->name_entry;
			_tmp100_ = gtk_entry_get_text ((GtkEntry*) _tmp99_);
			_tmp101_ = self->groupname_entry;
			_tmp102_ = gtk_entry_get_text ((GtkEntry*) _tmp101_);
			_tmp103_ = self->parent_window;
			_tmp104_ = _tmp103_->config;
			_tmp105_ = _tmp104_->backspace_key_erase_names;
			_tmp106_ = self->backspace_key_box;
			_tmp107_ = gee_abstract_list_get ((GeeAbstractList*) _tmp105_, gtk_combo_box_get_active ((GtkComboBox*) _tmp106_));
			_tmp108_ = (gchar*) _tmp107_;
			_tmp109_ = self->parent_window;
			_tmp110_ = _tmp109_->config;
			_tmp111_ = _tmp110_->del_key_erase_names;
			_tmp112_ = self->del_key_box;
			_tmp113_ = gee_abstract_list_get ((GeeAbstractList*) _tmp111_, gtk_combo_box_get_active ((GtkComboBox*) _tmp112_));
			_tmp114_ = (gchar*) _tmp113_;
			g_signal_emit (self, widgets_remote_server_dialog_signals[WIDGETS_REMOTE_SERVER_DIALOG_ADD_SERVER_SIGNAL], 0, _tmp79_, _tmp81_, _tmp84_, _tmp87_, (gint) gtk_spin_button_get_value ((GtkSpinButton*) _tmp88_), _tmp94_, _tmp96_, _tmp98_, _tmp100_, _tmp102_, _tmp108_, _tmp114_);
			_g_free0 (_tmp114_);
			_g_free0 (_tmp108_);
			_g_free0 (_tmp94_);
		}
	}
}

static void
____lambda138__gtk_button_clicked (GtkButton* _sender,
                                   gpointer self)
{
	___lambda138_ (self, _sender);
}

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

WidgetsRemoteServerDialog*
widgets_remote_server_dialog_construct (GType object_type,
                                        WidgetsConfigWindow* window,
                                        GtkWidget* widget,
                                        const gchar* info,
                                        GKeyFile* config_file)
{
	WidgetsRemoteServerDialog * self = NULL;
	GdkScreen* _tmp0_;
	PangoFontDescription* font_description = NULL;
	PangoFontDescription* _tmp1_;
	PangoFontDescription* _tmp2_;
	gint max_width = 0;
	gchar** label_names = NULL;
	gchar* _tmp3_;
	gchar* _tmp4_;
	gchar* _tmp5_;
	gchar* _tmp6_;
	gchar* _tmp7_;
	gchar* _tmp8_;
	gchar* _tmp9_;
	gchar* _tmp10_;
	gchar* _tmp11_;
	gchar* _tmp12_;
	gchar* _tmp13_;
	gchar** _tmp14_;
	gint label_names_length1;
	gint _label_names_size_;
	gchar** _tmp15_;
	gint _tmp15__length1;
	GError* _inner_error0_ = NULL;
	g_return_val_if_fail (window != NULL, NULL);
	self = (WidgetsRemoteServerDialog*) widgets_dialog_construct (object_type);
	bindtextdomain (GETTEXT_PACKAGE, "/usr/share/locale");
	widgets_dialog_set_init_size ((WidgetsDialog*) self, 480, 360);
	_tmp0_ = ((WidgetsDialog*) self)->screen_monitor;
	if (!gdk_screen_is_composited (_tmp0_)) {
		self->window_expand_height = (530 - ((WidgetsDialog*) self)->window_frame_margin_top) - ((WidgetsDialog*) self)->window_frame_margin_bottom;
	} else {
		self->window_expand_height = 530;
	}
	_tmp1_ = pango_font_description_new ();
	font_description = _tmp1_;
	_tmp2_ = font_description;
	pango_font_description_set_size (_tmp2_, (gint) (self->font_size * PANGO_SCALE));
	max_width = 0;
	_tmp3_ = g_strdup (_ ("Server name"));
	_tmp4_ = g_strdup (_ ("Address"));
	_tmp5_ = g_strdup (_ ("Username"));
	_tmp6_ = g_strdup (_ ("Password"));
	_tmp7_ = g_strdup (_ ("Certificate"));
	_tmp8_ = g_strdup (_ ("Path"));
	_tmp9_ = g_strdup (_ ("Command"));
	_tmp10_ = g_strdup (_ ("Group"));
	_tmp11_ = g_strdup (_ ("Encoding"));
	_tmp12_ = g_strdup (_ ("Backspace key"));
	_tmp13_ = g_strdup (_ ("Delete key"));
	_tmp14_ = g_new0 (gchar*, 11 + 1);
	_tmp14_[0] = _tmp3_;
	_tmp14_[1] = _tmp4_;
	_tmp14_[2] = _tmp5_;
	_tmp14_[3] = _tmp6_;
	_tmp14_[4] = _tmp7_;
	_tmp14_[5] = _tmp8_;
	_tmp14_[6] = _tmp9_;
	_tmp14_[7] = _tmp10_;
	_tmp14_[8] = _tmp11_;
	_tmp14_[9] = _tmp12_;
	_tmp14_[10] = _tmp13_;
	label_names = _tmp14_;
	label_names_length1 = 11;
	_label_names_size_ = label_names_length1;
	_tmp15_ = label_names;
	_tmp15__length1 = label_names_length1;
	{
		gchar** label_name_collection = NULL;
		gint label_name_collection_length1 = 0;
		gint _label_name_collection_size_ = 0;
		gint label_name_it = 0;
		label_name_collection = _tmp15_;
		label_name_collection_length1 = _tmp15__length1;
		for (label_name_it = 0; label_name_it < label_name_collection_length1; label_name_it = label_name_it + 1) {
			gchar* _tmp16_;
			gchar* label_name = NULL;
			_tmp16_ = g_strdup (label_name_collection[label_name_it]);
			label_name = _tmp16_;
			{
				PangoLayout* layout = NULL;
				const gchar* _tmp17_;
				PangoLayout* _tmp18_;
				PangoLayout* _tmp19_;
				PangoFontDescription* _tmp20_;
				gint name_width = 0;
				gint name_height = 0;
				PangoLayout* _tmp21_;
				gint _tmp22_ = 0;
				gint _tmp23_ = 0;
				_tmp17_ = label_name;
				_tmp18_ = gtk_widget_create_pango_layout ((GtkWidget*) self, _tmp17_);
				layout = _tmp18_;
				_tmp19_ = layout;
				_tmp20_ = font_description;
				pango_layout_set_font_description (_tmp19_, _tmp20_);
				_tmp21_ = layout;
				pango_layout_get_pixel_size (_tmp21_, &_tmp22_, &_tmp23_);
				name_width = _tmp22_;
				name_height = _tmp23_;
				max_width = MAX (max_width, name_width);
				_g_object_unref0 (layout);
				_g_free0 (label_name);
			}
		}
	}
	self->preference_name_width = max_width + self->preference_name_margin_left;
	{
		Block35Data* _data35_;
		WidgetsConfigWindow* _tmp24_;
		GtkWidget* _tmp25_;
		gchar* _tmp26_;
		const gchar* _tmp27_;
		GtkBox* _tmp31_;
		GtkBox* top_box = NULL;
		GtkBox* _tmp32_;
		GtkBox* _tmp33_;
		WidgetsWindowEventArea* event_area = NULL;
		WidgetsWindowEventArea* _tmp34_;
		WidgetsWindowEventArea* _tmp35_;
		GtkOverlay* overlay = NULL;
		GtkOverlay* _tmp36_;
		GtkOverlay* _tmp37_;
		GtkBox* _tmp38_;
		GtkOverlay* _tmp39_;
		WidgetsWindowEventArea* _tmp40_;
		GtkBox* _tmp41_;
		GtkOverlay* _tmp42_;
		GtkBox* spacing_box = NULL;
		GtkBox* _tmp43_;
		GtkBox* _tmp44_;
		GtkBox* _tmp45_;
		GtkBox* _tmp46_;
		GtkLabel* title_label = NULL;
		GtkLabel* _tmp47_;
		GtkLabel* _tmp48_;
		GtkStyleContext* _tmp49_;
		GtkBox* _tmp50_;
		GtkLabel* _tmp51_;
		gchar** _tmp52_;
		gint _tmp52__length1;
		WidgetsWindowButton* close_button = NULL;
		WidgetsWindowButton* _tmp55_;
		WidgetsWindowButton* _tmp56_;
		GtkBox* _tmp57_;
		WidgetsWindowButton* _tmp58_;
		GtkBox* content_box = NULL;
		GtkBox* _tmp59_;
		GtkBox* _tmp60_;
		GtkBox* _tmp61_;
		GtkBox* _tmp62_;
		GtkBox* _tmp63_;
		GtkBox* _tmp64_;
		GtkGrid* grid = NULL;
		GtkGrid* _tmp65_;
		GtkGrid* _tmp66_;
		GtkBox* _tmp67_;
		GtkGrid* _tmp68_;
		GtkLabel* name_label = NULL;
		GtkLabel* _tmp69_;
		WidgetsEntry* _tmp70_;
		gchar** _tmp71_;
		gint _tmp71__length1;
		WidgetsEntry* _tmp76_;
		GtkLabel* _tmp77_;
		WidgetsEntry* _tmp78_;
		GtkGrid* _tmp79_;
		GtkLabel* address_label = NULL;
		GtkLabel* _tmp80_;
		WidgetsEntry* _tmp81_;
		gchar** _tmp82_;
		gint _tmp82__length1;
		WidgetsEntry* _tmp86_;
		WidgetsEntry* _tmp87_;
		WidgetsEntry* _tmp88_;
		WidgetsEntry* _tmp89_;
		GtkStyleContext* _tmp90_;
		GtkLabel* port_label = NULL;
		GtkLabel* _tmp91_;
		WidgetsSpinButton* _tmp92_;
		WidgetsSpinButton* _tmp93_;
		WidgetsSpinButton* _tmp94_;
		WidgetsSpinButton* _tmp95_;
		GtkStyleContext* _tmp96_;
		gchar** _tmp97_;
		gint _tmp97__length1;
		WidgetsSpinButton* _tmp106_;
		GtkBox* address_box = NULL;
		GtkBox* _tmp107_;
		GtkBox* _tmp108_;
		WidgetsEntry* _tmp109_;
		GtkBox* _tmp110_;
		GtkLabel* _tmp111_;
		GtkBox* _tmp112_;
		WidgetsSpinButton* _tmp113_;
		GtkGrid* _tmp114_;
		GtkLabel* _tmp115_;
		GtkLabel* _tmp116_;
		GtkGrid* _tmp117_;
		GtkBox* _tmp118_;
		GtkLabel* _tmp119_;
		GtkLabel* _tmp120_;
		GtkBox* _tmp121_;
		GtkLabel* user_label = NULL;
		GtkLabel* _tmp122_;
		WidgetsEntry* _tmp123_;
		gchar** _tmp124_;
		gint _tmp124__length1;
		WidgetsEntry* _tmp128_;
		GtkLabel* _tmp129_;
		WidgetsEntry* _tmp130_;
		GtkLabel* _tmp131_;
		GtkGrid* _tmp132_;
		GtkLabel* password_label = NULL;
		GtkLabel* _tmp133_;
		WidgetsPasswordButton* _tmp134_;
		gchar** _tmp135_;
		gint _tmp135__length1;
		GtkLabel* _tmp153_;
		WidgetsPasswordButton* _tmp154_;
		GtkLabel* _tmp155_;
		GtkGrid* _tmp156_;
		GtkLabel* file_label = NULL;
		GtkLabel* _tmp157_;
		WidgetsFileButton* _tmp158_;
		gchar** _tmp159_;
		gint _tmp159__length1;
		GtkLabel* _tmp172_;
		WidgetsFileButton* _tmp173_;
		GtkLabel* _tmp174_;
		GtkGrid* _tmp175_;
		GtkBox* _tmp176_;
		GtkGrid* _tmp177_;
		GtkGrid* _tmp178_;
		GtkBox* _tmp179_;
		GtkBox* _tmp180_;
		GtkLabel* group_name_label = NULL;
		GtkLabel* _tmp181_;
		WidgetsEntry* _tmp182_;
		gchar** _tmp183_;
		gint _tmp183__length1;
		WidgetsEntry* _tmp188_;
		WidgetsEntry* _tmp189_;
		GtkLabel* _tmp190_;
		WidgetsEntry* _tmp191_;
		GtkGrid* _tmp192_;
		GtkLabel* path_label = NULL;
		GtkLabel* _tmp193_;
		WidgetsEntry* _tmp194_;
		gchar** _tmp195_;
		gint _tmp195__length1;
		WidgetsEntry* _tmp200_;
		GtkLabel* _tmp201_;
		WidgetsEntry* _tmp202_;
		GtkLabel* _tmp203_;
		GtkGrid* _tmp204_;
		GtkLabel* command_label = NULL;
		GtkLabel* _tmp205_;
		WidgetsEntry* _tmp206_;
		gchar** _tmp207_;
		gint _tmp207__length1;
		WidgetsEntry* _tmp212_;
		GtkLabel* _tmp213_;
		WidgetsEntry* _tmp214_;
		GtkLabel* _tmp215_;
		GtkGrid* _tmp216_;
		GtkLabel* encode_label = NULL;
		GtkLabel* _tmp217_;
		WidgetsDropdownTextButton* _tmp218_;
		gchar** _tmp232_;
		gint _tmp232__length1;
		GtkLabel* _tmp244_;
		WidgetsDropdownTextButton* _tmp245_;
		GtkLabel* _tmp246_;
		GtkGrid* _tmp247_;
		GtkLabel* backspace_key_label = NULL;
		GtkLabel* _tmp248_;
		WidgetsDropdownTextButton* _tmp249_;
		gchar** _tmp268_;
		gint _tmp268__length1;
		GtkLabel* _tmp280_;
		WidgetsDropdownTextButton* _tmp281_;
		GtkLabel* _tmp282_;
		GtkGrid* _tmp283_;
		GtkLabel* del_key_label = NULL;
		GtkLabel* _tmp284_;
		WidgetsDropdownTextButton* _tmp285_;
		gchar** _tmp304_;
		gint _tmp304__length1;
		GtkLabel* _tmp316_;
		WidgetsDropdownTextButton* _tmp317_;
		GtkLabel* _tmp318_;
		GtkGrid* _tmp319_;
		GtkBox* _tmp320_;
		WidgetsTextButton* _tmp321_;
		WidgetsTextButton* _tmp322_;
		GtkBox* _tmp323_;
		WidgetsTextButton* _tmp324_;
		GtkBox* _tmp325_;
		GtkBox* _tmp326_;
		GtkBox* button_box = NULL;
		GtkBox* _tmp327_;
		GtkBox* _tmp328_;
		WidgetsDialogButton* cancel_button = NULL;
		WidgetsConfigWindow* _tmp329_;
		GdkScreen* _tmp330_;
		WidgetsDialogButton* _tmp331_;
		gchar* button_name = NULL;
		gchar** _tmp332_;
		gint _tmp332__length1;
		WidgetsDialogButton* confirm_button = NULL;
		const gchar* _tmp335_;
		WidgetsConfigWindow* _tmp336_;
		GdkScreen* _tmp337_;
		WidgetsDialogButton* _tmp338_;
		WidgetsDialogButton* _tmp339_;
		GList* tab_order_list = NULL;
		WidgetsDialogButton* _tmp340_;
		GtkWidget* _tmp341_;
		GtkWidget* _tmp342_;
		GtkBox* _tmp343_;
		GtkBox* _tmp344_;
		GtkBox* _tmp345_;
		WidgetsDialogButton* _tmp346_;
		GtkBox* _tmp347_;
		GtkBox* _tmp348_;
		GtkBox* _tmp349_;
		GtkBox* _tmp350_;
		_data35_ = g_slice_new0 (Block35Data);
		_data35_->_ref_count_ = 1;
		_data35_->self = g_object_ref (self);
		_tmp24_ = _g_object_ref0 (window);
		_g_object_unref0 (self->parent_window);
		self->parent_window = _tmp24_;
		_tmp25_ = _g_object_ref0 (widget);
		_g_object_unref0 (self->focus_widget);
		self->focus_widget = _tmp25_;
		_tmp26_ = g_strdup (info);
		_g_free0 (self->server_info);
		self->server_info = _tmp26_;
		_data35_->server_infos = NULL;
		_data35_->server_infos_length1 = 0;
		_data35_->_server_infos_size_ = _data35_->server_infos_length1;
		_tmp27_ = self->server_info;
		if (_tmp27_ != NULL) {
			const gchar* _tmp28_;
			gchar** _tmp29_;
			gchar** _tmp30_;
			_tmp28_ = self->server_info;
			_tmp30_ = _tmp29_ = g_strsplit (_tmp28_, "@", 0);
			_data35_->server_infos = (_vala_array_free (_data35_->server_infos, _data35_->server_infos_length1, (GDestroyNotify) g_free), NULL);
			_data35_->server_infos = _tmp30_;
			_data35_->server_infos_length1 = _vala_array_length (_tmp29_);
			_data35_->_server_infos_size_ = _data35_->server_infos_length1;
		}
		_tmp31_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
		g_object_ref_sink (_tmp31_);
		_g_object_unref0 (self->box);
		self->box = _tmp31_;
		_tmp32_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
		g_object_ref_sink (_tmp32_);
		top_box = _tmp32_;
		_tmp33_ = top_box;
		gtk_widget_set_margin_bottom ((GtkWidget*) _tmp33_, self->preference_margin_top);
		_tmp34_ = widgets_window_event_area_new ((GtkContainer*) self);
		g_object_ref_sink (_tmp34_);
		event_area = _tmp34_;
		_tmp35_ = event_area;
		gtk_widget_set_margin_end ((GtkWidget*) _tmp35_, constant_CLOSE_BUTTON_WIDTH);
		_tmp36_ = (GtkOverlay*) gtk_overlay_new ();
		g_object_ref_sink (_tmp36_);
		overlay = _tmp36_;
		_tmp37_ = overlay;
		_tmp38_ = top_box;
		gtk_container_add ((GtkContainer*) _tmp37_, (GtkWidget*) _tmp38_);
		_tmp39_ = overlay;
		_tmp40_ = event_area;
		gtk_overlay_add_overlay (_tmp39_, (GtkWidget*) _tmp40_);
		_tmp41_ = self->box;
		_tmp42_ = overlay;
		gtk_box_pack_start (_tmp41_, (GtkWidget*) _tmp42_, FALSE, FALSE, (guint) 0);
		_tmp43_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
		g_object_ref_sink (_tmp43_);
		spacing_box = _tmp43_;
		_tmp44_ = spacing_box;
		gtk_widget_set_size_request ((GtkWidget*) _tmp44_, constant_CLOSE_BUTTON_WIDTH, -1);
		_tmp45_ = top_box;
		_tmp46_ = spacing_box;
		gtk_box_pack_start (_tmp45_, (GtkWidget*) _tmp46_, FALSE, FALSE, (guint) 0);
		_tmp47_ = (GtkLabel*) gtk_label_new (NULL);
		g_object_ref_sink (_tmp47_);
		title_label = _tmp47_;
		_tmp48_ = title_label;
		_tmp49_ = gtk_widget_get_style_context ((GtkWidget*) _tmp48_);
		gtk_style_context_add_class (_tmp49_, "remote_server_label");
		_tmp50_ = top_box;
		_tmp51_ = title_label;
		gtk_box_pack_start (_tmp50_, (GtkWidget*) _tmp51_, TRUE, TRUE, (guint) 0);
		_tmp52_ = _data35_->server_infos;
		_tmp52__length1 = _data35_->server_infos_length1;
		if (_tmp52_ != NULL) {
			GtkLabel* _tmp53_;
			_tmp53_ = title_label;
			gtk_label_set_text (_tmp53_, _ ("Edit Server"));
		} else {
			GtkLabel* _tmp54_;
			_tmp54_ = title_label;
			gtk_label_set_text (_tmp54_, _ ("Add Server"));
		}
		_tmp55_ = widgets_create_close_button ();
		close_button = _tmp55_;
		_tmp56_ = close_button;
		g_signal_connect_object ((WidgetsClickEventBox*) _tmp56_, "clicked", (GCallback) ____lambda131__widgets_click_event_box_clicked, self, 0);
		_tmp57_ = top_box;
		_tmp58_ = close_button;
		gtk_box_pack_start (_tmp57_, (GtkWidget*) _tmp58_, FALSE, FALSE, (guint) 0);
		g_signal_connect_object ((GtkWidget*) self, "destroy", (GCallback) ____lambda132__gtk_widget_destroy, self, 0);
		_tmp59_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
		g_object_ref_sink (_tmp59_);
		content_box = _tmp59_;
		_tmp60_ = content_box;
		gtk_widget_set_halign ((GtkWidget*) _tmp60_, GTK_ALIGN_CENTER);
		_tmp61_ = content_box;
		gtk_widget_set_margin_start ((GtkWidget*) _tmp61_, self->preference_margin_start);
		_tmp62_ = content_box;
		gtk_widget_set_margin_end ((GtkWidget*) _tmp62_, self->preference_margin_end);
		_tmp63_ = self->box;
		_tmp64_ = content_box;
		gtk_box_pack_start (_tmp63_, (GtkWidget*) _tmp64_, FALSE, FALSE, (guint) 0);
		_tmp65_ = (GtkGrid*) gtk_grid_new ();
		g_object_ref_sink (_tmp65_);
		grid = _tmp65_;
		_tmp66_ = grid;
		gtk_widget_set_margin_end ((GtkWidget*) _tmp66_, self->label_margin_left);
		_tmp67_ = content_box;
		_tmp68_ = grid;
		gtk_box_pack_start (_tmp67_, (GtkWidget*) _tmp68_, FALSE, FALSE, (guint) 0);
		_tmp69_ = (GtkLabel*) gtk_label_new (NULL);
		g_object_ref_sink (_tmp69_);
		name_label = _tmp69_;
		_tmp70_ = widgets_entry_new ();
		g_object_ref_sink (_tmp70_);
		_g_object_unref0 (self->name_entry);
		self->name_entry = _tmp70_;
		_tmp71_ = _data35_->server_infos;
		_tmp71__length1 = _data35_->server_infos_length1;
		if (_tmp71_ != NULL) {
			gchar* _tmp72_ = NULL;
			const gchar* _tmp73_;
			gchar* _tmp74_;
			WidgetsEntry* _tmp75_;
			_tmp73_ = self->server_info;
			_tmp74_ = g_key_file_get_value (config_file, _tmp73_, "Name", &_inner_error0_);
			_tmp72_ = _tmp74_;
			if (G_UNLIKELY (_inner_error0_ != NULL)) {
				_g_object_unref0 (name_label);
				_g_object_unref0 (grid);
				_g_object_unref0 (content_box);
				_g_object_unref0 (close_button);
				_g_object_unref0 (title_label);
				_g_object_unref0 (spacing_box);
				_g_object_unref0 (overlay);
				_g_object_unref0 (event_area);
				_g_object_unref0 (top_box);
				block35_data_unref (_data35_);
				_data35_ = NULL;
				goto __catch0_g_error;
			}
			_tmp75_ = self->name_entry;
			gtk_entry_set_text ((GtkEntry*) _tmp75_, _tmp72_);
			_g_free0 (_tmp72_);
		}
		_tmp76_ = self->name_entry;
		gtk_entry_set_placeholder_text ((GtkEntry*) _tmp76_, _ ("Required"));
		_tmp77_ = name_label;
		_tmp78_ = self->name_entry;
		_tmp79_ = grid;
		widgets_remote_server_dialog_create_key_row (self, _tmp77_, (GtkWidget*) _tmp78_, _ ("Server name:"), _tmp79_, "preference_entry");
		_tmp80_ = widgets_remote_server_dialog_create_label (self, _ ("Address:"));
		address_label = _tmp80_;
		_tmp81_ = widgets_entry_new ();
		g_object_ref_sink (_tmp81_);
		_g_object_unref0 (self->address_entry);
		self->address_entry = _tmp81_;
		_tmp82_ = _data35_->server_infos;
		_tmp82__length1 = _data35_->server_infos_length1;
		if (_tmp82_ != NULL) {
			WidgetsEntry* _tmp83_;
			gchar** _tmp84_;
			gint _tmp84__length1;
			const gchar* _tmp85_;
			_tmp83_ = self->address_entry;
			_tmp84_ = _data35_->server_infos;
			_tmp84__length1 = _data35_->server_infos_length1;
			_tmp85_ = _tmp84_[1];
			gtk_entry_set_text ((GtkEntry*) _tmp83_, _tmp85_);
		}
		_tmp86_ = self->address_entry;
		gtk_entry_set_width_chars ((GtkEntry*) _tmp86_, self->label_margin_left);
		_tmp87_ = self->address_entry;
		gtk_entry_set_placeholder_text ((GtkEntry*) _tmp87_, _ ("Required"));
		_tmp88_ = self->address_entry;
		gtk_widget_set_margin_start ((GtkWidget*) _tmp88_, self->label_margin_left);
		_tmp89_ = self->address_entry;
		_tmp90_ = gtk_widget_get_style_context ((GtkWidget*) _tmp89_);
		gtk_style_context_add_class (_tmp90_, "preference_entry");
		_tmp91_ = widgets_remote_server_dialog_create_label (self, _ ("Port:"));
		port_label = _tmp91_;
		_tmp92_ = widgets_spin_button_new ();
		g_object_ref_sink (_tmp92_);
		_g_object_unref0 (self->port_spinbutton);
		self->port_spinbutton = _tmp92_;
		_tmp93_ = self->port_spinbutton;
		gtk_spin_button_set_range ((GtkSpinButton*) _tmp93_, (gdouble) 0, (gdouble) 65535);
		_tmp94_ = self->port_spinbutton;
		gtk_spin_button_set_increments ((GtkSpinButton*) _tmp94_, (gdouble) 1, (gdouble) 10);
		_tmp95_ = self->port_spinbutton;
		_tmp96_ = gtk_widget_get_style_context ((GtkWidget*) _tmp95_);
		gtk_style_context_add_class (_tmp96_, "preference_spinbutton");
		_tmp97_ = _data35_->server_infos;
		_tmp97__length1 = _data35_->server_infos_length1;
		if (_tmp97_ != NULL) {
			gchar** _tmp98_;
			gint _tmp98__length1;
			_tmp98_ = _data35_->server_infos;
			_tmp98__length1 = _data35_->server_infos_length1;
			if (_tmp98__length1 > 2) {
				WidgetsSpinButton* _tmp99_;
				gchar** _tmp100_;
				gint _tmp100__length1;
				const gchar* _tmp101_;
				_tmp99_ = self->port_spinbutton;
				_tmp100_ = _data35_->server_infos;
				_tmp100__length1 = _data35_->server_infos_length1;
				_tmp101_ = _tmp100_[2];
				gtk_spin_button_set_value ((GtkSpinButton*) _tmp99_, (gdouble) atoi (_tmp101_));
			} else {
				gint _tmp102_ = 0;
				const gchar* _tmp103_;
				WidgetsSpinButton* _tmp104_;
				_tmp103_ = self->server_info;
				_tmp102_ = g_key_file_get_integer (config_file, _tmp103_, "Port", &_inner_error0_);
				if (G_UNLIKELY (_inner_error0_ != NULL)) {
					_g_object_unref0 (port_label);
					_g_object_unref0 (address_label);
					_g_object_unref0 (name_label);
					_g_object_unref0 (grid);
					_g_object_unref0 (content_box);
					_g_object_unref0 (close_button);
					_g_object_unref0 (title_label);
					_g_object_unref0 (spacing_box);
					_g_object_unref0 (overlay);
					_g_object_unref0 (event_area);
					_g_object_unref0 (top_box);
					block35_data_unref (_data35_);
					_data35_ = NULL;
					goto __catch0_g_error;
				}
				_tmp104_ = self->port_spinbutton;
				gtk_spin_button_set_value ((GtkSpinButton*) _tmp104_, (gdouble) _tmp102_);
			}
		} else {
			WidgetsSpinButton* _tmp105_;
			_tmp105_ = self->port_spinbutton;
			gtk_spin_button_set_value ((GtkSpinButton*) _tmp105_, (gdouble) 22);
		}
		_tmp106_ = self->port_spinbutton;
		gtk_widget_set_margin_start ((GtkWidget*) _tmp106_, self->label_margin_left);
		_tmp107_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
		g_object_ref_sink (_tmp107_);
		address_box = _tmp107_;
		_tmp108_ = address_box;
		_tmp109_ = self->address_entry;
		gtk_box_pack_start (_tmp108_, (GtkWidget*) _tmp109_, TRUE, TRUE, (guint) 0);
		_tmp110_ = address_box;
		_tmp111_ = port_label;
		gtk_box_pack_start (_tmp110_, (GtkWidget*) _tmp111_, FALSE, FALSE, (guint) 0);
		_tmp112_ = address_box;
		_tmp113_ = self->port_spinbutton;
		gtk_box_pack_start (_tmp112_, (GtkWidget*) _tmp113_, FALSE, FALSE, (guint) 0);
		_tmp114_ = grid;
		_tmp115_ = address_label;
		_tmp116_ = name_label;
		widgets_dialog_grid_attach_next_to ((WidgetsDialog*) self, _tmp114_, (GtkWidget*) _tmp115_, (GtkWidget*) _tmp116_, GTK_POS_BOTTOM, self->preference_name_width, self->grid_height);
		_tmp117_ = grid;
		_tmp118_ = address_box;
		_tmp119_ = address_label;
		widgets_dialog_grid_attach_next_to ((WidgetsDialog*) self, _tmp117_, (GtkWidget*) _tmp118_, (GtkWidget*) _tmp119_, GTK_POS_RIGHT, self->preference_widget_width, self->grid_height);
		_tmp120_ = address_label;
		_tmp121_ = address_box;
		widgets_remote_server_dialog_adjust_option_widgets (self, _tmp120_, (GtkWidget*) _tmp121_);
		_tmp122_ = (GtkLabel*) gtk_label_new (NULL);
		g_object_ref_sink (_tmp122_);
		user_label = _tmp122_;
		_tmp123_ = widgets_entry_new ();
		g_object_ref_sink (_tmp123_);
		_g_object_unref0 (self->user_entry);
		self->user_entry = _tmp123_;
		_tmp124_ = _data35_->server_infos;
		_tmp124__length1 = _data35_->server_infos_length1;
		if (_tmp124_ != NULL) {
			WidgetsEntry* _tmp125_;
			gchar** _tmp126_;
			gint _tmp126__length1;
			const gchar* _tmp127_;
			_tmp125_ = self->user_entry;
			_tmp126_ = _data35_->server_infos;
			_tmp126__length1 = _data35_->server_infos_length1;
			_tmp127_ = _tmp126_[0];
			gtk_entry_set_text ((GtkEntry*) _tmp125_, _tmp127_);
		}
		_tmp128_ = self->user_entry;
		gtk_entry_set_placeholder_text ((GtkEntry*) _tmp128_, _ ("Required"));
		_tmp129_ = user_label;
		_tmp130_ = self->user_entry;
		_tmp131_ = address_label;
		_tmp132_ = grid;
		widgets_remote_server_dialog_create_follow_key_row (self, _tmp129_, (GtkWidget*) _tmp130_, _ ("Username:"), _tmp131_, _tmp132_, "preference_entry");
		_tmp133_ = (GtkLabel*) gtk_label_new (NULL);
		g_object_ref_sink (_tmp133_);
		password_label = _tmp133_;
		_tmp134_ = widgets_password_button_new ();
		g_object_ref_sink (_tmp134_);
		_g_object_unref0 (self->password_button);
		self->password_button = _tmp134_;
		_tmp135_ = _data35_->server_infos;
		_tmp135__length1 = _data35_->server_infos_length1;
		if (_tmp135_ != NULL) {
			gchar* password = NULL;
			gchar* _tmp136_;
			gchar** _tmp137_;
			gint _tmp137__length1;
			WidgetsPasswordButton* _tmp150_;
			WidgetsEntry* _tmp151_;
			const gchar* _tmp152_;
			_tmp136_ = g_strdup ("");
			password = _tmp136_;
			_tmp137_ = _data35_->server_infos;
			_tmp137__length1 = _data35_->server_infos_length1;
			if (_tmp137__length1 > 2) {
				gchar** _tmp138_;
				gint _tmp138__length1;
				const gchar* _tmp139_;
				gchar** _tmp140_;
				gint _tmp140__length1;
				const gchar* _tmp141_;
				gchar** _tmp142_;
				gint _tmp142__length1;
				const gchar* _tmp143_;
				gchar* _tmp144_;
				_tmp138_ = _data35_->server_infos;
				_tmp138__length1 = _data35_->server_infos_length1;
				_tmp139_ = _tmp138_[0];
				_tmp140_ = _data35_->server_infos;
				_tmp140__length1 = _data35_->server_infos_length1;
				_tmp141_ = _tmp140_[1];
				_tmp142_ = _data35_->server_infos;
				_tmp142__length1 = _data35_->server_infos_length1;
				_tmp143_ = _tmp142_[2];
				_tmp144_ = utils_lookup_password (_tmp139_, _tmp141_, _tmp143_);
				_g_free0 (password);
				password = _tmp144_;
			} else {
				gchar** _tmp145_;
				gint _tmp145__length1;
				const gchar* _tmp146_;
				gchar** _tmp147_;
				gint _tmp147__length1;
				const gchar* _tmp148_;
				gchar* _tmp149_;
				_tmp145_ = _data35_->server_infos;
				_tmp145__length1 = _data35_->server_infos_length1;
				_tmp146_ = _tmp145_[0];
				_tmp147_ = _data35_->server_infos;
				_tmp147__length1 = _data35_->server_infos_length1;
				_tmp148_ = _tmp147_[1];
				_tmp149_ = utils_lookup_password (_tmp146_, _tmp148_, NULL);
				_g_free0 (password);
				password = _tmp149_;
			}
			_tmp150_ = self->password_button;
			_tmp151_ = _tmp150_->entry;
			_tmp152_ = password;
			gtk_entry_set_text ((GtkEntry*) _tmp151_, _tmp152_);
			_g_free0 (password);
		}
		_tmp153_ = password_label;
		_tmp154_ = self->password_button;
		_tmp155_ = user_label;
		_tmp156_ = grid;
		widgets_remote_server_dialog_create_follow_key_row (self, _tmp153_, (GtkWidget*) _tmp154_, _ ("Password:"), _tmp155_, _tmp156_, "preference_entry");
		_tmp157_ = (GtkLabel*) gtk_label_new (NULL);
		g_object_ref_sink (_tmp157_);
		file_label = _tmp157_;
		_tmp158_ = widgets_file_button_new ();
		g_object_ref_sink (_tmp158_);
		_g_object_unref0 (self->file_button);
		self->file_button = _tmp158_;
		_tmp159_ = _data35_->server_infos;
		_tmp159__length1 = _data35_->server_infos_length1;
		if (_tmp159_ != NULL) {
			{
				gchar* _tmp160_ = NULL;
				const gchar* _tmp161_;
				gchar* _tmp162_;
				WidgetsFileButton* _tmp163_;
				WidgetsEntry* _tmp164_;
				_tmp161_ = self->server_info;
				_tmp162_ = g_key_file_get_value (config_file, _tmp161_, "PrivateKey", &_inner_error0_);
				_tmp160_ = _tmp162_;
				if (G_UNLIKELY (_inner_error0_ != NULL)) {
					if (_inner_error0_->domain == G_KEY_FILE_ERROR) {
						goto __catch1_g_key_file_error;
					}
					_g_object_unref0 (file_label);
					_g_object_unref0 (password_label);
					_g_object_unref0 (user_label);
					_g_object_unref0 (address_box);
					_g_object_unref0 (port_label);
					_g_object_unref0 (address_label);
					_g_object_unref0 (name_label);
					_g_object_unref0 (grid);
					_g_object_unref0 (content_box);
					_g_object_unref0 (close_button);
					_g_object_unref0 (title_label);
					_g_object_unref0 (spacing_box);
					_g_object_unref0 (overlay);
					_g_object_unref0 (event_area);
					_g_object_unref0 (top_box);
					block35_data_unref (_data35_);
					_data35_ = NULL;
					label_names = (_vala_array_free (label_names, label_names_length1, (GDestroyNotify) g_free), NULL);
					__vala_PangoFontDescription_free0 (font_description);
					g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
					g_clear_error (&_inner_error0_);
					return NULL;
				}
				_tmp163_ = self->file_button;
				_tmp164_ = _tmp163_->entry;
				gtk_entry_set_text ((GtkEntry*) _tmp164_, _tmp160_);
				_g_free0 (_tmp160_);
			}
			goto __finally1;
			__catch1_g_key_file_error:
			{
				gchar* _tmp165_;
				gchar* _tmp166_;
				gboolean _tmp167_;
				g_clear_error (&_inner_error0_);
				_tmp165_ = utils_get_default_private_key_path ();
				_tmp166_ = _tmp165_;
				_tmp167_ = g_file_test (_tmp166_, G_FILE_TEST_EXISTS);
				_g_free0 (_tmp166_);
				if (_tmp167_) {
					WidgetsFileButton* _tmp168_;
					WidgetsEntry* _tmp169_;
					gchar* _tmp170_;
					gchar* _tmp171_;
					_tmp168_ = self->file_button;
					_tmp169_ = _tmp168_->entry;
					_tmp170_ = utils_get_default_private_key_path ();
					_tmp171_ = _tmp170_;
					gtk_entry_set_text ((GtkEntry*) _tmp169_, _tmp171_);
					_g_free0 (_tmp171_);
				}
			}
			__finally1:
			if (G_UNLIKELY (_inner_error0_ != NULL)) {
				_g_object_unref0 (file_label);
				_g_object_unref0 (password_label);
				_g_object_unref0 (user_label);
				_g_object_unref0 (address_box);
				_g_object_unref0 (port_label);
				_g_object_unref0 (address_label);
				_g_object_unref0 (name_label);
				_g_object_unref0 (grid);
				_g_object_unref0 (content_box);
				_g_object_unref0 (close_button);
				_g_object_unref0 (title_label);
				_g_object_unref0 (spacing_box);
				_g_object_unref0 (overlay);
				_g_object_unref0 (event_area);
				_g_object_unref0 (top_box);
				block35_data_unref (_data35_);
				_data35_ = NULL;
				goto __catch0_g_error;
			}
		}
		_tmp172_ = file_label;
		_tmp173_ = self->file_button;
		_tmp174_ = password_label;
		_tmp175_ = grid;
		widgets_remote_server_dialog_create_follow_key_row (self, _tmp172_, (GtkWidget*) _tmp173_, _ ("Certificate:"), _tmp174_, _tmp175_, "preference_entry");
		_tmp176_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
		g_object_ref_sink (_tmp176_);
		_g_object_unref0 (self->advanced_options_box);
		self->advanced_options_box = _tmp176_;
		_tmp177_ = (GtkGrid*) gtk_grid_new ();
		g_object_ref_sink (_tmp177_);
		_g_object_unref0 (self->advanced_grid);
		self->advanced_grid = _tmp177_;
		_tmp178_ = self->advanced_grid;
		gtk_widget_set_margin_end ((GtkWidget*) _tmp178_, self->label_margin_left);
		_tmp179_ = content_box;
		_tmp180_ = self->advanced_options_box;
		gtk_box_pack_start (_tmp179_, (GtkWidget*) _tmp180_, FALSE, FALSE, (guint) 0);
		_tmp181_ = (GtkLabel*) gtk_label_new (NULL);
		g_object_ref_sink (_tmp181_);
		group_name_label = _tmp181_;
		_tmp182_ = widgets_entry_new ();
		g_object_ref_sink (_tmp182_);
		_g_object_unref0 (self->groupname_entry);
		self->groupname_entry = _tmp182_;
		_tmp183_ = _data35_->server_infos;
		_tmp183__length1 = _data35_->server_infos_length1;
		if (_tmp183_ != NULL) {
			gchar* _tmp184_ = NULL;
			const gchar* _tmp185_;
			gchar* _tmp186_;
			WidgetsEntry* _tmp187_;
			_tmp185_ = self->server_info;
			_tmp186_ = g_key_file_get_value (config_file, _tmp185_, "GroupName", &_inner_error0_);
			_tmp184_ = _tmp186_;
			if (G_UNLIKELY (_inner_error0_ != NULL)) {
				_g_object_unref0 (group_name_label);
				_g_object_unref0 (file_label);
				_g_object_unref0 (password_label);
				_g_object_unref0 (user_label);
				_g_object_unref0 (address_box);
				_g_object_unref0 (port_label);
				_g_object_unref0 (address_label);
				_g_object_unref0 (name_label);
				_g_object_unref0 (grid);
				_g_object_unref0 (content_box);
				_g_object_unref0 (close_button);
				_g_object_unref0 (title_label);
				_g_object_unref0 (spacing_box);
				_g_object_unref0 (overlay);
				_g_object_unref0 (event_area);
				_g_object_unref0 (top_box);
				block35_data_unref (_data35_);
				_data35_ = NULL;
				goto __catch0_g_error;
			}
			_tmp187_ = self->groupname_entry;
			gtk_entry_set_text ((GtkEntry*) _tmp187_, _tmp184_);
			_g_free0 (_tmp184_);
		}
		_tmp188_ = self->groupname_entry;
		gtk_entry_set_placeholder_text ((GtkEntry*) _tmp188_, _ ("Optional"));
		_tmp189_ = self->groupname_entry;
		gtk_entry_set_width_chars ((GtkEntry*) _tmp189_, 30);
		_tmp190_ = group_name_label;
		_tmp191_ = self->groupname_entry;
		_tmp192_ = self->advanced_grid;
		widgets_remote_server_dialog_create_key_row (self, _tmp190_, (GtkWidget*) _tmp191_, _ ("Group:"), _tmp192_, "preference_entry");
		_tmp193_ = (GtkLabel*) gtk_label_new (NULL);
		g_object_ref_sink (_tmp193_);
		path_label = _tmp193_;
		_tmp194_ = widgets_entry_new ();
		g_object_ref_sink (_tmp194_);
		_g_object_unref0 (self->path_entry);
		self->path_entry = _tmp194_;
		_tmp195_ = _data35_->server_infos;
		_tmp195__length1 = _data35_->server_infos_length1;
		if (_tmp195_ != NULL) {
			gchar* _tmp196_ = NULL;
			const gchar* _tmp197_;
			gchar* _tmp198_;
			WidgetsEntry* _tmp199_;
			_tmp197_ = self->server_info;
			_tmp198_ = g_key_file_get_value (config_file, _tmp197_, "Path", &_inner_error0_);
			_tmp196_ = _tmp198_;
			if (G_UNLIKELY (_inner_error0_ != NULL)) {
				_g_object_unref0 (path_label);
				_g_object_unref0 (group_name_label);
				_g_object_unref0 (file_label);
				_g_object_unref0 (password_label);
				_g_object_unref0 (user_label);
				_g_object_unref0 (address_box);
				_g_object_unref0 (port_label);
				_g_object_unref0 (address_label);
				_g_object_unref0 (name_label);
				_g_object_unref0 (grid);
				_g_object_unref0 (content_box);
				_g_object_unref0 (close_button);
				_g_object_unref0 (title_label);
				_g_object_unref0 (spacing_box);
				_g_object_unref0 (overlay);
				_g_object_unref0 (event_area);
				_g_object_unref0 (top_box);
				block35_data_unref (_data35_);
				_data35_ = NULL;
				goto __catch0_g_error;
			}
			_tmp199_ = self->path_entry;
			gtk_entry_set_text ((GtkEntry*) _tmp199_, _tmp196_);
			_g_free0 (_tmp196_);
		}
		_tmp200_ = self->path_entry;
		gtk_entry_set_placeholder_text ((GtkEntry*) _tmp200_, _ ("Optional"));
		_tmp201_ = path_label;
		_tmp202_ = self->path_entry;
		_tmp203_ = group_name_label;
		_tmp204_ = self->advanced_grid;
		widgets_remote_server_dialog_create_follow_key_row (self, _tmp201_, (GtkWidget*) _tmp202_, _ ("Path:"), _tmp203_, _tmp204_, "preference_entry");
		_tmp205_ = (GtkLabel*) gtk_label_new (NULL);
		g_object_ref_sink (_tmp205_);
		command_label = _tmp205_;
		_tmp206_ = widgets_entry_new ();
		g_object_ref_sink (_tmp206_);
		_g_object_unref0 (self->command_entry);
		self->command_entry = _tmp206_;
		_tmp207_ = _data35_->server_infos;
		_tmp207__length1 = _data35_->server_infos_length1;
		if (_tmp207_ != NULL) {
			gchar* _tmp208_ = NULL;
			const gchar* _tmp209_;
			gchar* _tmp210_;
			WidgetsEntry* _tmp211_;
			_tmp209_ = self->server_info;
			_tmp210_ = g_key_file_get_value (config_file, _tmp209_, "Command", &_inner_error0_);
			_tmp208_ = _tmp210_;
			if (G_UNLIKELY (_inner_error0_ != NULL)) {
				_g_object_unref0 (command_label);
				_g_object_unref0 (path_label);
				_g_object_unref0 (group_name_label);
				_g_object_unref0 (file_label);
				_g_object_unref0 (password_label);
				_g_object_unref0 (user_label);
				_g_object_unref0 (address_box);
				_g_object_unref0 (port_label);
				_g_object_unref0 (address_label);
				_g_object_unref0 (name_label);
				_g_object_unref0 (grid);
				_g_object_unref0 (content_box);
				_g_object_unref0 (close_button);
				_g_object_unref0 (title_label);
				_g_object_unref0 (spacing_box);
				_g_object_unref0 (overlay);
				_g_object_unref0 (event_area);
				_g_object_unref0 (top_box);
				block35_data_unref (_data35_);
				_data35_ = NULL;
				goto __catch0_g_error;
			}
			_tmp211_ = self->command_entry;
			gtk_entry_set_text ((GtkEntry*) _tmp211_, _tmp208_);
			_g_free0 (_tmp208_);
		}
		_tmp212_ = self->command_entry;
		gtk_entry_set_placeholder_text ((GtkEntry*) _tmp212_, _ ("Optional"));
		_tmp213_ = command_label;
		_tmp214_ = self->command_entry;
		_tmp215_ = path_label;
		_tmp216_ = self->advanced_grid;
		widgets_remote_server_dialog_create_follow_key_row (self, _tmp213_, (GtkWidget*) _tmp214_, _ ("Command:"), _tmp215_, _tmp216_, "preference_entry");
		_tmp217_ = (GtkLabel*) gtk_label_new (NULL);
		g_object_ref_sink (_tmp217_);
		encode_label = _tmp217_;
		_tmp218_ = widgets_dropdown_text_button_new ();
		g_object_ref_sink (_tmp218_);
		_g_object_unref0 (self->encode_box);
		self->encode_box = _tmp218_;
		{
			GeeArrayList* _name_list = NULL;
			WidgetsConfigWindow* _tmp219_;
			ConfigConfig* _tmp220_;
			GeeArrayList* _tmp221_;
			gint _name_size = 0;
			GeeArrayList* _tmp222_;
			gint _tmp223_;
			gint _tmp224_;
			gint _name_index = 0;
			_tmp219_ = self->parent_window;
			_tmp220_ = _tmp219_->config;
			_tmp221_ = _tmp220_->encoding_names;
			_name_list = _tmp221_;
			_tmp222_ = _name_list;
			_tmp223_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp222_);
			_tmp224_ = _tmp223_;
			_name_size = _tmp224_;
			_name_index = -1;
			while (TRUE) {
				gint _tmp225_;
				gint _tmp226_;
				gchar* name = NULL;
				GeeArrayList* _tmp227_;
				gpointer _tmp228_;
				WidgetsDropdownTextButton* _tmp229_;
				const gchar* _tmp230_;
				const gchar* _tmp231_;
				_name_index = _name_index + 1;
				_tmp225_ = _name_index;
				_tmp226_ = _name_size;
				if (!(_tmp225_ < _tmp226_)) {
					break;
				}
				_tmp227_ = _name_list;
				_tmp228_ = gee_abstract_list_get ((GeeAbstractList*) _tmp227_, _name_index);
				name = (gchar*) _tmp228_;
				_tmp229_ = self->encode_box;
				_tmp230_ = name;
				_tmp231_ = name;
				gtk_combo_box_text_append ((GtkComboBoxText*) _tmp229_, _tmp230_, _tmp231_);
				_g_free0 (name);
			}
		}
		_tmp232_ = _data35_->server_infos;
		_tmp232__length1 = _data35_->server_infos_length1;
		if (_tmp232_ != NULL) {
			gchar* _tmp233_ = NULL;
			const gchar* _tmp234_;
			gchar* _tmp235_;
			WidgetsDropdownTextButton* _tmp236_;
			WidgetsConfigWindow* _tmp237_;
			ConfigConfig* _tmp238_;
			GeeArrayList* _tmp239_;
			_tmp234_ = self->server_info;
			_tmp235_ = g_key_file_get_value (config_file, _tmp234_, "Encode", &_inner_error0_);
			_tmp233_ = _tmp235_;
			if (G_UNLIKELY (_inner_error0_ != NULL)) {
				_g_object_unref0 (encode_label);
				_g_object_unref0 (command_label);
				_g_object_unref0 (path_label);
				_g_object_unref0 (group_name_label);
				_g_object_unref0 (file_label);
				_g_object_unref0 (password_label);
				_g_object_unref0 (user_label);
				_g_object_unref0 (address_box);
				_g_object_unref0 (port_label);
				_g_object_unref0 (address_label);
				_g_object_unref0 (name_label);
				_g_object_unref0 (grid);
				_g_object_unref0 (content_box);
				_g_object_unref0 (close_button);
				_g_object_unref0 (title_label);
				_g_object_unref0 (spacing_box);
				_g_object_unref0 (overlay);
				_g_object_unref0 (event_area);
				_g_object_unref0 (top_box);
				block35_data_unref (_data35_);
				_data35_ = NULL;
				goto __catch0_g_error;
			}
			_tmp236_ = self->encode_box;
			_tmp237_ = self->parent_window;
			_tmp238_ = _tmp237_->config;
			_tmp239_ = _tmp238_->encoding_names;
			gtk_combo_box_set_active ((GtkComboBox*) _tmp236_, gee_abstract_list_index_of ((GeeAbstractList*) _tmp239_, _tmp233_));
			_g_free0 (_tmp233_);
		} else {
			WidgetsDropdownTextButton* _tmp240_;
			WidgetsConfigWindow* _tmp241_;
			ConfigConfig* _tmp242_;
			GeeArrayList* _tmp243_;
			_tmp240_ = self->encode_box;
			_tmp241_ = self->parent_window;
			_tmp242_ = _tmp241_->config;
			_tmp243_ = _tmp242_->encoding_names;
			gtk_combo_box_set_active ((GtkComboBox*) _tmp240_, gee_abstract_list_index_of ((GeeAbstractList*) _tmp243_, "UTF-8"));
		}
		_tmp244_ = encode_label;
		_tmp245_ = self->encode_box;
		_tmp246_ = command_label;
		_tmp247_ = self->advanced_grid;
		widgets_remote_server_dialog_create_follow_key_row (self, _tmp244_, (GtkWidget*) _tmp245_, _ ("Encoding:"), _tmp246_, _tmp247_, "preference_comboboxtext");
		_tmp248_ = (GtkLabel*) gtk_label_new (NULL);
		g_object_ref_sink (_tmp248_);
		backspace_key_label = _tmp248_;
		_tmp249_ = widgets_dropdown_text_button_new ();
		g_object_ref_sink (_tmp249_);
		_g_object_unref0 (self->backspace_key_box);
		self->backspace_key_box = _tmp249_;
		{
			GeeArrayList* _name_list = NULL;
			WidgetsConfigWindow* _tmp250_;
			ConfigConfig* _tmp251_;
			GeeArrayList* _tmp252_;
			gint _name_size = 0;
			GeeArrayList* _tmp253_;
			gint _tmp254_;
			gint _tmp255_;
			gint _name_index = 0;
			_tmp250_ = self->parent_window;
			_tmp251_ = _tmp250_->config;
			_tmp252_ = _tmp251_->backspace_key_erase_names;
			_name_list = _tmp252_;
			_tmp253_ = _name_list;
			_tmp254_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp253_);
			_tmp255_ = _tmp254_;
			_name_size = _tmp255_;
			_name_index = -1;
			while (TRUE) {
				gint _tmp256_;
				gint _tmp257_;
				gchar* name = NULL;
				GeeArrayList* _tmp258_;
				gpointer _tmp259_;
				WidgetsDropdownTextButton* _tmp260_;
				const gchar* _tmp261_;
				WidgetsConfigWindow* _tmp262_;
				ConfigConfig* _tmp263_;
				GeeHashMap* _tmp264_;
				const gchar* _tmp265_;
				gpointer _tmp266_;
				gchar* _tmp267_;
				_name_index = _name_index + 1;
				_tmp256_ = _name_index;
				_tmp257_ = _name_size;
				if (!(_tmp256_ < _tmp257_)) {
					break;
				}
				_tmp258_ = _name_list;
				_tmp259_ = gee_abstract_list_get ((GeeAbstractList*) _tmp258_, _name_index);
				name = (gchar*) _tmp259_;
				_tmp260_ = self->backspace_key_box;
				_tmp261_ = name;
				_tmp262_ = self->parent_window;
				_tmp263_ = _tmp262_->config;
				_tmp264_ = _tmp263_->erase_map;
				_tmp265_ = name;
				_tmp266_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp264_, _tmp265_);
				_tmp267_ = (gchar*) _tmp266_;
				gtk_combo_box_text_append ((GtkComboBoxText*) _tmp260_, _tmp261_, _tmp267_);
				_g_free0 (_tmp267_);
				_g_free0 (name);
			}
		}
		_tmp268_ = _data35_->server_infos;
		_tmp268__length1 = _data35_->server_infos_length1;
		if (_tmp268_ != NULL) {
			gchar* _tmp269_ = NULL;
			const gchar* _tmp270_;
			gchar* _tmp271_;
			WidgetsDropdownTextButton* _tmp272_;
			WidgetsConfigWindow* _tmp273_;
			ConfigConfig* _tmp274_;
			GeeArrayList* _tmp275_;
			_tmp270_ = self->server_info;
			_tmp271_ = g_key_file_get_value (config_file, _tmp270_, "Backspace", &_inner_error0_);
			_tmp269_ = _tmp271_;
			if (G_UNLIKELY (_inner_error0_ != NULL)) {
				_g_object_unref0 (backspace_key_label);
				_g_object_unref0 (encode_label);
				_g_object_unref0 (command_label);
				_g_object_unref0 (path_label);
				_g_object_unref0 (group_name_label);
				_g_object_unref0 (file_label);
				_g_object_unref0 (password_label);
				_g_object_unref0 (user_label);
				_g_object_unref0 (address_box);
				_g_object_unref0 (port_label);
				_g_object_unref0 (address_label);
				_g_object_unref0 (name_label);
				_g_object_unref0 (grid);
				_g_object_unref0 (content_box);
				_g_object_unref0 (close_button);
				_g_object_unref0 (title_label);
				_g_object_unref0 (spacing_box);
				_g_object_unref0 (overlay);
				_g_object_unref0 (event_area);
				_g_object_unref0 (top_box);
				block35_data_unref (_data35_);
				_data35_ = NULL;
				goto __catch0_g_error;
			}
			_tmp272_ = self->backspace_key_box;
			_tmp273_ = self->parent_window;
			_tmp274_ = _tmp273_->config;
			_tmp275_ = _tmp274_->backspace_key_erase_names;
			gtk_combo_box_set_active ((GtkComboBox*) _tmp272_, gee_abstract_list_index_of ((GeeAbstractList*) _tmp275_, _tmp269_));
			_g_free0 (_tmp269_);
		} else {
			WidgetsDropdownTextButton* _tmp276_;
			WidgetsConfigWindow* _tmp277_;
			ConfigConfig* _tmp278_;
			GeeArrayList* _tmp279_;
			_tmp276_ = self->backspace_key_box;
			_tmp277_ = self->parent_window;
			_tmp278_ = _tmp277_->config;
			_tmp279_ = _tmp278_->backspace_key_erase_names;
			gtk_combo_box_set_active ((GtkComboBox*) _tmp276_, gee_abstract_list_index_of ((GeeAbstractList*) _tmp279_, "ascii-del"));
		}
		_tmp280_ = backspace_key_label;
		_tmp281_ = self->backspace_key_box;
		_tmp282_ = encode_label;
		_tmp283_ = self->advanced_grid;
		widgets_remote_server_dialog_create_follow_key_row (self, _tmp280_, (GtkWidget*) _tmp281_, _ ("Backspace key:"), _tmp282_, _tmp283_, "preference_comboboxtext");
		_tmp284_ = (GtkLabel*) gtk_label_new (NULL);
		g_object_ref_sink (_tmp284_);
		del_key_label = _tmp284_;
		_tmp285_ = widgets_dropdown_text_button_new ();
		g_object_ref_sink (_tmp285_);
		_g_object_unref0 (self->del_key_box);
		self->del_key_box = _tmp285_;
		{
			GeeArrayList* _name_list = NULL;
			WidgetsConfigWindow* _tmp286_;
			ConfigConfig* _tmp287_;
			GeeArrayList* _tmp288_;
			gint _name_size = 0;
			GeeArrayList* _tmp289_;
			gint _tmp290_;
			gint _tmp291_;
			gint _name_index = 0;
			_tmp286_ = self->parent_window;
			_tmp287_ = _tmp286_->config;
			_tmp288_ = _tmp287_->del_key_erase_names;
			_name_list = _tmp288_;
			_tmp289_ = _name_list;
			_tmp290_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp289_);
			_tmp291_ = _tmp290_;
			_name_size = _tmp291_;
			_name_index = -1;
			while (TRUE) {
				gint _tmp292_;
				gint _tmp293_;
				gchar* name = NULL;
				GeeArrayList* _tmp294_;
				gpointer _tmp295_;
				WidgetsDropdownTextButton* _tmp296_;
				const gchar* _tmp297_;
				WidgetsConfigWindow* _tmp298_;
				ConfigConfig* _tmp299_;
				GeeHashMap* _tmp300_;
				const gchar* _tmp301_;
				gpointer _tmp302_;
				gchar* _tmp303_;
				_name_index = _name_index + 1;
				_tmp292_ = _name_index;
				_tmp293_ = _name_size;
				if (!(_tmp292_ < _tmp293_)) {
					break;
				}
				_tmp294_ = _name_list;
				_tmp295_ = gee_abstract_list_get ((GeeAbstractList*) _tmp294_, _name_index);
				name = (gchar*) _tmp295_;
				_tmp296_ = self->del_key_box;
				_tmp297_ = name;
				_tmp298_ = self->parent_window;
				_tmp299_ = _tmp298_->config;
				_tmp300_ = _tmp299_->erase_map;
				_tmp301_ = name;
				_tmp302_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp300_, _tmp301_);
				_tmp303_ = (gchar*) _tmp302_;
				gtk_combo_box_text_append ((GtkComboBoxText*) _tmp296_, _tmp297_, _tmp303_);
				_g_free0 (_tmp303_);
				_g_free0 (name);
			}
		}
		_tmp304_ = _data35_->server_infos;
		_tmp304__length1 = _data35_->server_infos_length1;
		if (_tmp304_ != NULL) {
			gchar* _tmp305_ = NULL;
			const gchar* _tmp306_;
			gchar* _tmp307_;
			WidgetsDropdownTextButton* _tmp308_;
			WidgetsConfigWindow* _tmp309_;
			ConfigConfig* _tmp310_;
			GeeArrayList* _tmp311_;
			_tmp306_ = self->server_info;
			_tmp307_ = g_key_file_get_value (config_file, _tmp306_, "Del", &_inner_error0_);
			_tmp305_ = _tmp307_;
			if (G_UNLIKELY (_inner_error0_ != NULL)) {
				_g_object_unref0 (del_key_label);
				_g_object_unref0 (backspace_key_label);
				_g_object_unref0 (encode_label);
				_g_object_unref0 (command_label);
				_g_object_unref0 (path_label);
				_g_object_unref0 (group_name_label);
				_g_object_unref0 (file_label);
				_g_object_unref0 (password_label);
				_g_object_unref0 (user_label);
				_g_object_unref0 (address_box);
				_g_object_unref0 (port_label);
				_g_object_unref0 (address_label);
				_g_object_unref0 (name_label);
				_g_object_unref0 (grid);
				_g_object_unref0 (content_box);
				_g_object_unref0 (close_button);
				_g_object_unref0 (title_label);
				_g_object_unref0 (spacing_box);
				_g_object_unref0 (overlay);
				_g_object_unref0 (event_area);
				_g_object_unref0 (top_box);
				block35_data_unref (_data35_);
				_data35_ = NULL;
				goto __catch0_g_error;
			}
			_tmp308_ = self->del_key_box;
			_tmp309_ = self->parent_window;
			_tmp310_ = _tmp309_->config;
			_tmp311_ = _tmp310_->del_key_erase_names;
			gtk_combo_box_set_active ((GtkComboBox*) _tmp308_, gee_abstract_list_index_of ((GeeAbstractList*) _tmp311_, _tmp305_));
			_g_free0 (_tmp305_);
		} else {
			WidgetsDropdownTextButton* _tmp312_;
			WidgetsConfigWindow* _tmp313_;
			ConfigConfig* _tmp314_;
			GeeArrayList* _tmp315_;
			_tmp312_ = self->del_key_box;
			_tmp313_ = self->parent_window;
			_tmp314_ = _tmp313_->config;
			_tmp315_ = _tmp314_->del_key_erase_names;
			gtk_combo_box_set_active ((GtkComboBox*) _tmp312_, gee_abstract_list_index_of ((GeeAbstractList*) _tmp315_, "escape-sequence"));
		}
		_tmp316_ = del_key_label;
		_tmp317_ = self->del_key_box;
		_tmp318_ = backspace_key_label;
		_tmp319_ = self->advanced_grid;
		widgets_remote_server_dialog_create_follow_key_row (self, _tmp316_, (GtkWidget*) _tmp317_, _ ("Delete key:"), _tmp318_, _tmp319_, "preference_comboboxtext");
		_tmp320_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
		g_object_ref_sink (_tmp320_);
		_g_object_unref0 (self->server_action_box);
		self->server_action_box = _tmp320_;
		_tmp321_ = widgets_create_link_button (_ ("Advanced options"));
		_g_object_unref0 (self->show_advanced_button);
		self->show_advanced_button = _tmp321_;
		_tmp322_ = self->show_advanced_button;
		g_signal_connect_object ((WidgetsClickEventBox*) _tmp322_, "clicked", (GCallback) ____lambda133__widgets_click_event_box_clicked, self, 0);
		_tmp323_ = self->server_action_box;
		_tmp324_ = self->show_advanced_button;
		gtk_box_pack_start (_tmp323_, (GtkWidget*) _tmp324_, TRUE, TRUE, (guint) 0);
		_tmp325_ = content_box;
		_tmp326_ = self->server_action_box;
		gtk_box_pack_start (_tmp325_, (GtkWidget*) _tmp326_, TRUE, TRUE, (guint) 0);
		_tmp327_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
		g_object_ref_sink (_tmp327_);
		button_box = _tmp327_;
		_tmp328_ = button_box;
		gtk_widget_set_margin_top ((GtkWidget*) _tmp328_, self->action_button_margin_top);
		_tmp329_ = self->parent_window;
		_tmp330_ = _tmp329_->screen_monitor;
		_tmp331_ = widgets_dialog_button_new (_ ("Cancel"), "left", "text", gdk_screen_is_composited (_tmp330_));
		g_object_ref_sink (_tmp331_);
		cancel_button = _tmp331_;
		_tmp332_ = _data35_->server_infos;
		_tmp332__length1 = _data35_->server_infos_length1;
		if (_tmp332_ != NULL) {
			gchar* _tmp333_;
			_tmp333_ = g_strdup (_ ("Save"));
			_g_free0 (button_name);
			button_name = _tmp333_;
		} else {
			gchar* _tmp334_;
			_tmp334_ = g_strdup (_ ("Add"));
			_g_free0 (button_name);
			button_name = _tmp334_;
		}
		_tmp335_ = button_name;
		_tmp336_ = self->parent_window;
		_tmp337_ = _tmp336_->screen_monitor;
		_tmp338_ = widgets_dialog_button_new (_tmp335_, "right", "action", gdk_screen_is_composited (_tmp337_));
		g_object_ref_sink (_tmp338_);
		confirm_button = _tmp338_;
		_tmp339_ = cancel_button;
		g_signal_connect_object ((GtkButton*) _tmp339_, "clicked", (GCallback) ____lambda137__gtk_button_clicked, self, 0);
		g_signal_connect_data ((GtkButton*) confirm_button, "clicked", (GCallback) ____lambda138__gtk_button_clicked, block35_data_ref (_data35_), (GClosureNotify) block35_data_unref, 0);
		tab_order_list = NULL;
		_tmp340_ = cancel_button;
		_tmp341_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp340_, gtk_widget_get_type (), GtkWidget));
		tab_order_list = g_list_append (tab_order_list, _tmp341_);
		_tmp342_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (confirm_button, gtk_widget_get_type (), GtkWidget));
		tab_order_list = g_list_append (tab_order_list, _tmp342_);
		_tmp343_ = button_box;
		gtk_container_set_focus_chain ((GtkContainer*) _tmp343_, tab_order_list);
		_tmp344_ = button_box;
		gtk_container_set_focus_child ((GtkContainer*) _tmp344_, (GtkWidget*) confirm_button);
		_tmp345_ = button_box;
		_tmp346_ = cancel_button;
		gtk_box_pack_start (_tmp345_, (GtkWidget*) _tmp346_, TRUE, TRUE, (guint) 0);
		_tmp347_ = button_box;
		gtk_box_pack_start (_tmp347_, (GtkWidget*) confirm_button, TRUE, TRUE, (guint) 0);
		_tmp348_ = self->box;
		_tmp349_ = button_box;
		gtk_box_pack_start (_tmp348_, (GtkWidget*) _tmp349_, FALSE, FALSE, (guint) 0);
		_tmp350_ = self->box;
		widgets_dialog_add_widget ((WidgetsDialog*) self, (GtkWidget*) _tmp350_);
		(tab_order_list == NULL) ? NULL : (tab_order_list = (_g_list_free__g_object_unref0_ (tab_order_list), NULL));
		_g_object_unref0 (confirm_button);
		_g_free0 (button_name);
		_g_object_unref0 (cancel_button);
		_g_object_unref0 (button_box);
		_g_object_unref0 (del_key_label);
		_g_object_unref0 (backspace_key_label);
		_g_object_unref0 (encode_label);
		_g_object_unref0 (command_label);
		_g_object_unref0 (path_label);
		_g_object_unref0 (group_name_label);
		_g_object_unref0 (file_label);
		_g_object_unref0 (password_label);
		_g_object_unref0 (user_label);
		_g_object_unref0 (address_box);
		_g_object_unref0 (port_label);
		_g_object_unref0 (address_label);
		_g_object_unref0 (name_label);
		_g_object_unref0 (grid);
		_g_object_unref0 (content_box);
		_g_object_unref0 (close_button);
		_g_object_unref0 (title_label);
		_g_object_unref0 (spacing_box);
		_g_object_unref0 (overlay);
		_g_object_unref0 (event_area);
		_g_object_unref0 (top_box);
		block35_data_unref (_data35_);
		_data35_ = NULL;
	}
	goto __finally0;
	__catch0_g_error:
	{
		GError* e = NULL;
		const gchar* _tmp351_;
		e = _inner_error0_;
		_inner_error0_ = NULL;
		_tmp351_ = e->message;
		g_error ("remote_server_dialog.vala:406: %s", _tmp351_);
		_g_error_free0 (e);
	}
	__finally0:
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		label_names = (_vala_array_free (label_names, label_names_length1, (GDestroyNotify) g_free), NULL);
		__vala_PangoFontDescription_free0 (font_description);
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
		g_clear_error (&_inner_error0_);
		return NULL;
	}
	label_names = (_vala_array_free (label_names, label_names_length1, (GDestroyNotify) g_free), NULL);
	__vala_PangoFontDescription_free0 (font_description);
	return self;
}

WidgetsRemoteServerDialog*
widgets_remote_server_dialog_new (WidgetsConfigWindow* window,
                                  GtkWidget* widget,
                                  const gchar* info,
                                  GKeyFile* config_file)
{
	return widgets_remote_server_dialog_construct (WIDGETS_TYPE_REMOTE_SERVER_DIALOG, window, widget, info, config_file);
}

static glong
string_strnlen (gchar* str,
                glong maxlen)
{
	gchar* end = NULL;
	gchar* _tmp0_;
	gchar* _tmp1_;
	glong result;
	_tmp0_ = memchr (str, 0, (gsize) maxlen);
	end = _tmp0_;
	_tmp1_ = end;
	if (_tmp1_ == NULL) {
		result = maxlen;
		return result;
	} else {
		gchar* _tmp2_;
		_tmp2_ = end;
		result = (glong) (_tmp2_ - str);
		return result;
	}
}

static gchar*
string_substring (const gchar* self,
                  glong offset,
                  glong len)
{
	glong string_length = 0L;
	gboolean _tmp0_ = FALSE;
	gchar* _tmp3_;
	gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	if (offset >= ((glong) 0)) {
		_tmp0_ = len >= ((glong) 0);
	} else {
		_tmp0_ = FALSE;
	}
	if (_tmp0_) {
		string_length = string_strnlen ((gchar*) self, offset + len);
	} else {
		gint _tmp1_;
		gint _tmp2_;
		_tmp1_ = strlen (self);
		_tmp2_ = _tmp1_;
		string_length = (glong) _tmp2_;
	}
	if (offset < ((glong) 0)) {
		offset = string_length + offset;
		g_return_val_if_fail (offset >= ((glong) 0), NULL);
	} else {
		g_return_val_if_fail (offset <= string_length, NULL);
	}
	if (len < ((glong) 0)) {
		len = string_length - offset;
	}
	g_return_val_if_fail ((offset + len) <= string_length, NULL);
	_tmp3_ = g_strndup (((gchar*) self) + offset, (gsize) len);
	result = _tmp3_;
	return result;
}

static void
__lambda135_ (WidgetsRemoteServerDialog* self,
              WidgetsConfirmDialog* w)
{
	g_return_if_fail (w != NULL);
	gtk_widget_destroy ((GtkWidget*) self);
}

static void
___lambda135__widgets_confirm_dialog_cancel (WidgetsConfirmDialog* _sender,
                                             gpointer self)
{
	__lambda135_ ((WidgetsRemoteServerDialog*) self, _sender);
}

static void
__lambda136_ (WidgetsRemoteServerDialog* self,
              WidgetsConfirmDialog* w)
{
	WidgetsEntry* _tmp0_;
	const gchar* _tmp1_;
	WidgetsEntry* _tmp2_;
	const gchar* _tmp3_;
	g_return_if_fail (w != NULL);
	_tmp0_ = self->address_entry;
	_tmp1_ = gtk_entry_get_text ((GtkEntry*) _tmp0_);
	_tmp2_ = self->user_entry;
	_tmp3_ = gtk_entry_get_text ((GtkEntry*) _tmp2_);
	g_signal_emit (self, widgets_remote_server_dialog_signals[WIDGETS_REMOTE_SERVER_DIALOG_DELETE_SERVER_SIGNAL], 0, _tmp1_, _tmp3_);
	gtk_widget_destroy ((GtkWidget*) self);
}

static void
___lambda136__widgets_confirm_dialog_confirm (WidgetsConfirmDialog* _sender,
                                              gpointer self)
{
	__lambda136_ ((WidgetsRemoteServerDialog*) self, _sender);
}

static void
___lambda134_ (WidgetsRemoteServerDialog* self,
               GdkEventButton* w)
{
	gchar* server_name = NULL;
	WidgetsEntry* _tmp0_;
	const gchar* _tmp1_;
	gchar* _tmp2_;
	const gchar* _tmp3_;
	gint _tmp4_;
	gint _tmp5_;
	WidgetsConfirmDialog* confirm_dialog = NULL;
	const gchar* _tmp10_;
	gchar* _tmp11_;
	gchar* _tmp12_;
	WidgetsConfirmDialog* _tmp13_;
	WidgetsConfirmDialog* _tmp14_;
	WidgetsConfigWindow* _tmp15_;
	g_return_if_fail (w != NULL);
	gtk_widget_hide ((GtkWidget*) self);
	_tmp0_ = self->name_entry;
	_tmp1_ = gtk_entry_get_text ((GtkEntry*) _tmp0_);
	_tmp2_ = g_strdup (_tmp1_);
	server_name = _tmp2_;
	_tmp3_ = server_name;
	_tmp4_ = strlen (_tmp3_);
	_tmp5_ = _tmp4_;
	if (_tmp5_ > self->max_server_name_length) {
		const gchar* _tmp6_;
		gchar* _tmp7_;
		gchar* _tmp8_;
		gchar* _tmp9_;
		_tmp6_ = server_name;
		_tmp7_ = string_substring (_tmp6_, (glong) 0, (glong) self->max_server_name_length);
		_tmp8_ = _tmp7_;
		_tmp9_ = g_strconcat (_tmp8_, " ... ", NULL);
		_g_free0 (server_name);
		server_name = _tmp9_;
		_g_free0 (_tmp8_);
	}
	_tmp10_ = server_name;
	_tmp11_ = g_strdup_printf (_ ("Are you sure you want to delete %s?"), _tmp10_);
	_tmp12_ = _tmp11_;
	_tmp13_ = widgets_confirm_dialog_new (_ ("Delete server"), _tmp12_, _ ("Cancel"), _ ("Delete"));
	g_object_ref_sink (_tmp13_);
	_tmp14_ = _tmp13_;
	_g_free0 (_tmp12_);
	confirm_dialog = _tmp14_;
	_tmp15_ = self->parent_window;
	widgets_dialog_transient_for_window ((WidgetsDialog*) confirm_dialog, _tmp15_);
	g_signal_connect_object (confirm_dialog, "cancel", (GCallback) ___lambda135__widgets_confirm_dialog_cancel, self, 0);
	g_signal_connect_object (confirm_dialog, "confirm", (GCallback) ___lambda136__widgets_confirm_dialog_confirm, self, 0);
	_g_object_unref0 (confirm_dialog);
	_g_free0 (server_name);
}

static void
____lambda134__widgets_click_event_box_clicked (WidgetsClickEventBox* _sender,
                                                GdkEventButton* event,
                                                gpointer self)
{
	___lambda134_ ((WidgetsRemoteServerDialog*) self, event);
}

void
widgets_remote_server_dialog_show_advanced_options (WidgetsRemoteServerDialog* self)
{
	GtkBox* _tmp0_;
	const gchar* _tmp1_;
	GtkBox* _tmp6_;
	GtkGrid* _tmp7_;
	g_return_if_fail (self != NULL);
	gtk_window_set_default_geometry ((GtkWindow*) self, ((WidgetsDialog*) self)->window_init_width, self->window_expand_height);
	_tmp0_ = self->server_action_box;
	utils_destroy_all_children ((GtkContainer*) _tmp0_);
	_tmp1_ = self->server_info;
	if (_tmp1_ != NULL) {
		WidgetsTextButton* _tmp2_;
		WidgetsTextButton* _tmp3_;
		GtkBox* _tmp4_;
		WidgetsTextButton* _tmp5_;
		_tmp2_ = widgets_create_delete_button (_ ("Delete server"));
		_g_object_unref0 (self->delete_server_button);
		self->delete_server_button = _tmp2_;
		_tmp3_ = self->delete_server_button;
		g_signal_connect_object ((WidgetsClickEventBox*) _tmp3_, "clicked", (GCallback) ____lambda134__widgets_click_event_box_clicked, self, 0);
		_tmp4_ = self->server_action_box;
		_tmp5_ = self->delete_server_button;
		gtk_box_pack_start (_tmp4_, (GtkWidget*) _tmp5_, TRUE, TRUE, (guint) 0);
	}
	_tmp6_ = self->advanced_options_box;
	_tmp7_ = self->advanced_grid;
	gtk_box_pack_start (_tmp6_, (GtkWidget*) _tmp7_, FALSE, FALSE, (guint) 0);
	gtk_widget_show_all ((GtkWidget*) self);
}

GtkLabel*
widgets_remote_server_dialog_create_label (WidgetsRemoteServerDialog* self,
                                           const gchar* text)
{
	GtkLabel* label = NULL;
	GtkLabel* _tmp0_;
	GtkStyleContext* _tmp1_;
	GtkLabel* result;
	g_return_val_if_fail (self != NULL, NULL);
	g_return_val_if_fail (text != NULL, NULL);
	_tmp0_ = (GtkLabel*) gtk_label_new (NULL);
	g_object_ref_sink (_tmp0_);
	label = _tmp0_;
	gtk_widget_set_margin_start ((GtkWidget*) label, self->label_margin_left);
	gtk_label_set_text (label, text);
	_tmp1_ = gtk_widget_get_style_context ((GtkWidget*) label);
	gtk_style_context_add_class (_tmp1_, "preference_label");
	gtk_label_set_xalign (label, (gfloat) 0);
	result = label;
	return result;
}

void
widgets_remote_server_dialog_create_key_row (WidgetsRemoteServerDialog* self,
                                             GtkLabel* label,
                                             GtkWidget* widget,
                                             const gchar* name,
                                             GtkGrid* grid,
                                             const gchar* class_name)
{
	GtkStyleContext* _tmp0_;
	GtkStyleContext* _tmp1_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (label != NULL);
	g_return_if_fail (widget != NULL);
	g_return_if_fail (name != NULL);
	g_return_if_fail (grid != NULL);
	g_return_if_fail (class_name != NULL);
	gtk_label_set_text (label, name);
	gtk_widget_set_margin_start ((GtkWidget*) label, self->label_margin_left);
	_tmp0_ = gtk_widget_get_style_context ((GtkWidget*) label);
	gtk_style_context_add_class (_tmp0_, "preference_label");
	_tmp1_ = gtk_widget_get_style_context (widget);
	gtk_style_context_add_class (_tmp1_, class_name);
	gtk_widget_set_margin_start (widget, self->label_margin_left);
	widgets_remote_server_dialog_adjust_option_widgets (self, label, widget);
	widgets_dialog_grid_attach ((WidgetsDialog*) self, grid, (GtkWidget*) label, 0, 0, self->preference_name_width, self->grid_height);
	widgets_dialog_grid_attach_next_to ((WidgetsDialog*) self, grid, widget, (GtkWidget*) label, GTK_POS_RIGHT, self->preference_widget_width, self->grid_height);
}

void
widgets_remote_server_dialog_create_follow_key_row (WidgetsRemoteServerDialog* self,
                                                    GtkLabel* label,
                                                    GtkWidget* widget,
                                                    const gchar* name,
                                                    GtkLabel* previous_label,
                                                    GtkGrid* grid,
                                                    const gchar* class_name)
{
	GtkStyleContext* _tmp0_;
	GtkStyleContext* _tmp1_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (label != NULL);
	g_return_if_fail (widget != NULL);
	g_return_if_fail (name != NULL);
	g_return_if_fail (previous_label != NULL);
	g_return_if_fail (grid != NULL);
	g_return_if_fail (class_name != NULL);
	gtk_label_set_text (label, name);
	gtk_widget_set_margin_start ((GtkWidget*) label, self->label_margin_left);
	_tmp0_ = gtk_widget_get_style_context ((GtkWidget*) label);
	gtk_style_context_add_class (_tmp0_, "preference_label");
	_tmp1_ = gtk_widget_get_style_context (widget);
	gtk_style_context_add_class (_tmp1_, class_name);
	gtk_widget_set_margin_start (widget, self->label_margin_left);
	widgets_remote_server_dialog_adjust_option_widgets (self, label, widget);
	widgets_dialog_grid_attach_next_to ((WidgetsDialog*) self, grid, (GtkWidget*) label, (GtkWidget*) previous_label, GTK_POS_BOTTOM, self->preference_name_width, self->grid_height);
	widgets_dialog_grid_attach_next_to ((WidgetsDialog*) self, grid, widget, (GtkWidget*) label, GTK_POS_RIGHT, self->preference_widget_width, self->grid_height);
}

void
widgets_remote_server_dialog_adjust_option_widgets (WidgetsRemoteServerDialog* self,
                                                    GtkLabel* name_widget,
                                                    GtkWidget* value_widget)
{
	g_return_if_fail (self != NULL);
	g_return_if_fail (name_widget != NULL);
	g_return_if_fail (value_widget != NULL);
	gtk_label_set_xalign (name_widget, (gfloat) 0);
	gtk_widget_set_size_request ((GtkWidget*) name_widget, self->preference_name_width, self->grid_height);
	gtk_widget_set_size_request (value_widget, self->preference_widget_width, self->grid_height);
	gtk_widget_set_hexpand (value_widget, TRUE);
}

static void
g_cclosure_user_marshal_VOID__STRING_STRING_STRING_STRING_INT_STRING_STRING_STRING_STRING_STRING_STRING_STRING (GClosure * closure,
                                                                                                                GValue * return_value,
                                                                                                                guint n_param_values,
                                                                                                                const GValue * param_values,
                                                                                                                gpointer invocation_hint,
                                                                                                                gpointer marshal_data)
{
	typedef void (*GMarshalFunc_VOID__STRING_STRING_STRING_STRING_INT_STRING_STRING_STRING_STRING_STRING_STRING_STRING) (gpointer data1, const char* arg_1, const char* arg_2, const char* arg_3, const char* arg_4, gint arg_5, const char* arg_6, const char* arg_7, const char* arg_8, const char* arg_9, const char* arg_10, const char* arg_11, const char* arg_12, gpointer data2);
	register GMarshalFunc_VOID__STRING_STRING_STRING_STRING_INT_STRING_STRING_STRING_STRING_STRING_STRING_STRING callback;
	register GCClosure * cc;
	register gpointer data1;
	register gpointer data2;
	cc = (GCClosure *) closure;
	g_return_if_fail (n_param_values == 13);
	if (G_CCLOSURE_SWAP_DATA (closure)) {
		data1 = closure->data;
		data2 = param_values->data[0].v_pointer;
	} else {
		data1 = param_values->data[0].v_pointer;
		data2 = closure->data;
	}
	callback = (GMarshalFunc_VOID__STRING_STRING_STRING_STRING_INT_STRING_STRING_STRING_STRING_STRING_STRING_STRING) (marshal_data ? marshal_data : cc->callback);
	callback (data1, g_value_get_string (param_values + 1), g_value_get_string (param_values + 2), g_value_get_string (param_values + 3), g_value_get_string (param_values + 4), g_value_get_int (param_values + 5), g_value_get_string (param_values + 6), g_value_get_string (param_values + 7), g_value_get_string (param_values + 8), g_value_get_string (param_values + 9), g_value_get_string (param_values + 10), g_value_get_string (param_values + 11), g_value_get_string (param_values + 12), data2);
}

static void
g_cclosure_user_marshal_VOID__STRING_STRING (GClosure * closure,
                                             GValue * return_value,
                                             guint n_param_values,
                                             const GValue * param_values,
                                             gpointer invocation_hint,
                                             gpointer marshal_data)
{
	typedef void (*GMarshalFunc_VOID__STRING_STRING) (gpointer data1, const char* arg_1, const char* arg_2, gpointer data2);
	register GMarshalFunc_VOID__STRING_STRING callback;
	register GCClosure * cc;
	register gpointer data1;
	register gpointer data2;
	cc = (GCClosure *) closure;
	g_return_if_fail (n_param_values == 3);
	if (G_CCLOSURE_SWAP_DATA (closure)) {
		data1 = closure->data;
		data2 = param_values->data[0].v_pointer;
	} else {
		data1 = param_values->data[0].v_pointer;
		data2 = closure->data;
	}
	callback = (GMarshalFunc_VOID__STRING_STRING) (marshal_data ? marshal_data : cc->callback);
	callback (data1, g_value_get_string (param_values + 1), g_value_get_string (param_values + 2), data2);
}

static void
widgets_remote_server_dialog_class_init (WidgetsRemoteServerDialogClass * klass,
                                         gpointer klass_data)
{
	widgets_remote_server_dialog_parent_class = g_type_class_peek_parent (klass);
	G_OBJECT_CLASS (klass)->finalize = widgets_remote_server_dialog_finalize;
	widgets_remote_server_dialog_signals[WIDGETS_REMOTE_SERVER_DIALOG_ADD_SERVER_SIGNAL] = g_signal_new ("add-server", WIDGETS_TYPE_REMOTE_SERVER_DIALOG, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__STRING_STRING_STRING_STRING_INT_STRING_STRING_STRING_STRING_STRING_STRING_STRING, G_TYPE_NONE, 12, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INT, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING);
	widgets_remote_server_dialog_signals[WIDGETS_REMOTE_SERVER_DIALOG_EDIT_SERVER_SIGNAL] = g_signal_new ("edit-server", WIDGETS_TYPE_REMOTE_SERVER_DIALOG, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__STRING_STRING_STRING_STRING_INT_STRING_STRING_STRING_STRING_STRING_STRING_STRING, G_TYPE_NONE, 12, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INT, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING);
	widgets_remote_server_dialog_signals[WIDGETS_REMOTE_SERVER_DIALOG_DELETE_SERVER_SIGNAL] = g_signal_new ("delete-server", WIDGETS_TYPE_REMOTE_SERVER_DIALOG, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__STRING_STRING, G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_STRING);
}

static void
widgets_remote_server_dialog_instance_init (WidgetsRemoteServerDialog * self,
                                            gpointer klass)
{
	self->action_button_margin_top = 20;
	self->font_size = 11;
	self->grid_height = 24;
	self->label_margin_left = 14;
	self->max_server_name_length = 50;
	self->port_label_margin_left = 21;
	self->preference_margin_end = 20;
	self->preference_margin_start = 20;
	self->preference_margin_top = 10;
	self->preference_name_margin_left = 10;
	self->preference_name_width = 0;
	self->preference_widget_width = 100;
}

static void
widgets_remote_server_dialog_finalize (GObject * obj)
{
	WidgetsRemoteServerDialog * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIDGETS_TYPE_REMOTE_SERVER_DIALOG, WidgetsRemoteServerDialog);
	_g_object_unref0 (self->advanced_options_box);
	_g_object_unref0 (self->box);
	_g_object_unref0 (self->server_action_box);
	_g_object_unref0 (self->backspace_key_box);
	_g_object_unref0 (self->del_key_box);
	_g_object_unref0 (self->encode_box);
	_g_object_unref0 (self->advanced_grid);
	_g_object_unref0 (self->focus_widget);
	_g_object_unref0 (self->parent_window);
	_g_object_unref0 (self->address_entry);
	_g_object_unref0 (self->command_entry);
	_g_object_unref0 (self->groupname_entry);
	_g_object_unref0 (self->name_entry);
	_g_object_unref0 (self->path_entry);
	_g_object_unref0 (self->user_entry);
	_g_object_unref0 (self->file_button);
	_g_object_unref0 (self->password_button);
	_g_object_unref0 (self->port_spinbutton);
	_g_object_unref0 (self->delete_server_button);
	_g_object_unref0 (self->show_advanced_button);
	_g_free0 (self->server_info);
	G_OBJECT_CLASS (widgets_remote_server_dialog_parent_class)->finalize (obj);
}

static GType
widgets_remote_server_dialog_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WidgetsRemoteServerDialogClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) widgets_remote_server_dialog_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WidgetsRemoteServerDialog), 0, (GInstanceInitFunc) widgets_remote_server_dialog_instance_init, NULL };
	GType widgets_remote_server_dialog_type_id;
	widgets_remote_server_dialog_type_id = g_type_register_static (WIDGETS_TYPE_DIALOG, "WidgetsRemoteServerDialog", &g_define_type_info, 0);
	return widgets_remote_server_dialog_type_id;
}

GType
widgets_remote_server_dialog_get_type (void)
{
	static volatile gsize widgets_remote_server_dialog_type_id__once = 0;
	if (g_once_init_enter (&widgets_remote_server_dialog_type_id__once)) {
		GType widgets_remote_server_dialog_type_id;
		widgets_remote_server_dialog_type_id = widgets_remote_server_dialog_get_type_once ();
		g_once_init_leave (&widgets_remote_server_dialog_type_id__once, widgets_remote_server_dialog_type_id);
	}
	return widgets_remote_server_dialog_type_id__once;
}

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

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

static inline gpointer
_vala_memdup2 (gconstpointer mem,
               gsize byte_size)
{
	gpointer new_mem;
	if (mem && byte_size != 0) {
		new_mem = g_malloc (byte_size);
		memcpy (new_mem, mem, byte_size);
	} else {
		new_mem = NULL;
	}
	return new_mem;
}

