diff --git a/Core/Bridge/TweetDeckBridge.cs b/Core/Bridge/TweetDeckBridge.cs index e18b9735..277471b8 100644 --- a/Core/Bridge/TweetDeckBridge.cs +++ b/Core/Bridge/TweetDeckBridge.cs @@ -109,15 +109,7 @@ public void TryPasteImage(){ } public void ClickUploadImage(int offsetX, int offsetY){ - form.InvokeSafe(() => { - Point prevPos = Cursor.Position; - - Cursor.Position = form.PointToScreen(new Point(offsetX, offsetY)); - NativeMethods.SimulateMouseClick(NativeMethods.MouseButton.Left); - Cursor.Position = prevPos; - - form.OnImagePastedFinish(); - }); + form.InvokeAsyncSafe(() => form.TriggerImageUpload(offsetX, offsetY)); } public void ScreenshotTweet(string html, int width, int height){ diff --git a/Core/FormBrowser.cs b/Core/FormBrowser.cs index 69768366..4021fe0a 100644 --- a/Core/FormBrowser.cs +++ b/Core/FormBrowser.cs @@ -406,8 +406,10 @@ public void OnImagePasted(){ browser.ExecuteScriptAsync("TDGF_tryPasteImage()"); } - public void OnImagePastedFinish(){ - browser.ExecuteScriptAsync("TDGF_tryPasteImageFinish()"); + public void TriggerImageUpload(int offsetX, int offsetY){ + IBrowserHost host = browser.GetBrowser().GetHost(); + host.SendMouseClickEvent(offsetX, offsetY, MouseButtonType.Left, false, 1, CefEventFlags.None); + host.SendMouseClickEvent(offsetX, offsetY, MouseButtonType.Left, true, 1, CefEventFlags.None); } public void TriggerTweetScreenshot(){ diff --git a/Resources/Scripts/code.js b/Resources/Scripts/code.js index 837e2a9f..78c57377 100644 --- a/Resources/Scripts/code.js +++ b/Resources/Scripts/code.js @@ -344,6 +344,11 @@ }; var clickUpload = function(){ + $(document).one("uiFilesAdded", function(){ + getScroller().scrollTop(prevScrollTop); + $(".js-drawer").find(".js-compose-text").first()[0].focus(); + }); + var button = $(".js-add-image-button").first(); var scroller = getScroller(); @@ -395,13 +400,6 @@ lastPasteElement = null; } }; - - window.TDGF_tryPasteImageFinish = function(){ - setTimeout(function(){ - getScroller().scrollTop(prevScrollTop); - $(".js-drawer").find(".js-compose-text").first()[0].focus(); - }, 10); - }; })(); //