Commit graph

186 commits

Author SHA1 Message Date
Damien Elmes
0bef1d8530 unbury on open/close and make sure we set usn when unburying 2013-09-04 04:38:00 +09:00
Damien Elmes
492ed33f4d add relative overdueness option 2013-09-04 04:17:43 +09:00
Damien Elmes
a2463eb67d unbury on open for now 2013-09-04 02:31:10 +09:00
Damien Elmes
0c2a1fe19e report more info when note type changes prevent an import 2013-09-04 02:19:15 +09:00
Damien Elmes
e73bfa9d02 ignore qfmt/afmt when checking if note types are the same 2013-09-04 02:18:53 +09:00
Damien Elmes
4fe76257f1 about about and available languages 2013-08-22 15:54:33 +09:00
Damien Elmes
afde11671e rework sibling handling and change bury semantics
First, burying changes:

- unburying now happens on day rollover, or when manually unburying from
  overview screen

- burying is not performed when returning to deck list, or when closing
  collection, so burying now must mark cards as modified to ensure sync
  consistent

- because they're no longer temporary to a session, make sure we exclude them
  in filtered decks in -is:suspended

Sibling spacing changes:

- core behaviour now based on automatically burying related cards when we
  answer a card

- applies to reviews, optionally to new cards, and never to cards in the
  learning queue (partly because we can't suspend/bury cards in that queue at
  the moment)

- this means spacing works consistently in filtered decks now, works on
  reviews even when user is late to review, and provides better separation of
  new cards

- if burying new cards disabled, we just discard them from the current queue.
  an option to set due=ord*space+due would be nicer, but would require
  changing a lot of code and is more appropriate for a future major version
  change. discarding from queue suffers from the same issue as the new card
  cycling in that queue rebuilds may cause cards to be shown close together,
  so the default burying behaviour is preferable

- refer to them as 'related cards' rather than 'siblings'

These changes don't require any changes to the database format, so they
should hopefully coexist with older clients without issue.
2013-08-10 15:56:26 +09:00
Damien Elmes
8a4fbcc430 unbury in deckbrowser, not deckduelist() (#946) 2013-08-08 15:19:57 +09:00
Damien Elmes
914f56dbc0 allow updates to existing notes in .apkg import 2013-08-08 13:01:47 +09:00
Damien Elmes
988fc102d8 remove redundant regex in latex code 2013-07-19 19:42:20 +09:00
Damien Elmes
adf4f4687c allow includegraphics in latex 2013-07-18 19:04:38 +09:00
Damien Elmes
26a3c30365 escape + in deck names 2013-07-18 18:44:40 +09:00
Damien Elmes
c0454fe3e7 reduce max media count to 100 per chunk 2013-07-12 08:44:27 +09:00
Damien Elmes
2ba8c41fec replace nbsp with standard space when stripping html
fixes https://anki.tenderapp.com/discussions/ankidesktop/1952-duplicate-not-detected-on-paste
2013-07-11 21:23:13 +09:00
Damien Elmes
0fa9b75af5 fix importing with schema change logic
the previous fix for #612 was broken, and led to notes with altered schemas
being imported with the incorrect schema
2013-07-11 18:47:49 +09:00
Damien Elmes
5ea074ed2a make sure we always show 3 buttons for cards in initial learning (#928)
even if there's only a single learning step, the easy bonus means we need to
show both buttons
2013-07-11 17:59:44 +09:00
Damien Elmes
a538e29480 refactor illegal char handling and file adding for media
- add writeData() so we can add files to media folder without having to
  save them in an intermediate folder first
- we were stripping or checking for illegal filename characters in
  multiple places; factor those checks out into separate routines
- add * to invalid char list, and disallow both forward and backslash
- remove size checks in syncAdd(); is handled server-side
2013-07-11 15:33:24 +09:00
Damien Elmes
a3190d52f1 make sure we include 'px' in stats (thanks to steveaw) 2013-07-09 08:14:13 +09:00
Damien Elmes
2d4b79b490 keep scanning csv until we find non-zero field count (#920) 2013-07-03 04:23:33 +09:00
Damien Elmes
56143c346a fix graph regression caused by div changes (#913) 2013-07-03 04:06:44 +09:00
Houssam Salem
0ce829b6b3 Pre-compile HTML-stripping regexes. 2013-06-23 18:37:39 +10:00
Damien Elmes
f2d538d546 catch errors trying to determine fs type 2013-06-14 13:15:05 +09:00
Damien Elmes
a6b44cff01 skip fat32 check on unmapped network drive (#902) 2013-06-10 15:32:21 +09:00
Damien Elmes
adaf951a5a force y axis min of 0 in reps graph too 2013-06-06 08:19:32 +09:00
Damien Elmes
4d2101cf89 dupes->dupe (fix dupe search) 2013-06-06 07:40:18 +09:00
Damien Elmes
8e8de1e333 mnemosyne importer tweaks
- convert newlines to br
- non-greedy match mnemosyne clozes
2013-06-05 18:39:32 +09:00
Damien Elmes
a4b7a93bcc mnemosyne importer improvements
- support cloze type
- use proper names for front/back, etc
- change <audio> to [sound:]
- change mnemosyne-style latex references
2013-06-03 13:58:40 +09:00
Damien Elmes
5db00d5815 fix find dupes when fieldname case differs 2013-06-01 10:49:33 +09:00
Damien Elmes
ec888eb2aa fix bug in media sync where we weren't fetching needed files 2013-05-31 14:03:34 +09:00
Damien Elmes
122c5c8f4c ensure we have access to col when removing notes while syncing 2013-05-31 10:42:24 +09:00
Damien Elmes
be78c3f9e3 better msg when media sanity fails 2013-05-30 10:54:55 +09:00
Damien Elmes
9714143af9 remove dropbox image escape hack 2013-05-29 09:34:12 +09:00
Damien Elmes
744d9abfdb fix modification check in note merge 2013-05-28 14:41:12 +09:00
Damien Elmes
84a03d291d modding the schema should also set collection modified
required for the force full sync case
2013-05-28 12:42:12 +09:00
Damien Elmes
e38aa0c615 fix importing of images 2013-05-27 16:20:53 +09:00
Damien Elmes
dceacff47c tell server which files we need 2013-05-27 15:29:24 +09:00
Damien Elmes
0a81df60dc automatically resync media, and don't send media server already has (#583) 2013-05-27 14:25:30 +09:00
Damien Elmes
cfac1eb99b add utf8 input back to latex
This was what we originally had in templates in Anki 1. It was changed to
utf8x at one point, then we discovered that some LaTeX installs didn't have
that package so it was removed, when we should have reverted to utf8 instead.
This fixes things like umlauts but does not allow display of things like
Japanese text.
2013-05-27 10:52:55 +09:00
Damien Elmes
73b197b3a9 only duplicate notes with diff schema in anki1 import (#612) 2013-05-24 11:55:50 +09:00
Damien Elmes
97a92e5ea9 translation issues 2013-05-24 10:46:44 +09:00
Damien Elmes
97a342ae23 when media deleted during sync, move to trash instead of deleting 2013-05-23 13:38:51 +09:00
Damien Elmes
d72fb35825 need to order cards after import for sibling spacing (#464) 2013-05-22 13:16:12 +09:00
Damien Elmes
e61e849e09 Merge branch 'findhook' 2013-05-22 12:35:05 +09:00
Damien Elmes
ce1199e9cb Merge branch 'addhook-search' of git://github.com/valgaav/anki into findhook
Conflicts:
	anki/find.py
2013-05-22 12:34:21 +09:00
Damien Elmes
ddc01ad8e8 log deletions in text file 2013-05-22 12:27:37 +09:00
Damien Elmes
4f073f0b85 fix upgrading of latex references 2013-05-22 09:46:09 +09:00
Damien Elmes
918694a096 more media regexp fixes
- split quoted and unquoted image case into separate regexps, since we can't
  include a group reference inside a character set
- disallow spaces in the non-quoted case
- this should fix matching on images with other attributes again
2013-05-22 09:45:58 +09:00
Damien Elmes
81b4e521cc fix float issue in stats
[Beta Testing #23]
2013-05-22 08:56:15 +09:00
Damien Elmes
85cb7ef47e ignore _ in field references (#803) 2013-05-18 18:57:24 +09:00
Damien Elmes
f97abacb4a add mature today stat 2013-05-18 18:37:17 +09:00
Damien Elmes
3326254eec fix cloze+latex issue in media check, and duplicate answers (#757, #758)
we were replacing spans with spaces during review but not during media check.
just strip the tags instead, which makes the media check consistent and
doesn't result in multiple identical answers
2013-05-18 18:07:34 +09:00
Damien Elmes
201b54777a leave new cards alone when exporting, so order is preserved (#447) 2013-05-17 16:22:11 +09:00
Damien Elmes
4aa634bc44 need greedy match on images 2013-05-17 16:20:27 +09:00
Damien Elmes
da66844f6b canonify tags when saving, and strip quotes (#794) 2013-05-17 13:51:49 +09:00
Damien Elmes
8f36841281 ensure we match on identical closing quote (#769) 2013-05-17 12:23:56 +09:00
Damien Elmes
403a53cebf shuffle after importing when random on (#576) 2013-05-16 21:55:57 +09:00
Damien Elmes
13a2943667 full media scan on fat32 drives (#844) 2013-05-16 17:58:30 +09:00
Damien Elmes
c8f4d3a582 check checksum of all filename alternatives when adding media
patch thanks to Julien Baley
2013-05-16 17:24:20 +09:00
Damien Elmes
3dd72ad4d6 log updates & duplicates (#859) 2013-05-16 17:24:12 +09:00
Damien Elmes
a7b9a7b055 fix bug where 2 buttons shown on second learn step (#864) 2013-05-16 17:10:31 +09:00
Damien Elmes
e06594a303 fix rescheduling of relearn cards (#874)
- need to reset 'odue'
- also need to reset 'due' so the new cards don't take on - timestamp
  positions
2013-05-16 16:36:37 +09:00
Damien Elmes
3f6266a712 fix duplicate search in browser (#855) 2013-05-16 14:17:28 +09:00
Damien Elmes
0dceb0ce22 round() doesn't convert to int 2013-05-15 23:37:27 +09:00
Damien Elmes
f7c5003c1c better error with very long fields in import (#852) 2013-05-14 18:38:35 +09:00
Damien Elmes
7ad33fea06 catch notes with invalid field count in db check 2013-05-14 18:12:31 +09:00
Damien Elmes
ab198c46be unify pre-check, sanity-check and upload error messages 2013-05-14 15:41:18 +09:00
Damien Elmes
79d4451299 move full sync into preferences, and remove maintenance menu 2013-05-14 15:27:40 +09:00
Damien Elmes
e913c75fd7 perform basic check prior to syncing 2013-05-14 15:10:58 +09:00
Damien Elmes
d2535fd6cb run basic integrity check prior to full up 2013-05-13 19:36:09 +09:00
Damien Elmes
a379e47ca5 handle cloned note types in mnemo import 2013-05-13 13:58:10 +09:00
Mike Blume
dcf097b55f use futuristic division
Python used to use C-style division, where division of two ints was
truncated, and division involving a float resulted in a float.

This is confusing, because you often can't tell from looking at a
line of code in isolation what sort of division it's supposed to do.

With 'from __future__ import division' Python ensures that division is
always explicit.

// means (floored) integer division
/ means float division

regardless of argument types.

This should make the source a bit clearer now, as well as removing one
obstacle if Anki is ever ported to Python 3.
2013-05-05 11:09:16 -07:00
Damien Elmes
9875e26e06 make sure y axis starts at 0
https://anki.tenderapp.com/discussions/ankidesktop/793-strange-scaling-in-statistics-bar-bug
2013-05-04 15:45:57 +09:00
Damien Elmes
b571a4caa8 failure to find a field should not break entire query
https://anki.tenderapp.com/discussions/ankidesktop/656-unexpected-results-on-search-with-boolean-or-operator
2013-04-22 22:13:29 +09:00
Damien Elmes
c44cf32dc2 don't save note if no changes made (#705) 2013-04-11 19:20:23 +09:00
Damien Elmes
ed9fba954e handle extra attributes in imgs in condition repl (#700) 2013-04-11 18:34:53 +09:00
ospalh
d806f44484 Only the Mac file system stores file names NFD-normalized. So do that normalization only there when looking for files. 2013-04-11 17:37:06 +09:00
Damien Elmes
55cd51c079 handle nbsp in furigana (#327) 2013-04-11 14:45:53 +09:00
Damien Elmes
a525d3c32c make sure we don't chomp embedded newlines when clearing comments (#722) 2013-04-11 14:33:30 +09:00
Damien Elmes
7957dff33f make sure sort field updated when field deleted (#737) 2013-04-11 14:23:06 +09:00
Damien Elmes
f3f7835032 add upper bound to # of media files in single zip 2013-04-11 14:13:11 +09:00
Damien Elmes
c437a38446 move card type deletion back to X on card tabs 2013-04-11 14:02:01 +09:00
Damien Elmes
e8e1bd9550 allow HTML in mnemosyne import (#774) 2013-04-11 13:28:30 +09:00
Damien Elmes
bf1af126b0 properly generate clozed latex in unused media check (#775) 2013-04-11 13:26:52 +09:00
Damien Elmes
0b7344c84f when showing time with no decimal, round not floor 2013-04-01 14:48:17 +09:00
Damien Elmes
e64d825730 fix some sync issues
- better error message when upload fails
- don't show success message on error
- fix 'unable to find server' accidentally being catchall
2013-03-01 01:36:14 +09:00
Damien Elmes
487919fe6e Merge branch 'master' of github.com:dae/anki 2013-02-26 18:41:56 +09:00
Damien Elmes
1efafedcaa fix sanityCheck2 bug 2013-02-26 15:23:01 +09:00
Andreas Klauer
fcd3bd5eee fix HTML in cards 2013-02-25 13:41:00 +01:00
Damien Elmes
9642ce9337 fixed off by one err in collection start date calc 2013-02-25 16:13:50 +09:00
Andreas Klauer
b6c9253034 support LearnedTimestamps and flipped cards 2013-02-24 23:39:36 +01:00
Andreas Klauer
a78c4d6c31 add Pauker Lesson Importer 2013-02-24 02:10:50 +01:00
Damien Elmes
fa07268763 don't allow invalid chars in file export (#694) 2013-02-20 15:12:07 +09:00
Damien Elmes
3de7b34fc6 must remove from lrn queue before resched as rev (#668) 2013-02-20 14:47:30 +09:00
Pauline Gomér
fc612a71d3 moved loading of plugins to initialization 2013-02-16 13:23:51 +01:00
Jon-Erik 'TorrentKatten' Johnzon
b07254cb09 added search-hook for plugins using "search" scope 2013-02-15 19:45:40 +01:00
Pauline Gomér
ff82aad50f refactor the large if-elif-else used for searching 2013-02-15 19:45:40 +01:00
Damien Elmes
24bf9a023b fix crash when ix_fields_factId was missing 2013-02-02 22:58:11 +09:00
Damien Elmes
60b5b77d65 allow apostrophe in deck names (#623) 2013-02-01 23:21:53 +09:00
Damien Elmes
71bc925e8b show (end) when exiting with resched=off 2013-02-01 00:25:01 +09:00
Damien Elmes
cee9b2efd9 strip tags before including on card (#505) 2013-01-31 14:07:17 +09:00