glib/demo/page.c | 2 - glib/poppler-page.cc | 52 +++++++++++++++++++++++++++--------- glib/poppler-page.h | 1 glib/reference/poppler-sections.txt | 1 4 files changed, 42 insertions(+), 14 deletions(-)
New commits: commit f49aa86812ed8ad91d41c675bc670b3d88d3444a Author: Carlos Garcia Campos <[email protected]> Date: Mon Sep 13 14:37:10 2010 +0200 [glib] doc: Document PopplerPage:label property diff --git a/glib/poppler-page.cc b/glib/poppler-page.cc index 81f81de..0e5de5c 100644 --- a/glib/poppler-page.cc +++ b/glib/poppler-page.cc @@ -1259,6 +1259,11 @@ poppler_page_class_init (PopplerPageClass *klass) gobject_class->finalize = poppler_page_finalize; gobject_class->get_property = poppler_page_get_property; + /** + * PopplerPage:label: + * + * The label of the page or %NULL. See also poppler_page_get_label() + */ g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_LABEL, g_param_spec_string ("label", commit f41fe7ae6e374100574c49d1bb7a3ddc646786c8 Author: Carlos Garcia Campos <[email protected]> Date: Mon Sep 13 14:36:43 2010 +0200 [glib] doc: Add poppler_page_get_label to poppler-sections.txt diff --git a/glib/reference/poppler-sections.txt b/glib/reference/poppler-sections.txt index d3e4c3a..6582766 100644 --- a/glib/reference/poppler-sections.txt +++ b/glib/reference/poppler-sections.txt @@ -15,6 +15,7 @@ PopplerPageTransitionAlignment PopplerPageTransitionDirection PopplerSelectionStyle poppler_page_get_index +poppler_page_get_label poppler_page_get_size poppler_page_get_crop_box poppler_page_get_duration commit 91b8246766a8e5d9cca385b5854667d7967a9d71 Author: Carlos Garcia Campos <[email protected]> Date: Mon Sep 13 14:22:56 2010 +0200 [glib-demo] Use poppler_page_get_label() instead of g_object_get() diff --git a/glib/demo/page.c b/glib/demo/page.c index ee034f0..7ab008c 100644 --- a/glib/demo/page.c +++ b/glib/demo/page.c @@ -137,7 +137,7 @@ pgd_page_set_page (PgdPageDemo *demo, g_free (str); if (page) { - g_object_get (G_OBJECT (page), "label", &str, NULL); + str = poppler_page_get_label (page); gtk_label_set_text (GTK_LABEL (demo->label), str); g_free (str); } else { commit b82412ef86091f4d249c818cebf00e4c59bae311 Author: Carlos Garcia Campos <[email protected]> Date: Mon Sep 13 14:22:03 2010 +0200 [glib] Add poppler_page_get_label() It's just an accessor for the property label diff --git a/glib/poppler-page.cc b/glib/poppler-page.cc index 60d311d..81f81de 100644 --- a/glib/poppler-page.cc +++ b/glib/poppler-page.cc @@ -133,6 +133,29 @@ poppler_page_get_index (PopplerPage *page) } /** + * poppler_page_get_label: + * @page: a #PopplerPage + * + * Returns the label of @page. Note that page labels + * and page indices might not coincide. + * + * Return value: a new allocated string containing the label of @page, + * or %NULL if @page doesn't have a label + * + * Since: 0.16 + **/ +gchar * +poppler_page_get_label (PopplerPage *page) +{ + GooString label; + + g_return_val_if_fail (POPPLER_IS_PAGE (page), NULL); + + page->document->doc->getCatalog ()->indexToLabel (page->index, &label); + return _poppler_goo_string_to_utf8 (&label); +} + +/** * poppler_page_get_duration: * @page: a #PopplerPage * @@ -1211,20 +1234,20 @@ poppler_page_render_to_ps (PopplerPage *page, } static void -poppler_page_get_property (GObject *object, - guint prop_id, - GValue *value, +poppler_page_get_property (GObject *object, + guint prop_id, + GValue *value, GParamSpec *pspec) { PopplerPage *page = POPPLER_PAGE (object); - GooString label; switch (prop_id) { case PROP_LABEL: - page->document->doc->getCatalog ()->indexToLabel (page->index, &label); - g_value_take_string (value, _poppler_goo_string_to_utf8(&label)); + g_value_take_string (value, poppler_page_get_label (page)); break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } @@ -1232,19 +1255,17 @@ static void poppler_page_class_init (PopplerPageClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); - GParamSpec *pspec; gobject_class->finalize = poppler_page_finalize; gobject_class->get_property = poppler_page_get_property; - pspec = g_param_spec_string ("label", - "Page Label", - "The label of the page", - NULL, - G_PARAM_READABLE); g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_LABEL, - pspec); + g_param_spec_string ("label", + "Page Label", + "The label of the page", + NULL, + G_PARAM_READABLE)); } static void diff --git a/glib/poppler-page.h b/glib/poppler-page.h index a14689d..e6cf5ee 100644 --- a/glib/poppler-page.h +++ b/glib/poppler-page.h @@ -85,6 +85,7 @@ void poppler_page_get_size (PopplerPage *pa double *width, double *height); int poppler_page_get_index (PopplerPage *page); +gchar *poppler_page_get_label (PopplerPage *page); double poppler_page_get_duration (PopplerPage *page); PopplerPageTransition *poppler_page_get_transition (PopplerPage *page); gboolean poppler_page_get_thumbnail_size (PopplerPage *page, _______________________________________________ poppler mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/poppler
