* NEW: 公式RTの通知に対応しました
* NEW: 公式の引用ツイートに則った投稿に対応しました
- 操作メニューまたはツイート右クリックメニューから Quote を選択すると、投稿欄に該当のステータスURLが入力されます
- - 注:これまでの Quote は Quote(Unofficial) に変更しました
+ - 以前までの「Quote」とは機能が異なるため注意して下さい
* NEW: Gyazoのサムネイル表示に対応
+ * CHG: 非公式RTとQTの機能を統合しました
+ - 「Retweet(Unofficial)」機能は「RT @***: 」が入力されるだけでなく返信先 (in_reply_to と呼ばれる) の情報が投稿時に付くようになります
+ - かつては非公式RTの in_reply_to の有無でフォロワーから見える範囲が変化しましたが、現在はその差異がないため統合しました
* FIX: ツイートの選択時にシステムの効果音が鳴っていた不具合を修正
* FIX: Ctrl+Eでツイート内のリンクを開く際に、Ctrlキーで「ユーザーのホームをタブで開く」設定を反転させる機能と競合していた不具合を修正 (thx @dj_kusuha!)
* FIX: 異常なsourceを含むツイートの振り分け時にエラーが発生する問題の回避
this.RtOpMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.RtUnOpMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.QtOpMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.QtUnOpMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.ToolStripSeparator25 = new System.Windows.Forms.ToolStripSeparator();
this.FavOpMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.FavoriteRetweetMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.ReTweetStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.ReTweetUnofficialStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.QuoteStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.QuoteUnofficialStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.ToolStripSeparator39 = new System.Windows.Forms.ToolStripSeparator();
this.FavAddToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.FavoriteRetweetContextMenu = new System.Windows.Forms.ToolStripMenuItem();
this.RtOpMenuItem,
this.RtUnOpMenuItem,
this.QtOpMenuItem,
- this.QtUnOpMenuItem,
this.ToolStripSeparator25,
this.FavOpMenuItem,
this.FavoriteRetweetMenuItem,
resources.ApplyResources(this.QtOpMenuItem, "QtOpMenuItem");
this.QtOpMenuItem.Click += new System.EventHandler(this.QuoteStripMenuItem_Click);
//
- // QtUnOpMenuItem
- //
- this.QtUnOpMenuItem.Name = "QtUnOpMenuItem";
- resources.ApplyResources(this.QtUnOpMenuItem, "QtUnOpMenuItem");
- this.QtUnOpMenuItem.Click += new System.EventHandler(this.QuoteUnofficialStripMenuItem_Click);
- //
// ToolStripSeparator25
//
this.ToolStripSeparator25.Name = "ToolStripSeparator25";
this.ReTweetStripMenuItem,
this.ReTweetUnofficialStripMenuItem,
this.QuoteStripMenuItem,
- this.QuoteUnofficialStripMenuItem,
this.ToolStripSeparator39,
this.FavAddToolStripMenuItem,
this.FavoriteRetweetContextMenu,
resources.ApplyResources(this.QuoteStripMenuItem, "QuoteStripMenuItem");
this.QuoteStripMenuItem.Click += new System.EventHandler(this.QuoteStripMenuItem_Click);
//
- // QuoteUnofficialStripMenuItem
- //
- this.QuoteUnofficialStripMenuItem.Name = "QuoteUnofficialStripMenuItem";
- resources.ApplyResources(this.QuoteUnofficialStripMenuItem, "QuoteUnofficialStripMenuItem");
- this.QuoteUnofficialStripMenuItem.Click += new System.EventHandler(this.QuoteUnofficialStripMenuItem_Click);
- //
// ToolStripSeparator39
//
this.ToolStripSeparator39.Name = "ToolStripSeparator39";
private ToolStripAPIGauge toolStripApiGauge;
private System.Windows.Forms.ToolStripMenuItem CreateSourceRuleOpMenuItem;
private System.Windows.Forms.ToolStripMenuItem SourceRuleMenuItem;
- private System.Windows.Forms.ToolStripMenuItem QtUnOpMenuItem;
- private System.Windows.Forms.ToolStripMenuItem QuoteUnofficialStripMenuItem;
}
}
\ No newline at end of file
ReTweetStripMenuItem.Enabled = false;
ReTweetUnofficialStripMenuItem.Enabled = false;
QuoteStripMenuItem.Enabled = false;
- QuoteUnofficialStripMenuItem.Enabled = false;
FavoriteRetweetContextMenu.Enabled = false;
FavoriteRetweetUnofficialContextMenu.Enabled = false;
}
ReTweetStripMenuItem.Enabled = false; //公式RTは無効に
ReTweetUnofficialStripMenuItem.Enabled = true;
QuoteStripMenuItem.Enabled = true;
- QuoteUnofficialStripMenuItem.Enabled = true;
FavoriteRetweetContextMenu.Enabled = false; //公式RTは無効に
FavoriteRetweetUnofficialContextMenu.Enabled = true;
}
ReTweetStripMenuItem.Enabled = false;
ReTweetUnofficialStripMenuItem.Enabled = false;
QuoteStripMenuItem.Enabled = false;
- QuoteUnofficialStripMenuItem.Enabled = false;
FavoriteRetweetContextMenu.Enabled = false;
FavoriteRetweetUnofficialContextMenu.Enabled = false;
}
ReTweetStripMenuItem.Enabled = true;
ReTweetUnofficialStripMenuItem.Enabled = true;
QuoteStripMenuItem.Enabled = true;
- QuoteUnofficialStripMenuItem.Enabled = true;
FavoriteRetweetContextMenu.Enabled = true;
FavoriteRetweetUnofficialContextMenu.Enabled = true;
}
ShortcutCommand.Create(Keys.Control | Keys.Shift | Keys.O)
.Do(() => this.FavorareMenuItem_Click(null, null)),
- ShortcutCommand.Create(Keys.Control | Keys.Shift | Keys.Q)
- .Do(() => this.doQuoteUnofficial()),
-
ShortcutCommand.Create(Keys.Control | Keys.Shift | Keys.Up)
.FocusedOn(FocusedControl.StatusText)
.Do(() => {
{
foreach (Match mid in m)
{
- if (StatusText.Contains("QT " + mid.Result("${id}") + ":") && mid.Result("${id}") == "@" + inReplyToScreenName) return;
+ if (StatusText.Contains("RT " + mid.Result("${id}") + ":") && mid.Result("${id}") == "@" + inReplyToScreenName) return;
}
}
}
await this.doGetFollowersMenu();
}
- private void doReTweetUnofficial()
- {
- //RT @id:内容
- if (this.ExistCurrentPost)
- {
- if (_curPost.IsDm ||
- !StatusText.Enabled) return;
-
- if (_curPost.IsProtect)
- {
- MessageBox.Show("Protected.");
- return;
- }
- string rtdata = _curPost.Text;
- rtdata = CreateRetweetUnofficial(rtdata, this.StatusText.Multiline);
-
- this.inReplyTo = null;
-
- StatusText.Text = "RT @" + _curPost.ScreenName + ": " + rtdata;
-
- StatusText.SelectionStart = 0;
- StatusText.Focus();
- }
- }
-
private void ReTweetUnofficialStripMenuItem_Click(object sender, EventArgs e)
{
doReTweetUnofficial();
}
}
- private void doQuoteUnofficial()
+ private void doReTweetUnofficial()
{
- //QT @id:内容
- //返信先情報付加
+ //RT @id:内容
if (this.ExistCurrentPost)
{
- if (_curPost.IsDm ||
- !StatusText.Enabled) return;
+ if (_curPost.IsDm || !StatusText.Enabled)
+ return;
if (_curPost.IsProtect)
{
string rtdata = _curPost.Text;
rtdata = CreateRetweetUnofficial(rtdata, this.StatusText.Multiline);
- StatusText.Text = " QT @" + _curPost.ScreenName + ": " + rtdata;
+ StatusText.Text = " RT @" + _curPost.ScreenName + ": " + rtdata;
+ // 投稿時に in_reply_to_status_id を付加する
var inReplyToStatusId = this._curPost.RetweetedId ?? this._curPost.StatusId;
var inReplyToScreenName = this._curPost.ScreenName;
this.inReplyTo = Tuple.Create(inReplyToStatusId, inReplyToScreenName);
doQuoteOfficial();
}
- private void QuoteUnofficialStripMenuItem_Click(object sender, EventArgs e) // Handles QuoteUnofficialStripMenuItem.Click, QtUnOpMenuItem.Click
- {
- doQuoteUnofficial();
- }
-
private void SearchButton_Click(object sender, EventArgs e)
{
//公式検索
this.RtOpMenuItem.Enabled = false;
this.RtUnOpMenuItem.Enabled = false;
this.QtOpMenuItem.Enabled = false;
- this.QtUnOpMenuItem.Enabled = false;
this.FavoriteRetweetMenuItem.Enabled = false;
this.FavoriteRetweetUnofficialMenuItem.Enabled = false;
}
this.RtOpMenuItem.Enabled = false; //公式RTは無効に
this.RtUnOpMenuItem.Enabled = true;
this.QtOpMenuItem.Enabled = true;
- this.QtUnOpMenuItem.Enabled = true;
this.FavoriteRetweetMenuItem.Enabled = false; //公式RTは無効に
this.FavoriteRetweetUnofficialMenuItem.Enabled = true;
}
this.RtOpMenuItem.Enabled = false;
this.RtUnOpMenuItem.Enabled = false;
this.QtOpMenuItem.Enabled = false;
- this.QtUnOpMenuItem.Enabled = false;
this.FavoriteRetweetMenuItem.Enabled = false;
this.FavoriteRetweetUnofficialMenuItem.Enabled = false;
}
this.RtOpMenuItem.Enabled = true;
this.RtUnOpMenuItem.Enabled = true;
this.QtOpMenuItem.Enabled = true;
- this.QtUnOpMenuItem.Enabled = true;
this.FavoriteRetweetMenuItem.Enabled = true;
this.FavoriteRetweetUnofficialMenuItem.Enabled = true;
}
<data name="ToolStripMenuItem6.Text" xml:space="preserve">
<value>開く(&O)</value>
</data>
- <data name="QtUnOpMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
- <value>Ctrl+Shift+Q</value>
- </data>
- <data name="QtUnOpMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>316, 22</value>
- </data>
- <data name="QtUnOpMenuItem.Text" xml:space="preserve">
- <value>Quote(Unoffi&cial)</value>
- </data>
- <data name="QuoteUnofficialStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>244, 22</value>
- </data>
- <data name="QuoteUnofficialStripMenuItem.Text" xml:space="preserve">
- <value>Quote(Unoffi&cial)</value>
- </data>
<data name="ContextMenuOperate.Size" type="System.Drawing.Size, System.Drawing">
- <value>242, 512</value>
+ <value>242, 534</value>
</data>
<data name=">>ContextMenuOperate.Name" xml:space="preserve">
<value>ContextMenuOperate</value>
<data name=">>LockListSortOrderToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name=">>QtUnOpMenuItem.Name" xml:space="preserve">
- <value>QtUnOpMenuItem</value>
- </data>
- <data name=">>QtUnOpMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name=">>QuoteUnofficialStripMenuItem.Name" xml:space="preserve">
- <value>QuoteUnofficialStripMenuItem</value>
- </data>
- <data name=">>QuoteUnofficialStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
<data name=">>$this.Name" xml:space="preserve">
<value>TweenMain</value>
</data>