Bug 88896 - Revamp toolbar/menu customization dialog
Summary: Revamp toolbar/menu customization dialog
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: LibreOffice (show other bugs)
Version:
(earliest affected)
unspecified
Hardware: Other All
: medium normal
Assignee: Muhammet Kara
URL:
Whiteboard:
Keywords: needsDevEval, topicUI
: 96705 (view as bug list)
Depends on:
Blocks: Customize-Dialog
  Show dependency treegraph
 
Reported: 2015-01-29 00:31 UTC by Heiko Tietze
Modified: 2017-09-18 07:47 UTC (History)
11 users (show)

See Also:
Crash report or crash signature:


Attachments
document with ideas and comments .. (166.85 KB, application/3dr)
2015-01-29 18:31 UTC, Cor Nouws
Details
ms office function list (26.13 KB, image/png)
2015-02-26 23:36 UTC, Yousuf Philips (jay) (retired)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Heiko Tietze 2015-01-29 00:31:43 UTC
In order to make the customization easy to use for everyone the current dialog should be reimplemented. The complete proposal can be found at http://user-prompt.com/how-to-make-libreoffice-customization-usable/. 

Since the mockups discuss only the enhancement of the customization the idea to move events into a separate dialog should be taken under inspection.
Comment 1 Cor Nouws 2015-01-29 18:31:23 UTC
Created attachment 112926 [details]
document with ideas and comments ..

Hi Heiko,

as promised, I looked more closely to the details.
Attached a file with ideas, comments, questions.

Apart from the discussion on how Events and Shortcut-overview can be implemented, I repeat that IMHO it must be part of the same design&implementation-process ;)

thanks for all you work here. Really appreciated!
Cor
Comment 2 Cor Nouws 2015-01-29 18:32:25 UTC
& set to ux-advice
Comment 3 Heiko Tietze 2015-01-29 23:18:54 UTC
Thank you for taking the time to read the text carefully. If we start any redesign we need to consider all requirements and use cases.

(In reply to Cor Nouws from comment #1)
> Attached a file with ideas, comments, questions.

1 (Nasty drop-down menu): I agree that this drop down is not really nice. But we need to break down the large list of functions into small pieces to avoid too much browsing. A tree view can be used on the left view with all functions but that's not possible when items are supposed to get sorted up/down. (read 'not possible' as 'very unusual').

2 (Keep events with customization, perhaps on a third tab): The basic workflow follows the dual-list principle where you select an item on the left list with all options and add it to the right list of selections. I have no idea how events on a third tab would fit into this workflow.

3 (How to open the details dialog): Good point. Accessibility should be taken into account.

4 (Search for uno:commands): I would allow to search for function names as a hidden expert feature. But this information does not need to be shown in first place. Maybe on the details dialog.

5 (How to store data): We postponed the discussion about implementation of storage since it's not part of the UI. I'd say that all customization done in this dialog has to be saved in one reloadable object (separate files, xml sections, references somewhere).
BTW: If events would be part of this dialog users expect it to be saved with the menu/toolbar and shortcut customization.

6 (How to enter a new shortcut): The idea is to focus the input field and accept any key press as new shortcut. For example you go to the field that shows ctrl+D and press shift+ctrl+D. Thereupon this shortcut is shown and accepted as new when the dialog is closed.

7 (Button on details dialog): This button opens the dialog for selection of a new image. The caption should be shown to make it clear.
Comment 4 Cor Nouws 2015-01-31 01:21:18 UTC
Hi Heiko
(In reply to Heiko Tietze from comment #3)

> 1 (Nasty drop-down menu): I agree that this drop down is not really nice. But
> we need to break down the large list of functions into small pieces to avoid
> too much browsing. A tree view can be used on the left view with all functions
> but that's not possible when items are supposed to get sorted up/down. (read
> 'not possible' as 'very unusual').

Looking once more, I must admit that I don't at all understand what the function of the part is that I gave number 1, the rectangle with Edit and Macro's.
The reason: once you have selected a toolbar or menu, the list below shows the items present. And setting the focus on e.g. item "Date and time" and then clicking Add would add the new item below there?!
(hmm, and what should 'Add' left below that item list do?)

> 2 (Keep events with customization, perhaps on a third tab): The basic workflow
> follows the dual-list principle where you select an item on the left list with
> all options and add it to the right list of selections. I have no idea how
> events on a third tab would fit into this workflow.

The functions list (left) showing the macro's and the positions list, the events.
And when we expect that people want to save/load the customization also on a document level to share functionally restricted templates, than that looks as a logic link with events (that are applied to templates).

> 4 (Search for uno:commands): I would allow to search for function names as a
> hidden expert feature. But this information does not need to be shown in first
> place. Maybe on the details dialog.

Unless people know the name of a uno command and want to search that. Definitely those users exist.

> 5 (How to store data): We postponed the discussion about implementation of
> storage since it's not part of the UI. I'd say that all customization done in
> this dialog has to be saved in one reloadable object (separate files, xml
> sections, references somewhere).

The current implementation allows storage. So I expect it to available too. Would be fine if various items could be combined. But I explained that is not the case now too (And maybe even for reasons that we haven't thought of as for now.)

> BTW: If events would be part of this dialog users expect it to be saved with
> the menu/toolbar and shortcut customization.

Unless specified different: yes.
Saving all in one (toolbars, menu, short cuts, events) has the disadvantage that you save customization in one, that can be applied at various levels: application / module / document.. where does that lead us..?

> 6 (How to enter a new shortcut): The idea is to focus the input field and
> accept any key press as new shortcut. For example you go to the field that
> shows ctrl+D and press shift+ctrl+D. Thereupon this shortcut is shown and
> accepted as new when the dialog is closed.

Still, if the shortcut that I think of, is not available (used already), it's useful that I can just see what is available. Thus the list.

Now, what just came to my mind, is a really serious question: how can people assign shortcuts to styles and macro's?
In the current implementation that is done by choosing macro's or styles in the lists category and item..
I do not see that option in the current design.
For styles, there is of course the wish to make is possible to assign a shortcut somewhere in the style dialog or window styles and formatting. But it's only a wish.
One could think of the same in the dialog to run/open a macro.
But then the action of assigning shortcuts is scattered around the place, and an overview misses.

(Apologies that I've not seen this before. It's hard to find time. But it also shows how tricky this work is. Even when it's published and some people take effort to vote, it's not recognized. Hmm :\ )

> 7 (Button on details dialog): This button opens the dialog for selection of a
> new image. The caption should be shown to make it clear.

I thought of that option, but then would have expected to be closer to the icon shown ;)

Summary: I very much like the easiness of finding functions, and applying directly or by drag and drop.
That could even be extended by implementing dragging from the functions list to the toolbar or menu itself (would save selecting the desired one for the properties list.)
I'm not at all convinced however that restrictions that seem to be planned for events and shotcuts, will make people happy.
Comment 5 Yousuf Philips (jay) (retired) 2015-02-26 23:36:15 UTC
Created attachment 113721 [details]
ms office function list

While viewing the toolbar customization used in MS Office, i noticed a few features that would be useful to include.

1) An indication when a function is a split button
2) An indication when a function is a group button
3) An indication when a function can take text input
Comment 6 Robinson Tryon (qubit) 2016-08-25 05:38:58 UTC Comment hidden (obsolete)
Comment 7 Yousuf Philips (jay) (retired) 2016-10-15 13:42:13 UTC
*** Bug 96705 has been marked as a duplicate of this bug. ***
Comment 8 Yousuf Philips (jay) (retired) 2016-10-15 13:43:29 UTC
kompilainenn submitted an alternative mockup of a redesigned customize dialog in attachment 121527 [details] (Mockup Keyboard tab in dialogue Customize) in bug 96705.
Comment 9 Roman Kuznetsov 2016-10-15 14:09:30 UTC
(In reply to Yousuf Philips (jay) from comment #8)
> kompilainenn submitted an alternative mockup of a redesigned customize
> dialog in attachment 121527 [details] (Mockup Keyboard tab in dialogue
> Customize) in bug 96705.

my bug 96705 has four mockups, for any tabs. This is simple for information
Comment 10 Yousuf Philips (jay) (retired) 2016-10-15 18:49:06 UTC
kompilainenn's mockups

Keyboard tab - attachment 121527 [details]
Menus tab - attachment 121539 [details]
Toolbars tab - attachment 121543 [details]
Events tab - attachment 121544 [details]

Heiko's comment in bug 96705: "Regarding your ideas I suggest to give clues about the interaction, e.g. the category list is a filter for the functions list, or assigned and available shortcuts are linked lists (you move items from one list to the other). Could be done by the placement of controls or by having the interaction controls nearby where it has an impact.

Anyway, I agree that we need to improve the customization dialog. At least when we get the enhanced toolbar or when the individualization of the sidebar will be possible."
Comment 11 Yousuf Philips (jay) (retired) 2017-05-23 16:41:26 UTC
Me and Heiko are currently revising Heiko's original designs from 2015 blog post in this google doc so it can be worked on during GSoC.

https://docs.google.com/document/d/1IPXkYMmyXQzoVUdMpnBeoQdf-LNp5_oNaqfW6OFhxqA/edit?usp=sharing
Comment 12 Xisco Faulí 2017-09-11 08:34:58 UTC
Dear developer,
This bug has been in ASSIGNED status for more than 3 months without any
activity. Resetting it to NEW.
Please assigned it back to yourself if you're still working on this.
Comment 13 Muhammet Kara 2017-09-11 09:15:27 UTC
I have been implementing the accepted design during the summer.
Comment 14 Heiko Tietze 2017-09-11 10:46:51 UTC
(In reply to Muhammet Kara from comment #13)
> I have been implementing the accepted design during the summer.

So why don't you you resolve this ticket as fixed? :-)
Comment 15 Yousuf Philips (jay) (retired) 2017-09-11 14:25:28 UTC
(In reply to Heiko Tietze from comment #14)
> So why don't you you resolve this ticket as fixed? :-)

As it isnt fixed based on the mockups.
Comment 16 Heiko Tietze 2017-09-13 07:35:16 UTC
Closing this ticket as fixed since the request has been realized. Remaining issues are tracked in other tickets.
Comment 17 Xisco Faulí 2017-09-15 10:47:40 UTC
I guess the correct status here should be RESOLVED WORKSFORME unless we know the commits fixing this issue...
Comment 18 Muhammet Kara 2017-09-15 10:59:48 UTC
(In reply to Xisco Faulí from comment #17)
> I guess the correct status here should be RESOLVED WORKSFORME unless we know
> the commits fixing this issue...

b9c55dcd7485 Don't use PostUserEvent to show message box in Customize dialog
aad3e6d02eb6 Polish the Customize dialog
6c68f38bc28b Make the Modify button functional in the Customize dialog
862b968d1c01 Disable the individual reset button for the menubar menus
25435b29da75 Make toolbar/menu addition/removal functional again in the Customize dialog
46d993c352c2 Implement "Reset" button in the Customize dialog
7e0ecdecb113 Implement "Insert" button in the Customize dialog
0114ef64fc35 Implement Search/Filter feature in the Customize dialog
60d622d807f4 Implement "Remove" button in the Customize dialog
c525dc764114 Implement "Add" button in the Customize dialog
3e4de4d63c89 Initialize and update command categories and functions for the Toolbar tab
3652f6624528 Initialize and update Function list box properly
283280ec5428 Add custom widget class: CommandCategoryListBox
d69f9436b59e Convert UI of Customize Dialog to the new design
3976f115ef53 Add some exception messages to the removeSettings method
114d3b369ae7 Remove useless if check
9f45e431abf0 Add new helper class to cui for SvxConfigPage
2ee84fe096f9 Cleanup duplicate functions in cfg.cxx
8e71acc7b775 Separate SvxToolbarConfigPage from cfg.cxx
887e9829dc22 Separate SvxMenuConfigPage from cfg.cxx
91c838a4c9d0 Use SvTreeListBox's own method: RemoveEntry
1ec4082d7adb Implement search feature in the Kayboard tab
Comment 19 V Stuart Foote 2017-09-15 13:09:51 UTC
Thank you Muhammet!
Comment 20 Xisco Faulí 2017-09-18 07:47:19 UTC
Thanks Muhammet for the detailed comment!!