mirror of
				https://github.com/flynx/ImageGrid.git
				synced 2025-10-31 11:20:09 +00:00 
			
		
		
		
	now .json data is saved ONLY if updated (still does not apply to data.json)...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
		
							parent
							
								
									3c223b3fa5
								
							
						
					
					
						commit
						8b44986e33
					
				| @ -87,12 +87,13 @@ var toggleBookmark = makeMarkToggler( | ||||
| 			} else { | ||||
| 				BOOKMARKS.splice(BOOKMARKS.indexOf(gid), 1) | ||||
| 			} | ||||
| 
 | ||||
| 			bookmarksUpdated() | ||||
| 		}) | ||||
| 
 | ||||
| 
 | ||||
| // focus next bookmark...
 | ||||
| // focus next/prev bookmark...
 | ||||
| //
 | ||||
| // NOTE: this will not jump to bookmarks on other ribbons...
 | ||||
| var nextBookmark = makeNextFromListAction( | ||||
| 		getBookmarkedGIDBefore,  | ||||
| 		function(){ return BOOKMARKS }) | ||||
| @ -117,6 +118,7 @@ var loadFileBookmarks = makeFileLoader( | ||||
| 
 | ||||
| 
 | ||||
| var saveFileBookmarks = makeFileSaver( | ||||
| 		'Bookmarks', | ||||
| 		BOOKMARKS_FILE_DEFAULT,  | ||||
| 		function(){  | ||||
| 			return [ | ||||
| @ -126,6 +128,11 @@ var saveFileBookmarks = makeFileSaver( | ||||
| 		}) | ||||
| 
 | ||||
| 
 | ||||
| function bookmarksUpdated(){ | ||||
| 	fileUpdated('Bookmarks') | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| /********************************************************************** | ||||
| * Setup... | ||||
|  | ||||
							
								
								
									
										31
									
								
								ui/files.js
									
									
									
									
									
								
							
							
						
						
									
										31
									
								
								ui/files.js
									
									
									
									
									
								
							| @ -23,7 +23,8 @@ var IMAGE_PATTERN = /.*\.(jpg|jpeg|png|gif)$/i | ||||
| 
 | ||||
| 
 | ||||
| var FILE_LOADERS = [] | ||||
| var FILE_SAVERS = [] | ||||
| var FILE_SAVERS = {} | ||||
| var FILES_UPDATED = [] | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| @ -245,7 +246,7 @@ function makeFileLoader(title, file_dfl, file_pattern, set_data, evt_name, skip_ | ||||
| } | ||||
| // XXX make this check for updates -- no need to re-save if nothing 
 | ||||
| // 		changed...
 | ||||
| function makeFileSaver(file_dfl, get_data, skip_reg){ | ||||
| function makeFileSaver(title, file_dfl, get_data, skip_reg){ | ||||
| 	var _saver = function(name){ | ||||
| 		name = name == null  | ||||
| 			? normalizePath(CONFIG.cache_dir_var +'/'+ Date.timeStamp())  | ||||
| @ -253,21 +254,37 @@ function makeFileSaver(file_dfl, get_data, skip_reg){ | ||||
| 
 | ||||
| 		dumpJSON(name + '-' + file_dfl, get_data()) | ||||
| 	} | ||||
| 	!skip_reg && FILE_SAVERS.push(_saver) | ||||
| 	if(!skip_reg){ | ||||
| 		FILE_SAVERS[title] = _saver | ||||
| 	} | ||||
| 	return _saver | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| // mark file type as updated...
 | ||||
| function fileUpdated(name){ | ||||
| 	if(FILES_UPDATED.indexOf(name) < 0 && name in FILE_SAVERS){ | ||||
| 		FILES_UPDATED.push(name) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| function runFileLoaders(prefix, res){ | ||||
| 	return $.when.apply(null, FILE_LOADERS.map(function(load){ | ||||
| 		return bubbleProgress(prefix, load(), res, true) | ||||
| 	})) | ||||
| } | ||||
| // NOTE: if all is set, this will force save everything...
 | ||||
| // XXX do we need bubbleProgress(..) here???
 | ||||
| function runFileSavers(name){ | ||||
| 	FILE_SAVERS.map(function(save){ | ||||
| 		return save(name) | ||||
| 	}) | ||||
| function runFileSavers(name, all){ | ||||
| 	var updated = FILES_UPDATED | ||||
| 	FILES_UPDATED = [] | ||||
| 	for(var n in FILE_SAVERS){ | ||||
| 		if(all || updated.indexOf(n) >= 0){ | ||||
| 			showStatusQ('Saving: File:', n) | ||||
| 			FILE_SAVERS[n](name) | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										14
									
								
								ui/marks.js
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								ui/marks.js
									
									
									
									
									
								
							| @ -236,6 +236,8 @@ var toggleMark = makeMarkToggler( | ||||
| 			} else { | ||||
| 				MARKED.splice(MARKED.indexOf(gid), 1) | ||||
| 			} | ||||
| 
 | ||||
| 			marksUpdated() | ||||
| 		}) | ||||
| 
 | ||||
| 
 | ||||
| @ -281,6 +283,8 @@ function toggleAllMarks(action, mode){ | ||||
| 
 | ||||
| 	$('.viewer').trigger('togglingMarks', [updated, action]) | ||||
| 
 | ||||
| 	marksUpdated() | ||||
| 
 | ||||
| 	return res | ||||
| } | ||||
| 
 | ||||
| @ -328,6 +332,8 @@ function invertImageMarks(){ | ||||
| 		.trigger('togglingMarks', [on, 'on']) | ||||
| 		.trigger('togglingMarks', [off, 'off']) | ||||
| 
 | ||||
| 	marksUpdated() | ||||
| 
 | ||||
| 	return on.concat(off) | ||||
| } | ||||
| 
 | ||||
| @ -378,6 +384,8 @@ function toggleMarkBlock(image){ | ||||
| 		.trigger('togglingImageBlockMarks', [image, updated, state]) | ||||
| 		.trigger('togglingMarks', [updated, state ? 'on' : 'off']) | ||||
| 
 | ||||
| 	marksUpdated() | ||||
| 
 | ||||
| 	return state | ||||
| } | ||||
| 
 | ||||
| @ -580,12 +588,18 @@ var loadFileMarks = makeFileLoader( | ||||
| 
 | ||||
| // Save image marks to file
 | ||||
| var saveFileMarks = makeFileSaver( | ||||
| 		'Marks', | ||||
| 		MARKED_FILE_DEFAULT,  | ||||
| 		function(){  | ||||
| 			return MARKED  | ||||
| 		}) | ||||
| 
 | ||||
| 
 | ||||
| function marksUpdated(){ | ||||
| 	fileUpdated('Marks') | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| /********************************************************************** | ||||
| * Setup... | ||||
|  | ||||
							
								
								
									
										12
									
								
								ui/tags.js
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								ui/tags.js
									
									
									
									
									
								
							| @ -59,6 +59,8 @@ function buildTagsFromImages(tagset, images){ | ||||
| 		tagset[tag] = tagset[tag].filter(function(e){ return e != null }) | ||||
| 	} | ||||
| 
 | ||||
| 	tagsUpdated() | ||||
| 
 | ||||
| 	return tagset | ||||
| } | ||||
| 
 | ||||
| @ -119,6 +121,7 @@ function addTag(tags, gid, tagset, images){ | ||||
| 	if(updated){ | ||||
| 		img.tags = img_tags | ||||
| 		imageUpdated(gid) | ||||
| 		tagsUpdated() | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| @ -155,6 +158,7 @@ function removeTag(tags, gid, tagset, images){ | ||||
| 
 | ||||
| 	if(updated){ | ||||
| 		imageUpdated(gid) | ||||
| 		tagsUpdated() | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| @ -344,6 +348,7 @@ function tagOnlyBookmarked(tags){ return tagOnlyList(BOOKMARKED, tags) } | ||||
| function markTagged(tags){ | ||||
| 	MARKED = tagSelectAND(tags) | ||||
| 	updateImages() | ||||
| 	marksUpdated() | ||||
| 	return MARKED | ||||
| } | ||||
| function unmarkTagged(tags){ | ||||
| @ -355,6 +360,7 @@ function unmarkTagged(tags){ | ||||
| 		} | ||||
| 	}) | ||||
| 	updateImages() | ||||
| 	marksUpdated() | ||||
| 	return set | ||||
| } | ||||
| 
 | ||||
| @ -470,12 +476,18 @@ var loadFileTags = makeFileLoader( | ||||
| 
 | ||||
| // Save image marks to file
 | ||||
| var saveFileTags = makeFileSaver( | ||||
| 		'Tags', | ||||
| 		TAGS_FILE_DEFAULT,  | ||||
| 		function(){  | ||||
| 			return TAGS  | ||||
| 		}) | ||||
| 
 | ||||
| 
 | ||||
| function tagsUpdated(){ | ||||
| 	fileUpdated('Tags') | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| /********************************************************************** | ||||
| * Setup... | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user