Bug 164142 - Replace button wall with a context menu in new Macro manager
Summary: Replace button wall with a context menu in new Macro manager
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: UI (show other bugs)
Version:
(earliest affected)
unspecified
Hardware: All All
: medium enhancement
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: Macro_Manager
  Show dependency treegraph
 
Reported: 2024-12-03 11:01 UTC by Heiko Tietze
Modified: 2025-01-14 08:20 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:


Attachments
buttons below (41.15 KB, image/png)
2024-12-05 07:57 UTC, Jim Raykowski
Details
Mockup (43.31 KB, image/png)
2025-01-13 09:18 UTC, Heiko Tietze
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Heiko Tietze 2024-12-03 11:01:47 UTC
The new macro manager shows a list of buttons that contextually becomes enabled depending on the selected item. That's a very uncommon way to present functions and makes the UI noisy. It should be better realized per context menu with perhaps only the most important functions on the primary UI. I suggest New and Edit placed below the left treeview, and Run and Edit underneath the right.
Comment 1 Roman Kuznetsov 2024-12-03 16:20:56 UTC
I wanted to add a context menu in addition to buttons :D

So, your suggestion will be strange: some actions will be available by buttons and other actions by context menu? If it's then I disagree
Comment 2 Heiko Tietze 2024-12-04 07:41:53 UTC
We have primary functions that are used most frequently and we have secondary with less importance. The UI should reflect this difference and provide access only the most relevant via heavy button control.
Comment 3 Roman Kuznetsov 2024-12-04 16:18:40 UTC
(In reply to Heiko Tietze from comment #2)
> We have primary functions that are used most frequently and we have
> secondary with less importance. The UI should reflect this difference and
> provide access only the most relevant via heavy button control.

But we have a place for all buttons right now, why we need to hide it? I just can't understand what's benefit ?

Could you please draw some mockup for your suggestion?
Comment 4 Jim Raykowski 2024-12-05 07:57:55 UTC
Created attachment 197946 [details]
buttons below

How do we handle having only a 'New...' button for Basic when it could either be for a new module or a new dialog? The other macro languages don't have modules or dialogs so the 'New...' button under the left tree view would only be used to add a new library.

One solution could be to show both a 'New Module...' and a 'New Dialog...' button when the selected entry in the tree is a Basic library. When the selected entry is the Basic language entry a 'New Library...' button could replace the 'New Module...' and 'New Dialog...' buttons.

Another solution could be to have Module and Dialog radio buttons in the dialog that opens when the 'New...' button is pressed when the selected entry in the tree is a Basic library.
Comment 5 Heiko Tietze 2024-12-05 09:20:38 UTC
(In reply to Jim Raykowski from comment #4)
> Created attachment 197946 [details]
This is basically what I had in mind.

> How do we handle having only a 'New...' button for Basic when it could
> either be for a new module or a new dialog?
Indeed, most items have no function at all associated. And Basic has three variants of New. One option could be a menu button "New >". Or we change the "New" button depending on the selection. But not really convincing.

Another solution is to hide non-functional buttons - we have max three active. And these three could have enough space underneath the tree.
Comment 6 Eyal Rozenberg 2025-01-03 18:29:59 UTC
(In reply to Heiko Tietze from comment #0)
> The new macro manager shows a list of buttons that contextually becomes
> enabled depending on the selected item. 

... and their function and label even changes.

> I suggest New and Edit placed below the left treeview, and Run and Edit
> underneath the right.

How would this address the New-vs-Delete transmogrification?


I would suggest we consider having button-ish widgets appear at the edge of the item's row in the tree view, when the item is selected, i.e. suppose Item 2 is selected; its line will look like

+-----------------------------+
| Item 1                      |
| \- Item 2               X V |
| Item 3                      |
+-----------------------------+

(ignoring the selection-coloration which I can't really do with ASCII graphics)

and instead of X and V think of icon-based "buttons", in the sense of being pressable, not in the sense of looking like regular physical UI buttons. 

That would probably not cover all functions, e.g. "Organizer...", but it's something to consider.
Comment 7 Heiko Tietze 2025-01-13 09:18:41 UTC
Created attachment 198510 [details]
Mockup

We discussed the topic in the design meeting and came up with a similar customization as Eyal recommends.
Comment 8 Roman Kuznetsov 2025-01-13 17:47:56 UTC
(In reply to Heiko Tietze from comment #7)
> Created attachment 198510 [details]
> Mockup
> 
> We discussed the topic in the design meeting and came up with a similar
> customization as Eyal recommends.

Let's delete all buttons then, why do we need it all in general?

Are you sure dialog without any actions buttons is a good idea?

Imagine new user wants to do something with a macro, he opens the dialog, he see macro and nothing more >_< He may be will try a double-click for macro running, but I don't think he will think about context menu...
Comment 9 Heiko Tietze 2025-01-14 08:20:40 UTC
Sorry for not adding a detailed explanation: the selected node has buttons for the most frequently needed function inline (in the example for New and Edit). All functions are available per context menu including those in the primary UI.