From 0fad8ba26e0693af3cd79f971656c3ec231590cc Mon Sep 17 00:00:00 2001 From: Joel Besada Date: Thu, 16 Aug 2012 23:46:47 +0200 Subject: [PATCH] show error when something other than an image is inserted --- assets/css/main.less | 3 ++- assets/js/appflow.coffee | 24 ++++++++++++++++++++---- assets/js/copyandpaste.coffee | 4 ++-- assets/js/draganddrop.coffee | 3 +-- assets/js/main.coffee | 4 +--- 5 files changed, 26 insertions(+), 12 deletions(-) diff --git a/assets/css/main.less b/assets/css/main.less index 9508b78..1870983 100644 --- a/assets/css/main.less +++ b/assets/css/main.less @@ -467,7 +467,8 @@ body { &.error { p { - margin-bottom: 20px + margin-bottom: 20px; + line-height: 1.6em; } } diff --git a/assets/js/appflow.coffee b/assets/js/appflow.coffee index a6943c1..1c910b2 100644 --- a/assets/js/appflow.coffee +++ b/assets/js/appflow.coffee @@ -36,10 +36,11 @@ appFlow = (pasteboard) -> # An image has been inserted $pasteboard.on "imageinserted.stateevents", (e, eventData) -> $pasteboard.off ".stateevents" + $modalWindow.off "cancel" setState ++state, image: eventData.image # The image that the user is trying to insert is too large - $pasteboard.on "filetoolarge.stateevents", (e, eventData) -> + $pasteboard.on "filetoolarge.stateevents", (e) -> pasteboard.modalWindow.show("error", content: "The file size of the image you are trying to insert exceeds the current limit of @@ -47,9 +48,24 @@ appFlow = (pasteboard) ->

Please try another image." showCancel: true ) - $modalWindow.on "cancel", () -> - $modalWindow.off "cancel" - pasteboard.modalWindow.hide() + + # The user tried to insert something other than an image + $pasteboard.on "noimagefound.stateevents", (e, eventData) -> + content = "No image found" + if eventData.paste + content = "No image data was found in your clipboard, + copy an image first (or take a screenshot)." + else if eventData.drop + content = "The object you dragged in is not an image file." + + pasteboard.modalWindow.show("error", + content: content + showCancel: true + ) + + $modalWindow.on "cancel", () -> + pasteboard.modalWindow.hide() + # State 3: User is looking at / editing the image when states.editingImage diff --git a/assets/js/copyandpaste.coffee b/assets/js/copyandpaste.coffee index a17a419..12619a0 100644 --- a/assets/js/copyandpaste.coffee +++ b/assets/js/copyandpaste.coffee @@ -22,7 +22,7 @@ copyAndPaste = (pasteboard) -> pasteboard.fileHandler.readFile item.getAsFile() return - pasteboard.noImageError() + $(pasteboard).trigger "noimagefound", paste: true else setTimeout parsePaste, 1 @@ -35,7 +35,7 @@ copyAndPaste = (pasteboard) -> pasteboard.fileHandler.readData child.src return - pasteboard.noImageError() + $(pasteboard).trigger "noimagefound", paste: true focusPasteArea = () -> pasteArea.focus() diff --git a/assets/js/draganddrop.coffee b/assets/js/draganddrop.coffee index 34db61e..1a01746 100644 --- a/assets/js/draganddrop.coffee +++ b/assets/js/draganddrop.coffee @@ -28,8 +28,7 @@ dragAndDrop = (pasteboard) -> pasteboard.fileHandler.readFile file return - pasteboard.noImageError() - + $(pasteboard).trigger "noimagefound", drop: true self = isSupported: () -> !!(Modernizr.draganddrop and pasteboard.fileHandler.isSupported()) diff --git a/assets/js/main.coffee b/assets/js/main.coffee index 7e4fbb4..a1a9142 100644 --- a/assets/js/main.coffee +++ b/assets/js/main.coffee @@ -8,9 +8,7 @@ window.log = -> if window.console window.console.log.apply window.console, arguments -pasteboard = - noImageError: () -> - log "no images found" +pasteboard = {} window.moduleLoader.loadAll(pasteboard)