mirror of
				https://github.com/flynx/ImageGrid.git
				synced 2025-10-30 19:00:09 +00:00 
			
		
		
		
	more refactoring...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
		
							parent
							
								
									7f681d264a
								
							
						
					
					
						commit
						21ba781283
					
				| @ -11,19 +11,22 @@ var BOOKMARKS= [] | |||||||
| //
 | //
 | ||||||
| // NOTE: elements are added here only when some data is set, use 
 | // NOTE: elements are added here only when some data is set, use 
 | ||||||
| // 		BOOKMARKS, as the main structure.
 | // 		BOOKMARKS, as the main structure.
 | ||||||
| var BOOKMARKS_DATA = { | var BOOKMARKS_DATA = {} | ||||||
| } |  | ||||||
| 
 | 
 | ||||||
| var BOOKMARKS_FILE_DEFAULT = 'bookmarked.json' | var BOOKMARKS_FILE_DEFAULT = 'bookmarked.json' | ||||||
| var BOOKMARKS_FILE_PATTERN = /^[0-9]*-bookmarked.json$/ | var BOOKMARKS_FILE_PATTERN = /^[0-9]*-bookmarked.json$/ | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| /********************************************************************** | /********************************************************************** | ||||||
| * Helpers | * Helpers | ||||||
| */ | */ | ||||||
| 
 | 
 | ||||||
|  | // This is the same as getGIDBefore(..) but will return the currently 
 | ||||||
|  | // loaded and bookmarked image before current.
 | ||||||
|  | //
 | ||||||
|  | // for exact protocol see: getGIDBefore(..)
 | ||||||
|  | //
 | ||||||
| // XXX argument processing...
 | // XXX argument processing...
 | ||||||
| function getBookmarkedGIDBefore(gid){ | function getBookmarkedGIDBefore(gid){ | ||||||
| 	if(BOOKMARKS.length == 0){ | 	if(BOOKMARKS.length == 0){ | ||||||
| @ -64,7 +67,6 @@ var updateBookmarkedImageMark = makeMarkUpdater( | |||||||
| 		function(gid){  | 		function(gid){  | ||||||
| 			return BOOKMARKS.indexOf(gid) > -1  | 			return BOOKMARKS.indexOf(gid) > -1  | ||||||
| 		}) | 		}) | ||||||
| IMAGE_UPDATERS.push(updateBookmarkedImageMark) |  | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -168,7 +170,6 @@ var loadFileBookmarks = makeFileLoader( | |||||||
| 			BOOKMARKS = data[0] == null ? [] : data[0] | 			BOOKMARKS = data[0] == null ? [] : data[0] | ||||||
| 			BOOKMARKS_DATA = data[1] == null ? {} : data[1] | 			BOOKMARKS_DATA = data[1] == null ? {} : data[1] | ||||||
| 		}) | 		}) | ||||||
| FILE_LOADERS.push(loadFileBookmarks) |  | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| var saveFileBookmarks = makeFileSaver( | var saveFileBookmarks = makeFileSaver( | ||||||
| @ -179,7 +180,6 @@ var saveFileBookmarks = makeFileSaver( | |||||||
| 				BOOKMARKS_DATA | 				BOOKMARKS_DATA | ||||||
| 			]  | 			]  | ||||||
| 		}) | 		}) | ||||||
| FILE_SAVERS.push(saveFileBookmarks) |  | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -191,6 +191,16 @@ FILE_SAVERS.push(saveFileBookmarks) | |||||||
| //
 | //
 | ||||||
| function setupBookmarks(viewer){ | function setupBookmarks(viewer){ | ||||||
| 	console.log('Bookmarks: setup...') | 	console.log('Bookmarks: setup...') | ||||||
|  | 
 | ||||||
|  | 	// XXX make this viewer specific...
 | ||||||
|  | 	makeContextIndicatorUpdater('bookmarked') | ||||||
|  | 
 | ||||||
|  | 	// XXX make this viewer specific...
 | ||||||
|  | 	showContextIndicator( | ||||||
|  | 			'current-image-bookmarked',  | ||||||
|  | 			'Image is bookmarked (ctrl-B)') | ||||||
|  | 		.click(function(){ toggleBookmark() }) | ||||||
|  | 
 | ||||||
| 	return viewer | 	return viewer | ||||||
| 		.on('togglingBookmark', function(evt, gid, action){ | 		.on('togglingBookmark', function(evt, gid, action){ | ||||||
| 			// add a bookmark...
 | 			// add a bookmark...
 | ||||||
|  | |||||||
							
								
								
									
										12
									
								
								ui/files.js
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								ui/files.js
									
									
									
									
									
								
							| @ -186,8 +186,8 @@ function loadLatestFile(path, dfl, pattern, diff_pattern, default_data){ | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| function makeFileLoader(title, file_dfl, file_pattern, data_set){ | function makeFileLoader(title, file_dfl, file_pattern, data_set, skip_reg){ | ||||||
| 	return function(path){ | 	var _loader = function(path){ | ||||||
| 		var res = $.Deferred() | 		var res = $.Deferred() | ||||||
| 		// default locations...
 | 		// default locations...
 | ||||||
| 		if(path == null){ | 		if(path == null){ | ||||||
| @ -220,17 +220,21 @@ function makeFileLoader(title, file_dfl, file_pattern, data_set){ | |||||||
| 
 | 
 | ||||||
| 		return res | 		return res | ||||||
| 	} | 	} | ||||||
|  | 	!skip_reg && FILE_LOADERS.push(_loader) | ||||||
|  | 	return _loader | ||||||
| } | } | ||||||
| // XXX make this check for updates -- no need to re-save if nothing 
 | // XXX make this check for updates -- no need to re-save if nothing 
 | ||||||
| // 		changed...
 | // 		changed...
 | ||||||
| function makeFileSaver(file_dfl, data_get){ | function makeFileSaver(file_dfl, data_get, skip_reg){ | ||||||
| 	return function(name){ | 	var _saver = function(name){ | ||||||
| 		name = name == null  | 		name = name == null  | ||||||
| 			? normalizePath(CACHE_DIR_VAR +'/'+ Date.timeStamp())  | 			? normalizePath(CACHE_DIR_VAR +'/'+ Date.timeStamp())  | ||||||
| 			: name | 			: name | ||||||
| 
 | 
 | ||||||
| 		dumpJSON(name + '-' + file_dfl, data_get()) | 		dumpJSON(name + '-' + file_dfl, data_get()) | ||||||
| 	} | 	} | ||||||
|  | 	!skip_reg && FILE_SAVERS.push(_saver) | ||||||
|  | 	return _saver | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -1038,9 +1038,11 @@ button:hover { | |||||||
| .global-mode-indicators .marks-visible, | .global-mode-indicators .marks-visible, | ||||||
| .context-mode-indicators .current-image-marked { | .context-mode-indicators .current-image-marked { | ||||||
|   color: blue; |   color: blue; | ||||||
|  |   cursor: hand; | ||||||
| } | } | ||||||
| .context-mode-indicators .current-image-bookmarked { | .context-mode-indicators .current-image-bookmarked { | ||||||
|   color: yellow; |   color: yellow; | ||||||
|  |   cursor: hand; | ||||||
| } | } | ||||||
| .global-mode-indicators .marked-only-visible .shown, | .global-mode-indicators .marked-only-visible .shown, | ||||||
| .global-mode-indicators .marks-visible .shown, | .global-mode-indicators .marks-visible .shown, | ||||||
|  | |||||||
| @ -1067,9 +1067,11 @@ button:hover { | |||||||
| .global-mode-indicators .marks-visible, | .global-mode-indicators .marks-visible, | ||||||
| .context-mode-indicators .current-image-marked { | .context-mode-indicators .current-image-marked { | ||||||
| 	color: blue; | 	color: blue; | ||||||
|  | 	cursor: hand; | ||||||
| } | } | ||||||
| .context-mode-indicators .current-image-bookmarked { | .context-mode-indicators .current-image-bookmarked { | ||||||
| 	color: yellow; | 	color: yellow; | ||||||
|  | 	cursor: hand; | ||||||
| } | } | ||||||
| .global-mode-indicators .marked-only-visible .shown, | .global-mode-indicators .marked-only-visible .shown, | ||||||
| .global-mode-indicators .marks-visible .shown, | .global-mode-indicators .marks-visible .shown, | ||||||
|  | |||||||
							
								
								
									
										25
									
								
								ui/marks.js
									
									
									
									
									
								
							
							
						
						
									
										25
									
								
								ui/marks.js
									
									
									
									
									
								
							| @ -112,7 +112,7 @@ function makeMarkToggler(img_class, mark_class, evt_name){ | |||||||
| // the resulting function will update image mark state by adding or 
 | // the resulting function will update image mark state by adding or 
 | ||||||
| // removing the mark the specific mark object.
 | // removing the mark the specific mark object.
 | ||||||
| function makeMarkUpdater(img_class, mark_class, test){ | function makeMarkUpdater(img_class, mark_class, test){ | ||||||
| 	return function(gid, image){ | 	var _updater = function(gid, image){ | ||||||
| 		// marks...
 | 		// marks...
 | ||||||
| 		if(test(gid)){ | 		if(test(gid)){ | ||||||
| 			image.addClass(img_class) | 			image.addClass(img_class) | ||||||
| @ -123,6 +123,8 @@ function makeMarkUpdater(img_class, mark_class, test){ | |||||||
| 		} | 		} | ||||||
| 		return image | 		return image | ||||||
| 	} | 	} | ||||||
|  | 	IMAGE_UPDATERS.push(_updater) | ||||||
|  | 	return _updater | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -136,7 +138,6 @@ var updateSelectedImageMark = makeMarkUpdater( | |||||||
| 		function(gid){  | 		function(gid){  | ||||||
| 			return MARKED.indexOf(gid) > -1  | 			return MARKED.indexOf(gid) > -1  | ||||||
| 		}) | 		}) | ||||||
| IMAGE_UPDATERS.push(updateSelectedImageMark) |  | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| // NOTE: to disable MARKED cleanout set no_cleanout_marks to true.
 | // NOTE: to disable MARKED cleanout set no_cleanout_marks to true.
 | ||||||
| @ -458,7 +459,6 @@ var loadFileMarks = makeFileLoader( | |||||||
| 		function(data){  | 		function(data){  | ||||||
| 			MARKED = data | 			MARKED = data | ||||||
| 		}) | 		}) | ||||||
| FILE_LOADERS.push(loadFileMarks) |  | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| // Save image marks to file
 | // Save image marks to file
 | ||||||
| @ -467,7 +467,6 @@ var saveFileMarks = makeFileSaver( | |||||||
| 		function(){  | 		function(){  | ||||||
| 			return MARKED  | 			return MARKED  | ||||||
| 		}) | 		}) | ||||||
| FILE_SAVERS.push(saveFileMarks) |  | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -478,6 +477,24 @@ FILE_SAVERS.push(saveFileMarks) | |||||||
| 
 | 
 | ||||||
| function setupMarks(viewer){ | function setupMarks(viewer){ | ||||||
| 	console.log('Marks: setup...') | 	console.log('Marks: setup...') | ||||||
|  | 
 | ||||||
|  | 	// XXX make this viewer specific...
 | ||||||
|  | 	makeContextIndicatorUpdater('marked') | ||||||
|  | 
 | ||||||
|  | 	// XXX make these viewer specific...
 | ||||||
|  | 	showGlobalIndicator( | ||||||
|  | 			'marks-visible',  | ||||||
|  | 			'Marks visible (F2)') | ||||||
|  | 		.click(function(){ toggleMarkesView() }) | ||||||
|  | 	showGlobalIndicator( | ||||||
|  | 			'marked-only-visible',  | ||||||
|  | 			'Marked only images visible (shift-F2)') | ||||||
|  | 		.click(function(){ toggleMarkedOnlyView() }) | ||||||
|  | 	showContextIndicator( | ||||||
|  | 			'current-image-marked',  | ||||||
|  | 			'Image is marked (Ins)') | ||||||
|  | 		.click(function(){ toggleMark() }) | ||||||
|  | 
 | ||||||
| 	return viewer | 	return viewer | ||||||
| 		// marks...
 | 		// marks...
 | ||||||
| 		.on('togglingMark', function(evt, gid, action){ | 		.on('togglingMark', function(evt, gid, action){ | ||||||
|  | |||||||
							
								
								
									
										49
									
								
								ui/setup.js
									
									
									
									
									
								
							
							
						
						
									
										49
									
								
								ui/setup.js
									
									
									
									
									
								
							| @ -9,6 +9,7 @@ | |||||||
| // NOTE: if null this feature will be disabled.
 | // NOTE: if null this feature will be disabled.
 | ||||||
| var PROPORTIONS_RATIO_THRESHOLD = 1.5 | var PROPORTIONS_RATIO_THRESHOLD = 1.5 | ||||||
| 
 | 
 | ||||||
|  | var CONTEXT_INDICATOR_UPDATERS = [] | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| /********************************************************************** | /********************************************************************** | ||||||
| @ -21,28 +22,20 @@ function setupIndicators(){ | |||||||
| 			'Single ribbon mode (F3)') | 			'Single ribbon mode (F3)') | ||||||
| 		.css('cursor', 'hand') | 		.css('cursor', 'hand') | ||||||
| 		.click(function(){ toggleSingleRibbonMode() }) | 		.click(function(){ toggleSingleRibbonMode() }) | ||||||
| 	showGlobalIndicator( | } | ||||||
| 			'marks-visible',  |  | ||||||
| 			'Marks visible (F2)') |  | ||||||
| 		.css('cursor', 'hand') |  | ||||||
| 		.click(function(){ toggleMarkesView() }) |  | ||||||
| 	showGlobalIndicator( |  | ||||||
| 			'marked-only-visible',  |  | ||||||
| 			'Marked only images visible (shift-F2)') |  | ||||||
| 		.css('cursor', 'hand') |  | ||||||
| 		.click(function(){ toggleMarkedOnlyView() }) |  | ||||||
| 
 | 
 | ||||||
| 	showContextIndicator( |  | ||||||
| 			'current-image-bookmarked',  |  | ||||||
| 			'Image is bookmarked (ctrl-B)') |  | ||||||
| 		.css('cursor', 'hand') |  | ||||||
| 		.click(function(){ toggleBookmark() }) |  | ||||||
| 
 | 
 | ||||||
| 	showContextIndicator( | function makeContextIndicatorUpdater(image_class){ | ||||||
| 			'current-image-marked',  | 	var _updater = function(image){ | ||||||
| 			'Image is marked (Ins)') | 		var indicator = $('.context-mode-indicators .current-image-'+image_class) | ||||||
| 		.css('cursor', 'hand') | 		if(image.hasClass(image_class)){ | ||||||
| 		.click(function(){ toggleMark() }) | 			indicator.addClass('shown') | ||||||
|  | 		} else { | ||||||
|  | 			indicator.removeClass('shown') | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	CONTEXT_INDICATOR_UPDATERS.push(_updater) | ||||||
|  | 	return _updater | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -50,19 +43,9 @@ function updateContextIndicators(image){ | |||||||
| 	image = image == null ? getImage() : $(image) | 	image = image == null ? getImage() : $(image) | ||||||
| 
 | 
 | ||||||
| 	// marked...
 | 	// marked...
 | ||||||
| 	var indicator = $('.context-mode-indicators .current-image-marked') | 	CONTEXT_INDICATOR_UPDATERS.map(function(update){ | ||||||
| 	if(image.hasClass('marked')){ | 		update(image) | ||||||
| 		indicator.addClass('shown') | 	})	 | ||||||
| 	} else { |  | ||||||
| 		indicator.removeClass('shown') |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	indicator = $('.context-mode-indicators .current-image-bookmarked') |  | ||||||
| 	if(image.hasClass('bookmarked')){ |  | ||||||
| 		indicator.addClass('shown') |  | ||||||
| 	} else { |  | ||||||
| 		indicator.removeClass('shown') |  | ||||||
| 	} |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user