Commit Graph

72 Commits

Author SHA1 Message Date
Isaiah Odhner
9c4728c483 Improve layout of Custom Zoom window 2023-04-24 20:33:12 -04:00
Isaiah Odhner
86fe09cc6e Use a DataTable instead of a grid of buttons for Choose Character dialog
Improve performance, compactness, and keyboard navigation
2023-04-24 20:26:47 -04:00
Isaiah Odhner
cb310c2baf Un-bold menus
They're buttons, so they're bold by default.
2023-04-24 01:01:02 -04:00
Isaiah Odhner
2cdb728d64 Fix mouse wheel & show description when hovering over grayed menu items 2023-04-24 00:56:51 -04:00
Isaiah Odhner
4a308f22e1 Tweak status bar styles
- Make there be a border at the outside on both the left and the right
- For the inner dividing borders, use left instead of right so that
  there's a slight gap between the left-aligned text and the border.
2023-04-23 22:56:51 -04:00
Isaiah Odhner
b7d14f02bd Add an empty status bar 2023-04-23 22:22:28 -04:00
Isaiah Odhner
22547da2b2 Start making Edit Colors dialog
It's just a larger palette so far.
2023-04-23 14:29:51 -04:00
Isaiah Odhner
37cdcdfb13 Implement View > Zoom > Custom Zoom 2023-04-21 19:30:37 -04:00
Isaiah Odhner
c076a1b5de Simplify further and fix Toolbox hiding behavior
Yay, this is how simple I originally thought it was going to be.
2023-04-21 11:52:22 -04:00
Isaiah Odhner
8040196f10 WIP: simplify hiding/showing Tools box and Colors box
This works for the ColorsBox, since it's the second element,
but not for the ToolsBox, since it's the first.
2023-04-21 11:45:10 -04:00
Isaiah Odhner
43d213fe46 Rename palette selection area elements 2023-04-21 11:04:30 -04:00
Isaiah Odhner
da9813ea9b Tweak titlebar close button colors
Don't dim the highlight sides on hover. I feel like that makes it feel
like it's disabled. But don't dim the center as much, so the highlight
doesn't _stand out_ when hovering.
2023-04-21 00:36:08 -04:00
Isaiah Odhner
07757edc24 Make titlebar close button appear smaller 2023-04-21 00:31:04 -04:00
Isaiah Odhner
24076d9af5 Disable focusing tool and color buttons 2023-04-20 23:05:59 -04:00
Isaiah Odhner
48f0303a54 Refactor create_warning_message_box into MessageBox 2023-04-20 21:01:14 -04:00
Isaiah Odhner
9ab748f255 Use Python class names for window CSS 2023-04-20 17:47:20 -04:00
Isaiah Odhner
e39fd52381 Rename CSS class for character selector dialog for consistency 2023-04-20 17:40:15 -04:00
Isaiah Odhner
4a9ef84d28 Rely on Python class names instead of CSS class names for menu CSS 2023-04-20 17:40:15 -04:00
Isaiah Odhner
9b3793682d Fix inconsistent CSS ID naming style
I've settled on underscores, for now at least.
Generally I use hyphens.
Built-ins actually use hyphens, like `.-dark-mode`.
Maybe I should be using hyphens.
But for now, consistency is what's important, and I'm using underscores.
2023-04-20 17:26:41 -04:00
Isaiah Odhner
2a2b29e30e Use a shared CSS class for styling Open/Save As dialogs 2023-04-20 16:47:11 -04:00
Isaiah Odhner
5b20caf118 Add basic help window 2023-04-20 16:27:46 -04:00
Isaiah Odhner
3235ebcf26 Implement About Paint dialog 2023-04-20 16:27:41 -04:00
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