Commit Graph

40 Commits

Author SHA1 Message Date
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