//------------------------------------------------------------------------------- // private void TwitMenu_SpecifyTimeTweetRequest_Click(object sender, TwitRowMenuEventArgs e) { using (FrmGetTweet frm = new FrmGetTweet()) { frm.EnableDateTimeTo = true; frm.DateTimeTo = e.TwitData.Time; if (frm.ShowDialog() == DialogResult.OK) { tssLabel.SetText(STR_GETTING_STATUS); Utilization.InvokeTransaction( () => GetSpecifyTimeTweets((UctlDispTwit)sender, frm.EnableDateTimeFrom, frm.DateTimeFrom, frm.EnableDateTimeTo, frm.DateTimeTo), () => tssLabel.RemoveText(STR_GETTING_STATUS) ); } } }
//------------------------------------------------------------------------------- // private void TwitMenu_UnFavorite_Click(object sender, TwitRowMenuEventArgs e) { if (DestroyFavorite(e.TwitData.StatusID)) { UctlDispTwit uctldisp = (UctlDispTwit)sender; e.TwitData.Favorited = false; uctldisp.ReConfigAll(); } }
//------------------------------------------------------------------------------- // private void TwitMenu_Retweet_Click(object sender, TwitRowMenuEventArgs e) { if (Message.ShowQuestionMessage("リツイートしますか?") == DialogResult.Yes) { Retweet(e.TwitData.StatusID); } }
//------------------------------------------------------------------------------- // private void TwitMenu_RowContextmenu_Click(object sender, TwitRowMenuEventArgs e) { switch (e.EventType) { case RowEventType.Reply: TwitMenu_Reply_Click(sender, e); break; case RowEventType.Quote: TwitMenu_Quote_Click(sender, e); break; case RowEventType.QuoteReply: TwitMenu_QuoteReply_Click(sender, e); break; case RowEventType.Retweet: TwitMenu_Retweet_Click(sender, e); break; case RowEventType.DirectMessage: TwitMenu_DirectMessage_Click(sender, e); break; //------------------------------------------------------------------------------- case RowEventType.DisplayConversation: TwitMenu_DisplayConversation_Click(sender, e); break; //------------------------------------------------------------------------------- case RowEventType.Favorite: TwitMenu_Favorite_Click(sender, e); break; case RowEventType.Unfavorite: TwitMenu_UnFavorite_Click(sender, e); break; //------------------------------------------------------------------------------- case RowEventType.Delete: TwitMenu_Delete_Click(sender, e); break; //------------------------------------------------------------------------------- case RowEventType.Retweeter: TwitMenu_Retweeter_Click(sender, e); break; //------------------------------------------------------------------------------- case RowEventType.ReGetTweet: TwitMenu_ReGetTweet(sender, e); break; case RowEventType.OlderTweetRequest: TwitMenu_OlderDataRequest_Click(sender, e); break; case RowEventType.MoreRecentTweetRequest: TwitMenu_MoreRecentDataRequest_Click(sender, e); break; case RowEventType.SpecifyTimeTweetRequest: TwitMenu_SpecifyTimeTweetRequest_Click(sender, e); break; } }
//------------------------------------------------------------------------------- // private void TwitMenu_Reply_Click(object sender, TwitRowMenuEventArgs e) { if (_stateStatusState != StatusState.Reply && _stateStatusState != StatusState.MultiReply) { _statlID = e.TwitData.StatusID; _RecipiantName = '@' + e.TwitData.UserScreenName; rtxtTwit.Text = _RecipiantName + ' '; rtxtTwit.Focus(); rtxtTwit.Select(rtxtTwit.Text.Length, 0); SetStatusState(StatusState.Reply, e.TwitData.UserScreenName + "宛のリプライ"); } else { if (_stateStatusState == StatusState.Reply) { rtxtTwit.Text = string.Format(".@{0} {1}", e.TwitData.UserScreenName, rtxtTwit.Text); rtxtTwit.Focus(); } else { // case StatusState.MultiReply rtxtTwit.Text = string.Format(".@{0} {1}", e.TwitData.UserScreenName, rtxtTwit.Text.Substring(1)); rtxtTwit.Focus(); } SetStatusState(StatusState.MultiReply, "複数へのリプライ"); } }
//------------------------------------------------------------------------------- // private void TwitMenu_Retweeter_Click(object sender, TwitRowMenuEventArgs e) { Utilization.ShowUsersForm(this, imageListWrapper, FrmDispUsers.EFormType.Retweeter, retweet_id: e.TwitData.MainTwitData.StatusID); }
//------------------------------------------------------------------------------- // private void TwitMenu_Quote_Click(object sender, TwitRowMenuEventArgs e) { rtxtTwit.Text += GetQuoteString(e.TwitData.UserScreenName, e.TwitData.TextWithShortenURL()); rtxtTwit.Focus(); rtxtTwit.Select(0, 0); SetStatusState(StatusState.Quote, string.Format("{0}の発言の引用", e.TwitData.UserScreenName)); }
//------------------------------------------------------------------------------- // private void TwitMenu_ReGetTweet(object sender, TwitRowMenuEventArgs e) { UctlDispTwit uctldisp = (UctlDispTwit)sender; // 1つを別スレッドで取得 InvokeTweetGet( (uctldisp_, status_id) => { TwitData tw; bool res = Utilization.GetTwitDataFromID(status_id, out tw); /* this.Invoke((Action)(() => { uctldisp.AddData(tw.AsEnumerable()); tsslRestAPI.Text = string.Format(REST_API_FORMAT, Twitter.API_Rest, Twitter.API_Max); })); */ return res; }, e.TwitData.StatusID, uctldisp, STR_GETTING_STATUS ); }
//------------------------------------------------------------------------------- // private void TwitMenu_QuoteReply_Click(object sender, TwitRowMenuEventArgs e) { rtxtTwit.Text += GetQuoteString(e.TwitData.UserScreenName, e.TwitData.TextWithShortenURL()); rtxtTwit.Focus(); rtxtTwit.Select(0, 0); _statlID = e.TwitData.StatusID; _RecipiantName = '@' + e.TwitData.UserScreenName; SetStatusState(StatusState.QuoteReply, e.TwitData.UserScreenName + "宛の引用リプライ"); }
//------------------------------------------------------------------------------- // private void TwitMenu_OlderDataRequest_Click(object sender, TwitRowMenuEventArgs e) { UctlDispTwit uctldisp = (UctlDispTwit)sender; if (_dispTwitDic.Values.Any((u) => u == uctldisp)) { InvokeTweetGet(new Func<UctlDispTwit, long, bool>(GetOlderTweets), e.TwitData.StatusID, (UctlDispTwit)sender, STR_GETING_OLDERSTATUS); } }
//------------------------------------------------------------------------------- // private void TwitMenu_DisplayConversation_Click(object sender, TwitRowMenuEventArgs e) { UctlDispTwit dispTwit = (UctlDispTwit)sender; Utilization.ShowStatusesForm(this, FrmDispStatuses.EFormType.Conversation, conversations: dispTwit.TraceReply(e.TwitData.StatusID)); }
//------------------------------------------------------------------------------- // private void TwitMenu_DirectMessage_Click(object sender, TwitRowMenuEventArgs e) { rtxtTwit.Focus(); rtxtTwit.Select(0, 0); _statlID = e.TwitData.UserID; _RecipiantName = e.TwitData.UserScreenName; SetStatusState(StatusState.DirectMessage, e.TwitData.UserScreenName + "宛のダイレクトメッセージ"); }
//------------------------------------------------------------------------------- // private void TwitMenu_Delete_Click(object sender, TwitRowMenuEventArgs e) { if (Message.ShowQuestionMessage("削除してよろしいですか?") == DialogResult.Yes) { Delete(e.TwitData.StatusID, TwitData.IsDM(e.TwitData)); } }