Isaiah Odhner
eae2ffe44a
Remove max size on window content
...
It's a bad idea, unless applied on a case-by-case basis.
It makes things wrap badly when the viewport is narrow, making things
much less readable, even though the aim is to make it more readable
by ensuring visibility. And it makes message boxes feel less OS-like.
It's better to have to drag a window back and forth to read it, than
to have it wrap at every character.
2023-04-19 16:06:49 -04:00
Isaiah Odhner
d2ab602ff5
Dynamically avoid cutting off the rightmost character in menus
...
Before I had it wide enough for English, with a max-width,
but not all languages. This is a better solution.
2023-04-18 22:58:39 -04:00
Isaiah Odhner
66ce8df21d
Set min-width on menu popups wide enough for all menu items
...
The longest one is File > Set As Wallpaper (Centered)
2023-04-18 19:05:13 -04:00
Isaiah Odhner
aa1e8dca7f
Fix menu item width not taking up full width of menu
2023-04-18 19:04:16 -04:00
Isaiah Odhner
79a1432abc
Remove way too general Button rule from calculator example
2023-04-18 18:56:29 -04:00
Isaiah Odhner
b8c7e0eb72
Add all of the menu items from MS Paint
2023-04-18 18:56:29 -04:00
Isaiah Odhner
8ec24a8fdc
Prompt to save changes when unloading a document
...
- Confirm discarding changes for Open, New, or Exit, including for
exit via Ctrl+C which was previously handled by a built-in binding.
- Await Save As dialog closing, including when Save triggers Save As.
This is my first time using asynchronous features in Python,
(as far as I remember,) so it's a bit messy.
- Make DialogWindow callback also for Cancel, which means all
DialogWindow usage sites care what button is selected.
- Send RequestClose event for Esc key.
2023-04-17 23:09:13 -04:00
Isaiah Odhner
7497a7dd5b
Tweak overwrite dialog layout
...
- Reduce height, to fit to content
- Reduce button width, to avoid clipping
2023-04-17 03:12:30 -04:00
Isaiah Odhner
a69851d1bf
Let menu buttons vary in width
2023-04-16 20:35:09 -04:00
Isaiah Odhner
fea4259876
Remove vertical padding and bottom border from tool box
2023-04-16 18:43:08 -04:00
Isaiah Odhner
fc3249371c
Fix title bar height / invisible close icon
2023-04-15 21:39:57 -04:00
Isaiah Odhner
47622bf437
Make menu popups wider
2023-04-15 21:16:18 -04:00
Isaiah Odhner
f51f1d9b8c
Implement File > Open dialog
2023-04-15 21:11:44 -04:00
Isaiah Odhner
e814dd6637
Add ASCII art warning icon to confirmation dialog
2023-04-15 01:59:16 -04:00
Isaiah Odhner
b5e0ec8438
Confirm overwriting files
...
A Textual layout bug is unfortunately making the Yes button HUGE,
and the No button INVISIBLE, until you mouse over the dialog, which is
pretty funny...
"<file> already exists. Do you want to replace it? [Yes]"
2023-04-15 01:49:08 -04:00
Isaiah Odhner
a5b217b3cd
Add directory tree to Save As dialog
2023-04-15 01:25:58 -04:00
Isaiah Odhner
c2e86d5eae
Implement Save As dialog
2023-04-15 00:57:43 -04:00
Isaiah Odhner
241cdfb64e
Rename layer
2023-04-14 23:24:51 -04:00
Isaiah Odhner
ad5508eb64
Prevent scrolling things
...
Ideally it would be nice if you could access everything, but it's not
part of the design of MS Paint, and I don't want to design for it here.
In MS Paint, there's a minimum window size.
2023-04-13 18:34:40 -04:00
Isaiah Odhner
8b955b0e43
Prevent bolding of tool icon glyphs
2023-04-13 18:18:27 -04:00
Isaiah Odhner
02fcffbb00
Position menu popup below the respective menu button
2023-04-12 23:09:34 -04:00
Isaiah Odhner
2a89948717
Get menu popups floating
2023-04-12 22:42:48 -04:00
Isaiah Odhner
044b404a0e
Start making menus work
2023-04-12 22:07:38 -04:00
Isaiah Odhner
b779059208
Add non-functional menu bar
2023-04-12 20:54:21 -04:00
Isaiah Odhner
fd4944c296
Remove ugly useless gutter
2023-04-12 15:47:32 -04:00
Isaiah Odhner
082eb3d4da
Tweak colors to look good in light and dark modes
2023-04-12 15:43:17 -04:00
Isaiah Odhner
b0554a6662
Change editing area background to work better with light mode
2023-04-12 15:32:16 -04:00
Isaiah Odhner
8369b4e303
Invisibly shrink #available_colors
...
I was trying out adding a background to it and noticed it was bigger than it needs to be.
2023-04-12 15:32:16 -04:00
Isaiah Odhner
5796c5c8b3
Give inset appearance to color wells / selected color
2023-04-12 15:31:52 -04:00
Isaiah Odhner
2e454333fb
Widen selected color display
2023-04-12 15:31:52 -04:00
Isaiah Odhner
a66df997bb
Toggle the color palette with Ctrl+W
...
Doesn't work in VS Code's terminal, but that's OK.
It works in Ubuntu's Terminal app.
2023-04-11 11:48:08 -04:00
Isaiah Odhner
4d2b667ecb
Toggle the tools box with Ctrl+T
2023-04-11 11:40:47 -04:00
Isaiah Odhner
ae73fab2f4
Widen color wells
...
It could go either way, but I guess 4 is more consistent proportionally.
2023-04-11 11:20:51 -04:00
Isaiah Odhner
e2c9b4b66c
Improve layout
2023-04-11 08:47:47 -04:00
Isaiah Odhner
7d1afed296
Define dimensions for Canvas widget
2023-04-11 08:46:57 -04:00
Isaiah Odhner
c3035d171f
Fix up the app layout scrollbar situation
...
- Remove scrollbar from root
- Fix extra height below color palette due to vertical layout giving even heights
- Add container around canvas to make canvas scrollable
2023-04-11 00:19:07 -04:00
Isaiah Odhner
ba0d80bc0d
Implement color selection
2023-04-10 23:56:53 -04:00
Isaiah Odhner
1811e1c41c
Add palette
2023-04-10 23:56:53 -04:00
Isaiah Odhner
6863a1b2c4
Tweak selected tool button style
2023-04-10 21:04:08 -04:00
Isaiah Odhner
cf8acc4f94
Disable focus highlight on tool buttons
2023-04-10 20:59:59 -04:00
Isaiah Odhner
b64869eae4
Let buttons fall back to the original color when deselected
2023-04-10 20:52:01 -04:00
Isaiah Odhner
6ecdfe3532
Move tool buttons into a ToolsBox container and improve layout
2023-04-10 18:21:09 -04:00
Isaiah Odhner
e6db039d99
Remove dead whitespace
2023-04-10 18:06:41 -04:00
Isaiah Odhner
d09080eec3
Update layout to a two-column toolbar
2023-04-10 17:45:54 -04:00
Isaiah Odhner
642bf3812c
Rename calculator -> paint
2023-04-10 16:54:36 -04:00