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