Damien Elmes
55b99511c0
print exception on close
2020-04-08 10:05:33 +10:00
Damien Elmes
6ecf2ffa2c
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
1122ab4791
Merge pull request #541 from BlueGreenMagick/tmpNote-cloze
...
detect renamed cloze fields in note type preview
2020-04-07 14:17:44 +10:00
BlueGreenMagick
12b69af9b2
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
bda2935de1
_basename to basename, since it's not private in use
2020-04-06 23:51:50 +02:00
Arthur Milchior
5315b717c0
_basename used where possible
2020-04-06 23:51:42 +02:00
Arthur Milchior
69a9425cd0
replace _path by path (because it's not private here)
2020-04-06 23:50:43 +02:00
Arthur Milchior
266c2022b5
uses _path where possible
2020-04-06 23:50:37 +02:00
Arthur Milchior
5d55c4cda2
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
676f4e74a8
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
8b76098bc7
omit period in steps when possible
2020-04-06 15:39:47 +10:00
Damien Elmes
7375a0389a
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
ac4284b2de
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
333d0735ff
preserve mtime/usn when syncing deck config, and add snake_case names
2020-04-03 19:34:46 +10:00
Damien Elmes
2c99a4203f
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
657fa9758b
hook add_card_did_init
2020-04-03 11:03:08 +02:00
Damien Elmes
6cf3b0ca18
add type checking to previewer
2020-04-03 09:13:33 +10:00
Damien Elmes
6049e15dac
add missing license header
2020-04-03 09:05:32 +10:00
Damien Elmes
a359c27c25
use old name for preview dialog to avoid breaking add-ons
2020-04-03 09:00:18 +10:00
Damien Elmes
5f9c126caa
fix some errors in the previewing code
2020-04-03 09:00:08 +10:00
Damien Elmes
4790fec881
render() conflicts with Qt method
2020-04-03 08:29:35 +10:00
Damien Elmes
de79087620
be explicit that the method is a no-op
2020-04-03 08:27:56 +10:00
Damien Elmes
f5e0ad8fad
tweak wording
2020-04-03 08:27:26 +10:00
Arthur Milchior
cd1fd6f9a2
snake case
2020-04-02 17:44:06 +02:00
Arthur Milchior
00d04cd6c9
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
6564f00748
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
31f2f60757
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
0e21978577
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
92cec5c327
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
c722b5bd2c
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
b76ee6f8e5
ListCardsPreviewer
2020-04-02 17:44:06 +02:00
Arthur Milchior
c4a38c5e36
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
727b7fb6e5
split onPreview Prev/Next
2020-04-02 17:44:06 +02:00
Arthur Milchior
79dece3124
split _updatePreviewButtons
...
This will allow to create a hierarchy in this class
2020-04-02 17:44:06 +02:00
Arthur Milchior
f42c164999
add a class to preview a single card
2020-04-02 17:44:06 +02:00
Arthur Milchior
944e82211f
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
0a3d68a565
split = None
2020-04-02 17:44:06 +02:00
Arthur Milchior
6d98063ac3
vbox and bbox are attribute
2020-04-02 17:44:06 +02:00
Arthur Milchior
95e020f743
use card method
2020-04-02 17:44:06 +02:00
Arthur Milchior
179ba87ce4
previewer: create gui in a distinct function
2020-04-02 17:44:06 +02:00
Arthur Milchior
45ccd4aa3c
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
b5f0f459ce
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
Damien Elmes
634931cf9e
tweak hook name
2020-04-01 17:13:08 +10:00
Damien Elmes
28380d4183
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
5fe747f14a
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
c050833aba
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
c9da4bc1a6
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
4b34e71030
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
bfdb5d01b5
Use double quotes in taglimit queries
2020-03-30 10:12:47 +02:00
Damien Elmes
ef79f7d676
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