class_menubar.php assigns icons for nearly all of the submenu items except Favorites and Themes, neither of which is displayed by default in the javascript pulldown menu. For consistency, and to allow theme designers to have more flexibility without having to rewrite functions, these can be assigned icons also. At the moment the Favorites menu will not work in getMenuAsIcons() because no submenu items will display (each submenu item is tested with "if $this->icon" before being procesed).
getThemeMenu() could assign icons based on the selected status of that theme. This can be done by adding lines like:
$submenu->addIcon($PGV_IMAGE_DIR."/".$PGV_IMAGES["selected"]["small"]);
and
$submenu->addIcon($PGV_IMAGE_DIR."/".$PGV_IMAGES["not_selected"]["small"]);
..to the IF ELSE around line 918.
getFavouritesMenu can assign icons based on whether they are a URL, INDI, FAM, SOUR, etc. by editing/rearranging the CASE statements around line 1003. I'm not 100% clear on which items can be added at all.
These changes would break existing 4.1.6 themes until any missing image array items are defined in theme.php:
Selected theme: $PGV_IMAGES["selected"]["small"] - needs to be added, can use images/checked.gif
Nonselected theme: $PGV_IMAGES["not_selected"]["small"] - needs to be added, can be empty
INDI: $PGV_IMAGES["indis"]["small"] already exists
FAM: $PGV_IMAGES["cfamily"]["small"] ""
SOUR: $PGV_IMAGES["source"]["small"] ""
etc.