2005-02-02 13:22:53 +00:00
|
|
|
|
|
|
|
SOME RANDOM COMMENTS:
|
|
|
|
=====================
|
|
|
|
|
|
|
|
* We assume that all documents can be broken down into a linear
|
|
|
|
collection of pages.
|
|
|
|
|
|
|
|
* If a document type doesn't break down in such a way (like web pages)
|
|
|
|
then it's probably not a good fit for this application.
|
|
|
|
|
|
|
|
* Each page has a natural page size in pixels. This is generally
|
|
|
|
ignored in favor of a scale-to-fit mode, but is occasionally
|
|
|
|
important for backends like the image backend.
|
|
|
|
|
|
|
|
* Each page is not necessarily the same size.
|
|
|
|
|
|
|
|
* We refer to pages by page number. This number ranges from 1 to
|
|
|
|
document->n_pages. A page index of -1 means the current set page,
|
|
|
|
and a page index of 0 is not used.
|
|
|
|
|
|
|
|
|
2006-03-13 20:26:01 +00:00
|
|
|
THOUGHTS ON THREADING:
|
|
|
|
=====================
|
2005-02-02 13:22:53 +00:00
|
|
|
|
|
|
|
* The primary thing we are trying to do is minimize switching pages, as
|
|
|
|
doing so is slow for backends. Additionally, some operations on the
|
2005-06-30 05:44:28 +00:00
|
|
|
backend are slow, leaving poor interactivity.
|
2005-02-02 13:22:53 +00:00
|
|
|
|
2006-03-13 20:26:01 +00:00
|
|
|
THOUGHTS ON SELECTION:
|
|
|
|
=====================
|
2005-06-30 05:44:28 +00:00
|
|
|
|
|
|
|
* On button_press, we record selection_start, and set in_selection.
|
|
|
|
|
|
|
|
* selection_list must be ordered!!!
|
|
|
|
|
|
|
|
* On motion_notify, we update selection_end and call compute_selection,
|
|
|
|
that keeps an ordered list of the selections.
|
|
|
|
|
|
|
|
* If any of the selection changes, we notify the pixbuf_cache right
|
|
|
|
away.
|
|
|
|
|
|
|
|
* On button_release, we unset in_selection, and trim all the current
|
|
|
|
pixbufs.
|
|
|
|
|
|
|
|
* If a resize (somehow) occurs, during a selection, we clear
|
|
|
|
in_selection and abort.
|
|
|
|
|
|
|
|
* I'd like to support shift-click to handle extending the selection,
|
|
|
|
but for that to survive resizing, I might need to store the points as
|
|
|
|
doubles, etc. It should be possible to reconstruct it from the
|
|
|
|
existing EvViewSelection structs, so maybe I don't need it.
|
Clean up selection to be much smoother!
Sat Aug 6 01:12:44 2005 Jonathan Blandford <jrb@redhat.com>
* NOTES:
* backend/ev-selection.c: (ev_selection_render_selection):
* backend/ev-selection.h:
* pdf/ev-poppler.cc:
* shell/ev-jobs.c: (ev_job_render_dispose), (ev_job_render_new),
(ev_job_render_run):
* shell/ev-jobs.h:
* shell/ev-pixbuf-cache.c: (dispose_cache_job_info),
(ev_pixbuf_cache_new), (job_finished_cb), (add_job_if_needed),
(convert_gdk_color_to_uint), (ev_pixbuf_cache_get_text_mapping),
(ev_pixbuf_cache_style_changed),
(ev_pixbuf_cache_get_selection_pixbuf),
(ev_pixbuf_cache_set_selection_list),
(ev_pixbuf_cache_get_selection_list):
* shell/ev-pixbuf-cache.h:
* shell/ev-utils.c: (ev_print_region_contents):
* shell/ev-utils.h:
* shell/ev-view.c: (ev_view_queue_draw_page),
(selection_update_idle_cb), (ev_view_motion_notify_event),
(ev_view_style_set), (draw_one_page), (ev_view_class_init),
(setup_caches), (ev_view_find_next), (merge_selection_region),
(selection_free):
* shell/ev-window.c: (ev_window_update_fullscreen_popup):
Clean up selection to be much smoother!
2005-08-06 05:13:20 +00:00
|
|
|
|
2006-03-13 20:26:01 +00:00
|
|
|
* click-drag, dbl click, triple click, shift-click, search, shift-cursor move
|
|
|
|
|
Implements another history variant
2007-01-28 Nickolay V. Shmyrev <nshmyrev@yandex.ru>
* NOTES:
* backend/djvu/djvu-links.c: (djvu_links_get_links_model):
* backend/pdf/ev-poppler.cc:
* libdocument/ev-document-links.h:
* libdocument/ev-link.c: (ev_link_get_page):
* libdocument/ev-link.h:
* shell/ev-history.c: (ev_history_init), (ev_history_class_init),
(ev_history_add_link):
* shell/ev-history.h:
* shell/ev-navigation-action.c: (activate_menu_item_cb),
(new_history_menu_item), (build_menu):
* shell/ev-page-cache.c: (ev_page_cache_set_current_page_history):
* shell/ev-sidebar-links.c: (create_loading_model),
(print_section_cb), (ev_sidebar_links_construct),
(fill_page_labels), (update_page_callback_foreach),
(update_page_callback), (job_finished_callback):
* shell/ev-view.c: (ev_view_handle_link):
* shell/ev-window.c: (ev_window_find_chapter),
(ev_window_add_history), (view_handle_link_cb),
(history_changed_cb):
Implements another history variant
svn path=/trunk/; revision=2264
2007-01-28 20:43:21 +00:00
|
|
|
|
|
|
|
THOUGHTS ON HISTORY:
|
|
|
|
====================
|
|
|
|
|
|
|
|
* We need single history button, back/forward will complicate things.
|
|
|
|
|
|
|
|
* When we jump on dest link we should add current page and link to the history.
|
|
|
|
|
|
|
|
* When we jump on external link we should just add external link.
|
|
|
|
|
|
|
|
* It's enough to have 7 entries in history, too many entries complicates things.
|
|
|
|
|
|
|
|
* We should avoid duplicate entries in history. If we'll activate entry
|
|
|
|
that already exists (have the same title) we can just move it to the top.
|
|
|
|
|