Commit graph

1287 commits

Author SHA1 Message Date
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
de6825288f ensure card info is closed properly 2019-04-09 16:21:43 +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
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
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
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
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
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
Damien Elmes
9b0efdc190 check a profile exists every time
if something went wrong between pm.meta() and .ensureProfile() in the
past, it would lead to an inability to start Anki due to the a lack of
any profiles

https://anki.tenderapp.com/discussions/ankidesktop/32972-linux-upgrade-problems-20-219
2019-03-06 15:27:13 +10:00
Damien Elmes
d62177b020 tweak coding statement to make xgettext happy 2019-03-05 09:59:21 +10:00
Damien Elmes
464fe69cdb allow decreasing daily limits in custom study 2019-03-05 09:06:17 +10:00
Damien Elmes
d118c5cc9f add option to strip html in export 2019-03-05 08:57:53 +10:00
Damien Elmes
3e80f85d94 preview state depends on card id, not note id
fixes
https://anki.tenderapp.com/discussions/ankidesktop/32952-commit-b43b14eb6263676da4d41cd5f3ca514bb8b43873-causes-preview-to-not-work-with-multiples-cards-of-same-note-cloze-deletions
2019-03-05 07:50:54 +10:00
Damien Elmes
0c6fbddc27 deprecated global _/ngettext was returning None
the plurals may still be wrong in the ngettext case, but at least
it should not lead to premature tracebacks
2019-03-05 07:46:27 +10:00
Damien Elmes
442600daf8 Merge pull request #288 from glutanimate/mediasrv-addon-support
Extend mediasrv to also serve media files in addons directory
2019-03-04 18:03:48 +10:00
Damien Elmes
75a95ee1fb tidy up unused imports 2019-03-04 17:25:19 +10:00
Damien Elmes
300231e318 use raw strings for regexs 2019-03-04 17:03:43 +10:00
Damien Elmes
71f2b0627d fix inconsistent indentation 2019-03-04 16:54:22 +10:00
Damien Elmes
e7a8bf145a move from deprecated optparse to argparse 2019-03-04 16:45:29 +10:00
Damien Elmes
7d0f7ae33c fix some warnings 2019-03-04 16:01:10 +10:00
Damien Elmes
5dbe5638c0 fix incorrect qt constructor call 2019-03-04 15:59:53 +10:00
Damien Elmes
70c803adf7 WindowsError may not be defined 2019-03-04 12:29:55 +10:00
Damien Elmes
739885118b print warning when add-ons access _ without importing it 2019-03-04 12:08:48 +10:00
Damien Elmes
e6d75207af explicitly import _ and ngettext 2019-03-04 11:58:34 +10:00
Damien Elmes
8981da61c1 silence some spurious errors and remove some unused code 2019-03-04 11:22:40 +10:00
Glutanimate
37da78f4c6 Refactor: re.match --> re.fullmatch 2019-03-03 17:04:01 +01:00
Glutanimate
a01679266b Allow add-on authors to set a whitelist of webview-accessible files
Extends the AddonManager API with two new methods, setWebExports and
getWebExports. setWebExports expects an add-on module name and a
valid RegEx pattern to match subpaths in the add-on folder against.

Any matching subpaths will be accessible in Anki's web views by
referencing them with /_addons/{addon_id}/{subpath}.

For instance, to allow access to .css and .png files in your add-on's
user_files directory you would call:

> mw.addonManager.setWebExports(__name__, r"user_files/.+(\.png|\.css)")

You could then reference these files in web views as such:

> <img src="/_addons/{addon_id}/user_files/test.png">

Please note that this bypasses the default security policies used
in Anki webviews. You should take care to construct your RegEx
patterns specific enough so that they do not match any sensitive
files of our add-on.
2019-03-02 18:57:51 +01:00
Damien Elmes
085679d5d1 move versionWithBuild into anki module 2019-02-28 08:37:42 +10:00
Damien Elmes
b1bd76f2dc avoid traceback when network offline in add-on check 2019-02-27 14:18:16 +10:00
Damien Elmes
d3aac33d08 fix regression in showInfo() et al 2019-02-27 14:16:35 +10:00
Damien Elmes
5142bb012f ensure progress window cleared if error on add-on import 2019-02-27 14:08:20 +10:00
Damien Elmes
e5a4688411 avoid nbsp for single spaces when pasting text
https://anki.tenderapp.com/discussions/ankidesktop/32823-all-spaces-are-being-replaced-with-nbsp-when-pasting-219-linux
2019-02-27 13:54:50 +10:00
Glutanimate
0bdd18f352 Extend mediasrv to also serve media files in addons directory
RequestsHandler now rewrites "/_addons" references to addons folder.
2019-02-26 13:08:15 +01:00
Damien Elmes
0595b3ab04 include note id in state
to make sure we refresh when multiple notes have same mod time
2019-02-26 11:21:25 +10:00
Damien Elmes
b43b14eb62 avoid refreshing preview when nothing has changed
fixes visible redraw when:
- opening preview screen while cursor in field (as editTimer
fires even if note has not changed)
- moving between cards (as loadNote and rowChanged hooks are both
fired)
2019-02-26 11:18:32 +10:00
Damien Elmes
05122925f0 improve add-on downloading error readability 2019-02-26 09:36:20 +10:00
Damien Elmes
2587850a07 be explicit about text format when showing add-on errors
fixes br codes showing in error messages
2019-02-26 09:36:02 +10:00
Damien Elmes
8d19357528 Merge pull request #287 from glutanimate/fix-subpixel-antialiasing
Fix subpixel font anti-aliasing
2019-02-26 08:01:35 +10:00
Glutanimate
7456bd474d Set webview bg to system default window color instead of Qt.transparent
Qt.transparent prevents subpixel anti-aliasing from working, resulting
in slightly blurry fonts on non-retina displays.
(The window background color is not determined correctly on macOS, so
we hardcode it.)

Credits for discovering this issue go to the unknown author of
https://ankiweb.net/shared/info/94394764
2019-02-25 11:44:27 +01:00
Glutanimate
81eb4e32e8 Add a button to copy debug information to About dialog
Supplies information on platform, app, toolkit, and installed add-ons.
Should come in useful to troubleshoot issues that do not produce an
error message, especially for add-on developers.
2019-02-24 14:55:55 +01:00
Glutanimate
9281e66b52 Move annotatedName to AddonManager to allow outside access 2019-02-24 14:51:19 +01:00
Glutanimate
c5df285de6 Move supportText() to utils in order to allow use outside of errors 2019-02-24 14:50:39 +01:00
Damien Elmes
245845487d clear selection when deleting add-on(s)
fixes error when deleting last, and wrong selection
otherwise
2019-02-24 15:24:31 +10:00
Glutanimate
67774db8ad Preserve selected add-ons 2019-02-23 10:10:05 +01:00
Glutanimate
4d5fe3a721 Colour disabled add-ons gray 2019-02-23 10:04:45 +01:00
Glutanimate
585532d356 Add tooltip feedback for restoring defaults
Changes might not always be apparent, so a tooltip might help.
2019-02-23 09:39:49 +01:00
Glutanimate
dbb4067a7e Store addonconf geom and splitter. Tweak font sizes and margins. 2019-02-23 09:39:49 +01:00
Aristotelis
15b72dcd07 Merge branch 'master' into install-local-addons 2019-02-23 09:27:17 +01:00
Glutanimate
007a5a0fa8 Implement add-on conflict handling via manifests "conflicts" value
Only enabled for locally installed packages for now
2019-02-22 21:14:42 +01:00
Glutanimate
7f2fd3c840 Refactor: Add manifest schema, unify install paths, use context manager
Sets the foundation for more elaborate additions to the manifest.

Manifest files are still only being read for local imports, but with
this commit that could be easily changed in the future.
2019-02-22 17:04:07 +01:00
Glutanimate
79cf6c089a Rename .apkx to .ankiaddon 2019-02-22 10:17:56 +01:00
Damien Elmes
78d76346ae remember add-ons window geometry 2019-02-20 14:38:22 +10:00
Damien Elmes
febcb0c25c Merge pull request #284 from Arthur-Milchior/ErrorInCaseOfMissimngMod
Tolerate manually installed add-ons with numeric ids
2019-02-19 10:30:04 +10:00
Damien Elmes
23ffb33a95 fix editcurrent not freeing webview on close 2019-02-19 08:01:11 +10:00
Arthur-Milchior
f3a3c5c7a6 Correct a bug during add-on update
If an add-on folder contains only number, but does not contains a
meta.json file, or if this file does not contains a "mod" value, then
the following uninformative message error occur:
```Python
  File "aqt/addons.py", line 387, in onCheckForUpdates
  File "aqt/addons.py", line 183, in checkForUpdates
  File "aqt/addons.py", line 199, in _updatedIds
<class 'TypeError'>: '<' not supported between instances of 'NoneType' and 'int'
```

This is because there is a .get in a code while the None value makes
no sens. Thus, I replaced None by a 0 value. Which ensure that, if the
last modification time is missing, the update will be done. Three case
may occur:
* either the addon is already up to date, and it's only a waste of
  bandwidth
* either the add-on is not up to date, and updating was the initial
  goal anyway
* Or some change did occur in the add-on folder (which is actually
  probably, since it would explain the "missing mod problem"; in this
  case this change may be lost, but thout would be the same problem
  if the mod number was still there.

Other solutions which I could implement would be:
* asking for the user whether they want to update
* considering that it's not an ankiweb related add-on anymore, and
  ignore it.
2019-02-18 12:29:08 +01:00
Glutanimate
20237c5f2b Fix linebreaks in add-on installation tooltips and warnings 2019-02-18 07:18:14 +01:00
Glutanimate
ba807c775f Implement drag-and-drop support for installing APKX-packaged add-ons 2019-02-18 07:17:53 +01:00
Glutanimate
5b147bb51a 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
fe690dceaf Extend getFile with support for multi-file selection 2019-02-18 07:10:43 +01:00
Damien Elmes
8419f4dd67 send build hash in update check so broken betas can be notified 2019-02-18 14:07:43 +10:00
Damien Elmes
6223ed838a wording tweak 2019-02-18 13:07:20 +10:00
Damien Elmes
5ca567362c style and arg order fix 2019-02-18 12:44:04 +10:00
Damien Elmes
21c4330726 Merge pull request #282 from glutanimate/error-dialog-tweaks
Error dialog tweaks
2019-02-18 12:39:18 +10:00
Damien Elmes
241c08de19 Merge pull request #280 from Arthur-Milchior/CorrectBranchInCardPreview
Correct Deck in card preview
2019-02-18 12:38:32 +10:00
Arthur-Milchior
a1cc41f6ed Merge branch 'master' of https://github.com/dae/anki into CorrectBranchInCardPreview 2019-02-17 19:33:05 +01:00
Arthur-Milchior
23f389bf2a 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
c2740f2e6d Show a list of potentially affected add-ons when raising error 2019-02-17 00:35:44 +01:00
Glutanimate
aabc177db6 Extend showInfo with ability to copy text to clipboard
Use this in error dialog
2019-02-16 23:05:06 +01:00
Arthur-Milchior
2608513381 Show deck of the addCard window 2019-02-16 12:25:22 +01:00
Glutanimate
6e1bee96d1 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
5df948a189 Add hotkeys to clear debug log and entry (Ctrl+L / Ctrl+Shift+L) 2019-02-16 12:21:52 +01:00
Arthur-Milchior
a7bc069389 Adding Arthur Milchior to contributors 2019-02-16 11:28:02 +01:00
Glutanimate
b4e50ff66b Use system-default fixed font for debug entry and log 2019-02-16 10:26:49 +01:00
Damien Elmes
d7874fc7ec 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
9dc585bdbf 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
e7d6dc4777 Switch to the system default monospaced font for the config editor area 2019-02-15 14:15:54 +01:00
Glutanimate
2dbf7f788b 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
6c954a2829 fix schema not being modified on backup import 2019-02-14 15:22:57 +10:00
Damien Elmes
7fe65fbd52 ensure full window is on screen when restoring 2019-02-14 13:47:44 +10:00
Damien Elmes
d62794779d allow running with pyaudio missing 2019-02-13 09:36:39 +10:00
Damien Elmes
295ad590e0 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
47e469049e tooltip timer doesn't need collection 2019-02-07 13:59:24 +10:00
Damien Elmes
bff2c83fef 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
54a1d85c43 preserve whitespace when pasting text 2019-02-06 12:00:50 +10:00
Damien Elmes
ac72ce00ce 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
d9cf08f883 make sure add-on list updates when toggling on qt 5.12/mac 2019-02-06 09:19:20 +10:00
Damien Elmes
2694f05760 catch profile rename error in non-English locales 2019-02-06 09:02:56 +10:00
Damien Elmes
a7db89716b 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
4a1462d949 fix context menu in editor, and move workaround into shared function 2019-02-05 14:37:07 +10:00
Damien Elmes
a7eb6bb357 update copyright and clarify licenses 2019-02-05 14:01:33 +10:00
Damien Elmes
2f54d3a3fb 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
aaaf8e12a5 skip the webview reload when undoing reviews 2019-01-29 09:35:46 +10:00
Damien Elmes
9911258802 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
6950a05260 Merge pull request #273 from zjosua/reinstate-mungehtml
Reinstate mungeHTML in editor.py
2019-01-29 08:26:47 +10:00
Damien Elmes
234c053d8d 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
e94e316bee Add support for button icons stored in Qt resource system 2019-01-26 20:42:56 +01:00
David Lönnhager
d5806060b4 Fix crash caused by cutting and copying 2019-01-26 04:29:05 +01:00
zjosua
119a06dc28 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
19757a57f5 Merge pull request #270 from dlon/br-improve
Remove <br> from empty fields.
2019-01-21 14:26:12 +10:00
David Lönnhager
e81447de0e Remove <br> from empty fields. 2019-01-19 19:36:55 +01:00
Damien Elmes
4a2e6719eb Revert "default to GL mode auto on qt 5.12"
This reverts commit 52e6afc409.

unfortunately there still appear to be widespread issues on qt 5.12
2019-01-06 09:59:25 +10:00
Damien Elmes
a8e3672d7e fix field content showing in top button area 2018-12-22 13:27:12 +10:00
Damien Elmes
4e659d61eb detect and refuse to run on nouveau 2018-12-18 19:29:34 +10:00
Damien Elmes
328c73d0bc 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
90adf539d8 remove unused ref 2018-12-15 12:45:38 +10:00
Damien Elmes
e7b6b9befa 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
451934741c fix the other json.dumps call
previous change was in the wrong place
1ae2a08900
2018-12-15 09:15:43 +10:00
Damien Elmes
270e0b4271 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
670a1a773d add file to track pinned modules 2018-12-14 20:32:53 +10:00
Damien Elmes
1ae2a08900 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
f0d2a5c321 include git hash in version info 2018-12-13 20:59:06 +10:00
Damien Elmes
52e6afc409 default to GL mode auto on qt 5.12 2018-12-10 15:17:21 +10:00
Damien Elmes
785acd681c restore tooltips for fields/cards 2018-12-07 08:33:47 +10:00
Damien Elmes
cbee39da6d 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
a7cb4e0cdc 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
0d75802e20 fix import screen appearing before progress dialog closes 2018-12-01 13:37:26 +10:00
Arthur-Milchior
7d4067e3ff 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
5c5042cf5a 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
0605bd06fe case-insensitive field sort in find dupes 2018-11-27 16:44:23 +10:00
Damien Elmes
0560b6c4b2 limit find&replace fields to selected notes 2018-11-27 16:42:00 +10:00
Damien Elmes
ee6da6de61 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
3a8fc88536 Use escape to close the deck chooser without switching to the selected deck 2018-11-26 18:06:29 +01:00
Damien Elmes
975edd0d56 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
8f01c5ea90 fix font hack 2018-11-15 14:04:08 +10:00
Damien Elmes
8d2066a56e 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
8fa4b53107 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
66a38ca9c8 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
0814d02c5f paste links as anchors if shift held down 2018-11-12 16:39:24 +10:00
Damien Elmes
ee88b22985 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
45a42a1c76 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
555e94f558 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
984de2e57e prevent hiding of shortcuts in browser context menu 2018-11-12 12:13:58 +10:00
Damien Elmes
b97f63b5b8 checkmark on flags in browser 2018-11-12 12:10:50 +10:00
Damien Elmes
f28df3c2fe prevent qt from hiding shortcuts in reviewer context 2018-11-12 12:02:51 +10:00
Damien Elmes
fe00fd1e0f show checkmark on current flag in reviewer context menu 2018-11-12 12:01:54 +10:00