42 Commits

Author SHA1 Message Date
Le Tan
404b5329a1 replace VEdit and VMdEdit with VEditor and VMdEditor 2017-10-26 19:36:12 +08:00
Le Tan
73ee02d3b2 support editing read-only files 2017-10-22 21:26:39 +08:00
Le Tan
e66b70b6ff support Insert Link tool bar button
Support Ctrl+L to insert a link.
2017-10-19 19:42:50 +08:00
Le Tan
92bc044cac metaword: support Ctrl+E M in editor to evaluate metawords
Add shortcut configuration MagicWord.
2017-10-19 19:41:57 +08:00
Le Tan
2b299ff9b7 refine heading sequence
1. add toolbar button to enable/disable heading sequence of current
note temporary;
2. Support independent configuration for external files;
3. Change enable_heading_sequence configuration to heading_sequence_type;
2017-10-13 07:23:25 +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
a64d01ea86 refactor VFile and VOrphanFile
1. Make VFile a real abstract class;
2. Use VNoteFile for internal note file;
3. Use VOrphanFile for external orphan file;
2017-09-21 19:33:37 +08:00
Le Tan
f33c7f86d3 minor-fix: Vim mode and VImagePreviewer
1. In Vim mode use the `undo()` and `redo()` slots of VMdEdit instead of
QTextDocument;
2. VImagePreviewer will clear the undo/redo stacks if it is empty
before;
3. Remove setLineDistanceHeight();
2017-09-06 19:23:14 +08:00
Le Tan
36a0d1dd7e support custom line distance height by line_distance_height config 2017-09-05 20:54:15 +08:00
Le Tan
c3408769b0 refactor VImagePreviewer 2017-09-05 20:54:15 +08:00
Le Tan
7c2f1a8927 vim-mode: scroll to center after Ctrl+O/I 2017-08-08 20:12:15 +08:00
Le Tan
226263f77c bug-fix: save wrong geometry state in single panel view 2017-07-21 22:09:40 +08:00
Le Tan
d0bcd7a2c6 vim-mode: make cursor block visible after actions 2017-07-19 20:25:28 +08:00
Le Tan
cd2ac10509 vim-mode: refine command line mode
1. Support `/` and `?` to search. `N` and `Shift+N` to find next/previous
occurence.
2. `Ctrl+N` and `Ctrl+Shift+N` to navigate through the command history.
3. `:nohlsearch` or `<leader><space>` to clear search highlight.
4. `#` and `*` to search current word under cursor.
2017-07-13 18:26:38 +08:00
Le Tan
c53950fe77 refine find/replace logics
Do not select the found target. Use highlight instead.
2017-07-12 13:16:14 +08:00
Le Tan
0d0f6d4e47 refine line number area 2017-07-11 19:47:43 +08:00
Le Tan
4374f2d8f1 editor: add line number and editor-line-number config 2017-07-07 17:21:15 +08:00
Le Tan
f9f7a365f8 add toolbar for text editing
Bold, italic, underline, strikethrough, inline code.

Underline and strikethrough are not implemented yet.
2017-07-04 14:07:48 +08:00
Le Tan
c48d646a55 vim-mode: auto disable input method in non-Insert mode
Add config "enable_smart_im_in_vim_mode".
2017-07-02 13:59:07 +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
10a9447b96 vim-mode: support command line mode and leader key
1. We now support limited commands: :w, :q, :wq, :x, :q! ;
2. We now support fixed leader sequence: y, d, p, P ;
3. Support <num>% to goto <num>/100 percent of the document.
2017-06-20 15:23:58 +08:00
Le Tan
d909091f46 vim-mode: add an indicator for Vim status in status bar 2017-06-19 15:56:12 +08:00
Le Tan
ffce4b9611 vim-mode: message for Vim mode 2017-06-18 09:44:11 +08:00
Le Tan
88fa722868 dragging mouse with Ctrl and left button pressed to scroll in read and edit mode 2017-06-13 16:24:48 +08:00
Le Tan
c15908a724 support highlighting current line by whole block in Vim non-Insert mode 2017-06-11 19:58:43 +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
73530355fd support highlighting trailing space 2017-05-25 19:52:10 +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
c642d60757 add SaveAndRead and DiscardAndRead to the context menu in edit mode 2017-04-22 11:43:26 +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
3769ac5311 support search wrap
Signed-off-by: Le Tan <tamlokveer@gmail.com>
2017-01-10 23:52:54 +08:00
Le Tan
3005d9bf5c implement Find/Replace logics
Supports Find/Replace in both edit and preview modes.

Signed-off-by: Le Tan <tamlokveer@gmail.com>
2017-01-08 21:09:00 +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
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
Le Tan
e7c42ba5be refactor: add VFile and VDirectory
Signed-off-by: Le Tan <tamlokveer@gmail.com>
2016-11-30 22:58:00 +08:00
Le Tan
ac2552603b clear unused images when finishing editing markdown
1. Clear existing images deleted by this edit;
2. Clear newly inserted images which were deleted before saving the
file;

Signed-off-by: Le Tan <tamlokveer@gmail.com>
2016-11-20 21:48:07 +08:00
Le Tan
1a77056f4a support outline in edit mode
Signed-off-by: Le Tan <tamlokveer@gmail.com>
2016-11-10 21:59:37 +08:00
Le Tan
047c26b598 support pasting image in markdown
Signed-off-by: Le Tan <tamlokveer@gmail.com>
2016-10-31 22:43:59 +08:00
Le Tan
0c3fc3b006 support changing background color of editor
Signed-off-by: Le Tan <tamlokveer@gmail.com>
2016-10-27 22:41:41 +08:00
Le Tan
8960358feb expand tab to spaces
Add configuration "tab_stop_width" and "is_expand_tab". Expand tab to
tab_stop_width spaces if is_expand_tab is true.

Signed-off-by: Le Tan <tamlokveer@gmail.com>
2016-10-27 10:23:38 +08:00
Le Tan
5fa07864a1 move source stuff into src subdir
Make it convenient to add third-party libraries.

Signed-off-by: Le Tan <tamlokveer@gmail.com>
2016-10-22 14:11:33 +08:00