This commit corrects the following bug:
* Create a note N in an empty deck D of type basic (reverse), with
only some back, no front. Only card 2 will be generated.
* Edit the note, add a front. Card 1 will be generated.
* In the main window, try to learn deck D. In anki, currently, you'll
see Card 2 first. According to the manual (and to my common sens),
it should be Card 1 first.
This commit correct this bug, and ensure that new cards are seen
according to their order, and not to their creation date.
Many users seem to get confused when duplicates are not imported,
so we list out what's being skipped now to help the users to be able
to search for the content.
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.
- move checking code out of the schedulers and into the deck manager
- ensure we can fix the problem in one loop - the previous recursive
approach could lead to stack overflows if the top level of a large
deck tree was missing. this was also the cause of the sqlite
'interrupted' error that some users were seeing
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-errorhttps://anki.tenderapp.com/discussions/ankidesktop/30550-im-sorry
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.