Commit graph

41 commits

Author SHA1 Message Date
Sebastian Ramacher
71ef7c7eed Fix some memory leaks and a use after free
Also return proper D-Bus errors

Signed-off-by: Sebastian Ramacher <sebastian+dev@ramacher.at>
2014-01-19 17:09:33 +01:00
Moritz Lipp
0fc5b80121 Replace glib memory functions with try version 2014-01-19 16:47:08 +01:00
Marwan Tanager
99b32ae109 Make the jumplist persistent on a per-file basis
This patch implements two new ZathuraDatabaseInterface functions, save_jumplist
and load_jumplist, for both the plain and sqlite backends (along with some
cleanups).

Signed-off-by: Sebastian Ramacher <sebastian+dev@ramacher.at>
2013-06-29 11:35:29 +02:00
Sebastian Ramacher
3e5bfe3d59 Use sqlite3_mprintf for proper escaping
Not that is really needed here since every argument is controlled by us. But
rather safe than sorry.

Signed-off-by: Sebastian Ramacher <sebastian+dev@ramacher.at>
2013-06-21 10:36:52 +02:00
Sebastian Ramacher
3171a4f7f6 Add some comments to the code
Signed-off-by: Sebastian Ramacher <sebastian+dev@ramacher.at>
2013-06-21 10:25:31 +02:00
Marwan Tanager
4c795259fe Eliminate the need for sqlite3_table_column_metadata
This is so that Zathura would compile without errors when enabling sqlite
support on systems that doesn't have sqlite compiled with
SQLITE_ENABLE_COLUMN_METADATA (which are the majority).

Signed-off-by: Sebastian Ramacher <sebastian+dev@ramacher.at>
2013-06-21 10:16:41 +02:00
Sebastian Ramacher
b4f290d4f9 Create bookmarks table with {v,h}adj_ratio
Signed-off-by: Sebastian Ramacher <sebastian+dev@ramacher.at>
2013-06-21 10:07:10 +02:00
Marwan Tanager
ae59da30c8 Bookmark the exact position, not just the page number (along with a number of fixes).
This patch adds some enhancements/fixes to the bookmarking feature of Zathura:

    - Bookmark the exact vertical and horizontal adjustments values, along with
      the page number. This is done in a backward-compatible way for both the
      plain and sqlite database backends, so that bookmarks that was taken
      previously (bookmarking only the page number) will still work as expected
      and won't be lost.

    - Fix the issue of not being able to remove bookmarks from the plain
      database; removing a bookmark in plain_remove_bookmark using
      g_key_file_remove_key corrupts the bookmarks file.  This is due to not
      truncating the entire bookmarks file in zathura_db_write_key_file_to_file
      prior to overriding it with a new one not containing the removed line.
      This is why, I guess, plain_remove_bookmark hadn't been implemented as
      expected using g_key_file_remove_key, because apparently, someone thought
      that the problem is caused by this API.

    - Fix not being able to update existing bookmarks persistently; updating a
      bookmark works only during the current session, but after the file is
      closed and reopened, the updated bookmark still has it's old value. This
      is due to changing only the bookmark structure in memory; the proper way
      to do it, is to call zathura_db_remove_bookmark on the old bookmark, then
      follow that by a call to zathura_db_add_bookmark on a bookmark structure
      containing the new position and the same old ID.

    - Make zathura_bookmark_add updates the bookmark if it already exists,
      rather than doing this externally in cmd_bookmark_create. This allows us
      to have all the relevant girara_notify messages in cmd_bookmark_create.

Signed-off-by: Sebastian Ramacher <sebastian+dev@ramacher.at>
2013-06-21 09:45:36 +02:00
Sebastian Ramacher
cd3314b490 Save some string copies
Signed-off-by: Sebastian Ramacher <sebastian+dev@ramacher.at>
2013-03-25 02:58:37 +01:00
Sebastian Ramacher
47eddd0e86 Implement sqlite backend for input history
Signed-off-by: Sebastian Ramacher <sebastian+dev@ramacher.at>
2013-03-14 22:20:51 +01:00
Sebastian Ramacher
b5dbe9ff6d Drop zathura_db_free
Signed-off-by: Sebastian Ramacher <sebastian+dev@ramacher.at>
2013-03-14 21:30:40 +01:00
Moritz Lipp
89e7832047 Update style 2012-10-09 01:12:18 +02:00
Sebastian Ramacher
6d462f4732 Implement first-page-column.
Thanks to J. Commelin for the patch.
2012-06-27 22:34:16 +02:00
Sebastian Ramacher
7b98e40e23 Implement database migration to the new layout. 2012-04-27 21:56:41 +02:00
Moritz Lipp
adc9f41264 Introduce new link types 2012-04-22 10:04:46 +02:00
Moritz Lipp
370deafb92 Save pages-per-row/position_x/position_y in database 2012-04-20 23:35:48 +02:00
Moritz Lipp
798c97f4a6 Introduce zathura_fileinfo_t and update database interface 2012-04-20 21:15:03 +02:00
Moritz Lipp
90796b5b5c Added :offset command and some style updates 2012-03-24 18:27:10 +01:00
Moritz Lipp
7271166b20 Update style 2012-03-09 08:05:48 +01:00
Sebastian Ramacher
6d9ca62c07 Add a missing return. 2012-03-04 15:59:08 +01:00
Sebastian Ramacher
4b559e585b Implement support to use both database backends. 2012-03-04 15:56:54 +01:00
Sebastian Ramacher
e513cb5579 store rotation in history 2012-02-08 22:23:45 +01:00
Sebastian Ramacher
911d84c908 update includes due to girara restructuring 2011-10-23 17:01:15 +02:00
Pavel Borzenkov
8608823613 Get file info earlier
We need to know the document's 'scale' value earlier (before cairo
surfaces are created). Otherwise, cairo surfaces will be re-created and
wrong page will be rendered (since zoom doesn't preserve page number).

Signed-off-by: Pavel Borzenkov <pavel.borzenkov@gmail.com>
Signed-off-by: Sebastian Ramacher <s.ramacher@gmx.at>
2011-10-20 18:28:12 +02:00
Pavel Borzenkov
88be07272f There is no need to check return value of g_malloc()
It never returns NULL. If this function fails, the application is
terminated.

Signed-off-by: Pavel Borzenkov <pavel.borzenkov@gmail.com>
Signed-off-by: Sebastian Ramacher <s.ramacher@gmx.at>
2011-10-20 18:27:56 +02:00
Sebastian Ramacher
2a35825247 fix 'path may be used unitialized' 2011-10-16 23:01:25 +02:00
Sebastian Ramacher
712e4bd408 use the correct sorting function 2011-10-15 18:42:30 +02:00
Sebastian Ramacher
14535b8f41 use a sorted list for bookmarks 2011-10-15 18:26:04 +02:00
Moritz Lipp
a0aa0d44b7 Write and read file history 2011-10-11 23:18:21 +02:00
Sebastian Ramacher
84ae796405 Merge branch 'develop' of pwmt.org:zathura into develop 2011-10-11 16:00:17 +02:00
Moritz Lipp
5ac40104a4 Add database-plain.c 2011-10-11 15:59:36 +02:00
Sebastian Ramacher
e6d1cffce0 Merge branch 'develop' of pwmt.org:zathura into develop 2011-10-10 23:49:31 +02:00
Moritz Lipp
8061236e4e Added structure for plain database 2011-10-10 23:46:50 +02:00
Sebastian Ramacher
bbb08b17be g_object_ref the print settings (as seen in the GTK+ documentation) 2011-10-10 19:58:48 +02:00
Sebastian Ramacher
b843331afc +1/-1 when storing/loading pages 2011-10-06 18:33:23 +02:00
Sebastian Ramacher
b34d21afaf implement content type support 2011-09-29 15:23:13 +02:00
Sebastian Ramacher
13eeebc9c8 fix build error 2011-09-29 11:48:23 +02:00
Sebastian Ramacher
9b633f70a5 implement zathura_db_get_fileinfo 2011-09-22 15:47:58 +02:00
Sebastian Ramacher
320063f69e fix PRIMARY KEY in bookmarks and some work on fileinfo 2011-09-21 18:31:12 +02:00
Pavel Borzenkov
24081171db Coding style fixes
No functional changes.

Signed-off-by: Pavel Borzenkov <pavel.borzenkov@gmail.com>
Signed-off-by: Sebastian Ramacher <s.ramacher@gmx.at>
2011-09-21 09:22:52 +02:00
Sebastian Ramacher
6f567a6264 some initial work on the sqlite database backend 2011-09-02 20:46:16 +02:00