mirror of
https://github.com/flynx/ImageGrid.git
synced 2025-10-29 10:20: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
|
||||
// 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