From 309a8fb96dd401d07f774c687bda59da77bd41d2 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Campos Date: Wed, 03 Dec 2008 15:45:10 +0000 Subject: Add document URI to properties page. Fixes bug #555376. 2008-12-03 Carlos Garcia Campos * properties/ev-properties-main.c: (ev_properties_get_pages): * properties/ev-properties-view.[ch]: (ev_properties_view_dispose), (ev_properties_view_class_init), (ev_properties_view_set_info), (ev_properties_view_new): * shell/ev-properties-dialog.[ch]: (ev_properties_dialog_set_document): * shell/ev-window.c: (ev_window_setup_document), (ev_window_cmd_file_properties): Add document URI to properties page. Fixes bug #555376. svn path=/trunk/; revision=3290 --- (limited to 'properties/ev-properties-view.c') diff --git a/properties/ev-properties-view.c b/properties/ev-properties-view.c index 65f29d1..6382af4 100644 --- a/properties/ev-properties-view.c +++ b/properties/ev-properties-view.c @@ -35,6 +35,7 @@ typedef enum { TITLE_PROPERTY, + URI_PROPERTY, SUBJECT_PROPERTY, AUTHOR_PROPERTY, KEYWORDS_PROPERTY, @@ -56,6 +57,7 @@ typedef struct { static const PropertyInfo properties_info[] = { { TITLE_PROPERTY, N_("Title") }, + { URI_PROPERTY, N_("Location") }, { SUBJECT_PROPERTY, N_("Subject") }, { AUTHOR_PROPERTY, N_("Author") }, { KEYWORDS_PROPERTY, N_("Keywords") }, @@ -74,6 +76,7 @@ struct _EvPropertiesView { GtkVBox base_instance; GtkWidget *table; + gchar *uri; }; struct _EvPropertiesViewClass { @@ -83,8 +86,24 @@ struct _EvPropertiesViewClass { G_DEFINE_TYPE (EvPropertiesView, ev_properties_view, GTK_TYPE_VBOX) static void +ev_properties_view_dispose (GObject *object) +{ + EvPropertiesView *properties = EV_PROPERTIES_VIEW (object); + + if (properties->uri) { + g_free (properties->uri); + properties->uri = NULL; + } + + G_OBJECT_CLASS (ev_properties_view_parent_class)->dispose (object); +} + +static void ev_properties_view_class_init (EvPropertiesViewClass *properties_class) { + GObjectClass *g_object_class = G_OBJECT_CLASS (properties_class); + + g_object_class->dispose = ev_properties_view_dispose; } /* Returns a locale specific date and time representation */ @@ -304,10 +323,11 @@ ev_properties_view_set_info (EvPropertiesView *properties, const EvDocumentInfo gint row = 0; table = properties->table; - + if (info->fields_mask & EV_DOCUMENT_INFO_TITLE) { set_property (GTK_TABLE (table), TITLE_PROPERTY, info->title, &row); } + set_property (GTK_TABLE (table), URI_PROPERTY, properties->uri, &row); if (info->fields_mask & EV_DOCUMENT_INFO_SUBJECT) { set_property (GTK_TABLE (table), SUBJECT_PROPERTY, info->subject, &row); } @@ -373,11 +393,12 @@ ev_properties_view_register_type (GTypeModule *module) } GtkWidget * -ev_properties_view_new (void) +ev_properties_view_new (const gchar *uri) { EvPropertiesView *properties; properties = g_object_new (EV_TYPE_PROPERTIES, NULL); + properties->uri = g_strdup (uri); return GTK_WIDGET (properties); } -- cgit v0.9.1