Commit graph

2318 commits

Author SHA1 Message Date
RumovZ
fb9cbf9816 Make a new item the current item after refresh 2021-05-30 10:46:59 +02:00
RumovZ
bf0dbeb5f0 Skip saving search if it already exists 2021-05-30 10:11:40 +02:00
RumovZ
a989b4e8e9 Enable drop to create saved search 2021-05-30 09:30:22 +02:00
Damien Elmes
c0020da00d Merge pull request #1206 from RumovZ/fix-sidebar
Fix some sidebar issues
2021-05-29 10:33:52 +10:00
Damien Elmes
8730e98778 Merge pull request #1200 from RumovZ/template-checks
Template checks
2021-05-29 10:28:06 +10:00
RumovZ
0297a698e8 Fix renaming of unused tag
Unused tags can't be renamed, but since the CollectionOp returns success
in any case, the provisionally renamed sidebar item needs to be reset.
2021-05-28 19:18:21 +02:00
RumovZ
f443058209 Prevent sidebar toolbar from folding
If there is little space, Qt replaces some tools of the toolbar with an
expandable menu indicated by an arrow. But this arrow is invisible in
night mode.
2021-05-28 18:09:44 +02:00
RumovZ
99bc3c698f Fix restoring current sidebar element for cards 2021-05-28 17:46:46 +02:00
Damien Elmes
85c5860426 remove sticky setting from fields dialog
https://forums.ankiweb.net/t/anki-2-1-45-alpha/10061/60
2021-05-28 18:33:29 +10:00
Damien Elmes
be707ea5e8 make update all toggle clearer
https://forums.ankiweb.net/t/anki-2-1-45-alpha/10061/59

+ remove background color; it did not look good in dark mode
2021-05-28 18:33:28 +10:00
Damien Elmes
ceb2813d5d avoid bumping mtime when nothing has changed
+ update sync indicator after every op
+ skip mtime bump on undo/redo
2021-05-28 11:09:16 +10:00
RumovZ
d55f41669c Use implicit failure handling and self as parent 2021-05-27 16:51:03 +02:00
Damien Elmes
b0bde454ff add v3 scheduler to prefs screen 2021-05-27 23:09:49 +10:00
Damien Elmes
3ac06ea949 remove 'update later' button 2021-05-27 22:42:21 +10:00
Damien Elmes
de5e393b66 fix remembered tags not being applied to next added note
https://forums.ankiweb.net/t/anki-2-1-45-alpha/10061/56
2021-05-27 13:18:34 +10:00
Damien Elmes
6f198d73ef ask user to confirm which deck they want when opening options in reviewer
Also fixes https://forums.ankiweb.net/t/anki-2-1-45-alpha/10061/57
2021-05-27 13:15:28 +10:00
Damien Elmes
4a575dbe0a hook up some missing translations in deck options screen 2021-05-26 14:41:18 +10:00
Damien Elmes
52a98ce0ce change get_queued_cards() to no longer return congrats info 2021-05-26 12:59:45 +10:00
Damien Elmes
3489257f41 update ts deps
- prettier's formatting has changed, so files needed to be reformatted
- dart is spitting out deprecation warnings like:

254 │   2: $spacer / 2,
    │      ^^^^^^^^^^^
    ╵
    bazel-out/darwin-fastbuild/bin/ts/sass/bootstrap/_variables.scss 254:6  @import
    ts/sass/button_mixins.scss 2:9                                          @use
    ts/components/ColorPicker.svelte 2:5                                    root stylesheet

DEPRECATION WARNING: Using / for division is deprecated and will be removed in Dart Sass 2.0.0.

Recommendation: math.div($grid-gutter-width, 2)
2021-05-26 09:37:40 +10:00
RumovZ
6f5100c60e Handle failure in CardLayout/accept() 2021-05-25 20:58:43 +02:00
Damien Elmes
4a0758b34f always start in first sidebar mode
I didn't notice anyone objecting; let's see how this is received.

https://forums.ankiweb.net/t/anki-2-1-45-alpha/10061/35
2021-05-24 14:51:21 +10:00
Damien Elmes
1f7118a8e3 config updates by the frontend now skip undo by default 2021-05-24 14:50:46 +10:00
Damien Elmes
8a796ee3c3 Merge pull request #1188 from RumovZ/switch-color-2
Change switch color depending on state
2021-05-24 11:42:54 +10:00
Damien Elmes
f35b471dca make switch more legible in dark mode 2021-05-24 11:31:56 +10:00
Damien Elmes
380317d701 Merge pull request #1186 from RumovZ/ctx-actions
Update context action states after card op
2021-05-24 10:49:23 +10:00
RumovZ
fb8194d82a Remove browser.oneModelNotes() 2021-05-22 19:12:03 +02:00
RumovZ
fa81437ad6 Check notetype count in browser.onChangeModel() 2021-05-22 19:11:06 +02:00
RumovZ
0d90ac7d0f Change switch color depending on state
Make knob overlap path.
2021-05-22 10:01:15 +02:00
RumovZ
bb829feeac Update context action states after card op 2021-05-22 08:35:47 +02:00
Damien Elmes
8378ecc2d9 Merge pull request #1185 from RumovZ/scrolling
Scroll pixels instead of columns horizontally
2021-05-22 10:59:09 +10:00
Damien Elmes
ae68f649ff improve type answer legibility
https://forums.ankiweb.net/t/accessibility-suggestion-correct-answer-text-contrast-in-dark-mode/10105

There's probably more that could be done here, but that can probably
wait for #1068
2021-05-22 10:31:29 +10:00
Damien Elmes
80d32dc7c8 fix find&replace searching in incorrect field 2021-05-22 10:12:14 +10:00
RumovZ
c6d95a8e3d Scroll pixels instead of columns horizontally 2021-05-21 18:59:53 +02:00
Damien Elmes
5427668303 expose undoable config changes to frontend; refresh sidebar
The browser header handling still needs updating
2021-05-21 17:50:41 +10:00
Damien Elmes
ba727735bd report changed cards when changing deck/flag
+ fix repeated flag shortcut not toggling
2021-05-21 16:03:05 +10:00
Damien Elmes
489138b098 add night mode styling to type-in-the-answer box
https://forums.ankiweb.net/t/night-mode-does-not-affect-input-tags/10116
2021-05-20 19:14:12 +10:00
RumovZ
71dd8edabd Move flags into separate module 2021-05-20 10:26:18 +02:00
Damien Elmes
dd49dc1f33 fix error when opening and closing editor rapidly 2021-05-20 15:32:28 +10:00
Damien Elmes
4fc701eb1b fix fields/cards font size & too-large toolbar on high DPI Windows
- enable default_css on editor again, so that the html element
is set to the system font size. If this is bringing in unwanted styling,
maybe we can come up with a different solution that just adjusts the
fonts
- make toolbar size relative to html font size, instead of hard-coding
it
2021-05-20 13:15:17 +10:00
Damien Elmes
abda7f9290 Merge pull request #1178 from RumovZ/flag-labels
Custom labels for flags
2021-05-20 11:59:55 +10:00
RumovZ
58243fad52 Remove redundant pylint exception 2021-05-19 19:44:49 +02:00
RumovZ
c0125e9ebd Prefer looping over flags over exhaustive listing 2021-05-19 19:26:39 +02:00
RumovZ
8b09336505 Use custom flag labels in reviewer 2021-05-19 19:18:49 +02:00
RumovZ
1c3134e9c2 Use dataclass instead of tuple for loaded flags 2021-05-19 19:17:43 +02:00
abdo
9b7b32b2cb Strip Unicode isolation characters from title 2021-05-19 18:21:57 +03:00
Damien Elmes
5c9f483cdc move deck name into window title; v-center sticky bar 2021-05-19 19:34:15 +10:00
Damien Elmes
818fe75721 simplify previous patch
The default 1 rem is fine, but we need to apply the default font size
to the html element instead of the body for the definition of rem to
update.

Fixes #1174
2021-05-19 19:06:20 +10:00
RumovZ
316beb6f63 Use custom flag labels for browser actions 2021-05-19 11:00:02 +02:00
RumovZ
9ebdb84512 Make sidebar flags renamable 2021-05-19 10:04:40 +02:00
Damien Elmes
60ef1c35eb show note about old options screen if any add-ons are installed 2021-05-19 16:20:25 +10:00
Damien Elmes
112d31f277 use literal for ease type 2021-05-19 16:05:12 +10:00
Damien Elmes
0767754ca6 enable redo support
Also:

- fix issues where the Undo action in the Browse screen was not
consistent with the main window. The existing hook signature has been
changed; from a snapshot of the add-on code from a few months ago, it
was not a hook that was being used by anyone.
- change the undo shortcut in the Browse window to match the main
window. It was different because undoing a change in the editing area
could accidentally trigger an undo of an operation, but the damage is
limited now that (most) operations can be redone. If it still proves to
be a problem, perhaps we should just always swallow ctrl+z when an
editing field is focused.
2021-05-19 15:18:39 +10:00
RumovZ
f220165c0f Fix black workaround for format calls 2021-05-18 22:19:09 +02:00
Damien Elmes
f4ddf90399 Merge pull request #1170 from RumovZ/fix-columns
Fix column issues
2021-05-18 09:24:15 +10:00
Damien Elmes
4a18f1841f fix detection of shift key at startup
Our regular helper doesn't appear to work during startup.
2021-05-18 09:21:02 +10:00
Damien Elmes
c267a1d0e1 PreviewDialog was missing from top level browser module 2021-05-18 09:10:28 +10:00
RumovZ
0ef8a2e802 Set column sizes and indicator after state change 2021-05-17 20:13:45 +02:00
RumovZ
58a18eb261 Block events when restoring headers
Restoring headers after switching states was triggering
_on_column_toggled(), leading to unexpected results.
2021-05-17 20:07:52 +02:00
RumovZ
6f12d48ad5 Make failed sort column change a no-op
The previous behaviour when a non-sortable column was clicked was to
trigger the sorting routine, which was usually a no-op, but would
reorder rows if the configured sort column was hidden.
2021-05-17 18:33:59 +02:00
Damien Elmes
5bd3884a71 support card state mutator in test scheduler
Documentation to come
2021-05-17 16:59:02 +10:00
Damien Elmes
19071fce7c experiment with learning count on deck list 2021-05-16 20:23:39 +10:00
Damien Elmes
a42648a418 fix test scheduler undo + implement look-ahead
Instead of using a separate undo queue, the code now defers checking for
newly-due learning cards until the answering stage, and logs the updated
cutoff time as an undoable change, so that any newly-due learning cards
won't appear instead of a new/review card that was just undone.

Queue redo now uses a similar approach to undo, instead of rebuilding the
queues.
2021-05-14 22:16:53 +10:00
Damien Elmes
78b431cbf1 work around Windows issue on latest Black
Thanks Rumo!
552a53495e
2021-05-13 20:15:51 +10:00
Damien Elmes
9f49dca545 re-enable leech notification for test scheduler 2021-05-13 15:51:02 +10:00
Damien Elmes
5f7590c4b4 expose new sorting options in test scheduler options; move things around 2021-05-13 15:23:16 +10:00
Damien Elmes
7e324a6ec0 use new API for test scheduler
Avoids duplicate work, and is a step towards allowing the next
states to be modified by third-party code.

Also:

- fixed incorrect underlined count, due to reviews being labeled as
learning cards
- fixed reviewer not refreshing when undoing a test review, by splitting
up backend queue rebuilding from frontend reviewer refresh
- moved answering into a CollectionOp
2021-05-11 13:06:03 +10:00
Damien Elmes
5e44a34f20 expose step counter and undone op changes in hook 2021-05-08 17:51:36 +10:00
Damien Elmes
d6eeab3722 remove some unnecessary checkpoints 2021-05-08 17:04:05 +10:00
Damien Elmes
2e312eb13d update find_duplicates to use QueryOp/CollectionOp 2021-05-08 16:58:18 +10:00
Damien Elmes
db415b08e4 move query_op into operations/, and add the ability to show progress 2021-05-08 16:35:43 +10:00
Damien Elmes
34c26a8b1c split browser dialogs into separate files 2021-05-08 15:08:45 +10:00
Damien Elmes
d8cea1385c the find_and_replace alias is not required
Was only added recently, so nothing should depend on it yet.
2021-05-08 14:34:57 +10:00
Damien Elmes
9c51aa5a64 move "find duplicates" into separate file
As far as I'm aware, no add-ons were extending that screen, so I've
dropped the old context object and the export in browser/__init__.py
2021-05-08 14:33:43 +10:00
Damien Elmes
6dd78b0ea5 Merge pull request #1159 from hgiesel/newapproach
Prefer idiomatic Svelte features over dynamic components
2021-05-08 11:35:31 +10:00
Henrik Giesel
755b39b59e Check for id when inserting dynamic elements
* I'm not sure it behaved, if there were multiple elements
  inserted by different add-ons into the same container
2021-05-07 16:50:17 +02:00
Henrik Giesel
840191d358 Use json.dumps instead of backticks in editor.py 2021-05-07 14:22:06 +02:00
Damien Elmes
26e9fba1f7 update docstrings for latest black 2021-05-07 18:12:56 +10:00
Damien Elmes
4242d82adf fix find&replace 2021-05-07 14:02:40 +10:00
Henrik Giesel
8c32691d30 Fix Preview Button after changing from f-string to normal string 2021-05-07 02:12:37 +02:00
Henrik Giesel
bb2fb8e9f5 Fix ButtonDropdown 2021-05-07 02:04:44 +02:00
Henrik Giesel
95b6b386dc Only initialize extension apis if necessary 2021-05-07 02:04:44 +02:00
Henrik Giesel
d92a0c44c7 Add lefttopbtns as AddonButtons 2021-05-07 02:04:44 +02:00
Henrik Giesel
dd99524ae0 Enable setting of PreviewButton and hiding of cloze button again 2021-05-07 02:04:42 +02:00
Henrik Giesel
a51eb42e7b Simplify structure of EditorToolbar and ButtonGroup in editor HTML file 2021-05-07 02:03:55 +02:00
Damien Elmes
83aa43d97b remove AnkiDroid timezone confirmation
By the time this update reaches stable, AnkiDroid 2.15 should already
be out.
2021-05-06 19:05:15 +10:00
Damien Elmes
b0e59df5a8 fix dmypy action 2021-05-05 15:54:41 +10:00
Damien Elmes
1802066afe support undo for (renamed) unbury_deck() action 2021-04-30 20:03:20 +10:00
Damien Elmes
e468daa060 undoing of notetype templates 2021-04-30 17:30:48 +10:00
Damien Elmes
e161b9049a undoing of notetype fields
- fix stale cache issue
- update add cards screen in response to op changes
2021-04-30 17:15:59 +10:00
Damien Elmes
3049eaf47c notetype rename+options undo 2021-04-30 16:09:44 +10:00
Damien Elmes
46bcfa00fd notetype removal undoable 2021-04-30 16:01:47 +10:00
Damien Elmes
8a9796ee5a update GUI to allow notetype addition undo
- backend now updates current notetype as part of addition
- frontend no longer implicitly adds, so we can assign a new name and
add in a single operation
2021-04-30 15:58:08 +10:00
RumovZ
8e0298120d Add separate no_arg_trigger decorator 2021-04-26 08:46:08 +02:00
Damien Elmes
532840bbfc Merge pull request #1154 from RumovZ/fix-skip-dec
Fix skip_if_selection_is_empty() for triggers
2021-04-26 09:21:42 +10:00
RumovZ
7ac84a38d6 Remove some unnecessary lambdas 2021-04-25 19:51:57 +02:00
RumovZ
4b91c2b9f1 Fix skip_if_selection_is_empty() for triggers
It seems to be enough if one decorator calls pyqtSlot(), but to avoid
problems in the future, let's have all decorators do that.
2021-04-25 19:50:56 +02:00
Henrik Giesel
b0988e43e1 Move EditorToolbar API into EditorToolbar.svelte 2021-04-25 19:15:00 +02:00
Henrik Giesel
a21a4d330b Initialize editor toolbar via function, not web component 2021-04-25 18:32:01 +02:00
Damien Elmes
68a4f4bade Merge pull request #1151 from RumovZ/no-sel-dec
Fix some problems with browser actions while selection is empty
2021-04-25 20:48:40 +10:00
Damien Elmes
1a6c5f594d enable the new deck options by default
- The old options are still available with a shift+click
- Translations still need updating
- See d8ca46e6e9 for some examples
of extending the screen in an add-on
2021-04-25 19:58:58 +10:00