Commit Graph

2268 Commits

Author SHA1 Message Date
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
95ccbfdd36 send build number when syncing too 2019-02-19 08:04:25 +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
Damien Elmes
e3bd15db27
Merge pull request #281 from glutanimate/debug-console-tweaks
Tweak debug console
2019-02-18 12:29:06 +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
89719ee5d5 Correct deck when previewing an existing card 2019-02-16 11:28:50 +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
Damien Elmes
a7ee142b7f require psutil on win32
https://github.com/dae/anki/pull/277
2019-02-16 13:03:16 +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
6c982ac05b 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
ff74c51d9f Explicitly import all QtWebEngineWidgets
Seems to be necessary for pyqt 5.12+ builds from pypi.
2019-02-15 13:55:35 +01:00
Glutanimate
a7c27b08eb 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
8e944c6a02 fix schema not being modified on backup import 2019-02-14 15:22:57 +10:00
Damien Elmes
4acebfdf52 ensure full window is on screen when restoring 2019-02-14 13:47:44 +10:00
Damien Elmes
ca710ab3f1 allow running with pyaudio missing 2019-02-13 09:36:39 +10:00
Damien Elmes
7f8b4b89ae 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
e39c27afeb 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
5632babee6 rollover may not be set 2019-02-08 16:31:56 +10:00
Damien Elmes
c8c55c893d tooltip timer doesn't need collection 2019-02-07 13:59:24 +10:00
Damien Elmes
b06b70f721 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
080118876a preserve whitespace when pasting text 2019-02-06 12:00:50 +10:00
Damien Elmes
288ab2f8bf 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
aff810c18a make sure add-on list updates when toggling on qt 5.12/mac 2019-02-06 09:19:20 +10:00
Damien Elmes
041e4dbdf0 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
Damien Elmes
bf6e10ec88 catch profile rename error in non-English locales 2019-02-06 09:02:56 +10:00
Damien Elmes
1e9fb6ab29 turn local port message into a tooltip and automatically reload
Since we're automatically disabling proxies now, the main remaining
issue seems to be Windows users resuming their machine from sleep -
for some reason localhost is inaccessible during the resume process.
2019-02-06 07:55:34 +10:00
Damien Elmes
1603a5224e fix context menu in editor, and move workaround into shared function 2019-02-05 14:37:07 +10:00
Damien Elmes
372d5ed6e8 update copyright and clarify licenses 2019-02-05 14:01:33 +10:00
Damien Elmes
cf25b3c053 make sure bulk flag changes sync
https://anki.tenderapp.com/discussions/ankidesktop/31774-flag-syncing-bug
2019-02-05 13:01:07 +10:00