Skip to content

[GUI] Move "View" menu out of the hamburger menu#1471

Merged
cameronwhite merged 6 commits into
PintaProject:masterfrom
pedropaulosuzuki:master
May 20, 2025
Merged

[GUI] Move "View" menu out of the hamburger menu#1471
cameronwhite merged 6 commits into
PintaProject:masterfrom
pedropaulosuzuki:master

Conversation

@pedropaulosuzuki

Copy link
Copy Markdown
Contributor

Creates a separate button for the View menu, making it easier to access (when compared to the current hamburger submenu solution). Doesn't change behavior when using the menubar.

Used the icon 'view-reveal-symbolic'. Not sure if it's always bundled with GTK/LibAdwaita or if it's a system icon that might cause problems on Windows/MacOS builds (if so, help needed here).

Part of #1428.

Uses 'view-reveal-symbolic'.
Creates a separate button for the View menu, making it easier to access.

Part of #1428.
@pedropaulosuzuki

Copy link
Copy Markdown
Contributor Author
Screencast.from.19-05-2025.19.52.49.webm

@pedropaulosuzuki

Copy link
Copy Markdown
Contributor Author

Build failing due to formatting again, no idea why.

@pedropaulosuzuki

Copy link
Copy Markdown
Contributor Author

To be fair, I'd probably also move the Ruler Units menu out of the View menu and into a specific button/dropdown that'd be drawn in the ruler itself. Not sure where exactly tho. Maybe for a future MR.

Comment thread Pinta/MainWindow.cs
PintaCore.Actions.Edit.RegisterActions (app, edit_menu);
this.menu_bar.AppendSubmenu (Translations.GetString ("_Edit"), edit_menu);

var view_menu = Gio.Menu.New ();

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This shifted the ordering of the menus when using a menu bar - the view menu is now appearing after Layers instead of after Edit
For muscle memory I think we should keep the existing menu bar order

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My bad, I tested the presence of the View menu in the menubar, but forgot to test the order. Fixed.

Comment thread Pinta.Resources/Icons.cs Outdated
public const string ToolZoom = "tool-zoom-symbolic";

public const string ViewGrid = "view-grid";
public const string ViewMenu = "view-reveal-symbolic";

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The icon worked fine for me on macOS 👍
For organization purposes, since this isn't a custom icon it should go into StandardIcons and be named ViewReveal to match the underlying icon name

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done!

@cameronwhite

Copy link
Copy Markdown
Member

Build failing due to formatting again, no idea why.

I can also run dotnet format before merging if that isn't working for you

Re: rulers, yeah that could be something to think about for a future change. Maybe it goes in the status bar or somewhere like that to avoid adding more clutter around the canvas? Since there are lots of widgets already on the left and top side from the tools and the toolbar

@pedropaulosuzuki

Copy link
Copy Markdown
Contributor Author

Build failing due to formatting again, no idea why.

I can also run dotnet format before merging if that isn't working for you

Re: rulers, yeah that could be something to think about for a future change. Maybe it goes in the status bar or somewhere like that to avoid adding more clutter around the canvas? Since there are lots of widgets already on the left and top side from the tools and the toolbar

Seems like it was Github's web UI adding identation in one of the comments and breaking formatting because of it. Now it seems fixed!

@cameronwhite

Copy link
Copy Markdown
Member

👍 thanks!

@cameronwhite cameronwhite merged commit 0bf7980 into PintaProject:master May 20, 2025
6 checks passed
@yioannides

yioannides commented May 20, 2025

Copy link
Copy Markdown
Contributor

@pedropaulosuzuki Just an FYI: Adwaita offers icons for "eye" / View strings, might be better to reference from the Icon Library flatpak app:

image

But feel free to tag me in future MRs if you need any Adwaita-adjacent icons not currently available. Would be ideally nice to keep all icons as Adwaita as possible, if @cameronwhite is also good with it

@pedropaulosuzuki

Copy link
Copy Markdown
Contributor Author

@pedropaulosuzuki Just an FYI: Adwaita offers icons for "eye" / View strings, might be better to reference from the Icon Library flatpak app:

image

But feel free to tag me in future MRs if you need any Adwaita-adjacent icons not currently available. Would be ideally nice to keep all icons as Adwaita as possible, if @cameronwhite is also good with it

I actually used GNOME's Icon Library to find an appropriate icon, and view-reveal-symbolic was one of the available ones. But any other icon name is fine by me. Do you have a specific icon name in mind?

image

@yioannides

Copy link
Copy Markdown
Contributor

I actually used GNOME's Icon Library to find an appropriate icon, and view-reveal-symbolic was one of the available ones. But any other icon name is fine by me. Do you have a specific icon name in mind?

Yeah, view-reveal-symbolic is what I would have personally used as well, though I suppose we could also use this specific one for Show / Hide layers, as opposed to a tick box (specifically view-reveal-symbolic and view-conceal-symbolic)

For reference:

Screenshot From 2025-05-20 19-05-31 Screenshot From 2025-05-20 19-05-36

@pedropaulosuzuki

Copy link
Copy Markdown
Contributor Author

ave personally used as well, though I suppose we could also use this specific one for Show / Hide layers, as opposed to a tick box (specifically view-reveal-symbolic and view-conceal-symbolic)

For reference:

That's actually on my plans. I was thinking on moving the image to the right and having an eye on the left, but didn't open an issue about it yet. The idea would be to allow more icons to be added, like adding effects directly by clicking there instead of on the header bar (even if destructive, I guess it makes more sense to be there. Of course, it could evolve to #1405 at some point).

@yioannides

Copy link
Copy Markdown
Contributor

That's actually on my plans. I was thinking on moving the image to the right and having an eye on the left, but didn't open an issue about it yet. The idea would be to allow more icons to be added, like adding effects directly by clicking there instead of on the header bar (even if destructive, I guess it makes more sense to be there. Of course, it could evolve to #1405 at some point).

That's a good plan, we could also have a companion open/closed padlock icon next to the eye for locking layers, but that's outside the scope of this MR. (if you ever start an open-ended UI/UX improvement issue like #1405 , I'd love to brainstorm together and create checklists for different sections)

@pedropaulosuzuki

Copy link
Copy Markdown
Contributor Author

That's a good plan, we could also have a companion open/closed padlock icon next to the eye for locking layers, but that's outside the scope of this MR.

Agreed, seems like a good idea!

(if you ever start an open-ended UI/UX improvement issue like #1405 , I'd love to brainstorm together and create checklists for different sections)

Are you on Matrix Chat? If so, please reach out! Brainstorming is always welcomed, not only for Pinta, but for FOSS projects in general!

@pedropaulosuzuki

Copy link
Copy Markdown
Contributor Author

@cameronwhite Zoom In/Out also feels a bit redundant, as there are already the buttons -/+ at the bottom. Worth to remove? Also "Normal Size" is "100%" and "Best Fit" is "Window" (those two, we'd need to show the shortcuts better if we remove them).

Current "View" menu in Pinta

Also, Inkscape has shortcuts for hiding the toolbar (Shift+F11) and side panels (F12), maybe if we implement something similar here (which would be good for quickly looking at the canvas without distractions), then they'd fit pretty well on the View menu, as F11 fullscreen is already there, for example. I'll open a separate issue for those later.

@cameronwhite

Copy link
Copy Markdown
Member

I agree that Zoom In/Out are already accessible elsewhere, but I think it'd feel inconsistent if Normal Size and Best Fit were to be left there without any other options to adjust the zoom. If there was a nice way to show the shortcuts in the zoom menu perhaps, then that might work

@yioannides

Copy link
Copy Markdown
Contributor

That's a good plan, we could also have a companion open/closed padlock icon next to the eye for locking layers, but that's outside the scope of this MR.

Agreed, seems like a good idea!

(if you ever start an open-ended UI/UX improvement issue like #1405 , I'd love to brainstorm together and create checklists for different sections)

Are you on Matrix Chat? If so, please reach out! Brainstorming is always welcomed, not only for Pinta, but for FOSS projects in general!

Okay, I will very soon!

cameronwhite pushed a commit that referenced this pull request May 27, 2025
As discussed in #1471, we already have the zoom buttons in the bottom right corner, so having those in the menu just adds clutter, instead of actually presenting new menu options.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants