Commit Graph

607 Commits

Author SHA1 Message Date
Isaiah Odhner
e2f4c24e1b Appease the type checker 2023-05-05 13:04:27 -04:00
Isaiah Odhner
5d6074c549 Remove commented out code for custom zoom integer Input
- MS Paint uses radio buttons, as I've now implemented.
- Truly custom zoom levels make much less sense in the terminal.
2023-05-05 13:04:19 -04:00
Isaiah Odhner
6effab854c Fix grammar
I stopped at this word and changed how I was wording the sentence haha
2023-05-05 12:52:34 -04:00
Isaiah Odhner
baf2b076d1 Visually reorder radio buttons, preserving numerical navigation order 2023-05-05 01:45:47 -04:00
Isaiah Odhner
c880b1c8cc Revert "Reorder radio buttons to match MS Paint"
This reverts commit 848db8180b.
2023-05-05 01:04:44 -04:00
Isaiah Odhner
6cf59cd79a Tweak requirements.txt so I can actually install from it
I'm setting up a virtual environment for the first time, and, trying
to install my dependencies, I ran into errors, 1. because of appscript
which is only intended for Mac, 2. PyGObject which IS for Linux, but
fails to install, missing "libgirepository1.0-dev", but it's optional,
it's just for wallpaper support. pyxgd is also for wallpaper support,
so maybe I should comment it out too.
And finally, [dev] is needed in order to use the `textual` command.

I don't know how well this can install on other systems, but at least
I can install it now, on Ubuntu.

Also, when the version numbers in my requirements.txt were bumped
when regenerating it, I'm guessing now that the dependencies weren't
actually upgraded, since `textual --version` gave me "0.19.1" up until
I set up my virtual environment (.venv), and now it matches the
requirements.txt version of "0.22.3". I still don't know why the version
numbers were bumped, or for sure that they weren't installed at those
versions somewhere in my filesystem. (I hope virtualenv makes things
more comprehensible, rather than more confusing...)

Also, now that I'm using textual 0.22.3, the radio button set has
arrow key navigation. Seeing this feature missing was what prompted me
to set up the virtual environment and (sort of implicitly) upgrade.
However, it doesn't work correctly, for the flipped horiz./vert. layout.
2023-05-05 00:54:52 -04:00
Isaiah Odhner
848db8180b Reorder radio buttons to match MS Paint
I asked ChatGPT to do this because I'm tired and I was curious if it
could understand. It did it straight away. I didn't even think about
aligning the code like that, it's a good idea.

> Prompt
> Reorder these such that when layed out in a left to right top to bottom grid they're in order top to bottom left to right, with 3 columns:
>
>
>                     RadioButton(_("100%"), id="value_1"),
>                     RadioButton(_("200%"), id="value_2"),
>                     RadioButton(_("400%"), id="value_4"),
>                     RadioButton(_("600%"), id="value_6"),
>                     RadioButton(_("800%"), id="value_8"),

> ChatGPT
> Here's the reordered code:
>
> bash
> Copy code
> RadioButton(_("100%"), id="value_1"), RadioButton(_("400%"), id="value_4"), RadioButton(_("800%"), id="value_8"),
> RadioButton(_("200%"), id="value_2"), RadioButton(_("600%"), id="value_6"),
2023-05-04 23:45:14 -04:00
Isaiah Odhner
ef0eb6a42b Use radio buttons in Custom Zoom window 2023-05-04 23:45:14 -04:00
Isaiah Odhner
4f08072a75 Refactor: use set_class instead of add_class/remove_class 2023-05-04 23:30:28 -04:00
Isaiah Odhner
f701d04b9d Tweak input styles in light mode 2023-05-04 22:46:08 -04:00
Isaiah Odhner
fdf44dee3a Darken window background and whiten question mark bubble
Darken the background of window content, in order to remove the ugly
yellow color filter on the question mark bubble icon.
2023-05-04 22:23:32 -04:00
Isaiah Odhner
687362a308 Add Windows 98 like logo to enlarge canvas question dialog box 2023-05-04 22:00:24 -04:00
Isaiah Odhner
903d8bd203 Make question mark bubble rounder, more oval like 2023-05-04 21:13:06 -04:00
Isaiah Odhner
0ccd9612bc Fix non-replaced background artifacts 2023-05-04 21:13:06 -04:00
Isaiah Odhner
506876893e Make question mark bubble more symmetrical and arguably rounder 2023-05-04 21:13:06 -04:00
Isaiah Odhner
75f13e95ce Remove top row of question mark icon which just had underscores 2023-05-04 21:13:06 -04:00
Isaiah Odhner
918b6d5887 Tweak question mark colors, and hide underlines 2023-05-04 21:13:06 -04:00
Isaiah Odhner
8e067ca48e Remove background from question mark icon 2023-05-04 21:13:06 -04:00
Isaiah Odhner
bf7c4df2d1 Prompt to enlarge the document when image on clipboard is larger 2023-05-04 21:13:06 -04:00
Isaiah Odhner
3544e754ea Add a stopgap to export Rich API console markup 2023-05-04 19:01:23 -04:00
Isaiah Odhner
076b4bd681 Fix AssertionError in bring_to_front 2023-05-04 19:01:23 -04:00
Isaiah Odhner
42ca86f7eb Remove update_styles hack, seemingly not needed anymore
I guess it was for windows with max/min-width/height, which I'm not doing anymore.
That or something else has changed. Yep, covering my bases here.
That, or I'm not covering my bases! You never know.
Or do you knever now?
2023-05-04 16:57:32 -04:00
Isaiah Odhner
40e9dbf88e Bring window to front when clicked 2023-05-04 16:49:13 -04:00
Isaiah Odhner
d1a27a2c9d Bring window to front if descendant gets focus 2023-05-04 16:44:27 -04:00
Isaiah Odhner
55c6bc9966 Maybe don't repaint
No significant difference has been shown between milk derived from rbST-treated and non-rbST treated cows.
2023-05-04 16:17:34 -04:00
Isaiah Odhner
ec718cac81 Make submenu positioning more reliable 2023-05-04 16:03:12 -04:00
Isaiah Odhner
9e2be988af Clean up
Don't need this reference code anymore.
2023-05-04 15:43:14 -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
bf2b471733 Implement Edit > Copy To 2023-05-04 15:26:36 -04:00
Isaiah Odhner
6e9fa34cbb Note a defect 2023-05-04 15:26:36 -04:00
Isaiah Odhner
e95407980e Implement Edit > Paste From 2023-05-04 14:57:42 -04:00
Isaiah Odhner
3e29d2a75e Split action_paste and paste 2023-05-04 14:35:14 -04:00
Isaiah Odhner
c2ee9ef2df Simplify: don't need a Task!
This still handles errors, unlike a million things I tried before,
and can still work and exit successfully.
2023-05-04 14:29:12 -04:00
Isaiah Odhner
cf39357641 Clean up 2023-05-04 14:23:32 -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
c9c58f12c6 Extract Open and Save As dialogs to a file_dialogs module 2023-05-04 13:15:06 -04:00
Isaiah Odhner
3ae8af3ad7 Use default colors instead last, when padding rows from an ANSI file
I'm not sure whether it should continue the color at the end of a row,
or if it should use the default color, but before, it used the last
color set in the entire file, even for earlier rows,
so this is at least better than that.
2023-05-03 20:29:24 -04:00
Isaiah Odhner
426354e986 Add notes to development section of readme 2023-05-03 20:20:49 -04:00
Isaiah Odhner
943151afe9 Set up diffing ANSI files with cat --show-all
I can only set up half of this directly, for the other half,
you have to run the command I mention here.
2023-05-03 19:50:37 -04:00
Isaiah Odhner
1d26df938d Add 2x2.ans sample file (containing a border square) 2023-05-03 19:04:26 -04:00
Isaiah Odhner
fcfe1d354e Add 1x1.ans sample file (containing a smiley face) 2023-05-03 19:04:26 -04:00
Isaiah Odhner
b80f15bfde Find samples folder relative to the Python script, and DRY 2023-05-03 19:04:26 -04:00
Isaiah Odhner
03ce16e100 Allow creating new file via the command line, if file doesn't exist 2023-05-03 17:22:50 -04:00
Isaiah Odhner
cf81a4236a Convert line endings to CRLF in sample ANSI files
I used:
    cd samples && sed -i 's/$/\r/' *

A git diff across branches suggests that this command gives the same results:
    src/textual_paint/paint.py --recode-samples

And --recode-samples is now idempotent, for the current set of sample files.
2023-05-03 16:09:31 -04:00
Isaiah Odhner
1eccb1b98a Disable line ending normalization for ANSI files 2023-05-03 16:00:31 -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
91e228a239 Use inline styles when exporting HTML
I'd rather it be copy-pastable and larger, than smaller but potentially disappointing or frustrating.
2023-05-03 12:35:40 -04:00
Isaiah Odhner
4f4a65c6fe Fix gaps between lines in HTML export in Chrome/Firefox on Ubuntu
This is dependent on the font.
In both Chrome/Firefox, monospace uses "DejaVu Sans Mono" on my system,
but if I specify "DejaVu Sans Mono" explicitly, it uses a larger
font size (16px, as compared to 12px in Firefox or 13px in Chrome), and
slight gaps are visible.

This fixes a regression when switching over to the Rich API's built-in
HTML exporting — from where I'm sitting — but it may look totally
different on someone else's computer.
2023-05-03 12:30:29 -04:00
Isaiah Odhner
b4af4032f7 Copy HTML template from rich/_export_format.py 2023-05-03 12:05:54 -04:00
Isaiah Odhner
0bed615e74 Exit after --recode-samples
Otherwise it may leave the app in a weird state where
app.image != app.canvas.image (I presume), and you can't draw, at least
not visibly, and it can prompt you to save changes to the document
that isn't visibly open, except in the titlebar (Header).
2023-05-03 11:56:14 -04:00