Commit Graph

1239 Commits

Author SHA1 Message Date
Damien Elmes
084b7a1694 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
241b7ea005 use locales instead of two digit lang codes
and move away from launchpad
2019-09-23 21:18:03 +10:00
Damien Elmes
5c4ff83b72 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
d4aa146b4c
Merge pull request #330 from glutanimate/add-typing-module
Add "typing" to pinned modules
2019-09-07 13:01:26 +10:00
Glutanimate
e9b701ef05 Add "typing" to pinned modules 2019-09-06 17:25:30 +02:00
Damien Elmes
396d14e58f
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
98a866c2cb support multiple urls at once in editor 2019-09-02 10:17:04 +10:00
Damien Elmes
35964fa55c 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
ac497eaf7c Don't discard new card contents by default 2019-09-01 13:09:05 +08:00
Damien Elmes
8d5c0f4853 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
5d6ba06369 Use traceback.format_exception for debug error display. 2019-08-19 23:08:55 +02:00
Damien Elmes
1a1fc35428
Merge pull request #324 from MHordecki/software-opengl
Add support for OpenGL software rendering.
2019-08-18 20:18:03 +10:00
Damien Elmes
888d8b5dee add progress dialog for media delete 2019-08-17 18:32:39 +10:00
Mike Hordecki
8617ec7250 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
c4eca03dd8 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
4c6b608736
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
e5194ad208 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
9b10e3f43e 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
ffab5d31d4 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
4f819d06ec display a more helpful message when base folder not readable in startup 2019-07-17 17:23:22 +10:00
Damien Elmes
95387af2cd cleanup recording on cancel 2019-07-14 11:19:29 +10:00
Damien Elmes
7a9508ea75 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
7b93e9855e 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
c7201b0c3a 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
1a6de042df fix __renderPage() being called twice 2019-06-01 16:35:19 +10:00
Lovac42
a803f4afee added runHooks for reverted cards and state. 2019-05-17 20:17:36 -04:00
Damien Elmes
1c47eb73d0 fix preview failing to appear when 'show both sides' enabled 2019-05-17 15:16:13 +10:00
Damien Elmes
1f36a7112f 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
0008e6cb3f
Merge pull request #306 from lovac42/master
doubleclick addman list
2019-05-15 15:58:43 +10:00
Damien Elmes
86d9b57877 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
f41e791c5a
doubleclick addman list
doubleclick on addon manager list opens conf editor.
2019-05-13 17:27:27 -04:00
Damien Elmes
9ce1f051cc 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
8a63b4712c 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
3716feb1c4 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
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