diff --git a/ShareX.UploadersLib/Forms/TwitterTweetForm.cs b/ShareX.UploadersLib/Forms/TwitterTweetForm.cs index 236ff302b..3a5d9877f 100644 --- a/ShareX.UploadersLib/Forms/TwitterTweetForm.cs +++ b/ShareX.UploadersLib/Forms/TwitterTweetForm.cs @@ -40,7 +40,7 @@ public string Message { return txtTweet.Text; } - private set + set { txtTweet.Text = value; } @@ -129,7 +129,7 @@ private void SendTweet() private void TwitterMsg_Shown(object sender, EventArgs e) { - txtTweet.SelectionLength = 0; + txtTweet.Select(txtTweet.TextLength, 0); this.ShowActivate(); } diff --git a/ShareX.UploadersLib/ImageUploaders/Twitter.cs b/ShareX.UploadersLib/ImageUploaders/Twitter.cs index 0e4604b8c..80900c8ca 100644 --- a/ShareX.UploadersLib/ImageUploaders/Twitter.cs +++ b/ShareX.UploadersLib/ImageUploaders/Twitter.cs @@ -40,6 +40,8 @@ public class Twitter : ImageUploader, IOAuth public const int MessageMediaLimit = MessageLimit - characters_reserved_per_media; public OAuthInfo AuthInfo { get; set; } + public bool SkipMessageBox { get; set; } + public string DefaultMessage { get; set; } public Twitter(OAuthInfo oauth) { @@ -59,17 +61,25 @@ public bool GetAccessToken(string verificationCode) public override UploadResult Upload(Stream stream, string fileName) { - using (TwitterTweetForm twitterMsg = new TwitterTweetForm()) - { - twitterMsg.Length = MessageMediaLimit; + string message = DefaultMessage; - if (twitterMsg.ShowDialog() == DialogResult.OK) + if (!SkipMessageBox) + { + using (TwitterTweetForm twitterMsg = new TwitterTweetForm()) { - return TweetMessageWithMedia(twitterMsg.Message, stream, fileName); + twitterMsg.Length = MessageMediaLimit; + twitterMsg.Message = DefaultMessage; + + if (twitterMsg.ShowDialog() != DialogResult.OK) + { + return new UploadResult() { IsURLExpected = false }; + } + + message = twitterMsg.Message; } } - return new UploadResult() { IsURLExpected = false }; + return TweetMessageWithMedia(message, stream, fileName); } public TwitterStatusResponse TweetMessage(string message) diff --git a/ShareX/UploadTask.cs b/ShareX/UploadTask.cs index d18f602ee..fc9b082c6 100644 --- a/ShareX/UploadTask.cs +++ b/ShareX/UploadTask.cs @@ -706,7 +706,11 @@ public UploadResult UploadImage(Stream stream, string fileName) break; case ImageDestination.Twitter: OAuthInfo twitterOAuth = Program.UploadersConfig.TwitterOAuthInfoList.ReturnIfValidIndex(Program.UploadersConfig.TwitterSelectedAccount); - imageUploader = new Twitter(twitterOAuth); + imageUploader = new Twitter(twitterOAuth) + { + SkipMessageBox = Program.UploadersConfig.TwitterSkipMessageBox, + DefaultMessage = Program.UploadersConfig.TwitterDefaultMessage ?? string.Empty + }; break; case ImageDestination.Chevereto: imageUploader = new Chevereto(Program.UploadersConfig.CheveretoWebsite, Program.UploadersConfig.CheveretoAPIKey)