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
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
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
Glutanimate
11f3d77eb1
Switch to the system default monospaced font for the config editor area
2019-02-15 14:15:54 +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
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
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
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
488c867afb
info/warning/etc need to be be application modal
...
WindowModal was allowing multiple popups in the browser on Windows:
https://anki.tenderapp.com/discussions/beta-testing/1378-error-does-not-go-away
2019-02-04 07:32:49 +10:00
Damien Elmes
6b24b61999
skip the webview reload when undoing reviews
2019-01-29 09:35:46 +10:00
Damien Elmes
318765cb2e
remove another newline case from empty fields
...
thanks to dlon: https://github.com/dae/anki/pull/273
2019-01-29 08:29:01 +10:00
Damien Elmes
57d566d670
Merge pull request #273 from zjosua/reinstate-mungehtml
...
Reinstate mungeHTML in editor.py
2019-01-29 08:26:47 +10:00
Damien Elmes
c8b5ce1b66
Merge pull request #275 from glutanimate/editor-addbutton-qrc-support
...
Add support for button icons stored in Qt resource system
2019-01-29 08:26:07 +10:00
Glutanimate
709bfa4a11
Add support for button icons stored in Qt resource system
2019-01-26 20:42:56 +01:00
David Lönnhager
106134be33
Fix crash caused by cutting and copying
2019-01-26 04:29:05 +01:00
zjosua
4981fa187a
Reinstate mungeHTML in editor.py
...
The removal of this function in #270 causes <br> to remain in seemingly
empty editor fields, which in turn wrongly prompts the "Close and lose
current input?" dialog.
2019-01-25 23:12:48 +01:00
Damien Elmes
3c96492a1a
Merge pull request #270 from dlon/br-improve
...
Remove <br> from empty fields.
2019-01-21 14:26:12 +10:00
David Lönnhager
4ca2220117
Remove <br> from empty fields.
2019-01-19 19:36:55 +01:00
Damien Elmes
e41c399954
Revert "default to GL mode auto on qt 5.12"
...
This reverts commit d7760d9831
.
unfortunately there still appear to be widespread issues on qt 5.12
2019-01-06 09:59:25 +10:00
Damien Elmes
f91e30a2c1
fix field content showing in top button area
2018-12-22 13:27:12 +10:00
Damien Elmes
4c6c0d428b
detect and refuse to run on nouveau
2018-12-18 19:29:34 +10:00
Damien Elmes
a6c34fd79f
ignore broken reset hooks in database check
...
ideally the original code should be correctly cleaning up the hooks,
but if it does not, then we don't want to repeatedly present the user
with confusing errors when they try to check their database is ok.
2018-12-15 13:14:33 +10:00
Damien Elmes
d6d5677fa8
remove unused ref
2018-12-15 12:45:38 +10:00
Damien Elmes
ba9ebcf8f9
make sure change note type clears up hooks
...
if an error occurred after QDialog.accept() had been called,
the hook was left lying around and caused errors when reset later
fired
File "aqt\main.py", line 1028, in onCheckDB
File "aqt\main.py", line 516, in reset
File "anki\hooks.py", line 28, in runHook
File "aqt\modelchooser.py", line 47, in onReset
File "aqt\modelchooser.py", line 82, in updateModels
<class 'RuntimeError'>: wrapped C/C++ object of type QPushButton has been deleted
2018-12-15 12:45:17 +10:00
Damien Elmes
748f362695
fix the other json.dumps call
...
previous change was in the wrong place
33ae6404f1
2018-12-15 09:15:43 +10:00
Damien Elmes
0769bf7ac9
apply stylesheet app wide, and add border to win10 menu
...
the night mode add-on may need updating with this change, but with
a global stylesheet it may be easier to style widgets in the future
menu bar issue:
https://anki.tenderapp.com/discussions/beta-testing/1313-anki-216-beta-1#comment_46664932
2018-12-14 20:35:12 +10:00
Damien Elmes
9e4730f9dd
add file to track pinned modules
2018-12-14 20:32:53 +10:00
Damien Elmes
33ae6404f1
don't escape unicode characters in add-on json
...
https://anki.tenderapp.com/discussions/ankidesktop/31423-configuration-module-of-addons-is-not-allowing-pt-br-accent
2018-12-13 21:34:55 +10:00
Damien Elmes
053b286398
include git hash in version info
2018-12-13 20:59:06 +10:00
Damien Elmes
d7760d9831
default to GL mode auto on qt 5.12
2018-12-10 15:17:21 +10:00
Damien Elmes
2131c0049f
restore tooltips for fields/cards
2018-12-07 08:33:47 +10:00
Damien Elmes
a2b8d24352
Merge pull request #265 from Arthur-Milchior/reopenEdit
...
The note in curentEdit is not changed until the window is closed.
2018-12-03 16:41:56 +10:00
Damien Elmes
2c30ad9593
fix editor buttons overlapping field content
...
https://anki.tenderapp.com/discussions/ankidesktop/31235-editor-second-row-for-buttons-feature-request
2018-12-03 09:54:51 +10:00
Damien Elmes
429cb2ce7f
fix import screen appearing before progress dialog closes
2018-12-01 13:37:26 +10:00
Arthur-Milchior
b8523944ff
The note in curentEdit is not changed until the window is closed.
...
https://anki.tenderapp.com/discussions/ankidesktop/31105-reopening-an-edit-window
I added a «reopen» method, which I believe may be useful in other
cases too. I check whether the method exists before calling it, so
there should be no compatibility problem.
2018-11-28 10:24:59 +01:00
Damien Elmes
ed665557d5
ensure card list updated when editing html
...
using an extra hook is ugly, but there's a risk re-purposing
the editTimer hook will break an add-on that assumes the note
has already been loaded
https://anki.tenderapp.com/discussions/ankidesktop/30972-bug-editing-html-in-browser-not-saved-unless-tabbingclicking-to-other-field
2018-11-27 18:00:57 +10:00
Damien Elmes
35360df68d
case-insensitive field sort in find dupes
2018-11-27 16:44:23 +10:00
Damien Elmes
5bce218312
limit find&replace fields to selected notes
2018-11-27 16:42:00 +10:00
Damien Elmes
7e2305ac0c
fix encoding error when setting up profile
...
https://anki.tenderapp.com/discussions/ankidesktop/30926-error-when-choosing-ukrainian-as-the-interface-language
2018-11-27 12:55:24 +10:00
David Lönnhager
5744ab01e4
Use escape to close the deck chooser without switching to the selected deck
2018-11-26 18:06:29 +01:00
Damien Elmes
e4af18cf66
catch wrong objects in add-on conf
...
based on patch from Arthur: https://github.com/dae/anki/pull/261/files
2018-11-18 15:22:31 +10:00
Damien Elmes
204ed5c18a
fix font hack
2018-11-15 14:04:08 +10:00
Damien Elmes
9396d74bf6
Merge pull request #260 from zandimna/patch-1
...
Change the order of elements on the window title
2018-11-13 11:10:51 +10:00
zandimna
3b70c6ff26
Change the order of elements on the window title
...
The application name typically comes at the end of the title. As such, many tools grabs the final string as the application name. What Anki does currently causes the profile name to be grabbed, producing unexpected results.
2018-11-12 20:23:47 +08:00
Damien Elmes
6e95d9a398
catch maxpath error in mediasrv
...
https://anki.tenderapp.com/discussions/ankidesktop/30729-valueerror-in-ospathisdir-call-in-mediasrvpy-for-elements-with-long-strings-as-src
2018-11-12 19:35:23 +10:00
Damien Elmes
7f85218b5a
paste links as anchors if shift held down
2018-11-12 16:39:24 +10:00
Damien Elmes
ed411b0cc9
add hack for font name consistency issue
...
https://anki.tenderapp.com/discussions/ankidesktop/30785-bug-font-not-applying-to-japanese-characters
2018-11-12 16:30:11 +10:00
Damien Elmes
d3c0ea46e2
normalize search text
...
https://anki.tenderapp.com/discussions/ankidesktop/30614-diacritics-changed-on-card-save-anki-21
2018-11-12 12:43:54 +10:00
Damien Elmes
fea23177e8
skip scroll if the number of cards has not changed
...
The scrolling behaviour is useful when cards are deleted, but
annoying in other cases such as when changing flags.
2018-11-12 12:26:23 +10:00
Damien Elmes
6609dfda7b
prevent hiding of shortcuts in browser context menu
2018-11-12 12:13:58 +10:00
Damien Elmes
4acce5f96b
checkmark on flags in browser
2018-11-12 12:10:50 +10:00
Damien Elmes
8ac5cc8dff
prevent qt from hiding shortcuts in reviewer context
2018-11-12 12:02:51 +10:00
Damien Elmes
4b19e47b3f
show checkmark on current flag in reviewer context menu
2018-11-12 12:01:54 +10:00
Damien Elmes
a3eb44d950
toggle flags in reviewer
2018-11-12 11:58:36 +10:00
Damien Elmes
d2765eadd5
toggle flags instead of using separate clear action in browser
2018-11-12 11:55:37 +10:00
Damien Elmes
997cc95fc7
use a semi transparent, neutral selection in browser
...
As the base colour of rows is now visible, actions like flagging
now provide immediate feedback about what they've changed.
2018-11-12 11:02:01 +10:00
Damien Elmes
5e5d35e9c1
change purple flag to orange
2018-11-01 14:58:41 +10:00
Damien Elmes
a9f9df5109
Revert "workaround bottom toolbar issue on macOS/qt5.12"
...
This reverts commit 5e3f35a32c
.
underlying issue should be fixed in qt5.12beta3
2018-10-29 21:08:16 +10:00
Damien Elmes
3126611ecf
display warning when profile corrupted
2018-10-29 21:06:33 +10:00
Damien Elmes
eef0b92374
correctly load prefs file modified in more recent qt
2018-10-29 21:06:11 +10:00
Damien Elmes
e18bd4d67d
work around existing instance not responding quickly
...
on a slow computer the first instance may have set up the local
server but not yet started the main loop, so when a user double clicks
on the icon twice, the second instance was timing out and opening
another window, then giving locked database errors
to work around this, increase the timeout, and tell the user the
existing instance is not responding instead of creating a new instance
https://anki.tenderapp.com/discussions/ankidesktop/30306-error
https://anki.tenderapp.com/discussions/ankidesktop/30550-im-sorry
2018-10-28 14:17:16 +10:00
Damien Elmes
2483e9c89e
sidebar now visible by default
2018-10-28 12:24:54 +10:00
Damien Elmes
a4edc57dc5
run latex commands without bundled libs
...
https://anki.tenderapp.com/discussions/ankidesktop/30531-latex-wont-generate-svgs-automatically-but-will-generate-pngs
2018-10-28 11:41:43 +10:00
Damien Elmes
b4f4e65c55
simplify about sizing
2018-10-25 15:47:17 +10:00
Damien Elmes
1fd7c244be
Revert "fix about dialog collapsed on qt 5.11/12"
...
This reverts commit edb3b176a8
.
causes a lot of flickering on startup - will just move to
static sizing instead, as there is a scrollbar anyway
2018-10-25 15:43:17 +10:00
Damien Elmes
5e3f35a32c
workaround bottom toolbar issue on macOS/qt5.12
2018-10-25 15:34:27 +10:00
Damien Elmes
edb3b176a8
fix about dialog collapsed on qt 5.11/12
...
the new approach doesn't seem to work properly on qt 5.9, so just
revert to a static size on that platform
2018-10-25 15:25:47 +10:00
Damien Elmes
3cb073878a
allow startup on qt5.12+
...
an intermittent issue with the webview on macOS, but otherwise
appears ok in initial tests
2018-10-25 14:48:08 +10:00
Damien Elmes
098434ff38
we can use the old undo shortcut on 5.11
...
webviews no longer propagate the captured shortcut
2018-10-23 18:40:58 +10:00
Damien Elmes
68a398f8d6
fix black flash on stats load on osx/qt5.11
2018-10-23 17:09:16 +10:00
Damien Elmes
0c1c7a1ca3
fix other clickable anchors
2018-10-23 17:05:47 +10:00
Damien Elmes
14f4107dfd
deal with onclick handlers that don't return false
...
Because <base> is set to the media server URL, <a href='#' ...> causes
a page transition from the current setHtml() page data. Previous Qt
versions allowed us to just ignore the request, but now returning False
in acceptNavigationRequest() causes the subsequent page navigation to
be rejected as well, resulting in no visible change when clicking on a
deck in the deck list.
To deal with this, Anki will now warn when such navigation requests
come in, as the anchors need to be updated to return false. pycmd()
has been updated to return false to make returning in onclick easier.
Also use QUrl.matches() instead of converting the potentially long
URL to a string.
2018-10-23 16:47:01 +10:00
Damien Elmes
fa9a54db98
allow the initial setHtml() request to proceed
...
Qt 5.11 appears to call acceptNavigationRequest() for the initial
page load now.
2018-10-23 16:11:08 +10:00
Damien Elmes
1af556cb8d
delay event filter installation
...
Qt 5.11 doesn't initialize the focusProxy until
a page has been loaded.
2018-10-23 16:06:56 +10:00