Commit graph

1245 commits

Author SHA1 Message Date
Arthur Milchior
3bc1c67ef2 Ensuring value of sortBackwards is a Boolean
As far as Python is concerned, this commit does not change anything at
all. The purpose of this commit is to avoid a rare bug in
AnkiDroid. https://github.com/ankidroid/Anki-Android/issues/5523

Indeed, because of
hh.sortIndicatorChanged.connect(self.onSortChanged), onSortChanged may
be called with the values 0 or 1 instead of True or False. Which means
than the method getBoolean in Ankidroid may throw an exception,
stating that the value is an integer and not a Boolean.
2019-10-28 04:25:12 +01:00
Damien Elmes
0644855c77 fix lint 2019-10-22 12:22:30 +10:00
Aqueminivan
241053a158 Moved number inside ngettext() 2019-10-19 19:39:43 -04:00
Aqueminivan
7f691a152a Fixed code style issue (column width) 2019-10-19 18:10:59 -04:00
Aqueminivan
3c3eddfd57 Fixed translation issues for media counts 2019-10-19 18:03:59 -04:00
Aqueminivan
40527f58c7 Added file counts when deleting media 2019-10-18 03:51:54 -04:00
Damien Elmes
eae4921a14 pin qtsvg
https://anki.tenderapp.com/discussions/ankidesktop/35990-32-bit-of-anki-missing-python-binding-pyqt5qtsvgpyd
2019-09-24 15:54:26 +10:00
Damien Elmes
9e3cd31e59 use locales instead of two digit lang codes
and move away from launchpad
2019-09-23 21:18:03 +10:00
Damien Elmes
574e119566 fix qtwebengineprocess leak in stats screen
https://anki.tenderapp.com/discussions/ankidesktop/35941-closing-stats-window-doesnt-end-its-extra-qt-process
2019-09-16 15:16:41 +10:00
Damien Elmes
7035f405a3 Merge pull request #330 from glutanimate/add-typing-module
Add "typing" to pinned modules
2019-09-07 13:01:26 +10:00
Glutanimate
a9c687d7d2 Add "typing" to pinned modules 2019-09-06 17:25:30 +02:00
Damien Elmes
f8b3bb7f05 Merge pull request #329 from aidanholm/fix-default-discard
Don't discard new card contents by default
2019-09-02 10:24:29 +10:00
Damien Elmes
dd9894cd12 support multiple urls at once in editor 2019-09-02 10:17:04 +10:00
Damien Elmes
4c846f0620 reduce editcurrent width constraint
https://anki.tenderapp.com/discussions/ankidesktop/35724-bug-edit-window-not-resizable
2019-09-02 09:52:04 +10:00
Aidan Holm
b68ed4180c Don't discard new card contents by default 2019-09-01 13:09:05 +08:00
Damien Elmes
a839aa42af add decimal
https://anki.tenderapp.com/discussions/ankidesktop/35620-module-decimal-missing-in-binary-package-2115-linux-only
2019-08-26 10:04:42 +10:00
Mike Hordecki
ecba3f429b Use traceback.format_exception for debug error display. 2019-08-19 23:08:55 +02:00
Damien Elmes
a8b302c7f2 Merge pull request #324 from MHordecki/software-opengl
Add support for OpenGL software rendering.
2019-08-18 20:18:03 +10:00
Damien Elmes
bac937ee49 add progress dialog for media delete 2019-08-17 18:32:39 +10:00
Mike Hordecki
fe9df49226 Add support for OpenGL software rendering.
In some systems, the default Qt hardware renderer is buggy. There's a Qt
option for forcing software rendering. This commit adds support for a
new environment variable, ANKI_SOFTWAREOPENGL, that, when set, will
prompt Anki to force software OpenGL in Qt.
2019-08-16 23:18:28 +02:00
Damien Elmes
5d1dc680a9 pin logging
https://anki.tenderapp.com/discussions/ankidesktop/35444-python-standard-library-availability-in-anki
2019-08-13 19:08:49 +10:00
Damien Elmes
da533b3854 Merge pull request #318 from wgreven/single-config-file-for-colors
Allow configuring Anki's color scheme using a single config file on Linux
2019-07-22 10:51:51 +10:00
Damien Elmes
a7b33ad234 remove open backup folder link
https://anki.tenderapp.com/discussions/ankidesktop/35084-crash-while-trying-to-revert-to-a-backup
2019-07-22 10:49:22 +10:00
Wilco Greven
eec70c9d17 Set applicationName and desktopFileName before instantiating the application.
When these are set after instantiating the application Anki will load both
$XDG CONFIG HOME/.config/Ankirc and $XDG CONFIG HOME/.config/ankirc.
2019-07-20 13:10:59 +02:00
Wilco Greven
6585967799 Set the desktop file name.
Otherwise, on Wayland, Anki will look for python3.desktop This fixes the window icon.
2019-07-18 23:14:34 +02:00
Damien Elmes
e02e6d2c14 display a more helpful message when base folder not readable in startup 2019-07-17 17:23:22 +10:00
Damien Elmes
54ba318171 cleanup recording on cancel 2019-07-14 11:19:29 +10:00
Damien Elmes
06e302903b force default button in record dialog
https://anki.tenderapp.com/discussions/ankidesktop/34985-make-save-the-default-option-when-recording-audio
2019-07-12 17:37:25 +10:00
Damien Elmes
2d32d89180 quieten local port message for now
the race condition that is causing this still needs to be investigated
2019-06-27 10:01:23 +10:00
Damien Elmes
c4ec006efc prefix non-breaking spaces
https://anki.tenderapp.com/discussions/ankidesktop/34512-first-space-is-omitted-when-pasting
2019-06-10 09:41:29 +10:00
Damien Elmes
08b36d8300 fix __renderPage() being called twice 2019-06-01 16:35:19 +10:00
Lovac42
84272eca04 added runHooks for reverted cards and state. 2019-05-17 20:17:36 -04:00
Damien Elmes
ac8b6c0cac fix preview failing to appear when 'show both sides' enabled 2019-05-17 15:16:13 +10:00
Damien Elmes
ce1a78f07c don't error out when non-latin characters written to js console
(some?) macOS users have an ascii encoding, so we need to escape
the non-ascii portions prior to writing
2019-05-17 08:43:25 +10:00
Damien Elmes
3f1af6a55f Merge pull request #306 from lovac42/master
doubleclick addman list
2019-05-15 15:58:43 +10:00
Damien Elmes
e69e13ce1e prevent deck chooser from becoming default
Qt's behaviour seems to have changed in move to 5.12
2019-05-15 14:50:55 +10:00
lovac42
50cb5a5d50 doubleclick addman list
doubleclick on addon manager list opens conf editor.
2019-05-13 17:27:27 -04:00
Damien Elmes
c8775d4161 catch add-on deletion failure due to locked files in add-on folder
https://anki.tenderapp.com/discussions/add-ons/32676-2112
2019-04-29 18:43:10 +10:00
Damien Elmes
62ff62a360 on serverAbort, return early
- fixes error attempting to access self.client.hostNum
- prevents media sync from running
2019-04-29 18:27:00 +10:00
Damien Elmes
48e441e20d fix 'open backup' opening to an empty deck list
Starting the import in a timer could cause the collection to be unloaded
while the deck list was being displayed, leading to an inconsistent
state.

The timer was originally required to avoid importing on startup,
but profile load is already delayed until after startup these days,
so the workaround should no longer be necessary.
2019-04-29 16:59:29 +10:00
Damien Elmes
94e59aeaff 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
21e842c927 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
60afbcf62d 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
a79da88a35 Merge pull request #304 from ErezVolk/jsonschema
Use jsonschema for add-on manifests
2019-04-29 12:34:47 +10:00
Damien Elmes
7e5f86499a 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
19b875a153 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
a2c6a5b27e Use jsonschema for add-on manifests 2019-04-24 23:42:49 +03:00
Damien Elmes
c125ba1358 catch another full disk error 2019-04-23 10:19:05 +10:00
Damien Elmes
737a2bba66 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
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