Isaiah Odhner
6309e05d8f
Update readme
2023-07-10 23:02:04 -04:00
Isaiah Odhner
2d9ba1ae5f
Implement stretch/skew
2023-07-10 21:32:17 -04:00
Isaiah Odhner
b5e52a1463
Conditionally enable angle radio buttons
2023-07-10 19:30:18 -04:00
Isaiah Odhner
f979090b42
Fix layout (Container caused contents to collapse)
2023-07-10 19:10:18 -04:00
Isaiah Odhner
7a81446558
WIP: merge flip/rotate and rotate dialogs
2023-07-10 19:10:18 -04:00
Isaiah Odhner
7d8dddb97f
Implement rotate by angle
2023-07-10 18:47:11 -04:00
Isaiah Odhner
2a7d88b10c
Implement flip horizontal/vertical
2023-07-10 17:28:19 -04:00
Isaiah Odhner
755a92fce0
DRY adding undos to the stack and clearing redos
2023-07-10 17:28:19 -04:00
Isaiah Odhner
5939c85ea4
Maybe this is cleaner, because it's type-checked
2023-07-10 17:28:19 -04:00
Isaiah Odhner
3a0552ada6
Fix wrapping focus within dialog windows (with Tab)
...
(broken in last commit)
2023-07-10 17:28:19 -04:00
Isaiah Odhner
c944a74f8d
Make Ctrl+I work, distinguished from Tab heuristically
2023-07-10 17:28:19 -04:00
Isaiah Odhner
c1998c52f7
Fix lack of undo state for paste+stamp
2023-07-10 17:28:19 -04:00
Isaiah Odhner
46c52fcaf1
Fix arrow keys not moving selected data if not moved with mouse first
2023-07-10 17:28:19 -04:00
Isaiah Odhner
505cb389f2
Invert only within Free-Form Select's polygon
...
It turns out this isn't actually how MS Paint works (in Windows 98, my go-to reference), but, isn't it better this way?
2023-07-10 17:28:19 -04:00
Isaiah Odhner
a3e7a2d8b9
Extract method for selection extraction
2023-07-08 01:31:02 -04:00
Isaiah Odhner
54c9f6a500
Implement Image > Invert Colors
2023-07-08 01:14:40 -04:00
Isaiah Odhner
71dd8b50df
Implement Image > Clear Image
2023-07-08 00:24:51 -04:00
Isaiah Odhner
2f7182d8c3
Fix structural validity of saved HTML
2023-06-30 21:49:41 -04:00
Isaiah Odhner
3b4ec0e79c
Update/tweak readme
...
Saying "discards color information" probably isn't helpful, especially since it shows a warning when saving.
None of the image formats say "discards text information" anyways.
2023-06-30 21:43:35 -04:00
Isaiah Odhner
6c7d48e49f
Disable saving in ICNS format, and update format support list
2023-06-30 21:00:42 -04:00
Isaiah Odhner
6c51b8fba0
Refactor format disabling
...
- confirm_information_loss and encode_to_format no longer need syncing
- other formats can be disabled easily
2023-06-30 20:10:24 -04:00
Isaiah Odhner
d886e31930
Configure ICO format saving
2023-06-30 19:42:16 -04:00
Isaiah Odhner
f64d75df3c
Fix unnecessary backup saving due to reload_after_save
2023-06-30 19:05:06 -04:00
Isaiah Odhner
a2000e7374
Recover from backup file after Save As; fix backup files left behind
...
Note: "the backup file will be deleted on close" was no longer true since making it check `self.backup_checked_for`.
2023-06-30 18:49:50 -04:00
Isaiah Odhner
12d579592e
Fix exception handler catching wrong exception
2023-06-30 17:14:42 -04:00
Isaiah Odhner
2e022bdfe1
Disable saving as JPEG because of low quality
2023-06-30 16:52:13 -04:00
Isaiah Odhner
b419b8ec7d
Remove unused import
...
I had to use base64 instead of html.escape
2023-06-30 16:26:11 -04:00
Isaiah Odhner
5f3a7f259d
Fix type signature
2023-06-30 16:23:09 -04:00
Isaiah Odhner
cd1161d454
Disable writing debug.svg
2023-06-30 14:19:39 -04:00
Isaiah Odhner
46e7e9bb30
Embed ANSI data in SVG for perfect round-trip
2023-06-30 14:04:45 -04:00
Isaiah Odhner
46017aca7b
Show how to exit in status bar if you hit Ctrl+C with no selection
2023-06-29 21:48:12 -04:00
Isaiah Odhner
b6bea36590
Simplify: avoid passing fake format ID for unknown format case
2023-06-29 00:17:12 -04:00
Isaiah Odhner
6b9c01f196
Fix handling of read-only formats (like .cur)
...
When attempting to save in a format only supported for opening,
it tripped the assertion here, which I'm removing.
(This code was a little complicated to reason about, and I thought I was
oversimplifying, when restructuring to handle the overlap of warnings,
but I couldn't place what case I was missing, until testing this.)
2023-06-29 00:17:12 -04:00
Isaiah Odhner
e43eb7149c
Clarify return value / callback argument
2023-06-28 21:35:19 -04:00
Isaiah Odhner
4750c1212d
Handle overlap of warnings (information loss and write-only warnings)
2023-06-28 21:35:19 -04:00
Isaiah Odhner
f194583760
Fix error due to trying to reload after saving non-openable format
2023-06-28 21:32:30 -04:00
Isaiah Odhner
53a484f978
WIP: confirm saving into non-openable formats
2023-06-27 23:36:39 -04:00
Isaiah Odhner
63c0bc1c3b
Add troubleshooting section
2023-06-27 23:34:46 -04:00
Isaiah Odhner
e41a7486c4
Fix ignore rule for textual_paint.egg-info
...
It's in src now.
2023-06-27 20:37:57 -04:00
Isaiah Odhner
9525ddc583
Handle NoScreen during auto-restart
2023-06-27 20:28:12 -04:00
Isaiah Odhner
0ad6d1a5e6
Fix up paths in scripts
2023-06-27 19:13:47 -04:00
Isaiah Odhner
87e2ff9b5f
Move one-off scripts outside of package
...
(breaking relative paths)
2023-06-27 18:58:47 -04:00
Isaiah Odhner
ee2fce3166
Implement View Bitmap
2023-06-27 17:15:54 -04:00
Isaiah Odhner
ffe7f2cd0c
Add more package metadata
2023-06-27 16:15:56 -04:00
Isaiah Odhner
2334e168be
Disable tracking untranslated strings
2023-06-27 15:33:56 -04:00
Isaiah Odhner
91e6b13eda
Include non-python files in package
2023-06-27 15:18:59 -04:00
Isaiah Odhner
ca68cb54a7
Move fonts inside of package folder
2023-06-27 15:15:00 -04:00
Isaiah Odhner
0ce80396a8
Handle NoScreen when window closed immediately upon opening
2023-06-27 13:41:24 -04:00
Isaiah Odhner
b3ca55a3b1
Use new callback to remove race condition
2023-06-27 13:37:08 -04:00
Isaiah Odhner
38a31bd1e4
Now that's what I call... back! (the functionality AND the function)
2023-06-27 13:27:03 -04:00