Damien Elmes
4da189a48c
grey out spinner if max=0
...
https://anki.tenderapp.com/discussions/ankidesktop/32710-custom-study
2020-04-10 20:32:48 +10:00
Damien Elmes
79bcba0e52
Merge pull request #549 from BlueGreenMagick/debug-resizable
...
Allow changing height of debug console text edit boxes
2020-04-10 19:46:13 +10:00
BlueGreenMagick
4b63d598af
add clear actions to context menu in debug console
2020-04-10 15:45:25 +09:00
BlueGreenMagick
2e44724e23
put debug textedits in a splitter
2020-04-10 13:50:09 +09:00
Damien Elmes
2723a03294
make sure progress stops when collection corrupt message shown
2020-04-09 14:19:20 +10:00
Damien Elmes
a1b1b7e428
fix deck_browser_did_render hook
2020-04-09 13:40:19 +10:00
Damien Elmes
896b798f12
Merge pull request #542 from BlueGreenMagick/addcards-cloze-warning
...
detect cloze cards with other filters
2020-04-08 16:30:00 +10:00
Damien Elmes
6f7b4191a3
Merge pull request #545 from BlueGreenMagick/draggable-field-pos
...
allow dragging fields to change its position
2020-04-08 16:22:27 +10:00
Damien Elmes
6fa53fa734
fix preview closing
...
https://anki.tenderapp.com/discussions/beta-testing/1868-anki-2124-beta#comment_48228480
2020-04-08 16:21:20 +10:00
Damien Elmes
83e988ce94
print exception on close
2020-04-08 10:05:33 +10:00
BlueGreenMagick
e7dba3709b
allow dragging fields to change its position
2020-04-07 16:42:33 +09:00
BlueGreenMagick
50ae0bed3f
use model type to detect cloze notes
2020-04-07 14:02:53 +09:00
Damien Elmes
f8f00f9d21
Merge pull request #543 from Arthur-Milchior/sort_according_to_path
...
Sort according to path
2020-04-07 14:44:53 +10:00
Damien Elmes
668bd25568
Merge pull request #541 from BlueGreenMagick/tmpNote-cloze
...
detect renamed cloze fields in note type preview
2020-04-07 14:17:44 +10:00
Damien Elmes
12e9293f60
avoid unnecessary work in 'make build'
2020-04-07 10:59:14 +10:00
BlueGreenMagick
e9929f84af
detect renamed cloze fields in note type preview
...
and cloze fields that is also other special field type
such as '{{cloze:hint:Text}}'
2020-04-07 08:56:54 +09:00
Arthur Milchior
d095b017e4
_basename to basename, since it's not private in use
2020-04-06 23:51:50 +02:00
Arthur Milchior
859178c113
_basename used where possible
2020-04-06 23:51:42 +02:00
Arthur Milchior
e6024d4d3d
replace _path by path (because it's not private here)
2020-04-06 23:50:43 +02:00
Arthur Milchior
8962194dcb
uses _path where possible
2020-04-06 23:50:37 +02:00
Arthur Milchior
7bef7ef8ec
Sort decks according to their paths
...
Currently it's sorted alphabetically. Because of this, "A::B" appears
between "A9" and "AA" in list of decks.
2020-04-06 22:49:25 +02:00
Damien Elmes
b5022ad354
store config in separate DB table
...
- mtime is tracked on each key individually, which will allow
merging of config changes when syncing in the future
- added col.(get|set|remove)_config()
- in order to support existing code that was mutating returned
values (eg col.conf["something"]["another"] = 5), the returned list/dict
will be automatically wrapped so that when the value is dropped, it
will save the mutated item back to the DB if it's changed. Code that
is fetching lists/dicts from the config like so:
col.conf["foo"]["bar"] = baz
col.setMod()
will continue to work in most case, but should be gradually updated to:
conf = col.get_config("foo")
conf["bar"] = baz
col.set_config("foo", conf)
2020-04-06 15:39:47 +10:00
Damien Elmes
d5200974f8
omit period in steps when possible
2020-04-06 15:39:47 +10:00
Damien Elmes
3c7eabc51e
add flag to skip downgrade on collection close
...
Disabled for now; when enabled it will allow faster collection
open and close in the normal case, while continuing to downgrade
when exporting or doing a full sync.
Also, when downgrading is disabled, the journal mode is no longer
changed back to delete.
2020-04-04 17:21:45 +10:00
Damien Elmes
ac54f85840
update tag handling
...
- tag list stored in a separate DB table
- non-wildcard searches now do full unicode case folding
(eg tag:masse matches 'Maße')
- wildcard matches do simple unicode case folding
- some functions haven't been updated yet, so ascii folding will
continue to be used in some operations
2020-04-03 19:34:46 +10:00
Damien Elmes
07c414692e
preserve mtime/usn when syncing deck config, and add snake_case names
2020-04-03 19:34:46 +10:00
Damien Elmes
6a7a18126f
Merge pull request #537 from Arthur-Milchior/add_card_did_init
...
hook add_card_did_init
2020-04-03 19:34:33 +10:00
Arthur Milchior
952d943440
hook add_card_did_init
2020-04-03 11:03:08 +02:00
evandrocoan
b879c4a951
Fixed double python version check for python_requires=">=3.7"
2020-04-02 22:56:53 -03:00
evandrocoan
2cc12313dd
Deprecated sdist wheels and pyqtwebengine as dependency
2020-04-02 22:56:48 -03:00
evandrocoan
e613e0dcbd
Set the minimum python version required by anki on qt/setup.py
2020-04-02 22:56:44 -03:00
evandrocoan
7d1c5140a8
Set to build a source distribution instead of build distribution
...
for aqt on qt/Makefile, because .whl files are just zip simple
zip files and do not support dynamic versioning. Also, there is no
restriction for aqt to be shipped as source tarball because it does
not ship any binaries.
2020-04-02 22:56:37 -03:00
evandrocoan
745371f510
Fixed setup.py installing pyqtwebengine on older versions of pyqt
2020-04-02 22:56:33 -03:00
evandrocoan
4f591235c7
Set to checks.yml install and import anki wheels
...
# Conflicts:
# .github/workflows/checks.yml
2020-04-02 22:56:13 -03:00
Damien Elmes
1f64059897
add type checking to previewer
2020-04-03 09:13:33 +10:00
Damien Elmes
da55f82619
add missing license header
2020-04-03 09:05:32 +10:00
Damien Elmes
3f965f5534
use old name for preview dialog to avoid breaking add-ons
2020-04-03 09:00:18 +10:00
Damien Elmes
8eca40dab8
fix some errors in the previewing code
2020-04-03 09:00:08 +10:00
Damien Elmes
d7edbedac0
Merge pull request #535 from evandroforks/upload_wheels_to_pypi
...
Created the GitHub Actions step Upload to PyPi
2020-04-03 08:40:17 +10:00
Damien Elmes
3959f7dcb8
render() conflicts with Qt method
2020-04-03 08:29:35 +10:00
Damien Elmes
c74cf44e90
be explicit that the method is a no-op
2020-04-03 08:27:56 +10:00
Damien Elmes
62586f75d0
tweak wording
2020-04-03 08:27:26 +10:00
Arthur Milchior
ef0cbb3a79
snake case
2020-04-02 17:44:06 +02:00
Arthur Milchior
c9bd4b53a3
Previewer is a QDialog
...
As suggested by Glutanimate in https://github.com/ankitects/anki/pull/532#discussion_r401256921
2020-04-02 17:44:06 +02:00
Arthur Milchior
391fd69061
Previewer: parent become private
...
It seems parent is a method of QDialog, so it creates a typing problem
2020-04-02 17:44:06 +02:00
Arthur Milchior
2eed489792
Methods used by browser are not public
...
As suggested by Glutanimate on https://github.com/ankitects/anki/pull/532#discussion_r401254100
2020-04-02 17:44:06 +02:00
Arthur Milchior
d85c8288f6
remove the word preview from previewer variable
...
As suggested by glutanimate https://github.com/ankitects/anki/pull/532#discussion_r401255290
2020-04-02 17:44:06 +02:00
Arthur Milchior
be66a0f1cd
removing PreviewDialog dataclass
...
It can be replaced by the previewer itself. As suggested by
Glutanimate https://github.com/ankitects/anki/pull/532#discussion_r401252970
2020-04-02 17:44:06 +02:00
Arthur Milchior
1ee6bcbdcb
PreviewerListCards can take cids and class
...
This allow to avoid recomputing a card if it is known, while allowing
to compute it until it's actually displayed
2020-04-02 17:44:06 +02:00
Arthur Milchior
7bf2631ea8
ListCardsPreviewer
2020-04-02 17:44:06 +02:00
Arthur Milchior
09a4a5307f
Split PreviewerBrowser into a hierarchy
...
A part in common to see multiple cards. And a part specific for the browser
2020-04-02 17:44:06 +02:00
Arthur Milchior
b5b6786f95
split onPreview Prev/Next
2020-04-02 17:44:06 +02:00
Arthur Milchior
8bb2b037ef
split _updatePreviewButtons
...
This will allow to create a hierarchy in this class
2020-04-02 17:44:06 +02:00
Arthur Milchior
cad44bb899
add a class to preview a single card
2020-04-02 17:44:06 +02:00
Arthur Milchior
7ce77e071d
Class PreviewerBrowser
...
This let a previewer class which can be used to display a single card,
and a previewer for the browser
2020-04-02 17:44:06 +02:00
Arthur Milchior
0b80b157e7
split = None
2020-04-02 17:44:06 +02:00
Arthur Milchior
1322cd8e11
vbox and bbox are attribute
2020-04-02 17:44:06 +02:00
Arthur Milchior
6e30edd79f
use card method
2020-04-02 17:44:06 +02:00
Arthur Milchior
6767431633
previewer: create gui in a distinct function
2020-04-02 17:44:06 +02:00
Arthur Milchior
7ea1ff840f
move previewer to a different class.
...
This uses exactly the same code, with one exception. In the previewer
`self` became `self.parent` in order to have action on the
browser. And in the browser, some `self` become `self.previewer` to
access the previewer. (Some function having an action on the previewer
starting from the browser now are separated in two. One version in the
previewer doing the same thing. One version in the browser, calling
the version in the previewer if it exists.)
Preview dialog now takes a QWidget in general, not necesarrily a
Browser. The parameter is called parent
2020-04-02 17:44:06 +02:00
Damien Elmes
91c2e89360
ignore row change events that arrive after browser closed
...
https://anki.tenderapp.com/discussions/ankidesktop/40148-bug-when-suspending-cards
2020-04-02 19:44:51 +10:00
evandrocoan
30107ab09d
Created the GitHub Actions step Upload to PyPi to run only on
...
tagged releases of anki:
https://anki.tenderapp.com/discussions/ankidesktop/40025-anki-in-python-package-index
2020-04-02 02:57:34 -03:00
Damien Elmes
f195296106
fix push-i18n-ftl
2020-04-01 18:20:31 +10:00
Damien Elmes
526569693c
fix extract-po-string.py
2020-04-01 17:49:31 +10:00
Damien Elmes
0359a6ae38
tweak hook name
2020-04-01 17:13:08 +10:00
Damien Elmes
525fae808d
Merge pull request #534 from Arthur-Milchior/tags_hook
...
hook tag_editor_received_a_key
2020-04-01 17:10:31 +10:00
Damien Elmes
8d952570a8
left-align tags
...
https://anki.tenderapp.com/discussions/ankidesktop/40068-tags-column-in-browser-is-centered
2020-04-01 13:29:42 +10:00
Damien Elmes
78aad6b64b
always position selection in center after search
...
https://anki.tenderapp.com/discussions/beta-testing/1888-retaining-position-when-searching
2020-04-01 11:01:20 +10:00
Damien Elmes
284ee0860b
allow aborting a media sync while http req in flight
...
The progress handling code needs a rethink, as we now have two separate
ways to flag that the media sync should abort. In the future, it may
make sense to switch to polling the backend for progress, instead of
passing a callback in.
2020-04-01 09:49:25 +10:00
Arthur Milchior
102670a5a6
hook tag_editor_received_a_key
...
I expect it to be useful for add-ons such as
https://github.com/fonol/anki-search-inside-add-card which interact
with the tag line
2020-03-31 15:05:41 +02:00
zjosua
487d02fff2
Use double quotes in taglimit queries
2020-03-30 10:12:47 +02:00
Damien Elmes
2fdca03043
Merge pull request #531 from Arthur-Milchior/browser_will_show_context_menu
...
hook browser_header_will_show_context_menu
2020-03-28 14:50:02 +10:00
Damien Elmes
76dec75947
Revert "Merge pull request #527 from Arthur-Milchior/explode_on_bridge_cmd"
...
This reverts commit 9e6a2ba1e6 , reversing
changes made to fc846ac4e4 .
Causes a traceback when opening the add screen, clicking on Type,
and choosing a note type.
File "/Users/dae/Work/code/dtop/qt/aqt/webview.py", line 31, in cmd
return json.dumps(self.onCmd(str))
File "/Users/dae/Work/code/dtop/qt/aqt/webview.py", line 97, in _onCmd
return self._onBridgeCmd(str)
File "/Users/dae/Work/code/dtop/qt/aqt/webview.py", line 500, in _onBridgeCmd
return self.onBridgeCmd(cmd)
File "/Users/dae/Work/code/dtop/qt/aqt/editor.py", line 374, in onBridgeCmd
self._links[cmd](self, *args) # type: ignore
File "/Users/dae/Work/code/dtop/qt/aqt/editor.py", line 404, in onBlur
if gui_hooks.editor_did_unfocus_field(False, self.note, int(ord)):
TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'
2020-03-28 13:35:05 +10:00
Arthur Milchior
015d07ec56
hook browser_header_will_show_context_menu
2020-03-27 23:06:22 +01:00
Damien Elmes
ccee3af22c
Merge pull request #529 from Arthur-Milchior/load_note_once_on_note_type_change
...
Ensuring "setNote" is called only once during changing of note type
2020-03-27 15:28:49 +10:00
Damien Elmes
36314f3b6f
Merge pull request #528 from evandroforks/create_actions_for_windows_macos
...
Create actions for Windows and Mac OS
2020-03-27 15:26:22 +10:00
Damien Elmes
9e6a2ba1e6
Merge pull request #527 from Arthur-Milchior/explode_on_bridge_cmd
...
Explode on bridge cmd
2020-03-27 15:22:14 +10:00
evandrocoan
f1fe0209f6
Merge remote-tracking branch 'danielelmes/master' into create_actions_for_windows_macos
2020-03-26 19:31:01 -03:00
Arthur Milchior
77e6e2eb69
Ensuring "setNote" is called only once during changing of note type
...
Initially, I wanted to solve the bug reported on
https://github.com/Arthur-Milchior/anki-html-src-in-field/issues/1
After some research, I finally discovered that the trouble was that,
when we change the note type in add card, the method
`aqt.editor.Editor.loadNote` is called twice. In itself, it would not
be a problem, but given the way callback works, its call back is
called twice on the last version of the webview. Which means that
`gui_hooks.editor_did_load_note` is called twice, which breaks this
add-on.
The reason why loadNote is called twice is because `setNote` is called
twice in `aqt.modelchooser.onModelChange`. The first time through
`gui_hooks.current_note_type_did_change` which calls
`addcards.AddCards.onModelChange` which calls `loadNote`, the second
time through `self.mw.reset()` which calls
`gui_hooks.state_did_reset()` which calls `addcards.AddCards.onReset`
which calls `setAndFocusNote` which calls `setNote`.
I should note furthermore that currently,
`gui_hooks.current_note_type_did_change` is called only when the model
chooser change a model. And `addCards.onModelChange` is never called,
only added to the hook `gui_hooks.current_note_type_did_change`. So
removing the line of code removed in this commit will have no side
effect in Anki itself. It will only affect the fact that this method
is called twice.
I do not know of any add-on calling `onModelChange` or
`gui_hooks.current_note_type_did_change`, but it means little, so of
course, it may always mean an add-on will break because of this
change. No way of being sure.
2020-03-26 21:26:13 +01:00
Arthur Milchior
504b89f7af
Ensure that focus, key and blur are treated as other commands
...
The reason to do that is that I can then call blur/key from other
method in add-on.
More precisely, I expect to create a method which captures the blur
command, ask anki to execute the standard version of the command, and
then execute more code once the note contains the new field value.
I should note that the code executed during blur/key/focus itself
didn't change. It's only it's location which changed.
2020-03-26 15:42:27 +01:00
Damien Elmes
0f0b90d427
fix progress dialog preventing schema mod
...
https://anki.tenderapp.com/discussions/beta-testing/1868-anki-2124-beta#comment_48183062
This is an ugly hack - in the future the calling code should be updated
to perform the check prior to starting the operation instead.
2020-03-26 21:07:53 +10:00
Damien Elmes
3ca9f61733
reduce the chances of add-ons preventing collections from loading
...
https://anki.tenderapp.com/discussions/ankidesktop/39953-sync-fail-with-images#comment_48182205
2020-03-26 09:53:15 +10:00
Arthur Milchior
2f245791c7
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
evandrocoan
964cc1a11a
Merge remote-tracking branch 'danielelmes/master' into create_actions_for_windows_macos
...
# Conflicts:
# .github/scripts/trailing-newlines.sh
# .github/workflows/checks.yml
# Makefile
# pylib/Makefile
# qt/Makefile
# qt/tools/typecheck-setup.sh
# rspy/Makefile
2020-03-24 22:49:49 -03:00
Damien Elmes
350d97b390
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
7dbe8ec21b
remove space in fields
2020-03-24 12:26:48 +01:00
Arthur Milchior
e509532ff1
strip to test whether field is empty
2020-03-24 11:55:55 +01:00
Arthur Milchior
3ecf8352f5
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
83dae0eab4
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
ebb4d5567a
Merge pull request #524 from Arthur-Milchior/indet_html
...
Ident html in editor
2020-03-24 16:00:57 +10:00
Damien Elmes
792dd69b98
Merge pull request #522 from Arthur-Milchior/editor_did_init
...
editor_did_init
2020-03-24 15:52:50 +10:00
evandrocoan
02d8728683
Created .github/workflows/mac_checks.yml
2020-03-24 00:31:46 -03:00
evandrocoan
4fcecaed9f
Created the .github/workflows/windows.yml
...
# Conflicts:
# .github/scripts/trailing-newlines.sh
# Makefile
# qt/tools/typecheck-setup.sh
# react/Makefile
# rspy/Makefile
# svelte/Makefile
# tslib/Makefile
2020-03-23 19:51:03 -03:00
evandrocoan
b376b78527
Deprecated eval usage on qt/tools/typecheck-setup.sh
2020-03-23 18:54:24 -03:00
evandrocoan
093af85c2e
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
f6d2c95888
Change not not to bool
2020-03-23 11:16:39 -06:00
Arthur Milchior
bb25398ed8
add an id to name tab
2020-03-23 16:52:24 +01:00
Damien Elmes
8b3995c1fc
formatting
2020-03-23 19:54:01 +10:00
Damien Elmes
c5fa0b130e
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
a34dcb709e
don't pop up network errors for media sync
...
log them instead
2020-03-23 19:06:13 +10:00
Damien Elmes
6a9ed72269
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
0c4feaa800
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
1bd4d0db4e
dump more info in card()/bcard()
2020-03-23 18:39:00 +10:00
Arthur Milchior
0b0888acd9
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
1e9197a4d3
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
ac78699d13
add back new_timezone_enabled(), as it's used in the prefs screen
2020-03-23 07:40:50 +10:00
Arthur Milchior
77309d3034
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
28b0281972
allow customizing search order
2020-03-21 17:38:09 +10:00
Damien Elmes
6d7bf16b5a
fix reversing sort order
2020-03-21 16:57:33 +10:00
Damien Elmes
eab7686d2f
remove old finder code; add search hooks to browser & remove old one
2020-03-21 16:38:46 +10:00
Damien Elmes
67d1842691
enable sorting on the extra browser columns
2020-03-21 07:55:53 +10:00
Damien Elmes
cdb85ef72e
disable word wrap in browser rows
2020-03-20 21:15:23 +10:00
Damien Elmes
f3296382ea
ensure endReset() is called even if an exception is raised
2020-03-20 21:15:23 +10:00
Damien Elmes
c13056773b
flush config on sort order change
2020-03-20 21:15:23 +10:00
Damien Elmes
2ea17d272c
wait for media sync to complete before unloading collection
2020-03-20 21:15:23 +10:00
Damien Elmes
e980d20a40
reuse the existing backend instead of creating a new one
2020-03-20 21:15:23 +10:00
Damien Elmes
5aba5c3ab9
drop the separate i18n backend
2020-03-20 21:15:23 +10:00
Damien Elmes
fa527bca4f
import .colpkg in a background thread
2020-03-20 21:15:23 +10:00
Damien Elmes
8c6e2cdb82
import .apkg files in a background thread
2020-03-20 21:15:23 +10:00
Damien Elmes
128b45aa40
import mapped files like csv in a background thread
2020-03-20 21:15:23 +10:00
Damien Elmes
37b24bf782
export in a background thread
2020-03-20 21:15:23 +10:00
Damien Elmes
258a8282d4
move .reopen() to mw; fix exporting
2020-03-20 21:15:23 +10:00
Damien Elmes
07381f74e6
fix mypy warning
2020-03-20 21:15:23 +10:00
Damien Elmes
a02c4ed994
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
cd78da24d9
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
df33b04be8
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
3f3a45e2ba
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
0147d9e470
drop log= argument from Collection
2020-03-20 21:15:23 +10:00
Damien Elmes
9e67ea736a
drop named sql arguments
2020-03-20 21:15:23 +10:00
Damien Elmes
6d0c84a1e9
drop progress handler and timeout arg
2020-03-20 21:15:23 +10:00
Damien Elmes
f6472f7430
tweak add-on wording
2020-03-20 21:00:21 +10:00
Damien Elmes
1accffbd34
Merge pull request #517 from Arthur-Milchior/backup_is_done
...
hook backup_is_done
2020-03-20 20:56:33 +10:00
Damien Elmes
9a36800ddb
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
9ea9bab3fa
Merge pull request #514 from evandroforks/box-sizing_border-box
...
Added box-sizing: border-box; to typeans by default
2020-03-20 20:50:40 +10:00
Damien Elmes
44a704b27b
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
1993c0af70
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
7192ee96ac
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
6e85e8ccce
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
339bbd88a8
Hook to decide whether a note should be added.
2020-03-19 03:39:53 +01:00
evandrocoan
00424fc404
Added box-sizing: border-box; to typeans by default
...
https://anki.tenderapp.com/discussions/beta-testing/1854-using-margin-auto-causes-horizontal-scrollbar-on-typesomething
2020-03-18 20:31:11 -03:00
evandrocoan
5d75a0c9f1
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
51477a4033
Fixed mypy and pylint not building on Windows
...
1. error: unused 'type: ignore' comment
2. Module 'pywintypes' has no 'error' member
3. Module 'win32pipe' has no 'SetNamedPipeHandleState' member,
but source is unavailable. Consider adding this module to
extension-pkg-whitelist if you want to perform analysis based on
run-time introspection of living objects.
2020-03-17 19:48:16 -03:00
evandrocoan
1fe4860b56
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
evandrocoan
c4e94ddc20
Fixed typecheck-setup.sh: sudo: command not found on Windows
2020-03-17 19:48:16 -03:00
evandrocoan
105e2a2502
Fixed make check for pylint not working on Windows due
...
F:\Python\python.exe: can't open file '/cygdrive/f/anki/pyenv/Scripts/pylint': [Errno 2] No such file or directory
2020-03-17 19:48:16 -03:00
Damien Elmes
f3d718eba2
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
77e6661517
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
Damien Elmes
7399486668
Merge pull request #505 from evandroforks/add_typearrow_id
...
Give the 'typearrow' id to the type answer arrow
2020-03-17 20:52:20 +10:00
Arthur Milchior
552c0cd8a8
adding missing constants in browser file
2020-03-17 06:32:46 +01:00
evandrocoan
219fcb3d9f
Give the 'typearrow' id to the type answer arrow
2020-03-16 00:42:08 -03:00
Arthur Milchior
19e7163c2f
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
fc34ba40d4
fix dupe colour in day mode
2020-03-15 12:20:29 +10:00
Damien Elmes
9c8e8c2216
fix audio getting stuck (2/2)
2020-03-15 09:34:04 +10:00
Damien Elmes
8cd64bad6a
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
cf8be89330
imports
2020-03-14 22:10:27 +10:00
Damien Elmes
863e5f5e51
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
81e472fdd1
drop the deck count warning
2020-03-14 19:41:33 +10:00
Damien Elmes
1161ac1962
fix play icons not appearing in browser preview when autoplay off
2020-03-14 19:29:11 +10:00
Damien Elmes
61e8a0ed3c
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
0298a0f09f
must close progress before displaying error, or user can't click it away
2020-03-14 18:42:03 +10:00
evandrocoan
d6fecea4ff
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
ea3815b34b
fix missing zero count styling, and tweak colours
2020-03-12 20:01:25 +10:00
Damien Elmes
7069123a76
copy ftl to source folder in extra-po-string as well
2020-03-12 19:53:52 +10:00
Damien Elmes
29f625b61e
add helper to duplicate a fluent string
2020-03-12 19:53:44 +10:00
Damien Elmes
7f9a3dad7e
no implicit {} in replacements
2020-03-12 18:02:40 +10:00
Damien Elmes
172cb966c5
add ability to use other path to translation json
2020-03-12 18:02:36 +10:00
Damien Elmes
0651aaa229
add media check window title, use consistent formatting in template
2020-03-12 18:02:22 +10:00
Damien Elmes
3939e800f2
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
133b3d9996
fix wrong language selected in prefs screen
2020-03-11 14:58:57 +10:00
Arthur Milchior
5bb0808994
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
c4ee97d707
snake case for addon_schema
2020-03-11 00:56:14 +01:00
Damien Elmes
404a8ca3ec
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():
b198ba8073/pylib/anki/schedv2.py (L1357)
with the following supporting Python functions:
b198ba8073/pylib/anki/schedv2.py (L1410)
_timing_today() is calculated in Rust (lines up to 92, the rest are
tests):
b198ba8073/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
e512199ace
add restore media action
2020-03-10 13:35:09 +10:00
Damien Elmes
cac9ccfa0d
add empty trash action in aqt
2020-03-10 12:49:40 +10:00
Arthur Milchior
7dd2c3ec43
hook single_addon_selected
2020-03-09 12:45:10 +01:00
Arthur Milchior
9f1415a811
hook addons_dialog_will_show
2020-03-09 12:45:10 +01:00
Damien Elmes
bd86e42b2c
Merge branch 'master' into more_precise_config_error_message
2020-03-09 19:41:26 +10:00
Damien Elmes
757fc93117
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
Damien Elmes
21a7de2741
Merge pull request #494 from Arthur-Milchior/debug_hook
...
Debug hook
2020-03-09 19:07:36 +10:00
Damien Elmes
0a8fe2959c
fix missing newline in ftl files
...
https://anki.tenderapp.com/discussions/beta-testing/1836-problem-with-new-translations
2020-03-09 18:58:41 +10:00
Arthur Milchior
0a8f339aa3
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
ef8a87446c
Elaborate more on the use case and requirements for dialog registration
2020-03-07 17:43:21 +01:00
Glutanimate
5105d297ac
Allow add-ons to register custom dialogs with the dialog manager
2020-03-07 17:35:09 +01:00
Glutanimate
49fa1cbc59
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
490441b9a7
hook debug_ran_hook
2020-03-06 15:01:22 +01:00
Arthur Milchior
932412993a
hook debug_will_show_hook
2020-03-06 15:01:02 +01:00
Damien Elmes
fd69c57ec4
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
aeb73a6354
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
雷宇辰
680b98ea32
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
Damien Elmes
33e9550b9a
fix invert() in packaged builds
...
invert() was working in the QT 5.14 test environment, but failing
in 5.13
2020-03-06 18:02:22 +10:00
Arthur Milchior
f914354d16
add-on config check schema of user config
2020-03-05 16:31:17 +01:00
Damien Elmes
02caf37f28
fix regression introduced by PR #492
2020-03-05 09:24:26 +10:00
Damien Elmes
42d1223498
Merge pull request #493 from glutanimate/type-annotate-editor-card
...
Type-annotate editor.card
2020-03-05 07:26:40 +10:00
Damien Elmes
a655dce629
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
fce24c6eea
Type-annotate editor.card
2020-03-04 17:41:26 +01:00
Arthur Milchior
0210521745
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
3cca0bb132
config_unprettify_json
2020-03-04 08:25:14 +01:00
Arthur Milchior
ea03fcc526
hook prettify_json
2020-03-04 08:25:14 +01:00
Damien Elmes
43d1c3b865
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
53b2122461
Merge pull request #476 from Arthur-Milchior/hook_browser_init
...
Hook browser init
2020-03-02 15:40:10 +10:00
Damien Elmes
dabbd18ffa
Merge pull request #472 from Arthur-Milchior/hook_init_clayout
...
Hook init clayout
2020-03-02 15:39:23 +10:00
Alan Du
63a0b36d91
Monkeytype qt/aqt/reviewer.py
2020-03-01 10:16:08 -05:00
Alan Du
c283013ccd
Monkeytype qt/aqt/theme.py
2020-03-01 10:16:08 -05:00
Alan Du
9c4e616191
Monkeytype qt/aqt/sound.py
2020-03-01 10:16:08 -05:00
Alan Du
9568c4190a
Monkeytype qt/aqt/toolbar.py
2020-03-01 10:16:08 -05:00
Alan Du
c6817d296b
Monkeytype qt/aqt/webview.py
2020-03-01 10:16:08 -05:00
Arthur Milchior
e45878c2ee
hook for initializing clayout
2020-03-01 11:42:41 +01:00
Arthur Milchior
57efc22d99
browser_did_init
2020-03-01 11:39:41 +01:00
Glutanimate
a36d37d041
Display add-on name in add-on configuration window title
2020-02-29 20:15:23 +01:00
Arthur Milchior
a1da483906
move deck_browser hooks apart
2020-02-29 17:01:38 +01:00
Damien Elmes
935133bed5
fix shared link
2020-02-29 21:43:37 +10:00
Damien Elmes
19ef578556
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
b4f9b8109c
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
e52ceaed9b
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
61230105fa
point user to manual if they're trying to disable night mode in dark mode
2020-02-29 20:44:49 +10:00
BlueGreenMagick
ffb6ae2dc6
match both forward slash and os seperator
2020-02-29 12:36:10 +09:00
evandrocoan
bc5a9da396
Fixed anki website docs link on pylib/anki/consts.py
2020-02-28 22:18:19 -03:00
Arthur Milchior
f20b0e43cd
indicate that card_will_show belong to multiple windows
2020-02-28 13:34:48 +01:00
Damien Elmes
749541226e
fix _tidy_name() comment
2020-02-28 17:14:47 +10:00
Damien Elmes
80cd519d40
stop fetching qt translations as part of recompile step
2020-02-27 20:38:05 +10:00
Damien Elmes
6aafefbc0c
fix echo statement
2020-02-27 20:37:44 +10:00
Damien Elmes
1e03223320
dump po data into json to speed up invocations
2020-02-27 20:37:24 +10:00
Damien Elmes
2de865d7f0
migrate strings with trailing newlines to fluent
2020-02-27 20:36:40 +10:00
Damien Elmes
5f7046e841
strip whitespace in extracted strings
2020-02-27 17:38:02 +10:00
Damien Elmes
56d902b669
fix extract-po-string path
2020-02-27 17:37:40 +10:00
Damien Elmes
f5f2063211
remove submodule that crept into Alan's patch
2020-02-27 14:33:15 +10:00
evandrocoan
59d45f309a
Merge remote-tracking branch 'danielelmes/master' into fix_windows_build
...
# Conflicts:
# CONTRIBUTORS
2020-02-27 00:54:16 -03:00
Alan Du
df55645ced
Apply mypy improvements to aqt
2020-02-26 22:27:58 -05:00
evandrocoan
4a2456f62f
Merge remote-tracking branch 'danielelmes/master' into fix_windows_build
...
# Conflicts:
# Makefile
2020-02-27 00:20:34 -03:00
Damien Elmes
fcc965e81a
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
93c2e04267
FString -> TR
2020-02-27 12:25:19 +10:00
Damien Elmes
3dc0567f89
add string for media log title, and add button in prefs to access it
2020-02-27 12:22:24 +10:00
Damien Elmes
83d894ac87
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
228db67c93
Add a hook to change empty cards to delete
2020-02-26 10:59:34 -08:00
Damien Elmes
946a2e6a3e
add missing short argument to legacy fmtTimeSpan()
2020-02-26 20:36:59 +10:00
Damien Elmes
b276e6f9ac
fix push-i18n
2020-02-26 18:09:06 +10:00
Damien Elmes
7d691d7571
don't abort build if mo file fails; rename files for consistency
...
Issues are now checked for in CI, so there's no need to break the
build for everyone each time there's a problem with the gettext
catalogs.
2020-02-26 17:47:02 +10:00
Damien Elmes
8b728b4a1e
fix dark mode target Qt version
2020-02-26 16:53:35 +10:00
evandrocoan
0eee3061dc
Removed the qt/Makefile INSTALL_PYAUDIO variable and
...
created the Makefile SYSTEM_PACKAGES updating README.development
2020-02-25 21:08:05 -03:00
Damien Elmes
94ba217c25
formatting fixes
2020-02-25 17:56:46 +10:00
Damien Elmes
5ca00fc92d
interrupt current audio when autoplay off
2020-02-25 17:49:06 +10:00
Damien Elmes
c240690da7
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
c172557e47
formatting fix
2020-02-25 17:29:10 +10:00
Damien Elmes
59328d9ade
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
fa41f24bf6
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
999aa74eb2
ensure Anki starts on Windows systems that don't have TTS installed
2020-02-25 16:25:17 +10:00
Damien Elmes
8efc23229c
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
evandrocoan
2d316748a7
Merge remote-tracking branch 'danielelmes/master' into fix_windows_build
...
# Conflicts:
# Makefile
2020-02-25 03:16:57 -03:00
evandrocoan
9e690f80e7
Renamed FIND_EXEC to FIND, replaced IS_WINDOWS by specific commands
...
as PYTHON_BIN, ACTIVE_SCRIPT and INSTALL_PYAUDIO.
Fixed echo statements not using @ to suppress double message output.
Deprecated the usage of ECHOCMD := /bin/echo -e because it has no
effect: https://stackoverflow.com/questions/60387684/how-to-make-the-makefile-echos-to-use-bin-echo-e
# Conflicts:
# Makefile
2020-02-25 03:15:11 -03:00
Damien Elmes
9aa23c4846
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
Damien Elmes
592741deaa
change default night mode card background to dark grey
2020-02-25 15:43:56 +10:00
Damien Elmes
d8695b215f
use -q instead of --for-msgfmt so older gettext versions don't break
...
I was mainly using it to keep the output tidy anyway
2020-02-25 13:52:40 +10:00
Damien Elmes
d26a68f20e
Merge pull request #458 from glutanimate/add-deck-conf-hooks
...
Add deck options hooks
2020-02-25 13:38:04 +10:00
evandrocoan
5fab701431
Added -o pipefail to all set -e ensuring the build fails when some
...
operation with pipe exits error status.
# Conflicts:
# Makefile
2020-02-24 20:18:56 -03:00
evandrocoan
6a70adf6f4
Fixed msgmerge not stopping the shell on error
2020-02-24 17:54:59 -03:00
evandrocoan
a3e2793e25
Fixed build-mo-files not stopping on build errors
2020-02-24 17:02:27 -03:00
evandrocoan
6d16298254
Fixed development compilation with Windows 10
...
1. Documented on README.development how to setup the environment
for Windows.
2. Fixed qt/ts/package.json not working due usage of ; instead
of &&
3. Fixed copy-qt-files rsync using Windows paths instead of Unix
ones
4. Fixed Makefile's using Windows Linux Subsystem bash instead of
the Cygwin one.
5. Ensured running the correct pip module by using python -m pip
instead of just pip.
6. Fixed Makefiles using Windows `find` command, instead of the
Cygwin's one (POSIX find).
7. Fixed pyenv sourcing/activate using /pyevn/bin/ instead of
/python/Scripts/ on Windows.
8. Fixed pyaudio not installing/linking with portaudio on Windows
by installing for a patched fork at evandroforks/pyaudio
9. Forked and fixed portaudio not building with Visual Studio 2017
or superior and added the reference for the patched fork on
README.development at evandroforks/portaudio.
2020-02-24 14:59:11 -03:00
Glutanimate
f7b256a860
Use a consistent function signature across load and save hooks
2020-02-24 15:47:48 +01:00
Glutanimate
d1dc0362b6
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
368a485847
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
43dae5c90e
Merge pull request #456 from Arthur-Milchior/noDefaultDeckInBrowser
...
No default deck in browser
2020-02-24 19:35:49 +10:00
Damien Elmes
db486dd25c
enable v2 apkg export
2020-02-24 18:54:55 +10:00
Damien Elmes
0e6b584483
fix tr()
2020-02-24 18:37:02 +10:00
Damien Elmes
d085fcea64
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
087afc94d8
merge po with pot before building mo
...
fixes errors in strings that have been removed from the template
2020-02-24 15:35:52 +10:00
Damien Elmes
70ae99778f
remove old fmtTimeSpan() and associated strings
2020-02-23 18:47:16 +10:00
Damien Elmes
f710e58cee
check-po-files moved into i18n repo
2020-02-23 18:33:03 +10:00
Damien Elmes
1c69747b5a
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
024126b3be
support aqt-specific FTL files
2020-02-23 18:00:13 +10:00
Damien Elmes
d270a01b61
update extract-po-string
...
- use fluent.syntax for output (only non-plural case for now)
- add confirmation step
2020-02-23 17:58:43 +10:00
Damien Elmes
c98247fa0f
translations no longer require an open collection
2020-02-23 14:57:02 +10:00
Damien Elmes
0d1a30c6d8
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
adfbd0d70f
should(default)deckbedisplayed in snake case
2020-02-22 04:08:01 -08:00
Arthur Milchior
6a50730f0d
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
89b79d9800
forceDefault to force_default
2020-02-22 04:01:42 -08:00
Damien Elmes
258a8a04f0
fix comment
2020-02-21 20:10:58 +10:00
Damien Elmes
7d4d713c49
remove unused import
2020-02-21 19:58:54 +10:00
Damien Elmes
3a83d9844a
add studied_today(), move to statistics.ftl
2020-02-21 18:01:15 +10:00
Damien Elmes
ce84a1a246
don't use implicit $ in extract-po-strings
2020-02-21 17:06:57 +10:00
Damien Elmes
05c20e72e8
split ftl and po syncing scripts
2020-02-21 15:29:38 +10:00
Damien Elmes
8afaaf9c70
simplify interval display in review log
2020-02-21 15:29:38 +10:00
Damien Elmes
ddf1d6acbd
add plural support to extract-po-string
2020-02-21 15:29:38 +10:00
Damien Elmes
74bff450e2
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
Damien Elmes
b0cd1b23f2
support variables when importing from gettext
2020-02-21 15:29:38 +10:00
Damien Elmes
bda7e0e0a4
possible fix for race conditions in the sound code
...
https://anki.tenderapp.com/discussions/ankidesktop/39030-erro-ao-adicionar-arquivo-de-udio
the lock should at least ensure _process doesn't disappear in the
middle of our logic, and the longer wait should reduce the chances
of .stop() timing out and allowing multiple audio files to play
Not very happy with the current approach, as in the timeout case
you have multiple threads competing to access the same data
2020-02-21 15:14:09 +10:00
Damien Elmes
e98e85a0b8
Revert "Merge pull request #452 from Arthur-Milchior/noDefaultDeckInBrowser"
...
This reverts commit 56d908cc28 , reversing
changes made to c123b5bf95 .
More discussion required on https://github.com/ankitects/anki/pull/452
2020-02-21 12:27:39 +10:00
Damien Elmes
a30e4d9313
Merge pull request #448 from glutanimate/top_toolbar_links_hook
...
Add a hook for adding links to the top toolbar
2020-02-21 12:18:25 +10:00
Damien Elmes
56d908cc28
Merge pull request #452 from Arthur-Milchior/noDefaultDeckInBrowser
...
No default deck in browser
2020-02-21 12:10:36 +10:00
Glutanimate
4f50f6c669
Refactor ToolbarLink dataclass into create_link arguments
...
ToolbarLink was more of a vestigial left-over from an interim
implementation. This change simplifies link addition and brings
it closer in line with adding buttons in the editor screen
2020-02-20 18:22:31 +01:00
Glutanimate
8aa7e9e32e
Restore gui_hooks changes
2020-02-20 17:05:27 +01:00
Glutanimate
1df7a29765
Add ids to all link elements
2020-02-20 16:34:02 +01:00
Glutanimate
0e8c8ae775
Rename CenterLink to more generic ToolbarLink and add inline docs
2020-02-20 16:30:22 +01:00
Glutanimate
af2c353aa7
Update 'top_toolbar_did_init_links' hook
2020-02-20 16:23:33 +01:00
Glutanimate
1a8ef9e589
Refactor center link creation and link handler registration
...
Uses a CenterLink dataclass to describe individual links, and transforms
them into HTML using create_link, which may also be used by add-ons.
2020-02-20 16:15:50 +01:00
Glutanimate
05f5b4d664
Merge branch 'master' into top_toolbar_links_hook
2020-02-20 15:17:48 +01:00
Arthur Milchior
59587f1bb2
no default in left-side browser
2020-02-19 02:42:04 -08:00
Arthur Milchior
541e586db1
Replace g[idx] by variable name
2020-02-19 02:41:57 -08:00
Arthur Milchior
aa1668ec96
remove default deck from filter list
2020-02-19 02:41:56 -08:00
Damien Elmes
20c765cf91
pin fcntl, which went missing on Linux in a recent update
2020-02-19 19:59:31 +10:00
Arthur Milchior
9860d5ba5e
method shouldBeDisplayed
2020-02-19 01:56:33 -08:00