Commit graph

2182 commits

Author SHA1 Message Date
Damien Elmes
57c12aa832 mention README.contributing in README.md 2019-04-21 19:07:10 +10:00
Damien Elmes
2e92f30150 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
923ee44448 fix some timers failing to fire 2019-04-21 18:56:30 +10:00
Damien Elmes
d1d7f230fe catch full mpv request queue
presumably happening if multiple requests are sent before previous
response fetch times out

Caught exception:
  File "aqt/webview.py", line 314, in handler
  File "aqt/editor.py", line 351, in <lambda>
  File "aqt/addcards.py", line 225, in afterSave
  File "aqt/addcards.py", line 231, in doClose
  File "aqt/addcards.py", line 210, in _reject
  File "anki/sound.py", line 417, in clearAudioQueue
  File "anki/sound.py", line 117, in clearQueue
  File "anki/mpv.py", line 558, in command
  File "anki/mpv.py", line 352, in _send_request
  File "anki/mpv.py", line 311, in _send_message
<class 'anki.mpv.MPVTimeoutError'>: unable to put request
2019-04-21 18:56:11 +10:00
Damien Elmes
98ce38dcdd ensure the list of note types is not empty
fixes an issue opening the add screen if a user manages to delete
all their note types with an add-on or a sync
2019-04-21 18:02:12 +10:00
Damien Elmes
2d7c544138 Revert "Remove <br> from empty fields."
This reverts commit e81447de0e.

The above commit caused a regression with RTL text:
https://anki.tenderapp.com/discussions/ankidesktop/33592-bugs-in-add-box
2019-04-16 18:58:59 +10:00
Damien Elmes
49d60a8519 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
2c7463a808 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
9bc1bc4976 need rich text in install error, as err msgs have html 2019-04-16 17:39:08 +10:00
Damien Elmes
0c0e8a9ff0 use dialog instead of tooltip if there's more than one log line 2019-04-16 17:38:38 +10:00
Damien Elmes
9bd3536fce 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
47bc308ece Revert "Workaround for AltGr '@' issue."
This reverts commit b3f6fc1fc1 and
917d31c7fa

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
7339fdded3 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
4aff1a80fb 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
a674b3386c preview code shouldn't assume self.card is valid 2019-04-15 12:20:12 +10:00
Damien Elmes
5d2267cbae 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
917d31c7fa 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
8dc324108c 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
bab82e0a28 avoid highlighting/tabbing to top bar 2019-04-10 15:16:22 +10:00
Damien Elmes
3a43165586 standard blue focus highlight on windows 2019-04-10 15:16:06 +10:00
Damien Elmes
9d230f2820 avoid popups for some non-serious warnings 2019-04-10 12:44:01 +10:00
David Lönnhager
b3f6fc1fc1 Workaround for AltGr '@' issue. 2019-04-09 14:55:00 +02:00
Damien Elmes
0e0bca2d08 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
e247ee1a62 fix fields appearing under editor buttons
https://anki.tenderapp.com/discussions/ankidesktop/33096-editor-buttons-in-additional-rows-overlap-fields-only-when-scrolled-down
2019-04-09 16:29:56 +10:00
Damien Elmes
de6825288f ensure card info is closed properly 2019-04-09 16:21:43 +10:00
Damien Elmes
ac0cf05024 Merge pull request #299 from glutanimate/fix-update-none-comparison
Fix timestamp comparison failing when update API returns null
2019-04-09 16:05:01 +10:00
Damien Elmes
609262624f another attempt to preventing mpv from accessing standard config
https://github.com/dae/anki/pull/296
2019-04-09 15:32:44 +10:00
Glutanimate
14fbc90b4f 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
78fc2e82c0 psutil may throw OSError when calling .exe()
https://anki.tenderapp.com/discussions/ankidesktop/33406-failed-to-execute-script-runanki
2019-04-08 15:56:06 +10:00
Damien Elmes
4115235a45 make sure card counts are updated when undoing reviews 2019-04-08 15:47:49 +10:00
Damien Elmes
07adde978b friendly message for full disk 2019-04-08 15:32:58 +10:00
Damien Elmes
320cc90320 fix preview not updating when note edited 2019-04-08 15:18:40 +10:00
Damien Elmes
d15bfd6d1c fix note not displaying when preview toggled off & on 2019-04-08 15:18:27 +10:00
Damien Elmes
bf8c0216ff fix memory leak in card layout screen 2019-03-26 11:31:40 +09:00
Damien Elmes
9e8a29532d Merge pull request #290 from jianli/change-chunk-by-deck-age
Fix chunk size for newer decks
2019-03-13 12:23:35 +10:00
Damien Elmes
47692a02f5 Update stats.py
disable spurious pylint warning
2019-03-11 15:12:21 +10:00
Damien Elmes
f6da277ab7 bump version 2019-03-11 14:36:19 +10:00
Damien Elmes
732aa38f93 Revert "moveTemplate slightly quicker"
This reverts commit 450f260781.

This caused a regression:
https://github.com/dae/anki/pull/294
2019-03-11 13:49:58 +10:00
Damien Elmes
5522c240a5 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
Jian Li
4dc49322ee Clean up code 2019-03-10 18:20:08 -07:00
Jian Li
5079b8aab8 Restrict bin count to 100 2019-03-10 17:30:14 -07:00
Jian Li
ba9c89ccb0 Change bin width (chunk) based on deck age 2019-03-10 17:19:16 -07:00
Jian Li
b4732efdf1 Refactor chunk calculation 2019-03-10 16:37:06 -07:00
Damien Elmes
3e8fd97ae3 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
b6e12e13cb bump version 2019-03-07 18:43:56 +10:00
Damien Elmes
b6b1a8117d Merge branch 'master' of github.com:dae/anki 2019-03-07 18:34:35 +10:00
Damien Elmes
496b029ac1 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
Damien Elmes
39be2e1e0e Merge pull request #292 from glutanimate/spell-check-envvar
Set QTWEBENGINE_DICTIONARIES_PATH to pave the way for spell checking
2019-03-07 08:53:45 +10:00
Glutanimate
295175b3b0 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
d208ac2088 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