diff --git a/app/assets/javascripts/posts.js b/app/assets/javascripts/posts.js index bea5ac5d0..d3de6b0be 100644 --- a/app/assets/javascripts/posts.js +++ b/app/assets/javascripts/posts.js @@ -40,7 +40,11 @@ } Danbooru.Post.initialize_edit_dialog = function(e) { - $("#open-edit-dialog").button().show().click(this.open_edit_dialog); + $("#open-edit-dialog").button().show().click(function(e) { + $(window).scrollTop($("#image").offset().top); + Danbooru.Post.open_edit_dialog(); + e.preventDefault(); + }); $("#toggle-related-tags-link").click(function(e) { if ($("#related-tags").is(":visible")) { @@ -55,16 +59,13 @@ }); } - Danbooru.Post.open_edit_dialog = function(e) { + Danbooru.Post.open_edit_dialog = function() { var $tag_string = $("#post_tag_string,#upload_tag_string"); $("div.input").has($tag_string).prevAll().hide(); $("#open-edit-dialog").hide(); $("#toggle-related-tags-link").show().click(); - $tag_string.css({"resize": "none", "width": "100%"}); - - $(window).scrollTop($("#image").offset().top); var dialog = $("
").attr("id", "edit-dialog"); $("#form").appendTo(dialog); dialog.dialog({ @@ -86,7 +87,8 @@ dialog.parent().css("opacity", 1); }); - e.preventDefault(); + $tag_string.css({"resize": "none", "width": "100%"}); + $tag_string.focus().selectEnd().height($tag_string[0].scrollHeight); } Danbooru.Post.close_edit_dialog = function(e, ui) { diff --git a/app/assets/javascripts/shortcuts.js b/app/assets/javascripts/shortcuts.js index 1fa95a92a..7190f720d 100644 --- a/app/assets/javascripts/shortcuts.js +++ b/app/assets/javascripts/shortcuts.js @@ -14,6 +14,19 @@ $("#tags, #search_name, #search_name_matches, #query").trigger("focus").selectEnd(); e.preventDefault(); }); + + if ($("#image").length) { + $(document).bind("keypress", "shift+e", function(e) { + if (!$("#edit-dialog").length) { + $("#edit").show(); + $("#comments").hide(); + $("#share").hide(); + $("#related-tags-container").show(); + Danbooru.Post.open_edit_dialog(); + } + e.preventDefault(); + }); + } } Danbooru.Shortcuts.nav_scroll_down = function() {