Commit Graph

491 Commits

Author SHA1 Message Date
Isaiah Odhner
5abad1fcb2 Update paths 2023-04-29 13:43:24 -04:00
Isaiah Odhner
c55620dd35 Move package files to folder src/textual_paint/ 2023-04-29 12:59:16 -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
9897266a14 Fix error during undo after redo after undo after resize
When you've finally tracked down an issue and to fix it all you have to
do is point the cursor in the right spot and hit tab to accept the AI's
auto completion, it really makes you wonder about proactive AI coding
assistance, and a future with AGI. Or even without any AGI or proactive
AI, just having a gutter view that shows how surprised a language model
is at a given line of code could really work wonders on a problem like
this. It might feel _judgy_, but it could solve problems.
2023-04-29 12:22:32 -04:00
Isaiah Odhner
fffd287ff0 WIP: make resizing the canvas undoable
Resize, undo, redo works, but:
Resize, undo, redo, undo errors.
2023-04-28 22:40:00 -04:00
Isaiah Odhner
7d4a463668 Tweak comment 2023-04-28 21:57:02 -04:00
Isaiah Odhner
4fed90c794 Clean up
btw backslash was to avoid comment detected as a #region comment
which Pylance complained about not having a respective end comment
2023-04-28 21:54:35 -04:00
Isaiah Odhner
9c1b617440 Fix error undoing ineffective flood fill 2023-04-28 21:54:35 -04:00
Isaiah Odhner
5be895732d Remove document argument to Action in favor of action.update()
I'm probably breaking stuff here, by disabling the region fallback, etc.
2023-04-28 21:31:57 -04:00
Isaiah Odhner
dbf6b78659 Add missing docstrings (both identical for now) 2023-04-28 21:31:57 -04:00
Isaiah Odhner
67015ae1ca Add a known crash-causing issue 2023-04-28 20:46:38 -04:00
Isaiah Odhner
48a61d9934 Remove unused export 2023-04-28 20:16:44 -04:00
Isaiah Odhner
e5eaef3409 Use new SVG export for wallpaper feature
save_screenshot() includes a simulated window frame.
2023-04-28 20:16:44 -04:00
Isaiah Odhner
a05a85b103 Remove extraneous div from SVG output 2023-04-28 20:10:50 -04:00
Isaiah Odhner
785b9daea9 Save as SVG, and better (fuller) HTML 2023-04-28 19:52:52 -04:00
Isaiah Odhner
af14c36179 Save as different file types according to the extension 2023-04-28 19:09:59 -04:00
Isaiah Odhner
05b4f866e3 Rename filename -> file_path 2023-04-28 18:56:08 -04:00
Isaiah Odhner
bd3b99ac32 Fix errant newline in comment
It was introduced in a commit where I wasn't able to easily review the
diff, which should have been rather trivial (a23eeaf1dd)
2023-04-28 18:56:08 -04:00
Isaiah Odhner
93a1d2674f Clear undos/redos to avoid errors when applying undo actions 2023-04-28 18:37:13 -04:00
Isaiah Odhner
cc2ba1f043 Warn before permanently resizing the canvas 2023-04-28 18:37:13 -04:00
Isaiah Odhner
6ad4b7e442 Refresh canvas when resizing document 2023-04-28 15:27:23 -04:00
Isaiah Odhner
4effc9d599 Compromise on the layout of the image attributes dialog for now 2023-04-28 15:27:15 -04:00
Isaiah Odhner
0754b1f99a Inputs won't show up in the image attributes dialog, within Horizontal 2023-04-28 15:22:49 -04:00
Isaiah Odhner
b273a744f5 Fix horizontal button layout for image attributes dialog 2023-04-28 15:22:27 -04:00
Isaiah Odhner
34d3c79c3b WIP: image attributes dialog
All of this code was autocompleted by GitHub Copilot.
2023-04-28 15:09:09 -04:00
Isaiah Odhner
7b4ba83b42 Split long line into three 2023-04-28 14:32:02 -04:00
Isaiah Odhner
091c9597d7 Replace Style.parse() with direct Style()-style Style construction 2023-04-28 14:27:07 -04:00
Isaiah Odhner
44d800d9b3 Note an issue with color values changing 2023-04-28 14:14:21 -04:00
Isaiah Odhner
8d7843b383 Finalize selection and cancel other tools when saving 2023-04-28 14:06:14 -04:00
Isaiah Odhner
6fe4141ffd DRY ANSI file width measurement between tile/center modes 2023-04-27 01:15:49 -04:00
Isaiah Odhner
88dc76150e Mark script as requiring bash 2023-04-27 01:14:47 -04:00
Isaiah Odhner
df62152260 Add tiling mode to terminal wallpaper script 2023-04-27 01:09:45 -04:00
Isaiah Odhner
6e7b04da52 Clean up 2023-04-27 00:57:37 -04:00
Isaiah Odhner
4332ec1d58 Create a script to show an ANSI file centered in the terminal 2023-04-27 00:53:16 -04:00
Isaiah Odhner
594c378e45 Remove try-except around set_wallpaper body 2023-04-26 22:30:59 -04:00
Isaiah Odhner
b764ab6f45 Hook up Set As Wallpaper menu items 2023-04-26 22:30:59 -04:00
Isaiah Odhner
66dad7e3b8 Remove OOP vestiges from wallpaper module 2023-04-26 22:18:28 -04:00
Isaiah Odhner
454c473eff Grab and tweak wallpaper code
I updated the Windows version to use *W (wide char, unicode) version,
and enabled it and the mac one, changed except: to except Exception:
and tweaked a few other things.

I haven't tested any of this.
2023-04-26 22:00:23 -04:00
Isaiah Odhner
06e2ad41e4 Fix cells inverted outside the textbox to the left of the selection after closing a menu over the region
Normally, only the region with the textbox is updated, when the text selection changes, but if the canvas is refreshed by other means, like a menu, it can show up.
2023-04-26 21:32:42 -04:00
Isaiah Odhner
f6b94f67c4 Fix: refresh canvas when selecting all 2023-04-26 21:29:31 -04:00
Isaiah Odhner
dc6ab4d72e Type hint pyperclip.paste() 2023-04-26 21:27:33 -04:00
Isaiah Odhner
f1652c257a Fix: refresh canvas when pasting
Broken in last commit by adding:

        if "ctrl" in key:
            # Don't interfere with Ctrl+C, Ctrl+V, etc.
            return
2023-04-26 21:25:57 -04:00
Isaiah Odhner
a7619b7721 Copy selected text within textbox, instead of whole textbox 2023-04-26 21:25:57 -04:00
Isaiah Odhner
abb1e9128d Refactor: extract selected_text_range and supporting functions 2023-04-26 21:11:26 -04:00
Isaiah Odhner
df2d19af0a Fix background color of text pasted into textbox 2023-04-26 21:02:32 -04:00
Isaiah Odhner
09a03bdcbf Paste text into textbox 2023-04-26 20:35:13 -04:00
Isaiah Odhner
1c9fb0ca1b Delete/backspace ranges of text 2023-04-26 17:54:00 -04:00
Isaiah Odhner
06836d77bb Add textbox variable to shorten code 2023-04-26 17:24:28 -04:00
Isaiah Odhner
66f0e3fd42 Tweak comments in on_key in PaintApp 2023-04-26 17:23:45 -04:00
Isaiah Odhner
e3c985d0a5 Fix indent 2023-04-26 17:15:27 -04:00