Commit Graph

181 Commits

Author SHA1 Message Date
Isaiah Odhner
f77d2bba38 Note new format support 2023-07-12 01:44:08 -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
6309e05d8f Update readme 2023-07-10 23:02:04 -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
54c9f6a500 Implement Image > Invert Colors 2023-07-08 01:14:40 -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
2e022bdfe1 Disable saving as JPEG because of low quality 2023-06-30 16:52:13 -04:00
Isaiah Odhner
46e7e9bb30 Embed ANSI data in SVG for perfect round-trip 2023-06-30 14:04:45 -04:00
Isaiah Odhner
63c0bc1c3b Add troubleshooting section 2023-06-27 23:34:46 -04:00
Isaiah Odhner
53a733ae32 Suggest installing from requirements.txt
I had to blow away my virtual environment, and installing from
requirements.txt worked whereas the existing line didn't, I guess due to
the fixed version number of textual. I don't know exactly, but it seems
pretty silly to try to maintain this list of requirements separately.
2023-06-16 18:07:40 -04:00
Isaiah Odhner
faa41d07b2 Confirm discarding information during Save/Open/New, not just Save As 2023-06-13 23:46:30 -04:00
Isaiah Odhner
6946669a41 Update screenshot, and screenshot methodology, and remove table wrapper
The old screenshot was generated by Select All and Copy As HTML in
Ubuntu's Terminal app (using a keyboard shortcut that had to be set up
first), and post-processed using code included in screenshot.svg, which
I'm now deleting.

The new screenshot is generated using Textual's built-in SVG export.
It displays nicer, with less artifacts (seams between cells).
It doesn't need such silly explanation of the nature of the screenshot,
and was also sizing to the width of the text, so I removed the wrapper
table which was imitating (standing in for) figure/figcaption elements.

The new screenshot also includes a window border, macOS-styled, which is
a little weird since it's a remake of MS Paint (Windows software)
developed entirely on Ubuntu (Linux distro).
2023-06-11 22:59:37 -04:00
Isaiah Odhner
07395517ea Update remaining command lines to run the app as a module 2023-06-10 21:20:17 -04:00
Isaiah Odhner
4e1f11ab23 Fix expanding directory tree to current folder, in file dialogs
- This regressed due to updates in Textual 0.25.0,
  because DirectoryTree now loads directory contents in a worker:
  https://github.com/Textualize/textual/issues/2456
- Directory tree expansion may be more robust now, although it's using
  more internals now, and it still needs timers for whatever reason.
2023-06-10 21:05:19 -04:00
Isaiah Odhner
178e4c0689 Fix name of program in help text
Originally it was `paint.py`, but after switching to running as a module
(needed to use Python's relative imports for some reason) it became "-c"
when running with the `textual` CLI.
2023-06-09 01:27:13 -04:00
Isaiah Odhner
b1951cb555 Note about virtual environments 2023-06-08 23:54:56 -04:00
Isaiah Odhner
a166a6af29 Note how to install CLI for development 2023-06-08 23:54:56 -04:00
Isaiah Odhner
d77a785a64 Update commands now that it must be run as a module 2023-06-08 23:47:53 -04:00
Isaiah Odhner
5ddb5c22a8 Found another good candidate for crosshair symbol 2023-06-05 15:58:23 -04:00
Isaiah Odhner
892d12e8fb Add a worse option for the Polygon tool icon (a hieroglyph) 2023-06-03 15:24:56 -04:00
Isaiah Odhner
7f28470f78 Note an issue 2023-05-22 00:23:44 -04:00
Isaiah Odhner
e9755637d6 Update Textual to 0.26.0
Both issues I opened have been fixed! :)
2023-05-21 22:00:39 -04:00
Isaiah Odhner
5392864552 Update readme regarding SVG loading
Not sure if some of this should go in Known Issues, maybe with a
"see Known Issues" reference, but I might just fix these things soon.
2023-05-20 00:21:49 -04:00
Isaiah Odhner
b88b5cdfa0 Mention new project: ansi-art-thumbnailer 2023-05-19 22:19:27 -04:00
Isaiah Odhner
b4f958623d Hide SVG files from samples gallery command
oooh is it a gallery? how faaancy...
2023-05-17 23:30:20 -04:00
Isaiah Odhner
14ba281ec3 Add a command to view all sample files 2023-05-16 15:19:23 -04:00
Isaiah Odhner
004700ad57 Add more unicode alternatives 2023-05-16 02:30:10 -04:00
Isaiah Odhner
1176fcee73 Save WebP files losslessly 2023-05-15 14:23:55 -04:00
Isaiah Odhner
4dbaf5145e Open and save image files with Pillow 2023-05-15 00:46:08 -04:00
Isaiah Odhner
348d3489e3 Add to (and tweak) Known Issues 2023-05-15 00:15:49 -04:00
Isaiah Odhner
0f769689ef Update readme 2023-05-10 01:34:46 -04:00
Isaiah Odhner
ef4fb910d5 Generate smaller ANSI files with Segment.simplify 2023-05-09 22:55:41 -04:00
Isaiah Odhner
5a0f1dacfe Add max file size limit when opening or pasting from files 2023-05-09 00:33:22 -04:00
Isaiah Odhner
6b46d99627 Clarify messaging about the backup feature 2023-05-06 16:41:43 -04:00
Isaiah Odhner
ce4fabd923 Add --backup-folder option 2023-05-05 21:51:25 -04:00
Isaiah Odhner
d12942700a Tweak auto-save backup file name 2023-05-05 21:50:42 -04:00
Isaiah Odhner
3cdc308b95 Optionally singularize a word 2023-05-05 20:03:15 -04:00
Isaiah Odhner
40496c312f Clarify filename argument 2023-05-05 19:59:10 -04:00
Isaiah Odhner
2af9f4fd53 Auto-save to ~ files 2023-05-05 19:59:10 -04:00
Isaiah Odhner
ec718cac81 Make submenu positioning more reliable 2023-05-04 16:03:12 -04:00
Isaiah Odhner
f5e071f069 Fix menus cut off when viewport height is small
This fix works for the top level menus, and but it's unreliable for
submenus, just as submenus opening at all is unreliable.
2023-05-04 15:40:54 -04:00
Isaiah Odhner
6e9fa34cbb Note a defect 2023-05-04 15:26:36 -04:00
Isaiah Odhner
1656c64ea2 Make --recode-samples handle exceptions, in an insanely complicated way 2023-05-04 13:40:08 -04:00
Isaiah Odhner
426354e986 Add notes to development section of readme 2023-05-03 20:20:49 -04:00
Isaiah Odhner
799ec9944a Fix color values being rounded when loading an ANSI file 2023-05-03 13:49:52 -04:00
Isaiah Odhner
1cdad17fe9 Set a fixed width when updating CLI help on readme
By default it uses the terminal width, which caused the help text to change spuriously.
2023-05-03 11:39:00 -04:00
Isaiah Odhner
eaa64c992e Add --recode-samples for testing 2023-05-03 11:37:40 -04:00
Isaiah Odhner
3ac9ad0ff8 Update readme in regard to progress on Set As Wallpaper 2023-05-02 01:00:22 -04:00
Isaiah Odhner
f630026811 Note about linting 2023-05-01 14:47:30 -04:00
Isaiah Odhner
2a35778cbd Add file drop support 2023-05-01 12:31:21 -04:00
Isaiah Odhner
1a7b6561bd Simplify usage line in help 2023-05-01 10:51:33 -04:00
Isaiah Odhner
29376af66c Make Help > Help Topics show full command-line help, at least 2023-05-01 10:39:21 -04:00
Isaiah Odhner
549c70a2d1 Add --version flag to CLI 2023-04-29 17:55:59 -04:00
Isaiah Odhner
4d1f57ee6b Update file formats list 2023-04-29 17:29:06 -04:00
Isaiah Odhner
ceb79bc5aa Add to known issues list 2023-04-29 17:18:41 -04:00
Isaiah Odhner
2cf3bc2a7d Clarify known issues 2023-04-29 17:11:47 -04:00
Isaiah Odhner
66222b2384 Use an included sample ANSI file for cat example command 2023-04-29 16:53:38 -04:00
Isaiah Odhner
16d52dcad1 Fix a missing word 2023-04-29 16:52:03 -04:00
Isaiah Odhner
5abad1fcb2 Update paths 2023-04-29 13:43:24 -04:00
Isaiah Odhner
1f5457d992 Fix crash with Polygon tool(s), dragging from outside to inside canvas
When clicking outside the canvas and dragging and releasing over it,
several tools exhibited issues, which this commit fixes.

- Free-Form Select, Polygon: crash with IndexError
- Select: useless selection created
- Magnifier, Pick Color: returned to last tool before use
2023-04-29 12:43:34 -04:00
Isaiah Odhner
67015ae1ca Add a known crash-causing issue 2023-04-28 20:46:38 -04:00
Isaiah Odhner
44d800d9b3 Note an issue with color values changing 2023-04-28 14:14:21 -04:00
Isaiah Odhner
1c9fb0ca1b Delete/backspace ranges of text 2023-04-26 17:54:00 -04:00
Isaiah Odhner
0754db7218 Fix IndexError when pressing Ctrl+A followed by Delete in a textbox 2023-04-26 17:08:32 -04:00
Isaiah Odhner
c1375d81ed Make Select All select text within the textbox, if applicable 2023-04-26 17:04:24 -04:00
Isaiah Odhner
1f171259bb Fix shifted/cutoff selection when melding with negative coordinates
Code intended to prevent errors was also creating an offset between
the source and target regions. The source region needs to be adjusted
to match the clipped target region.
2023-04-26 13:49:33 -04:00
Isaiah Odhner
5fe0178d36 Note new dependencies in installation instructions 2023-04-26 12:52:27 -04:00
Isaiah Odhner
ed5e399a58 Don't delete the whole textbox when pressing Delete 2023-04-26 11:19:16 -04:00
Isaiah Odhner
6d6ef25da4 Cancel active tool by pressing both mouse buttons 2023-04-26 01:30:36 -04:00
Isaiah Odhner
63c9a3ea11 Cancel active tool with Escape 2023-04-26 00:38:50 -04:00
Isaiah Odhner
c6967c69f5 Show selected foreground color in the CharInput 2023-04-26 00:06:57 -04:00
Isaiah Odhner
1ab1dfb037 Fix extraneous white cell at top left when loading ANSI files 2023-04-25 18:43:28 -04:00
Isaiah Odhner
ba7f8e6a0a Don't invert the inner textbox border, that's too visually confusing 2023-04-25 18:31:50 -04:00
Isaiah Odhner
0e25b99d2b Update known issue with newly-known knowledge about the issue
There are known knowns, and unknown knowns, and also known unknowns,
and unknown unknowns, but this is a now-no-longer-known-unknown-now-known-known, y'know? (I don't not not not not not not know.)
2023-04-25 18:08:34 -04:00
Isaiah Odhner
155f73b319 Update Known Issues 2023-04-25 16:36:52 -04:00
Isaiah Odhner
d94482aa82 Discard textbox if you never typed anything into it 2023-04-25 16:25:47 -04:00
Isaiah Odhner
f33802af30 Make Text tool undoable 2023-04-25 16:14:29 -04:00
Isaiah Odhner
277a879b5c Finalize Polygon/Curve when switching tools 2023-04-25 15:42:36 -04:00
Isaiah Odhner
8472b37859 Keep Curve/Polygon preview when mouse leaves the canvas 2023-04-25 15:41:24 -04:00
Isaiah Odhner
8c932ea53f Fix dragging selection by top left corner
I recognized this as another Offset -> bool coercion issue.
2023-04-25 14:39:59 -04:00
Isaiah Odhner
bf2b5ec94e Fix dragging windows
This was broken in "Fix a type checker error" e62064a307 
where I just added `and self.offset_at_drag_start`.
The problem is that Offset defines __bool__ and are falsy when (0,0),
and the windows, despite starting out in the center, initially have an
offset of (0,0) FROM this center position.
2023-04-25 14:29:13 -04:00
Isaiah Odhner
769c7af339 Expand Known Issues 2023-04-25 14:10:59 -04:00
Isaiah Odhner
84af26c0a2 Implement Color Eraser feature 2023-04-25 13:27:54 -04:00
Isaiah Odhner
f67a5a0376 Make "Tips" part of "Usage" section 2023-04-25 13:16:24 -04:00
Isaiah Odhner
2af323bab2 Note Playscii license/language compatibility 2023-04-25 13:16:24 -04:00
Isaiah Odhner
bbe3f01725 Add to known issues 2023-04-25 01:16:46 -04:00
Isaiah Odhner
7bf41a6ac4 Add tips section to readme 2023-04-24 23:43:38 -04:00
Isaiah Odhner
61227597f8 Fix flood fill infinite loop when color under cursor matches fill color 2023-04-24 22:18:48 -04:00
Isaiah Odhner
8eb4d78646 Update readme 2023-04-24 16:46:32 -04:00
Isaiah Odhner
031a0a3e72 Implement Select All 2023-04-23 01:24:43 -04:00
Isaiah Odhner
74dceee2f3 Implement Free-Form Select tool 2023-04-22 23:03:09 -04:00
Isaiah Odhner
6b01b604fe Set up pyright type checker 2023-04-22 02:27:43 -04:00
Isaiah Odhner
45fb2eb521 Implement polygon tool 2023-04-22 01:07:20 -04:00
Isaiah Odhner
4d86f783be Implement Curve tool 2023-04-21 23:16:58 -04:00
Isaiah Odhner
cc0bdf0973 Implement Text tool 2023-04-21 22:12:16 -04:00
Isaiah Odhner
61d3db4714 Fix undo/redo handling for the Select tool 2023-04-21 16:34:38 -04:00