Commit Graph

1119 Commits

Author SHA1 Message Date
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
Isaiah Odhner
6db2b53830 No future for this approach... 2023-06-27 13:26:21 -04:00
Isaiah Odhner
e1111a24c6 Consolidate timers when scrolling to and selecting a node 2023-06-27 12:58:06 -04:00
Isaiah Odhner
738384d7c8 Add "Text Tilt" text art 2023-06-27 12:29:18 -04:00