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
							
								
									050164f1a5
								
							
						
					
					
						commit
						330bd865e1
					
				| @ -792,7 +792,7 @@ var CollectionActions = actions.Actions({ | |||||||
| 	//					...
 | 	//					...
 | ||||||
| 	//				})
 | 	//				})
 | ||||||
| 	// NOTE: see .ensureCollection(..) for more details...
 | 	// NOTE: see .ensureCollection(..) for more details...
 | ||||||
| 	collect: ['- Collections/', | 	collect: ['Collections|Image/Add $image to collection...', | ||||||
| 		core.doc`Add items to collection
 | 		core.doc`Add items to collection
 | ||||||
| 
 | 
 | ||||||
| 			Add current image to collection... | 			Add current image to collection... | ||||||
| @ -861,7 +861,7 @@ var CollectionActions = actions.Actions({ | |||||||
| 					return this.joinCollect(null, collection, data) | 					return this.joinCollect(null, collection, data) | ||||||
| 				}).bind(this)) | 				}).bind(this)) | ||||||
| 		}], | 		}], | ||||||
| 	joinCollect: ['- Collections/Merge to collection', | 	joinCollect: ['Collections/$Merge view to collection...', | ||||||
| 		core.doc`Merge/Join current state to collection
 | 		core.doc`Merge/Join current state to collection
 | ||||||
| 
 | 
 | ||||||
| 			Join current state into collection | 			Join current state into collection | ||||||
| @ -2231,18 +2231,36 @@ module.AutoCollections = core.ImageGridFeatures.Feature({ | |||||||
| 
 | 
 | ||||||
| //---------------------------------------------------------------------
 | //---------------------------------------------------------------------
 | ||||||
| 
 | 
 | ||||||
|  | // Make an action that when called without enough arguments show a 
 | ||||||
|  | // collection selector dialog and just call the given function when 
 | ||||||
|  | // enough arguments are given.
 | ||||||
|  | //
 | ||||||
| // NOTE: if n > 1 and <n args are given then the given args will get 
 | // NOTE: if n > 1 and <n args are given then the given args will get 
 | ||||||
| // 		passed to func with an appended title...
 | // 		passed to func with an appended title...
 | ||||||
|  | //
 | ||||||
|  | // XXX can we extend actions in this manner???
 | ||||||
|  | // 		...if the action does nothing without args yes...
 | ||||||
|  | // 		test with .loadCollection(..)
 | ||||||
| var mixedModeCollectionAction = function(func, n){ | var mixedModeCollectionAction = function(func, n){ | ||||||
| 	return widgets.uiDialog(function(){ | 	return widgets.uiDialog(function(){ | ||||||
| 		var args = [].slice.call(arguments) | 		var args = [].slice.call(arguments) | ||||||
| 		// check if minimum number of arguments is reached...
 | 		// check if minimum number of arguments is reached...
 | ||||||
| 		return args.length < (n || 1) ?  | 		return args.length < (n || 1) ?  | ||||||
|  | 			// show the dialog...
 | ||||||
| 			//this.browseCollections(func) 
 | 			//this.browseCollections(func) 
 | ||||||
| 			this.browseCollections(function(title){  | 			this.browseCollections(function(title){  | ||||||
| 				return func.call(this, ...args.concat([title])) })  | 				return func.call(this, ...args.concat([title])) })  | ||||||
| 			: func.apply(this, args) }) } | 			: func.apply(this, args) }) } | ||||||
| 
 | 
 | ||||||
|  | var collectionGetterWrapper = function(func, n){ | ||||||
|  | 	return widgets.uiDialog(function(){ | ||||||
|  | 		var args = [].slice.call(arguments) | ||||||
|  | 		// check if minimum number of arguments is reached...
 | ||||||
|  | 		return args.length < (n || 1) | ||||||
|  | 			// show the dialog...
 | ||||||
|  | 			&& this.browseCollections(function(title){  | ||||||
|  | 				return func.call(this, ...args.concat([title])) }) })  | ||||||
|  | } | ||||||
| 
 | 
 | ||||||
| // XXX show collections in image metadata... (???)
 | // XXX show collections in image metadata... (???)
 | ||||||
| // XXX might be nice to indicate if a collection is loaded -- has .data???
 | // XXX might be nice to indicate if a collection is loaded -- has .data???
 | ||||||
| @ -2549,6 +2567,17 @@ var UICollectionActions = actions.Actions({ | |||||||
| 				}) | 				}) | ||||||
| 		})], | 		})], | ||||||
| 
 | 
 | ||||||
|  | 	// XXX extend the original actions instead of making new actions
 | ||||||
|  | 	// 		that are essentially copies...
 | ||||||
|  | 	// XXX need to add "ALL" -- might need to rework .browseCollections(..) for this...
 | ||||||
|  | 	// XXX this falls into infinite recursion -- need a way to break it...
 | ||||||
|  | 	// 		...need to call the func ONLY if title is not given...
 | ||||||
|  | 	// XXX also do:
 | ||||||
|  | 	// 		.saveCollection(..)
 | ||||||
|  | 	// XXX EXPERIMENTAL...
 | ||||||
|  | 	loadCollection: [ | ||||||
|  | 		collectionGetterWrapper(function(title){ this.loadCollection(title) })], | ||||||
|  | 
 | ||||||
| 	// Collection actions with collection selection...
 | 	// Collection actions with collection selection...
 | ||||||
| 	//
 | 	//
 | ||||||
| 	// XXX should we warn the user when overwriting???
 | 	// XXX should we warn the user when overwriting???
 | ||||||
| @ -2559,8 +2588,8 @@ var UICollectionActions = actions.Actions({ | |||||||
| 			title == this.collection | 			title == this.collection | ||||||
| 				&& this.loadCollection('!') | 				&& this.loadCollection('!') | ||||||
| 		})], | 		})], | ||||||
| 	addToCollection: ['Collections|Image/Add $image to collection...', | 	collect: [ | ||||||
| 		mixedModeCollectionAction(function(gids, title){ | 		collectionGetterWrapper(function(gids, title){  | ||||||
| 			if(title == null){ | 			if(title == null){ | ||||||
| 				title = gids | 				title = gids | ||||||
| 				gids = null | 				gids = null | ||||||
| @ -2570,8 +2599,8 @@ var UICollectionActions = actions.Actions({ | |||||||
| 		widgets.uiDialog(function(){ return this.addToCollection('ribbon') })], | 		widgets.uiDialog(function(){ return this.addToCollection('ribbon') })], | ||||||
| 	addLoadedToCollection: ['Collections/$Add loaded images to collection...', | 	addLoadedToCollection: ['Collections/$Add loaded images to collection...', | ||||||
| 		widgets.uiDialog(function(){ return this.addToCollection('loaded') })], | 		widgets.uiDialog(function(){ return this.addToCollection('loaded') })], | ||||||
| 	joinToCollection: ['Collections/$Merge view to collection...', | 	joinCollect: [ | ||||||
| 		mixedModeCollectionAction(function(title){ this.joinCollect(title) })], | 		collectionGetterWrapper(function(title){ this.joinCollect(title) })], | ||||||
| 
 | 
 | ||||||
| 	cropOutImagesInCollection: ['Collections/Crop $out images in collection...', | 	cropOutImagesInCollection: ['Collections/Crop $out images in collection...', | ||||||
| 		mixedModeCollectionAction(function(title){ | 		mixedModeCollectionAction(function(title){ | ||||||
|  | |||||||
| @ -388,7 +388,7 @@ module.GLOBAL_KEYBOARD = { | |||||||
| 		//alt_C: 'browseCollections',
 | 		//alt_C: 'browseCollections',
 | ||||||
| 		alt_C: 'browseActions: "/Collections/" -- Collections menu...', | 		alt_C: 'browseActions: "/Collections/" -- Collections menu...', | ||||||
| 		shift_O: 'browseCollections', | 		shift_O: 'browseCollections', | ||||||
| 		F8: 'addToCollection!', | 		F8: 'collect!', | ||||||
| 		shift_F8: 'addMarkedToCollection!', | 		shift_F8: 'addMarkedToCollection!', | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user