add Slide Delay setting
This commit is contained in:
parent
815f58be8b
commit
045260362d
@ -444,7 +444,7 @@ Config =
|
|||||||
'Advance to next post when contracting an expanded image.'
|
'Advance to next post when contracting an expanded image.'
|
||||||
]
|
]
|
||||||
|
|
||||||
gallery:
|
gallery :
|
||||||
'Hide Thumbnails': [
|
'Hide Thumbnails': [
|
||||||
false
|
false
|
||||||
]
|
]
|
||||||
@ -455,6 +455,9 @@ Config =
|
|||||||
'Fit Height': [
|
'Fit Height': [
|
||||||
true
|
true
|
||||||
]
|
]
|
||||||
|
'Slide Delay': [
|
||||||
|
5.0
|
||||||
|
]
|
||||||
|
|
||||||
threadWatcher:
|
threadWatcher:
|
||||||
'Current Board': [
|
'Current Board': [
|
||||||
|
|||||||
@ -1489,6 +1489,9 @@ div.boardTitle {
|
|||||||
:root.gal-hide-thumbnails:.gal-fit-height:not(.gal-pdf) .gal-count {
|
:root.gal-hide-thumbnails:.gal-fit-height:not(.gal-pdf) .gal-count {
|
||||||
right: 28px !important;
|
right: 28px !important;
|
||||||
}
|
}
|
||||||
|
.field[name="Slide Delay"] {
|
||||||
|
width: 4em;
|
||||||
|
}
|
||||||
@media screen and (resolution: 1dppx) {
|
@media screen and (resolution: 1dppx) {
|
||||||
.fa-bars {
|
.fa-bars {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
|
|||||||
@ -2,6 +2,8 @@ Gallery =
|
|||||||
init: ->
|
init: ->
|
||||||
return if g.VIEW is 'catalog' or g.BOARD is 'f' or !Conf['Gallery']
|
return if g.VIEW is 'catalog' or g.BOARD is 'f' or !Conf['Gallery']
|
||||||
|
|
||||||
|
@delay = Conf['Slide Delay']
|
||||||
|
|
||||||
el = $.el 'a',
|
el = $.el 'a',
|
||||||
href: 'javascript:;'
|
href: 'javascript:;'
|
||||||
id: 'appchan-gal'
|
id: 'appchan-gal'
|
||||||
@ -17,8 +19,6 @@ Gallery =
|
|||||||
name: 'Gallery'
|
name: 'Gallery'
|
||||||
cb: @node
|
cb: @node
|
||||||
|
|
||||||
interval: 5 * $.SECOND
|
|
||||||
|
|
||||||
node: ->
|
node: ->
|
||||||
return unless @file
|
return unless @file
|
||||||
if Gallery.nodes
|
if Gallery.nodes
|
||||||
@ -64,13 +64,9 @@ Gallery =
|
|||||||
$.on menuButton, 'click', (e) ->
|
$.on menuButton, 'click', (e) ->
|
||||||
nodes.menu.toggle e, @, g
|
nodes.menu.toggle e, @, g
|
||||||
|
|
||||||
{createSubEntry} = Gallery.menu
|
for entry in Gallery.menu.createSubEntries()
|
||||||
for name of Config.gallery
|
entry.order = 0
|
||||||
{el} = createSubEntry name
|
nodes.menu.addEntry entry
|
||||||
|
|
||||||
nodes.menu.addEntry
|
|
||||||
el: el
|
|
||||||
order: 0
|
|
||||||
|
|
||||||
$.on d, 'keydown', cb.keybinds
|
$.on d, 'keydown', cb.keybinds
|
||||||
$.off d, 'keydown', Keybinds.keydown
|
$.off d, 'keydown', Keybinds.keydown
|
||||||
@ -229,7 +225,7 @@ Gallery =
|
|||||||
$.on current, (if isVideo then 'canplaythrough' else 'load'), Gallery.cb.startTimer
|
$.on current, (if isVideo then 'canplaythrough' else 'load'), Gallery.cb.startTimer
|
||||||
|
|
||||||
startTimer: ->
|
startTimer: ->
|
||||||
Gallery.timeoutID = setTimeout Gallery.cb.checkTimer, Gallery.interval
|
Gallery.timeoutID = setTimeout Gallery.cb.checkTimer, Gallery.delay * $.SECOND
|
||||||
|
|
||||||
checkTimer: ->
|
checkTimer: ->
|
||||||
{current} = Gallery.nodes
|
{current} = Gallery.nodes
|
||||||
@ -267,6 +263,8 @@ Gallery =
|
|||||||
setFitness: ->
|
setFitness: ->
|
||||||
(if @checked then $.addClass else $.rmClass) doc, "gal-#{@name.toLowerCase().replace /\s+/g, '-'}"
|
(if @checked then $.addClass else $.rmClass) doc, "gal-#{@name.toLowerCase().replace /\s+/g, '-'}"
|
||||||
|
|
||||||
|
setDelay: -> Gallery.delay = +@value
|
||||||
|
|
||||||
menu:
|
menu:
|
||||||
init: ->
|
init: ->
|
||||||
return if g.VIEW is 'catalog' or !Conf['Gallery']
|
return if g.VIEW is 'catalog' or !Conf['Gallery']
|
||||||
@ -275,21 +273,27 @@ Gallery =
|
|||||||
textContent: 'Gallery'
|
textContent: 'Gallery'
|
||||||
className: 'gallery-link'
|
className: 'gallery-link'
|
||||||
|
|
||||||
{createSubEntry} = Gallery.menu
|
|
||||||
subEntries = []
|
|
||||||
for name of Config.gallery
|
|
||||||
subEntries.push createSubEntry name
|
|
||||||
|
|
||||||
Header.menu.addEntry
|
Header.menu.addEntry
|
||||||
el: el
|
el: el
|
||||||
order: 105
|
order: 105
|
||||||
subEntries: subEntries
|
subEntries: Gallery.menu.createSubEntries()
|
||||||
|
|
||||||
createSubEntry: (name) ->
|
createSubEntry: (name) ->
|
||||||
label = UI.checkbox name, " #{name}"
|
label = UI.checkbox name, " #{name}"
|
||||||
input = label.firstElementChild
|
input = label.firstElementChild
|
||||||
if name in ['Fit Width', 'Fit Height', 'Hide Thumbnails']
|
$.on input, 'change', Gallery.cb.setFitness
|
||||||
$.on input, 'change', Gallery.cb.setFitness
|
|
||||||
$.event 'change', null, input
|
$.event 'change', null, input
|
||||||
$.on input, 'change', $.cb.checked
|
$.on input, 'change', $.cb.checked
|
||||||
el: label
|
el: label
|
||||||
|
|
||||||
|
createSubEntries: ->
|
||||||
|
subEntries = ['Hide Thumbnails', 'Fit Width', 'Fit Height'].map Gallery.menu.createSubEntry
|
||||||
|
|
||||||
|
delayLabel = $.el 'label', innerHTML: 'Slide Delay: <input type="number" name="Slide Delay" min="0" step="any" class="field">'
|
||||||
|
delayInput = delayLabel.firstElementChild
|
||||||
|
delayInput.value = Gallery.delay
|
||||||
|
$.on delayInput, 'change', Gallery.cb.setDelay
|
||||||
|
$.on delayInput, 'change', $.cb.value
|
||||||
|
subEntries.push el: delayLabel
|
||||||
|
|
||||||
|
subEntries
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user