Since the preference for the keyboard shortcuts is set server-side, I had to shove them into a non-javascript context, and then access them via javascript, in a separate file. Since I'm not a javascript expert, I'm more than open to alternatives if this isn't the right way™ to do it.master
							parent
							
								
									cb8fc14858
								
							
						
					
					
						commit
						e9ea61036f
					
				| @ -0,0 +1,30 @@ | ||||
| function isKeyboardShortcutsEnabled() { | ||||
|   if (window === parent.frames.top) { | ||||
|     var config = JSON.parse(document.getElementById('preferencesConfig').textContent) | ||||
|     return config['keyboardShortcutsEnabled']; | ||||
|   } else { | ||||
|     return parent.frames.top.isKeyboardShortcutsEnabled(); | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| if (isKeyboardShortcutsEnabled()) { | ||||
|   Mousetrap.bind('space', function() { parent.frames.playQueue.onToggleStartStop(); return false; }); | ||||
|   Mousetrap.bind('left',  function() { parent.frames.playQueue.onPrevious(); }); | ||||
|   Mousetrap.bind('right', function() { parent.frames.playQueue.onNext(); }); | ||||
|   Mousetrap.bind('*',     function() { parent.frames.playQueue.onStarCurrent(); }); | ||||
|   Mousetrap.bind('plus',  function() { parent.frames.playQueue.onGainAdd(+5); }); | ||||
|   Mousetrap.bind('-',     function() { parent.frames.playQueue.onGainAdd(-5); }); | ||||
|   Mousetrap.bind('q',     function() { parent.frames.playQueue.onTogglePlayQueue(); }); | ||||
| 
 | ||||
|   Mousetrap.bind('/',     function() { parent.frames.upper.$("#query").focus(); }); | ||||
|   Mousetrap.bind('m',     function() { parent.frames.upper.toggleLeftFrameVisible(); }); | ||||
| 
 | ||||
|   Mousetrap.bind('g h', function() { parent.frames.main.location.href = "home.view?"; }); | ||||
|   Mousetrap.bind('g p', function() { parent.frames.main.location.href = "playlists.view?"; }); | ||||
|   Mousetrap.bind('g o', function() { parent.frames.main.location.href = "podcastChannels.view?"; }); | ||||
|   Mousetrap.bind('g s', function() { parent.frames.main.location.href = "settings.view?"; }); | ||||
|   Mousetrap.bind('g t', function() { parent.frames.main.location.href = "starred.view?"; }); | ||||
|   Mousetrap.bind('g r', function() { parent.frames.main.location.href = "more.view?"; }); | ||||
|   Mousetrap.bind('g a', function() { parent.frames.main.location.href = "help.view?"; }); | ||||
|   Mousetrap.bind('?',   function() { parent.frames.main.location.href = "more.view#shortcuts"; }); | ||||
| } | ||||
					Loading…
					
					
				
		Reference in new issue