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

/* -*- Mode: Vala; indent-tabs-mode: nil; tab-width: 2 -*- */
/*
    This file is part of Déjà Dup.
    © 2008–2010 Michael Terry <mike@mterry.name>

    Déjà Dup is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    Déjà Dup 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 Déjà Dup.  If not, see <http://www.gnu.org/licenses/>.
*/

#include <glib.h>
#include <glib-object.h>
#include <gtk/gtk.h>
#include <widgets.h>
#include <glib/gi18n-lib.h>
#include <common.h>
#include <whacks.h>
#include <stdlib.h>
#include <string.h>


#define TYPE_PREFERENCES_DIALOG (preferences_dialog_get_type ())
#define PREFERENCES_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PREFERENCES_DIALOG, PreferencesDialog))
#define PREFERENCES_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PREFERENCES_DIALOG, PreferencesDialogClass))
#define IS_PREFERENCES_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PREFERENCES_DIALOG))
#define IS_PREFERENCES_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PREFERENCES_DIALOG))
#define PREFERENCES_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PREFERENCES_DIALOG, PreferencesDialogClass))

typedef struct _PreferencesDialog PreferencesDialog;
typedef struct _PreferencesDialogClass PreferencesDialogClass;
typedef struct _PreferencesDialogPrivate PreferencesDialogPrivate;
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))

struct _PreferencesDialog {
	GtkDialog parent_instance;
	PreferencesDialogPrivate * priv;
};

struct _PreferencesDialogClass {
	GtkDialogClass parent_class;
};

struct _PreferencesDialogPrivate {
	GtkSizeGroup* label_sizes;
	GtkSizeGroup* button_sizes;
	DejaDupToggleGroup* periodic_toggle;
};


static gpointer preferences_dialog_parent_class = NULL;

GType preferences_dialog_get_type (void) G_GNUC_CONST;
#define PREFERENCES_DIALOG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_PREFERENCES_DIALOG, PreferencesDialogPrivate))
enum  {
	PREFERENCES_DIALOG_DUMMY_PROPERTY
};
PreferencesDialog* preferences_dialog_new (GtkWindow* parent);
PreferencesDialog* preferences_dialog_construct (GType object_type, GtkWindow* parent);
static void preferences_dialog_handle_response (PreferencesDialog* self, GtkDialog* dlg, gint response);
static GObject * preferences_dialog_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
static void _preferences_dialog_handle_response_gtk_dialog_response (GtkDialog* _sender, gint response_id, gpointer self);
static void preferences_dialog_finalize (GObject* obj);


PreferencesDialog* preferences_dialog_construct (GType object_type, GtkWindow* parent) {
	PreferencesDialog * self = NULL;
	self = (PreferencesDialog*) g_object_new (object_type, NULL);
	gtk_window_set_transient_for ((GtkWindow*) self, parent);
	return self;
}


PreferencesDialog* preferences_dialog_new (GtkWindow* parent) {
	return preferences_dialog_construct (TYPE_PREFERENCES_DIALOG, parent);
}


static void preferences_dialog_handle_response (PreferencesDialog* self, GtkDialog* dlg, gint response) {
	g_return_if_fail (self != NULL);
	g_return_if_fail (dlg != NULL);
	switch (response) {
		case GTK_RESPONSE_HELP:
		{
			deja_dup_show_uri ((GtkWindow*) dlg, "ghelp:deja-dup#prefs");
			break;
		}
		default:
		{
			gtk_main_quit ();
			break;
		}
	}
}


static void _preferences_dialog_handle_response_gtk_dialog_response (GtkDialog* _sender, gint response_id, gpointer self) {
	preferences_dialog_handle_response (self, _sender, response_id);
}


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


static GObject * preferences_dialog_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) {
	GObject * obj;
	GObjectClass * parent_class;
	PreferencesDialog * self;
	const gchar* _tmp0_ = NULL;
	GtkNotebook* _tmp1_ = NULL;
	GtkNotebook* notebook;
	GtkWidget* w = NULL;
	GtkVBox* page_box = NULL;
	GtkHBox* hbox = NULL;
	GtkLabel* label = NULL;
	GtkTable* table = NULL;
	gint row = 0;
	GtkVBox* _tmp2_ = NULL;
	GtkVBox* _tmp3_;
	GtkTable* _tmp4_ = NULL;
	GtkTable* _tmp5_;
	GtkSizeGroup* _tmp6_ = NULL;
	GtkSizeGroup* _tmp7_;
	GtkSizeGroup* _tmp8_ = NULL;
	GtkSizeGroup* _tmp9_;
	DejaDupConfigLocation* _tmp10_ = NULL;
	DejaDupConfigLocation* location;
	const gchar* _tmp11_ = NULL;
	GtkLabel* _tmp12_ = NULL;
	GtkLabel* _tmp13_;
	GtkEventBox* _tmp14_ = NULL;
	const gchar* _tmp15_ = NULL;
	DejaDupConfigBool* _tmp16_ = NULL;
	GtkWidget* _tmp17_;
	DejaDupConfigLabelPolicy* _tmp18_ = NULL;
	GtkWidget* _tmp19_;
	GtkHBox* _tmp20_ = NULL;
	GtkHBox* _tmp21_;
	const gchar* _tmp22_ = NULL;
	GtkRequisition req = {0};
	GtkRequisition hidden = {0};
	GtkRequisition _tmp23_ = {0};
	GtkRequisition _tmp24_ = {0};
	GtkRequisition _tmp25_ = {0};
	GtkVBox* _tmp26_ = NULL;
	GtkVBox* _tmp27_;
	GtkTable* _tmp28_ = NULL;
	GtkTable* _tmp29_;
	GtkSizeGroup* _tmp30_ = NULL;
	GtkSizeGroup* _tmp31_;
	GtkSizeGroup* _tmp32_ = NULL;
	GtkSizeGroup* _tmp33_;
	DejaDupConfigList* _tmp34_ = NULL;
	GtkWidget* _tmp35_;
	const gchar* _tmp36_ = NULL;
	GtkLabel* _tmp37_ = NULL;
	GtkLabel* _tmp38_;
	DejaDupConfigList* _tmp39_ = NULL;
	GtkWidget* _tmp40_;
	const gchar* _tmp41_ = NULL;
	GtkLabel* _tmp42_ = NULL;
	GtkLabel* _tmp43_;
	const gchar* _tmp44_ = NULL;
	GtkVBox* _tmp45_ = NULL;
	GtkVBox* _tmp46_;
	GtkTable* _tmp47_ = NULL;
	GtkTable* _tmp48_;
	GtkSizeGroup* _tmp49_ = NULL;
	GtkSizeGroup* _tmp50_;
	GtkSizeGroup* _tmp51_ = NULL;
	GtkSizeGroup* _tmp52_;
	const gchar* _tmp53_ = NULL;
	DejaDupConfigBool* _tmp54_ = NULL;
	DejaDupConfigBool* periodic_check;
	DejaDupConfigPeriod* _tmp55_ = NULL;
	GtkWidget* _tmp56_;
	const gchar* _tmp57_ = NULL;
	gchar* _tmp58_ = NULL;
	gchar* _tmp59_;
	GtkLabel* _tmp60_ = NULL;
	GtkLabel* _tmp61_;
	DejaDupToggleGroup* _tmp62_ = NULL;
	DejaDupToggleGroup* _tmp63_;
	DejaDupConfigDelete* _tmp64_ = NULL;
	GtkWidget* _tmp65_;
	const gchar* _tmp66_ = NULL;
	gchar* _tmp67_ = NULL;
	gchar* _tmp68_;
	GtkLabel* _tmp69_ = NULL;
	GtkLabel* _tmp70_;
	DejaDupConfigLabelPolicy* _tmp71_ = NULL;
	GtkWidget* _tmp72_;
	GtkHBox* _tmp73_ = NULL;
	GtkHBox* _tmp74_;
	const gchar* _tmp75_ = NULL;
	GtkWidget* _tmp76_ = NULL;
	GtkBox* _tmp77_;
	GtkBox* area;
	parent_class = G_OBJECT_CLASS (preferences_dialog_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = PREFERENCES_DIALOG (obj);
	_tmp0_ = _ ("Déjà Dup Preferences");
	g_object_set ((GObject*) self, "title", _tmp0_, "has-separator", FALSE, NULL);
	gtk_dialog_add_buttons ((GtkDialog*) self, GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE, GTK_STOCK_HELP, GTK_RESPONSE_HELP, NULL);
	g_signal_connect_object ((GtkDialog*) self, "response", (GCallback) _preferences_dialog_handle_response_gtk_dialog_response, self, 0);
	_tmp1_ = (GtkNotebook*) gtk_notebook_new ();
	notebook = g_object_ref_sink (_tmp1_);
	_tmp2_ = (GtkVBox*) gtk_vbox_new (FALSE, 0);
	_tmp3_ = g_object_ref_sink (_tmp2_);
	_g_object_unref0 (page_box);
	page_box = _tmp3_;
	gtk_container_set_border_width ((GtkContainer*) page_box, (guint) 6);
	_tmp4_ = (GtkTable*) gtk_table_new ((guint) 0, (guint) 0, FALSE);
	_tmp5_ = g_object_ref_sink (_tmp4_);
	_g_object_unref0 (table);
	table = _tmp5_;
	g_object_set (table, "row-spacing", (guint) 6, NULL);
	g_object_set (table, "column-spacing", (guint) 6, NULL);
	row = 0;
	_tmp6_ = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
	_tmp7_ = _tmp6_;
	_g_object_unref0 (self->priv->label_sizes);
	self->priv->label_sizes = _tmp7_;
	_tmp8_ = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
	_tmp9_ = _tmp8_;
	_g_object_unref0 (self->priv->button_sizes);
	self->priv->button_sizes = _tmp9_;
	_tmp10_ = deja_dup_config_location_new (self->priv->label_sizes);
	location = g_object_ref_sink (_tmp10_);
	_tmp11_ = _ ("_Backup location:");
	_tmp12_ = (GtkLabel*) gtk_label_new (_tmp11_);
	_tmp13_ = g_object_ref_sink (_tmp12_);
	_g_object_unref0 (label);
	label = _tmp13_;
	g_object_set ((GObject*) label, "mnemonic-widget", location, "use-underline", TRUE, "xalign", 0.0f, NULL);
	gtk_size_group_add_widget (self->priv->label_sizes, (GtkWidget*) label);
	gtk_table_attach (table, (GtkWidget*) label, (guint) 0, (guint) 1, (guint) row, (guint) (row + 1), GTK_FILL, GTK_FILL, (guint) 0, (guint) 0);
	gtk_table_attach (table, (GtkWidget*) location, (guint) 1, (guint) 2, (guint) row, (guint) (row + 1), GTK_FILL | GTK_EXPAND, GTK_FILL, (guint) 0, (guint) 0);
	row = row + 1;
	_tmp14_ = deja_dup_config_location_get_extras (location);
	gtk_table_attach (table, (GtkWidget*) _tmp14_, (guint) 0, (guint) 2, (guint) row, (guint) (row + 1), GTK_FILL | GTK_EXPAND, GTK_FILL, (guint) 0, (guint) 0);
	row = row + 1;
	_tmp15_ = _ ("_Encrypt backup files");
	_tmp16_ = deja_dup_config_bool_new (DEJA_DUP_ENCRYPT_KEY, _tmp15_, "");
	_tmp17_ = (GtkWidget*) g_object_ref_sink (_tmp16_);
	_g_object_unref0 (w);
	w = _tmp17_;
	gtk_table_attach (table, w, (guint) 0, (guint) 3, (guint) row, (guint) (row + 1), GTK_FILL | GTK_EXPAND, GTK_FILL, (guint) 0, (guint) 0);
	row = row + 1;
	_tmp18_ = deja_dup_config_label_policy_new ();
	_tmp19_ = (GtkWidget*) g_object_ref_sink (_tmp18_);
	_g_object_unref0 (w);
	w = _tmp19_;
	_tmp20_ = (GtkHBox*) gtk_hbox_new (FALSE, 0);
	_tmp21_ = g_object_ref_sink (_tmp20_);
	_g_object_unref0 (hbox);
	hbox = _tmp21_;
	gtk_container_set_border_width ((GtkContainer*) hbox, (guint) 3);
	gtk_container_add ((GtkContainer*) hbox, w);
	gtk_box_pack_start ((GtkBox*) page_box, (GtkWidget*) table, TRUE, TRUE, (guint) 0);
	gtk_box_pack_end ((GtkBox*) page_box, (GtkWidget*) hbox, FALSE, FALSE, (guint) 0);
	gtk_notebook_append_page (notebook, (GtkWidget*) page_box, NULL);
	_tmp22_ = _ ("Storage");
	gtk_notebook_set_tab_label_text (notebook, (GtkWidget*) page_box, _tmp22_);
	gtk_widget_show_all ((GtkWidget*) page_box);
	hacks_get_natural_size ((GtkWidget*) page_box, &_tmp23_);
	req = _tmp23_;
	_tmp25_ = (deja_dup_config_location_hidden_size (location, &_tmp24_), _tmp24_);
	hidden = _tmp25_;
	req.width = req.width + hidden.width;
	req.height = req.height + hidden.height;
	gtk_widget_set_size_request ((GtkWidget*) page_box, req.width, req.height);
	_tmp26_ = (GtkVBox*) gtk_vbox_new (FALSE, 0);
	_tmp27_ = g_object_ref_sink (_tmp26_);
	_g_object_unref0 (page_box);
	page_box = _tmp27_;
	g_object_set ((GObject*) page_box, "border-width", 3, NULL);
	_tmp28_ = (GtkTable*) gtk_table_new ((guint) 0, (guint) 3, FALSE);
	_tmp29_ = g_object_ref_sink (_tmp28_);
	_g_object_unref0 (table);
	table = _tmp29_;
	row = 0;
	_tmp30_ = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
	_tmp31_ = _tmp30_;
	_g_object_unref0 (self->priv->label_sizes);
	self->priv->label_sizes = _tmp31_;
	_tmp32_ = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
	_tmp33_ = _tmp32_;
	_g_object_unref0 (self->priv->button_sizes);
	self->priv->button_sizes = _tmp33_;
	_tmp34_ = deja_dup_config_list_new (DEJA_DUP_INCLUDE_LIST_KEY, self->priv->button_sizes, "");
	_tmp35_ = (GtkWidget*) g_object_ref_sink (_tmp34_);
	_g_object_unref0 (w);
	w = _tmp35_;
	gtk_widget_set_size_request (w, 300, 80);
	_tmp36_ = _ ("I_nclude files in folders:");
	_tmp37_ = (GtkLabel*) gtk_label_new (_tmp36_);
	_tmp38_ = g_object_ref_sink (_tmp37_);
	_g_object_unref0 (label);
	label = _tmp38_;
	g_object_set ((GObject*) label, "mnemonic-widget", w, "use-underline", TRUE, "wrap", TRUE, "width-request", 150, "xalign", 0.0f, "yalign", 0.0f, NULL);
	gtk_size_group_add_widget (self->priv->label_sizes, (GtkWidget*) label);
	gtk_table_attach (table, (GtkWidget*) label, (guint) 0, (guint) 1, (guint) row, (guint) (row + 1), GTK_FILL, GTK_FILL, (guint) 3, (guint) 3);
	gtk_table_attach (table, w, (guint) 1, (guint) 3, (guint) row, (guint) (row + 1), GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_EXPAND, (guint) 3, (guint) 3);
	row = row + 1;
	_tmp39_ = deja_dup_config_list_new (DEJA_DUP_EXCLUDE_LIST_KEY, self->priv->button_sizes, "");
	_tmp40_ = (GtkWidget*) g_object_ref_sink (_tmp39_);
	_g_object_unref0 (w);
	w = _tmp40_;
	gtk_widget_set_size_request (w, 300, 120);
	_tmp41_ = _ ("E_xcept files in folders:");
	_tmp42_ = (GtkLabel*) gtk_label_new (_tmp41_);
	_tmp43_ = g_object_ref_sink (_tmp42_);
	_g_object_unref0 (label);
	label = _tmp43_;
	g_object_set ((GObject*) label, "mnemonic-widget", w, "use-underline", TRUE, "wrap", TRUE, "width-request", 150, "xalign", 0.0f, "yalign", 0.0f, NULL);
	gtk_size_group_add_widget (self->priv->label_sizes, (GtkWidget*) label);
	gtk_table_attach (table, (GtkWidget*) label, (guint) 0, (guint) 1, (guint) row, (guint) (row + 1), GTK_FILL, GTK_FILL, (guint) 3, (guint) 3);
	gtk_table_attach (table, w, (guint) 1, (guint) 3, (guint) row, (guint) (row + 1), GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_EXPAND, (guint) 3, (guint) 3);
	row = row + 1;
	gtk_box_pack_start ((GtkBox*) page_box, (GtkWidget*) table, TRUE, TRUE, (guint) 0);
	gtk_notebook_append_page (notebook, (GtkWidget*) page_box, NULL);
	_tmp44_ = _ ("Files");
	gtk_notebook_set_tab_label_text (notebook, (GtkWidget*) page_box, _tmp44_);
	_tmp45_ = (GtkVBox*) gtk_vbox_new (FALSE, 0);
	_tmp46_ = g_object_ref_sink (_tmp45_);
	_g_object_unref0 (page_box);
	page_box = _tmp46_;
	g_object_set ((GObject*) page_box, "border-width", 3, NULL);
	_tmp47_ = (GtkTable*) gtk_table_new ((guint) 0, (guint) 3, FALSE);
	_tmp48_ = g_object_ref_sink (_tmp47_);
	_g_object_unref0 (table);
	table = _tmp48_;
	row = 0;
	_tmp49_ = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
	_tmp50_ = _tmp49_;
	_g_object_unref0 (self->priv->label_sizes);
	self->priv->label_sizes = _tmp50_;
	_tmp51_ = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
	_tmp52_ = _tmp51_;
	_g_object_unref0 (self->priv->button_sizes);
	self->priv->button_sizes = _tmp52_;
	_tmp53_ = _ ("_Automatically back up on a regular schedule");
	_tmp54_ = deja_dup_config_bool_new (DEJA_DUP_PERIODIC_KEY, _tmp53_, "");
	periodic_check = g_object_ref_sink (_tmp54_);
	gtk_table_attach (table, (GtkWidget*) periodic_check, (guint) 0, (guint) 3, (guint) row, (guint) (row + 1), GTK_FILL | GTK_EXPAND, GTK_FILL, (guint) 3, (guint) 3);
	row = row + 1;
	_tmp55_ = deja_dup_config_period_new (DEJA_DUP_PERIODIC_PERIOD_KEY, "");
	_tmp56_ = (GtkWidget*) g_object_ref_sink (_tmp55_);
	_g_object_unref0 (w);
	w = _tmp56_;
	_tmp57_ = _ ("How _often to back up:");
	_tmp58_ = g_strdup_printf ("    %s", _tmp57_);
	_tmp59_ = _tmp58_;
	_tmp60_ = (GtkLabel*) gtk_label_new (_tmp59_);
	_tmp61_ = g_object_ref_sink (_tmp60_);
	_g_object_unref0 (label);
	label = _tmp61_;
	_g_free0 (_tmp59_);
	g_object_set ((GObject*) label, "mnemonic-widget", w, "use-underline", TRUE, "xalign", 0.0f, NULL);
	gtk_size_group_add_widget (self->priv->label_sizes, (GtkWidget*) label);
	gtk_table_attach (table, (GtkWidget*) label, (guint) 0, (guint) 1, (guint) row, (guint) (row + 1), GTK_FILL, GTK_FILL, (guint) 3, (guint) 3);
	gtk_table_attach (table, w, (guint) 1, (guint) 3, (guint) row, (guint) (row + 1), GTK_FILL | GTK_EXPAND, GTK_FILL, (guint) 3, (guint) 3);
	_tmp62_ = deja_dup_toggle_group_new ((DejaDupTogglable*) periodic_check);
	_tmp63_ = _tmp62_;
	_g_object_unref0 (self->priv->periodic_toggle);
	self->priv->periodic_toggle = _tmp63_;
	deja_dup_toggle_group_add_dependent (self->priv->periodic_toggle, (GtkWidget*) label);
	deja_dup_toggle_group_add_dependent (self->priv->periodic_toggle, w);
	deja_dup_toggle_group_check (self->priv->periodic_toggle);
	row = row + 1;
	_tmp64_ = deja_dup_config_delete_new (DEJA_DUP_DELETE_AFTER_KEY, "");
	_tmp65_ = (GtkWidget*) g_object_ref_sink (_tmp64_);
	_g_object_unref0 (w);
	w = _tmp65_;
	_tmp66_ = _ ("_Keep backups:");
	_tmp67_ = g_strdup_printf ("%s", _tmp66_);
	_tmp68_ = _tmp67_;
	_tmp69_ = (GtkLabel*) gtk_label_new (_tmp68_);
	_tmp70_ = g_object_ref_sink (_tmp69_);
	_g_object_unref0 (label);
	label = _tmp70_;
	_g_free0 (_tmp68_);
	g_object_set ((GObject*) label, "mnemonic-widget", w, "use-underline", TRUE, "xalign", 0.0f, NULL);
	gtk_size_group_add_widget (self->priv->label_sizes, (GtkWidget*) label);
	gtk_table_attach (table, (GtkWidget*) label, (guint) 0, (guint) 1, (guint) row, (guint) (row + 1), GTK_FILL, GTK_FILL, (guint) 3, (guint) 3);
	gtk_table_attach (table, w, (guint) 1, (guint) 3, (guint) row, (guint) (row + 1), GTK_FILL | GTK_EXPAND, GTK_FILL, (guint) 3, (guint) 3);
	row = row + 1;
	_tmp71_ = deja_dup_config_label_policy_new ();
	_tmp72_ = (GtkWidget*) g_object_ref_sink (_tmp71_);
	_g_object_unref0 (w);
	w = _tmp72_;
	_tmp73_ = (GtkHBox*) gtk_hbox_new (FALSE, 0);
	_tmp74_ = g_object_ref_sink (_tmp73_);
	_g_object_unref0 (hbox);
	hbox = _tmp74_;
	gtk_container_set_border_width ((GtkContainer*) hbox, (guint) 3);
	gtk_container_add ((GtkContainer*) hbox, w);
	gtk_box_pack_start ((GtkBox*) page_box, (GtkWidget*) table, TRUE, TRUE, (guint) 0);
	gtk_box_pack_end ((GtkBox*) page_box, (GtkWidget*) hbox, FALSE, FALSE, (guint) 0);
	gtk_notebook_append_page (notebook, (GtkWidget*) page_box, NULL);
	_tmp75_ = _ ("Schedule");
	gtk_notebook_set_tab_label_text (notebook, (GtkWidget*) page_box, _tmp75_);
	_tmp76_ = gtk_dialog_get_content_area ((GtkDialog*) self);
	_tmp77_ = _g_object_ref0 (GTK_BOX (_tmp76_));
	area = _tmp77_;
	gtk_container_add ((GtkContainer*) area, (GtkWidget*) notebook);
	_g_object_unref0 (area);
	_g_object_unref0 (periodic_check);
	_g_object_unref0 (location);
	_g_object_unref0 (table);
	_g_object_unref0 (label);
	_g_object_unref0 (hbox);
	_g_object_unref0 (page_box);
	_g_object_unref0 (w);
	_g_object_unref0 (notebook);
	return obj;
}


static void preferences_dialog_class_init (PreferencesDialogClass * klass) {
	preferences_dialog_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (PreferencesDialogPrivate));
	G_OBJECT_CLASS (klass)->constructor = preferences_dialog_constructor;
	G_OBJECT_CLASS (klass)->finalize = preferences_dialog_finalize;
}


static void preferences_dialog_instance_init (PreferencesDialog * self) {
	self->priv = PREFERENCES_DIALOG_GET_PRIVATE (self);
}


static void preferences_dialog_finalize (GObject* obj) {
	PreferencesDialog * self;
	self = PREFERENCES_DIALOG (obj);
	_g_object_unref0 (self->priv->label_sizes);
	_g_object_unref0 (self->priv->button_sizes);
	_g_object_unref0 (self->priv->periodic_toggle);
	G_OBJECT_CLASS (preferences_dialog_parent_class)->finalize (obj);
}


GType preferences_dialog_get_type (void) {
	static volatile gsize preferences_dialog_type_id__volatile = 0;
	if (g_once_init_enter (&preferences_dialog_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (PreferencesDialogClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) preferences_dialog_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PreferencesDialog), 0, (GInstanceInitFunc) preferences_dialog_instance_init, NULL };
		GType preferences_dialog_type_id;
		preferences_dialog_type_id = g_type_register_static (GTK_TYPE_DIALOG, "PreferencesDialog", &g_define_type_info, 0);
		g_once_init_leave (&preferences_dialog_type_id__volatile, preferences_dialog_type_id);
	}
	return preferences_dialog_type_id__volatile;
}



