Commit Graph

50 Commits

Author SHA1 Message Date
Isaiah Odhner
e48c9cc632 Fix width of selected color/char display input
I'm not sure why it shrunk when changing to an Input
2023-04-20 01:21:27 -04:00
Isaiah Odhner
b955aaf361 Input or pick character to draw with 2023-04-20 01:21:06 -04:00
Isaiah Odhner
8727ed27de Use .dialog_window, already specified in one place, instead of .dialog, scattered about 2023-04-20 00:28:45 -04:00
Isaiah Odhner
bf16e60509 Clean up old magnifier preview approach 2023-04-19 21:14:07 -04:00
Isaiah Odhner
bd8ebad377 Implement magnifier preview 2023-04-19 21:08:59 -04:00
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