Damien Elmes
c3dc02cd7f
don't require callback for regular deck refresh
...
Ensures that decks refresh properly even if the webview has previously
failed to load due to a bug (such as the render routine being called
while the collection is closed)
2019-04-29 16:46:13 +10:00
Damien Elmes
6594f62f5d
fix stuck webview issue
...
A race condition could cause domDone to get stuck on false, causing
any further bridge messages and setHtml() calls to be ignored. Fix
the issue by clearing pending actions and resetting domDone when
setting HTML.
2019-04-29 16:41:47 +10:00
Damien Elmes
9fb5a3257c
daemonize helper threads so that sys.exit() during startup works
...
with daemonize set to False, the app hangs waiting on the helper threads
2019-04-29 14:36:44 +10:00
Damien Elmes
955f21e594
Merge pull request #304 from ErezVolk/jsonschema
...
Use jsonschema for add-on manifests
2019-04-29 12:34:47 +10:00
Damien Elmes
b4019473ab
fix formatting being lost in inter-field pasting on macOS
...
ownsClipboard() always returns false on macOS
regression introduced in PR 274
2019-04-29 12:30:52 +10:00
Damien Elmes
b2cfba367e
fix bug caused by user creating profile with trailing space
...
Caught exception:
File "aqt\main.py", line 237, in onOpenBackup
File "aqt\profiles.py", line 264, in backupFolder
File "aqt\profiles.py", line 274, in _ensureExists
File "os.py", line 220, in makedirs
<class 'FileNotFoundError'>: [WinError 3] The system cannot find the path specified: 'C:\\Users\\xxx\\AppData\\Roaming\\Anki2\\xxx \\backups'
2019-04-25 09:37:58 +10:00
Erez Volk
2f75d1758d
Use jsonschema for add-on manifests
2019-04-24 23:42:49 +03:00
Damien Elmes
ed0fae3c0c
catch another full disk error
2019-04-23 10:19:05 +10:00
Damien Elmes
eef86bf37e
don't try set filter if webview already deleted
...
https://anki.tenderapp.com/discussions/add-ons/32496-add-on-error
2019-04-21 19:12:04 +10:00
Damien Elmes
9cc99cdced
possible fix for " super-class ... Preferences was never called"
...
Can't reproduce the issue, but it seems the user was able to open the
preferences screen when no collection was loaded. If an error was
caught in loadCollection() the main window was not being hidden, so
perhaps a timing issue was preventing the profiles screen from taking
modal focus.
Removed the check in the prefs init - it is hopefully no longer
necessary, and returning before QDialog.__init__() was called was
causing the problem.
Caught exception:
File "aqt/webview.py", line 27, in cmd
File "aqt/webview.py", line 85, in _onCmd
File "aqt/webview.py", line 360, in _onBridgeCmd
File "aqt/toolbar.py", line 56, in _linkHandler
File "aqt/toolbar.py", line 80, in _syncLinkHandler
File "aqt/main.py", line 669, in onSync
File "aqt/main.py", line 365, in unloadCollection
File "aqt/main.py", line 611, in closeAllWindows
File "aqt/__init__.py", line 110, in closeAll
<class 'RuntimeError'>: super-class __init__() of type Preferences was never called
2019-04-21 19:02:03 +10:00
Damien Elmes
623926e8f9
fix some timers failing to fire
2019-04-21 18:56:30 +10:00
Damien Elmes
8c58e7a76a
support conflicts when downloading from AnkiWeb
...
users can now upload .ankiaddon files as well - package/name remains
defined by the add-on listing as before
2019-04-16 17:44:00 +10:00
Damien Elmes
112fc8e7c1
don't confirm conflict disabling
...
we don't want to be showing dialog boxes while a progress window
is active
2019-04-16 17:43:02 +10:00
Damien Elmes
b3d48c6de6
need rich text in install error, as err msgs have html
2019-04-16 17:39:08 +10:00
Damien Elmes
580d699161
use dialog instead of tooltip if there's more than one log line
2019-04-16 17:38:38 +10:00
Damien Elmes
3592365762
Merge pull request #300 from glutanimate/dynamic-addon-config-button
...
Disable add-on config button when no config present
2019-04-16 17:36:46 +10:00
Damien Elmes
f80d250b47
Revert "Workaround for AltGr '@' issue."
...
This reverts commit 1e433a7cdd
and
91178d3d58
Due to regressions this will be moved into an optional add-on, at
least for now.
2019-04-16 13:39:40 +10:00
Damien Elmes
015bb71cca
fix race condition in webview load on Windows
...
- don't require collection for initial blank content
- defer profile load until initial blank content loaded
- use plain text for blank content to prevent initial flash of white
2019-04-16 13:24:38 +10:00
Glutanimate
199d9dcb44
Disable add-on config button when no config present
...
https://anki.tenderapp.com/discussions/ankidesktop/33602-disable-the-config-button-when-an-add-on-is-highlighted-that-does-not-have-any-config
2019-04-15 14:53:18 +02:00
Damien Elmes
d24d485f06
preview code shouldn't assume self.card is valid
2019-04-15 12:20:12 +10:00
Damien Elmes
380d59f775
fix race condition in webview startup on windows
...
use _setHtml so that _domDone is set to false
2019-04-10 17:31:55 +10:00
Damien Elmes
91178d3d58
extend altgr fix to editor fields, and add warning about helper
...
extends https://github.com/dae/anki/pull/298
2019-04-10 16:16:29 +10:00
Damien Elmes
4a167304a6
Merge pull request #298 from dlon/altgr-fix
...
"@" suspends cards with text input for some keyboard layouts
2019-04-10 15:33:02 +10:00
Damien Elmes
7120607dfe
avoid highlighting/tabbing to top bar
2019-04-10 15:16:22 +10:00
Damien Elmes
111727240b
standard blue focus highlight on windows
2019-04-10 15:16:06 +10:00
Damien Elmes
df4aad50e1
avoid popups for some non-serious warnings
2019-04-10 12:44:01 +10:00
David Lönnhager
1e433a7cdd
Workaround for AltGr '@' issue.
2019-04-09 14:55:00 +02:00
Damien Elmes
478ee66d0e
fix issue preventing profile rename/delete
...
qtwebengineprocess.exe inherits the current working directory, so if
it is started after the profile is loaded, it prevents the profile
media folder from being renamed/deleted
also, load profile on first run at the same point we normally load
the profile
2019-04-09 18:48:50 +10:00
Damien Elmes
dac5ea2a7a
ensure card info is closed properly
2019-04-09 16:21:43 +10:00
Glutanimate
4de09400c5
Fix timestamp comparison failing when update API returns null
...
Addresses a rare instance of update checks failing when locally
installed packages point to a shared ID that has yet to be updated
to 2.1. In those instances Anki's update API returns null, which
causes a ValueError downstream when comparing the timestamps
against each other.
2019-04-08 17:51:15 +02:00
Damien Elmes
cc335a15e4
make sure card counts are updated when undoing reviews
2019-04-08 15:47:49 +10:00
Damien Elmes
e7c3de1d9d
friendly message for full disk
2019-04-08 15:32:58 +10:00
Damien Elmes
838545b1d6
fix preview not updating when note edited
2019-04-08 15:18:40 +10:00
Damien Elmes
e4eaebe2fb
fix note not displaying when preview toggled off & on
2019-04-08 15:18:27 +10:00
Damien Elmes
8ed069d4a6
fix memory leak in card layout screen
2019-03-26 11:31:40 +09:00
Damien Elmes
44952ff727
revert undo shortcut change in browser
...
when ctrl+z pressed in focused field and no undo history left, qt
triggers the menu item instead, causing data loss
I tried capturing the shortcut in JS and manually executing the undo,
and that seems to work on macOS, but not on Windows.
fixes
https://anki.tenderapp.com/discussions/ankidesktop/33064-how-to-undo-reverted-to-state-deleting-my-cards
2019-03-11 13:43:25 +10:00
Damien Elmes
8de0e7e54c
handle blur/key event before note id set
...
can't reproduce the issue here, but presumably this change will
work around
https://anki.tenderapp.com/discussions/ankidesktop/33038-bug-after-updatehtml-notes-wont-display
2019-03-10 08:24:44 +10:00
Damien Elmes
22d6feed87
Merge branch 'master' of github.com:dae/anki
2019-03-07 18:34:35 +10:00
Damien Elmes
79660e41bb
keep global i18n handlers working
...
the previous change broke the translations of copy&pasted anki code in
add-ons
should fix
https://anki.tenderapp.com/discussions/ankidesktop/32922-chinese-characters-in-the-main-window-when-setting-language-to-japanese#comment_47043676
2019-03-07 18:34:22 +10:00
Glutanimate
324370497e
Set QTWEBENGINE_DICTIONARIES_PATH
...
This introduces the possibility for add-ons to supply spell checking
support in web views.
2019-03-06 18:59:38 +01:00
Damien Elmes
0543df7dfa
allow translators to override Windows font
...
to work around Qt's awful fallback handling on Windows 10
https://anki.tenderapp.com/discussions/ankidesktop/32922-chinese-characters-in-the-main-window-when-setting-language-to-japanese
2019-03-06 15:28:49 +10:00
Damien Elmes
09651be9e7
check a profile exists every time
...
if something went wrong between pm.meta() and .ensureProfile() in the
past, it would lead to an inability to start Anki due to the a lack of
any profiles
https://anki.tenderapp.com/discussions/ankidesktop/32972-linux-upgrade-problems-20-219
2019-03-06 15:27:13 +10:00
Damien Elmes
73761b598f
tweak coding statement to make xgettext happy
2019-03-05 09:59:21 +10:00
Damien Elmes
59b9c361ac
allow decreasing daily limits in custom study
2019-03-05 09:06:17 +10:00
Damien Elmes
b168ce6eed
add option to strip html in export
2019-03-05 08:57:53 +10:00
Damien Elmes
d0985a4e7c
preview state depends on card id, not note id
...
fixes
https://anki.tenderapp.com/discussions/ankidesktop/32952-commit-c07f2d07474b52c065539fe9e56cbc6047856ad8-causes-preview-to-not-work-with-multiples-cards-of-same-note-cloze-deletions
2019-03-05 07:50:54 +10:00
Damien Elmes
f9f5d9d3ab
deprecated global _/ngettext was returning None
...
the plurals may still be wrong in the ngettext case, but at least
it should not lead to premature tracebacks
2019-03-05 07:46:27 +10:00
Damien Elmes
7d65594944
Merge pull request #288 from glutanimate/mediasrv-addon-support
...
Extend mediasrv to also serve media files in addons directory
2019-03-04 18:03:48 +10:00
Damien Elmes
ebdd8dae4b
tidy up unused imports
2019-03-04 17:25:19 +10:00
Damien Elmes
6e077ab414
use raw strings for regexs
2019-03-04 17:03:43 +10:00