Commit graph

1440 commits

Author SHA1 Message Date
Damien Elmes
82d006d145 strip noise profile code 2011-04-28 09:24:01 +09:00
Damien Elmes
c682080890 make it easier to get media dir; remove tidyHTML() 2011-04-28 09:24:01 +09:00
Damien Elmes
6ed48171fc add a default group to model, add groupName() 2011-04-28 09:24:01 +09:00
Damien Elmes
f256d18971 return fields in sorted order 2011-04-28 09:24:01 +09:00
Damien Elmes
ab3a86d44e add noautosub arg to mplayer 2011-04-28 09:24:01 +09:00
Damien Elmes
c799b7c97e include model name in stdmodels; provide ability to get model outside cache 2011-04-28 09:24:01 +09:00
Damien Elmes
de81f0238a template moving 2011-04-28 09:24:01 +09:00
Damien Elmes
c8b16a0e0e accept a reload argument in q() 2011-04-28 09:24:01 +09:00
Damien Elmes
dba04598ae pad ivl graph 2011-04-28 09:24:01 +09:00
Damien Elmes
9705dbdcfe small tweaks 2011-04-28 09:24:01 +09:00
Damien Elmes
fba161d0b1 tablify info 2011-04-28 09:24:01 +09:00
Damien Elmes
5dc418060e fix forecost avg calculation 2011-04-28 09:24:00 +09:00
Damien Elmes
02b1494a10 improve review time data; make sure graph bounds include end points 2011-04-28 09:24:00 +09:00
Damien Elmes
4c8eec5659 duplicate imports 2011-04-28 09:24:00 +09:00
Damien Elmes
84d2f32685 move graph code into stats.py; remove old deck stats 2011-04-28 09:24:00 +09:00
Damien Elmes
4be8b9d38c fix zerodiv and other errors 2011-04-28 09:24:00 +09:00
Damien Elmes
a856665824 give the pie a background again 2011-04-28 09:24:00 +09:00
Damien Elmes
b47275599b fix selective on some graphs; tweak pie layout 2011-04-28 09:24:00 +09:00
Damien Elmes
2d8faa8608 give the forecast a sensible limit 2011-04-28 09:24:00 +09:00
Damien Elmes
b5c8ba7b9f apply selective to card/fact counts 2011-04-28 09:24:00 +09:00
Damien Elmes
525787b33f tweak call args 2011-04-28 09:24:00 +09:00
Damien Elmes
014cc035ee add selective study limits to remaining graphs 2011-04-28 09:24:00 +09:00
Damien Elmes
be7794bb56 include day/week info too 2011-04-28 09:24:00 +09:00
Damien Elmes
ed9901a71d add average review # to forecast 2011-04-28 09:24:00 +09:00
Damien Elmes
30d62875d0 css, more layout tweaks, add suspended back into display 2011-04-28 09:24:00 +09:00
Damien Elmes
282d0bb9ba add deck creation date 2011-04-28 09:24:00 +09:00
Damien Elmes
a5d751283b add a separate _title() 2011-04-28 09:24:00 +09:00
Damien Elmes
f67c72bec3 move the graph layout around 2011-04-28 09:24:00 +09:00
Damien Elmes
2479913f9b add a pie graph, add average interval to ivls area 2011-04-28 09:24:00 +09:00
Damien Elmes
c64c7a2acb hide the cumulative graph if datapoints < 2 2011-04-28 09:24:00 +09:00
Damien Elmes
74a52694ec for daily graph, use minutes instead of hours 2011-04-28 09:24:00 +09:00
Damien Elmes
e950c8af1c just chop off options/group completely 2011-04-28 09:24:00 +09:00
Damien Elmes
0b92423cf7 settings->options, return bool for syncingEnabled 2011-04-28 09:24:00 +09:00
Damien Elmes
4af961f1d0 put langs in lang 2011-04-28 09:24:00 +09:00
Damien Elmes
11f3de525f groupConf() takes gcid, not gid 2011-04-28 09:23:59 +09:00
Damien Elmes
692fba2ea3 use the deck's groups instead of holding on to a private copy 2011-04-28 09:23:59 +09:00
Damien Elmes
e93ded1e04 update a few group configs 2011-04-28 09:23:59 +09:00
Damien Elmes
4b9c6fc822 track gcid additions too 2011-04-28 09:23:59 +09:00
Damien Elmes
77ee8f1385 ditch useGroups 2011-04-28 09:23:59 +09:00
Damien Elmes
f75e2af195 use a single group setting 2011-04-28 09:23:59 +09:00
Damien Elmes
73625e5751 include the gid in the tree so we can tell which groups are real 2011-04-28 09:23:59 +09:00
Damien Elmes
fc96e12a0a add some randomness to lrn interval 2011-04-28 09:23:59 +09:00
Damien Elmes
495b058618 include total count in with rev+due 2011-04-28 09:23:59 +09:00
Damien Elmes
2a1355eb16 make the group tree part of the scheduler instead 2011-04-28 09:23:59 +09:00
Damien Elmes
728715ff84 counts by group 2011-04-28 09:23:59 +09:00
Damien Elmes
2d00163323 tree grouping; add column to groups so they can remember tags 2011-04-28 09:23:59 +09:00
Damien Elmes
e547b0586a simplify undo
The undo code was using triggers and a temporary table to write out all changed rows before making a change. This made for powerful undo/redo support, but had some problems:
- creating the tables and triggers wasn't cheap, especially on mobile devices
- likewise, every data modification required writing into two separate databases, almost doubling the amount of writes required
- it was possible to leave the DB in an inconsistent state if an undoable operation is followed by a non-undoable operation that references the undoable operation, and the user then rolls back the undoable operation.

To address these issues, we simplify undo by integrating it with the autosave changes:
- .save() can be passed a name to mark a rollback point. If the user undoes the change, any changes since the last save are lost
- autosaves happen every 5 minutes, and are pushed back on a .save(), so the maximum work a user can lose is 5 minutes.
- reviews are handled separately, so we can let the user undo multiple reviews at once
- if necessary, special cases could be added for other operations like marking

This means that if a user does two damaging operations in a row they won't be able to restore the first one, but such an event is both unlikely, and is also covered by the backups made each time a deck is opened.
2011-04-28 09:23:59 +09:00
Damien Elmes
01eb8d98a5 update order consts 2011-04-28 09:23:59 +09:00
Damien Elmes
2d6e9cc186 shorten some queue options 2011-04-28 09:23:59 +09:00
Damien Elmes
5914761ff8 don't die if the reps data is empty 2011-04-28 09:23:59 +09:00