mirror of
https://github.com/flynx/ImageGrid.git
synced 2025-10-29 18:30:09 +00:00
added relative path support + some minor stuff...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
b5011ffaa5
commit
d78fac69a7
@ -764,20 +764,20 @@ var FileSystemWriterActions = actions.Actions({
|
|||||||
prepared: file.prepareIndex(json, changes),
|
prepared: file.prepareIndex(json, changes),
|
||||||
}
|
}
|
||||||
}],
|
}],
|
||||||
|
|
||||||
// NOTE: with no arguments this will save index to .location.path
|
// NOTE: with no arguments this will save index to .location.path
|
||||||
// XXX should this return a promise??? ...a clean promise???
|
// XXX should this return a promise??? ...a clean promise???
|
||||||
saveIndex: ['- File/Save index',
|
saveIndex: ['- File/Save index',
|
||||||
function(path, logger){
|
function(path, logger){
|
||||||
var that = this
|
var that = this
|
||||||
// XXX this is a stub to make this compatible with makeBrowseProxy(..)
|
|
||||||
// ...we do need a default here...
|
|
||||||
/*
|
|
||||||
if(path == null){
|
|
||||||
return
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
path = path || this.location.path
|
path = path || this.location.path
|
||||||
|
|
||||||
|
// resolve relative paths...
|
||||||
|
if(/^(\.\.?[\\\/]|[^\\\/])/.test(path)){
|
||||||
|
// XXX do we need to normalize???
|
||||||
|
path = this.location.path +'/'+ path
|
||||||
|
}
|
||||||
|
|
||||||
// XXX get a logger...
|
// XXX get a logger...
|
||||||
logger = logger || this.logger
|
logger = logger || this.logger
|
||||||
|
|
||||||
@ -798,18 +798,24 @@ var FileSystemWriterActions = actions.Actions({
|
|||||||
|
|
||||||
// Export current state as a full loadable index
|
// Export current state as a full loadable index
|
||||||
//
|
//
|
||||||
// XXX handle relative paths...
|
// XXX what sould happen if no path is given???
|
||||||
// XXX should this return a promise??? ...a clean promise???
|
// XXX should this return a promise??? ...a clean promise???
|
||||||
// XXX add preview selection...
|
// XXX add preview selection...
|
||||||
// XXX handle .image.path and other stack files...
|
// XXX handle .image.path and other stack files...
|
||||||
// XXX local collections???
|
// XXX local collections???
|
||||||
// XXX add a ui...
|
|
||||||
// - select path
|
|
||||||
// - select preview size
|
|
||||||
exportIndex: ['- File/Export index',
|
exportIndex: ['- File/Export index',
|
||||||
function(path, logger){
|
function(path, logger){
|
||||||
logger = logger || this.logger
|
logger = logger || this.logger
|
||||||
|
|
||||||
|
// XXX is this correct???
|
||||||
|
path = path || './exported'
|
||||||
|
|
||||||
|
// resolve relative paths...
|
||||||
|
if(/^(\.\.?[\\\/]|[^\\\/])/.test(path)){
|
||||||
|
// XXX do we need to normalize???
|
||||||
|
path = this.location.path +'/'+ path
|
||||||
|
}
|
||||||
|
|
||||||
var json = this.json()
|
var json = this.json()
|
||||||
|
|
||||||
// get all loaded gids...
|
// get all loaded gids...
|
||||||
@ -894,12 +900,7 @@ var FileSystemWriterActions = actions.Actions({
|
|||||||
|
|
||||||
}],
|
}],
|
||||||
|
|
||||||
// XXX handle relative paths...
|
// XXX might also be good to save/load the export options to .ImageGrid-export.json
|
||||||
// XXX use options:
|
|
||||||
// - level dir name
|
|
||||||
// - size
|
|
||||||
// - filename pattern
|
|
||||||
// XXX might also be good to save/load the export state to .ImageGrid-export.json
|
|
||||||
// XXX make custom previews...
|
// XXX make custom previews...
|
||||||
// ...should this be a function of .images.getBestPreview(..)???
|
// ...should this be a function of .images.getBestPreview(..)???
|
||||||
exportDirs: ['File/Export as nested directories',
|
exportDirs: ['File/Export as nested directories',
|
||||||
@ -907,6 +908,13 @@ var FileSystemWriterActions = actions.Actions({
|
|||||||
logger = logger || this.logger
|
logger = logger || this.logger
|
||||||
var that = this
|
var that = this
|
||||||
var base_dir = this.location.path
|
var base_dir = this.location.path
|
||||||
|
|
||||||
|
// resolve relative paths...
|
||||||
|
if(/^(\.\.?[\\\/]|[^\\\/])/.test(path)){
|
||||||
|
// XXX do we need to normalize???
|
||||||
|
path = base_dir +'/'+ path
|
||||||
|
}
|
||||||
|
|
||||||
var to_dir = path
|
var to_dir = path
|
||||||
|
|
||||||
// get/set the config data...
|
// get/set the config data...
|
||||||
@ -941,18 +949,28 @@ var FileSystemWriterActions = actions.Actions({
|
|||||||
// XXX get/form image name...
|
// XXX get/form image name...
|
||||||
// XXX might be a good idea to connect this to the info framework...
|
// XXX might be a good idea to connect this to the info framework...
|
||||||
var ext = pathlib.extname(img.name)
|
var ext = pathlib.extname(img.name)
|
||||||
|
var tags = that.data.getTags(gid)
|
||||||
var name = pattern
|
var name = pattern
|
||||||
|
// file name...
|
||||||
.replace(/%f/, img.name)
|
.replace(/%f/, img.name)
|
||||||
.replace(/%n/, img.name.replace(ext, ''))
|
.replace(/%n/, img.name.replace(ext, ''))
|
||||||
.replace(/%e/, ext)
|
.replace(/%e/, ext)
|
||||||
|
|
||||||
|
// gid...
|
||||||
.replace(/%gid/, gid)
|
.replace(/%gid/, gid)
|
||||||
// XXX get the correct length...
|
// XXX get the correct short gid length...
|
||||||
.replace(/%g/, gid.slice(-7, -1))
|
.replace(/%g/, gid.slice(-7, -1))
|
||||||
// XXX %()m marked...
|
|
||||||
|
// order...
|
||||||
|
.replace(/%i/, that.data.getImageOrder(gid))
|
||||||
|
.replace(/%I/, that.data.getImageOrder(gid, 'global'))
|
||||||
|
|
||||||
|
// tags...
|
||||||
|
.replace(/%\((.*)\)m/, tags.indexOf('selected') >= 0 ? '$1' : '')
|
||||||
|
.replace(/%\((.*)\)b/, tags.indexOf('bookmark') >= 0 ? '$1' : '')
|
||||||
|
|
||||||
|
// metadata...
|
||||||
// XXX
|
// XXX
|
||||||
// XXX %()b bookmarked...
|
|
||||||
// XXX
|
|
||||||
// XXX EXIF...
|
|
||||||
|
|
||||||
var to = img_dir +'/'+ name
|
var to = img_dir +'/'+ name
|
||||||
|
|
||||||
@ -1223,8 +1241,7 @@ var FileSystemWriterUIActions = actions.Actions({
|
|||||||
'export-preview-size'))
|
'export-preview-size'))
|
||||||
|
|
||||||
},
|
},
|
||||||
// XXX make this editable on open and remove "new" from history...
|
// XXX BUG: history closing errors -- non-critical...
|
||||||
// XXX add "history" button...
|
|
||||||
'target_dir': function(actions, make, overlay){
|
'target_dir': function(actions, make, overlay){
|
||||||
var elem = make(['To: ',
|
var elem = make(['To: ',
|
||||||
function(){ return actions.config['export-path'] || './' }],
|
function(){ return actions.config['export-path'] || './' }],
|
||||||
@ -1247,13 +1264,13 @@ var FileSystemWriterUIActions = actions.Actions({
|
|||||||
overlay.focus()
|
overlay.focus()
|
||||||
})
|
})
|
||||||
}],
|
}],
|
||||||
|
// XXX BUG: closing this breaks on parant.focus()...
|
||||||
['histroy', widgets.makeNestedConfigListEditor(actions, overlay,
|
['histroy', widgets.makeNestedConfigListEditor(actions, overlay,
|
||||||
'export-paths',
|
'export-paths',
|
||||||
'export-path',
|
'export-path',
|
||||||
{
|
{
|
||||||
|
unique: true,
|
||||||
new_button: false,
|
new_button: false,
|
||||||
// XXX add 'edit' button...
|
|
||||||
//itemButtons: []
|
|
||||||
})],
|
})],
|
||||||
]})
|
]})
|
||||||
// XXX make this editable???
|
// XXX make this editable???
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user