Commit Graph

1145 Commits

Author SHA1 Message Date
Damien Elmes
3721cc4604 silence some spurious errors and remove some unused code 2019-03-04 11:22:40 +10:00
Damien Elmes
a389b8b4a0 move versionWithBuild into anki module 2019-02-28 08:37:42 +10:00
Damien Elmes
d6915ff6e8 avoid traceback when network offline in add-on check 2019-02-27 14:18:16 +10:00
Damien Elmes
2e70c56248 fix regression in showInfo() et al 2019-02-27 14:16:35 +10:00
Damien Elmes
66cbc87580 ensure progress window cleared if error on add-on import 2019-02-27 14:08:20 +10:00
Damien Elmes
444abfff94 avoid nbsp for single spaces when pasting text
https://anki.tenderapp.com/discussions/ankidesktop/32823-all-spaces-are-being-replaced-with-nbsp-when-pasting-219-linux
2019-02-27 13:54:50 +10:00
Damien Elmes
fed15f5b90 include note id in state
to make sure we refresh when multiple notes have same mod time
2019-02-26 11:21:25 +10:00
Damien Elmes
c07f2d0747 avoid refreshing preview when nothing has changed
fixes visible redraw when:
- opening preview screen while cursor in field (as editTimer
fires even if note has not changed)
- moving between cards (as loadNote and rowChanged hooks are both
fired)
2019-02-26 11:18:32 +10:00
Damien Elmes
4116ab65b0 improve add-on downloading error readability 2019-02-26 09:36:20 +10:00
Damien Elmes
139e04c7c3 be explicit about text format when showing add-on errors
fixes br codes showing in error messages
2019-02-26 09:36:02 +10:00
Damien Elmes
188d822d09
Merge pull request #287 from glutanimate/fix-subpixel-antialiasing
Fix subpixel font anti-aliasing
2019-02-26 08:01:35 +10:00
Glutanimate
ac53a0852e Set webview bg to system default window color instead of Qt.transparent
Qt.transparent prevents subpixel anti-aliasing from working, resulting
in slightly blurry fonts on non-retina displays.
(The window background color is not determined correctly on macOS, so
we hardcode it.)

Credits for discovering this issue go to the unknown author of
https://ankiweb.net/shared/info/94394764
2019-02-25 11:44:27 +01:00
Glutanimate
4fd5a9c176 Add a button to copy debug information to About dialog
Supplies information on platform, app, toolkit, and installed add-ons.
Should come in useful to troubleshoot issues that do not produce an
error message, especially for add-on developers.
2019-02-24 14:55:55 +01:00
Glutanimate
c45ea26cd6 Move annotatedName to AddonManager to allow outside access 2019-02-24 14:51:19 +01:00
Glutanimate
569f42c0f5 Move supportText() to utils in order to allow use outside of errors 2019-02-24 14:50:39 +01:00
Damien Elmes
86b3657969 clear selection when deleting add-on(s)
fixes error when deleting last, and wrong selection
otherwise
2019-02-24 15:24:31 +10:00
Glutanimate
195ca93cfe Preserve selected add-ons 2019-02-23 10:10:05 +01:00
Glutanimate
15a83df126 Colour disabled add-ons gray 2019-02-23 10:04:45 +01:00
Glutanimate
8725583c97 Add tooltip feedback for restoring defaults
Changes might not always be apparent, so a tooltip might help.
2019-02-23 09:39:49 +01:00
Glutanimate
1080ae10f9 Store addonconf geom and splitter. Tweak font sizes and margins. 2019-02-23 09:39:49 +01:00
Aristotelis
ff7b06fbda
Merge branch 'master' into install-local-addons 2019-02-23 09:27:17 +01:00
Glutanimate
512be4fc2c Implement add-on conflict handling via manifests "conflicts" value
Only enabled for locally installed packages for now
2019-02-22 21:14:42 +01:00
Glutanimate
8fceccf4b7 Refactor: Add manifest schema, unify install paths, use context manager
Sets the foundation for more elaborate additions to the manifest.

Manifest files are still only being read for local imports, but with
this commit that could be easily changed in the future.
2019-02-22 17:04:07 +01:00
Glutanimate
2ed61c9c99 Rename .apkx to .ankiaddon 2019-02-22 10:17:56 +01:00
Damien Elmes
ae67c97610 remember add-ons window geometry 2019-02-20 14:38:22 +10:00
Damien Elmes
a0b9b6c0f3
Merge pull request #284 from Arthur-Milchior/ErrorInCaseOfMissimngMod
Tolerate manually installed add-ons with numeric ids
2019-02-19 10:30:04 +10:00
Damien Elmes
819d0bdaf3 fix editcurrent not freeing webview on close 2019-02-19 08:01:11 +10:00
Arthur-Milchior
c670dd65b4 Correct a bug during add-on update
If an add-on folder contains only number, but does not contains a
meta.json file, or if this file does not contains a "mod" value, then
the following uninformative message error occur:
```Python
  File "aqt/addons.py", line 387, in onCheckForUpdates
  File "aqt/addons.py", line 183, in checkForUpdates
  File "aqt/addons.py", line 199, in _updatedIds
<class 'TypeError'>: '<' not supported between instances of 'NoneType' and 'int'
```

This is because there is a .get in a code while the None value makes
no sens. Thus, I replaced None by a 0 value. Which ensure that, if the
last modification time is missing, the update will be done. Three case
may occur:
* either the addon is already up to date, and it's only a waste of
  bandwidth
* either the add-on is not up to date, and updating was the initial
  goal anyway
* Or some change did occur in the add-on folder (which is actually
  probably, since it would explain the "missing mod problem"; in this
  case this change may be lost, but thout would be the same problem
  if the mod number was still there.

Other solutions which I could implement would be:
* asking for the user whether they want to update
* considering that it's not an ankiweb related add-on anymore, and
  ignore it.
2019-02-18 12:29:08 +01:00
Glutanimate
280da9aee4 Fix linebreaks in add-on installation tooltips and warnings 2019-02-18 07:18:14 +01:00
Glutanimate
cc0dc812ad Implement drag-and-drop support for installing APKX-packaged add-ons 2019-02-18 07:17:53 +01:00
Glutanimate
4a21c2013f Ability to install add-ons from local add-on packages
Adds a new button to the add-on dialog that allows users to select
and install add-ons from local files.
Introduces APKX, a zip-based and manifest-backed filetype for
Anki add-on packages.
2019-02-18 07:17:14 +01:00
Glutanimate
85955722c7 Extend getFile with support for multi-file selection 2019-02-18 07:10:43 +01:00
Damien Elmes
bca31bf38b send build hash in update check so broken betas can be notified 2019-02-18 14:07:43 +10:00
Damien Elmes
dcec361410 wording tweak 2019-02-18 13:07:20 +10:00
Damien Elmes
d8f059b570 style and arg order fix 2019-02-18 12:44:04 +10:00
Damien Elmes
da64f2d7c8
Merge pull request #282 from glutanimate/error-dialog-tweaks
Error dialog tweaks
2019-02-18 12:39:18 +10:00
Damien Elmes
3f72978535
Merge pull request #280 from Arthur-Milchior/CorrectBranchInCardPreview
Correct Deck in card preview
2019-02-18 12:38:32 +10:00
Arthur-Milchior
95a475472c Merge branch 'master' of https://github.com/dae/anki into CorrectBranchInCardPreview 2019-02-17 19:33:05 +01:00
Arthur-Milchior
6532023c3e Correcting a small bug
I though «addMode» meant «call from addcard window». Instead, to know
whether parent is addcard, I check whether it has attribute deckChooser
2019-02-17 19:26:31 +01:00
Glutanimate
5bfdc740f5 Show a list of potentially affected add-ons when raising error 2019-02-17 00:35:44 +01:00
Glutanimate
5deb905b27 Extend showInfo with ability to copy text to clipboard
Use this in error dialog
2019-02-16 23:05:06 +01:00
Arthur-Milchior
20ff61e59e Show deck of the addCard window 2019-02-16 12:25:22 +01:00
Glutanimate
fd4b5c1169 Print-wrap current line rather than the entire field
Also: Avoid duplicate wraps, retain cursor position, and preserve
undo history.
2019-02-16 12:23:31 +01:00
Glutanimate
0b2869660e Add hotkeys to clear debug log and entry (Ctrl+L / Ctrl+Shift+L) 2019-02-16 12:21:52 +01:00
Arthur-Milchior
e22f691ae0 Adding Arthur Milchior to contributors 2019-02-16 11:28:02 +01:00
Glutanimate
d629ceb3b5 Use system-default fixed font for debug entry and log 2019-02-16 10:26:49 +01:00
Damien Elmes
3037bf6ef8
Merge pull request #279 from glutanimate/tweak-addonconf-ui
Tweak Add-on Config Dialog UI
2019-02-16 13:05:59 +10:00
Damien Elmes
63061f087e
Merge pull request #278 from glutanimate/pyqt512-packaging-changes
Address PyPI PyQt 5.12 packaging changes
2019-02-16 13:04:31 +10:00
Glutanimate
11f3d77eb1 Switch to the system default monospaced font for the config editor area 2019-02-15 14:15:54 +01:00
Glutanimate
ff74c51d9f Explicitly import all QtWebEngineWidgets
Seems to be necessary for pyqt 5.12+ builds from pypi.
2019-02-15 13:55:35 +01:00