Arthur Milchior
9f4c4ea355
Explode onBridgeCmd
...
This way, an add-on can catch a blur command, do its change and then
call self.blur
2020-03-25 08:17:48 +01:00
Damien Elmes
818b9193a8
Merge pull request #523 from Arthur-Milchior/hook_note_will_load
...
Hook editor_note_will_load
2020-03-25 09:43:16 +10:00
Arthur Milchior
3799b8504f
strip to test whether field is empty
2020-03-24 11:55:55 +01:00
Arthur Milchior
31f18e3c94
Hook editor_note_will_load
...
A current problem I have is that there is nothing similar to hook
inside of javascript. It seems that it would be easier to be able to
add other methods in javascript and call them in loadNote. Currently I
simply redefined loadNote, which is far from perfect
2020-03-24 10:17:01 +01:00
Damien Elmes
6143a7e218
Merge pull request #525 from Hk-tang/change-to-more-pythonic
...
Change not not to bool
2020-03-24 16:01:15 +10:00
Damien Elmes
a51dba7255
Merge pull request #524 from Arthur-Milchior/indet_html
...
Ident html in editor
2020-03-24 16:00:57 +10:00
Damien Elmes
483d50cba8
Merge pull request #522 from Arthur-Milchior/editor_did_init
...
editor_did_init
2020-03-24 15:52:50 +10:00
evandrocoan
b1b3e5b87c
Merge remote-tracking branch 'danielelmes/master' into fix_tests_on_windows
...
# Conflicts:
# .github/scripts/trailing-newlines.sh
2020-03-23 18:44:11 -03:00
Hk-tang
521b0e9e14
Change not not to bool
2020-03-23 11:16:39 -06:00
Damien Elmes
b1a8107aa1
formatting
2020-03-23 19:54:01 +10:00
Damien Elmes
84eaf43525
reduce the chances of a race condition in mplayer code
...
Not perfect, it may still happen.
https://anki.tenderapp.com/discussions/ankidesktop/39832-an-error-occurred-audio
2020-03-23 19:15:32 +10:00
Damien Elmes
f889616ef1
don't pop up network errors for media sync
...
log them instead
2020-03-23 19:06:13 +10:00
Damien Elmes
f429986246
fix collection_did_load() not being called, and remove dead code
...
https://anki.tenderapp.com/discussions/ankidesktop/39765-_colloadingstate-is-never-run-thus-collection_did_load-hook-is-never-triggered
2020-03-23 18:57:23 +10:00
Damien Elmes
7d94465256
cache dark mode value so UI doesn't break when it changes
...
https://anki.tenderapp.com/discussions/ankidesktop/39550-cant-deactivate-night-mode-on-2121-for-mac
2020-03-23 18:39:37 +10:00
Damien Elmes
7a4f3d0318
dump more info in card()/bcard()
2020-03-23 18:39:00 +10:00
Arthur Milchior
349d145014
Ident html in editor
...
Sometime I like to print html to understand why it bugs. And I really
prefer to have html indented if it's okay with you. There is no change
appart from the identation and quotes
2020-03-23 08:15:48 +01:00
Damien Elmes
c615342130
fix English being shown in prefs for fully qualified langs like zh-CN
...
https://anki.tenderapp.com/discussions/ankidesktop/39845-a-new-bug-has-been-found
2020-03-23 16:08:06 +10:00
Damien Elmes
75b7ebb156
add back new_timezone_enabled(), as it's used in the prefs screen
2020-03-23 07:40:50 +10:00
Arthur Milchior
f2f92fb0c3
editor_did_init
...
That would be useful to add elements in the editor, such as in multi
column editor
2020-03-22 17:15:47 +01:00
Damien Elmes
99416477ac
allow customizing search order
2020-03-21 17:38:09 +10:00
Damien Elmes
dfa7f5e142
fix reversing sort order
2020-03-21 16:57:33 +10:00
Damien Elmes
9afbcd4178
remove old finder code; add search hooks to browser & remove old one
2020-03-21 16:38:46 +10:00
Damien Elmes
63ce44aaa7
enable sorting on the extra browser columns
2020-03-21 07:55:53 +10:00
Damien Elmes
9ee82d55b1
disable word wrap in browser rows
2020-03-20 21:15:23 +10:00
Damien Elmes
13f3719650
ensure endReset() is called even if an exception is raised
2020-03-20 21:15:23 +10:00
Damien Elmes
1318118461
flush config on sort order change
2020-03-20 21:15:23 +10:00
Damien Elmes
55c9f5dbeb
wait for media sync to complete before unloading collection
2020-03-20 21:15:23 +10:00
Damien Elmes
d03e13a1bd
reuse the existing backend instead of creating a new one
2020-03-20 21:15:23 +10:00
Damien Elmes
ba17567617
drop the separate i18n backend
2020-03-20 21:15:23 +10:00
Damien Elmes
8d429cd192
import .colpkg in a background thread
2020-03-20 21:15:23 +10:00
Damien Elmes
ad9dad8748
import .apkg files in a background thread
2020-03-20 21:15:23 +10:00
Damien Elmes
231fa30a86
import mapped files like csv in a background thread
2020-03-20 21:15:23 +10:00
Damien Elmes
53952ba131
export in a background thread
2020-03-20 21:15:23 +10:00
Damien Elmes
fa12213e98
move .reopen() to mw; fix exporting
2020-03-20 21:15:23 +10:00
Damien Elmes
fe59d11047
fix mypy warning
2020-03-20 21:15:23 +10:00
Damien Elmes
0f38514ad7
drop the DB progress handler code
...
This code was an awful hack to provide some semblance of UI
responsiveness while executing DB statements on the main thread.
Instead, we can just run DB statements in a background thread now,
keeping the UI responsive.
2020-03-20 21:15:23 +10:00
Damien Elmes
90d4d62c48
use a timer to automatically show progress window
...
We were previously relying on the DB progress hook to cause the
progress window to display.
Qt's progress dialogs do have built in support for automatically
showing, but it's easier to add a timer than change the existing
code to use it.
2020-03-20 21:15:23 +10:00
Damien Elmes
32555b2857
run Check DB in a background thread
...
Since the DB is now stored behind a mutex, we're no longer limited
to accessing the database on the main thread.
2020-03-20 21:15:23 +10:00
Damien Elmes
ae06b9e446
add Collection struct, and get media check working again
...
- media check no longer needs collection to be closed
- use savepoints for operations initiated by Rust, so they are
atomic without forcing a commit
2020-03-20 21:15:23 +10:00
Damien Elmes
6db4418f05
drop log= argument from Collection
2020-03-20 21:15:23 +10:00
Damien Elmes
f4d4078537
drop named sql arguments
2020-03-20 21:15:23 +10:00
Damien Elmes
c8b9afac0c
drop progress handler and timeout arg
2020-03-20 21:15:23 +10:00
Damien Elmes
0d43e9dca3
tweak add-on wording
2020-03-20 21:00:21 +10:00
Damien Elmes
b7c64aaf39
Merge pull request #517 from Arthur-Milchior/backup_is_done
...
hook backup_is_done
2020-03-20 20:56:33 +10:00
Damien Elmes
f274e85edf
Merge pull request #470 from Arthur-Milchior/accept_card
...
Hook to decide whether a note should be added.
2020-03-20 20:56:04 +10:00
Damien Elmes
b2aa0756c9
Merge pull request #516 from Arthur-Milchior/hook_models_advanced_will_show
...
Hook models_advanced_will_show
2020-03-20 20:42:14 +10:00
Arthur Milchior
97225a0364
Browser introduce method time_format
...
I expect to use this in my add-on 1243668133 (by monkey patching in
this case) where it would allow to show hours/minutes/seconds... in browser
2020-03-19 22:59:59 +01:00
Arthur Milchior
bfc305fa26
hook backup_is_done
...
I expect to use this hook in add-on 529955533. It'll serve me to
create long term backup at the same time than your backup
2020-03-19 13:21:00 +01:00
Arthur Milchior
b73507344c
Hook models_advanced_will_show
...
This will be useful for add-on 1863928230. I want to let users change
the LaTeX footer/header everywhere.
2020-03-19 12:03:09 +01:00
Arthur Milchior
e4ae41340f
Hook to decide whether a note should be added.
2020-03-19 03:39:53 +01:00
evandrocoan
1ade1a1a0f
Fixed moved comment line on qt/aqt/main.py, long variables names on
...
pylib/Makefile and qt/Makefile, and rg --version not going to /dev/null
on .github/scripts/trailing-newlines.sh
2020-03-18 11:36:50 -03:00
evandrocoan
034ac10cf4
Fixed error: Incompatible types in assignment on qt/aqt/main.py
...
aqt\main.py:1437: error: Incompatible types in assignment (expression has type Module, variable has type "LibraryLoader[WinDLL]") [assignment]
_dummy = wintypes
^
2020-03-17 19:48:16 -03:00
Damien Elmes
dfa10f5a1c
Merge pull request #509 from Arthur-Milchior/type_queue_in_browser
...
adding missing constants in browser file
2020-03-17 21:33:08 +10:00
Damien Elmes
acd3eb9058
Merge pull request #506 from Arthur-Milchior/editor_web_view_did_init
...
Hook editor_web_view_did_init
2020-03-17 20:53:20 +10:00
Arthur Milchior
e7ea8f412f
adding missing constants in browser file
2020-03-17 06:32:46 +01:00
evandrocoan
4bb0a75fe7
Give the 'typearrow' id to the type answer arrow
2020-03-16 00:42:08 -03:00
Arthur Milchior
89bb5fe79b
Hook editor_web_view_did_init
...
I hope to use this in oder to had features to the web view. In
particular, I expect the "spell checking" feature to use it
hopefully. Because currently it's incompatible with other add-on
dealing with the editor
2020-03-16 04:37:07 +01:00
Damien Elmes
0ecc189a9b
fix audio getting stuck (2/2)
2020-03-15 09:34:04 +10:00
Damien Elmes
f30853f5ed
fix audio getting stuck (1/2)
...
The problem was caused by stop() doing a spin loop on the main
thread waiting for the completion signal. This prevented Qt's run
loop from executing, and so the completion signal was never delivered,
meaning longer files would time out.
Fixed by reworking the code so that stop() does not block at all -
instead it just sets the termination flag, and AVPlayer does not
unset current_player. Then when the completion callback fires, it
can advance to the next file.
TTS code still needs updating, and the lock should be safe to remove
as the start/stop logic is all on the main thread.
2020-03-15 09:26:31 +10:00
Damien Elmes
e7452300a2
imports
2020-03-14 22:10:27 +10:00
Damien Elmes
8845b05933
make sure audio queue is cleared when transitioning between cards
...
https://anki.tenderapp.com/discussions/beta-testing/1846-anki-2122-beta#comment_48150139
2020-03-14 20:04:40 +10:00
Damien Elmes
522ee8fca7
drop the deck count warning
2020-03-14 19:41:33 +10:00
Damien Elmes
d9923b12ba
fix play icons not appearing in browser preview when autoplay off
2020-03-14 19:29:11 +10:00
Damien Elmes
aad491dbb9
possible fix for invalid handle issue
...
https://anki.tenderapp.com/discussions/ankidesktop/39346-cant-add-audio-on-flash-drive
2020-03-14 18:53:43 +10:00
Damien Elmes
33f312315e
must close progress before displaying error, or user can't click it away
2020-03-14 18:42:03 +10:00
evandrocoan
2e54d315e1
Fixed BeautifulSoup breaking string paths
...
https://anki.tenderapp.com/discussions/ankidesktop/39543-anki-is-replacing-the-character-by-when-i-exit-the-html-edit-mode-ctrlshiftx
2020-03-12 21:19:09 -03:00
Damien Elmes
f0be553e09
add media check window title, use consistent formatting in template
2020-03-12 18:02:22 +10:00
Damien Elmes
2f02867840
Merge pull request #503 from Arthur-Milchior/error_msg_in_schema
...
Error msg in schema
2020-03-11 16:00:47 +10:00
Damien Elmes
fd81fca4aa
fix wrong language selected in prefs screen
2020-03-11 14:58:57 +10:00
Arthur Milchior
5482cafef2
Allow add-on dev to show personalized message.
...
The error should be in "error_msg"
They can show:
* the original error message with {problem}
* the path of the error with {path},
* the value which does not match against the subchema with {error}
* the subschema against which the error occurs with {schema}
Thanks to Glutanimate for the idea https://github.com/ankitects/anki/pull/495#issuecomment-596685227
2020-03-11 01:39:39 +01:00
Arthur Milchior
0b04da6419
snake case for addon_schema
2020-03-11 00:56:14 +01:00
Damien Elmes
131d37dca5
add switch in prefs for new timezone handling code; bump sync version
...
AD devs: before updating the sync version to 10, please make sure
the new timezone code has been ported over. The core change to the
scheduler is in _updateCutoff():
9736e4a970/pylib/anki/schedv2.py (L1357)
with the following supporting Python functions:
9736e4a970/pylib/anki/schedv2.py (L1410)
_timing_today() is calculated in Rust (lines up to 92, the rest are
tests):
9736e4a970/rslib/src/sched/cutoff.rs (L20)
The change went through a few iterations before stabilising, so it's
probably easier to refer to the above code than the patches that got
us to that point.
2020-03-10 17:50:18 +10:00
Damien Elmes
0f4c3ab611
add restore media action
2020-03-10 13:35:09 +10:00
Damien Elmes
6ad2a1f9a3
add empty trash action in aqt
2020-03-10 12:49:40 +10:00
Arthur Milchior
74b2b18966
hook single_addon_selected
2020-03-09 12:45:10 +01:00
Arthur Milchior
4e1838bba8
hook addons_dialog_will_show
2020-03-09 12:45:10 +01:00
Damien Elmes
b1d0945d10
Merge branch 'master' into more_precise_config_error_message
2020-03-09 19:41:26 +10:00
Damien Elmes
bc435b8772
Merge pull request #499 from glutanimate/add-custom-dialogs-to-dialogmanager
...
Allow add-on authors to register their dialogs with the dialog manager
2020-03-09 19:40:34 +10:00
Arthur Milchior
c9b89c5394
More precise schema failure message
...
While creating schema for the add-on I used, I realized that my error
message was not precise enough.
For a big configuration such as in "Enhance main window", the message
"None is not of type 'string'" is almost useless.
So I added a path in the json config, to indicate where the error
is. And also which subschema is currently being used.
2020-03-08 16:38:06 +01:00
Glutanimate
05f69272d0
Elaborate more on the use case and requirements for dialog registration
2020-03-07 17:43:21 +01:00
Glutanimate
1ed2ba8983
Allow add-ons to register custom dialogs with the dialog manager
2020-03-07 17:35:09 +01:00
Glutanimate
0f9683a850
Add cursory type annotations for aqt.DialogManager
...
Typing DialogManager._dialogs properly would require more extensive
changes which could break a number of add-ons
2020-03-07 17:29:37 +01:00
Arthur Milchior
5adbc33d4c
hook debug_ran_hook
2020-03-06 15:01:22 +01:00
Arthur Milchior
3319b114de
hook debug_will_show_hook
2020-03-06 15:01:02 +01:00
Damien Elmes
4290bc81eb
Merge pull request #496 from TooYoungTooSimp/patch-1
...
Use anki.consts.SYNC_BASE instead of hardcoded url
2020-03-06 21:22:18 +10:00
Damien Elmes
5f4839a901
Merge pull request #495 from Arthur-Milchior/check_schema_before_accepting
...
add-on config check schema of user config
2020-03-06 21:14:47 +10:00
雷宇辰
a2604b80f5
Use anki.consts.SYNC_BASE instead of hardcoded url
...
Use `anki.consts.SYNC_BASE` instead of hardcoded url in function `MediaSyncer._endpoint`
2020-03-06 18:55:07 +08:00
Arthur Milchior
01c74bc015
add-on config check schema of user config
2020-03-05 16:31:17 +01:00
Damien Elmes
6bc3462700
fix regression introduced by PR #492
2020-03-05 09:24:26 +10:00
Damien Elmes
94b90d23fb
Merge pull request #493 from glutanimate/type-annotate-editor-card
...
Type-annotate editor.card
2020-03-05 07:26:40 +10:00
Damien Elmes
78e9959e78
Merge pull request #492 from Arthur-Milchior/print_json_decode_error
...
print json decode error message
2020-03-05 07:26:17 +10:00
Glutanimate
3948b778e8
Type-annotate editor.card
2020-03-04 17:41:26 +01:00
Arthur Milchior
85966f42dc
print json decode error message
...
The main point is to allow add-on dev' to debug their own json
2020-03-04 15:29:48 +01:00
Arthur Milchior
bc67268d82
config_unprettify_json
2020-03-04 08:25:14 +01:00
Arthur Milchior
e4986c7784
hook prettify_json
2020-03-04 08:25:14 +01:00
Damien Elmes
669bb3737f
Merge pull request #454 from glutanimate/display-addon-name-in-config-window
...
Display add-on name in add-on configuration window title
2020-03-02 16:59:44 +10:00
Damien Elmes
5cf7d6672e
Merge pull request #476 from Arthur-Milchior/hook_browser_init
...
Hook browser init
2020-03-02 15:40:10 +10:00
Damien Elmes
3d7f643184
Merge pull request #472 from Arthur-Milchior/hook_init_clayout
...
Hook init clayout
2020-03-02 15:39:23 +10:00
Alan Du
6c2dda6c9c
Monkeytype qt/aqt/reviewer.py
2020-03-01 10:16:08 -05:00
Alan Du
96ca469d12
Monkeytype qt/aqt/theme.py
2020-03-01 10:16:08 -05:00
Alan Du
f8c22499cb
Monkeytype qt/aqt/sound.py
2020-03-01 10:16:08 -05:00
Alan Du
eebf5d2a1d
Monkeytype qt/aqt/toolbar.py
2020-03-01 10:16:08 -05:00
Alan Du
cd570eef24
Monkeytype qt/aqt/webview.py
2020-03-01 10:16:08 -05:00
Arthur Milchior
80ba217772
hook for initializing clayout
2020-03-01 11:42:41 +01:00
Arthur Milchior
047e027e01
browser_did_init
2020-03-01 11:39:41 +01:00
Glutanimate
d22ad11224
Display add-on name in add-on configuration window title
2020-02-29 20:15:23 +01:00
Damien Elmes
2db7591b6d
fix shared link
2020-02-29 21:43:37 +10:00
Damien Elmes
7bde0556cb
Merge pull request #473 from evandroforks/fix_docs_urllink
...
Fixed anki website docs link on pylib/anki/consts.py
2020-02-29 21:39:11 +10:00
Damien Elmes
e2c6fd464c
Merge pull request #468 from BlueGreenMagick/fix-comment-setwebexports
...
allow either \ or / in web exports filter
2020-02-29 21:25:12 +10:00
Damien Elmes
8c0d4c8059
restore mpv/mplayer missing warning that got lost in the av changes
...
and ensure the UI doesn't get temporarily stuck after the command fails
2020-02-29 21:20:08 +10:00
Damien Elmes
56b2cc58ed
point user to manual if they're trying to disable night mode in dark mode
2020-02-29 20:44:49 +10:00
BlueGreenMagick
e46ace5044
match both forward slash and os seperator
2020-02-29 12:36:10 +09:00
evandrocoan
21b66cd86b
Fixed anki website docs link on pylib/anki/consts.py
2020-02-28 22:18:19 -03:00
Damien Elmes
a954dc1066
fix _tidy_name() comment
2020-02-28 17:14:47 +10:00
Damien Elmes
43f5d13ed6
migrate strings with trailing newlines to fluent
2020-02-27 20:36:40 +10:00
Alan Du
a63c9e5a9a
Apply mypy improvements to aqt
2020-02-26 22:27:58 -05:00
Damien Elmes
e04cbfd7f8
Merge pull request #462 from Arthur-Milchior/filter_empty_card
...
Add a hook to change empty cards to delete
2020-02-27 12:53:52 +10:00
Damien Elmes
0c49431719
FString -> TR
2020-02-27 12:25:19 +10:00
Damien Elmes
e439e8cdec
add string for media log title, and add button in prefs to access it
2020-02-27 12:22:24 +10:00
Damien Elmes
644670d0d6
return a localized error for all error kinds
...
some errors are not yet localized, but now the Python code
doesn't need to think about which property to use
2020-02-27 10:46:24 +10:00
Arthur Milchior
5ff1f3890f
Add a hook to change empty cards to delete
2020-02-26 10:59:34 -08:00
Damien Elmes
cfe4af81cf
add missing short argument to legacy fmtTimeSpan()
2020-02-26 20:36:59 +10:00
Damien Elmes
a634188ec5
fix dark mode target Qt version
2020-02-26 16:53:35 +10:00
Damien Elmes
65ec9d190d
formatting fixes
2020-02-25 17:56:46 +10:00
Damien Elmes
db69f84c0a
interrupt current audio when autoplay off
2020-02-25 17:49:06 +10:00
Damien Elmes
f71484a444
ensure user doesn't try to export into data folder
...
https://anki.tenderapp.com/discussions/ankidesktop/39008-export-path-accidentally-set-to-collectionmedia-possible-damage
2020-02-25 17:38:49 +10:00
Damien Elmes
06dee0ef08
formatting fix
2020-02-25 17:29:10 +10:00
Damien Elmes
fbbbbd6a7d
tweak rounding
...
- avoid rounding minutes
- round the seconds taken in the card info screen
- provide different precise and imprecise modes, since we need
to display seconds to multiple decimals in some areas
2020-02-25 17:29:06 +10:00
Damien Elmes
fd835d9b64
fix display of 1+ day intervals in review history
...
https://anki.tenderapp.com/discussions/ankidesktop/39189-interval-field-of-card-info-display-wrong-unit
2020-02-25 17:00:02 +10:00
Damien Elmes
32b38bf26d
ensure Anki starts on Windows systems that don't have TTS installed
2020-02-25 16:25:17 +10:00
Damien Elmes
621774559f
don't allow UI scale < 100%
...
Both Windows and Linux installs fail to render properly when the scale
is below 100%:
https://anki.tenderapp.com/discussions/ankidesktop/38909-user-interface-size
Retina Macs do render properly, but they tend to display at appropriate
size out of the box anyway.
2020-02-25 16:20:14 +10:00
Damien Elmes
0fae85d2b4
don't pick up system dark theme in -alternate Mac build
...
The older Qt doesn't support it properly
2020-02-25 15:46:39 +10:00
Glutanimate
8454e27efb
Use a consistent function signature across load and save hooks
2020-02-24 15:47:48 +01:00
Glutanimate
7cc9311b79
Add deck_conf_did_setup_ui_form hook
...
Called earlier than deck_conf_will_show, allowing add-on authors
to perform UI modifications before the deck config is loaded.
2020-02-24 15:29:23 +01:00
Glutanimate
335047187a
Add hooks for extending the deck options dialog
...
Introduces three new hooks:
* deck_conf_will_show: Allows adding or modifying widgets
* deck_conf_did_load_config: Allows add-on widgets to read from config
* deck_conf_will_save_config: Allows add-on widgets to write to config
2020-02-24 13:42:30 +01:00
Damien Elmes
2f4ee0e523
Merge pull request #456 from Arthur-Milchior/noDefaultDeckInBrowser
...
No default deck in browser
2020-02-24 19:35:49 +10:00
Damien Elmes
b9280ca31e
enable v2 apkg export
2020-02-24 18:54:55 +10:00
Damien Elmes
1afac2492b
fix tr()
2020-02-24 18:37:02 +10:00
Damien Elmes
0a618c40ad
add Tobias to contributors
...
if anyone else is reading this and thinks they should be on the list,
please let me know!
2020-02-24 18:36:37 +10:00
Damien Elmes
e73157285e
remove old fmtTimeSpan() and associated strings
2020-02-23 18:47:16 +10:00
Damien Elmes
703b9da09c
move the big error message into FTL
...
this works around the issue Pontoon has with saving translations with
trailing newlines, and makes it easier for translators to update in
the future, as the errors are now using markdown
2020-02-23 18:01:34 +10:00
Damien Elmes
0e931808c9
translations no longer require an open collection
2020-02-23 14:57:02 +10:00
Damien Elmes
4430c67069
rework Fluent handling
...
- all .ftl files for a language are concatenated into a single file
at build time
- all languages are included in the binary
- external ftl files placed in the ftl folder can override the
built-in definitions
- constants are automatically generated for each string key
- dropped the separate StringsGroup enum
2020-02-23 13:22:50 +10:00
Arthur Milchior
bb86c9dbd6
should(default)deckbedisplayed in snake case
2020-02-22 04:08:01 -08:00
Arthur Milchior
927749d7a6
Remove options for all/allNames
...
Instead, we always see default deck if it has a child
As indicated in https://github.com/ankitects/anki/pull/452
2020-02-22 04:03:42 -08:00
Arthur Milchior
1126ae293e
forceDefault to force_default
2020-02-22 04:01:42 -08:00
Damien Elmes
42939fe0e4
remove unused import
2020-02-21 19:58:54 +10:00
Damien Elmes
49fe080636
add studied_today(), move to statistics.ftl
2020-02-21 18:01:15 +10:00
Damien Elmes
f4330cd213
simplify interval display in review log
2020-02-21 15:29:38 +10:00
Damien Elmes
2fc15d0d3a
add non-abbreviated timespan translation; update existing short=True calls
...
- drop the '5m3s' special casing done in the card stats screen, and
just use decimals
- change alignment of the review log so that the non-abbreviated
spans are easier to read
2020-02-21 15:29:38 +10:00