mirror of
				https://github.com/flynx/ImageGrid.git
				synced 2025-10-31 11:20: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 
 | ||||
| // 		BOOKMARKS, as the main structure.
 | ||||
| var BOOKMARKS_DATA = { | ||||
| } | ||||
| var BOOKMARKS_DATA = {} | ||||
| 
 | ||||
| var BOOKMARKS_FILE_DEFAULT = 'bookmarked.json' | ||||
| var BOOKMARKS_FILE_PATTERN = /^[0-9]*-bookmarked.json$/ | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| /********************************************************************** | ||||
| * 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...
 | ||||
| function getBookmarkedGIDBefore(gid){ | ||||
| 	if(BOOKMARKS.length == 0){ | ||||
| @ -64,7 +67,6 @@ var updateBookmarkedImageMark = makeMarkUpdater( | ||||
| 		function(gid){  | ||||
| 			return BOOKMARKS.indexOf(gid) > -1  | ||||
| 		}) | ||||
| IMAGE_UPDATERS.push(updateBookmarkedImageMark) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| @ -168,7 +170,6 @@ var loadFileBookmarks = makeFileLoader( | ||||
| 			BOOKMARKS = data[0] == null ? [] : data[0] | ||||
| 			BOOKMARKS_DATA = data[1] == null ? {} : data[1] | ||||
| 		}) | ||||
| FILE_LOADERS.push(loadFileBookmarks) | ||||
| 
 | ||||
| 
 | ||||
| var saveFileBookmarks = makeFileSaver( | ||||
| @ -179,7 +180,6 @@ var saveFileBookmarks = makeFileSaver( | ||||
| 				BOOKMARKS_DATA | ||||
| 			]  | ||||
| 		}) | ||||
| FILE_SAVERS.push(saveFileBookmarks) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| @ -191,6 +191,16 @@ FILE_SAVERS.push(saveFileBookmarks) | ||||
| //
 | ||||
| function setupBookmarks(viewer){ | ||||
| 	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 | ||||
| 		.on('togglingBookmark', function(evt, gid, action){ | ||||
| 			// 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){ | ||||
| 	return function(path){ | ||||
| function makeFileLoader(title, file_dfl, file_pattern, data_set, skip_reg){ | ||||
| 	var _loader = function(path){ | ||||
| 		var res = $.Deferred() | ||||
| 		// default locations...
 | ||||
| 		if(path == null){ | ||||
| @ -220,17 +220,21 @@ function makeFileLoader(title, file_dfl, file_pattern, data_set){ | ||||
| 
 | ||||
| 		return res | ||||
| 	} | ||||
| 	!skip_reg && FILE_LOADERS.push(_loader) | ||||
| 	return _loader | ||||
| } | ||||
| // XXX make this check for updates -- no need to re-save if nothing 
 | ||||
| // 		changed...
 | ||||
| function makeFileSaver(file_dfl, data_get){ | ||||
| 	return function(name){ | ||||
| function makeFileSaver(file_dfl, data_get, skip_reg){ | ||||
| 	var _saver = function(name){ | ||||
| 		name = name == null  | ||||
| 			? normalizePath(CACHE_DIR_VAR +'/'+ Date.timeStamp())  | ||||
| 			: name | ||||
| 
 | ||||
| 		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, | ||||
| .context-mode-indicators .current-image-marked { | ||||
|   color: blue; | ||||
|   cursor: hand; | ||||
| } | ||||
| .context-mode-indicators .current-image-bookmarked { | ||||
|   color: yellow; | ||||
|   cursor: hand; | ||||
| } | ||||
| .global-mode-indicators .marked-only-visible .shown, | ||||
| .global-mode-indicators .marks-visible .shown, | ||||
|  | ||||
| @ -1067,9 +1067,11 @@ button:hover { | ||||
| .global-mode-indicators .marks-visible, | ||||
| .context-mode-indicators .current-image-marked { | ||||
| 	color: blue; | ||||
| 	cursor: hand; | ||||
| } | ||||
| .context-mode-indicators .current-image-bookmarked { | ||||
| 	color: yellow; | ||||
| 	cursor: hand; | ||||
| } | ||||
| .global-mode-indicators .marked-only-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 
 | ||||
| // removing the mark the specific mark object.
 | ||||
| function makeMarkUpdater(img_class, mark_class, test){ | ||||
| 	return function(gid, image){ | ||||
| 	var _updater = function(gid, image){ | ||||
| 		// marks...
 | ||||
| 		if(test(gid)){ | ||||
| 			image.addClass(img_class) | ||||
| @ -123,6 +123,8 @@ function makeMarkUpdater(img_class, mark_class, test){ | ||||
| 		} | ||||
| 		return image | ||||
| 	} | ||||
| 	IMAGE_UPDATERS.push(_updater) | ||||
| 	return _updater | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| @ -136,7 +138,6 @@ var updateSelectedImageMark = makeMarkUpdater( | ||||
| 		function(gid){  | ||||
| 			return MARKED.indexOf(gid) > -1  | ||||
| 		}) | ||||
| IMAGE_UPDATERS.push(updateSelectedImageMark) | ||||
| 
 | ||||
| 
 | ||||
| // NOTE: to disable MARKED cleanout set no_cleanout_marks to true.
 | ||||
| @ -458,7 +459,6 @@ var loadFileMarks = makeFileLoader( | ||||
| 		function(data){  | ||||
| 			MARKED = data | ||||
| 		}) | ||||
| FILE_LOADERS.push(loadFileMarks) | ||||
| 
 | ||||
| 
 | ||||
| // Save image marks to file
 | ||||
| @ -467,7 +467,6 @@ var saveFileMarks = makeFileSaver( | ||||
| 		function(){  | ||||
| 			return MARKED  | ||||
| 		}) | ||||
| FILE_SAVERS.push(saveFileMarks) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| @ -478,6 +477,24 @@ FILE_SAVERS.push(saveFileMarks) | ||||
| 
 | ||||
| function setupMarks(viewer){ | ||||
| 	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 | ||||
| 		// marks...
 | ||||
| 		.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.
 | ||||
| var PROPORTIONS_RATIO_THRESHOLD = 1.5 | ||||
| 
 | ||||
| var CONTEXT_INDICATOR_UPDATERS = [] | ||||
| 
 | ||||
| 
 | ||||
| /********************************************************************** | ||||
| @ -21,28 +22,20 @@ function setupIndicators(){ | ||||
| 			'Single ribbon mode (F3)') | ||||
| 		.css('cursor', 'hand') | ||||
| 		.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( | ||||
| 			'current-image-marked',  | ||||
| 			'Image is marked (Ins)') | ||||
| 		.css('cursor', 'hand') | ||||
| 		.click(function(){ toggleMark() }) | ||||
| function makeContextIndicatorUpdater(image_class){ | ||||
| 	var _updater = function(image){ | ||||
| 		var indicator = $('.context-mode-indicators .current-image-'+image_class) | ||||
| 		if(image.hasClass(image_class)){ | ||||
| 			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) | ||||
| 
 | ||||
| 	// marked...
 | ||||
| 	var indicator = $('.context-mode-indicators .current-image-marked') | ||||
| 	if(image.hasClass('marked')){ | ||||
| 		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') | ||||
| 	} | ||||
| 	CONTEXT_INDICATOR_UPDATERS.map(function(update){ | ||||
| 		update(image) | ||||
| 	})	 | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user