Commit Graph

1386 Commits

Author SHA1 Message Date
Isaiah Odhner
67b4ec8ac4 Return to custom zoom level when zooming out and back in 2023-07-12 02:16:24 -04:00
Isaiah Odhner
9876a3c15c Repeat first color in palette when loading a palette
This ensures all colors are part of the palette.
It would be better to allow the number of color wells to change.
2023-07-12 01:51:57 -04:00
Isaiah Odhner
3713e9ed00 Switch color palette to mIRC's palette when saving/opening as mIRC code format 2023-07-12 01:51:57 -04:00
Isaiah Odhner
618fe00d81 Simplify IRC palette data structure, to match regular palette 2023-07-12 01:51:57 -04:00
Isaiah Odhner
967801cf17 Prevent digits in document from merging with mIRC color codes
If digits were present in the document, they were concatenated after
the color codes, and they ran together indistinguishably.
This changed the color index numbers that were read back, to potentially
invalid color indices, and lost the digits as part of the document.
It needs the delimiter of the ending escape code to separate the digits.
2023-07-12 01:51:57 -04:00
Isaiah Odhner
f77d2bba38 Note new format support 2023-07-12 01:44:08 -04:00
Isaiah Odhner
878bf45ea3 Fix nearest color finding 2023-07-11 18:51:12 -04:00
Isaiah Odhner
0eea55e7f6 Make saved mIRC files openable 2023-07-11 18:25:49 -04:00
Isaiah Odhner
645f1ec127 Add missing duplicate error handling for Paste From 2023-07-11 17:19:08 -04:00
Isaiah Odhner
da85d319e4 Add mIRC code export support 2023-07-11 04:00:22 -04:00
Isaiah Odhner
b885436966 Fix drag and drop of files with CharInput focused 2023-07-11 02:02:18 -04:00
Isaiah Odhner
85ba439cbd Fix pasting into CharInput not affecting brush 2023-07-11 02:02:18 -04:00
Isaiah Odhner
2c1069d619 Fix contrast of fieldsets in dark mode 2023-07-11 00:02:39 -04:00
Isaiah Odhner
da0abcbf1e Add stretch/skew icons to dialog 2023-07-10 23:57:48 -04:00
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