Add links to images to open them in the oekaki painter.

This commit is contained in:
ccd0 2015-10-25 03:56:10 -07:00
parent 154272ece7
commit 1845c6b033
4 changed files with 47 additions and 6 deletions

View File

@ -210,6 +210,10 @@ Config =
'Show PDF files in gallery.'
1
]
'Oekaki Links': [
true
'Add links to edit images in oekaki painter.'
]
'Sauce': [
true
'Add sauce links to images.'

View File

@ -387,6 +387,7 @@ Main =
['Strike-through Quotes', QuoteStrikeThrough]
['Quick Reply', QR]
['Cooldown', QR.cooldown]
['Oekaki Links', QR.oekaki]
['Menu', Menu]
['Index Generator (Menu)', Index.menu]
['Report Link', ReportLink]

View File

@ -273,6 +273,14 @@ QR =
value
status.disabled = disabled or false
openPost: ->
QR.open()
if QR.selected.isLocked
index = QR.posts.indexOf QR.selected
(QR.posts[index+1] or new QR.post()).select()
$.addClass QR.nodes.el, 'dump'
QR.cooldown.auto = true
quote: (e) ->
e?.preventDefault()
return unless QR.postingIsEnabled
@ -306,12 +314,7 @@ QR =
$.rm node
text += ">#{frag.textContent.trim()}\n"
QR.open()
if QR.selected.isLocked
index = QR.posts.indexOf QR.selected
(QR.posts[index+1] or new QR.post()).select()
$.addClass QR.nodes.el, 'dump'
QR.cooldown.auto = true
QR.openPost()
{com, thread} = QR.nodes
thread.value = Get.threadFromNode @ unless com.value

View File

@ -1,4 +1,37 @@
QR.oekaki =
init: ->
return unless Conf['Quick Reply'] and Conf['Oekaki Links']
Post.callbacks.push
name: 'Oekaki Links'
cb: @node
node: ->
return unless @file?.isImage
if @isClone
link = $ '.file-edit', @file.text
else
link = $.el 'a',
className: 'file-edit'
href: 'javascript:;'
title: 'Edit image'
$.extend link, <%= html('<i class="fa fa-edit"></i>') %>
$.add @file.text, [$.tn('\u00A0'), link]
$.on link, 'click', QR.oekaki.editFile
editFile: ->
post = Get.postFromNode @
CrossOrigin.file post.file.url, (blob) ->
QR.openPost()
{com, thread} = QR.nodes
thread.value = (post.context or post).thread.ID unless com.value
QR.selected.save thread
if blob
blob.name = post.file.name
QR.handleFiles [blob]
QR.oekaki.edit()
else
QR.error "Can't load image."
load: (cb) ->
if $ 'script[src^="//s.4cdn.org/js/painter"]', d.head
cb()