27 Commits

Author SHA1 Message Date
Le Tan
4ec340a403 refactor preview logics
Use block user data to store preview info.
2017-11-29 21:45:20 +08:00
Le Tan
183b24915a refactor outline logics 2017-10-13 07:10:04 +08:00
Le Tan
598e8144bb support custom startup pages
- Support continuing where user left off on startup;
    - Support recovering the edit/read mode and the anchor position;
- Support opening user-specified files on startup;
- Add config startup_page_type, startup_pages, and last_opened_files;
2017-10-11 10:44:18 +08:00
Le Tan
cdcab4884a use HGMarkdownParser to fetch image links from Markdown file 2017-09-16 14:55:42 +08:00
Le Tan
2eb6476c3d support auto heading sequence by config enable_heading_sequence 2017-09-11 19:49:30 +08:00
Le Tan
e55b0af00e bug-fix: QTextDocument.clearUndoRedoStacks() will crash in VImagePreviewer 2017-09-08 21:41:19 +08:00
Le Tan
c3408769b0 refactor VImagePreviewer 2017-09-05 20:54:15 +08:00
Le Tan
9278149941 vim-mode: support shorcuts to jump between titles
- `[[`: jump to previous title;
- `]]`: jump to next title;
- `[]`: jump to previous title at the same level;
- `][`: jump to next title at the same level;
- `[{`: jump to previous title at a higher level;
- `]}`: jump to next title at a higher level;
2017-06-30 20:31:46 +08:00
Le Tan
5c17f74641 add indicator in status bar for edit tab 2017-06-21 20:01:33 +08:00
Le Tan
a8c76d6742 support normal Vim mode
1. Support Insert/Normal/Visual/VisualLine modes:
    - `V`, `v`, `I`, `i`, `A`, `a`, `s`, `Esc`, `Ctrl+[`, `o`, `O`;
2. Support movement commands (with Repeat support):
    - `h`, `j`, `k`, `l`, `gj`, `gk`;
    - `gg`, `G`;
    - `^`, `0`, `$`;
    - `Ctrl+U`, `Ctrl+D`, `PageUp`, `PageDown`, `Ctrl+B`;
2017-06-11 16:31:25 +08:00
Le Tan
97051badf0 refactor TOC logics 2017-06-01 13:21:17 +08:00
Le Tan
e5021f4501 refactor local image folder
Treat those images which have relative path and locate in directories
that have the same parent directory as the file as internal images.
VNote will only manage the internal images.
2017-05-10 15:53:33 +08:00
Le Tan
2bdf388c7b constrain the width of previewed images to the eidt window's width 2017-05-06 19:13:58 +08:00
Le Tan
a8614839d9 refactor image preview logics by adding VImagePreviewer
1. Support previewing non-relative local images;
2. Support previewing network images;
2017-05-06 12:25:18 +08:00
Le Tan
44257913f7 support code block syntax highlihgt in edit mode
In edit mode, highlight code blocks via parsing the result of HighlightJS.
We only highlight fenced code blocks by token-matching.

Support custom style in MDHL file.
2017-04-19 15:08:26 +08:00
Le Tan
c48fbe16da refine editor style
1. Support editor-current-line and editor-selection style in MDHL;
2. Support vim-background in editor-current-line;
2017-03-31 20:44:30 +08:00
Le Tan
901c477705 utilize ExtraSelection for special highlighting
1. Highlight current line;
2. Highlight selected word;
3. Highlight searched word;

Signed-off-by: Le Tan <tamlokveer@gmail.com>
2017-01-12 21:00:06 +08:00
Le Tan
7eadaed727 support copying image from image preview block
Signed-off-by: Le Tan <tamlokveer@gmail.com>
2016-12-31 16:12:51 +08:00
Le Tan
385abb3041 hide image preview block when selected
We do not want user to copy the image preview block (a special char).

Signed-off-by: Le Tan <tamlokveer@gmail.com>
2016-12-31 14:13:42 +08:00
Le Tan
059e8dacd2 change cursorline color in Vim mode
Signed-off-by: Le Tan <tamlokveer@gmail.com>
2016-12-29 22:23:20 +08:00
Le Tan
3b442f55a9 highlight curren cursor line
Add configuration "highlight_cursor_line" in vnote.ini.

Signed-off-by: Le Tan <tamlokveer@gmail.com>
2016-12-25 20:31:59 +08:00
Le Tan
3ce9f02007 clear corrupted image preview block
Users may add some texts in the image preview block around the image. In
this case, we should just delete the image and insert another preview
block.

Signed-off-by: Le Tan <tamlokveer@gmail.com>
2016-12-21 21:37:33 +08:00
Le Tan
d2f61bc605 add shortcuts
1. `Ctrl + W`, `Ctrl + R`, `Ctrl + Q`, `Ctrl + S` for edit and view mode;
2. `Ctrl + E` to toggle expand view;
3. `Ctrl + N` to create note in current directory;
4. `Ctrl + H` in edit mode to delete previous char;
5. `Ctrl + W` in edit mode to delete till the start of previous word;
6. `Ctrl + U` in edit mode to delete till the start of current line;
7. `Tab`, `Shift + Tab` to indent or unindent selected lines;
8. `Ctrl + B`, `Ctrl + I` to make selected text bold or italic;

Signed-off-by: Le Tan <tamlokveer@gmail.com>
2016-12-18 22:26:01 +08:00
Le Tan
a22bf1059d preview image links
Signed-off-by: Le Tan <tamlokveer@gmail.com>
2016-12-17 12:38:01 +08:00
Le Tan
5ff46d6237 implement insert image menu action
Signed-off-by: Le Tan <tamlokveer@gmail.com>
2016-12-12 23:14:53 +08:00
Le Tan
66c1d543c2 synchronize current header in read and edit mode
Signed-off-by: Le Tan <tamlokveer@gmail.com>
2016-12-12 21:58:53 +08:00
Le Tan
a884991150 refactor: add VMdEdit to inherit VEdit for markdown edit
Signed-off-by: Le Tan <tamlokveer@gmail.com>
2016-12-11 14:42:01 +08:00