]> www.fi.muni.cz Git - evince.git/commitdiff
[libdocument] Add ev_document_get_uri()
authorCarlos Garcia Campos <carlosgc@gnome.org>
Sun, 23 Aug 2009 16:35:27 +0000 (18:35 +0200)
committerCarlos Garcia Campos <carlosgc@gnome.org>
Tue, 15 Sep 2009 13:59:14 +0000 (15:59 +0200)
libdocument/ev-document.c
libdocument/ev-document.h

index 5c63b25f9d86bd7f2d84b0bbd1ff796c449d6cab..38c12f2fd92f15688bd52a16e25571cde2a3ded7 100644 (file)
@@ -36,6 +36,8 @@ typedef struct _EvPageSize
 
 struct _EvDocumentPrivate
 {
+       gchar          *uri;
+
        gint            n_pages;
 
        gboolean        uniform;
@@ -93,6 +95,11 @@ ev_document_finalize (GObject *object)
 {
        EvDocument *document = EV_DOCUMENT (object);
 
+       if (document->priv->uri) {
+               g_free (document->priv->uri);
+               document->priv->uri = NULL;
+       }
+
        if (document->priv->page_sizes) {
                g_free (document->priv->page_sizes);
                document->priv->page_sizes = NULL;
@@ -239,6 +246,7 @@ ev_document_load (EvDocument  *document,
                /* Cache some info about the document to avoid
                 * going to the backends since it requires locks
                 */
+               priv->uri = g_strdup (uri);
                priv->n_pages = _ev_document_get_n_pages (document);
                priv->info = _ev_document_get_info (document);
 
@@ -434,6 +442,14 @@ ev_document_render (EvDocument      *document,
        return klass->render (document, rc);
 }
 
+const gchar *
+ev_document_get_uri (EvDocument *document)
+{
+       g_return_val_if_fail (EV_IS_DOCUMENT (document), NULL);
+
+       return document->priv->uri;
+}
+
 const gchar *
 ev_document_get_title (EvDocument *document)
 {
index 608e90fe961520bb6836d9d9d9b78f095fadf160..32cdc1fdac8b96b52d067a11882dd6f7ea7e2c49 100644 (file)
@@ -134,6 +134,7 @@ gchar           *ev_document_get_page_label       (EvDocument      *document,
                                                   gint             page_index);
 cairo_surface_t *ev_document_render               (EvDocument      *document,
                                                   EvRenderContext *rc);
+const gchar     *ev_document_get_uri              (EvDocument      *document);
 const gchar     *ev_document_get_title            (EvDocument      *document);
 gboolean         ev_document_is_page_size_uniform (EvDocument      *document);
 void             ev_document_get_max_page_size    (EvDocument      *document,