Damien Elmes
f924539574
create_missing_parents() can take a native name directly
2021-04-18 09:20:23 +10:00
RumovZ
20bd207f00
Give deck.name the newtype NativeDeckName
...
The deck name must be constructed by calling associated functions of
NativeDeckName, unless the name is guaranteed to be valid machine
name (like "Default").
NativeDeckName exposes methods to mutate the deck name and return
the human name.
The storage routines take &strs, but those should be slices of
NativeDeckNames to ensure machine form and normalization.
2021-04-17 22:47:04 +02:00
Damien Elmes
ac46d40db3
Merge pull request #1132 from RumovZ/refactor-decks
...
Refactor decks/mod.rs
2021-04-17 18:21:56 +10:00
Damien Elmes
8cf8c901fe
fix parent limit handling
...
We can't calculate it on the backend, as adjusting a config may alter
the parent limit.
Also fix hidden deck name and missing separator.
2021-04-17 12:53:59 +10:00
RumovZ
c03acf832b
Split Col impls in decks in pub and private blocks
2021-04-16 08:30:16 +02:00
RumovZ
5931631d76
Remove some imports in decks which are in prelude
2021-04-15 20:07:16 +02:00
RumovZ
3138fccaca
Create decks/stats.rs
2021-04-15 20:06:16 +02:00
RumovZ
d2337e4cd3
Move some methods into decks/counts.rs
2021-04-15 19:53:11 +02:00
RumovZ
9dac8e2b5f
Tidy up blocks and imports in decks/mod.rs
2021-04-15 19:43:35 +02:00
RumovZ
a1617760d4
Create decks/remove.rs
2021-04-15 19:35:54 +02:00
RumovZ
7225b7e4dc
Create decks/add.rs
2021-04-15 19:29:52 +02:00
RumovZ
3f36db4f81
Create decks/reparent.rs
2021-04-15 19:17:43 +02:00
RumovZ
9c3671cf3f
Create decks/name.rs
2021-04-15 18:46:01 +02:00
Damien Elmes
2953a821e5
don't let manual rescheduling affect card stats average
...
https://forums.ankiweb.net/t/set-due-date-has-a-weird-effect-on-cards-table/9289/2
2021-04-15 18:51:39 +10:00
Damien Elmes
7f738c11a2
deck config prototype work in progress
...
Still in the early stages, and not hooked up yet.
2021-04-14 22:33:10 +10:00
Damien Elmes
14ce1cccbb
Merge pull request #1126 from RumovZ/normalising-tweaks
...
Drop ANDs and optional double quotes when writing searches
2021-04-14 19:15:52 +10:00
Damien Elmes
c49d6ce49f
run black/isort on Python scripts
2021-04-14 18:22:02 +10:00
RumovZ
2554e80ce8
Drop ANDs and optional quotes when normalising
2021-04-14 09:53:45 +02:00
Damien Elmes
28fdbd67ae
add missing copyright headers to *.rs
2021-04-13 18:59:16 +10:00
Damien Elmes
dac990e4c2
fix misnamed timer property in deck config
...
The old JSON stored it as an int, but it's used as a boolean
2021-04-13 14:04:33 +10:00
RumovZ
fadec3dc5b
Merge branch 'master' into backend-columns
2021-04-11 11:18:15 +02:00
RumovZ
801f52df40
Remove from_config variant in pb SortOrder
...
Instead, fetch the config order on the frontend and pass a builtin
variant into the backend.
That makes the following unnecessary:
* Resolving the config sort in search/mod.rs
* Deserializing the Column enum
* Config accessors for the sort columns
2021-04-10 11:13:42 +02:00
RumovZ
5982a777aa
Rename SearchItems to ReturnItemtype
2021-04-10 10:14:41 +02:00
RumovZ
331df75b72
Remove internal clones of pb BrowserRow structs
2021-04-10 09:49:29 +02:00
RumovZ
48b70873cb
Rename column label fields
2021-04-10 09:14:20 +02:00
RumovZ
b723159b3b
Remove unused Serialize
2021-04-10 09:13:48 +02:00
RumovZ
d7f7deafd4
Store active browser columns in col state
2021-04-09 22:53:02 +02:00
RumovZ
769b5ac833
Remove superfluous muts
2021-04-09 22:51:18 +02:00
RumovZ
f04ea5a2c7
Move Column logic into main rslib
2021-04-09 19:09:48 +02:00
RumovZ
055a5e8a04
Remove pb SortKind enum and use pb Columns instead
2021-04-09 18:50:30 +02:00
RumovZ
bdd257e140
Merge SortKind enum into Column enum
2021-04-09 18:03:29 +02:00
RumovZ
c74078ea9e
Unify state columns
...
* Remove duplicate backend columns
* Remove duplicate column routines
* Move columns on frontend from state to model
* Generate available columns from Colum enum
* Add second column label for notes mode
2021-04-08 23:48:24 +02:00
RumovZ
dd56dc6650
Rename columns for future mode-independent use
2021-04-08 23:43:48 +02:00
RumovZ
7a0cb08ac2
Merge browser row str methods
2021-04-08 20:45:47 +02:00
RumovZ
4692a48ef3
Add card mod column for notes mode
2021-04-08 20:14:10 +02:00
RumovZ
2350cd6e91
Add deck column for notes mode
2021-04-08 19:46:06 +02:00
RumovZ
c6ebb9b441
Merge row contexts
2021-04-08 13:51:46 +02:00
RumovZ
8a131da9a2
Add enum for column sorting
2021-04-08 11:40:24 +02:00
RumovZ
d8a0aa922c
Add enum for column alignment
2021-04-08 11:28:29 +02:00
RumovZ
6c3c479906
Move BrowserColumn into BrowserColumns message
2021-04-08 10:16:06 +02:00
RumovZ
ee0ad6f5d6
Fix deck column serialization string
2021-04-06 23:03:30 +02:00
RumovZ
11bdeb9ca4
Add column logic on backend
2021-04-06 19:46:12 +02:00
RumovZ
929b7dc15b
Make Column a strum
2021-04-06 16:54:09 +02:00
Damien Elmes
6e954e82a5
current deck change is now undoable
...
- make sure we set flag in changes when config var changed
- move current deck get/set into backend
- set_config() now returns a bool indicating whether a change was
made, so other operations can be gated off it
- active decks generation is deferred until sched.reset()
2021-04-06 21:52:06 +10:00
Damien Elmes
5676ad5101
update find&replace, and remove perform_op()
2021-04-06 17:07:38 +10:00
Damien Elmes
84fe309583
update scheduling ops
...
- migrate to CollectionOp()
- return actual change count when suspending/burying
- add helper to convert vec to vec of newtype
2021-04-06 16:38:42 +10:00
Damien Elmes
2de8cc1a94
update note ops
...
remove_note() now returns the count of removed cards, allowing us
to unify the tooltip between browser and review screen
I've left the old translation in - we'll need to write a script at
one point that gathers all references to translations in the code,
and shows ones that are unused.
2021-04-06 14:56:36 +10:00
Damien Elmes
3f62f54f14
more perform_op() tweaks
...
- pass the handler directly
- reviewer special-cases for flags and notes are now applied at
call site
- drop the kind attribute on OpChanges which is not needed
2021-04-06 10:14:11 +10:00
Damien Elmes
097121424b
cache scheduling info
...
Saves us having to recalculate it for each browser row
2021-04-05 17:09:53 +10:00
Damien Elmes
ebf7cc61d4
switch next_day_at to a newtype
2021-04-05 16:17:26 +10:00