mirror of
https://github.com/flynx/ImageGrid.git
synced 2025-10-30 02:40:08 +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