mirror of
https://github.com/flynx/ImageGrid.git
synced 2025-10-28 18:00:09 +00:00
now Esc clears preview filters + minor refactoring...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
62546edf36
commit
fe389e6465
@ -56,6 +56,16 @@ module.GLOBAL_KEYBOARD = {
|
||||
L: 'toggleSlideshowLooping -- Toggle slideshow looping',
|
||||
},
|
||||
|
||||
'Preview filter': {
|
||||
doc: 'Preview filter applied',
|
||||
pattern: '.filter-applied',
|
||||
drop: [
|
||||
'Esc',
|
||||
],
|
||||
|
||||
Esc: 'togglePreviewFilter: "No filters" -- Clear preview filter',
|
||||
},
|
||||
|
||||
// XXX do we need to prevent up/down navigation here, it may get confusing?
|
||||
// XXX do we need to disable fast sorting here???
|
||||
'Single Image': {
|
||||
@ -442,6 +452,8 @@ module.GLOBAL_KEYBOARD = {
|
||||
|
||||
|
||||
// filters...
|
||||
// NOTE: Esc will also clear the filter (see "Preview filter" mode above)...
|
||||
shift_F: 'browseActions: "/Image/Preview filter/" -- Preview filters...',
|
||||
';': 'togglePreviewFilter: "Show shadows" -- Preview shadows',
|
||||
':': 'togglePreviewFilter: "Show highlights" -- Preview highlights',
|
||||
'caps+:': ':',
|
||||
|
||||
@ -2144,10 +2144,14 @@ module.PreviewFilters = core.ImageGridFeatures.Feature({
|
||||
|
||||
config: {
|
||||
'preview-filters': {
|
||||
'Black and white': 'image-bw',
|
||||
// exposure aids...
|
||||
'Show shadows': 'image-show-shadows',
|
||||
'Show highlights': 'image-show-highlights',
|
||||
|
||||
// sharpness aids...
|
||||
'Black and white': 'image-bw',
|
||||
'Edge detect': 'image-edge-detect',
|
||||
|
||||
'No filters': 'none',
|
||||
},
|
||||
},
|
||||
@ -2193,15 +2197,29 @@ module.PreviewFilters = core.ImageGridFeatures.Feature({
|
||||
var classes = Object.values(filters)
|
||||
.filter(function(c){ return c != cls })
|
||||
this.dom
|
||||
.find('.'+ classes.join(', .'))
|
||||
.removeClass(classes.join(' '))
|
||||
.find('.filter-applied')
|
||||
.removeClass(classes.join(' ') +' filter-applied')
|
||||
|
||||
// toggle filter...
|
||||
if(state in filters){
|
||||
img.toggleClass(cls)
|
||||
if(cls != 'none' && state in filters){
|
||||
// NOTE: we are not using .toggleClass(..) here
|
||||
// because we need to ensure *both* the cls
|
||||
// and '.filter-applied' classes are set to
|
||||
// the same state...
|
||||
if(img.hasClass(cls)){
|
||||
img.removeClass(cls +' filter-applied')
|
||||
|
||||
} else {
|
||||
img.addClass(cls +' filter-applied')
|
||||
return state
|
||||
}
|
||||
}
|
||||
|
||||
return img.hasClass(cls) ? state : 'No filters'
|
||||
// XXX not sure if this is needed...
|
||||
//return (cls != 'none' && img.hasClass(cls)) ?
|
||||
// state
|
||||
// : 'No filters'
|
||||
return 'No filters'
|
||||
},
|
||||
function(){
|
||||
return Object.keys(this.config['preview-filters']) })],
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user