Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/backend
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <mpg@redhat.com>2005-04-19 16:40:32 (GMT)
committer Marco Pesenti Gritti <marco@src.gnome.org>2005-04-19 16:40:32 (GMT)
commit6b05feae2e57d126f57a1f40527ff387070e9a73 (patch)
tree359dec6db594f5ca815560d0fd56a2989a7652ca /backend
parenta5eb762668b3d758ffdf0133027a15de08e73f94 (diff)
Remove get_title from the interface, we can just use document info
2005-04-19 Marco Pesenti Gritti <mpg@redhat.com> * backend/ev-document.c: (ev_document_class_init), (ev_document_get_info), (ev_document_render_pixbuf): * backend/ev-document.h: * backend/ev-page-cache.c: (_ev_page_cache_new): * pdf/ev-poppler.cc: * pixbuf/pixbuf-document.c: (pixbuf_document_class_init), (pixbuf_document_get_info), (pixbuf_document_document_iface_init): * ps/ps-document.c: (ps_document_class_init), (document_load), (ps_document_get_info), (ps_document_document_iface_init): Remove get_title from the interface, we can just use document info
Diffstat (limited to 'backend')
-rw-r--r--backend/ev-document.c44
-rw-r--r--backend/ev-document.h59
-rw-r--r--backend/ev-page-cache.c10
3 files changed, 44 insertions, 69 deletions
diff --git a/backend/ev-document.c b/backend/ev-document.c
index 6aa0504..5df6e69 100644
--- a/backend/ev-document.c
+++ b/backend/ev-document.c
@@ -67,12 +67,6 @@ ev_document_error_quark (void)
static void
ev_document_class_init (gpointer g_class)
{
- g_object_interface_install_property (g_class,
- g_param_spec_string ("title",
- "Document Title",
- "The title of the document",
- NULL,
- G_PARAM_READABLE));
}
#define PAGE_CACHE_STRING "ev-page-cache"
@@ -134,17 +128,6 @@ ev_document_save (EvDocument *document,
return retval;
}
-char *
-ev_document_get_title (EvDocument *document)
-{
- char *title;
-
- LOG ("ev_document_get_title");
- g_object_get (document, "title", &title, NULL);
-
- return title;
-}
-
int
ev_document_get_n_pages (EvDocument *document)
{
@@ -190,6 +173,14 @@ ev_document_can_get_text (EvDocument *document)
return iface->can_get_text (document);
}
+EvDocumentInfo *
+ev_document_get_info (EvDocument *document)
+{
+ EvDocumentIface *iface = EV_DOCUMENT_GET_IFACE (document);
+
+ return iface->get_info (document);
+}
+
char *
ev_document_get_text (EvDocument *document,
int page,
@@ -236,22 +227,3 @@ ev_document_render_pixbuf (EvDocument *document,
return retval;
}
-
-
-EvDocumentInfo *
-ev_document_render_get_info (EvDocument *document)
-{
- EvDocumentIface *iface = EV_DOCUMENT_GET_IFACE (document);
- EvDocumentInfo *retval = NULL;
-
- LOG ("ev_document_render_pixbuf");
-
- if (iface->get_info != NULL)
- retval = iface->get_info (document);
-
- if (retval == NULL)
- retval = g_new0 (EvDocumentInfo, 1);
-
- return retval;
-
-}
diff --git a/backend/ev-document.h b/backend/ev-document.h
index d8f8eba..47a91ee 100644
--- a/backend/ev-document.h
+++ b/backend/ev-document.h
@@ -92,38 +92,33 @@ struct _EvDocumentIface
EvDocumentInfo *(* get_info) (EvDocument *document);
};
-GType ev_document_get_type (void);
-GQuark ev_document_error_quark (void);
-EvPageCache *ev_document_get_page_cache (EvDocument *document);
-GMutex *ev_document_get_doc_mutex (void);
-
-
-EvDocumentInfo *ev_document_get_info (EvDocument *document);
-gboolean ev_document_load (EvDocument *document,
- const char *uri,
- GError **error);
-gboolean ev_document_save (EvDocument *document,
- const char *uri,
- GError **error);
-char *ev_document_get_title (EvDocument *document);
-int ev_document_get_n_pages (EvDocument *document);
-void ev_document_get_page_size (EvDocument *document,
- int page,
- double *width,
- double *height);
-char *ev_document_get_page_label(EvDocument *document,
- int page);
-gboolean ev_document_can_get_text (EvDocument *document);
-char *ev_document_get_text (EvDocument *document,
- int page,
- EvRectangle *rect);
-GList *ev_document_get_links (EvDocument *document,
- int page);
-GdkPixbuf *ev_document_render_pixbuf (EvDocument *document,
- int page,
- double scale);
-EvDocumentInfo *ev_document_render_get_info (EvDocument *document);
-
+GType ev_document_get_type (void);
+GQuark ev_document_error_quark (void);
+EvPageCache *ev_document_get_page_cache (EvDocument *document);
+GMutex *ev_document_get_doc_mutex (void);
+EvDocumentInfo *ev_document_get_info (EvDocument *document);
+gboolean ev_document_load (EvDocument *document,
+ const char *uri,
+ GError **error);
+gboolean ev_document_save (EvDocument *document,
+ const char *uri,
+ GError **error);
+int ev_document_get_n_pages (EvDocument *document);
+void ev_document_get_page_size (EvDocument *document,
+ int page,
+ double *width,
+ double *height);
+char *ev_document_get_page_label (EvDocument *document,
+ int page);
+gboolean ev_document_can_get_text (EvDocument *document);
+char *ev_document_get_text (EvDocument *document,
+ int page,
+ EvRectangle *rect);
+GList *ev_document_get_links (EvDocument *document,
+ int page);
+GdkPixbuf *ev_document_render_pixbuf (EvDocument *document,
+ int page,
+ double scale);
G_END_DECLS
diff --git a/backend/ev-page-cache.c b/backend/ev-page-cache.c
index 491e074..935347e 100644
--- a/backend/ev-page-cache.c
+++ b/backend/ev-page-cache.c
@@ -89,6 +89,7 @@ ev_page_cache_finalize (GObject *object)
EvPageCache *
_ev_page_cache_new (EvDocument *document)
{
+ EvDocumentInfo *doc_info;
EvPageCache *page_cache;
EvPageCacheInfo *info;
gint i;
@@ -102,9 +103,16 @@ _ev_page_cache_new (EvDocument *document)
/* Assume all pages are the same size until proven otherwise */
page_cache->uniform = TRUE;
page_cache->n_pages = ev_document_get_n_pages (document);
- page_cache->title = ev_document_get_title (document);
page_cache->page_labels = g_new0 (char *, page_cache->n_pages);
+ doc_info = ev_document_get_info (document);
+ if (doc_info->fields_mask & EV_DOCUMENT_INFO_TITLE) {
+ page_cache->title = g_strdup (doc_info->title);
+ } else {
+ page_cache->title = NULL;
+ }
+ g_free (doc_info);
+
for (i = 0; i < page_cache->n_pages; i++) {
double page_width = 0;
double page_height = 0;