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... */ /* 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 { .buttons .button.ui-settings {
opacity: 0.5; opacity: 0.5;
} }
@ -529,12 +536,12 @@ button:hover {
} }
/* XXX not sure if this is the right way to go... */ /* XXX not sure if this is the right way to go... */
.single-image-mode .main-buttons:not(:hover) .button, .single-image-mode .main-buttons:not(:hover),
.single-image-mode .app-buttons:not(:hover) .button { .single-image-mode .app-buttons:not(:hover) {
opacity: 0.1; opacity: 0.1;
} }
.slideshow-running .main-buttons:not(:hover) .button, .slideshow-running .main-buttons:not(:hover),
.slideshow-running .app-buttons:not(:hover) .button { .slideshow-running .app-buttons:not(:hover) {
opacity: 0; 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 revise logging and logger passing...
// XXX add a task manager UI... // XXX add a task manager UI...
// XXX might be a good idea to confirm session task stops when loading a // 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/', cacheAllMetadata: ['- Sharp/Image/',
'cacheMetadata: "all" ...'], '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 EXPERIMENTAL...
// XXX if we are not careful this may result in some data loss due // XXX if we are not careful this may result in some data loss due
// to unlinking or double edits before save... // to unlinking or double edits before save...

View File

@ -3199,12 +3199,6 @@ var ButtonsActions = actions.Actions({
'⦊': ['right', 'nextImage -- Next image'], '⦊': ['right', 'nextImage -- Next image'],
'↧': ['down', 'shiftImageDown -- Shift image down'], '↧': ['down', 'shiftImageDown -- Shift image down'],
}, },
'button-highlight-color': 'white',
'button-highlight-colors': [
'white',
'yellow',
],
}, },
toggleMainButtons: ['Interface/Main buttons', toggleMainButtons: ['Interface/Main buttons',
@ -3229,14 +3223,6 @@ var ButtonsActions = actions.Actions({
right.apply(this, arguments) 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 = var Buttons =
@ -3275,12 +3261,6 @@ module.Buttons = core.ImageGridFeatures.Feature({
'reload', 'reload',
], ],
function(){ 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 var l = (this.crop_stack || []).length
$('.main-buttons.buttons .crop.button sub') $('.main-buttons.buttons .crop.button sub')
@ -3305,12 +3285,6 @@ module.Buttons = core.ImageGridFeatures.Feature({
'collectionUnloaded', 'collectionUnloaded',
], ],
function(){ 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 var l = this.collections_length
// current collection unsaved indicator... // current collection unsaved indicator...

108
Viewer/package-lock.json generated
View File

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