glib/poppler-document.cc | 56 ++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 48 insertions(+), 8 deletions(-)
New commits: commit 92f283ba931b605935646e2c55007b75c7e82288 Author: Jakub Kucharski <[email protected]> Date: Sun Jul 17 01:42:19 2016 +0200 glib: make document metatag gobject properties writeable diff --git a/glib/poppler-document.cc b/glib/poppler-document.cc index 63eae7c..a03f1d9 100644 --- a/glib/poppler-document.cc +++ b/glib/poppler-document.cc @@ -1460,12 +1460,52 @@ poppler_document_get_property (GObject *object, } static void +poppler_document_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + PopplerDocument *document = POPPLER_DOCUMENT (object); + + switch (prop_id) + { + case PROP_TITLE: + poppler_document_set_title (document, g_value_get_string (value)); + break; + case PROP_AUTHOR: + poppler_document_set_author (document, g_value_get_string (value)); + break; + case PROP_SUBJECT: + poppler_document_set_subject (document, g_value_get_string (value)); + break; + case PROP_KEYWORDS: + poppler_document_set_keywords (document, g_value_get_string (value)); + break; + case PROP_CREATOR: + poppler_document_set_creator (document, g_value_get_string (value)); + break; + case PROP_PRODUCER: + poppler_document_set_producer (document, g_value_get_string (value)); + break; + case PROP_CREATION_DATE: + poppler_document_set_creation_date (document, g_value_get_int (value)); + break; + case PROP_MOD_DATE: + poppler_document_set_modification_date (document, g_value_get_int (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void poppler_document_class_init (PopplerDocumentClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); gobject_class->finalize = poppler_document_finalize; gobject_class->get_property = poppler_document_get_property; + gobject_class->set_property = poppler_document_set_property; /** * PopplerDocument:title: @@ -1478,7 +1518,7 @@ poppler_document_class_init (PopplerDocumentClass *klass) "Document Title", "The title of the document", NULL, - G_PARAM_READABLE)); + G_PARAM_READWRITE)); /** * PopplerDocument:format: @@ -1530,7 +1570,7 @@ poppler_document_class_init (PopplerDocumentClass *klass) "Author", "The author of the document", NULL, - G_PARAM_READABLE)); + G_PARAM_READWRITE)); /** * PopplerDocument:subject: @@ -1543,7 +1583,7 @@ poppler_document_class_init (PopplerDocumentClass *klass) "Subject", "Subjects the document touches", NULL, - G_PARAM_READABLE)); + G_PARAM_READWRITE)); /** * PopplerDocument:keywords: @@ -1556,7 +1596,7 @@ poppler_document_class_init (PopplerDocumentClass *klass) "Keywords", "Keywords", NULL, - G_PARAM_READABLE)); + G_PARAM_READWRITE)); /** * PopplerDocument:creator: @@ -1569,7 +1609,7 @@ poppler_document_class_init (PopplerDocumentClass *klass) "Creator", "The software that created the document", NULL, - G_PARAM_READABLE)); + G_PARAM_READWRITE)); /** * PopplerDocument:producer: @@ -1582,7 +1622,7 @@ poppler_document_class_init (PopplerDocumentClass *klass) "Producer", "The software that converted the document", NULL, - G_PARAM_READABLE)); + G_PARAM_READWRITE)); /** * PopplerDocument:creation-date: @@ -1595,7 +1635,7 @@ poppler_document_class_init (PopplerDocumentClass *klass) "Creation Date", "The date and time the document was created", -1, G_MAXINT, -1, - G_PARAM_READABLE)); + G_PARAM_READWRITE)); /** * PopplerDocument:mod-date: @@ -1608,7 +1648,7 @@ poppler_document_class_init (PopplerDocumentClass *klass) "Modification Date", "The date and time the document was modified", -1, G_MAXINT, -1, - G_PARAM_READABLE)); + G_PARAM_READWRITE)); /** * PopplerDocument:linearized: _______________________________________________ poppler mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/poppler
