Commit Graph

2082 Commits

Author SHA1 Message Date
Ben Olden-Cooligan
855428b25c Add ScannedImageList change events 2019-07-21 13:13:55 -04:00
Ben Olden-Cooligan
8a6c2db67f Fix LangVersion to apply to all build targets 2019-07-21 12:18:36 -04:00
Ben Olden-Cooligan
9066c398ba Remove ChangeTracker and switch to a memento-based approach for unsaved changes 2019-07-21 12:03:20 -04:00
Ben Olden-Cooligan
7e5eeae678 Add UndoStack class 2019-07-21 11:35:33 -04:00
Ben Olden-Cooligan
ac05aa6ef9 Improve XmlSerializer cold perf 50x by using explicit registration
Turns out enumerating reflection info of literally every type in every
loaded assembly is slow. Who'd'a thunk it.
2019-07-20 19:17:38 -04:00
Ben Olden-Cooligan
beb687b7a0 FDesktop/ImageList refactoring WIP. Created UserActions class 2019-07-20 18:02:11 -04:00
Ben Olden-Cooligan
947e55f82e Update CollectionExtensions.IndicesOf to be O(n log n) instead of O(n^2) 2019-07-20 18:01:02 -04:00
Ben Olden-Cooligan
a442ecf26d Update WorkerChannelTests 2019-07-20 17:51:01 -04:00
Ben Olden-Cooligan
cd47c8416d Create a ListMutation abstraction
A possible end goal here is the ImageList type no longer existing.
Still have a bunch to do, including: fixing recovery image ordering,
handling remaining ImageList operations, making deletion cleaner (with
disposal), and maybe doing some more FDesktop refactoring.

A general goal of this refactoring is to make things less fragile (e.g.
selection is based on the items rather than finicky algorithms, change
tracking is based on checking for diffs rather than heuristics, etc.).
2019-07-19 22:13:54 -04:00
Ben Olden-Cooligan
5154afe445 Remove the shared/existing concept from RecoveryStorageManager
This requires a naming convention change in FileStorageManager. Instead
of using the process id, it now uses a random prefix. The process id was
kind of nice in terms of being able to debug what process created what,
but having this be more general is worth it.
2019-07-19 20:22:07 -04:00
Ben Olden-Cooligan
fff70a8128 Fix some issues with recovery
Still need to add some unit tests
2019-07-19 09:31:02 -04:00
Ben Olden-Cooligan
058a5835c4 Improve recovery lifetime model 2019-07-18 22:05:49 -04:00
Ben Olden-Cooligan
3e6ce7aad7 Switch to "using" statements (C# 8) 2019-07-17 21:52:05 -04:00
Ben Olden-Cooligan
b4f4a034d2 Add comment for broken tests 2019-07-17 21:36:25 -04:00
Ben Olden-Cooligan
35a645e6c2 Add a SerializedImageHelper test 2019-07-17 21:28:12 -04:00
Ben Olden-Cooligan
18dbc20395 Add UseRecovery convenience method to ImageContext 2019-07-17 21:22:53 -04:00
Ben Olden-Cooligan
49f1047463 Change test folder path for easier manual cleanup 2019-07-17 21:14:45 -04:00
Ben Olden-Cooligan
3869660d95 Upgrade to C# 8 2019-07-17 21:14:09 -04:00
Ben Olden-Cooligan
0e429b2143 Fix metadata serialization model
Protos to the rescue again.
2019-07-16 22:41:22 -04:00
Ben Olden-Cooligan
53f5ed9a04 Remove UnownedFileStorage type and move the logic to the call site 2019-07-14 23:08:43 -04:00
Ben Olden-Cooligan
5a8176bb46 Clarify comment 2019-07-14 23:05:15 -04:00
Ben Olden-Cooligan
0e8f1d0c52 Fix decimal serialization 2019-07-14 17:44:57 -04:00
Ben Olden-Cooligan
345b18c3b4 Fix bad usings 2019-07-14 17:18:29 -04:00
Ben Olden-Cooligan
34a90b80d9 Fix auto save condition 2019-07-14 17:08:46 -04:00
Ben Olden-Cooligan
ae876ed248 Move types out of the Scan.Experimental namespace 2019-07-14 17:07:42 -04:00
Ben Olden-Cooligan
0d1e273983 Remove old scanning types 2019-07-14 17:02:05 -04:00
Ben Olden-Cooligan
60b81d7f90 Add event logging for the scan pipeline 2019-07-14 16:44:39 -04:00
Ben Olden-Cooligan
479b479751 Implement worker scan with the new scan pipeline 2019-07-14 16:28:49 -04:00
Ben Olden-Cooligan
c2c3fd3200 Update todos 2019-07-14 16:27:24 -04:00
Ben Olden-Cooligan
75711dd946 Fix scan errors 2019-07-14 15:12:33 -04:00
Ben Olden-Cooligan
1bca43f4df Convert GetDeviceList to async and add more error handling tests 2019-07-14 14:40:01 -04:00
Ben Olden-Cooligan
b62100fb07 Remove unused usings
No longer keeping System, System.Collections.Generic, System.Linq
2019-07-14 11:26:56 -04:00
Ben Olden-Cooligan
02ecc927e5 Improve scan error handling 2019-07-14 11:17:05 -04:00
Ben Olden-Cooligan
eaa90f6d7f Fix workerfactory default binding 2019-07-13 22:18:38 -04:00
Ben Olden-Cooligan
f83dbd83a4 Update todos 2019-07-13 22:18:20 -04:00
Ben Olden-Cooligan
d9aa5e6999 Add UI to abbreviations list 2019-07-13 21:58:44 -04:00
Ben Olden-Cooligan
5fad1b827c Remove ConfigScopes.Current (which was a bad idea)
Now that AutoSave is not considered core functionality this gap has been
resolved.
2019-07-13 21:58:32 -04:00
Ben Olden-Cooligan
6e2148f9f4 ScanProfile -> ScanOptions property mappings 2019-07-13 21:50:53 -04:00
Ben Olden-Cooligan
79c2f24f71 Code cleanups 2019-07-13 14:14:17 -04:00
Ben Olden-Cooligan
3c97d94e0e Fix order-dependent hashset tests 2019-07-13 14:01:19 -04:00
Ben Olden-Cooligan
70af438f88 Add .idea to gitignore 2019-07-13 13:55:04 -04:00
Ben Olden-Cooligan
e25e58ce3c Use immutable collections for config
Thanks to my custom xml serializer this is actually possible now.
2019-07-07 20:13:34 -04:00
Ben Olden-Cooligan
24d83fa3d4 Move types out of the NAPS2.Config.Experimental namespace 2019-07-07 18:50:47 -04:00
Ben Olden-Cooligan
7fc21eb7ab Optimize thumbnail rendering for image edits 2019-07-06 16:14:09 -04:00
Ben Olden-Cooligan
804832e93c Deskew fix 2019-06-16 16:23:05 -04:00
Ben Olden-Cooligan
7452197a6a Support black and white deskew 2019-06-16 15:49:07 -04:00
Ben Olden-Cooligan
296974ab7c Set palette when creating a 1bpp bitmap 2019-06-16 14:39:09 -04:00
Ben Olden-Cooligan
b5682da5e7 Remove unused variable 2019-06-16 10:28:59 -04:00
Ben Olden-Cooligan
178faf175d Disable SaveFormState for manually constructed forms that won't have a config provider 2019-06-16 09:30:46 -04:00
Ben Olden-Cooligan
4316a53ef0 Improve deskew by ignoring the top/bottom 1% of the image 2019-06-15 20:07:28 -04:00