Commit graph

2073 commits

Author SHA1 Message Date
Glutanimate
4e43cf2439 Enable non-contiguous multi-selection in add-on list 2019-02-23 09:39:49 +01:00
Glutanimate
dbb4067a7e Store addonconf geom and splitter. Tweak font sizes and margins. 2019-02-23 09:39:49 +01:00
Aristotelis
15b72dcd07 Merge branch 'master' into install-local-addons 2019-02-23 09:27:17 +01:00
Glutanimate
007a5a0fa8 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
7f2fd3c840 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
79cf6c089a Rename .apkx to .ankiaddon 2019-02-22 10:17:56 +01:00
Damien Elmes
78d76346ae remember add-ons window geometry 2019-02-20 14:38:22 +10:00
Damien Elmes
febcb0c25c 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
a42bfe2839 send build number when syncing too 2019-02-19 08:04:25 +10:00
Damien Elmes
23ffb33a95 fix editcurrent not freeing webview on close 2019-02-19 08:01:11 +10:00
Arthur-Milchior
f3a3c5c7a6 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
20237c5f2b Fix linebreaks in add-on installation tooltips and warnings 2019-02-18 07:18:14 +01:00
Glutanimate
ba807c775f Implement drag-and-drop support for installing APKX-packaged add-ons 2019-02-18 07:17:53 +01:00
Glutanimate
5b147bb51a 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
fe690dceaf Extend getFile with support for multi-file selection 2019-02-18 07:10:43 +01:00
Damien Elmes
8419f4dd67 send build hash in update check so broken betas can be notified 2019-02-18 14:07:43 +10:00
Damien Elmes
6223ed838a wording tweak 2019-02-18 13:07:20 +10:00
Damien Elmes
5ca567362c style and arg order fix 2019-02-18 12:44:04 +10:00
Damien Elmes
21c4330726 Merge pull request #282 from glutanimate/error-dialog-tweaks
Error dialog tweaks
2019-02-18 12:39:18 +10:00
Damien Elmes
241c08de19 Merge pull request #280 from Arthur-Milchior/CorrectBranchInCardPreview
Correct Deck in card preview
2019-02-18 12:38:32 +10:00
Damien Elmes
fc9755c7a7 Merge pull request #281 from glutanimate/debug-console-tweaks
Tweak debug console
2019-02-18 12:29:06 +10:00
Arthur-Milchior
a1cc41f6ed Merge branch 'master' of https://github.com/dae/anki into CorrectBranchInCardPreview 2019-02-17 19:33:05 +01:00
Arthur-Milchior
23f389bf2a 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
c2740f2e6d Show a list of potentially affected add-ons when raising error 2019-02-17 00:35:44 +01:00
Glutanimate
aabc177db6 Extend showInfo with ability to copy text to clipboard
Use this in error dialog
2019-02-16 23:05:06 +01:00
Arthur-Milchior
2608513381 Show deck of the addCard window 2019-02-16 12:25:22 +01:00
Glutanimate
6e1bee96d1 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
5df948a189 Add hotkeys to clear debug log and entry (Ctrl+L / Ctrl+Shift+L) 2019-02-16 12:21:52 +01:00
Arthur-Milchior
7e72361b22 Correct deck when previewing an existing card 2019-02-16 11:28:50 +01:00
Arthur-Milchior
a7bc069389 Adding Arthur Milchior to contributors 2019-02-16 11:28:02 +01:00
Glutanimate
b4e50ff66b Use system-default fixed font for debug entry and log 2019-02-16 10:26:49 +01:00
Damien Elmes
d7874fc7ec 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
9dc585bdbf Merge pull request #278 from glutanimate/pyqt512-packaging-changes
Address PyPI PyQt 5.12 packaging changes
2019-02-16 13:04:31 +10:00
Damien Elmes
fce0b33d0c require psutil on win32
https://github.com/dae/anki/pull/277
2019-02-16 13:03:16 +10:00
Glutanimate
e7d6dc4777 Switch to the system default monospaced font for the config editor area 2019-02-15 14:15:54 +01:00
Glutanimate
15a8aa3e35 Switch to a horizontal, qsplitter-based layout for editor and help text
Also: Disable text wrapping in the editor area to reduce the likelihood
of users performing syntax errors.
2019-02-15 14:15:22 +01:00
Glutanimate
2dbf7f788b Explicitly import all QtWebEngineWidgets
Seems to be necessary for pyqt 5.12+ builds from pypi.
2019-02-15 13:55:35 +01:00
Glutanimate
6cba67e9fe Update pip command for PyQt packaging changes
PyQtWebEngine is now shipped separately, and PyQ5-sip is automatically installed as a dependency of PyQt5.
2019-02-15 13:51:57 +01:00
Damien Elmes
6c954a2829 fix schema not being modified on backup import 2019-02-14 15:22:57 +10:00
Damien Elmes
7fe65fbd52 ensure full window is on screen when restoring 2019-02-14 13:47:44 +10:00
Damien Elmes
d62794779d allow running with pyaudio missing 2019-02-13 09:36:39 +10:00
Damien Elmes
295ad590e0 experimental fix for qt placing windows off screen
https://anki.tenderapp.com/discussions/ankidesktop/32402-issues-when-using-anki-on-system-with-multi-monitor
2019-02-12 07:49:35 +10:00
Damien Elmes
f8bdf0ceec revlog changes need to limited to (re)learning cards
if you switched schedulers with the git code or the beta, please
restore from a backup prior to the switch
2019-02-11 18:12:44 +10:00
Damien Elmes
da4e5955b3 rollover may not be set 2019-02-08 16:31:56 +10:00
Damien Elmes
47e469049e tooltip timer doesn't need collection 2019-02-07 13:59:24 +10:00
Damien Elmes
bff2c83fef avoid running timers after collection unload
fixes:
- onRefreshTimer() firing when collection is in the process of
unloading
- saveNow() in the no changes case, which fires a timer 10ms later
2019-02-06 12:03:14 +10:00
Damien Elmes
54a1d85c43 preserve whitespace when pasting text 2019-02-06 12:00:50 +10:00
Damien Elmes
ac72ce00ce focus web area after delay in editcurrent
if fired immediately, web area fails to gain focus, leading to
a jumping cursor when clicking on a field for the first time
https://anki.tenderapp.com/discussions/beta-testing/1348-anki-217-beta#comment_46821120
2019-02-06 10:09:05 +10:00
Damien Elmes
d9cf08f883 make sure add-on list updates when toggling on qt 5.12/mac 2019-02-06 09:19:20 +10:00
Damien Elmes
77bd141638 cleanup old mplayer instances after crash
fixes
https://anki.tenderapp.com/discussions/ankidesktop/31908-no-consigo-renomear-meu-nome-no-anki
2019-02-06 09:03:39 +10:00