With the changes in the context menus in the UI for 5+, I have lost a lot of context menus that I used all the time, thus this change has created a very irritating UI issue for me as well as all of the users here that I have polled. I was told on the users list that this was done specifically to simplfy the UI for 'new users'. Well - what about existing/power users? Do we no longer count? The bottom line is, while I understand the desire to create a clean UI, there are a lot of reasons that a lot of users will disagree with many of these choices. Allowing the user to customize the context menus themselves - hopefully in a manner that is easy to roll out to multiple users in a corporate environment - would eliminate the negative feelings that I and others now have with respect to the direction the UI team is taking Libreoffice. Please consider this enhancement request as a way to provide power users the flexibility they want and need, while still slimming down the default UI for new users.
Believe most of the context menus remain source based .src code Probably should be moved into .UI Glade configurable widgets, but I have no idea how complex that effort would be. Still, might be worth undertaking.
Thanks Stuart!
*** Bug 93714 has been marked as a duplicate of this bug. ***
+1
Would be nice to have a comprehensive customization though. First steps have been done http://user-prompt.com/how-to-make-libreoffice-customization-usable/
Nothing in there about adding the ability to customize context menus though...
(In reply to Charles from comment #6) > Nothing in there about adding the ability to customize context menus > though... Not in particular about context menus but we should have a common approach for all customizations. For those who do not read the heading info: Interesting how long tickets can be valid https://bz.apache.org/ooo/show_bug.cgi?id=7449 and referenced there https://wiki.openoffice.org/wiki/OpenOffice.org_Internship/Projects/2010/New_Context_Menu_Implementation.
(In reply to Heiko Tietze from comment #7) > Not in particular about context menus but we should have a common approach > for all customizations. > As shown by Ariel Constenla-Haile's OOo workup describing the SFX2 based context menu structure -- https://wiki.openoffice.org/wiki/User:Arielch/Internship/Current_Context_Menu_Implementation -- which mostly is how things remain in LibreOffice, the interplay of context menu pop-ups in their component shells is very complex. Meaning it is going to require a major refactoring to move the context menus to a framework allowing user customization. The simple truth is that if it were easy, it would have been done already. Due to that complexity, IMHO not sure refactoring of context menu framework can be top driven from UI Design perspective of seeking a common customization core. And we may have to take it as is.
(In reply to V Stuart Foote from comment #8) > Due to that complexity, IMHO not sure refactoring of context menu framework > can be top driven from UI Design perspective of seeking a common > customization core. And we may have to take it as is. For now at least, but doesn't mean we can't keep this bug alive, and hope someone steps up to take it on... ;)
@Heiko, Cor, * I've set the "needsDevEval topicUI" because we do need to have some idea of what will be feasible to implement. Complexity of refactoring the underlying code aside, Design/UX-advise should address a GUI mechanism for managing the context menus. We'll need to compose a near term design--for handling existing context menus if they can be simply refactored and configured to use .UI and XML. But also a longer range GUI/UX assesment of how would/should context menus be manipulated in relationship to customizing Toolbars, Menus, and Sidebar context panels.
Created attachment 118533 [details] Python based extension to add Table cell protect/unprotect back to cell context menu to Writer table cell context menu Niklas J's Python and UNO based sample extension to add Table cell protect/unprotect back to Writer table cell context menu.
I already have a (more or less) working prototype. Let's see how far I can get with it...
Maxim Monastirsky committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=737555eb2ff5f4f90b9794784e1ac8f0451b9b97 tdf#93837 Add a new PopupLabel property It will be available in 5.1.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Maxim Monastirsky committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=a133053f94f7c5b05f4354bb4977c2250b470a8a tdf#93837 Create Thesaurus popup menu controller It will be available in 5.1.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
I forgot to put the bug ID in some commits: http://cgit.freedesktop.org/libreoffice/core/commit/?id=0c6305a01f13f5c09dc4c000d5b250319fffe0e4 http://cgit.freedesktop.org/libreoffice/core/commit/?id=72e426c4c04051320f6f43542911a3e63f36bcfa More to come.
Maxim Monastirsky committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=899453aa8407fca8a93d51f12ad4e335d1beeb62 tdf#93837 Add context menu customization UI It will be available in 5.1.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Maxim Monastirsky committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=c65e00d908a2dcf47d3ff925d09e336d9b0939f7 tdf#93837 Make customization actually work It will be available in 5.1.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Not finished yet.
Maxim Monastirsky committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=318c3a48c66dd4ceba801ef410f89b8bf900d5c7 tdf#93837 Support nice UI names for context menus It will be available in 5.1.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Hi Maxim, First, thank you very much for taking this on! One dumb question though... How do I actually invoke editing the context menus? I don't see anything in the context menu, or in Tools > Customize... Or - maybe I'm a little early? I have installed: Version: 5.1.0.0.alpha1+ Build ID: b216cc1b8096eb60c27f67e8c27b7cd756c75e38 TinderBox: Win-x86@62-merge-TDF, Branch:MASTER, Time: 2015-11-12_00:06:20 Locale: en-US (en_US) Thanks very much again for doing this!! Charles
(In reply to Charles from comment #20) > How do I actually invoke editing the context menus? I don't see anything in > the context menu, or in Tools > Customize... > > Or - maybe I'm a little early? Yes, it's too early. What I did so far is: - Introduced xml format (based on the menubar format) to be used for context menus (including reading & writing support) + integrated with LO configuration API. This approach allows us to just reuse the customization framework we already have for toolbars/menubar, without reinventing the wheel (which could be the case with Glade .ui approach that was suggested in some of the comments here.) - Added fully working customization UI to Tools->Customize. Right now it depends on LO_USE_NEWCONTEXTMENU env. variable, because it still has no use (see below). - Some misc. adaptations (see commit messages). What is still needed to do: - Actually convert context menus from the old format to xml, so that the customization dialog will pick them. - Adapt the application code to show the new menus when right-clicking, instead of the old ones.
(In reply to Maxim Monastirsky from comment #21) > (In reply to Charles from comment #20) >> How do I actually invoke editing the context menus? I don't see anything in >> the context menu, or in Tools > Customize... >> >> Or - maybe I'm a little early? > Yes, it's too early. Gotcha... Thanks again! Since I'm not sure exactly how I would go about testing your changes so far, I'll be watching closely for when you get closer to finishing and I can test the actual editing of the menus. Unless you can point me to what I should be testing and how?
Maxim Monastirsky committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=ff35d252ff247c55c1004cce6676af8f881a2e68 tdf#93837 Add UNO-based SmartTag menu controller It will be available in 5.1.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Maxim Monastirsky committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=8ca76fc12e088a95247cb8e47ba8252db59e7ea6 tdf#93837 Never hide clipboard functions in context menus It will be available in 5.2.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Maxim Monastirsky committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=2657e3146232dc61d759ff5da35eba2ce6270517 tdf#93837 Convert MN_TAB_POPUPMENU to xml It will be available in 5.2.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Maxim Monastirsky committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=bf18145d3ff9ec731bc6caa9797e76bfb71a6c1a tdf#93837 Add helper code to load popup menus from xml It will be available in 5.2.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Maxim Monastirsky committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=bb2ead8b4bcf197403842cef16a61acdb3185755 tdf#93837 Adapt sfx2 to use xml based context menus It will be available in 5.2.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Maxim Monastirsky committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=121b7b880c4d17c1ce320ad6b1c560577c9953ed tdf#93837 Convert MN_PPREVIEW_POPUPMENU to xml It will be available in 5.2.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Maxim Monastirsky committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=1c035f1b0eb6f5e5fbb6c54bf2eea9a6c983eb8f tdf#93837 Convert some Calc context menus to xml It will be available in 5.2.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
The main profit that I see is reducing horizontal lenglth of the panel. Currently, by default, LO have big icons and Calc panel is barely fits laptop screen. So grouping some buttons would benefit a lot! (for example grouping allignment actions) See also bug https://bugs.documentfoundation.org/show_bug.cgi?id=96417 and screenshot https://bug-attachments.documentfoundation.org/attachment.cgi?id=121227
Maxim Monastirsky committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=399fd4153993c3677eaaf0ad01700d64a1cb5b2c tdf#93837 sfx2: Allow loading xml menus by resource name It will be available in 5.2.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Maxim Monastirsky committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=8a664fd83f70282d000aaedc626f1fa09a99161e tdf#93837 Convert RID_POPUP_TAB to xml It will be available in 5.2.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Maxim Monastirsky committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=430303aeee790cb8951dd007e7dffb55fa7f0f53 tdf#93837 Convert sheet row/col header context menus to xml It will be available in 5.2.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Maxim Monastirsky committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=447c313586e9b36acff393feae15f5e1b63861ae tdf#93837 Convert Writer context menus to xml It will be available in 5.2.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Maxim Monastirsky committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=c5a1278fa2bcc193a82d78ee408ea7a913420675 tdf#93837 sw: Convert comment context menu to xml It will be available in 5.2.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
*** Bug 90845 has been marked as a duplicate of this bug. ***
Maxim Monastirsky committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=291544d481a79ce037018dd7cefbfec719b76f2d tdf#93837 starmath: Convert RID_VIEWMENU to xml It will be available in 5.2.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Maxim Monastirsky committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=144546b622fd6146e023efe27b74f1271ff47008 tdf#93837 Convert RID_POPUP_DLGED to xml It will be available in 5.2.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Maxim Monastirsky committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=69c5252a63d6124a90b652c423dbf94d26fe196b tdf#93837 Convert RID_FM_TEXTATTRIBUTE_MENU to xml It will be available in 5.2.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
@Maxim: If possible, it would be nice to have a means of including an xml file inside and an xml file, so that if we needed to make a change, it could be done in a single file rather than every file. (e.g. cut, copy, paste)
(In reply to Yousuf (Jay) Philips from comment #40) > @Maxim: If possible, it would be nice to have a means of including an xml > file inside and an xml file, so that if we needed to make a change, it could > be done in a single file rather than every file. (e.g. cut, copy, paste) - For the duplicate sub-menus, like Anchor, Wrap etc., it's possible to extract them to separate files, and then use ResourceMenuController to include them in context menus or menu bar (like I did with conditional formatting). It's already on my TODO list, but with somewhat low priority. - For a sequence of commands (cut, copy, paste) there isn't currently a way (at least that I know). Surely we can think of some solution (change the parser to support includes, use XSLT, or other pre-processing, or even introduce a concept of menu fragments) - but I wonder if this really worth the effort, esp. if this is only about cut-copy-paste (and maybe one or two more such cases). And replacing identical sequence of commands - if ever needed - surely could be done using some automation. Also, while I fully understand your concerns, I actually think that the current situation has _some_ advantage over what we had before, as it's now much easier to see the whole menu structure at once and modify it, instead of getting lost in the forest of #includes and #defines. In wrt. to cut-copy-paste in particular, there is much simpler solution: I can easily hardcode it in the C++ code for any context menu. That's what we're doing for .src context menus as you probably know, so it will be no worse if we continue with this in the new implementation. (The downsides are that some menus shouldn't ideally have clipboard functions (e.g. print preview), and also that users won't be able to customize this part of the menu. But we might find some solutions for those.) Anyway - if you (or anyone else) have any bright (technical) idea on how to improve the current implementation - please share it. I - as always - open for suggestions.
Maxim Monastirsky committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=b354775b377d29afe63c4b15cb4574a398dca007 tdf#93837 sd: Initial import of context menu xml files It will be available in 5.2.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
outstanding new feature!!! thanks Maxim!!! tested with a recent 5.2 daily build and it works fine can we mark this a RESOLVED or there's still some work left to do?
(In reply to tommy27 from comment #43) > outstanding new feature!!! thanks Maxim!!! Glad you liked it! > can we mark this a RESOLVED or there's still some work left to do? There is still some work left in Impress/Draw and in Chart.
Maxim Monastirsky committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=2d4e9abc07b013bcf0fb6cec56ddd326c7fd1da4 tdf#93837 chart2: Convert shape context menus to xml It will be available in 5.2.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
*** Bug 50837 has been marked as a duplicate of this bug. ***
Maxim Monastirsky committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=ac8c392dc42534adf1dcfe23c9c850b05124f7a6 tdf#93837 Add UI names for sd menus It will be available in 5.2.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
As most of menus in the main LO components are now accessible in the customization dialog, I prefer to close the bug at this stage. There is still a lot of space for improvement (and some menus still not in xml), but that can be done outside of this bug, which has a very long history already. Also I don't have that much time to work on LO these days, so keeping that bug open doesn't make much sense anyway.
VERIFIED in LibO 5.2.0.0.alpha0+ Build ID: d6bf3bcd8b51012d55a2ec962800a8549e2b85e1 CPU Threads: 4; OS Version: Windows 6.2; UI Render: default; TinderBox: Win-x86@62-merge-TDF, Branch:MASTER, Time: 2016-04-15_06:46:09 Locale: it-IT (it_IT) thanks Maxim, you did a very nice job. GUI customization is incredibly powered by this new features. thumbs up!!!
*** Bug 101559 has been marked as a duplicate of this bug. ***