| 
									
										
										
										
											2013-05-03 01:29:43 +04:00
										 |  |  | /********************************************************************** | 
					
						
							|  |  |  | *  | 
					
						
							|  |  |  | * | 
					
						
							|  |  |  | * | 
					
						
							|  |  |  | **********************************************************************/ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | //var DEBUG = DEBUG != null ? DEBUG : true
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | var STEPS_TO_CHANGE_DIRECTION = 2 | 
					
						
							|  |  |  | var _STEPS_LEFT_TO_CHANGE_DIRECTION = STEPS_TO_CHANGE_DIRECTION | 
					
						
							|  |  |  | // XXX code related to this needs testing...
 | 
					
						
							|  |  |  | var DIRECTION = 'next' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-03 02:11:24 +04:00
										 |  |  | 
 | 
					
						
							|  |  |  | /*********************************************************************/ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-03 01:29:43 +04:00
										 |  |  | var KEYBOARD_CONFIG = { | 
					
						
							| 
									
										
										
										
											2013-05-23 01:34:14 +04:00
										 |  |  | 	// single image mode only...
 | 
					
						
							|  |  |  | 	'.single-image-mode': { | 
					
						
							|  |  |  | 		title: 'Single image mode', | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		// XXX this should only work on single image mode...
 | 
					
						
							|  |  |  | 		F: doc('Toggle view proportions',  | 
					
						
							|  |  |  | 			function(){  | 
					
						
							|  |  |  | 				toggleImageProportions()  | 
					
						
							|  |  |  | 				centerRibbons() | 
					
						
							|  |  |  | 			}), | 
					
						
							| 
									
										
										
										
											2013-05-23 16:13:10 +04:00
										 |  |  | 		Esc: doc('Exit single image mode',  | 
					
						
							|  |  |  | 				function(){ toggleSingleImageMode('off') }), | 
					
						
							|  |  |  | 		Q: 'Esc', | 
					
						
							| 
									
										
										
										
											2013-05-23 01:34:14 +04:00
										 |  |  | 	}, | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-23 16:13:10 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-23 17:17:31 +04:00
										 |  |  | 	// help mode...
 | 
					
						
							|  |  |  | 	'.help-mode': { | 
					
						
							| 
									
										
										
										
											2013-05-23 16:13:10 +04:00
										 |  |  | 		title: 'Help', | 
					
						
							| 
									
										
										
										
											2013-05-23 15:22:38 +04:00
										 |  |  | 		doc: 'NOTE: In this mode all other key bindings are disabled, except '+ | 
					
						
							|  |  |  | 			'the ones explicitly defined here.', | 
					
						
							|  |  |  | 		ignore: '*', | 
					
						
							| 
									
										
										
										
											2013-05-23 16:13:10 +04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 		Esc: doc('Close help', | 
					
						
							|  |  |  | 			function(){ toggleKeyboardHelp('off') }), | 
					
						
							|  |  |  | 		H: 'Esc', | 
					
						
							|  |  |  | 		Q: 'Esc', | 
					
						
							|  |  |  | 		// '?'
 | 
					
						
							|  |  |  | 		'/': {  | 
					
						
							|  |  |  | 				shift: 'Esc',  | 
					
						
							|  |  |  | 			}, | 
					
						
							| 
									
										
										
										
											2013-05-23 15:22:38 +04:00
										 |  |  | 	}, | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-23 16:13:10 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-03 01:29:43 +04:00
										 |  |  | 	// general setup...
 | 
					
						
							| 
									
										
										
										
											2013-05-23 15:22:38 +04:00
										 |  |  | 	'.viewer:not(.overlay)': { | 
					
						
							| 
									
										
										
										
											2013-05-23 01:34:14 +04:00
										 |  |  | 		title: 'Global', | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-03 01:29:43 +04:00
										 |  |  | 		// Navigation...
 | 
					
						
							|  |  |  | 		// XXX need to cancel the animation of the prev action...
 | 
					
						
							|  |  |  | 		Left: { | 
					
						
							| 
									
										
										
										
											2013-05-23 01:34:14 +04:00
										 |  |  | 				default: doc('Previous image', | 
					
						
							|  |  |  | 					function(){  | 
					
						
							|  |  |  | 						event.preventDefault() | 
					
						
							|  |  |  | 						// update direction...
 | 
					
						
							|  |  |  | 						if(DIRECTION != 'prev'){ | 
					
						
							|  |  |  | 							_STEPS_LEFT_TO_CHANGE_DIRECTION-- | 
					
						
							|  |  |  | 							if(_STEPS_LEFT_TO_CHANGE_DIRECTION == 0){ | 
					
						
							|  |  |  | 								DIRECTION = 'prev' | 
					
						
							|  |  |  | 								_STEPS_LEFT_TO_CHANGE_DIRECTION = 2 | 
					
						
							|  |  |  | 							} | 
					
						
							|  |  |  | 						} else { | 
					
						
							|  |  |  | 								_STEPS_LEFT_TO_CHANGE_DIRECTION = 2 | 
					
						
							| 
									
										
										
										
											2013-05-03 01:29:43 +04:00
										 |  |  | 						} | 
					
						
							| 
									
										
										
										
											2013-05-23 01:34:14 +04:00
										 |  |  | 						prevImage()  | 
					
						
							|  |  |  | 						centerRibbons() | 
					
						
							|  |  |  | 					}), | 
					
						
							|  |  |  | 				ctrl: doc('Previous screen', | 
					
						
							|  |  |  | 					function(){  | 
					
						
							|  |  |  | 						event.preventDefault() | 
					
						
							|  |  |  | 						prevScreenImages() | 
					
						
							|  |  |  | 						centerRibbons() | 
					
						
							|  |  |  | 					}), | 
					
						
							| 
									
										
										
										
											2013-05-03 01:29:43 +04:00
										 |  |  | 			}, | 
					
						
							|  |  |  | 		Right: { | 
					
						
							| 
									
										
										
										
											2013-05-23 01:34:14 +04:00
										 |  |  | 				default: doc('Next image', | 
					
						
							|  |  |  | 					function(){  | 
					
						
							|  |  |  | 						event.preventDefault() | 
					
						
							|  |  |  | 						// update direction...
 | 
					
						
							|  |  |  | 						if(DIRECTION != 'next'){ | 
					
						
							|  |  |  | 							_STEPS_LEFT_TO_CHANGE_DIRECTION-- | 
					
						
							|  |  |  | 							if(_STEPS_LEFT_TO_CHANGE_DIRECTION == 0){ | 
					
						
							|  |  |  | 								DIRECTION = 'next' | 
					
						
							|  |  |  | 								_STEPS_LEFT_TO_CHANGE_DIRECTION = 2 | 
					
						
							|  |  |  | 							} | 
					
						
							|  |  |  | 						} else { | 
					
						
							|  |  |  | 								_STEPS_LEFT_TO_CHANGE_DIRECTION = 2 | 
					
						
							| 
									
										
										
										
											2013-05-03 01:29:43 +04:00
										 |  |  | 						} | 
					
						
							| 
									
										
										
										
											2013-05-23 01:34:14 +04:00
										 |  |  | 						nextImage()  | 
					
						
							|  |  |  | 						centerRibbons() | 
					
						
							|  |  |  | 					}), | 
					
						
							|  |  |  | 				ctrl: doc('Previous screen', | 
					
						
							|  |  |  | 					function(){  | 
					
						
							|  |  |  | 						event.preventDefault() | 
					
						
							|  |  |  | 						nextScreenImages() | 
					
						
							|  |  |  | 						centerRibbons() | 
					
						
							|  |  |  | 					}), | 
					
						
							| 
									
										
										
										
											2013-05-03 01:29:43 +04:00
										 |  |  | 			}, | 
					
						
							|  |  |  | 		Space: { | 
					
						
							|  |  |  | 				default: 'Right', | 
					
						
							|  |  |  | 				shift: 'Left', | 
					
						
							| 
									
										
										
										
											2013-05-03 02:30:51 +04:00
										 |  |  | 				// screen-oriented movement...
 | 
					
						
							|  |  |  | 				ctrl: 'Right', | 
					
						
							|  |  |  | 				'ctrl+shift': 'Left', | 
					
						
							| 
									
										
										
										
											2013-05-03 01:29:43 +04:00
										 |  |  | 			}, | 
					
						
							|  |  |  | 		Backspace: { | 
					
						
							|  |  |  | 				default: 'Left', | 
					
						
							|  |  |  | 				shift: 'Right', | 
					
						
							|  |  |  | 			}, | 
					
						
							| 
									
										
										
										
											2013-05-23 01:34:14 +04:00
										 |  |  | 		Home: doc('First image',  | 
					
						
							|  |  |  | 			function(){ | 
					
						
							| 
									
										
										
										
											2013-05-07 02:16:57 +04:00
										 |  |  | 				event.preventDefault() | 
					
						
							| 
									
										
										
										
											2013-05-03 01:29:43 +04:00
										 |  |  | 				firstImage() | 
					
						
							| 
									
										
										
										
											2013-05-03 05:38:40 +04:00
										 |  |  | 				centerRibbons() | 
					
						
							| 
									
										
										
										
											2013-05-23 01:34:14 +04:00
										 |  |  | 			}), | 
					
						
							|  |  |  | 		End: doc('Last image', | 
					
						
							|  |  |  | 			function(){ | 
					
						
							| 
									
										
										
										
											2013-05-07 02:16:57 +04:00
										 |  |  | 				event.preventDefault() | 
					
						
							| 
									
										
										
										
											2013-05-03 01:29:43 +04:00
										 |  |  | 				lastImage() | 
					
						
							| 
									
										
										
										
											2013-05-03 05:38:40 +04:00
										 |  |  | 				centerRibbons() | 
					
						
							| 
									
										
										
										
											2013-05-23 01:34:14 +04:00
										 |  |  | 			}), | 
					
						
							| 
									
										
										
										
											2013-05-03 02:11:24 +04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		// combined navigation and editor actions...
 | 
					
						
							| 
									
										
										
										
											2013-05-03 01:29:43 +04:00
										 |  |  | 		Up: { | 
					
						
							| 
									
										
										
										
											2013-05-23 01:34:14 +04:00
										 |  |  | 				default: doc('Go to ribbon above',  | 
					
						
							|  |  |  | 					function(){  | 
					
						
							|  |  |  | 						event.preventDefault() | 
					
						
							|  |  |  | 						prevRibbon()  | 
					
						
							|  |  |  | 						centerRibbons() | 
					
						
							|  |  |  | 					}), | 
					
						
							|  |  |  | 				shift: doc('Shift image up', | 
					
						
							|  |  |  | 					function(){  | 
					
						
							|  |  |  | 						event.preventDefault() | 
					
						
							|  |  |  | 						shiftImageUp(null, DIRECTION)  | 
					
						
							|  |  |  | 						centerRibbons() | 
					
						
							|  |  |  | 					}), | 
					
						
							|  |  |  | 				'ctrl+shift': doc('Shift image up to empty ribbon', | 
					
						
							|  |  |  | 					function(){ | 
					
						
							|  |  |  | 						event.preventDefault() | 
					
						
							|  |  |  | 						shiftImageUpNewRibbon(null, DIRECTION)  | 
					
						
							|  |  |  | 						centerRibbons() | 
					
						
							|  |  |  | 					}), | 
					
						
							| 
									
										
										
										
											2013-05-03 01:29:43 +04:00
										 |  |  | 			}, | 
					
						
							|  |  |  | 		Down: { | 
					
						
							| 
									
										
										
										
											2013-05-23 01:34:14 +04:00
										 |  |  | 				default: doc('Go to ribbon below',  | 
					
						
							|  |  |  | 					function(){ | 
					
						
							|  |  |  | 						event.preventDefault() | 
					
						
							|  |  |  | 						nextRibbon()  | 
					
						
							|  |  |  | 						centerRibbons() | 
					
						
							|  |  |  | 					}), | 
					
						
							|  |  |  | 				shift: doc('Shift image down', | 
					
						
							|  |  |  | 					function(){  | 
					
						
							|  |  |  | 						event.preventDefault() | 
					
						
							|  |  |  | 						shiftImageDown(null, DIRECTION)  | 
					
						
							|  |  |  | 						centerRibbons() | 
					
						
							|  |  |  | 					}), | 
					
						
							| 
									
										
										
										
											2013-05-23 15:22:38 +04:00
										 |  |  | 				'ctrl+shift': doc('Shift image down to empty ribbon', | 
					
						
							| 
									
										
										
										
											2013-05-23 01:34:14 +04:00
										 |  |  | 					function(){ | 
					
						
							|  |  |  | 						event.preventDefault() | 
					
						
							|  |  |  | 						shiftImageDownNewRibbon(null, DIRECTION)  | 
					
						
							|  |  |  | 						centerRibbons() | 
					
						
							|  |  |  | 					}), | 
					
						
							| 
									
										
										
										
											2013-05-03 01:29:43 +04:00
										 |  |  | 			}, | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-23 17:17:31 +04:00
										 |  |  | 		L: doc('Rotate image left', function(){ rotateLeft() }), | 
					
						
							|  |  |  | 		R: doc('Rotate image left', function(){ rotateRight() }), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-03 01:29:43 +04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 		// zooming...
 | 
					
						
							| 
									
										
										
										
											2013-05-23 01:34:14 +04:00
										 |  |  | 		'#1': doc('Fit one image', function(){ fitNImages(1) }), | 
					
						
							|  |  |  | 		'#2': doc('Fit two images', function(){ fitNImages(2) }), | 
					
						
							|  |  |  | 		'#3': doc('Fit three images', function(){ fitNImages(3) }), | 
					
						
							|  |  |  | 		'#4': doc('Fit four images', function(){ fitNImages(4) }), | 
					
						
							|  |  |  | 		'#5': doc('Fit five images', function(){ fitNImages(5) }), | 
					
						
							|  |  |  | 		'#6': doc('Fit six images', function(){ fitNImages(6) }), | 
					
						
							|  |  |  | 		'#7': doc('Fit seven images', function(){ fitNImages(7) }), | 
					
						
							|  |  |  | 		'#8': doc('Fit eight images', function(){ fitNImages(8) }), | 
					
						
							|  |  |  | 		'#9': doc('Fit nine images', function(){ fitNImages(9) }), | 
					
						
							| 
									
										
										
										
											2013-05-06 23:43:38 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-23 01:34:14 +04:00
										 |  |  | 		'-': doc('Zoom in', function(){ zoomOut() }), | 
					
						
							|  |  |  | 		'=': doc('Zoom out', function(){ zoomIn() }), | 
					
						
							| 
									
										
										
										
											2013-05-03 01:29:43 +04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-23 01:34:14 +04:00
										 |  |  | 		Enter: doc('Toggle single image view',  | 
					
						
							|  |  |  | 				function(){ toggleSingleImageMode() }), | 
					
						
							| 
									
										
										
										
											2013-05-17 15:34:45 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-23 01:34:14 +04:00
										 |  |  | 		B: doc('Toggle theme', function(){ toggleTheme() }), | 
					
						
							| 
									
										
										
										
											2013-05-17 18:20:38 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 15:48:39 +04:00
										 |  |  | 		S: { | 
					
						
							| 
									
										
										
										
											2013-05-23 01:34:14 +04:00
										 |  |  | 				ctrl: doc('Save current state',  | 
					
						
							|  |  |  | 					function(){ | 
					
						
							| 
									
										
										
										
											2013-05-23 17:28:00 +04:00
										 |  |  | 						event.preventDefault() | 
					
						
							| 
									
										
										
										
											2013-05-23 01:34:14 +04:00
										 |  |  | 						//saveLocalStorage()
 | 
					
						
							|  |  |  | 						saveLocalStorageData() | 
					
						
							|  |  |  | 						saveLocalStorageMarks() | 
					
						
							|  |  |  | 					}) | 
					
						
							| 
									
										
										
										
											2013-05-17 15:48:39 +04:00
										 |  |  | 			}, | 
					
						
							|  |  |  | 		Z: { | 
					
						
							| 
									
										
										
										
											2013-05-23 01:34:14 +04:00
										 |  |  | 				ctrl: doc('Restore to last saved state',  | 
					
						
							|  |  |  | 					function(){ | 
					
						
							|  |  |  | 						loadLocalStorage() | 
					
						
							|  |  |  | 						loadLocalStorageMarks() | 
					
						
							|  |  |  | 					}) | 
					
						
							| 
									
										
										
										
											2013-05-17 15:48:39 +04:00
										 |  |  | 			}, | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-03 01:29:43 +04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 		// marking...
 | 
					
						
							|  |  |  | 		// XXX not final, think of a better way to do this...
 | 
					
						
							|  |  |  | 		// XXX need mark navigation...
 | 
					
						
							| 
									
										
										
										
											2013-05-03 02:11:24 +04:00
										 |  |  | 		// XXX need marked image shift up/down actions...
 | 
					
						
							|  |  |  | 		// XXX unmarking an image in marked-only mode results in nothing
 | 
					
						
							|  |  |  | 		// 		visible focused if we unmark the first or last image in 
 | 
					
						
							|  |  |  | 		// 		the ribbon...
 | 
					
						
							| 
									
										
										
										
											2013-05-03 01:29:43 +04:00
										 |  |  | 		M: { | 
					
						
							|  |  |  | 				// NOTE: marking moves in the same direction as the last
 | 
					
						
							|  |  |  | 				//		move...
 | 
					
						
							|  |  |  | 				//		i.e. marking can change direction depending on where
 | 
					
						
							|  |  |  | 				//		we moved last...
 | 
					
						
							|  |  |  | 				// NOTE: marking does not change move direction...
 | 
					
						
							| 
									
										
										
										
											2013-05-23 01:34:14 +04:00
										 |  |  | 				default: doc('Mark current image and advance', | 
					
						
							|  |  |  | 					function(){  | 
					
						
							|  |  |  | 						toggleImageMark() | 
					
						
							|  |  |  | 						if(DIRECTION == 'next'){ | 
					
						
							|  |  |  | 							nextImage() | 
					
						
							|  |  |  | 						} else { | 
					
						
							|  |  |  | 							prevImage() | 
					
						
							|  |  |  | 						} | 
					
						
							|  |  |  | 						if($('.current.image').filter(':visible').length == 0){ | 
					
						
							|  |  |  | 							centerView(focusImage(getImageBefore())) | 
					
						
							|  |  |  | 						} | 
					
						
							|  |  |  | 						centerRibbons() | 
					
						
							|  |  |  | 					}), | 
					
						
							| 
									
										
										
										
											2013-05-03 01:29:43 +04:00
										 |  |  | 				// same as default but in reverse direction...
 | 
					
						
							| 
									
										
										
										
											2013-05-23 01:34:14 +04:00
										 |  |  | 				shift: doc('Mark current image and return', | 
					
						
							|  |  |  | 					function(){ | 
					
						
							|  |  |  | 						toggleImageMark() | 
					
						
							|  |  |  | 						if(DIRECTION == 'prev'){ | 
					
						
							|  |  |  | 							nextImage() | 
					
						
							|  |  |  | 						} else { | 
					
						
							|  |  |  | 							prevImage() | 
					
						
							|  |  |  | 						} | 
					
						
							|  |  |  | 						if($('.current.image').filter(':visible').length == 0){ | 
					
						
							|  |  |  | 							centerView(focusImage(getImageBefore())) | 
					
						
							|  |  |  | 						}  | 
					
						
							|  |  |  | 						centerRibbons() | 
					
						
							|  |  |  | 					}), | 
					
						
							|  |  |  | 				ctrl: doc('Mark current image', | 
					
						
							|  |  |  | 					function(){  | 
					
						
							|  |  |  | 						var action = toggleImageMark()  | 
					
						
							|  |  |  | 					}), | 
					
						
							| 
									
										
										
										
											2013-05-03 01:29:43 +04:00
										 |  |  | 			}, | 
					
						
							|  |  |  | 		I: { | 
					
						
							| 
									
										
										
										
											2013-05-17 23:01:05 +04:00
										 |  |  | 				// XXX STUB -- replace with a real info window...
 | 
					
						
							| 
									
										
										
										
											2013-05-23 01:34:14 +04:00
										 |  |  | 				default: doc('Show current image info', | 
					
						
							|  |  |  | 					function(){ | 
					
						
							|  |  |  | 						var gid = getImageGID($('.current.image')) | 
					
						
							|  |  |  | 						var r = getRibbonIndex(getRibbon()) | 
					
						
							|  |  |  | 						var data = IMAGES[gid] | 
					
						
							|  |  |  | 						var order = DATA.order.indexOf(gid) | 
					
						
							|  |  |  | 						var name = data.path.split('/').pop() | 
					
						
							|  |  |  | 						alert('"'+ name +'"\n'+ | 
					
						
							|  |  |  | 								'GID: '+ gid +'\n'+ | 
					
						
							|  |  |  | 								'Path: "'+ data.path +'"\n'+ | 
					
						
							|  |  |  | 								'Order: '+ order +'\n'+ | 
					
						
							|  |  |  | 								'Position (ribbon): '+ DATA.ribbons[r].indexOf(gid) + | 
					
						
							|  |  |  | 									'/'+ DATA.ribbons[r].length +'\n'+ | 
					
						
							|  |  |  | 								'Position (global): '+ order +'/'+ DATA.order.length +'\n'+ | 
					
						
							|  |  |  | 								'') | 
					
						
							|  |  |  | 					}), | 
					
						
							|  |  |  | 				ctrl: doc('Invert image marks',  | 
					
						
							|  |  |  | 					function(){ invertImageMarks() }), | 
					
						
							| 
									
										
										
										
											2013-05-03 01:29:43 +04:00
										 |  |  | 			}, | 
					
						
							|  |  |  | 		A: { | 
					
						
							| 
									
										
										
										
											2013-05-23 01:34:14 +04:00
										 |  |  | 				shift: doc('Toggle marks in current contagious block',  | 
					
						
							|  |  |  | 					function(){ toggleImageMarkBlock() }), | 
					
						
							|  |  |  | 				ctrl: doc('Mark current ribbon',  | 
					
						
							|  |  |  | 					function(){ markAll('ribbon') }), | 
					
						
							| 
									
										
										
										
											2013-05-03 01:29:43 +04:00
										 |  |  | 			}, | 
					
						
							|  |  |  | 		U: { | 
					
						
							| 
									
										
										
										
											2013-05-23 01:34:14 +04:00
										 |  |  | 				ctrl: doc('Unmark current ribbon',  | 
					
						
							|  |  |  | 					function(){ removeImageMarks('ribbon') }), | 
					
						
							|  |  |  | 				shift: doc('Unamrk all',  | 
					
						
							|  |  |  | 					function(){ removeImageMarks('all') }), | 
					
						
							| 
									
										
										
										
											2013-05-03 01:29:43 +04:00
										 |  |  | 			}, | 
					
						
							| 
									
										
										
										
											2013-05-17 04:52:43 +04:00
										 |  |  | 		F2: { | 
					
						
							| 
									
										
										
										
											2013-05-23 01:34:14 +04:00
										 |  |  | 				default: doc('Toggle mark visibility',  | 
					
						
							|  |  |  | 					function(){ toggleMarkesView() }), | 
					
						
							|  |  |  | 				shift: doc('Toggle marked only images view',  | 
					
						
							|  |  |  | 					function(){ | 
					
						
							|  |  |  | 						toggleMarkedOnlyView() | 
					
						
							|  |  |  | 					}) | 
					
						
							| 
									
										
										
										
											2013-05-03 05:38:40 +04:00
										 |  |  | 			}, | 
					
						
							| 
									
										
										
										
											2013-05-20 04:43:00 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-23 01:34:14 +04:00
										 |  |  | 		F4: doc('Open image in external software', openImage), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-23 16:13:10 +04:00
										 |  |  | 		H: doc('Show keyboard bindings', | 
					
						
							|  |  |  | 			function(){ toggleKeyboardHelp() }), | 
					
						
							| 
									
										
										
										
											2013-05-23 15:22:38 +04:00
										 |  |  | 		// '?'
 | 
					
						
							|  |  |  | 		'/': {  | 
					
						
							|  |  |  | 				shift: 'H',  | 
					
						
							| 
									
										
										
										
											2013-05-23 16:13:10 +04:00
										 |  |  | 			}, | 
					
						
							| 
									
										
										
										
											2013-05-03 01:29:43 +04:00
										 |  |  | 	} | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /********************************************************************** | 
					
						
							|  |  |  | * vim:set ts=4 sw=4 :                                                */ |