Merge branch 'master' of github.com:flynx/ImageGrid

This commit is contained in:
Alex A. Naanou 2021-03-11 23:03:41 +03:00
commit 88d0f6d237
5 changed files with 89 additions and 84 deletions

View File

@ -366,6 +366,13 @@ button:hover {
/* Custom buttons... */
/* XXX do we need both this and the active update??? */
.crop-mode .buttons:not(:hover) .button.crop,
.collection-mode .buttons:not(:hover) .button.collections {
opacity: 0.7;
}
.buttons .button.ui-settings {
opacity: 0.5;
}
@ -529,12 +536,12 @@ button:hover {
}
/* XXX not sure if this is the right way to go... */
.single-image-mode .main-buttons:not(:hover) .button,
.single-image-mode .app-buttons:not(:hover) .button {
.single-image-mode .main-buttons:not(:hover),
.single-image-mode .app-buttons:not(:hover) {
opacity: 0.1;
}
.slideshow-running .main-buttons:not(:hover) .button,
.slideshow-running .app-buttons:not(:hover) .button {
.slideshow-running .main-buttons:not(:hover),
.slideshow-running .app-buttons:not(:hover) {
opacity: 0;
}

View File

@ -2926,6 +2926,14 @@ module.LinkContext = ImageGridFeatures.Feature({
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// XXX add ability to trigger actions when:
// - all tasks are done and/or fail
// - all session tasks are done and/or fail
// ...in theory this can be done via:
// ig.tasks
// .then(function(){ .. })
// but this is a bit too cumbersome...
// ...do this via .chain(..)
// XXX revise logging and logger passing...
// XXX add a task manager UI...
// XXX might be a good idea to confirm session task stops when loading a

View File

@ -869,6 +869,22 @@ var SharpActions = actions.Actions({
cacheAllMetadata: ['- Sharp/Image/',
'cacheMetadata: "all" ...'],
// XXX IDEA: action default context...
// ...a way for an action to be run in a context by default with
// a way to override explicitly if needed...
// this will enable action chaining by default...
// now:
// ig
// .someAction()
// .then(function(){
// ig.someOtherAction() })
// target:
// ig
// .someAction()
// .someOtherAction()
// ...considering how often this might be useful would be nice
// to make this a constructor/framework feature...
// XXX EXPERIMENTAL...
// XXX if we are not careful this may result in some data loss due
// to unlinking or double edits before save...

View File

@ -3199,12 +3199,6 @@ var ButtonsActions = actions.Actions({
'⦊': ['right', 'nextImage -- Next image'],
'↧': ['down', 'shiftImageDown -- Shift image down'],
},
'button-highlight-color': 'white',
'button-highlight-colors': [
'white',
'yellow',
],
},
toggleMainButtons: ['Interface/Main buttons',
@ -3229,14 +3223,6 @@ var ButtonsActions = actions.Actions({
right.apply(this, arguments)
})
})()],
toggleButtonHighlightColor: ['Interface/Theme/Button highlight color',
{mode: 'advancedBrowseModeAction'},
core.makeConfigToggler(
'button-highlight-color',
function(){ return this.config['button-highlight-colors'] },
// update the buttons...
function(){ this.reload() })],
})
var Buttons =
@ -3275,12 +3261,6 @@ module.Buttons = core.ImageGridFeatures.Feature({
'reload',
],
function(){
// XXX is this the right way to go???
$('.main-buttons.buttons .crop.button')
.css({ 'color': this.cropped ?
(this.config['button-highlight-color'] || 'white')
: '', })
var l = (this.crop_stack || []).length
$('.main-buttons.buttons .crop.button sub')
@ -3305,12 +3285,6 @@ module.Buttons = core.ImageGridFeatures.Feature({
'collectionUnloaded',
],
function(){
// XXX is this the right way to go???
$('.main-buttons.buttons .collections.button')
.css({ 'color': this.collection ?
(this.config['button-highlight-color'] || 'white')
: '', })
var l = this.collections_length
// current collection unsaved indicator...

108
Viewer/package-lock.json generated
View File

@ -140,9 +140,9 @@
"optional": true
},
"node_modules/@types/node": {
"version": "14.14.31",
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.31.tgz",
"integrity": "sha512-vFHy/ezP5qI0rFgJ7aQnjDXwAMrG0KqqIH7tQG5PPv3BWBayOPIQNBjVc/P6hhdZfMx51REc6tfDNXHUio893g==",
"version": "14.14.33",
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.33.tgz",
"integrity": "sha512-oJqcTrgPUF29oUP8AsUqbXGJNuPutsetaa9kTQAQce5Lx5dTYWV02ScBiT/k1BX/Z7pKeqedmvp39Wu4zR7N7g==",
"dev": true,
"optional": true
},
@ -617,9 +617,9 @@
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
},
"node_modules/color-string": {
"version": "1.5.4",
"resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.4.tgz",
"integrity": "sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==",
"version": "1.5.5",
"resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.5.tgz",
"integrity": "sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg==",
"dependencies": {
"color-name": "^1.0.0",
"simple-swizzle": "^0.2.2"
@ -698,9 +698,9 @@
}
},
"node_modules/core-js": {
"version": "3.9.0",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.9.0.tgz",
"integrity": "sha512-PyFBJaLq93FlyYdsndE5VaueA9K5cNB7CGzeCj191YYLhkQM0gdZR2SKihM70oF0wdqKSKClv/tEBOpoRmdOVQ==",
"version": "3.9.1",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.9.1.tgz",
"integrity": "sha512-gSjRvzkxQc1zjM/5paAmL4idJBFzuJoo+jDjF1tStYFMV2ERfD02HhahhCGXUyHxQRG4yFKVSdO6g62eoRMcDg==",
"hasInstallScript": true,
"optional": true,
"funding": {
@ -910,9 +910,9 @@
}
},
"node_modules/electron": {
"version": "9.4.3",
"resolved": "https://registry.npmjs.org/electron/-/electron-9.4.3.tgz",
"integrity": "sha512-FQjVH0jdFj9EIxpHk/CK6nKmPawdayZ01N+o0sVHAGK0qcvTVCkBZT/1qbsJaTBPD1yf3PcN2frpwfTDBCn9GA==",
"version": "9.4.4",
"resolved": "https://registry.npmjs.org/electron/-/electron-9.4.4.tgz",
"integrity": "sha512-dcPlTrMWQu5xuSm6sYV42KK/BRIqh3erM8v/WtZqaDmG7pkCeJpvw26Dgbqhdt78XmqqGiN96giEe6A3S9vpAQ==",
"hasInstallScript": true,
"dependencies": {
"@electron/get": "^1.0.1",
@ -964,9 +964,9 @@
}
},
"node_modules/electron/node_modules/@types/node": {
"version": "12.20.4",
"resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.4.tgz",
"integrity": "sha512-xRCgeE0Q4pT5UZ189TJ3SpYuX/QGl6QIAOAIeDSbAVAd2gX1NxSZup4jNVK7cxIeP8KDSbJgcckun495isP1jQ=="
"version": "12.20.5",
"resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.5.tgz",
"integrity": "sha512-5Oy7tYZnu3a4pnJ//d4yVvOImExl4Vtwf0D40iKUlU+XlUsyV9iyFWyCFlwy489b72FMAik/EFwRkNLjjOdSPg=="
},
"node_modules/emoji-regex": {
"version": "8.0.0",
@ -991,9 +991,9 @@
}
},
"node_modules/env-paths": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.0.tgz",
"integrity": "sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==",
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
"integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
"engines": {
"node": ">=6"
}
@ -1937,9 +1937,9 @@
"optional": true
},
"node_modules/node-abi": {
"version": "2.19.3",
"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.19.3.tgz",
"integrity": "sha512-9xZrlyfvKhWme2EXFKQhZRp1yNWT/uI1luYPr3sFl+H4keYY4xR+1jO7mvTTijIsHf1M+QDe9uWuKeEpLInIlg==",
"version": "2.21.0",
"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.21.0.tgz",
"integrity": "sha512-smhrivuPqEM3H5LmnY3KU6HfYv0u4QklgAxfFyRNujKUzbUcYZ+Jc2EhukB9SRcD2VpqhxM7n/MIcp1Ua1/JMg==",
"dependencies": {
"semver": "^5.4.1"
}
@ -2909,9 +2909,9 @@
}
},
"node_modules/string-width": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.1.tgz",
"integrity": "sha512-LL0OLyN6AnfV9xqGQpDBwedT2Rt63737LxvsRxbcwpa2aIeynBApG2Sm//F3TaLHIR1aJBN52DWklc06b94o5Q==",
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz",
"integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==",
"dependencies": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
@ -3182,9 +3182,9 @@
}
},
"node_modules/v8-compile-cache": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz",
"integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q=="
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
"integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA=="
},
"node_modules/verror": {
"version": "1.10.0",
@ -3546,9 +3546,9 @@
"optional": true
},
"@types/node": {
"version": "14.14.31",
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.31.tgz",
"integrity": "sha512-vFHy/ezP5qI0rFgJ7aQnjDXwAMrG0KqqIH7tQG5PPv3BWBayOPIQNBjVc/P6hhdZfMx51REc6tfDNXHUio893g==",
"version": "14.14.33",
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.33.tgz",
"integrity": "sha512-oJqcTrgPUF29oUP8AsUqbXGJNuPutsetaa9kTQAQce5Lx5dTYWV02ScBiT/k1BX/Z7pKeqedmvp39Wu4zR7N7g==",
"dev": true,
"optional": true
},
@ -3922,9 +3922,9 @@
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
},
"color-string": {
"version": "1.5.4",
"resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.4.tgz",
"integrity": "sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==",
"version": "1.5.5",
"resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.5.tgz",
"integrity": "sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg==",
"requires": {
"color-name": "^1.0.0",
"simple-swizzle": "^0.2.2"
@ -3991,9 +3991,9 @@
}
},
"core-js": {
"version": "3.9.0",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.9.0.tgz",
"integrity": "sha512-PyFBJaLq93FlyYdsndE5VaueA9K5cNB7CGzeCj191YYLhkQM0gdZR2SKihM70oF0wdqKSKClv/tEBOpoRmdOVQ==",
"version": "3.9.1",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.9.1.tgz",
"integrity": "sha512-gSjRvzkxQc1zjM/5paAmL4idJBFzuJoo+jDjF1tStYFMV2ERfD02HhahhCGXUyHxQRG4yFKVSdO6g62eoRMcDg==",
"optional": true
},
"core-util-is": {
@ -4142,9 +4142,9 @@
}
},
"electron": {
"version": "9.4.3",
"resolved": "https://registry.npmjs.org/electron/-/electron-9.4.3.tgz",
"integrity": "sha512-FQjVH0jdFj9EIxpHk/CK6nKmPawdayZ01N+o0sVHAGK0qcvTVCkBZT/1qbsJaTBPD1yf3PcN2frpwfTDBCn9GA==",
"version": "9.4.4",
"resolved": "https://registry.npmjs.org/electron/-/electron-9.4.4.tgz",
"integrity": "sha512-dcPlTrMWQu5xuSm6sYV42KK/BRIqh3erM8v/WtZqaDmG7pkCeJpvw26Dgbqhdt78XmqqGiN96giEe6A3S9vpAQ==",
"requires": {
"@electron/get": "^1.0.1",
"@types/node": "^12.0.12",
@ -4152,9 +4152,9 @@
},
"dependencies": {
"@types/node": {
"version": "12.20.4",
"resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.4.tgz",
"integrity": "sha512-xRCgeE0Q4pT5UZ189TJ3SpYuX/QGl6QIAOAIeDSbAVAd2gX1NxSZup4jNVK7cxIeP8KDSbJgcckun495isP1jQ=="
"version": "12.20.5",
"resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.5.tgz",
"integrity": "sha512-5Oy7tYZnu3a4pnJ//d4yVvOImExl4Vtwf0D40iKUlU+XlUsyV9iyFWyCFlwy489b72FMAik/EFwRkNLjjOdSPg=="
}
}
},
@ -4208,9 +4208,9 @@
}
},
"env-paths": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.0.tgz",
"integrity": "sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA=="
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
"integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A=="
},
"errno": {
"version": "0.1.8",
@ -4981,9 +4981,9 @@
"optional": true
},
"node-abi": {
"version": "2.19.3",
"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.19.3.tgz",
"integrity": "sha512-9xZrlyfvKhWme2EXFKQhZRp1yNWT/uI1luYPr3sFl+H4keYY4xR+1jO7mvTTijIsHf1M+QDe9uWuKeEpLInIlg==",
"version": "2.21.0",
"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.21.0.tgz",
"integrity": "sha512-smhrivuPqEM3H5LmnY3KU6HfYv0u4QklgAxfFyRNujKUzbUcYZ+Jc2EhukB9SRcD2VpqhxM7n/MIcp1Ua1/JMg==",
"requires": {
"semver": "^5.4.1"
},
@ -5729,9 +5729,9 @@
}
},
"string-width": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.1.tgz",
"integrity": "sha512-LL0OLyN6AnfV9xqGQpDBwedT2Rt63737LxvsRxbcwpa2aIeynBApG2Sm//F3TaLHIR1aJBN52DWklc06b94o5Q==",
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz",
"integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==",
"requires": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
@ -5951,9 +5951,9 @@
"dev": true
},
"v8-compile-cache": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz",
"integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q=="
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
"integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA=="
},
"verror": {
"version": "1.10.0",