Commit Graph

1287 Commits

Author SHA1 Message Date
Damien Elmes
c1587254f4 use isort to tidy up imports 2019-12-20 19:19:29 +10:00
Damien Elmes
638a8515bc add some typing to addcards and main 2019-12-20 18:43:52 +10:00
Damien Elmes
ddac1dd579 a few more typing fixes 2019-12-20 17:55:19 +10:00
Damien Elmes
b6b8df2dcf add a bunch of annotations for mypy 2019-12-20 15:07:40 +10:00
Damien Elmes
6ecfff56c5 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
da9426177d typing fixes 2019-12-20 10:21:20 +10:00
Damien Elmes
a45f029f3e call onExpanded() 2019-12-20 09:30:35 +10:00
Damien Elmes
879db95148 honor expand setting 2019-12-20 09:27:14 +10:00
Damien Elmes
b2ea4ee36c fix click to expand/contract 2019-12-20 08:52:03 +10:00
Damien Elmes
66406110f5 typing tweaks 2019-12-19 21:11:35 +10:00
Damien Elmes
867136eace faster sidebar implementation
- qtreewidget is too slow on Qt5
- expanding/collapsing still todo
2019-12-19 21:11:12 +10:00
Damien Elmes
2155e93bad Revert "add signatures to calling code"
This reverts commit 441e279f6d.

Pytype does catch the mentioned error without the extra annotations.
2019-12-19 11:39:40 +10:00
Damien Elmes
441e279f6d 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
3a4f94ab86 add UI scale preference 2019-12-19 09:58:16 +10:00
Damien Elmes
5ce3de0e98 setup profile earlier in startup, but defer warning message until qt init 2019-12-19 09:38:36 +10:00
Damien Elmes
ff6b58c265 opt in to qt's new non-integer scaling 2019-12-17 18:43:32 +10:00
Damien Elmes
b9f564f49a change wrap() to wrap2() to avoid breaking add-ons 2019-12-17 18:27:41 +10:00
Damien Elmes
18a3ead1d2 disable help button in title bar 2019-12-17 17:59:19 +10:00
Damien Elmes
c88e7913ee 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
d7cb7eaea0 avoid recalculating reqs in actions like adding cards 2019-12-16 20:27:58 +10:00
Damien Elmes
eee099c0b2 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
2fcc78f218 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
4f3bd476d5 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
e84b3256e5 add extra qt import back to fix linting 2019-12-16 10:02:48 +10:00
Damien Elmes
b88de95cd8 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
c508498ba8 add aqt/ 2019-12-16 08:51:38 +10:00
Damien Elmes
a735ed19ae clearer name for invalid column
https://github.com/dae/anki/pull/360
2019-12-12 09:54:26 +10:00
Damien Elmes
3b5f8fec4c default to v2 scheduler on new installs, remove warning 2019-12-06 18:37:39 +10:00
Damien Elmes
bceb4feb5b
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
87dc87ee12 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
b1267028e3 flagging requires a current card
https://anki.tenderapp.com/discussions/ankidesktop/37324-bug-report
2019-12-06 14:23:54 +10:00
Damien Elmes
0df937061e 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
987256ff26 extended pasting is now the default 2019-12-06 13:37:50 +10:00
Arthur Milchior
9d7b0e527f 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
ba9ece83f1 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
9be993c76d 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
419456eacd 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
6fc89d2f96 Use fieldsAreBlank with the previous note 2019-11-23 03:04:08 +01:00
Arthur Milchior
d598434bde 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
f41014ca4b Add Cards save the previous note 2019-11-23 03:04:07 +01:00
Damien Elmes
a4cb3debe2
Merge pull request #346 from Arthur-Milchior/dontTranslateShortcut
Tells QT not to translate shortcuts.
2019-11-03 08:50:04 +10:00
Arthur Milchior
35f42523d5 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
26acc412b1 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
b1eccd67f7 fix lint 2019-10-22 12:22:30 +10:00
Aqueminivan
cba7c8a57b Moved number inside ngettext() 2019-10-19 19:39:43 -04:00
Aqueminivan
2b2afe899a Fixed code style issue (column width) 2019-10-19 18:10:59 -04:00
Aqueminivan
01f2fda214 Fixed translation issues for media counts 2019-10-19 18:03:59 -04:00
Aqueminivan
d669659e88 Added file counts when deleting media 2019-10-18 03:51:54 -04:00
Damien Elmes
084b7a1694 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
241b7ea005 use locales instead of two digit lang codes
and move away from launchpad
2019-09-23 21:18:03 +10:00