Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/ev-view.h
Commit message (Collapse)AuthorAgeFilesLines
* Cancel the find operation when the find bar is closed. Fixes bug #508845.Carlos Garcia Campos2008-03-181-0/+2
| | | | | | | | | | | | 2008-03-18 Carlos Garcia Campos <carlosgc@gnome.org> * shell/ev-view.[ch]: (ev_view_find_cancel): * shell/ev-window.c: (find_bar_close_cb): Cancel the find operation when the find bar is closed. Fixes bug #508845. svn path=/trunk/; revision=2971
* Stop autoscroll when Escape key is pressed. Fixes bug #511635.Carlos Garcia Campos2008-01-261-1/+2
| | | | | | | | | | | 2008-01-26 Carlos Garcia Campos <carlosgc@gnome.org> * shell/ev-view.[ch]: (ev_view_button_release_event), (ev_view_autoscroll_start), (ev_view_autoscroll_stop): * shell/ev-window.c: (ev_window_cmd_view_autoscroll), (ev_window_cmd_escape): Stop autoscroll when Escape key is pressed. Fixes bug #511635. svn path=/trunk/; revision=2860
* Autoscroll feature with the context menu. Fixes bug #323670. Thanks toNickolay V. Shmyrev2007-12-231-1/+2
| | | | | | | | | | | | | | | | | | | | | | 2007-12-23 Nickolay V. Shmyrev <nshmyrev@yandex.ru> * data/evince-toolbar.xml: * data/evince-ui.xml: * shell/ev-view-private.h: * shell/ev-view.c: (ev_view_handle_cursor_over_xy), (ev_view_button_press_event), (ev_view_motion_notify_event), (ev_view_button_release_event), (ev_view_init), (ev_view_autoscroll_cb), (ev_view_autoscroll), (ev_view_set_cursor): * shell/ev-view.h: * shell/ev-window.c: (ev_window_setup_action_sensitivity), (ev_window_cmd_view_autoscroll): Autoscroll feature with the context menu. Fixes bug #323670. Thanks to David Turner <cillian64@googlemail.com>. svn path=/trunk/; revision=2781
* Enables 'find next' when bindbar is hidden. Fixes bug #323817.Justin Blanchard2007-08-271-6/+7
| | | | | | | | | | | | | | | | | 2007-08-28 Justin Blanchard <justinb04@aim.com> * shell/ev-view-private.h: * shell/ev-view.c: (ev_view_expose_event), (ev_view_init), (ev_view_set_highlight_search): * shell/ev-view.h: * shell/ev-window.c: (ev_window_cmd_edit_find_next), (ev_window_cmd_edit_find_previous), (find_bar_search_changed_cb), (find_bar_visibility_changed_cb): Enables 'find next' when bindbar is hidden. Fixes bug #323817. svn path=/trunk/; revision=2645
* Reorganizes utility functions.Johannes Buchner2007-07-271-5/+3
| | | | | | | | | | | | | | | | | | | | 2007-07-27 Johannes Buchner <buchner.johannes@gmx.at> * shell/ev-utils.c: (get_num_monitors), (get_screen_dpi): * shell/ev-utils.h: * shell/ev-view.c: (ev_view_set_zoom_for_size), (ev_view_update_view_size): * shell/ev-view.h: * shell/ev-window.c: (ev_window_update_actions), (setup_view_from_metadata), (ev_window_screen_changed), (ev_window_sizing_mode_changed_cb), (ev_window_zoom_changed_cb), (zoom_control_changed_cb): * shell/ev-window.h: Reorganizes utility functions. svn path=/trunk/; revision=2582
* Merge evince-forms branch.Carlos Garcia Campos2007-07-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-07-08 Carlos Garcia Campos <carlosgc@gnome.org> * configure.ac: * backend/pdf/ev-poppler.cc: (pdf_document_get_crop_box), (ev_form_field_from_poppler_field), (pdf_document_forms_get_form_fields), (pdf_document_forms_form_field_text_get_text), (pdf_document_forms_form_field_text_set_text), (pdf_document_forms_form_field_button_set_state), (pdf_document_forms_form_field_button_get_state), (pdf_document_forms_form_field_choice_get_item), (pdf_document_forms_form_field_choice_get_n_items), (pdf_document_forms_form_field_choice_is_item_selected), (pdf_document_forms_form_field_choice_select_item), (pdf_document_forms_form_field_choice_toggle_item), (pdf_document_forms_form_field_choice_unselect_all), (pdf_document_forms_form_field_choice_set_text), (pdf_document_forms_form_field_choice_get_text), (pdf_document_document_forms_iface_init): * libdocument/Makefile.am: * libdocument/ev-form-field.[ch]: * libdocument/ev-document-forms.[ch]: * shell/ev-pixbuf-cache.[ch]: (dispose_cache_job_info), (move_one_job), (copy_job_to_job_info), (add_job_if_needed), (add_job), (ev_pixbuf_cache_reload_page), (ev_pixbuf_cache_get_form_field_mapping): * shell/ev-jobs.[ch]: (ev_job_render_new), (ev_job_render_run): * shell/ev-view-private.h: * shell/ev-view.[ch]: (ev_view_set_scroll_adjustments), (ev_view_handle_cursor_over_xy), (ev_view_get_form_field_at_location), (ev_view_forms_remove_widgets), (ev_view_form_field_destroy), (ev_view_form_field_button_create_widget), (ev_view_form_field_text_save), (ev_view_form_field_text_changed), (ev_view_form_field_text_create_widget), (ev_view_form_field_choice_save), (ev_view_form_field_choice_changed), (ev_view_form_field_choice_create_widget), (ev_view_handle_form_field), (ev_view_size_allocate), (ev_view_realize), (draw_end_presentation_page), (ev_view_button_press_event), (ev_view_remove_all), (ev_view_motion_notify_event), (ev_view_key_press_event), (ev_view_enter_notify_event), (highlight_find_results), (draw_loading_text), (draw_one_page), (ev_view_destroy), (ev_view_class_init), (page_changed_cb), (on_adjustment_value_changed), (ev_view_set_presentation), (merge_selection_region), (ev_view_set_cursor), (ev_view_reset_presentation_state): Merge evince-forms branch. svn path=/trunk/; revision=2560
* Correctly handle named destination linksNickolay V. Shmyrev2007-01-281-0/+1
| | | | | | | | | | | | | 2007-01-29 Nickolay V. Shmyrev <nshmyrev@yandex.ru> * shell/ev-view.c: (ev_view_page_label_from_dest), (tip_from_link): * shell/ev-view.h: * shell/ev-window.c: (ev_window_add_history): Correctly handle named destination links svn path=/trunk/; revision=2269
* History finally works as expected.Nickolay V. Shmyrev2007-01-281-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-01-28 Nickolay V. Shmyrev <nshmyrev@yandex.ru> * shell/ev-navigation-action.c: (activate_menu_item_cb), (ev_navigation_action_class_init): * shell/ev-navigation-action.h: * shell/ev-page-action.c: (activate_cb): * shell/ev-page-cache.c: (ev_page_cache_class_init), (ev_page_cache_set_current_page_history): * shell/ev-page-cache.h: * shell/ev-sidebar-thumbnails.c: (ev_sidebar_tree_selection_changed), (ev_sidebar_icon_selection_changed), (page_changed_cb): * shell/ev-view-private.h: * shell/ev-view.c: (ev_view_handle_link), (ev_view_class_init): * shell/ev-view.h: * shell/ev-window.c: (page_changed_cb), (history_changed_cb), (ev_window_setup_document), (ev_window_load_job_cb): * shell/ev-window.h: History finally works as expected. svn path=/trunk/; revision=2259
* Use max and min scale values in the view iby taking dpi into account.Carlos Garcia Campos2007-01-111-0/+2
| | | | | | | | | | | | 2007-01-11 Carlos Garcia Campos <carlosgc@gnome.org> * shell/ev-view-private.h: * shell/ev-window.c: (ev_window_screen_changed), (ev_window_init): * shell/ev-view.[ch]: (ev_view_class_init), (ev_view_set_zoom), (ev_view_set_screen_dpi), (ev_view_can_zoom_in), (ev_view_can_zoom_out): Use max and min scale values in the view iby taking dpi into account. svn path=/trunk/; revision=2214
* Rework links system, it adds support for remote links now and it makesCarlos Garcia Campos2006-05-021-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | 2006-05-02 Carlos Garcia Campos <carlosgc@gnome.org> * backend/Makefile.am: * backend/ev-document-links.[ch]: * backend/ev-document.[ch]: * backend/ev-link-action.[ch]: * backend/ev-link-dest.[ch]: * backend/ev-link.[ch]: * pdf/ev-poppler.cc: (pdf_document_find_link_dest), (ev_link_dest_from_dest), (ev_link_from_action), (build_tree): * shell/ev-page-action.c: (build_new_tree_cb): * shell/ev-sidebar-links.c: (get_page_from_dest), (print_section_cb), (links_page_num_func), (update_page_callback): * shell/ev-view.[ch]: (ev_view_goto_dest), (ev_view_handle_link), (tip_from_link): * shell/ev-jobs.c: * shell/ev-window.[ch]: (ev_window_open_uri), (sidebar_links_link_activated_cb), (ev_view_popup_cmd_open_link): * shell/ev-application.[ch]: (ev_application_open_window), (ev_application_open_uri): Rework links system, it adds support for remote links now and it makes easier to add new kinds of actions and destinations. Fixes bug #317292
* Add support for "Find Previous" as dictated by the GNOME HIG. A menu itemWouter Bolsterlee2006-04-201-1/+2
| | | | | | | | | | | | | | 2006-04-20 Wouter Bolsterlee <uws+gnome@xs4all.nl> * data/evince-ui.xml: * shell/ev-view.c: (ev_view_can_find_previous): * shell/ev-view.h: * shell/ev-window.c: (ev_window_update_actions), (ev_window_cmd_edit_find_previous): Add support for "Find Previous" as dictated by the GNOME HIG. A menu item is added and some glue code to make it all work is added to various files.
* Dont't jump to find result if window was scrolled during search. Fix forNickolay V. Shmyrev2006-02-241-0/+1
| | | | | | | | | | | | * shell/ev-view-private.h: * shell/ev-view.c: (ev_view_scroll), (ev_view_scroll_event), (ev_view_init), (find_changed_cb), (ev_view_find_previous), (ev_view_search_changed): * shell/ev-view.h: * shell/ev-window.c: (find_bar_search_changed_cb): Dont't jump to find result if window was scrolled during search. Fix for the bug #313266.
* Fix for the bug 319133 - Find entry should allow text scroll.Stanislav Slusny2006-02-201-2/+12
| | | | | | | | | | | | | | | | | | 2006-02-21 Stanislav Slusny <slusnys@gmail.com> * shell/eggfindbar.c: (egg_find_bar_class_init): * shell/eggfindbar.h: * shell/ev-view-accessible.c: (ev_view_accessible_idle_do_action): * shell/ev-view-private.h: * shell/ev-view.c: (add_scroll_binding_keypad), (ev_view_scroll), (ev_view_class_init), (ev_sizing_mode_get_type), (ev_scroll_type_get_type): * shell/ev-view.h: * shell/ev-window.c: (ev_window_cmd_scroll_forward), (ev_window_cmd_scroll_backward), (find_bar_scroll), (ev_window_init): Fix for the bug 319133 - Find entry should allow text scroll.
* Draw Loading message during xfer job. Fix for the bug #329495.Nickolay V. Shmyrev2006-02-071-0/+2
| | | | | | | | | | | | * shell/ev-view-private.h: * shell/ev-view.c: (ev_view_expose_event), (ev_view_set_loading), (ev_view_set_document): * shell/ev-view.h: * shell/ev-window.c: (ev_window_load_job_cb), (ev_window_xfer_job_cb), (ev_window_open_uri), (ev_window_dispose), (ev_window_init): Draw Loading message during xfer job. Fix for the bug #329495.
* Dual mode places even pages to the left. Fix for the bug #309393.Nickolay V. Shmyrev2006-01-071-2/+0
| | | | | | | | | | | | | | | | | | | | | | | * shell/ev-page-cache.c: (build_height_to_page), (ev_page_cache_get_height_to_page): * shell/ev-page-cache.h: * shell/ev-view.c: (view_update_range_and_current_page), (get_page_y_offset), (get_page_extents), (ev_view_next_page), (ev_view_previous_page): Dual mode places even pages to the left. Fix for the bug #309393. * shell/ev-view.h: * shell/ev-window.c: (update_action_sensitivity), (setup_view_from_metadata), (view_menu_popup_cb): Don't restore presentation in empty windows, more intelligent next page behaviour in dual mode. * shell/ev-pixbuf-cache.c: (check_job_size_and_unref), (ev_pixbuf_cache_clear_job_sizes): Cleanup job callback on removal. Fix for the bug #325886.
* Two page scrolling with Space and PageUp in dual mode. Second fix for theNickolay V. Shmyrev2006-01-061-0/+2
| | | | | | | | | | * shell/ev-view.c: (ev_view_scroll), (ev_view_previous_page), (ev_view_can_previous_page), (ev_view_can_next_page): * shell/ev-view.h: * shell/ev-window.c: (update_action_sensitivity): Two page scrolling with Space and PageUp in dual mode. Second fix for the bug #316608.
* Initial accessibility support.Nickolay V. Shmyrev2005-10-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * po/POTFILES.in: * shell/Makefile.am: * shell/ev-view-accessible.c: (ev_view_accessible_get_priv), (ev_view_accessible_free_priv), (ev_view_accessible_class_init), (ev_view_accessible_get_text), (ev_view_accessible_get_character_at_offset), (ev_view_accessible_get_text_before_offset), (ev_view_accessible_get_text_at_offset), (ev_view_accessible_get_text_after_offset), (ev_view_accessible_get_character_count), (ev_view_accessible_get_caret_offset), (ev_view_accessible_set_caret_offset), (ev_view_accessible_get_run_attributes), (ev_view_accessible_get_default_attributes), (ev_view_accessible_get_character_extents), (ev_view_accessible_get_offset_at_point), (ev_view_accessible_get_n_selections), (ev_view_accessible_get_selection), (ev_view_accessible_add_selection), (ev_view_accessible_remove_selection), (ev_view_accessible_set_selection), (ev_view_accessible_text_iface_init), (ev_view_accessible_idle_do_action), (ev_view_accessible_action_do_action), (ev_view_accessible_action_get_n_actions), (ev_view_accessible_action_get_description), (ev_view_accessible_action_get_name), (ev_view_accessible_action_set_description), (ev_view_accessible_action_iface_init), (ev_view_accessible_get_type), (ev_view_accessible_new), (ev_view_accessible_factory_get_accessible_type), (ev_view_accessible_factory_create_accessible), (ev_view_accessible_factory_class_init), (ev_view_accessible_factory_get_type): * shell/ev-view-accessible.h: * shell/ev-view-private.h: * shell/ev-view.c: (ev_view_get_accessible), (ev_view_class_init): * shell/ev-view.h: Initial accessibility support.
* Disable copy action when there isn't text selected.Carlos Garcia Campos2005-09-271-0/+1
| | | | | | 2005-09-27 Carlos Garcia Campos <carlosgc@gnome.org> * shell/ev-view.[ch], shell/ev-window.c: Disable copy action when there isn't text selected.
* Do not use modes for link, we need to calculate size ad hoc. Still notMarco Pesenti Gritti2005-09-241-1/+0
| | | | | | | | | | | | | | | | | | | | | 2005-09-24 Marco Pesenti Gritti <mpg@redhat.com> * shell/ev-view.c: (ev_view_get_width), (ev_view_get_height), (goto_fitv_link), (goto_fith_link), (goto_fit_link), (ev_view_goto_link), (ev_view_size_request_continuous_dual_page), (ev_view_size_request_continuous), (ev_view_size_request_dual_page), (ev_view_size_request_single_page), (ev_view_size_allocate), (ev_view_zoom_for_size_continuous_and_dual_page), (ev_view_zoom_for_size_continuous), (ev_view_zoom_for_size_dual_page), (ev_view_zoom_for_size_single_page), (ev_view_set_zoom_for_size), (ev_sizing_mode_get_type): * shell/ev-view.h: * shell/ev-window.c: (ev_window_sizing_mode_changed_cb): Do not use modes for link, we need to calculate size ad hoc. Still not perfect because of the usual scrollbar issues grrr.
* Implement FIT_HEIGHT mode (only for links). Implement FITH linksMarco Pesenti Gritti2005-09-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | 2005-09-24 Marco Pesenti Gritti <mpg@redhat.com> * backend/ev-link.c: (ev_link_type_get_type), (ev_link_new_page_fith), (ev_link_new_page_fitv): * backend/ev-link.h: * pdf/ev-poppler.cc: * shell/ev-view.c: (goto_fitv_link), (goto_fith_link), (ev_view_goto_link), (ev_view_size_request_continuous_dual_page), (ev_view_size_request_continuous), (ev_view_size_request_dual_page), (ev_view_size_request_single_page), (ev_view_size_allocate), (zoom_for_size_fit_height), (ev_view_zoom_for_size_continuous_and_dual_page), (ev_view_zoom_for_size_continuous), (ev_view_zoom_for_size_dual_page), (ev_view_zoom_for_size_single_page), (ev_view_set_zoom_for_size), (ev_sizing_mode_get_type): * shell/ev-view.h: * shell/ev-window.c: (ev_window_sizing_mode_changed_cb): Implement FIT_HEIGHT mode (only for links). Implement FITH links
* Move page next/previous functions from page chace to view and change it toMarco Pesenti Gritti2005-09-191-0/+2
| | | | | | | | | | | | | | | | 2005-09-19 Marco Pesenti Gritti <mpg@redhat.com> * shell/ev-page-cache.c: * shell/ev-page-cache.h: * shell/ev-view.c: (ev_view_binding_activated), (ev_view_next_page), (ev_view_previous_page), (ev_sizing_mode_get_type): * shell/ev-view.h: * shell/ev-window.c: (ev_window_cmd_go_previous_page), (ev_window_cmd_go_next_page): Move page next/previous functions from page chace to view and change it to move by 2 page steps in dual mode.
* Add a signal for link activation.Marco Pesenti Gritti2005-09-081-1/+3
| | | | | | | | | | | | | | | | | | | | | | 2005-09-08 Marco Pesenti Gritti <mpg@redhat.com> * shell/ev-sidebar-links.c: (ev_sidebar_links_class_init), (selection_changed_callback): * shell/ev-sidebar-links.h: Add a signal for link activation. * shell/ev-view.c: (ev_view_goto_link), (ev_view_button_release_event): * shell/ev-view.h: * shell/ev-window.c: (sidebar_links_link_activated_cb), (ev_window_init): Implement the signal so that we can handle all link types. * shell/ev-page-cache.c: Remove unused set_link function
* * shell/ev-metadata-manager.c: (ev_metadata_manager_init): *Jonathan Blandford2005-08-151-0/+3
| | | | | | | | | | | | Mon Aug 15 00:40:21 2005 Jonathan Blandford <jrb@redhat.com> * pdf/ev-poppler.cc: * shell/ev-metadata-manager.c: (ev_metadata_manager_init): * shell/ev-view.c: (ev_view_rotate_left), (ev_view_set_rotation), (ev_view_get_rotation): * shell/ev-view.h: * shell/ev-window.c: (setup_view_from_metadata), (save_rotation_to_file), (ev_window_cmd_edit_rotate_left), (ev_window_cmd_edit_rotate_right): Fix rotation. Save it to disk.
* Add support for some more typesMarco Pesenti Gritti2005-07-061-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-07-06 Marco Pesenti Gritti <set EMAIL_ADDRESS environment variable> * shell/ev-metadata-manager.c: (parse_value), (save_values), (ev_metadata_manager_set_int), (ev_metadata_manager_set_double), (ev_metadata_manager_set_string), (ev_metadata_manager_set_boolean): * shell/ev-metadata-manager.h: Add support for some more types * shell/ev-view.c: (scroll_to_current_page), (ev_view_get_continuous), (ev_view_set_continuous), (ev_view_get_dual_page): * shell/ev-view.h: * shell/ev-window.c: (page_changed_cb), (setup_document_from_metadata), (ev_window_setup_document), (setup_view_from_metadata), (ev_window_open_uri), (ev_window_run_fullscreen), (ev_window_stop_fullscreen), (ev_window_run_presentation), (ev_window_stop_presentation), (save_sizing_mode), (ev_window_sizing_mode_changed_cb), (ev_window_zoom_changed_cb), (ev_window_update_continuous_action), (ev_window_update_dual_page_action), (ev_window_continuous_changed_cb), (ev_window_dual_mode_changed_cb), (ev_window_init): Remember a bunch of view/document properties. Prolly some are still missing but it's getting interesting.
* Massive changes. We now support text selection of pdfs, and not justJonathan Blandford2005-06-301-0/+5
| | | | | | | | | | | | 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-2/+2
| | | | | | | | | | | | | | | | | | | | | 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-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Use gdk_window_scroll instead of gtk_widget_queue_draw. Massive speedupsJonathan Blandford2005-05-201-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | Fri May 20 01:07:15 2005 Jonathan Blandford <jrb@redhat.com> * shell/ev-view.c (view_update_adjustments): Use gdk_window_scroll instead of gtk_widget_queue_draw. Massive speedups in scrolling. Fri May 20 01:05:10 2005 Jonathan Blandford <jrb@redhat.com> * .cvsignore: * shell/ev-view.c:(ev_view_size_allocate), (ev_view_class_init), (zoom_for_size_fit_width), (zoom_for_size_best_fit), (ev_view_zoom_for_size_presentation), (ev_view_zoom_for_size_continuous_and_dual_page), (ev_view_zoom_for_size_continuous), (ev_view_zoom_for_size_dual_page), (ev_view_zoom_for_size_single_page), (ev_view_set_zoom_for_size): * shell/ev-view.h: * shell/ev-window.c: (update_view_size), (ev_window_sizing_mode_changed_cb): Patch from Nickolay Shmyrev <nshmyrev@yandex.ru> to handle the scrollbars. It's not 100% right, but it's much closer. Kills an infinite loop, #304769
* Massive code clean up from Nickolay Shmyrev. Keep page offset whenJonathan Blandford2005-05-181-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tue May 17 22:54:17 2005 Jonathan Blandford <jrb@redhat.com> * shell/ev-view.c: (view_update_adjustments), (view_set_adjustment_values), (view_update_range_and_current_page), (view_scroll_to_page), (set_scroll_adjustment), (ev_view_set_scroll_adjustments), (add_scroll_binding_keypad), (ev_view_scroll), (ev_view_scroll_view), (ensure_rectangle_is_visible), (find_page_at_location), (get_link_at_location), (go_to_link), (status_message_from_link), (ev_view_size_request_continuous_dual_page), (ev_view_size_request), (ev_view_size_allocate), (ev_view_realize), (ev_view_unrealize), (ev_view_expose_event), (ev_view_button_press_event), (ev_view_motion_notify_event), (ev_view_button_release_event), (ev_gdk_color_to_rgb), (draw_rubberband), (highlight_find_results), (draw_one_page), (ev_view_finalize), (ev_view_destroy), (ev_view_class_init), (ev_view_init), (find_changed_cb), (page_changed_cb), (on_adjustment_value_changed), (ev_view_new), (ev_view_set_document), (ev_view_set_zoom), (ev_view_set_continuous), (ev_view_set_dual_page), (ev_view_set_presentation), (ev_view_zoom_in), (ev_view_zoom_out), (zoom_for_size_fit_width), (zoom_for_size_best_fit), (ev_view_zoom_for_size_presentation), (ev_view_zoom_for_size_continuous_dual_page), (ev_view_zoom_for_size_continuous), (ev_view_zoom_for_size_dual_page), (ev_view_zoom_for_size_single_page), (ev_view_set_zoom_for_size), (ev_view_get_status), (ev_view_set_status), (update_find_status_message), (ev_view_get_find_status), (ev_view_set_find_status), (jump_to_find_result), (jump_to_find_page), (compute_selections), (clear_selection), (ev_view_select_all), (get_selected_text), (ev_view_copy), (ev_view_primary_get_cb), (ev_view_primary_clear_cb), (ev_view_update_primary_selection), (ev_view_create_invisible_cursor), (ev_view_set_cursor): * shell/ev-view.h: * shell/ev-window.c: (ev_window_open_page_label), (ev_window_cmd_view_reload), (ev_window_sizing_mode_changed_cb), (ev_window_init): * shell/ev-window.h: * shell/main.c: (load_files): Massive code clean up from Nickolay Shmyrev. Keep page offset when resizing. Remove the bin_window(). Also, patch from James Bowes to fix command line page, #300641
* Get rid of View->Normal Size, it's just confusingMarco Pesenti Gritti2005-05-171-1/+0
| | | | | | | | | | | 2005-05-17 Marco Pesenti Gritti <mpg@redhat.com> * data/evince-ui.xml: * shell/ev-view.c: * shell/ev-view.h: * shell/ev-window.c: (update_action_sensitivity): Get rid of View->Normal Size, it's just confusing
* This is evil... Make space/backspace global accelerators but enable themMarco Pesenti Gritti2005-05-101-46/+51
| | | | | | | | | | | | | | | | | | | | | | | 2005-05-10 Marco Pesenti Gritti <mpg@redhat.com> * data/evince-ui.xml: * shell/ev-sidebar-links.c: (ev_sidebar_links_get_treeview): * shell/ev-sidebar-links.h: * shell/ev-sidebar-thumbnails.c: (ev_sidebar_thumbnails_get_treeview): * shell/ev-sidebar-thumbnails.h: * shell/ev-view.c: (ev_view_scroll), (ev_view_scroll_view), (ev_view_class_init): * shell/ev-view.h: * shell/ev-window.c: (update_action_sensitivity), (ev_window_cmd_scroll_forward), (ev_window_cmd_scroll_backward), (set_view_actions_sensitivity), (view_actions_focus_in_cb), (view_actions_focus_out_cb), (enable_view_actions_for_widget), (ev_window_init): This is evil... Make space/backspace global accelerators but enable them only for some widgets (sidebars and view). I dont like it, but I dont know a better way... :/
* Output zoom-control Makefile. build zoom-control subdir.James Bowes2005-05-021-13/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-05-02 James Bowes <bowes@cs.dal.ca> * configure.ac: Output zoom-control Makefile. * cut-n-paste/Makefile.am: build zoom-control subdir. * cut-n-paste/zoom-control/ephy-zoom-action.c: * cut-n-paste/zoom-control/ephy-zoom-action.h: * cut-n-paste/zoom-control/ephy-zoom-control.c: * cut-n-paste/zoom-control/ephy-zoom-control.h: * cut-n-paste/zoom-control/ephy-zoom.c: * cut-n-paste/zoom-control/ephy-zoom.h: New files imported from epiphany, and modified to add a separator into the menu. * cut-n-paste/zoom-control/Makefile.am: Build zoom-control. * data/evince-ui.xml: Replace old zoom toolbar actions with new zoom-control action. * shell/Makefile.am: Include zoom-control flags. * shell/ev-view.c: (ev_view_set_zoom), (ev_view_get_zoom), (ev_view_get_sizing_mode), (ev_view_zoom_in), (ev_view_zoom_out), (ev_view_zoom_for_size_presentation), (ev_view_zoom_for_size_continuous_and_dual_page), (ev_view_zoom_for_size_continuous), (ev_view_zoom_for_size_dual_page), (ev_view_zoom_for_size_single_page), (ev_view_zoom_normal): s/ev_view_zoom/ev_view_set_zoom/ and make public, add ev_view_get_zoom and ev_view_get_sizing_mode. * shell/ev-view.h: * shell/ev-window.c: (update_action_sensitivity), (update_sizing_buttons), (zoom_control_changed_cb), (register_custom_actions): Initialize and use the zoom-control widget.
* Change the preview cache back to 1. Don't know when it got set to 0.Jonathan Blandford2005-05-011-11/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sun May 1 00:46:47 2005 Jonathan Blandford <jrb@redhat.com> * shell/ev-pixbuf-cache.c: (ev_pixbuf_cache_init): Change the preview cache back to 1. Don't know when it got set to 0. * shell/ev-view.c: (compute_border), (ev_view_realize), (draw_one_page), (ev_view_set_property), (ev_view_get_property), (ev_view_class_init), (ev_view_init), (ev_view_set_fullscreen), (ev_view_get_fullscreen), (ev_view_set_presentation), (ev_view_get_presentation), (ev_view_set_sizing_mode), (ev_view_zoom_for_size_presentation), (ev_view_set_zoom_for_size): * shell/ev-view.h: * shell/ev-window.c: (update_chrome_visibility), (ev_window_cmd_continuous), (ev_window_cmd_dual), (ev_window_cmd_view_best_fit), (ev_window_cmd_view_page_width), (update_document_mode), (ev_window_update_fullscreen_action), (ev_window_fullscreen), (ev_window_unfullscreen), (ev_window_cmd_view_fullscreen), (ev_window_update_presentation_action), (ev_window_run_presentation), (ev_window_stop_presentation), (ev_window_cmd_view_presentation), (ev_window_state_event), (ev_window_focus_in_event), (ev_window_focus_out_event), (ev_window_cmd_escape), (ev_window_sidebar_visibility_changed_cb): * data/evince-ui.xml: Initial presentation mode. We should probably hide this until it's done, as it's quite rough. Also, change full-screen to fullscreen and add two getters to EvView.
* Fix links for dual/continuous. Also, add a quick fix measuring of widths.Jonathan Blandford2005-04-241-4/+0
| | | | | | | | | | | | | | | Sun Apr 24 01:07:27 2005 Jonathan Blandford <jrb@redhat.com> * shell/ev-view.c: (find_page_at_location), (get_link_at_location), (ev_view_set_show_border), (ev_view_set_spacing), (ev_view_zoom_for_size_continuous_and_dual_page), (ev_view_zoom_for_size_continuous): Fix links for dual/continuous. Also, add a quick fix measuring of widths. Also, removed ev_view_set_spacing and ev_view_set_show_border. * shell/ev-window.c: (ev_window_unfullscreen), (ev_window_cmd_view_fullscreen): Don't adjust the border/spacing.
* Add Continuous and Dual page modes.Jonathan Blandford2005-04-231-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sat Apr 23 13:13:04 2005 Jonathan Blandford <jrb@redhat.com> * TODO: * backend/ev-page-cache.c: (_ev_page_cache_new), (ev_page_cache_get_max_width_size), (ev_page_cache_get_max_height_size): * backend/ev-page-cache.h: * data/evince-ui.xml: * shell/ev-pixbuf-cache.c: (ev_pixbuf_cache_init): * shell/ev-view.c: (view_update_adjustments), (view_update_range_and_current_page), (get_bounding_box_size), (ev_view_size_request_continuous_and_dual_page), (ev_view_size_request_continuous), (ev_view_size_request_dual_page), (ev_view_size_request_single_page), (ev_view_size_request), (ev_view_size_allocate), (get_page_extents), (draw_one_page), (ev_view_bin_expose), (ev_view_expose_event), (ev_view_set_property), (ev_view_get_property), (ev_view_class_init), (ev_view_init), (ev_view_new), (page_changed_cb), (ev_view_zoom), (ev_view_set_continuous), (ev_view_set_dual_page), (ev_view_set_full_screen), (ev_view_set_presentation), (ev_view_set_sizing_mode), (ev_view_can_zoom_in), (ev_view_can_zoom_out), (ev_view_zoom_in), (ev_view_zoom_out), (zoom_for_size_fit_width), (zoom_for_size_best_fit), (ev_view_zoom_for_size_continuous_and_dual_page), (ev_view_zoom_for_size_continuous), (ev_view_zoom_for_size_dual_page), (ev_view_zoom_for_size_single_page), (ev_view_set_zoom_for_size), (ev_view_show_cursor), (ev_sizing_mode_get_type): * shell/ev-view.h: * shell/ev-window.c: (update_action_sensitivity), (ev_window_cmd_continuous), (ev_window_cmd_dual), (ev_window_cmd_view_best_fit), (ev_window_cmd_view_page_width), (update_sizing_buttons), (ev_window_cmd_view_zoom_in), (ev_window_cmd_view_zoom_out), (update_view_size), (ev_window_set_sizing_mode), (ev_window_init): Add Continuous and Dual page modes.
* Fix normal size zoom. Make zoom in/zoom out unsensitive when they areMarco Pesenti Gritti2005-04-221-0/+3
| | | | | | | | | | | | | | | | 2005-04-22 Marco Pesenti Gritti <mpg@redhat.com> * shell/ev-view.c: (ev_view_can_zoom_in), (ev_view_can_zoom_out), (ev_view_zoom_out), (ev_view_zoom_normal): * shell/ev-view.h: * shell/ev-window.c: (update_action_sensitivity), (ev_window_cmd_view_best_fit), (ev_window_cmd_view_page_width), (ev_window_cmd_view_zoom_in), (ev_window_cmd_view_zoom_out), (ev_window_cmd_view_normal_size): Fix normal size zoom. Make zoom in/zoom out unsensitive when they are behyond the limits. Tweak MAX_ZOOM to 6, sucks but better than oom.
* Minor cleanups removing some dead code.Jonathan Blandford2005-04-161-5/+0
| | | | | | | | | | | Sat Apr 16 18:53:47 2005 Jonathan Blandford <jrb@redhat.com> * shell/ev-sidebar-links.c: (selection_changed_cb): * shell/ev-view.c: (ev_view_finalize), (go_to_link), (ev_view_button_release_event), (ev_view_set_document): * shell/ev-view.h: * shell/ev-window.c: (find_bar_search_changed_cb): * shell/ev-window.h: Minor cleanups removing some dead code.
* Allow setting view spacing, default to 0Marco Pesenti Gritti2005-04-161-0/+2
| | | | | | | | | | | | | | 2005-04-16 Marco Pesenti Gritti <mpg@redhat.com> * shell/ev-view.c: (ev_view_set_spacing), (ev_view_init): * shell/ev-view.h: Allow setting view spacing, default to 0 * shell/ev-window.c: (ev_window_unfullscreen), (ev_window_cmd_view_fullscreen), (ev_window_init): Remove spacing in fullscreen mode
* Do not draw the border in fulscreenMarco Pesenti Gritti2005-04-161-0/+2
| | | | | | | | | | | | | 2005-04-16 Marco Pesenti Gritti <mpg@redhat.com> * shell/ev-view.c: (compute_border), (compute_zoom_factor), (ev_view_size_request), (expose_bin_window), (ev_view_set_show_border), (ev_view_init), (page_changed_cb): * shell/ev-view.h: * shell/ev-window.c: (ev_window_unfullscreen), (ev_window_cmd_view_fullscreen): Do not draw the border in fulscreen
* Add Edit->Find NextMarco Pesenti Gritti2005-04-081-0/+1
| | | | | | | | | | | | | 2005-04-08 Marco Pesenti Gritti <mpg@redhat.com> * data/evince-ui.xml: * shell/ev-view.c: (ev_view_can_find_next): * shell/ev-view.h: * shell/ev-window.c: (update_action_sensitivity), (find_changed_cb), (ev_window_setup_document), (ev_window_cmd_edit_find_next): Add Edit->Find Next
* Make searching work again.Kristian Høgsberg2005-04-051-0/+1
| | | | | | | | | | | | | | | | | | | 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.
* merge evince-threads branchMarco Pesenti Gritti2005-03-231-7/+0
|
* Separate page/scale notificationsMarco Pesenti Gritti2005-02-241-12/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Automatically hide the fullscreen button. Patch by Kristian HøgsbergMarco Pesenti Gritti2005-02-161-0/+4
| | | | | | | | | | | | | | | | | | | | 2005-02-16 Marco Pesenti Gritti <marco@gnome.org> * shell/ev-view.c: (ev_view_realize), (highlight_find_results), (ev_view_create_invisible_cursor), (ev_view_set_cursor), (set_document_page), (document_changed_callback), (ev_view_set_document), (ev_view_find_previous), (ev_view_hide_cursor), (ev_view_show_cursor): * shell/ev-view.h: * shell/ev-window.c: (update_chrome_visibility), (fullscreen_timeout_cb), (fullscreen_set_timeout), (fullscreen_clear_timeout), (fullscreen_motion_notify_cb), (fullscreen_leave_notify_cb), (ev_window_fullscreen), (ev_window_unfullscreen): * shell/main.c: (main): Automatically hide the fullscreen button. Patch by Kristian Høgsberg <krh@redhat.com>
* New function to canonicalize sizing/painting a border.Jonathan Blandford2005-02-161-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | Tue Feb 15 22:27:13 2005 Jonathan Blandford <jrb@redhat.com> * backend/ev-document-misc.h: * backend/ev-document-misc.c: (ev_document_misc_get_page_border_size), (ev_document_misc_paint_one_page): New function to canonicalize sizing/painting a border. * shell/Makefile.am: Remove ev-page-view.c entirely as it's not used. * pdf/xpdf/pdf-document.cc: use new function * shell/ev-view.c: (ev_view_size_request), (expose_bin_window), (ev_view_init), (ev_view_set_mode), (ev_view_zoom), (ev_view_best_fit), (ev_view_fit_width): * shell/ev-view.h: * shell/ev-window.c: (update_sizing_buttons), (ev_window_setup_document), (ev_window_cmd_view_zoom_in), (ev_window_cmd_view_zoom_out), (ev_window_cmd_view_best_fit), (ev_window_cmd_view_page_width), (size_allocate_cb), (ev_window_set_sizing_mode), (ev_window_init): make the "best fit" and "fit width" values act as toggle buttons so they stay toggled. It's not 100% perfect, and it's a little slow, but it's good enough to commit I think.
* add parameters providing allocation width and height without scrollbarsMartin Kretzschmar2005-02-151-2/+2
| | | | | | | | | | | | | | | | | * shell/ev-view.c (ev_view_best_fit, ev_view_fit_width): add parameters providing allocation width and height without scrollbars and width of a possible vertical scrollbar. With this additional information the functions can work as intended. Unfortunately they're not idempotent. We should transform these commands to toggles. Fixes Bug #164976 Initial patch by Stephane Loeuillet, then heavily modified. * shell/ev-view.h: update prototypes. * shell/ev-window.c (ev_window_cmd_view_best_fit) (ev_window_cmd_view_page_width): provide EvView fit functions with all the information they need. Formulas to calculate this information taken from GtkScrolledWindow.
* More work on find implementation, mostly there nowMarco Pesenti Gritti2005-01-301-0/+4
| | | | | | | | | | | | | | | | | | 2005-01-30 Marco Pesenti Gritti <marco@gnome.org> * backend/ev-document-find.c: (ev_document_find_base_init), (ev_document_find_changed): * backend/ev-document-find.h: * pdf/xpdf/pdf-document.cc: * shell/ev-view.c: (draw_rubberband), (highlight_find_results), (expose_bin_window), (ev_view_init), (set_document_page), (ensure_rectangle_is_visible), (jump_to_find_result), (jump_to_find_page), (find_changed_cb), (ev_view_set_document), (ev_view_find_next), (ev_view_find_previous): * shell/ev-view.h: * shell/ev-window.c: (find_bar_previous_cb), (find_bar_next_cb): More work on find implementation, mostly there now
* Kill session historyMarco Pesenti Gritti2005-01-271-3/+0
| | | | | | | | | | | | | | | | | | 2005-01-27 Marco Pesenti Gritti <marco@gnome.org> * data/evince-ui.xml: * shell/Makefile.am: * shell/ev-history.c: * shell/ev-history.h: * shell/ev-navigation-action.c: * shell/ev-navigation-action.h: * shell/ev-view.c: (ev_view_finalize), (ev_view_go_to_link), (ev_view_set_page), (ev_view_fit_width): * shell/ev-view.h: * shell/ev-window.c: (update_action_sensitivity), (ev_window_setup_document), (register_custom_actions): Kill session history
* new functions to help with implementation of sensitivity code FixDave Malcolm2005-01-141-0/+2
| | | | | | | | | | | 2005-01-14 Dave Malcolm <dmalcolm@redhat.com> * shell/ev-view.h: * shell/ev-view.c (ev_view_can_go_back), (ev_view_can_go_forward): new functions to help with implementation of sensitivity code * shell/ev-window.c (update_action_sensitivity): Fix sensitivity of all actions that might require it. Fixes a crash when you click on the Zoom actions in a window lacking a document.
* View status message support, use it to show the links. Needs work...Marco Pesenti Gritti2005-01-131-2/+3
| | | | | | | | | | | | | | | | | | | | | | 2005-01-13 Marco Pesenti Gritti <marco@gnome.org> * pixbuf/pixbuf-document.c: (pixbuf_document_get_link), (pixbuf_document_document_iface_init): * ps/ps-document.c: (ps_document_get_link), (ps_document_document_iface_init): * shell/ev-view.c: (ev_view_realize), (ev_view_button_press_event), (status_message_from_link), (ev_view_set_status), (ev_view_set_find_status), (ev_view_motion_notify_event), (ev_view_button_release_event), (ev_view_set_property), (ev_view_get_property), (ev_view_class_init), (ev_view_init), (ev_view_get_find_status_message), (update_find_results), (ev_view_get_status), (ev_view_get_find_status): * shell/ev-view.h: * shell/ev-window.c: (view_status_changed_cb), (view_find_status_changed_cb), (ev_window_init): View status message support, use it to show the links. Needs work...