8b39b9ebf1c40d89f951286b7ed20912254b44cc max Mon Mar 13 06:48:36 2023 -0700 adding keyboard shortcut to button mouse over text, refs #30809 diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c index c276684..43b201f 100644 --- src/hg/hgTracks/hgTracks.c +++ src/hg/hgTracks/hgTracks.c @@ -8233,60 +8233,60 @@ char *cfgName = catTwoStrings(cfgPrefix,"_html"); char *html = cfgOption(cfgName); if (html) puts(html); } void printShortcutButtons(struct cart *cart, bool hasCustomTracks, bool revCmplDisp, bool multiRegionButtonTop) /* Display bottom control panel. */ { if (isSearchTracksSupported(database,cart)) { cgiMakeButtonWithMsg(TRACK_SEARCH, TRACK_SEARCH_BUTTON,TRACK_SEARCH_HINT); } hPrintf(" "); -hButtonWithMsg("hgt.reset", "default tracks","Display only default tracks"); +hButtonWithMsg("hgt.reset", "default tracks","Display only default tracks - keyboard shortcut: d, then t"); hPrintf(" "); hButtonWithMsg("hgt.defaultImgOrder", "default order", - "Display current tracks in their default order"); + "Display current tracks in their default order - keyboard shortcut: d, then o"); hPrintf(" "); -hButtonWithMsg("hgt.hideAll", "hide all","Hide all currently visible tracks"); +hButtonWithMsg("hgt.hideAll", "hide all","Hide all currently visible tracks - keyboard shortcut: h, then a"); hPrintf(" "); hPrintf("", hasCustomTracks ? CT_MANAGE_BUTTON_LABEL : CT_ADD_BUTTON_LABEL, - hasCustomTracks ? "Manage your custom tracks" : "Add your own custom tracks"); + hasCustomTracks ? "Manage your custom tracks - keyboard shortcut: c, then t" : "Add your own custom tracks - keyboard shortcut: c, then t"); jsOnEventById("click", "ct_add", "document.customTrackForm.submit(); return false;"); hPrintf(" "); -hButtonWithMsg("hgTracksConfigPage", "configure","Configure image and track selection"); +hButtonWithMsg("hgTracksConfigPage", "configure","Configure image and track selection - keyboard shortcut: c, then f"); hPrintf(" "); if (!multiRegionButtonTop) { printMultiRegionButton(); hPrintf(" "); } hButtonMaybePressed("hgt.toggleRevCmplDisp", "reverse", - revCmplDisp ? "Show forward strand at this location" - : "Show reverse strand at this location", + revCmplDisp ? "Show forward strand at this location - keyboard shortcut: r, then v" + : "Show reverse strand at this location - keyboard shortcut: r, then v", NULL, revCmplDisp); hPrintf(" "); -hButtonWithOnClick("hgt.setWidth", "resize", "Resize image width to browser window size", "hgTracksSetWidth()"); +hButtonWithOnClick("hgt.setWidth", "resize", "Resize image width to browser window size - keyboard shortcut: r, then s", "hgTracksSetWidth()"); // put the track download interface behind hg.conf control if (cfgOptionBooleanDefault("showDownloadUi", FALSE)) jsInline("var showDownloadButton = true;\n"); } void doTrackForm(char *psOutput, struct tempName *ideoTn) /* Make the tracks display form with the zoom/scroll buttons and the active * image. If the ideoTn parameter is not NULL, it is filled in if the * ideogram is created. */ { struct group *group; struct track *track; char *freezeName = NULL; boolean hideAll = cgiVarExists("hgt.hideAll");