Commit graph

1287 commits

Author SHA1 Message Date
Damien Elmes
8095ad8e4b use isort to tidy up imports 2019-12-20 19:19:29 +10:00
Damien Elmes
92ea94a034 add some typing to addcards and main 2019-12-20 18:43:52 +10:00
Damien Elmes
3cdb5db11a a few more typing fixes 2019-12-20 17:55:19 +10:00
Damien Elmes
dc0fdaeea5 add a bunch of annotations for mypy 2019-12-20 15:07:40 +10:00
Damien Elmes
9983774a12 add pytype inferred types to anki/
I've corrected some obvious issues, and we can fix others over time.
Mypy tests are currently broken, as adding the type hints has increased
mypy's testing surface.
2019-12-20 11:07:08 +10:00
Damien Elmes
e39c3fadd2 typing fixes 2019-12-20 10:21:20 +10:00
Damien Elmes
81282202b5 call onExpanded() 2019-12-20 09:30:35 +10:00
Damien Elmes
252d5b56e0 honor expand setting 2019-12-20 09:27:14 +10:00
Damien Elmes
fbc18a4a5c fix click to expand/contract 2019-12-20 08:52:03 +10:00
Damien Elmes
33051e0913 typing tweaks 2019-12-19 21:11:35 +10:00
Damien Elmes
ec2b5e4aeb faster sidebar implementation
- qtreewidget is too slow on Qt5
- expanding/collapsing still todo
2019-12-19 21:11:12 +10:00
Damien Elmes
8cee5e5d7e Revert "add signatures to calling code"
This reverts commit 9a1f616a3a.

Pytype does catch the mentioned error without the extra annotations.
2019-12-19 11:39:40 +10:00
Damien Elmes
9a1f616a3a add signatures to calling code
otherwise mypy ignores them. And even then, it's not smart enough
to notice self.mw.pm.setUiScale("foo") is invalid unless the
instance assignment in main has a type hint as well
2019-12-19 11:34:46 +10:00
Damien Elmes
d04b8aa8bb add UI scale preference 2019-12-19 09:58:16 +10:00
Damien Elmes
129892a059 setup profile earlier in startup, but defer warning message until qt init 2019-12-19 09:38:36 +10:00
Damien Elmes
b62b1e421a opt in to qt's new non-integer scaling 2019-12-17 18:43:32 +10:00
Damien Elmes
5f250fbec2 change wrap() to wrap2() to avoid breaking add-ons 2019-12-17 18:27:41 +10:00
Damien Elmes
9eed7980fd disable help button in title bar 2019-12-17 17:59:19 +10:00
Damien Elmes
458491c49d attempt to fix travis build
I can't reproduce the current failure on a local machine with py3.7.
Seems to be related to a parent() method inherited from Qt. We don't
need the instance var in any case.
2019-12-16 21:17:32 +10:00
Damien Elmes
0e1118aab4 avoid recalculating reqs in actions like adding cards 2019-12-16 20:27:58 +10:00
Damien Elmes
c0ede5d82c add a few hints to some commonly used code
and add the extra hints mypy wanted
2019-12-16 19:46:40 +10:00
Damien Elmes
cde02d0269 avoid importing Collection from root module
even with this change, sadly we can't use pytype on the GUI code for
now - it does not support external .pyi files at the moment.
2019-12-16 19:07:22 +10:00
Damien Elmes
6f7cbcb956 fix incorrect marks not showing properly when typing answer
https://anki.tenderapp.com/discussions/ankidesktop/37513-thai-superscripts-not-checked
2019-12-16 14:39:54 +10:00
Damien Elmes
88fb61abcc add extra qt import back to fix linting 2019-12-16 10:02:48 +10:00
Damien Elmes
8564b62d67 bundle sip-generated stubs
the PyQt5-stubs package that's floating around depends on an old
Qt, and throws a bunch of errors
2019-12-16 09:59:18 +10:00
Damien Elmes
1f11b72341 add aqt/ 2019-12-16 08:51:38 +10:00
Damien Elmes
7d0e0e7e36 clearer name for invalid column
https://github.com/dae/anki/pull/360
2019-12-12 09:54:26 +10:00
Damien Elmes
0a13c340d3 default to v2 scheduler on new installs, remove warning 2019-12-06 18:37:39 +10:00
Damien Elmes
d0785d0cae Merge pull request #359 from Arthur-Milchior/noDefaultInDeckList2
list of decks contains default iff deck chooser contains default
2019-12-06 15:01:15 +10:00
Damien Elmes
8b3cf7e0fd clear undo when adding card
https://anki.tenderapp.com/discussions/ankidesktop/36541-anki-nuked-all-entered-notes-on-undo
2019-12-06 14:28:57 +10:00
Damien Elmes
19c641109a flagging requires a current card
https://anki.tenderapp.com/discussions/ankidesktop/37324-bug-report
2019-12-06 14:23:54 +10:00
Damien Elmes
00ec35e861 add hack to fix go>note
https://anki.tenderapp.com/discussions/ankidesktop/37328-browsergo-note
2019-12-06 14:22:49 +10:00
Damien Elmes
38ecbb8fb0 extended pasting is now the default 2019-12-06 13:37:50 +10:00
Arthur Milchior
eba789db53 list of decks contains default iff deck chooser contains default
This way, the list is consistent with what users see otherwhere
2019-12-05 08:20:11 +01:00
Damien Elmes
58651c7dec try 300ms preview delay
https://github.com/dae/anki/pull/357#issuecomment-560018459
2019-12-05 17:05:20 +10:00
Håkon J D Johnsen
d3fdac4ada Remove unnecessary lambda
Changing the signature of _renderScheduledPreview() made the
use of a lambda in _renderPreview() unnecessary. Remove it
to prevent linting errors.
2019-11-29 21:31:27 +01:00
Håkon J D Johnsen
f03333c9b3 Fix race condition in rendering of preview window
Previously, if repeated calls to _renderPreview() were throttled by
the throttling mechanism, only the most recent value of
cardChanged would take effect, even if the card had changed
in previous _renderPreview() calls.

After this patch, if any of the throttled _renderPreview() calls
were called with cardChanged=True, the final _renderScheduledPreview()
will happen with cardChanged=True
2019-11-29 21:27:50 +01:00
Arthur Milchior
61290fa47e Use fieldsAreBlank with the previous note 2019-11-23 03:04:08 +01:00
Arthur Milchior
0df0d4d3a6 Fields are blank compare to previous note
So if a note is not empty but only because sticky fields didn't
change, then it's considered as empty and we can close the windows
without asking
2019-11-23 03:04:08 +01:00
Arthur Milchior
e169cda02f Add Cards save the previous note 2019-11-23 03:04:07 +01:00
Damien Elmes
a139f5eb03 Merge pull request #346 from Arthur-Milchior/dontTranslateShortcut
Tells QT not to translate shortcuts.
2019-11-03 08:50:04 +10:00
Arthur Milchior
3bc1c67ef2 Ensuring value of sortBackwards is a Boolean
As far as Python is concerned, this commit does not change anything at
all. The purpose of this commit is to avoid a rare bug in
AnkiDroid. https://github.com/ankidroid/Anki-Android/issues/5523

Indeed, because of
hh.sortIndicatorChanged.connect(self.onSortChanged), onSortChanged may
be called with the values 0 or 1 instead of True or False. Which means
than the method getBoolean in Ankidroid may throw an exception,
stating that the value is an integer and not a Boolean.
2019-10-28 04:25:12 +01:00
Arthur Milchior
f9ddb4abd9 Adding explanation to translators
Some strings are missing in French at least. And some are quite
complex to understand. Especially without context, without knowledge
of Python. I tried to copy the only indication I found and add more
indication, hoping I did it correctly.
2019-10-24 02:36:32 +02:00
Damien Elmes
0644855c77 fix lint 2019-10-22 12:22:30 +10:00
Aqueminivan
241053a158 Moved number inside ngettext() 2019-10-19 19:39:43 -04:00
Aqueminivan
7f691a152a Fixed code style issue (column width) 2019-10-19 18:10:59 -04:00
Aqueminivan
3c3eddfd57 Fixed translation issues for media counts 2019-10-19 18:03:59 -04:00
Aqueminivan
40527f58c7 Added file counts when deleting media 2019-10-18 03:51:54 -04:00
Damien Elmes
eae4921a14 pin qtsvg
https://anki.tenderapp.com/discussions/ankidesktop/35990-32-bit-of-anki-missing-python-binding-pyqt5qtsvgpyd
2019-09-24 15:54:26 +10:00
Damien Elmes
9e3cd31e59 use locales instead of two digit lang codes
and move away from launchpad
2019-09-23 21:18:03 +10:00