Commit Graph

256 Commits (a02c61ec7eaebdaedb50419530b3e2b1290e0139)

Author SHA1 Message Date
Manuel Genovés a02c61ec7e Implement theme switcher
auth.: @Exalm
2020-02-25 13:32:10 +01:00
Manuel Genovés a6f7e85255 rework the close-without-saving dialog 2020-02-23 19:54:57 +01:00
Manuel Genovés 81d5aab9e4 move the sync prev toggle to the preview popover 2020-02-16 22:00:04 +01:00
Manuel Genovés 28fc4e0a72 make preview layout switcher menu dynamic 2020-02-12 12:35:40 +01:00
Manuel Genovés 8e45b8d3da Start redesign of the headerbar
Added (non functional) export and preview layout switcher popovers
2020-01-28 22:44:41 +01:00
Manuel Genoves 9216db1b80 prevent headerbar to hide on open recents menu 2019-12-11 00:57:21 +01:00
Manuel Genoves 5a78d75668 fix fullscreen issues 2019-12-10 17:43:02 +01:00
Manuel Genovés 97e809a576 rework the autohiding mechanis for headerbars 2019-12-09 02:16:13 +01:00
Manuel Genovés 48e48d95de add autohide-headerbar toggle on settings 2019-12-09 02:14:52 +01:00
Manuel Genovés 8ac8728e3b implement hack to fade away the headerbar 2019-11-23 02:11:32 +01:00
Manuel Genovés 0e2f731ff4 Use a .ui file to define the headerbar
This makes all the headerbar code more readable and easier to tweak
2019-11-11 01:27:39 +01:00
Manuel Genovés 10f98f35b8 fix filename path 2019-11-10 19:02:22 +01:00
Manuel Genovés f4809faf19 Merge branch 'master' 2019-11-05 12:28:08 +01:00
Manuel Genovés 3af59e2c1d initial port to gresources 2019-11-04 23:05:03 +01:00
Manuel Genoves ca0b458ca1 fix non flatpak data paths 2019-10-30 01:29:35 +01:00
Manuel Genoves e39e515e6d fix data path for non flatpak installs 2019-10-30 01:14:56 +01:00
Gonçalo Silva ec2f33e248 Add 'url' regexp group to LINK_ALT
Enables inline preview.
2019-07-25 23:57:27 +01:00
Gonçalo Silva 3bb813895e Fix warning when opening file
set/clear text should count as a single user action.
2019-07-25 00:18:33 +01:00
Gonçalo Silva 128ce54761 Handle inline code correctly
Inline code shouldn't have its "paragraph-background" set, as it's not a
block-level element.
2019-07-25 00:18:33 +01:00
Gonçalo Silva b4696cda30 Don't scroll when opening documents, only when pasting text 2019-07-25 00:18:33 +01:00
Gonçalo Silva 05cdfe0599 Use CommonMark's regexp for autolink / autoemail
Ref: https://github.com/commonmark/commonmark.js/blob/master/lib/inlines.js#L62-L64

Also avoids special handling in stats counter.
2019-07-25 00:18:33 +01:00
Manuel Genovés 63ff2659fc There is no necessity to strip + signs from URIS
Closes #171
2019-07-25 00:18:33 +01:00
Manuel Genovés 53a9f4ebbd manage open_file errors 2019-07-25 00:18:33 +01:00
Manuel Genovés 3cae19c0cc catch exporting errors.
Fixes #164
2019-07-25 00:18:33 +01:00
Manuel Genovés 3e661b8d9d support https in the alt link markdown query 2019-07-25 00:18:33 +01:00
Manuel Genovés 300c386631 Added handling of alternate form of urls 2019-07-25 00:18:33 +01:00
Gonçalo Silva 7c3d4d9364 Adjust regex tests for CommonMark, improve inline regexp 2019-07-25 00:18:33 +01:00
Gonçalo Silva 23cddba0d0 Add shortcut for find and replace
Also renames "search" to "find" as most other Gtk apps.
2019-07-25 00:18:33 +01:00
Gonçalo Silva 859ad84524 Improve handling of bold italic
**_bolditalic_** and other mixed combinations now work.
2019-07-25 00:18:33 +01:00
Gonçalo Silva 7ea8f67216 Add code highlighting
Removes previously added indent. Reused for math.
2019-07-25 00:18:33 +01:00
Gonçalo Silva bd2d78b86a Add format inserts to the undo stack as single actions
Also fixes undoing list items.
2019-07-25 00:18:33 +01:00
Gonçalo Silva 0b6e84bf8c Add search and replace to the undo stack as a single action
This is specially important for search and replace *all*.
2019-07-25 00:18:33 +01:00
Gonçalo Silva aa3f5c3430 Remove unused file, reformat helpers 2019-07-25 00:18:33 +01:00
Gonçalo Silva e3b99e823b Undo support for begin-user-action and end-user-action
Allows keeping track of multiple changes within a single action together.
2019-07-25 00:18:07 +01:00
Gonçalo Silva d9014b12e7 Open preview links in the browser 2019-07-25 00:18:07 +01:00
Gonçalo Silva efb1a02f30 Use file name for link description and image caption 2019-07-25 00:18:07 +01:00
Gonçalo Silva ef4009fcd6 Keep file:// prefix for drag & droped files 2019-07-25 00:18:07 +01:00
Gonçalo Silva 7c6d2c12a3 Fix erroneous unescaping of link uris
Unescaped links won't work when containing special characters.
2019-07-25 00:18:07 +01:00
Gonçalo Silva 1cc2fc5a4c Fix presenting window after drag & drop 2019-07-25 00:18:07 +01:00
Manuel Genovés adcb73b129 fix small regex errors in header queries 2019-07-25 00:18:07 +01:00
Manuel Genovés c8ea808623 fix math REGEX expression 2019-07-25 00:18:07 +01:00
Gonçalo Silva 55e5cd3856 Use `selection_bound` instead of `insert` to markup/scroll 2019-07-25 00:16:26 +01:00
Gonçalo Silva 3fa56afaef Reduce sync scrolling precision
High precision leads to micro-scrolling, and 1e-4 is more than enough.
2019-07-25 00:16:26 +01:00
Gonçalo Silva 55d82856c2 Fix list markup parsing
Subsequent list items were being erroneously discarded.
2019-07-25 00:16:26 +01:00
Gonçalo Silva 931d92bdfd Move markup to a worker process
A worker thread works in practice, but the GIL takes a significant toll
as the code is computationally heavy. The result is a hogged UI,
specially when other threads are involved (eg. stats counter).

A worker process is faster, hogs the UI significantly less, at the cost
of slightly higher memory usage.

As side-effects:
- UberWriter can now comfortably handle much larger documents
- Text selection is much more responsive
2019-07-25 00:16:26 +01:00
Gonçalo Silva bb279d0379 Move stats counting to a worker process
A worker thread works in practice, but the GIL takes a significant toll
as the code is computationally heavy. The result is a hogged UI,
specially when other threads are involved (eg. markup handler).

A worker process is faster, hogs the UI significantly less, at the cost
of slightly higher memory usage.
2019-07-25 00:16:26 +01:00
Gonçalo Silva 0d87299040 Fix paragraph counting
Markdown requires at least 2 newlines to form a paragraph.
2019-07-25 00:16:26 +01:00
Gonçalo Silva 3f4f8292ca Use markup regexp for character count
Deferring to Pandoc is not without its faults. It still requires
processing (eg. horizontal rules turning into 72 dashes). It is
significantly slower and resource hungry.

On the reverse, the markup regexps have improved over time and are able
to handle the task.
2019-07-25 00:16:26 +01:00
Gonçalo Silva aae38ddb5f Prevent scroll when only one of the text view or preview are scrollable 2019-07-25 00:16:26 +01:00
Gonçalo Silva d78602c4db Fix synchronized scrolling without MathJax 2019-07-25 00:16:26 +01:00