summaryrefslogtreecommitdiff
path: root/libview
AgeCommit message (Collapse)AuthorFilesLines
2020-06-18Fix -Wunused-function warnings caused by --enable-synctex=noOz N Tiram2-1/+12
2020-06-18Make synctex optionalOz Tiram1-1/+8
Not everyone who reads PDF's is necessarily a LaTeX user. These changes allow users to install atril without the huge bagage of tex-live on systems where synctex isn't provided as a stand alone library.
2019-12-08libview: fixing memory leakGiselle Reis1-22/+21
The memory leak was caused by a g_signal_connect which was never disconnected. This patch makes sure the signal is disconnected and the job is cancelled before creating another rendering job. It additionally introduces a helper function to cleanly finalize the job. origin commit: https://gitlab.gnome.org/GNOME/evince/commit/939c434
2019-12-08Revert "First page should not reloaded"raveit652-6/+5
This reverts commit 00fad2c0d0fcdade570a08f046e85a4558f1fc0c. and fixes https://github.com/mate-desktop/atril/issues/404
2019-11-28avoid redundant redeclarationsPablo Barciela4-33/+0
2019-11-23libview: Reset `pressed_button` when starting Drag and DropMartin Wimpress1-0/+2
If view->pressed_button is left set, when the Drag and Drop operation completes, Atril will act as if it is still in a selection event. Adapted from: https://gitlab.gnome.org/GNOME/evince/commit/92828bb797742e04aadbfdd62ba1da36837c37cf
2019-08-21ev-view: Remove unused variables and assignmentrbuj1-3/+0
2019-08-19view-presentation: Use monitor instead of screenraveit651-4/+30
to determine window size. Replace {Width/Hight}OfScreen which works only with X11
2019-08-16ev-link-accessible: avoid 'g_type_class_add_private'Pablo Barciela1-3/+2
2019-08-16ev-timeline: avoid 'g_type_class_add_private'Pablo Barciela1-41/+38
2019-08-16ev-form-field-accessible: avoid 'g_type_class_add_private'Pablo Barciela1-3/+2
2019-08-16ev-image-accessible: avoid 'g_type_class_add_private'Pablo Barciela1-3/+2
2019-08-16ev-transition-animation: avoid 'g_type_class_add_private'Pablo Barciela1-40/+37
2019-08-16ev-page-accessible: avoid 'g_type_class_add_private'Pablo Barciela1-3/+2
2019-08-16ev-view-accessible: avoid 'g_type_class_add_private'Pablo Barciela1-5/+3
2019-08-10DPI: compute monitor resolution or get screen resolutionrbuj2-20/+23
2019-08-01Fix build warning on marshallingraveit651-1/+1
Replace deprecated --header --body options inspired by: https://gitlab.gnome.org/GNOME/evince/commit/f6952c2
2019-07-01Remove trailing whitespacesLaurent Napias14-266/+266
2019-06-26Bump Cairo version to 1.14.0Matthew Petroff2-14/+0
such that hi-dpi conditionals aren't needed. origin commit: https://github.com/linuxmint/xreader/commit/df3cdc6
2018-10-20EvView: Fix cursor movement when logical and visual line order differsColomban Wendling1-0/+10
Make sure not to move the caret in the wrong direction when restoring the visual line X offset, in case the visual and logical order is slightly different. The algorithm used to move the cursor on the next line and restore the X position across lines works as follows: 1. Move `cursor_offset` to the next line by incrementing it until reaching a line break; 2. Find the Y coordinate corresponding to the new cursor_offset; 3. Find the text closest to the new Y coordinate and the previous X coordinate. 4. Move cursor_offset to the text at this new (X, Y) location. The issue lies in step 3, which can find a position on a different line than expected in case several lines have a nearly the same Y position. Evince references: * https://gitlab.gnome.org/GNOME/evince/issues/889 * https://gitlab.gnome.org/GNOME/evince/merge_requests/81 * https://gitlab.gnome.org/GNOME/evince/commit/dddd98b4c7922e2906bba6a31afa07837ae6c39c
2018-07-18presentation: avoid deprecated 'gtk_style_context_set_background'Pablo Barciela1-3/+0
2018-05-10libview: replace deprecated gdk_flushraveit652-4/+8
2018-04-05view: Fix page background rendering while loadingCarlos Garcia Campos1-0/+4
origin commit: https://git.gnome.org/browse/evince/commit/?h=gnome-3-8&id=38528f9
2018-04-05view: Use a rendered frame instead of custom borderWilliam Jon McCann1-27/+37
So it can be styled with CSS. https://bugzilla.gnome.org/show_bug.cgi?id=653294 origin commit: https://git.gnome.org/browse/evince/commit/?h=gnome-3-8&id=7a6b53a https://git.gnome.org/browse/evince/commit/?h=gnome-3-8&id=4657961
2018-04-05a11y: Return correct start and end offsetsJason Crain1-6/+9
This modifies ev_page_accessible_get_range_for_boundary to ensure that the start and end offsets it returns are within the allowed range. https://bugzilla.gnome.org/show_bug.cgi?id=777992 origin commit: https://git.gnome.org/browse/evince/commit/?id=e95a4e3
2018-04-05a11y: Fix crash with Orca screen readerJason Crain1-1/+1
ev_page_accessible_get_substring gets called with out of bounds values leading to a crash. Clamp start_offset to a valid range. https://bugzilla.gnome.org/show_bug.cgi?id=777992 origin commit: https://git.gnome.org/browse/evince/commit/?id=b34f357
2018-04-04libview: drop deprecated unneeded coderaveit651-3/+0
inspired by: https://git.gnome.org/browse/evince/commit/?h=gnome-3-8&id=a56186e
2018-04-02libview: fix text selection with mouse in annotation windowmonsta1-23/+32
taken from: https://github.com/GNOME/evince/commit/91ac78bc587eb2ac931136c9da9609b142410209
2018-03-27libview: fix build without epubraveit651-2/+2
Fixes https://github.com/mate-desktop/atril/issues/308
2018-03-26Allow changing the page of a presentationWilliam Jon McCann1-3/+24
https://bugzilla.gnome.org/show_bug.cgi?id=693749 origin commit: https://git.gnome.org/browse/evince/commit/?h=gnome-3-8&id=53d6a3
2018-03-26libview: Fix goto window in presentation modeCarlos Garcia Campos1-1/+2
It wasn't correctly set as modal. origin commit: https://git.gnome.org/browse/evince/commit/?h=gnome-3-2&id=987aab6
2018-03-26libview: avoid deprecated gdk_screen_get_monitorraveit651-4/+4
....in ev-view-presentation This was introduced again in previous commit.
2018-03-26EvPresentationView: Render correctly on hi-dpi displaysOwen W. Taylor1-13/+48
Create rendering jobs with a scale that incorporate the scale factor of the widget, and then use cairo_surface_set_device_scale() to make the resulting surfaces render at the correct size. Handle changes to the scale factor both for the cached surfaces, and also for the monitor dimensions, which are reported in scaled coordinates. https://bugzilla.gnome.org/show_bug.cgi?id=723431 origin commit: https://git.gnome.org/browse/evince/commit/?id=37c13b
2018-03-26libview: Fix g_return condition in set_device_scale_on_surface()Carlos Garcia Campos1-1/+1
Fail when device scale is not 1 if hidpi is not available, we were doing the opposite. origin commit: https://git.gnome.org/browse/evince/commit/?id=90a258
2018-03-26EvView: render correctly on hi-dpi displaysOwen W. Taylor2-7/+20
Make EvPixbufCache generate surfaces with extra resolution based on gtk_widget_get_scale_factor(). Handle cairo surfaces with a device scale in ev_view_draw(). Trigger an update of the pixbuf cache when the scale factor changes. https://bugzilla.gnome.org/show_bug.cgi?id=723431 origin commit: https://git.gnome.org/browse/evince/commit/?id=a612f8
2018-03-22libview: use css to draw the background of presentationsraveit651-25/+16
With the recent changes in gtk+, widgets have to draw themselves, causing the current use of gdk_window_set_background_rgba to fail. https://bugzilla.gnome.org/show_bug.cgi?id=765557 view: Redraw ev-view-presentation when setting normal and black mode. The black and normal mode are the same from the CSS point of view. The difference is that in the draw function the page is not drawn in black mode. Hence, we need to explicitly queue a redraw in these cases. Since setting the white mode add a CSS class, this queues the redraw for us. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=772390. origin commits: https://git.gnome.org/browse/evince/commit/?id=2b352b3 https://git.gnome.org/browse/evince/commit/?id=b3f49f4 Fixes https://github.com/mate-desktop/atril/issues/232
2018-03-22libview: Check number of pages when processing button eventsMarek Kasik1-1/+1
Check whether there are some pages in the opened document when processing button events to avoid crash. https://bugzilla.gnome.org/show_bug.cgi?id=769700 origin commit: https://git.gnome.org/browse/evince/commit/?id=f30aed7
2018-03-22libview: Add check for pageless documents to ev_view_accessible_focus_changedJoanmarie Diggs1-1/+1
Without this check, Evince will crash when opening a document that, for whatever reason, has no pages. https://bugzilla.gnome.org/show_bug.cgi?id=731046 origin commit: https://git.gnome.org/browse/evince/commit/?id=c0ecc95
2018-03-22libview: Check number of pages on ev_view_document_changed_cbGermán Poo-Caamaño1-2/+5
Fix crash on corrupted PDF with no pages. Thanks to Juha Kylmänen from OUSPG who were testing robutness. (CVE-2013-3718). libview: Fix warning on ev_view_document_changed_cb There was an introduction of a warning when fixing the bug https://bugzilla.gnome.org/show_bug.cgi?id=701302 If ev_view_document_changed_cb () is emitted when there is no previous document, the check fails. This patch change the order of the condition checks. origin commits: https://git.gnome.org/browse/evince/commit/?h=gnome-3-8&id=62b1585 https://git.gnome.org/browse/evince/commit/?h=gnome-3-8&id=5431595
2018-03-22Use GtkOverlay to show the loading messageCarlos Garcia Campos5-444/+33
Remove the EvLoadingWindow from libview and move the implementation to the shell using a EvLoadingMessage widget and GtkOverlay. EvView has now a is-loading property that allows the users to implement their own loading notification system. This fixes several realted to the loading window. origin commit: https://git.gnome.org/browse/evince/commit/?h=gnome-3-8&id=035c1cb
2018-03-19libview: save inverted colors in a documentPiiit1-0/+3
The web-view callback for inverted colors got called, and if it did not find a web-view open it defaulted to FALSE for inverted colors. origin commit: https://github.com/linuxmint/xreader/commit/abb5060 https://github.com/linuxmint/xreader/issues/38
2018-03-19Save/restore context when getting colors for a different stateraveit651-0/+7
Getting colors for a state different from the current state of the corresponding widget without saving the context might trigger an invalidation and a redraw. Because this was happening from the draw function this resulted in a redraw loop and constant high CPU usage. This could be triggered by selecting text or searching. https://bugzilla.gnome.org/show_bug.cgi?id=755442 inspired by: https://git.gnome.org/browse/evince/commit/?id=1987f04 https://github.com/linuxmint/xreader/commit/e76a18d
2018-03-16epub: fix loading epub thumbnailsMickael Albertus1-24/+23
origin commit: https://github.com/linuxmint/xreader/commit/6ed0ee1 Note: origin commit causes some serious build warnings, ......fixed.
2018-03-16Check legal boundaries of accessible pagesGermán Poo-Caamaño1-0/+7
Fixes https://github.com/mate-desktop/atril/issues/302 Keep the accessible view end page under the limits of the document. Sometimes when a document is reloaded, it may have less pages making the end page higher than the actual number of pages. Fix end_page reset after reload a page When a document is reloaded, and the accessible end_page is higher than the number of pages, it must be re-initialized to the number of pages minus one because it refers to elements in an array. Fix https://bugzilla.gnome.org/show_bug.cgi?id=735744 origin commits: https://git.gnome.org/browse/evince/commit/?id=feff531 https://git.gnome.org/browse/evince/commit/?id=e6e0d29
2018-03-15Add zoom resetLars Mueller4-0/+20
origin commit: https://github.com/linuxmint/xreader/commit/43acb8f
2018-02-16avoid deprecated GtkStockPablo Barciela1-1/+1
2018-01-31require GTK+ 3.22 and GLib 2.50monsta3-41/+2
2018-01-02Revert "libview: Update the current page also when pending scroll is to find ↵raveit651-2/+1
a location" Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1525313 This reverts commit e64064d40b451011dba2f891be454f65439df18d.
2017-12-10WidthOfScreen and HeightOfScreen implementationPablo Barciela2-14/+8
This commit reverts: https://github.com/mate-desktop/atril/commit/d9fffe2dc0e33d6777099c18635b7b75f54d3d35 And it applies an alternative to fix the deprecated functions: gdk_screen_get_width gdk_screen_get_height
2017-11-27ev-link-accessible: Improve efficiency of methods to get start and end indicesJoanmarie Diggs1-5/+22
* Store the value to eliminate unnecessary iteration through character rects * Calculate the end index forward from the start index rather than backwards from the last character on the page https://bugzilla.gnome.org/show_bug.cgi?id=732340 origin commit: https://git.gnome.org/browse/evince/commit/?h=gnome-3-14&id=1a6c9df