This scheme could be used to replace the existing tag browser category icon selection. I didn't do that because the risk seemed high. The category icon dict is used in several places and in plugins. It also has meaning for search and user categories, where the new value icon stuff doesn't.
If the new facilities are not used then performance risk is near zero. Performance shouldn't be an issue if used because the icon dictionaries scale well. The exception might be templates. We have no control over the complexity or performance of user-written templates.
This PR fixes a few bugs I found while implementing the new feature.
- When right-clicking in tag browser white space, remove any context menu that depends on having an index.
- Remove general subcategorization menu options from the context menu. These are global, not part of context for the current index.
- Add a menu option to the config menu to open Prefs / L&F / Tag browser. This permits easily getting to the global subcat and display options, avoiding adding more menu lines to the config menu.
In the tag browser and booklist the icons resize automatically with the font. That doesn't happen in book details because there isn't any notion of a "row". With this option the user can make the size as desired. For more background see the first few posts of https://www.mobileread.com/forums/showthread.php?t=365537
1. Add the option to show the "GUI actions" button in the status bar. The code to add the Preferences button is commented out.
2. Add a shortcut to All GUI Actions: Ctrl+Alt+Shift+G
3. Fix some existing problems in the All GUI Actions implementation.
4. Add the infrastructure for status line buttons (all in init.py)
5. Make using the shortcut for All GUI Actions place the menu over the button in the status bar, if it exists and is the only button/menu item. (actions.__init__.py)