Kerrick Staley
61b4a6b655
Bind mediaserver on 127.0.0.1 instead of localhost
2017-12-24 23:10:07 -08:00
Damien Elmes
65b826d787
refuse to run on qt 5.10
...
- on Linux and Windows, opening the browser and stats window back and
forth multiple times triggers a crash in the GL libraries, even with
software rendering enabled. Will try again when .1 is out
- on Mac, shortcut keys fire multiple times:
https://bugreports.qt.io/browse/QTBUG-65184
2017-12-18 14:50:14 +10:00
Damien Elmes
405cea6a60
add context menu to browser
2017-12-14 14:49:51 +10:00
Damien Elmes
7981db1466
more raw string literals
2017-12-13 14:34:54 +10:00
Damien Elmes
81d4b77ee1
more open() and regex strings
2017-12-11 17:25:51 +10:00
Damien Elmes
bc65baeff7
cgi.escape is deprecated
2017-12-11 16:20:00 +10:00
Damien Elmes
fccfdef73d
add a flag to keep editor buttons enabled when no field selected
2017-12-08 21:06:16 +10:00
Damien Elmes
774c19e83e
add the ability to disable cert verification
2017-12-07 17:15:20 +10:00
Damien Elmes
39c0a57b13
work around pops in recording start
...
https://anki.tenderapp.com/discussions/ankidesktop/26005-when-recording-sound-on-mbp
on my machine, the pops start around sample 2048 of a 44.1khz recording,
and only for the first recording after the audio hardware has gone to
sleep
2017-12-05 11:07:52 +10:00
Damien Elmes
341da7385a
ignore editor shortcuts when no field focused
2017-12-04 12:53:28 +10:00
Damien Elmes
c451141f97
play question audio when preview set to 'show both sides'
2017-12-04 12:45:22 +10:00
Damien Elmes
fcccf12ba6
night mode
2017-12-04 12:20:56 +10:00
Damien Elmes
15e102e047
make sure to preserve focus when reloading on editFocusLost
2017-12-04 12:03:01 +10:00
Piotr Kubowicz
879ca0b72b
Allow to better translate "in x minutes"
...
"There is 1 minute" and "in 1 minute" need to be translated
differently in Slavic languages.
Additionally remove unused afterTimeTable.
2017-11-30 20:03:51 +01:00
Damien Elmes
9e5b909070
note media check stage in sync dialog
2017-11-27 11:21:03 +10:00
Damien Elmes
41205bd5ca
allow user to override scaling
...
which may help wth issues like
https://anki.tenderapp.com/discussions/beta-testing/918-text-size-in-ubuntu-1710
and
https://anki.tenderapp.com/discussions/ankidesktop/25708-anki-with-high-dpi-screen
2017-11-27 11:01:15 +10:00
Piotr Kubowicz
674d45a606
Allow to better translate add-ons dialog
2017-11-19 10:28:04 +01:00
Damien Elmes
8e7ef1d1be
detect image extension, catch errors, add timeout
2017-11-17 17:30:01 +10:00
Damien Elmes
56444ab967
don't check extension when localizing image sources
...
fixes https://anki.tenderapp.com/discussions/beta-testing/916-pictures-not-showing-on-iphoneipad-ios11-when-not-connected-to-internet
2017-11-17 16:20:33 +10:00
Damien Elmes
baae899864
don't error if pasted image in temp folder
...
https://anki.tenderapp.com/discussions/ankidesktop/25805-anki-21-error-reporting
2017-11-13 11:05:46 +10:00
Damien Elmes
e0d05e49d6
fix broken image links when pasting between fields
...
https://anki.tenderapp.com/discussions/beta-testing/853-anki-210-beta-21#comment_43959510
2017-11-11 11:51:30 +10:00
Damien Elmes
880243c361
disable main window while collection unloaded
...
fixes error when pressing y then d in rapid succession
2017-11-01 12:38:43 +10:00
Damien Elmes
1d3e5787a2
separate basic and extended paste modes
...
- basic mode is the default, and includes only HTML elements that can be
added/edited easily with the default editor
- extended mode is enabled by holding down shift and includes a bunch of
other HTML elements
2017-10-25 20:20:28 +10:00
Damien Elmes
23e0034278
use requests library for media downloads
...
fixes SSL errors when pasting media from https website
2017-10-25 19:42:20 +10:00
Damien Elmes
554ff3d8d2
drop experimental prewrap mode
...
- pasting in prewrap mode had been broken for a while and nobody noticed
- needs changes to export code and cloze handling code to deal with the
newlines
- newline rewriting in filterNode() is likely fragile
- may revisit post 2.1
2017-10-25 19:18:00 +10:00
Damien Elmes
c13b19820b
clear audio queue when showing answer
...
fixes question audio playing again on answer
2017-10-25 19:00:24 +10:00
Damien Elmes
944bca0f44
fix type answer race condition
...
user may hit enter before the question has been written, due to fade out
delay
2017-10-24 17:08:36 +10:00
Damien Elmes
1cc29278f2
Revert "avoid setting modality in progress dialog"
...
This reverts commit 059db539a7
.
seems to work correctly in qt 5.9.2
2017-10-20 13:25:38 +10:00
Damien Elmes
eaf09b5093
Merge branch 'master' of github.com:dae/anki
2017-10-20 11:26:15 +10:00
krassowski
f90f3dbc53
Clean up reviewer code from unused code
2017-10-18 16:12:04 +00:00
Damien Elmes
3df98573b4
fix detection of media links in paste
...
'.aspx' was matching the 'spx' filter
2017-10-18 21:58:36 +10:00
Damien Elmes
a6391bbe8c
ctrl+d to deselect all in tag picker
2017-10-16 15:31:29 +10:00
Damien Elmes
ed151de19b
don't die on _anki.png et al
...
https://anki.tenderapp.com/discussions/beta-testing/747-anki-210-beta-16/page/2#comment_43769227
2017-10-16 15:02:16 +10:00
krassowski
e21de9ed7e
Setup shortcuts after setting-up web.
2017-10-11 18:51:26 +00:00
Damien Elmes
d8d6430ec7
fall back to mplayer if mpv not found or too old
...
ubuntu 14.04 looks to be using an ancient mpv version
2017-10-05 17:24:55 +10:00
Damien Elmes
33c5b5f9e7
remove lodpi hack, don't assume physical DPI is always 72
2017-10-05 16:42:46 +10:00
Damien Elmes
3840f012be
catch errors caused by old mpv versions
2017-10-05 15:46:20 +10:00
Damien Elmes
0b15a4a3b3
show field numbers for easier positioning
2017-10-05 14:52:05 +10:00
Damien Elmes
7b844d12cb
increase default number of backups; don't put in trash
2017-10-05 14:39:47 +10:00
Damien Elmes
f7062ff0c6
user-friendly warning when mpv missing
2017-10-05 13:48:24 +10:00
Damien Elmes
e1a4c52175
pass opts to main window; force zoom factor to 1 on lodpi
2017-10-03 12:12:57 +10:00
Damien Elmes
78d7ae388e
make sure we clear the queue when previewing attached
2017-10-02 17:21:34 +10:00
Damien Elmes
d530134218
option to disable qt's hidpi scaling
...
https://anki.tenderapp.com/discussions/beta-testing/765-problem-with-the-ui-of-anki
2017-10-02 16:26:23 +10:00
Damien Elmes
7dc8f82906
mpv support
2017-09-30 19:29:48 +10:00
Damien Elmes
fad6b244cd
normalize filenames in colpkg import
2017-09-30 19:29:21 +10:00
Damien Elmes
fff49a1370
Merge pull request #211 from krassowski/master
...
Allow to run App&GUI without entering the main event loop
2017-09-26 13:21:59 +10:00
krassowski
755c9487c9
Add docstring explaining introduced arguments of _run()
2017-09-23 15:01:29 +00:00
krassowski
b863d7972c
Allow to run App&GUI without entering the main event loop
2017-09-21 03:02:39 +00:00
Damien Elmes
6007cf5e3a
add missing shortcuts back to advanced menu
2017-09-19 17:07:28 +10:00
Damien Elmes
1842db2a8f
work around python not handling non-latin hostname
...
https://anki.tenderapp.com/discussions/beta-testing/763-anki-does-not-seem-to-start-on-windows-10
2017-09-16 12:19:44 +10:00
Damien Elmes
5deb75f5c4
preserve user_files folder in add-ons
2017-09-10 18:53:47 +10:00
Damien Elmes
0bc4a1a220
replace _ with space in add-on names
2017-09-10 17:02:32 +10:00
Damien Elmes
905bd10efe
use documents instead of desktop as default location
...
have observed users doing a collection export to their desktop, then
thinking that double clicking the collection file was the way to
start Anki in the future
2017-09-10 17:01:52 +10:00
Damien Elmes
0c80b5454f
use separate .colpkg extension for collection exports
...
- allows translations of filename
- allows users to keep multiple collection exports in the same folder
- provides a clearer distinction between deck and collection packages
- the collection/backup .apkg special cases will continue to work in
future 2.1.x releases
2017-09-10 16:58:55 +10:00
Damien Elmes
b454d6f169
default to desktop in getSaveFile; don't force desktop in stats
2017-09-10 16:42:29 +10:00
Damien Elmes
1e2f934480
allow user to pick graph save location
2017-09-10 15:50:34 +10:00
Damien Elmes
d3d96222bc
prefs and dialog tweaks
...
- manage prefs window so it only opens once, and gets closed properly
- provide silentlyClose shortcut to dialogmanager windows
2017-09-10 15:15:12 +10:00
Damien Elmes
a5bbdf0c5f
fix backups failing to complete
...
the behaviour of daemon=True was the opposite of what I expected
2017-09-10 13:17:56 +10:00
Damien Elmes
c5188d9f3a
fix backup rotation
...
add missing d and make pattern more specific
2017-09-10 12:56:27 +10:00
Damien Elmes
5bd2e10f3c
close preview window on collection close
2017-09-08 19:44:13 +10:00
Damien Elmes
35923630bf
make sure we update preview buttons at after state determined
...
fixes duplicate calls and inability to reveal answer of last card
2017-09-08 19:43:35 +10:00
Damien Elmes
4990b2f8eb
mathjax tweaks
...
- drop support for $$ in favour of separate opening and closing tags
- add shortcuts to add mathjax
- don't highlight any clozes in blue if field contains mathjax chars
2017-09-08 19:20:37 +10:00
Damien Elmes
90a5a48d6c
fix silentlyClose check
2017-09-08 18:42:26 +10:00
Damien Elmes
63befa7c0c
force correct css mime type
...
fixes broken styling on machines with an incorrect mime type
2017-09-07 14:52:46 +10:00
Damien Elmes
2e7da0f3c6
provide more info in error screen, and link to support site
2017-09-06 16:40:35 +10:00
Damien Elmes
e518619ed3
Merge pull request #205 from matthin/master
...
Fix typo in error message
2017-09-06 13:04:06 +10:00
Damien Elmes
38688ef8ef
prepareQA hook
...
see updated docs on https://apps.ankiweb.net/docs/addons21.html
2017-09-06 13:02:00 +10:00
Justin Harrison
5e3cee8c6c
Fix typo in error message
2017-09-05 15:29:45 -07:00
Damien Elmes
27b42fcac9
use readable name instead of mid in browser searches
...
mid should no longer be required now that note type names are made
unique
2017-09-02 16:15:01 +10:00
Damien Elmes
a0afec9938
escape ideographic space
2017-09-02 16:10:19 +10:00
Damien Elmes
a7ed7fa4e3
fix cutting and copying between fields
...
the shortcut keys are handled by webengine on platforms other than
osx, so rather than messing with an event filter we catch the cut and
copy events in js and send a signal back
2017-09-02 13:48:03 +10:00
Damien Elmes
be14703e7f
strip trailing <br> tag when saving field
2017-09-02 13:26:57 +10:00
Damien Elmes
3b79204924
update self.card on multiple selection
...
fixes
https://anki.tenderapp.com/discussions/beta-testing/713-anki-210-beta-13#comment_43315776
2017-08-31 20:38:12 +10:00
Damien Elmes
f9f8b117d9
fix formatting preservation when pasting between fields
...
- make sure js is passed the internal flag
- make sure we flag text after the asynchronous clipboard change
- be explicit about clipboard data update
2017-08-31 18:10:37 +10:00
Damien Elmes
598df47967
Merge pull request #204 from glutanimate/tagedit-improve-keyboard-nav
...
Improve keyboard navigation in TagEdit
2017-08-31 16:04:59 +10:00
Damien Elmes
2689c7cfe1
setConfigAction() and writeConfig() should work in submodules
2017-08-31 14:41:00 +10:00
Glutanimate
8d6507c062
Space-separate inserted tags
...
New completions now show up after hitting space again
2017-08-30 14:52:58 +02:00
Glutanimate
e237324873
Show new autosuggestions on typing space
2017-08-30 14:19:15 +02:00
Glutanimate
a7cdff6d96
Invoke autosuggestion pop-up with arrow-key up/down
2017-08-30 13:13:10 +02:00
Glutanimate
153849c01b
Apply first tag autosuggestion with Enter/Return
2017-08-30 13:11:03 +02:00
Glutanimate
0c85aed04a
Navigate through tag autocompletions with Ctrl+Tab
2017-08-30 12:49:04 +02:00
Damien Elmes
7b93d8423f
make sure media server can handle a flood of requests
...
fixes intermittent failures when loading js/css files, especially during
startup
2017-08-30 16:05:39 +10:00
Damien Elmes
5a11efa0e3
merge new keys from config.json into user conf
2017-08-30 15:31:03 +10:00
Damien Elmes
9fb9d9c902
Merge pull request #203 from glutanimate/previewer-both-sides-patches
...
Assign "both sides" toggle to hotkey, refresh preview on toggle
2017-08-30 15:03:32 +10:00
Glutanimate
fc59fab967
Assign "both sides" toggle to hotkey, refresh preview on toggle
2017-08-29 16:41:01 +02:00
Damien Elmes
9ddaa20881
syncing media -> syncing
...
in the no changes case, the progress window is forced open for a while,
making it look like media syncing is to blame
2017-08-29 14:11:41 +10:00
Damien Elmes
29d6d93881
option for showing both sides in preview screen
2017-08-28 22:16:05 +10:00
Damien Elmes
3faa82571c
warn about subfolders
2017-08-28 22:01:13 +10:00
Damien Elmes
226bb2bc83
add record icon back to dialog
2017-08-28 21:46:22 +10:00
Damien Elmes
b28eb4fba6
add collection/deck shortcuts, refresh when saved changes
2017-08-28 21:43:44 +10:00
Damien Elmes
fa2e0e6428
fix clear flag text and shortcut
2017-08-28 21:17:16 +10:00
Damien Elmes
a4b45af5a9
fix scrollbar appearing in toolbar
...
https://anki.tenderapp.com/discussions/beta-testing/675-anki-210-beta-10/page/2#comment_43239350
2017-08-28 21:15:38 +10:00
Damien Elmes
737a8d934e
persistent add-on configuration
...
- add-ons can ship default config in a config.json file
- users can edit the config in the add-ons dialog, easily syntax-check
the json, and restore it to the defaults
- an optional config.md contains instructions to the user in markdown
format
- config will be preserved when add-on is updated, instead of being
overwritten as is the case when users are required to edit the source
files
A simple example: in config.json:
{"myvar": 5}
In your add-on's code:
from aqt import mw
config = mw.addonManager.getConfig(__name__)
print("var is", config['myvar'])
Add-ons that manage options in their own GUI can have that GUI
displayed when the config button is clicked:
mw.addonManager.setConfigAction(__name__, myOptionsFunc)
2017-08-28 20:51:43 +10:00
Damien Elmes
b0a62838b5
profile tweaks
...
- handle unpickling of anki 2.0 prefs
- copy the prefs on first load, as python2 is not capable of reading the
protocol 3 pickles we write for proper bytes support
- when there's an error unpickling, write a clean copy of the
preferences instead of forgetting all profiles and starting from scratch
2017-08-28 18:35:24 +10:00
Damien Elmes
a96ddfc3fd
allow templates and add-ons to hook into reviewer updated/shown
...
eg
from anki.hooks import addHook
def prepare(q):
return q + """
<script>
onUpdateHook.push(function () {
window.scrollTo(0, 2000);
})
</script>"""
addHook('prepareQuestion', prepare)
2017-08-28 14:54:22 +10:00
Damien Elmes
76b4343c5e
fix browse link
2017-08-26 22:40:11 +10:00
Damien Elmes
92fe869653
fix error on add-on download
...
suspect this was the cause of the mystery enclosing scope errors as well
2017-08-26 19:55:39 +10:00
Damien Elmes
02a3e14c13
setupEditorShortcuts is a hook, not a filter
...
add-ons can modify cuts in place
2017-08-26 18:47:45 +10:00
Damien Elmes
7288a9b063
new add-on handling
...
- separate dialog for managing add-ons
- only add-ons compatible with Anki 2.1 will be shown on AnkiWeb
- can delete or toggle disabled on multiple add-ons at once
- check for updates button
- button to view add-on's AnkiWeb page
The new handling drops support for single file .py add-ons, and requires
add-ons to store all files in a single folder. This ensures all files
are cleaned up properly when updating or deleting an add-on, and
prevents file conflicts between separate add-ons. See the updated
add-on docs for more:
https://apps.ankiweb.net/docs/addons21.html#add-on-folders
https://apps.ankiweb.net/docs/addons21.html#sharing-add-ons
README.addons has been moved to the above page
2017-08-26 15:14:20 +10:00
Damien Elmes
7b1747d650
don't throw an error when closing with tooltip or debug window open
2017-08-25 12:14:59 +10:00