mirror of
https://github.com/flynx/ImageGrid.git
synced 2025-10-28 18:00:09 +00:00
added slideshow pause + soem tweaks...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
abd8ce9c23
commit
904abeed68
@ -71,6 +71,7 @@ APP_DATE=$(BUILD_DIR)/DATE
|
||||
APP_NODE=$(BUILD_DIR)/NODE
|
||||
|
||||
APP_ZIP=$(BUILD_DIR)/package.nw
|
||||
APP_ASAR=$(BUILD_DIR)/app.asar
|
||||
|
||||
|
||||
|
||||
@ -130,6 +131,16 @@ $(APP_ZIP): $(CSS_FILES) $(BUILD_DIR) $(NODE_DIR) $(NW_PROJECT_FILE) \
|
||||
zip: $(APP_ZIP)
|
||||
|
||||
|
||||
# XXX add a asar build rool -- see electron docs...
|
||||
# asar pack ...
|
||||
# ...this will also need an appropriate loader or config as I see
|
||||
# no way to make this transparent...
|
||||
$(APP_ASAR): $(CSS_FILES) $(BUILD_DIR) $(NODE_DIR) $(NW_PROJECT_FILE) \
|
||||
$(JS_FILES) $(CSS_FILES) $(HTML_FILES) $(APP_DATE) $(APP_NODE)
|
||||
|
||||
asar: $(APP_ASAR)
|
||||
|
||||
|
||||
|
||||
#**********************************************************************
|
||||
# dev env...
|
||||
|
||||
@ -34,13 +34,14 @@ module.GLOBAL_KEYBOARD = {
|
||||
'Slideshow': {
|
||||
pattern: '.slideshow-running',
|
||||
drop: [
|
||||
'Space', 'Backspace',
|
||||
'Esc',
|
||||
'Up', 'Down', 'Enter',
|
||||
'R', 'L', 'G', 'T',
|
||||
],
|
||||
|
||||
Esc: 'toggleSlideshow: "off" -- Exit slideshow',
|
||||
Space: 'Esc',
|
||||
Space: 'toggleSlideshowTimer',
|
||||
Enter: 'slideshowDialog',
|
||||
|
||||
Left: 'resetSlideshowTimer',
|
||||
|
||||
@ -57,10 +57,10 @@ var SlideshowActions = actions.Actions({
|
||||
// reset the timer...
|
||||
// NOTE: this means we were in a slideshow mode so we do not
|
||||
// need to prepare...
|
||||
if(this.__slideshouw_timer){
|
||||
this.__slideshouw_timer != 'suspended'
|
||||
&& clearInterval(this.__slideshouw_timer)
|
||||
delete this.__slideshouw_timer
|
||||
if(this.__slideshow_timer){
|
||||
this.__slideshow_timer != 'suspended'
|
||||
&& clearInterval(this.__slideshow_timer)
|
||||
delete this.__slideshow_timer
|
||||
|
||||
// prepare for the slideshow...
|
||||
} else {
|
||||
@ -90,7 +90,7 @@ var SlideshowActions = actions.Actions({
|
||||
}
|
||||
|
||||
// start the timer...
|
||||
this.__slideshouw_timer = setInterval(function(){
|
||||
this.__slideshow_timer = setInterval(function(){
|
||||
var cur = that.current
|
||||
|
||||
// next step...
|
||||
@ -116,9 +116,9 @@ var SlideshowActions = actions.Actions({
|
||||
// stop...
|
||||
} else {
|
||||
// stop timer...
|
||||
this.__slideshouw_timer
|
||||
&& clearInterval(this.__slideshouw_timer)
|
||||
delete this.__slideshouw_timer
|
||||
this.__slideshow_timer
|
||||
&& clearInterval(this.__slideshow_timer)
|
||||
delete this.__slideshow_timer
|
||||
|
||||
// restore the original workspace...
|
||||
this.popWorkspace()
|
||||
@ -130,7 +130,7 @@ var SlideshowActions = actions.Actions({
|
||||
var that = this
|
||||
|
||||
// suspend the timer if it's not suspended outside...
|
||||
var suspended_timer = this.__slideshouw_timer == 'suspended'
|
||||
var suspended_timer = this.__slideshow_timer == 'suspended'
|
||||
suspended_timer || this.suspendSlideshowTimer()
|
||||
|
||||
// XXX might be a good idea to make this generic...
|
||||
@ -196,12 +196,12 @@ var SlideshowActions = actions.Actions({
|
||||
})
|
||||
.on('start', function(){
|
||||
// suspend the timer if it's not suspended outside...
|
||||
this.__slideshouw_timer == 'suspended'
|
||||
this.__slideshow_timer == 'suspended'
|
||||
|| this.suspendSlideshowTimer()
|
||||
})
|
||||
.on('close', function(){
|
||||
// reset the timer if it was not suspended outside...
|
||||
this.__slideshouw_timer == 'suspended'
|
||||
this.__slideshow_timer == 'suspended'
|
||||
|| that.resetSlideshowTimer()
|
||||
|
||||
if(parent){
|
||||
@ -224,15 +224,48 @@ var SlideshowActions = actions.Actions({
|
||||
// NOTE: these can be used as pause and resume...
|
||||
resetSlideshowTimer: ['- Slideshow/Reset slideshow timer',
|
||||
function(){
|
||||
this.__slideshouw_timer && this.toggleSlideshow('on')
|
||||
this.__slideshow_timer && this.toggleSlideshow('on')
|
||||
}],
|
||||
suspendSlideshowTimer: ['- Slideshow/Suspend slideshow timer',
|
||||
function(){
|
||||
if(this.__slideshouw_timer){
|
||||
clearInterval(this.__slideshouw_timer)
|
||||
this.__slideshouw_timer = 'suspended'
|
||||
if(this.__slideshow_timer){
|
||||
clearInterval(this.__slideshow_timer)
|
||||
this.__slideshow_timer = 'suspended'
|
||||
}
|
||||
}],
|
||||
toggleSlideshowTimer:['Slideshow/Pause or resume running slideshow',
|
||||
core.doc`
|
||||
|
||||
NOTE: this will have no effect if the slideshow is not running...
|
||||
`,
|
||||
{browseMode: function(){ return this.toggleSlideshow('?') == 'off' && 'disabled' }},
|
||||
toggler.Toggler(null,
|
||||
function(_, state){
|
||||
if(state == null){
|
||||
return this.__slideshow_timer == 'suspended' ? 'paused'
|
||||
: !!this.__slideshow_timer ? 'running'
|
||||
: 'off'
|
||||
}
|
||||
|
||||
if(this.toggleSlideshow('?') != 'on'){
|
||||
return
|
||||
}
|
||||
|
||||
// handle state changing...
|
||||
if(state == 'paused' || state == 'off'){
|
||||
this.suspendSlideshowTimer()
|
||||
return 'paused'
|
||||
|
||||
} else {
|
||||
this.resetSlideshowTimer()
|
||||
return 'running'
|
||||
}
|
||||
},
|
||||
// XXX should we return different sets of states when
|
||||
// slideshow is running and when not?
|
||||
// ...the problem is what to return when slideshow is
|
||||
// not running???
|
||||
['paused', 'running', 'off'])],
|
||||
|
||||
resetSlideshowWorkspace: ['Slideshow/Reset workspace',
|
||||
function(){ delete this.workspaces['slideshow'] }],
|
||||
|
||||
228
ui (gen4)/package-lock.json
generated
228
ui (gen4)/package-lock.json
generated
@ -145,7 +145,7 @@
|
||||
"minimatch": {
|
||||
"version": "3.0.4",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
|
||||
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
|
||||
"integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"brace-expansion": "1.1.8"
|
||||
@ -200,7 +200,7 @@
|
||||
"minimatch": {
|
||||
"version": "3.0.4",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
|
||||
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
|
||||
"integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"brace-expansion": "1.1.8"
|
||||
@ -2377,7 +2377,7 @@
|
||||
"minimatch": {
|
||||
"version": "3.0.4",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
|
||||
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
|
||||
"integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"brace-expansion": "1.1.8"
|
||||
@ -2548,6 +2548,13 @@
|
||||
"resolved": "https://registry.npmjs.org/ig-object/-/ig-object-1.0.2.tgz",
|
||||
"integrity": "sha512-odO47fivzFu9cwJIDEm4dH2KTC9YiBKIl+iQWht5IkOFw5bqO+q0kFO9lFBGYUGSraJFV4RCxV+vnWGiMsX4HA=="
|
||||
},
|
||||
"image-size": {
|
||||
"version": "0.5.5",
|
||||
"resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz",
|
||||
"integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"indexof": {
|
||||
"version": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
|
||||
"integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
|
||||
@ -2847,6 +2854,219 @@
|
||||
"invert-kv": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz"
|
||||
}
|
||||
},
|
||||
"less": {
|
||||
"version": "2.7.3",
|
||||
"resolved": "https://registry.npmjs.org/less/-/less-2.7.3.tgz",
|
||||
"integrity": "sha512-KPdIJKWcEAb02TuJtaLrhue0krtRLoRoo7x6BNJIBelO00t/CCdJQUnHW5V34OnHMWzIktSalJxRO+FvytQlCQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"errno": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz",
|
||||
"graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
|
||||
"image-size": "0.5.5",
|
||||
"mime": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz",
|
||||
"mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
|
||||
"promise": "https://registry.npmjs.org/promise/-/promise-7.1.1.tgz",
|
||||
"request": "2.81.0",
|
||||
"source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz"
|
||||
},
|
||||
"dependencies": {
|
||||
"assert-plus": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
|
||||
"integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"aws-sign2": {
|
||||
"version": "0.6.0",
|
||||
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
|
||||
"integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"boom": {
|
||||
"version": "2.10.1",
|
||||
"resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
|
||||
"integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"hoek": "2.16.3"
|
||||
}
|
||||
},
|
||||
"combined-stream": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
|
||||
"integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"delayed-stream": "1.0.0"
|
||||
}
|
||||
},
|
||||
"cryptiles": {
|
||||
"version": "2.0.5",
|
||||
"resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
|
||||
"integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"boom": "2.10.1"
|
||||
}
|
||||
},
|
||||
"delayed-stream": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
||||
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
|
||||
"dev": true
|
||||
},
|
||||
"forever-agent": {
|
||||
"version": "0.6.1",
|
||||
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
|
||||
"integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"form-data": {
|
||||
"version": "2.1.4",
|
||||
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
|
||||
"integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"asynckit": "0.4.0",
|
||||
"combined-stream": "1.0.5",
|
||||
"mime-types": "2.1.17"
|
||||
}
|
||||
},
|
||||
"har-schema": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz",
|
||||
"integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"har-validator": {
|
||||
"version": "4.2.1",
|
||||
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz",
|
||||
"integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"ajv": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
|
||||
"har-schema": "1.0.5"
|
||||
}
|
||||
},
|
||||
"hawk": {
|
||||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
|
||||
"integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"boom": "2.10.1",
|
||||
"cryptiles": "2.0.5",
|
||||
"hoek": "2.16.3",
|
||||
"sntp": "1.0.9"
|
||||
}
|
||||
},
|
||||
"hoek": {
|
||||
"version": "2.16.3",
|
||||
"resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
|
||||
"integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
|
||||
"dev": true
|
||||
},
|
||||
"http-signature": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
|
||||
"integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"assert-plus": "0.2.0",
|
||||
"jsprim": "1.4.1",
|
||||
"sshpk": "1.13.1"
|
||||
}
|
||||
},
|
||||
"oauth-sign": {
|
||||
"version": "0.8.2",
|
||||
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
|
||||
"integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"performance-now": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz",
|
||||
"integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"qs": {
|
||||
"version": "6.4.0",
|
||||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz",
|
||||
"integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"request": {
|
||||
"version": "2.81.0",
|
||||
"resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz",
|
||||
"integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"aws-sign2": "0.6.0",
|
||||
"aws4": "1.6.0",
|
||||
"caseless": "0.12.0",
|
||||
"combined-stream": "1.0.5",
|
||||
"extend": "3.0.1",
|
||||
"forever-agent": "0.6.1",
|
||||
"form-data": "2.1.4",
|
||||
"har-validator": "4.2.1",
|
||||
"hawk": "3.1.3",
|
||||
"http-signature": "1.1.1",
|
||||
"is-typedarray": "1.0.0",
|
||||
"isstream": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
|
||||
"json-stringify-safe": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
|
||||
"mime-types": "2.1.17",
|
||||
"oauth-sign": "0.8.2",
|
||||
"performance-now": "0.2.0",
|
||||
"qs": "6.4.0",
|
||||
"safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz",
|
||||
"stringstream": "0.0.5",
|
||||
"tough-cookie": "2.3.3",
|
||||
"tunnel-agent": "0.6.0",
|
||||
"uuid": "3.1.0"
|
||||
}
|
||||
},
|
||||
"sntp": {
|
||||
"version": "1.0.9",
|
||||
"resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
|
||||
"integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"hoek": "2.16.3"
|
||||
}
|
||||
},
|
||||
"tunnel-agent": {
|
||||
"version": "0.6.0",
|
||||
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
|
||||
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz"
|
||||
}
|
||||
},
|
||||
"uuid": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz",
|
||||
"integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"load-json-file": {
|
||||
"version": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
|
||||
"integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
|
||||
@ -6096,7 +6316,7 @@
|
||||
"minimatch": {
|
||||
"version": "3.0.4",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
|
||||
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
|
||||
"integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"brace-expansion": "1.1.8"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user