+struct _EvProperties {
+ GObject base_instance;
+
+ GladeXML *xml;
+
+ GtkWidget *dialog;
+ GtkWidget *fonts_treeview;
+ GtkWidget *fonts_progress_label;
+ GtkWidget *font_page;
+
+ EvDocument *document;
+};
+
+struct _EvPropertiesClass {
+ GObjectClass base_class;
+};
+
+G_DEFINE_TYPE (EvProperties, ev_properties, G_TYPE_OBJECT)
+
+static void
+ev_properties_dispose (GObject *object)
+{
+ EvProperties *properties = EV_PROPERTIES (object);
+
+ if (properties->xml) {
+ g_object_unref (properties->xml);
+ properties->xml = NULL;
+ }
+}
+
+static void
+ev_properties_class_init (EvPropertiesClass *properties_class)
+{
+ GObjectClass *g_object_class = G_OBJECT_CLASS (properties_class);
+
+ g_object_class->dispose = ev_properties_dispose;
+}
+
+static void
+dialog_destroy_cb (GtkWidget *dialog, EvProperties *properties)
+{
+ g_object_unref (properties);
+}
+
+static void
+ev_properties_init (EvProperties *properties)
+{
+ GladeXML *xml;
+ GtkCellRenderer *renderer;
+ GtkTreeViewColumn *column;
+
+ /* Create a new GladeXML object from XML file glade_file */
+ xml = glade_xml_new (DATADIR "/evince-properties.glade", NULL, NULL);
+ properties->xml = xml;
+ g_assert (xml != NULL);
+
+ properties->dialog = glade_xml_get_widget (xml, "properties_dialog");
+ properties->fonts_treeview = glade_xml_get_widget (xml, "fonts_treeview");
+ properties->fonts_progress_label = glade_xml_get_widget (xml, "font_progress_label");
+ properties->font_page = glade_xml_get_widget (xml, "fonts_page");
+
+ column = gtk_tree_view_column_new ();
+ gtk_tree_view_column_set_expand (GTK_TREE_VIEW_COLUMN (column), TRUE);
+ gtk_tree_view_append_column (GTK_TREE_VIEW (properties->fonts_treeview), column);
+
+ renderer = gtk_cell_renderer_text_new ();
+ gtk_tree_view_column_pack_start (GTK_TREE_VIEW_COLUMN (column), renderer, FALSE);
+ gtk_tree_view_column_set_title (GTK_TREE_VIEW_COLUMN (column), _("Name"));
+ gtk_tree_view_column_set_attributes (GTK_TREE_VIEW_COLUMN (column), renderer,
+ "text", EV_DOCUMENT_FONTS_COLUMN_NAME,
+ NULL);
+
+ g_signal_connect (properties->dialog, "destroy",
+ G_CALLBACK (dialog_destroy_cb), properties);
+}
+