Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/backend/ev-document.c
Commit message (Collapse)AuthorAgeFilesLines
* Massive changes. We now support text selection of pdfs, and not justJonathan Blandford2005-06-301-4/+22
| | | | | | | | | | | | Thu Jun 30 01:43:00 2005 Jonathan Blandford <jrb@redhat.com> * shell/*: * backend/ev-render-context.[ch]: * backend/ev-selection.[ch]: Massive changes. We now support text selection of pdfs, and not just rectangular selection. This is pretty broken still, but I want to get something into CVS.
* Add a get_orientation api. Improve set_orientation.Marco Pesenti Gritti2005-06-161-0/+8
| | | | | | | | | | | | | | | | | | | | | 2005-06-16 Marco Pesenti Gritti <mpg@redhat.com> * backend/ev-document.c: (ev_document_get_orientation): * backend/ev-document.h: * pdf/ev-poppler.cc: * ps/ps-document.c: (ps_document_get_orientation), (ps_document_set_orientation), (ps_document_document_iface_init): Add a get_orientation api. Improve set_orientation. * data/evince-ui.xml: * shell/ev-view.c: (ev_view_set_orientation), (ev_view_rotate_right), (ev_view_rotate_left): * shell/ev-view.h: * shell/ev-window.c: (ev_window_cmd_edit_rotate_left), (ev_window_cmd_edit_rotate_right): Better ui for changing document orientation
* Add orientation api. Currently poppler api is not optimal, we need to setMarco Pesenti Gritti2005-06-141-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-06-14 Marco Pesenti Gritti <mpg@redhat.com> * backend/ev-document.c: (ev_document_set_orientation): * backend/ev-document.h: * pdf/ev-poppler.cc: Add orientation api. Currently poppler api is not optimal, we need to set orientation every time we _get a page * data/evince-ui.xml: * shell/ev-window.c: (ev_window_cmd_edit_landscape), (ev_window_cmd_edit_portrait), (ev_window_cmd_edit_flip): Add orientation menu items * shell/ev-page-cache.c: (ev_page_cache_clear): * shell/ev-page-cache.h: Add api to clear the cache * shell/ev-view.c: (setup_caches), (clear_caches), (ev_view_set_document), (ev_view_zoom_out), (ev_view_set_orientation): * shell/ev-view.h: Implement orientation changing
* PageCache and EvJobs are moved from backend to shell. Two new jobs toNickolay V. Shmyrev2005-06-071-23/+0
| | | | | load document in background and a statusbar to display this process. FileChooser now can select multiple uris.
* Rework properties code to take only EvPropertyInfo in the constructor soMarco Pesenti Gritti2005-06-041-0/+1
| | | | | | | | | | | | | | | | | | | | | 2005-06-04 Marco Pesenti Gritti <mpg@redhat.com> * backend/ev-document-info.h: * backend/ev-document.c: (ev_document_info_free): * data/evince-properties.glade: * pdf/ev-poppler.cc: * ps/ps-document.c: (ps_document_get_info): * shell/ev-properties.c: (ev_properties_format_date), (set_property), (ev_properties_new): * shell/ev-properties.h: * shell/ev-window.c: (ev_window_cmd_file_properties): Rework properties code to take only EvPropertyInfo in the constructor so that it can be useful for nautilus plugin too. Deal with backends that doesnt support some properties. Make set property code generic.
* Free the EvDocumentInfo.Jonathan Blandford2005-05-171-0/+15
| | | | | | | | | | | | | | | | Tue May 17 00:51:21 2005 Jonathan Blandford <jrb@redhat.com> * backend/ev-document-info.h: * backend/ev-document.c: (ev_document_info_free): Free the EvDocumentInfo. * shell/ev-sidebar-thumbnails.c: (ev_sidebar_thumbnails_dispose), (clear_range), (add_range), (update_visible_range), (adjustment_changed_cb), (ev_sidebar_thumbnails_init), (ev_sidebar_thumbnails_set_document): * shell/ev-window.c: (ev_window_setup_document): Only render the visible thumbnails. It takes an instant to render, but it uses much less memory.
* actually remove the job.Jonathan Blandford2005-04-221-0/+13
| | | | | | | | | | Thu Apr 21 23:37:52 2005 Jonathan Blandford <jrb@redhat.com> * shell/ev-pixbuf-cache.c (dispose_cache_job_info): actually remove the job. * backend/ev-document.h: Remove EV_DOC_MUTEX in favor of a locking function. This helps debugging.
* Remove get_title from the interface, we can just use document infoMarco Pesenti Gritti2005-04-191-36/+8
| | | | | | | | | | | | | | | | 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
* Initial support for document info. Based on jrb patch.Marco Pesenti Gritti2005-04-191-0/+18
| | | | | | | | | | | 2005-04-19 Marco Pesenti Gritti <mpg@redhat.com> * backend/Makefile.am: * backend/ev-document.c: (ev_document_render_get_info): * backend/ev-document.h: * pdf/ev-poppler.cc: Initial support for document info. Based on jrb patch.
* Fix the crash when trying to copy in backends that doesnt support it. WeMarco Pesenti Gritti2005-04-141-0/+8
| | | | | | | | | | | | | | | | | | | | | 2005-04-14 Marco Pesenti Gritti <mpg@redhat.com> * backend/ev-document.h: * djvu/djvu-document.c: (djvu_document_can_get_text), (djvu_document_document_iface_init): * dvi/dvi-document.c: (dvi_document_can_get_text), (dvi_document_document_iface_init): * pdf/ev-poppler.cc: * pixbuf/pixbuf-document.c: (pixbuf_document_can_get_text), (pixbuf_document_document_iface_init): * ps/ps-document.c: (ps_document_can_get_text), (ps_document_document_iface_init): * shell/ev-view.c: (ev_view_copy), (ev_view_primary_get_cb): * shell/ev-window.c: (update_action_sensitivity): Fix the crash when trying to copy in backends that doesnt support it. We can implement a better solution once we do real text selection.
* Make searching work again.Kristian Høgsberg2005-04-051-57/+13
| | | | | | | | | | | | | | | | | | | 2005-04-04 Kristian Høgsberg <krh@redhat.com> Make searching work again. * backend/ev-document.c: * backend/ev-document.h: * backend/ev-document-find.c: * backend/ev-document-find.h: Change EvDocumentIface so we no longer store the current page or zoom level in the document. The consequence is that all calls that operate on the current page now instead take the page number as an extra argument, and all coordinates are now doubles in document coordinate system. * pdf/ev-poppler.cc: * pixbuf/pixbuf-document.c: * ps/ps-document.c: Update backends accordingly.
* Cr 31 13:27:50 2005 Jonathan Blandford <jrb@redhat.com>Jonathan Blandford2005-03-311-0/+13
| | | | | | | | | | | | | | | | | | | | | | | Cr 31 13:27:50 2005 Jonathan Blandford <jrb@redhat.com> * backend/ev-document.c: (ev_document_get_page_label): * backend/ev-document.h: * backend/ev-page-cache.c: (_ev_page_cache_new), (ev_page_cache_get_page_label): * backend/ev-page-cache.h: * pdf/ev-poppler.cc: * shell/ev-sidebar-links.c: (ev_sidebar_links_construct), (links_page_num_func): * shell/ev-sidebar-thumbnails.c: (ev_sidebar_thumbnails_set_document): * shell/ev-view.c: (status_message_from_link), (ev_view_motion_notify_event): * shell/ev-window.c: (document_supports_sidebar): Add in page label support. It's not perfect yet, but it's the first 'feature' in a while. Also, fix a bogus comment noticed by crispin. VS: Modified Files:
* Remove pixbuf backend for nowJonathan Blandford2005-03-311-70/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Thu Mar 31 01:21:58 2005 Jonathan Blandford <jrb@redhat.com> * Makefile.am: Remove pixbuf backend for now * configure.ac: Require poppler-glib instead of just poppler. * backend/ev-document-thumbnails.h: Add a comment * backend/ev-document.h: * backend/ev-document.c: (ev_document_class_init), (ev_document_load), (ev_document_get_link), (ev_document_get_links): Remove 3 methods and add get_links. Also, made 0 based. * backend/ev-jobs.c: (ev_job_render_new), (ev_job_render_run): * backend/ev-jobs.h: now EvJobRender can grab the links for a document. * backend/ev-link.c: (ev_link_set_title), (ev_link_mapping_free_foreach), (ev_link_mapping_free), (ev_link_mapping_find): * backend/ev-link.h: Allow NULL titles. Also, introduce a mapping link. * backend/ev-page-cache.c: (ev_page_cache_init), (_ev_page_cache_new), (ev_page_cache_set_current_page), (ev_page_cache_get_size), (ev_page_cache_next_page), (ev_page_cache_prev_page): Fix to be 0 based. * pdf/Makefile.am: * pdf/ev-poppler.h: * pdf/ev-poppler.cc: New backend. * ps/ps-document.c: (ps_document_init), (ps_document_set_page), (ps_document_get_page), (ps_document_document_iface_init): * shell/ev-pixbuf-cache.h: * shell/ev-pixbuf-cache.c: (ev_pixbuf_cache_init), (dispose_cache_job_info), (job_finished_cb), (move_one_job), (ev_pixbuf_cache_update_range), (copy_job_to_job_info), (add_job_if_needed), (ev_pixbuf_cache_set_page_range), (ev_pixbuf_cache_get_pixbuf), (ev_pixbuf_cache_get_link_mapping): Fix up code to grab a page cache per each doc. Also, fix to be 0 based. * shell/ev-sidebar-thumbnails.c: (ev_sidebar_tree_selection_changed), (page_changed_cb), (ev_sidebar_thumbnails_set_document): Fix to be 0 based. * shell/ev-view.c: (status_message_from_link), (find_page_at_location), (get_link_at_location), (ev_view_motion_notify_event), (ev_view_button_release_event), (ev_view_init): Use the new link code. Fix to be 0 based. * shell/ev-window.c: (update_action_sensitivity), (document_supports_sidebar): 0 based.
* merge evince-threads branchMarco Pesenti Gritti2005-03-231-7/+99
|
* Separate page/scale notificationsMarco Pesenti Gritti2005-02-241-7/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-02-24 Marco Pesenti Gritti <marco@gnome.org> * backend/ev-document.c: (ev_document_class_init), (ev_document_page_changed), (ev_document_scale_changed): * backend/ev-document.h: Separate page/scale notifications * pdf/xpdf/pdf-document.cc: Emit the new signals. Do not display the pdf page in _render, do it when scale/page are requested. * ps/ps-document.c: (ps_document_set_zoom), (ps_document_widget_event): * ps/ps-document.h: Emit the new signals. * shell/ev-view.c: (ev_view_size_request), (expose_bin_window), (ev_view_init), (page_changed_callback), (scale_changed_callback), (ev_view_set_document), (ev_view_zoom), (ev_view_zoom_in), (ev_view_zoom_out), (size_to_zoom_factor), (ev_view_set_size): * shell/ev-view.h: * shell/ev-window.c: (ev_window_cmd_view_normal_size), (ev_window_cmd_view_page_width), (size_allocate_cb), (ev_window_set_sizing_mode): Rework sizing to be pixel based. There are bugs but should be already way better.
* New file with some random thoughts.Jonathan Blandford2005-02-021-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Wed Feb 2 21:13:11 2005 Jonathan Blandford <jrb@redhat.com> * NOTES: New file with some random thoughts. * TODO: Update. * backend/ev-document-misc.c: (ev_document_misc_get_page_border_size): New function to canonicalize shadow drawing sizes. Possibly goofy. * shell/ev-view.c: (ev_view_size_request), (set_document_page), (ev_view_best_fit), (ev_view_fit_width): * pdf/xpdf/pdf-document.cc: * pixbuf/pixbuf-document.c: (pixbuf_document_get_page_size): * ps/ps-document.c: (ps_document_get_page_size): * backend/ev-document-misc.h: * backend/ev-document.c: (ev_document_get_page_size): * backend/ev-document.h: get_page_size now takes a page number parameter. Made all the backends/frontends honor it. * data/evince-ui.xml: Added a multiple-page mode. Uncomment to see. Doesn't work yet. * shell/Makefile.am: * shell/ev-page-view.[ch]: New multi-page view. Really rough. Doesn't do anything yet. * shell/ev-sidebar-thumbnails.c: (ev_sidebar_thumbnails_set_document): [1..n_pages] instead of [0..n_pages-1] * shell/ev-window.c: (update_action_sensitivity), (ev_window_setup_document), (ev_window_set_page_mode), (ev_window_page_mode_cb), (ev_window_init): Clean up the view-swapping code a bit so we can have multiple views on a document. Add the multi-page view, though it can't be turned on yet.
* Add initial support for password-supported dialogs. This could be a lotJonathan Blandford2005-01-191-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Wed Jan 19 01:10:57 2005 Jonathan Blandford <jrb@redhat.com> * backend/Makefile.am: * backend/ev-document-links.h: * backend/ev-document-security.c: (ev_document_security_get_type), (ev_document_security_has_document_security), (ev_document_security_set_password): * backend/ev-document-security.h: * backend/ev-document.c: (ev_document_error_quark): * backend/ev-document.h: * data/Makefile.am: * data/evince-password.glade: * pdf/xpdf/pdf-document.cc: * shell/Makefile.am: * shell/ev-password.c: (ev_password_set_bad_password_label), (ev_window_password_entry_changed_cb), (ev_password_dialog_new), (ev_password_dialog_get_password), (ev_password_dialog_set_bad_pass): * shell/ev-password.h: * shell/ev-window.c: (ev_window_get_attribute), (ev_window_set_property), (update_action_sensitivity), (ev_window_is_empty), (mime_type_supported_by_gdk_pixbuf), (ev_window_setup_document), (ev_window_get_password), (ev_window_open), (ev_window_cmd_save_as), (using_postscript_printer), (ev_window_print), (find_not_supported_dialog), (ev_window_cmd_edit_find), (update_fullscreen_popup), (ev_window_fullscreen), (ev_window_unfullscreen), (ev_window_cmd_view_fullscreen), (ev_window_focus_out_cb), (ev_window_cmd_help_about), (menu_item_select_cb), (find_bar_search_changed_cb), (ev_window_dispose), (ev_window_init): Add initial support for password-supported dialogs. This could be a lot cooler, but it'll do for now.
* Add support for document linksMarco Pesenti Gritti2005-01-131-0/+9
| | | | | | | | | | | | | | | 2005-01-13 Marco Pesenti Gritti <marco@gnome.org> * backend/ev-document.c: (ev_document_get_link): * backend/ev-document.h: * pdf/xpdf/pdf-document.cc: * shell/ev-application.c: (ev_application_open): * shell/ev-application.h: * shell/ev-sidebar-links.c: (selection_changed_cb): * shell/ev-view.c: (ev_view_button_release_event), (go_to_link), (ev_view_go_to_link): Add support for document links
* Beginnings of clipboard support. Incomplete but primary sort of work.Marco Pesenti Gritti2005-01-051-0/+8
| | | | | | | | | | | | | | | 2005-01-05 Marco Pesenti Gritti <marco@gnome.org> * backend/ev-document.c: (ev_document_get_text): * backend/ev-document.h: * pdf/xpdf/pdf-document.cc: * shell/ev-view.c: (ev_view_realize), (expose_bin_window), (ev_view_primary_get_cb), (ev_view_primary_clear_cb), (ev_view_update_primary_selection), (ev_view_button_press_event), (ev_view_motion_notify_event), (ev_view_button_release_event): Beginnings of clipboard support. Incomplete but primary sort of work.
* Implement "Save a copy..." menu itemMarco Pesenti Gritti2005-01-051-0/+9
| | | | | | | | | | | | 2005-01-05 Marco Pesenti Gritti <marco@gnome.org> * backend/ev-document.c: (ev_document_save): * backend/ev-document.h: * data/evince-ui.xml: * pdf/xpdf/pdf-document.cc: * shell/ev-window.c: (save_error_dialog), (ev_window_cmd_save_as): Implement "Save a copy..." menu item
* Fix document title bugs and fallback to filename when not available.Marco Pesenti Gritti2005-01-031-1/+2
| | | | | | | | | | | 2005-01-03 Marco Pesenti Gritti <marco@gnome.org> * backend/ev-document.c: (ev_document_class_init): * pdf/xpdf/pdf-document.cc: * shell/ev-window.c: (ev_window_open): Fix document title bugs and fallback to filename when not available.
* Initial support for document title. Not working yet.Marco Pesenti Gritti2005-01-031-19/+29
| | | | | | | | | | | | | | | | | | | 2005-01-03 Marco Pesenti Gritti <marco@gnome.org> * backend/ev-document.c: (ev_document_get_type), (ev_document_class_init), (ev_document_load), (ev_document_get_title): * backend/ev-document.h: * pdf/xpdf/pdf-document.cc: * ps/ps-document.c: (ps_document_set_property), (ps_document_get_property), (ps_document_class_init), (document_load): * ps/ps-document.h: * ps/ps.h: * shell/ev-window.c: (update_window_title), (ev_window_open), (ev_window_init): Initial support for document title. Not working yet.
* Add a changed event that is emitted when the page content changes. This isMarco Pesenti Gritti2004-12-311-1/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-12-31 Marco Pesenti Gritti <marco@gnome.org> * backend/ev-document.c: (ev_document_base_init), (ev_document_changed): * backend/ev-document.h: Add a changed event that is emitted when the page content changes. This is necessary to deal with the fact that in ps backend rendering happen asycrounously. This makes the ps backend mostly work. * pdf/xpdf/pdf-document.cc: Emit changed event * ps/gtkgs.c: (set_up_page), (gtk_gs_widget_event), (ps_document_set_target): Emit changed event * shell/ev-view.c: (document_changed_callback), (ev_view_set_document), (ev_view_set_page): Redraw on the changed signal
* display an error if the document doesn't support find (better ideas?)Havoc Pennington2004-12-231-44/+2
| | | | | | | | | | | | | | | | 2004-12-22 Havoc Pennington <hp@redhat.com> * shell/ev-window.c (ev_window_cmd_edit_find): display an error if the document doesn't support find (better ideas?) (find_bar_search_changed_cb): handle missing document or document that doesn't support find * pdf/xpdf/pdf-document.cc: port to implement the new EvDocumentFindIface * backend/ev-document-find.c: create a new interface for searching * backend/ev-document.h, backend/ev-document.c: delete the find stuff
* connect to "found" signal (expose_bin_window): draw find highlightsHavoc Pennington2004-12-221-0/+12
| | | | | | | | | | | | | | | 2004-12-22 Havoc Pennington <hp@redhat.com> * shell/ev-view.c (ev_view_set_document): connect to "found" signal (expose_bin_window): draw find highlights * shell/ev-window.c (find_bar_search_changed_cb): implement * pdf/xpdf/pdf-document.cc (pdf_document_begin_find) (pdf_document_end_find): implement this interface * backend/ev-document.c (ev_document_found): add this to emit signal
* Add a few more toolbar items.Owen Taylor2004-12-221-0/+7
| | | | | | | | | | | | | | | | | | Tue Dec 21 23:57:37 2004 Owen Taylor <otaylor@redhat.com> * data/evince-ui.xml: Add a few more toolbar items. * shell/ev-window.c: Hook up page navigation toolbar items. * shell/ev-view.[ch]: add ev_view_set/get_page and a page-changed signal. * backend/ev-document.{h,cc} pdf/xpdf/pdf-document.cc:: Add ev_document_get_page(). * shell/ev-window.c: Sensitize/desensitize navigation actions.
* add marshaler-generator thingy. I'm sure there's a better way to do thisHavoc Pennington2004-12-221-0/+34
| | | | | | | | | | | | | | 2004-12-21 Havoc Pennington <hp@redhat.com> * backend/ev-backend-marshal.c, backend/ev-backend-marshalers.list, backend/Makefile.am: add marshaler-generator thingy. I'm sure there's a better way to do this in the modern world. * backend/ev-document.h (struct _EvDocumentIface): add begin_find, end_find methods and "found" signal. * configure.ac: find glib-genmarshal
* Redo size handling.Owen Taylor2004-12-221-6/+21
| | | | | | | | | Tue Dec 21 23:05:51 2004 Owen Taylor <otaylor@redhat.com> * backend/ev-document.{h,cc} pdf/xpdf/pdf-document.cc: Redo size handling. * shell/ev-view.c: Track the size from the document.
* Switch from .a to libtool convenience libraries.Owen Taylor2004-12-221-3/+3
| | | | | | | | | | | | | | | | Tue Dec 21 19:28:55 2004 Owen Taylor <otaylor@redhat.com> * pdf/{goo,fofi,splash,xpdf}/Makefile.am: Switch from .a to libtool convenience libraries. * shell/ev-window.c (ev_window_open): Hard code loading a PDF document. * backend/ev-document.h: Add a boolean return to load(), fix GError * to GError **. * pdf/xpdf/pdf-document.[ch] Makefile.am: Add a stub object for a PDF backend EvDocument.
* Fix a couple of problems so it compile.Owen Taylor2004-12-211-1/+1
| | | | | | | Tue Dec 21 18:26:24 2004 Owen Taylor <otaylor@redhat.com> * backend/ev-document.[ch]: Fix a couple of problems so it compile.
* Move viewer directory to backend/ directory, rename EvViewer toOwen Taylor2004-12-211-0/+105
Tue Dec 21 18:20:40 2004 Owen Taylor <otaylor@redhat.com> * viewer/* backend/* configure.ac Makefile.am: Move viewer directory to backend/ directory, rename EvViewer to EvDocument.