From 164fe61ea3d1e822f816c360838ffab1e569b82f Mon Sep 17 00:00:00 2001 From: kiri_feather Date: Wed, 24 Nov 2010 11:38:28 +0000 Subject: [PATCH] =?utf8?q?related=5Fresults=E3=81=AEAPI=E3=81=AB=E5=AF=BE?= =?utf8?q?=E5=BF=9C=E3=80=82json=E3=81=97=E3=81=8B=E7=B5=90=E6=9E=9C?= =?utf8?q?=E3=82=92=E8=BF=94=E3=81=95=E3=81=AA=E3=81=84=E3=81=AE=E3=81=A7?= =?utf8?q?=E3=80=81=E7=8F=BE=E7=8A=B6=E3=81=A7=E3=81=AF=E4=BD=BF=E3=81=88?= =?utf8?q?=E3=81=BE=E3=81=9B=E3=82=93=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit git-svn-id: http://svn.sourceforge.jp/svnroot/tween/trunk@1104 e39ad16e-3079-482e-bb30-4b4d378143b6 --- Tween/Connection/HttpTwitter.vb | 12 + Tween/FilterDialog.vb | 6 +- Tween/My Project/Resources.Designer.vb | 9 + Tween/My Project/Resources.resx | 3 + Tween/MyCommon.vb | 2 + Tween/StatusDictionary.vb | 59 +- Tween/Tween.Designer.vb | 29 +- Tween/Tween.resx | 2340 +++++++++++++++++--------------- Tween/Tween.vb | 191 +-- Tween/Twitter.vb | 38 + 10 files changed, 1498 insertions(+), 1191 deletions(-) diff --git a/Tween/Connection/HttpTwitter.vb b/Tween/Connection/HttpTwitter.vb index 6476d5e1..873fbd7b 100644 --- a/Tween/Connection/HttpTwitter.vb +++ b/Tween/Connection/HttpTwitter.vb @@ -618,6 +618,18 @@ Public Class HttpTwitter Nothing) End Function + Public Function GetRelatedResults(ByVal id As Long, ByRef content As String) As HttpStatusCode + '認証なくても取得できるが、protectedユーザー分が抜ける + + Return httpCon.GetContent(GetMethod, _ + CreateTwitterUri("/1/related_results/show/" + id.ToString + ".xml"), _ + Nothing, _ + content, _ + TwitterApiInfo.HttpHeaders, _ + AddressOf GetApiCallback) + End Function + + #Region "Proxy API" Private Shared _twitterUrl As String = "api.twitter.com" 'Private TwitterUrl As String = "sorayukigtap.appspot.com/api" diff --git a/Tween/FilterDialog.vb b/Tween/FilterDialog.vb index 59be3127..459bbb6d 100644 --- a/Tween/FilterDialog.vb +++ b/Tween/FilterDialog.vb @@ -63,7 +63,7 @@ Public Class FilterDialog End If EditFilterGroup.Enabled = False Select Case TabInformations.GetInstance.Tabs(tabName).TabType - Case TabUsageType.Home, TabUsageType.DirectMessage, TabUsageType.Favorites, TabUsageType.PublicSearch, TabUsageType.Lists + Case TabUsageType.Home, TabUsageType.DirectMessage, TabUsageType.Favorites, TabUsageType.PublicSearch, TabUsageType.Lists, TabUsageType.Related ButtonNew.Enabled = False ButtonEdit.Enabled = False ButtonDelete.Enabled = False @@ -104,6 +104,8 @@ Public Class FilterDialog LabelTabType.Text = My.Resources.TabUsageTypeName_PublicSearch Case TabUsageType.Lists LabelTabType.Text = My.Resources.TabUsageTypeName_Lists + Case TabUsageType.Related + LabelTabType.Text = My.Resources.TabUsageTypeName_Related Case Else LabelTabType.Text = "UNKNOWN" End Select @@ -750,7 +752,7 @@ Public Class FilterDialog tabdialog.ClearTab() For Each key As String In _sts.Tabs.Keys Select Case TabInformations.GetInstance.Tabs(key).TabType - Case TabUsageType.Home, TabUsageType.DirectMessage, TabUsageType.Favorites, TabUsageType.PublicSearch, TabUsageType.Lists + Case TabUsageType.Home, TabUsageType.DirectMessage, TabUsageType.Favorites, TabUsageType.PublicSearch, TabUsageType.Lists, TabUsageType.Related Exit Select Case Else tabdialog.AddTab(key) diff --git a/Tween/My Project/Resources.Designer.vb b/Tween/My Project/Resources.Designer.vb index 5a416dd8..f8d8971f 100644 --- a/Tween/My Project/Resources.Designer.vb +++ b/Tween/My Project/Resources.Designer.vb @@ -2378,6 +2378,15 @@ Namespace My.Resources End Property ''' + ''' RelatedTweets に類似しているローカライズされた文字列を検索します。 + ''' + Friend ReadOnly Property TabUsageTypeName_Related() As String + Get + Return ResourceManager.GetString("TabUsageTypeName_Related", resourceCulture) + End Get + End Property + + ''' ''' タイムライン振り分け に類似しているローカライズされた文字列を検索します。 ''' Friend ReadOnly Property TabUsageTypeName_UserDefined() As String diff --git a/Tween/My Project/Resources.resx b/Tween/My Project/Resources.resx index 1634b906..b71de76b 100644 --- a/Tween/My Project/Resources.resx +++ b/Tween/My Project/Resources.resx @@ -1033,4 +1033,7 @@ Favoriteに追加してRetweetします。よろしいですか? + + RelatedTweets + \ No newline at end of file diff --git a/Tween/MyCommon.vb b/Tween/MyCommon.vb index c9f2a3b0..702552d6 100644 --- a/Tween/MyCommon.vb +++ b/Tween/MyCommon.vb @@ -116,6 +116,7 @@ Public Module MyCommon Retweet 'Retweetする PublicSearch '公式検索 List 'Lists + Related '関連発言 ''' ErrorState 'エラー表示のみで後処理終了(認証エラー時など) End Enum @@ -531,6 +532,7 @@ retry: Profile = 64 'Pin(save/no distribute/manual update) PublicSearch = 128 'Pin(save/no distribute/auto update) Lists = 256 + Related = 512 'RTMyTweet 'RTByOthers 'RTByMe diff --git a/Tween/StatusDictionary.vb b/Tween/StatusDictionary.vb index 96c54bf4..db7022ce 100644 --- a/Tween/StatusDictionary.vb +++ b/Tween/StatusDictionary.vb @@ -422,7 +422,7 @@ Public NotInheritable Class TabInformations Public Sub RemoveTab(ByVal TabName As String) SyncLock LockObj If IsDefaultTab(TabName) Then Exit Sub '念のため - If _tabs(TabName).TabType <> TabUsageType.PublicSearch AndAlso _tabs(TabName).TabType <> TabUsageType.Lists Then + If _tabs(TabName).TabType <> TabUsageType.PublicSearch AndAlso _tabs(TabName).TabType <> TabUsageType.Lists AndAlso _tabs(TabName).TabType <> TabUsageType.Related Then Dim homeTab As TabClass = GetTabByType(TabUsageType.Home) Dim dmName As String = GetTabByType(TabUsageType.DirectMessage).TabName @@ -615,7 +615,7 @@ Public NotInheritable Class TabInformations _statuses.Remove(Id) End If For Each tb As TabClass In _tabs.Values - If (tb.TabType = TabUsageType.PublicSearch OrElse tb.TabType = TabUsageType.DirectMessage OrElse tb.TabType = TabUsageType.Lists) _ + If (tb.TabType = TabUsageType.PublicSearch OrElse tb.TabType = TabUsageType.DirectMessage OrElse tb.TabType = TabUsageType.Lists OrElse tb.TabType = TabUsageType.Related) _ AndAlso tb.Contains(Id) Then post = tb.Posts(Id) If tb.UnreadManage AndAlso Not post.IsRead Then @@ -637,7 +637,7 @@ Public NotInheritable Class TabInformations tb.UnreadCount > 0 Then '未読アイテムへ Dim isRead As Boolean - If tb.TabType <> TabUsageType.PublicSearch AndAlso tb.TabType <> TabUsageType.DirectMessage AndAlso tb.TabType <> TabUsageType.Lists Then + If tb.TabType <> TabUsageType.PublicSearch AndAlso tb.TabType <> TabUsageType.DirectMessage AndAlso tb.TabType <> TabUsageType.Lists AndAlso tb.TabType = TabUsageType.Related Then isRead = _statuses(tb.OldestUnreadId).IsRead Else isRead = tb.Posts(tb.OldestUnreadId).IsRead @@ -678,7 +678,7 @@ Public NotInheritable Class TabInformations '最古未読が設定されていて、既読の場合(1発言以上存在) Try Dim posts As Dictionary(Of Long, PostClass) - If Tab.TabType <> TabUsageType.PublicSearch AndAlso Tab.TabType <> TabUsageType.DirectMessage AndAlso Tab.TabType <> TabUsageType.Lists Then + If Tab.TabType <> TabUsageType.PublicSearch AndAlso Tab.TabType <> TabUsageType.DirectMessage AndAlso Tab.TabType <> TabUsageType.Lists AndAlso Tab.TabType = TabUsageType.Related Then posts = _statuses Else posts = Tab.Posts @@ -743,7 +743,7 @@ Public NotInheritable Class TabInformations toIdx = 0 stp = -1 End If - If Tab.TabType <> TabUsageType.PublicSearch AndAlso Tab.TabType <> TabUsageType.DirectMessage AndAlso Tab.TabType <> TabUsageType.Lists Then + If Tab.TabType <> TabUsageType.PublicSearch AndAlso Tab.TabType <> TabUsageType.DirectMessage AndAlso Tab.TabType <> TabUsageType.Lists AndAlso Tab.TabType = TabUsageType.Related Then For i As Integer = StartIdx To toIdx Step stp If Not _statuses(Tab.GetId(i)).IsRead Then Tab.OldestUnreadId = Tab.GetId(i) @@ -787,7 +787,7 @@ Public NotInheritable Class TabInformations End If For Each tb As TabClass In _tabs.Values - If tb.TabType = TabUsageType.PublicSearch OrElse tb.TabType = TabUsageType.DirectMessage OrElse tb.TabType = TabUsageType.Lists Then + If tb.TabType = TabUsageType.PublicSearch OrElse tb.TabType = TabUsageType.DirectMessage OrElse tb.TabType = TabUsageType.Lists OrElse tb.TabType = TabUsageType.Related Then _addCount += tb.GetTemporaryCount End If tb.AddSubmit(isMentionIncluded) '振分確定(各タブに反映) @@ -863,7 +863,7 @@ Public NotInheritable Class TabInformations If add Then _notifyPosts.Add(post) Next For Each tb As TabClass In _tabs.Values - If tb.TabType = TabUsageType.PublicSearch OrElse tb.TabType = TabUsageType.DirectMessage OrElse tb.TabType = TabUsageType.Lists Then + If tb.TabType = TabUsageType.PublicSearch OrElse tb.TabType = TabUsageType.DirectMessage OrElse tb.TabType = TabUsageType.Lists OrElse tb.TabType = TabUsageType.Related Then If tb.Notify Then If tb.GetTemporaryCount > 0 Then For Each post As PostClass In tb.GetTemporaryPosts @@ -915,7 +915,7 @@ Public NotInheritable Class TabInformations tb.AddPostToInnerStorage(Item) End If Else - '公式検索、リストの場合 + '公式検索、リスト、関連発言の場合 Dim tb As TabClass If Me.Tabs.ContainsKey(Item.RelTabName) Then tb = Me.Tabs(Item.RelTabName) @@ -973,7 +973,7 @@ Public NotInheritable Class TabInformations Dim Id As Long = tb.GetId(Index) Dim post As PostClass - If tb.TabType <> TabUsageType.PublicSearch AndAlso tb.TabType <> TabUsageType.DirectMessage AndAlso tb.TabType <> TabUsageType.Lists Then + If tb.TabType <> TabUsageType.PublicSearch AndAlso tb.TabType <> TabUsageType.DirectMessage AndAlso tb.TabType <> TabUsageType.Lists AndAlso tb.TabType <> TabUsageType.Related Then post = _statuses(Id) Else post = tb.Posts(Id) @@ -987,12 +987,12 @@ Public NotInheritable Class TabInformations tb.UnreadCount -= 1 Me.SetNextUnreadId(Id, tb) '次の未読セット '他タブの最古未読IDはタブ切り替え時に。 - If tb.TabType = TabUsageType.PublicSearch OrElse tb.TabType = TabUsageType.DirectMessage OrElse tb.TabType = TabUsageType.Lists Then Exit Sub + If tb.TabType = TabUsageType.PublicSearch OrElse tb.TabType = TabUsageType.DirectMessage OrElse tb.TabType = TabUsageType.Lists OrElse tb.TabType = TabUsageType.Related Then Exit Sub For Each key As String In _tabs.Keys If key <> TabName AndAlso _ _tabs(key).UnreadManage AndAlso _ _tabs(key).Contains(Id) AndAlso _ - (_tabs(key).TabType <> TabUsageType.PublicSearch AndAlso _tabs(key).TabType <> TabUsageType.DirectMessage AndAlso _tabs(key).TabType <> TabUsageType.Lists) Then + (_tabs(key).TabType <> TabUsageType.PublicSearch AndAlso _tabs(key).TabType <> TabUsageType.DirectMessage AndAlso _tabs(key).TabType <> TabUsageType.Lists AndAlso _tabs(key).TabType <> TabUsageType.Related) Then _tabs(key).UnreadCount -= 1 If _tabs(key).OldestUnreadId = Id Then _tabs(key).OldestUnreadId = -1 End If @@ -1000,12 +1000,12 @@ Public NotInheritable Class TabInformations Else tb.UnreadCount += 1 If tb.OldestUnreadId > Id OrElse tb.OldestUnreadId = -1 Then tb.OldestUnreadId = Id - If tb.TabType = TabUsageType.PublicSearch OrElse tb.TabType = TabUsageType.DirectMessage OrElse tb.TabType = TabUsageType.Lists Then Exit Sub + If tb.TabType = TabUsageType.PublicSearch OrElse tb.TabType = TabUsageType.DirectMessage OrElse tb.TabType = TabUsageType.Lists OrElse tb.TabType = TabUsageType.Related Then Exit Sub For Each key As String In _tabs.Keys If Not key = TabName AndAlso _ _tabs(key).UnreadManage AndAlso _ _tabs(key).Contains(Id) AndAlso _ - (_tabs(key).TabType <> TabUsageType.PublicSearch AndAlso _tabs(key).TabType <> TabUsageType.DirectMessage AndAlso _tabs(key).TabType <> TabUsageType.Lists) Then + (_tabs(key).TabType <> TabUsageType.PublicSearch AndAlso _tabs(key).TabType <> TabUsageType.DirectMessage AndAlso _tabs(key).TabType <> TabUsageType.Lists AndAlso _tabs(key).TabType <> TabUsageType.Related) Then _tabs(key).UnreadCount += 1 If _tabs(key).OldestUnreadId > Id Then _tabs(key).OldestUnreadId = Id End If @@ -1040,7 +1040,7 @@ Public NotInheritable Class TabInformations Get If _statuses.ContainsKey(ID) Then Return _statuses(ID) For Each tb As TabClass In _tabs.Values - If (tb.TabType = TabUsageType.PublicSearch OrElse tb.TabType = TabUsageType.DirectMessage OrElse tb.TabType = TabUsageType.Lists) AndAlso _ + If (tb.TabType = TabUsageType.PublicSearch OrElse tb.TabType = TabUsageType.DirectMessage OrElse tb.TabType = TabUsageType.Lists OrElse tb.TabType = TabUsageType.Related) AndAlso _ tb.Contains(ID) Then Return tb.Posts(ID) End If @@ -1052,7 +1052,7 @@ Public NotInheritable Class TabInformations Public ReadOnly Property Item(ByVal TabName As String, ByVal Index As Integer) As PostClass Get 'If Not _tabs.ContainsKey(TabName) Then Return Nothing - If _tabs(TabName).TabType = TabUsageType.PublicSearch OrElse _tabs(TabName).TabType = TabUsageType.DirectMessage OrElse _tabs(TabName).TabType = TabUsageType.Lists Then + If _tabs(TabName).TabType = TabUsageType.PublicSearch OrElse _tabs(TabName).TabType = TabUsageType.DirectMessage OrElse _tabs(TabName).TabType = TabUsageType.Lists OrElse _tabs(TabName).TabType = TabUsageType.Related Then Return _tabs(TabName).Posts(_tabs(TabName).GetId(Index)) Else Return _statuses(_tabs(TabName).GetId(Index)) @@ -1064,7 +1064,7 @@ Public NotInheritable Class TabInformations Get Dim length As Integer = EndIndex - StartIndex + 1 Dim posts() As PostClass = New PostClass(length - 1) {} - If _tabs(TabName).TabType = TabUsageType.PublicSearch OrElse _tabs(TabName).TabType = TabUsageType.DirectMessage OrElse _tabs(TabName).TabType = TabUsageType.Lists Then + If _tabs(TabName).TabType = TabUsageType.PublicSearch OrElse _tabs(TabName).TabType = TabUsageType.DirectMessage OrElse _tabs(TabName).TabType = TabUsageType.Lists OrElse _tabs(TabName).TabType = TabUsageType.Related Then For i As Integer = 0 To length - 1 posts(i) = _tabs(TabName).Posts(_tabs(TabName).GetId(StartIndex + i)) Next i @@ -1108,7 +1108,7 @@ Public NotInheritable Class TabInformations Dim cnt As Integer = 0 Dim oldest As Long = Long.MaxValue Dim posts As Dictionary(Of Long, PostClass) - If tb.TabType <> TabUsageType.PublicSearch AndAlso tb.TabType <> TabUsageType.DirectMessage AndAlso tb.TabType <> TabUsageType.Lists Then + If tb.TabType <> TabUsageType.PublicSearch AndAlso tb.TabType <> TabUsageType.DirectMessage AndAlso tb.TabType <> TabUsageType.Lists AndAlso tb.TabType <> TabUsageType.Related Then posts = _statuses Else posts = tb.Posts @@ -1232,7 +1232,7 @@ Public NotInheritable Class TabInformations Public Sub ClearTabIds(ByVal TabName As String) '不要なPostを削除 SyncLock LockObj - If _tabs(TabName).TabType <> TabUsageType.PublicSearch AndAlso _tabs(TabName).TabType <> TabUsageType.DirectMessage AndAlso _tabs(TabName).TabType <> TabUsageType.Lists Then + If _tabs(TabName).TabType <> TabUsageType.PublicSearch AndAlso _tabs(TabName).TabType <> TabUsageType.DirectMessage AndAlso _tabs(TabName).TabType <> TabUsageType.Lists AndAlso _tabs(TabName).TabType <> TabUsageType.Related Then For Each Id As Long In _tabs(TabName).BackupIds Dim Hit As Boolean = False For Each tb As TabClass In _tabs.Values @@ -1257,7 +1257,7 @@ Public NotInheritable Class TabInformations Dim cnt As Integer = 0 Dim oldest As Long = Long.MaxValue Dim posts As Dictionary(Of Long, PostClass) - If tb.TabType <> TabUsageType.PublicSearch AndAlso tb.TabType <> TabUsageType.DirectMessage AndAlso tb.TabType <> TabUsageType.Lists Then + If tb.TabType <> TabUsageType.PublicSearch AndAlso tb.TabType <> TabUsageType.DirectMessage AndAlso tb.TabType <> TabUsageType.Lists AndAlso tb.TabType <> TabUsageType.Related Then posts = _statuses Else posts = tb.Posts @@ -1379,6 +1379,7 @@ Public NotInheritable Class TabClass Private _sorter As New IdComparerClass Private _oldestId As Long = Long.MaxValue '古いポスト取得用 Private _sinceId As Long = 0 + Private _relationTargetId As Long = 0 Private ReadOnly _lockObj As New Object @@ -1449,6 +1450,16 @@ Public NotInheritable Class TabClass #End Region _ + Public Property RelationTargetId() As Long + Get + Return _relationTargetId + End Get + Set(ByVal value As Long) + _relationTargetId = value + End Set + End Property + + _ Public Property OldestId() As Long Get Return _oldestId @@ -1527,7 +1538,7 @@ Public NotInheritable Class TabClass _oldestUnreadItem = -1 _tabType = TabType Me.ListInfo = list - If TabType = TabUsageType.PublicSearch OrElse TabType = TabUsageType.DirectMessage OrElse TabType = TabUsageType.Lists Then + If TabType = TabUsageType.PublicSearch OrElse TabType = TabUsageType.DirectMessage OrElse TabType = TabUsageType.Lists OrElse TabType = TabUsageType.Related Then _sorter.posts = _posts Else _sorter.posts = TabInformations.GetInstance.Posts @@ -1570,7 +1581,7 @@ Public NotInheritable Class TabClass 'フィルタに合致したら追加 Public Function AddFiltered(ByVal post As PostClass) As HITRESULT - If Me.TabType = TabUsageType.PublicSearch OrElse Me.TabType = TabUsageType.DirectMessage OrElse Me.TabType = TabUsageType.Lists Then Return HITRESULT.None + If Me.TabType = TabUsageType.PublicSearch OrElse Me.TabType = TabUsageType.DirectMessage OrElse Me.TabType = TabUsageType.Lists OrElse Me.TabType = TabUsageType.Related Then Return HITRESULT.None Dim rslt As HITRESULT = HITRESULT.None '全フィルタ評価(優先順位あり) @@ -1622,7 +1633,7 @@ Public NotInheritable Class TabClass Public Sub Remove(ByVal Id As Long) If Not Me._ids.Contains(Id) Then Exit Sub Me._ids.Remove(Id) - If Me.TabType = TabUsageType.PublicSearch OrElse Me.TabType = TabUsageType.DirectMessage OrElse Me.TabType = TabUsageType.Lists Then _posts.Remove(Id) + If Me.TabType = TabUsageType.PublicSearch OrElse Me.TabType = TabUsageType.DirectMessage OrElse Me.TabType = TabUsageType.Lists OrElse Me.TabType = TabUsageType.Related Then _posts.Remove(Id) End Sub Public Sub Remove(ByVal Id As Long, ByVal Read As Boolean) @@ -1634,7 +1645,7 @@ Public NotInheritable Class TabClass End If Me._ids.Remove(Id) - If Me.TabType = TabUsageType.PublicSearch OrElse Me.TabType = TabUsageType.DirectMessage OrElse Me.TabType = TabUsageType.Lists Then _posts.Remove(Id) + If Me.TabType = TabUsageType.PublicSearch OrElse Me.TabType = TabUsageType.DirectMessage OrElse Me.TabType = TabUsageType.Lists OrElse Me.TabType = TabUsageType.Related Then _posts.Remove(Id) End Sub Public Property UnreadManage() As Boolean @@ -1818,7 +1829,7 @@ Public NotInheritable Class TabClass End Get Set(ByVal value As TabUsageType) _tabType = value - If _tabType = TabUsageType.PublicSearch OrElse _tabType = TabUsageType.DirectMessage OrElse _tabType = TabUsageType.Lists Then + If _tabType = TabUsageType.PublicSearch OrElse _tabType = TabUsageType.DirectMessage OrElse _tabType = TabUsageType.Lists OrElse _tabType = TabUsageType.Related Then _sorter.posts = _posts Else _sorter.posts = TabInformations.GetInstance.Posts diff --git a/Tween/Tween.Designer.vb b/Tween/Tween.Designer.vb index 2b95516c..f84ef2b1 100644 --- a/Tween/Tween.Designer.vb +++ b/Tween/Tween.Designer.vb @@ -166,7 +166,7 @@ Partial Class TweenMain Me.CreateRuleOpMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.CreateTabRuleOpMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.CreateIdRuleOpMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.ToolStripMenuItem9 = New System.Windows.Forms.ToolStripMenuItem() + Me.ListManageMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.ToolStripSeparator26 = New System.Windows.Forms.ToolStripSeparator() Me.ChangeReadOpMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.ReadOpMenuItem = New System.Windows.Forms.ToolStripMenuItem() @@ -275,6 +275,8 @@ Partial Class TweenMain Me.TimerRefreshIcon = New System.Windows.Forms.Timer(Me.components) Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog() Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components) + Me.ShowRelatedStatusesMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ShowRelatedStatusesMenuItem2 = New System.Windows.Forms.ToolStripMenuItem() Me.ToolStripContainer1.BottomToolStripPanel.SuspendLayout() Me.ToolStripContainer1.ContentPanel.SuspendLayout() Me.ToolStripContainer1.TopToolStripPanel.SuspendLayout() @@ -368,7 +370,6 @@ Partial Class TweenMain ' Me.ContextMenuPostMode.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItemUrlMultibyteSplit, Me.ToolStripMenuItemApiCommandEvasion, Me.ToolStripMenuItemUrlAutoShorten, Me.IdeographicSpaceToSpaceToolStripMenuItem, Me.MultiLineMenuItem, Me.ToolStripFocusLockMenuItem, Me.ToolStripSeparator35, Me.ImageSelectMenuItem, Me.ToolStripSeparator8, Me.HashToggleMenuItem, Me.HashManageMenuItem}) Me.ContextMenuPostMode.Name = "ContextMenuStripPostMode" - Me.ContextMenuPostMode.OwnerItem = Me.HashStripSplitButton resources.ApplyResources(Me.ContextMenuPostMode, "ContextMenuPostMode") ' 'ToolStripMenuItemUrlMultibyteSplit @@ -1035,7 +1036,7 @@ Partial Class TweenMain ' 'MenuItemOperate ' - Me.MenuItemOperate.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ReplyOpMenuItem, Me.ReplyAllOpMenuItem, Me.DmOpMenuItem, Me.RtOpMenuItem, Me.RtUnOpMenuItem, Me.QtOpMenuItem, Me.ToolStripSeparator25, Me.FavoriteRetweetMenuItem, Me.FavoriteRetweetUnofficialMenuItem, Me.ToolStripSeparator38, Me.FavOpMenuItem, Me.UnFavOpMenuItem, Me.ShowProfMenuItem, Me.OpenOpMenuItem, Me.CreateRuleOpMenuItem, Me.ToolStripMenuItem9, Me.ToolStripSeparator26, Me.ChangeReadOpMenuItem, Me.JumpReadOpMenuItem, Me.ToolStripSeparator27, Me.SelAllOpMenuItem, Me.DelOpMenuItem, Me.RefreshOpMenuItem, Me.RefreshPrevOpMenuItem}) + Me.MenuItemOperate.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ReplyOpMenuItem, Me.ReplyAllOpMenuItem, Me.DmOpMenuItem, Me.RtOpMenuItem, Me.RtUnOpMenuItem, Me.QtOpMenuItem, Me.ToolStripSeparator25, Me.FavOpMenuItem, Me.FavoriteRetweetMenuItem, Me.FavoriteRetweetUnofficialMenuItem, Me.UnFavOpMenuItem, Me.ToolStripSeparator38, Me.ShowProfMenuItem, Me.ShowRelatedStatusesMenuItem2, Me.OpenOpMenuItem, Me.CreateRuleOpMenuItem, Me.ListManageMenuItem, Me.ToolStripSeparator26, Me.ChangeReadOpMenuItem, Me.JumpReadOpMenuItem, Me.ToolStripSeparator27, Me.SelAllOpMenuItem, Me.DelOpMenuItem, Me.RefreshOpMenuItem, Me.RefreshPrevOpMenuItem}) Me.MenuItemOperate.Name = "MenuItemOperate" resources.ApplyResources(Me.MenuItemOperate, "MenuItemOperate") ' @@ -1161,10 +1162,10 @@ Partial Class TweenMain Me.CreateIdRuleOpMenuItem.Name = "CreateIdRuleOpMenuItem" resources.ApplyResources(Me.CreateIdRuleOpMenuItem, "CreateIdRuleOpMenuItem") ' - 'ToolStripMenuItem9 + 'ListManageMenuItem ' - Me.ToolStripMenuItem9.Name = "ToolStripMenuItem9" - resources.ApplyResources(Me.ToolStripMenuItem9, "ToolStripMenuItem9") + Me.ListManageMenuItem.Name = "ListManageMenuItem" + resources.ApplyResources(Me.ListManageMenuItem, "ListManageMenuItem") ' 'ToolStripSeparator26 ' @@ -1465,7 +1466,7 @@ Partial Class TweenMain ' 'ContextMenuOperate ' - Me.ContextMenuOperate.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ReplyStripMenuItem, Me.ReplyAllStripMenuItem, Me.DMStripMenuItem, Me.ReTweetOriginalStripMenuItem, Me.ReTweetStripMenuItem, Me.QuoteStripMenuItem, Me.ToolStripSeparator39, Me.FavoriteRetweetContextMenu, Me.FavoriteRetweetUnofficialContextMenu, Me.ToolStripSeparator2, Me.FavAddToolStripMenuItem, Me.FavRemoveToolStripMenuItem, Me.ShowProfileMenuItem, Me.ToolStripMenuItem6, Me.ToolStripMenuItem7, Me.ListManageUserContextToolStripMenuItem2, Me.ToolStripSeparator4, Me.ToolStripMenuItem11, Me.JumpUnreadMenuItem, Me.ToolStripSeparator10, Me.SelectAllMenuItem, Me.DeleteStripMenuItem, Me.RefreshStripMenuItem, Me.RefreshMoreStripMenuItem}) + Me.ContextMenuOperate.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ReplyStripMenuItem, Me.ReplyAllStripMenuItem, Me.DMStripMenuItem, Me.ReTweetOriginalStripMenuItem, Me.ReTweetStripMenuItem, Me.QuoteStripMenuItem, Me.ToolStripSeparator39, Me.FavAddToolStripMenuItem, Me.FavoriteRetweetContextMenu, Me.FavoriteRetweetUnofficialContextMenu, Me.FavRemoveToolStripMenuItem, Me.ToolStripSeparator2, Me.ShowProfileMenuItem, Me.ShowRelatedStatusesMenuItem, Me.ToolStripMenuItem6, Me.ToolStripMenuItem7, Me.ListManageUserContextToolStripMenuItem2, Me.ToolStripSeparator4, Me.ToolStripMenuItem11, Me.JumpUnreadMenuItem, Me.ToolStripSeparator10, Me.SelectAllMenuItem, Me.DeleteStripMenuItem, Me.RefreshStripMenuItem, Me.RefreshMoreStripMenuItem}) Me.ContextMenuOperate.Name = "ContextMenuStrip2" Me.ContextMenuOperate.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional resources.ApplyResources(Me.ContextMenuOperate, "ContextMenuOperate") @@ -1719,6 +1720,16 @@ Partial Class TweenMain ' Me.OpenFileDialog1.FileName = "OpenFileDialog1" ' + 'ShowRelatedStatusesMenuItem + ' + Me.ShowRelatedStatusesMenuItem.Name = "ShowRelatedStatusesMenuItem" + resources.ApplyResources(Me.ShowRelatedStatusesMenuItem, "ShowRelatedStatusesMenuItem") + ' + 'ShowRelatedStatusesMenuItem2 + ' + Me.ShowRelatedStatusesMenuItem2.Name = "ShowRelatedStatusesMenuItem2" + resources.ApplyResources(Me.ShowRelatedStatusesMenuItem2, "ShowRelatedStatusesMenuItem2") + ' 'TweenMain ' Me.AllowDrop = True @@ -2002,7 +2013,7 @@ Partial Class TweenMain Friend WithEvents ListManageUserContextToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem Friend WithEvents ToolStripSeparator37 As System.Windows.Forms.ToolStripSeparator Friend WithEvents ShortcutKeyListMenuItem As System.Windows.Forms.ToolStripMenuItem - Friend WithEvents ToolStripMenuItem9 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ListManageMenuItem As System.Windows.Forms.ToolStripMenuItem Friend WithEvents ListManageUserContextToolStripMenuItem2 As System.Windows.Forms.ToolStripMenuItem Friend WithEvents ListManageUserContextToolStripMenuItem3 As System.Windows.Forms.ToolStripMenuItem Friend WithEvents ListManageToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem @@ -2016,5 +2027,7 @@ Partial Class TweenMain Friend WithEvents FavoriteRetweetContextMenu As System.Windows.Forms.ToolStripMenuItem Friend WithEvents FavoriteRetweetUnofficialContextMenu As System.Windows.Forms.ToolStripMenuItem Friend WithEvents ToolStripSeparator2 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ShowRelatedStatusesMenuItem2 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ShowRelatedStatusesMenuItem As System.Windows.Forms.ToolStripMenuItem End Class diff --git a/Tween/Tween.resx b/Tween/Tween.resx index 4ad557e0..52bc1bdd 100644 --- a/Tween/Tween.resx +++ b/Tween/Tween.resx @@ -156,78 +156,6 @@ 263, 17 - - 280, 22 - - - URLからの全角文字列の切り離し - - - 280, 22 - - - APIコマンドを回避する - - - 280, 22 - - - 自動的にURLを短縮する - - - 280, 22 - - - 全角スペースを半角スペースにする - - - Ctrl+Y - - - 280, 22 - - - 発言欄複数行入力(&M) - - - 280, 22 - - - フォーカスを発言欄へロックする - - - 277, 6 - - - Ctrl+Shift+P - - - 280, 22 - - - 投稿画像選択(&P) - - - 277, 6 - - - Ctrl+Shift+T - - - 280, 22 - - - ハッシュタグ自動付加 - - - Ctrl+T - - - 280, 22 - - - ハッシュタグ設定 - 281, 214 @@ -288,105 +216,6 @@ Horizontal - - Bottom - - - 130, 99 - - - 226, 22 - - - タブ作成(&N)... - - - 226, 22 - - - タブ名の変更(&R) - - - 223, 6 - - - 226, 22 - - - 未読管理(&U) - - - 226, 22 - - - 新着通知表示(&Q) - - - 121, 26 - - - 再生するwavファイルを指定してください - - - 223, 6 - - - 226, 22 - - - 振り分けルール編集(&F)... - - - 223, 6 - - - 226, 22 - - - このタブの発言をクリア(&C) - - - 223, 6 - - - 226, 22 - - - タブ削除(&D) - - - 227, 212 - - - ContextMenuTabProperty - - - System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Fill - - - 17, 99 - - - 16, 16 - - - Disable - - - 0, 0 - - - 0, 0, 0, 0 - - - 453, 164 - - - 0 - ListTab @@ -426,24 +255,6 @@ True - - Fill - - - Off - - - 0, 0 - - - 453, 136 - - - Zoom - - - 5 - ImageSelectedPicture @@ -456,1043 +267,1454 @@ 0 - - Fill + + ImagePathPanel - - 57, 3 + + System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 161, 19 + + ImageSelectionPanel - + 1 - - ImagefilePathText + + Fill - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 0, 0 - - ImagePathPanel + + 453, 164 - - 0 + + 1 - - Right + + False - - Off + + ImageSelectionPanel - - 218, 3 + + System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 22, 22 + + SplitContainer1.Panel1 - - 2 + + 1 - - ... + + Fill - - FilePickButton + + 0, 0 - - System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 453, 164 - - ImagePathPanel + + 2 - - 1 - - - Right - - - Off - - - 240, 3 + + False - - 57, 22 + + ProfilePanel - - 3 + + System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 投稿先 + + SplitContainer1.Panel1 - - MiddleRight + + 2 - - Label2 + + SplitContainer1.Panel1 - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - ImagePathPanel + + SplitContainer1 - - 2 + + 0 - - Right + + Fill - - TwitPic + + 0, 0 - - TwitVideo + + Fill - - 297, 3 + + 0, 0 - - 97, 20 + + Horizontal - + 4 - - ImageServiceCombo - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + UserPicture - - ImagePathPanel + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 3 + + TableLayoutPanel1 - - Right + + 0 - - Off + + NameLabel - - 394, 3 + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 56, 22 + + TableLayoutPanel1 - - 5 + + 1 - - Cancel + + PostBrowser - - ImageCancelButton + + System.Windows.Forms.WebBrowser, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + TableLayoutPanel1 - - ImagePathPanel + + 2 - - 4 + + DateTimeLabel - - Left + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Off + + TableLayoutPanel1 - - 3, 3 + + 3 - - 54, 22 + + SourceLinkLabel - - 0 + + System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - ファイル + + TableLayoutPanel1 - - MiddleLeft + + 4 - - Label1 + + Fill - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 0, 0 - - ImagePathPanel + + 2 - - 5 + + 453, 99 - - Bottom + + 1 - - 0, 136 + + TableLayoutPanel1 - - 3, 3, 3, 3 + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 453, 28 + + SplitContainer2.Panel1 - + 0 - - ImagePathPanel + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="UserPicture" Row="0" RowSpan="2" Column="0" ColumnSpan="1" /><Control Name="NameLabel" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="PostBrowser" Row="1" RowSpan="1" Column="1" ColumnSpan="3" /><Control Name="DateTimeLabel" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="SourceLinkLabel" Row="0" RowSpan="1" Column="3" ColumnSpan="1" /></Controls><Columns Styles="Absolute,56,Percent,100,Absolute,120,AutoSize,0" /><Rows Styles="Absolute,17,Percent,100" /></TableLayoutSettings> - - System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + SplitContainer2.Panel1 - - ImageSelectionPanel + + System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 1 + + SplitContainer2 - + + 0 + + + 0 + + Fill - + 0, 0 - - 453, 164 + + 365, 19 - + 1 - - False + + StatusText - - ImageSelectionPanel + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + SplitContainer2.Panel2 - - SplitContainer1.Panel1 + + 0 - - 1 + + Right - - Fill + + Off - - 0, 0 + + 365, 0 - - 453, 164 + + 44, 25 - - 2 + + 0 - - False + + 999 - - ProfilePanel - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - SplitContainer1.Panel1 + + MiddleCenter - - 2 + + lblLen - - SplitContainer1.Panel1 + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + SplitContainer2.Panel2 - - SplitContainer1 + + 1 - - 0 + + Right - - Fill + + Off - - 0, 0 + + 409, 0 - - Fill + + 44, 25 - - 0, 0 + + 2 - - Horizontal + + Post - - 4 + + PostButton - - 635, 58 - - - 238, 22 + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - フォローする(&F) + + SplitContainer2.Panel2 - - 238, 22 + + 2 - - フォロー解除(&N) + + SplitContainer2.Panel2 - - 238, 22 + + System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 相互フォロー状態表示(&H) + + SplitContainer2 - - 238, 22 + + 1 - - リスト管理(&L) + + 19 - - 235, 6 + + 453, 126 - - 238, 22 + + 99 - - プロフィール表示(&P) + + 2 - - 238, 22 + + 1 - - このユーザーの発言を検索(&S) + + SplitContainer2 - - 235, 6 + + System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 238, 22 + + SplitContainer3.Panel1 - - IconName + + 0 - - 238, 22 + + SplitContainer3.Panel1 - - 保存(&I)... + + System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 239, 192 + + SplitContainer3 - - ContextMenuUserPicture + + 0 - - System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Fill - + Off - - 3, 3 + + 0, 0 - - 50, 50 + + 77, 126 - + Zoom - - 5 + + 1 - - UserPicture + + PreviewPicture - + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - TableLayoutPanel1 + + SplitContainer3.Panel2 - + 0 - - True - - - Fill - - - MS UI Gothic, 9pt, style=Bold + + Right - + Off - - 59, 3 - - - 3, 3, 3, 0 + + 77, 0 - - 206, 14 + + 17, 126 - + 0 - - LblName - - - MiddleLeft - - - NameLabel + + PreviewScrollBar - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + System.Windows.Forms.VScrollBar, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - TableLayoutPanel1 + + SplitContainer3.Panel2 - + 1 - - 480, 17 - - - 180, 22 + + SplitContainer3.Panel2 - - Google(&G) + + System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 180, 22 + + SplitContainer3 - - Wikipedia(&W) + + 1 - - 180, 22 + + 453, 126 - - Twitter検索(&Y) + + 355 - - 180, 22 + + 2 - - Twitter Search(&S) + + SplitContainer3 - - 180, 22 + + System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 現在のタブ(&L) + + SplitContainer1.Panel2 - - 238, 22 + + 0 + + + SplitContainer1.Panel2 + + + System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SplitContainer1 + + + 1 + + + 23 + + + 457, 300 + + + 168 + + + 2 + + + 0 + + + SplitContainer1 + + + System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripContainer1.ContentPanel + + + 0 + + + 457, 300 + + + ToolStripContainer1.ContentPanel + + + System.Windows.Forms.ToolStripContentPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripContainer1 + + + 0 + + + Fill + + + ToolStripContainer1.LeftToolStripPanel + + + System.Windows.Forms.ToolStripPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripContainer1 + + + 1 + + + 0, 0 + + + ToolStripContainer1.RightToolStripPanel + + + System.Windows.Forms.ToolStripPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripContainer1 + + + 2 + + + 457, 353 + + + 0 + + + ToolStripContainer1 + + + 143, 17 + + + None + + + 0, 0 + + + 457, 26 + + + 0 + + + MenuStrip1 + + + MenuStrip1 + + + System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripContainer1.TopToolStripPanel + + + 0 + + + ToolStripContainer1.TopToolStripPanel + + + System.Windows.Forms.ToolStripPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripContainer1 + + + 3 + + + ToolStripContainer1 + + + System.Windows.Forms.ToolStripContainer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 6 + + + 280, 22 + + + URLからの全角文字列の切り離し + + + 280, 22 + + + APIコマンドを回避する + + + 280, 22 + + + 自動的にURLを短縮する + + + 280, 22 + + + 全角スペースを半角スペースにする + + + Ctrl+Y + + + 280, 22 + + + 発言欄複数行入力(&M) + + + 280, 22 + + + フォーカスを発言欄へロックする + + + 277, 6 + + + Ctrl+Shift+P + + + 280, 22 + + + 投稿画像選択(&P) + + + 277, 6 + + + Ctrl+Shift+T + + + 280, 22 + + + ハッシュタグ自動付加 + + + Ctrl+T + + + 280, 22 + + + ハッシュタグ設定 + + + Bottom + + + 130, 99 + + + 227, 212 + + + ContextMenuTabProperty + + + System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Fill + + + 17, 99 + + + 16, 16 + + + Disable + + + 0, 0 + + + 0, 0, 0, 0 + + + 453, 164 + + + 0 + + + ListTab + + + System.Windows.Forms.TabControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 選択文字列で検索(&S) + + TimelinePanel - - 235, 6 + + 0 - - 238, 22 + + 226, 22 - - 選択文字列をコピー(&C) + + タブ作成(&N)... - - False + + 226, 22 - - 238, 22 + + タブ名の変更(&R) - - URLをコピー(&U) + + 223, 6 - - 238, 22 + + 226, 22 - - すべて選択(&A) + + 未読管理(&U) - - 235, 6 + + 226, 22 - - 238, 22 + + 新着通知表示(&Q) - - フォローする(&F) + + 121, 26 - - 238, 22 + + 再生するwavファイルを指定してください - - フォロー解除(&N) + + 223, 6 - - 238, 22 + + 226, 22 - - 相互フォロー状態表示(&R) + + 振り分けルール編集(&F)... - - 238, 22 + + 223, 6 - - 全ユーザーのフォロー状態(&A) + + 226, 22 - - 235, 6 + + このタブの発言をクリア(&C) - - 238, 22 + + 223, 6 + + + 226, 22 + + + タブ削除(&D) + + + Fill + + + Off + + + 0, 0 + + + 453, 136 + + + Zoom + + + 5 + + + ImageSelectedPicture + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ImageSelectionPanel + + + 0 + + + ImagefilePathText + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ImagePathPanel + + + 0 + + + FilePickButton + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ImagePathPanel + + + 1 + + + Label2 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ImagePathPanel + + + 2 + + + ImageServiceCombo + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ImagePathPanel + + + 3 + + + ImageCancelButton + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ImagePathPanel + + + 4 + + + Label1 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ImagePathPanel + + + 5 + + + Bottom + + + 0, 136 + + + 3, 3, 3, 3 + + + 453, 28 + + + 0 + + + ImagePathPanel + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ImageSelectionPanel + + + 1 + + + Fill + + + 57, 3 + + + 161, 19 + + + 1 + + + ImagefilePathText + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ImagePathPanel + + + 0 + + + Right + + + Off + + + 218, 3 + + + 22, 22 + + + 2 - - プロフィール表示(&P) + + ... - - 238, 22 + + FilePickButton - - このユーザーの発言を検索(&F) + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 235, 6 + + ImagePathPanel - - 238, 22 + + 1 - - ID振分ルール作成(&I) + + Right - - 238, 22 + + Off - - リスト管理(&L) + + 240, 3 - - 235, 6 + + 57, 22 - - 238, 22 + + 3 - - ハッシュタグを固定(&H) + + 投稿先 - - 239, 320 + + MiddleRight - - ContextMenuPostBrowser + + Label2 - - System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Fill + + ImagePathPanel - - 59, 20 + + 2 - - 391, 76 + + Right - - 6 + + TwitPic - - PostBrowser + + TwitVideo - - System.Windows.Forms.WebBrowser, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 297, 3 - - TableLayoutPanel1 + + 97, 20 - - 2 + + 4 - - Top, Bottom, Right + + ImageServiceCombo - - True + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Off + + ImagePathPanel - - 347, 3 + + 3 - - 3, 3, 3, 0 + + Right - - 38, 14 + + Off - - 1 + + 394, 3 - - Label1 + + 56, 22 - - MiddleRight + + 5 - - DateTimeLabel + + Cancel - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + ImageCancelButton - - TableLayoutPanel1 + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 3 + + ImagePathPanel - - Top, Bottom, Left, Right + + 4 - - True + + Left - + Off - - 391, 3 + + 3, 3 - - 3, 3, 3, 0 + + 54, 22 - - 59, 14 + + 0 - - 7 + + ファイル - - LinkLabel1 + + MiddleLeft - - MiddleRight + + Label1 - - SourceLinkLabel + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + ImagePathPanel - - TableLayoutPanel1 + + 5 - - 4 + + 635, 58 + + + 239, 192 - - Fill + + ContextMenuUserPicture - - 0, 0 + + System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 2 + + Off - - 453, 99 + + 3, 3 - - 1 + + 50, 50 - - TableLayoutPanel1 + + Zoom - - System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 5 - - SplitContainer2.Panel1 + + UserPicture - + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TableLayoutPanel1 + + 0 - - <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="UserPicture" Row="0" RowSpan="2" Column="0" ColumnSpan="1" /><Control Name="NameLabel" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="PostBrowser" Row="1" RowSpan="1" Column="1" ColumnSpan="3" /><Control Name="DateTimeLabel" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="SourceLinkLabel" Row="0" RowSpan="1" Column="3" ColumnSpan="1" /></Controls><Columns Styles="Absolute,56,Percent,100,Absolute,120,AutoSize,0" /><Rows Styles="Absolute,17,Percent,100" /></TableLayoutSettings> + + 238, 22 - - SplitContainer2.Panel1 + + フォローする(&F) - - System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 238, 22 - - SplitContainer2 + + フォロー解除(&N) - - 0 + + 238, 22 - - 0 + + 相互フォロー状態表示(&H) - - Fill + + 238, 22 - - 0, 0 + + リスト管理(&L) - - 365, 19 + + 235, 6 - - 1 + + 238, 22 - - StatusText + + プロフィール表示(&P) - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 238, 22 - - SplitContainer2.Panel2 + + このユーザーの発言を検索(&S) - - 0 + + 235, 6 - - Right + + 238, 22 - - Off + + IconName - - 365, 0 + + 238, 22 - - 44, 25 + + 保存(&I)... - - 0 + + True - - 999 + + Fill - - MiddleCenter + + MS UI Gothic, 9pt, style=Bold - - lblLen + + Off - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 59, 3 - - SplitContainer2.Panel2 + + 3, 3, 3, 0 - - 1 + + 206, 14 - - Right + + 0 - - Off + + LblName - - 409, 0 + + MiddleLeft - - 44, 25 + + NameLabel - - 2 + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Post + + TableLayoutPanel1 - - PostButton + + 1 - - System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 480, 17 + + + 239, 320 - - SplitContainer2.Panel2 + + ContextMenuPostBrowser - - 2 + + System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - SplitContainer2.Panel2 + + Fill - - System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 59, 20 - - SplitContainer2 + + 391, 76 - - 1 + + 6 - - 19 + + PostBrowser - - 453, 126 + + System.Windows.Forms.WebBrowser, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 99 + + TableLayoutPanel1 - + 2 - - 1 - - - SplitContainer2 + + 238, 22 - - System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 選択文字列で検索(&S) - - SplitContainer3.Panel1 + + 180, 22 - - 0 + + Google(&G) - - SplitContainer3.Panel1 + + 180, 22 - - System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Wikipedia(&W) - - SplitContainer3 + + 180, 22 - - 0 + + Twitter検索(&Y) - - Fill + + 180, 22 - - Off + + Twitter Search(&S) - - 0, 0 + + 180, 22 - - 77, 126 + + 現在のタブ(&L) - - Zoom + + 235, 6 - - 1 + + 238, 22 - - PreviewPicture + + 選択文字列をコピー(&C) - - System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + False - - SplitContainer3.Panel2 + + 238, 22 - - 0 + + URLをコピー(&U) - - Right + + 238, 22 - - Off + + すべて選択(&A) - - 77, 0 + + 235, 6 - - 17, 126 + + 238, 22 - - 0 + + フォローする(&F) - - PreviewScrollBar + + 238, 22 - - System.Windows.Forms.VScrollBar, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + フォロー解除(&N) - - SplitContainer3.Panel2 + + 238, 22 - - 1 + + 相互フォロー状態表示(&R) - - SplitContainer3.Panel2 + + 238, 22 - - System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 全ユーザーのフォロー状態(&A) - - SplitContainer3 + + 235, 6 - - 1 + + 238, 22 - - 453, 126 + + プロフィール表示(&P) - - 355 + + 238, 22 - - 2 + + このユーザーの発言を検索(&F) - - SplitContainer3 + + 235, 6 - - System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 238, 22 - - SplitContainer1.Panel2 + + ID振分ルール作成(&I) - - 0 + + 238, 22 - - SplitContainer1.Panel2 + + リスト管理(&L) - - System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 235, 6 - - SplitContainer1 + + 238, 22 - - 1 + + ハッシュタグを固定(&H) - - 23 + + Top, Bottom, Right - - 457, 300 + + True - - 168 + + Off - - 2 + + 347, 3 - - 0 + + 3, 3, 3, 0 - - SplitContainer1 + + 38, 14 - - System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 1 - - ToolStripContainer1.ContentPanel + + Label1 - - 0 + + MiddleRight - - 457, 300 + + DateTimeLabel - - ToolStripContainer1.ContentPanel + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - System.Windows.Forms.ToolStripContentPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + TableLayoutPanel1 - - ToolStripContainer1 + + 3 - - 0 + + Top, Bottom, Left, Right - - Fill + + True - - ToolStripContainer1.LeftToolStripPanel + + Off - - System.Windows.Forms.ToolStripPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 391, 3 - - ToolStripContainer1 + + 3, 3, 3, 0 - - 1 + + 59, 14 - - 0, 0 + + 7 - - ToolStripContainer1.RightToolStripPanel + + LinkLabel1 - - System.Windows.Forms.ToolStripPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + MiddleRight - - ToolStripContainer1 + + SourceLinkLabel - - 2 + + System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 457, 353 + + TableLayoutPanel1 - - 0 + + 4 - - ToolStripContainer1 + + 85, 22 - - 143, 17 - - - None + + ファイル(&F) 189, 22 @@ -1539,11 +1761,11 @@ 終了(&X) - - 85, 22 + + 61, 22 - - ファイル(&F) + + 編集(&E) 259, 22 @@ -1614,11 +1836,11 @@ 抽出条件入力(&Q) - - 61, 22 + + 63, 22 - - 編集(&E) + + 操作(&O) Ctrl+R @@ -1728,6 +1950,12 @@ プロフィール表示 + + 316, 22 + + + 開く(&O) + Ctrl+H @@ -1791,11 +2019,11 @@ RTした人のホームを開く(&R) - + 316, 22 - - 開く(&O) + + 振り分けルール作成(&C) 227, 22 @@ -1809,21 +2037,21 @@ ID振り分けルール作成(&I) - - 316, 22 - - - 振り分けルール作成(&C) - - + 316, 22 - + リスト管理(&L) 313, 6 + + 316, 22 + + + 未読状態変更(&H) + Ctrl+B @@ -1842,12 +2070,6 @@ 未読にする(&U) - - 316, 22 - - - 未読状態変更(&H) - 316, 22 @@ -1893,11 +2115,11 @@ 前データを取得(&I) - - 63, 22 + + 62, 22 - - 操作(&O) + + タブ(&T) 226, 22 @@ -1959,11 +2181,17 @@ タブ削除(&D) - - 62, 22 + + 98, 22 - - タブ(&T) + + その他機能(&C) + + + 280, 22 + + + 入力欄のURLを短縮変換 Ctrl+L @@ -2010,14 +2238,8 @@ 242, 22 - - j.mp - - - 280, 22 - - - 入力欄のURLを短縮変換 + + j.mp 280, 22 @@ -2094,11 +2316,11 @@ リスト編集 - - 98, 22 + + 75, 22 - - その他機能(&C) + + ヘルプ(&H) F1 @@ -2142,18 +2364,6 @@ Tweenについて(&A)... - - 179, 22 - - - PostClassのダンプ - - - 179, 22 - - - TraceOut出力 - 227, 22 @@ -2163,59 +2373,17 @@ False - - 75, 22 - - - ヘルプ(&H) - - - 0, 0 - - - 457, 26 - - - 0 - - - MenuStrip1 - - - MenuStrip1 - - - System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - ToolStripContainer1.TopToolStripPanel - - - 0 - - - ToolStripContainer1.TopToolStripPanel - - - System.Windows.Forms.ToolStripPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - ToolStripContainer1 - - - 3 - - - ToolStripContainer1 + + 179, 22 - - System.Windows.Forms.ToolStripContainer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + PostClassのダンプ - - $this + + 179, 22 - - 6 + + TraceOut出力 443, 58 @@ -2259,6 +2427,12 @@ 240, 6 + + 243, 22 + + + Fav追加(&F) + 243, 22 @@ -2271,68 +2445,26 @@ Fav追加+Retweet(Unofficial) - - 240, 6 - - - 243, 22 - - - Fav追加(&F) - 243, 22 Fav削除(&V) + + 240, 6 + 243, 22 プロフィール表示 - - 230, 22 - - - ホームを開く(&H) - - - 230, 22 - - - Favを開く(&G) - - - 230, 22 - - - ステータスを開く(&O) - - - 230, 22 - - - 返信元ステータスを開く(&I) - - - 230, 22 - - - ふぁぼられを開く(&P) - - - 230, 22 - - - 発言内URLを開く(&U) - - - 230, 22 + + 243, 22 - - RTした人のホームを開く(&R) + + 関連発言表示(&G) 243, 22 @@ -2340,18 +2472,6 @@ 開く(&O) - - 239, 22 - - - タブ振り分けルール作成(&N)... - - - 239, 22 - - - ID振り分けルール作成... - 243, 22 @@ -2367,18 +2487,6 @@ 240, 6 - - 154, 22 - - - 既読にする(&B) - - - 154, 22 - - - 未読にする - 243, 22 @@ -2419,7 +2527,7 @@ 前データを取得(&I) - 244, 490 + 244, 512 ContextMenuOperate @@ -2427,9 +2535,84 @@ System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 230, 22 + + + ホームを開く(&H) + + + 230, 22 + + + Favを開く(&G) + + + 230, 22 + + + ステータスを開く(&O) + + + 230, 22 + + + 返信元ステータスを開く(&I) + + + 230, 22 + + + ふぁぼられを開く(&P) + + + 230, 22 + + + 発言内URLを開く(&U) + + + 230, 22 + + + RTした人のホームを開く(&R) + + + 239, 22 + + + タブ振り分けルール作成(&N)... + + + 239, 22 + + + ID振り分けルール作成... + + + 154, 22 + + + 既読にする(&B) + + + 154, 22 + + + 未読にする + 276, 58 + + 190, 154 + + + ContextMenuFile + + + System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + 189, 22 @@ -2478,15 +2661,6 @@ 終了(&X) - - 190, 154 - - - ContextMenuFile - - - System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - 155, 58 @@ -2505,11 +2679,17 @@ 750, 95 + + 316, 22 + + + 関連発言表示(&G) + True - 63 + 72 6, 12 @@ -3174,10 +3354,10 @@ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - ToolStripMenuItem9 + + ListManageMenuItem - + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @@ -3816,6 +3996,18 @@ System.Windows.Forms.ToolTip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + ShowRelatedStatusesMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ShowRelatedStatusesMenuItem2 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + TweenMain diff --git a/Tween/Tween.vb b/Tween/Tween.vb index 4fbb7ca9..e6eaa01b 100644 --- a/Tween/Tween.vb +++ b/Tween/Tween.vb @@ -2049,6 +2049,11 @@ Public Class TweenMain End If '振り分け rslt.addCount = _statuses.DistributePosts() + Case WORKERTYPE.Related + bw.ReportProgress(50, MakeStatusMessage(args, False)) + Dim tb As TabClass = _statuses.GetTabByName(args.tName) + ret = tw.GetRelatedResultsApi(read, tb) + rslt.addCount = _statuses.DistributePosts() End Select 'キャンセル要求 If bw.CancellationPending Then @@ -2130,6 +2135,8 @@ Public Class TweenMain smsg = "Search refreshing..." Case WORKERTYPE.List smsg = "List refreshing..." + Case WORKERTYPE.Related + smsg = "Related refreshing..." End Select Else '完了メッセージ @@ -2154,6 +2161,8 @@ Public Class TweenMain smsg = "Search refreshed" Case WORKERTYPE.List smsg = "List refreshed" + Case WORKERTYPE.Related + smsg = "Related refreshed" End Select End If Return smsg @@ -2266,7 +2275,8 @@ Public Class TweenMain rslt.type = WORKERTYPE.Favorites OrElse _ rslt.type = WORKERTYPE.Follower OrElse _ rslt.type = WORKERTYPE.FavAdd OrElse _ - rslt.type = WORKERTYPE.FavRemove Then + rslt.type = WORKERTYPE.FavRemove OrElse _ + rslt.type = WORKERTYPE.Related Then RefreshTimeline() 'リスト反映 End If @@ -2584,19 +2594,16 @@ Public Class TweenMain If ListTab.SelectedTab Is Nothing Then Exit Sub If _statuses Is Nothing OrElse _statuses.Tabs Is Nothing OrElse Not _statuses.Tabs.ContainsKey(ListTab.SelectedTab.Text) Then Exit Sub If _curPost Is Nothing Then - ShowProfileMenuItem.Enabled = False - ListManageUserContextToolStripMenuItem2.Enabled = False ReplyStripMenuItem.Enabled = False ReplyAllStripMenuItem.Enabled = False DMStripMenuItem.Enabled = False + ShowProfileMenuItem.Enabled = False + ListManageUserContextToolStripMenuItem2.Enabled = False MoveToFavToolStripMenuItem.Enabled = False - StatusOpenMenuItem.Enabled = False - FavorareMenuItem.Enabled = False TabMenuItem.Enabled = False IDRuleMenuItem.Enabled = False ReadedStripMenuItem.Enabled = False UnreadStripMenuItem.Enabled = False - DeleteStripMenuItem.Enabled = False Else ShowProfileMenuItem.Enabled = True ListManageUserContextToolStripMenuItem2.Enabled = True @@ -2604,28 +2611,18 @@ Public Class TweenMain ReplyAllStripMenuItem.Enabled = True DMStripMenuItem.Enabled = True MoveToFavToolStripMenuItem.Enabled = True - StatusOpenMenuItem.Enabled = True - FavorareMenuItem.Enabled = True TabMenuItem.Enabled = True IDRuleMenuItem.Enabled = True ReadedStripMenuItem.Enabled = True UnreadStripMenuItem.Enabled = True - DeleteStripMenuItem.Enabled = True End If - If _statuses.Tabs(ListTab.SelectedTab.Text).TabType = TabUsageType.DirectMessage OrElse _curPost Is Nothing Then + If _statuses.Tabs(ListTab.SelectedTab.Text).TabType = TabUsageType.DirectMessage OrElse _curPost Is Nothing OrElse _curPost.IsDm Then FavAddToolStripMenuItem.Enabled = False FavRemoveToolStripMenuItem.Enabled = False StatusOpenMenuItem.Enabled = False FavorareMenuItem.Enabled = False - Else - If IsNetworkAvailable() Then - FavAddToolStripMenuItem.Enabled = True - FavRemoveToolStripMenuItem.Enabled = True - StatusOpenMenuItem.Enabled = True - FavorareMenuItem.Enabled = True - End If - End If - If _curPost Is Nothing OrElse _curPost.IsDm Then + ShowRelatedStatusesMenuItem.Enabled = False + ReTweetStripMenuItem.Enabled = False ReTweetOriginalStripMenuItem.Enabled = False QuoteStripMenuItem.Enabled = False @@ -2633,6 +2630,12 @@ Public Class TweenMain FavoriteRetweetUnofficialContextMenu.Enabled = False If _curPost IsNot Nothing AndAlso _curPost.IsDm Then DeleteStripMenuItem.Enabled = True Else + FavAddToolStripMenuItem.Enabled = True + FavRemoveToolStripMenuItem.Enabled = True + StatusOpenMenuItem.Enabled = True + FavorareMenuItem.Enabled = True + ShowRelatedStatusesMenuItem.Enabled = True 'PublicSearchの時問題出るかも + If _curPost.IsMe Then ReTweetOriginalStripMenuItem.Enabled = False FavoriteRetweetContextMenu.Enabled = False @@ -3197,7 +3200,8 @@ Public Class TweenMain If tabType = TabUsageType.DirectMessage OrElse _ tabType = TabUsageType.Favorites OrElse _ tabType = TabUsageType.Home OrElse _ - tabType = TabUsageType.Mentions Then + tabType = TabUsageType.Mentions OrElse _ + tabType = TabUsageType.Related Then If _statuses.GetTabByType(tabType) IsNot Nothing Then Return False End If End If @@ -3379,7 +3383,7 @@ Public Class TweenMain _colHd8.Width = 50 If (_statuses.Tabs.ContainsKey(tabName) AndAlso _statuses.Tabs(tabName).TabType = TabUsageType.Mentions) _ - OrElse (Not _statuses.IsDefaultTab(tabName) AndAlso tabType <> TabUsageType.PublicSearch AndAlso tabType <> TabUsageType.Lists) Then + OrElse (Not _statuses.IsDefaultTab(tabName) AndAlso tabType <> TabUsageType.PublicSearch AndAlso tabType <> TabUsageType.Lists AndAlso tabType <> TabUsageType.Related) Then TabDialog.AddTab(tabName) End If @@ -5905,7 +5909,7 @@ RETRY: Private Sub SaveConfigsTabs() Dim tabSetting As New SettingTabs For i As Integer = 0 To ListTab.TabPages.Count - 1 - tabSetting.Tabs.Add(_statuses.Tabs(ListTab.TabPages(i).Text)) + If _statuses.Tabs(ListTab.TabPages(i).Text).TabType <> TabUsageType.Related Then tabSetting.Tabs.Add(_statuses.Tabs(ListTab.TabPages(i).Text)) Next tabSetting.Save() End Sub @@ -6172,7 +6176,7 @@ RETRY: 'タブ名のリスト作り直し(デフォルトタブ以外は再作成) For i As Integer = 0 To ListTab.TabCount - 1 If _statuses.Tabs(ListTab.TabPages(i).Text).TabType = TabUsageType.Mentions OrElse _ - (Not _statuses.IsDefaultTab(ListTab.TabPages(i).Text) AndAlso _statuses.Tabs(ListTab.TabPages(i).Text).TabType <> TabUsageType.PublicSearch AndAlso _statuses.Tabs(ListTab.TabPages(i).Text).TabType <> TabUsageType.Lists) Then + (Not _statuses.IsDefaultTab(ListTab.TabPages(i).Text) AndAlso _statuses.Tabs(ListTab.TabPages(i).Text).TabType <> TabUsageType.PublicSearch AndAlso _statuses.Tabs(ListTab.TabPages(i).Text).TabType <> TabUsageType.Lists AndAlso _statuses.Tabs(ListTab.TabPages(i).Text).TabType <> TabUsageType.Related) Then TabDialog.RemoveTab(ListTab.TabPages(i).Text) End If If ListTab.TabPages(i).Text = tabName Then @@ -6183,7 +6187,7 @@ RETRY: For i As Integer = 0 To ListTab.TabCount - 1 If _statuses.Tabs(ListTab.TabPages(i).Text).TabType = TabUsageType.Mentions OrElse _ - (Not _statuses.IsDefaultTab(ListTab.TabPages(i).Text) AndAlso _statuses.Tabs(ListTab.TabPages(i).Text).TabType <> TabUsageType.PublicSearch AndAlso _statuses.Tabs(ListTab.TabPages(i).Text).TabType <> TabUsageType.Lists) Then + (Not _statuses.IsDefaultTab(ListTab.TabPages(i).Text) AndAlso _statuses.Tabs(ListTab.TabPages(i).Text).TabType <> TabUsageType.PublicSearch AndAlso _statuses.Tabs(ListTab.TabPages(i).Text).TabType <> TabUsageType.Lists AndAlso _statuses.Tabs(ListTab.TabPages(i).Text).TabType <> TabUsageType.Related) Then If ListTab.TabPages(i).Text = tabName Then ListTab.TabPages(i).Text = newTabText End If @@ -8891,7 +8895,7 @@ RETRY: End If End Sub - Private Sub ListManageUserContextToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListManageUserContextToolStripMenuItem.Click, ToolStripMenuItem9.Click, ListManageUserContextToolStripMenuItem2.Click, ListManageUserContextToolStripMenuItem3.Click + Private Sub ListManageUserContextToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListManageUserContextToolStripMenuItem.Click, ListManageMenuItem.Click, ListManageUserContextToolStripMenuItem2.Click, ListManageUserContextToolStripMenuItem3.Click Dim user As String Dim menuItem As ToolStripMenuItem = DirectCast(sender, ToolStripMenuItem) @@ -9015,18 +9019,36 @@ RETRY: Private Sub MenuItemOperate_DropDownOpening(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItemOperate.DropDownOpening If ListTab.SelectedTab Is Nothing Then Exit Sub If _statuses Is Nothing OrElse _statuses.Tabs Is Nothing OrElse Not _statuses.Tabs.ContainsKey(ListTab.SelectedTab.Text) Then Exit Sub - If _statuses.Tabs(ListTab.SelectedTab.Text).TabType = TabUsageType.DirectMessage Then + If _curPost Is Nothing Then + Me.ReplyOpMenuItem.Enabled = False + Me.ReplyAllOpMenuItem.Enabled = False + Me.DmOpMenuItem.Enabled = False + Me.ShowProfMenuItem.Enabled = False + Me.ListManageMenuItem.Enabled = False + Me.OpenFavOpMenuItem.Enabled = False + Me.CreateTabRuleOpMenuItem.Enabled = False + Me.CreateIdRuleOpMenuItem.Enabled = False + Me.ReadOpMenuItem.Enabled = False + Me.UnreadOpMenuItem.Enabled = False + Else + Me.ReplyOpMenuItem.Enabled = True + Me.ReplyAllOpMenuItem.Enabled = True + Me.DmOpMenuItem.Enabled = True + Me.ShowProfMenuItem.Enabled = True + Me.ListManageMenuItem.Enabled = True + Me.OpenFavOpMenuItem.Enabled = True + Me.CreateTabRuleOpMenuItem.Enabled = True + Me.CreateIdRuleOpMenuItem.Enabled = True + Me.ReadOpMenuItem.Enabled = True + Me.UnreadOpMenuItem.Enabled = True + End If + + If _statuses.Tabs(ListTab.SelectedTab.Text).TabType = TabUsageType.DirectMessage OrElse _curPost Is Nothing OrElse _curPost.IsDm Then Me.FavOpMenuItem.Enabled = False Me.UnFavOpMenuItem.Enabled = False Me.OpenStatusOpMenuItem.Enabled = False Me.OpenFavotterOpMenuItem.Enabled = False - Else - Me.FavOpMenuItem.Enabled = True - Me.UnFavOpMenuItem.Enabled = True - Me.OpenStatusOpMenuItem.Enabled = True - Me.OpenFavotterOpMenuItem.Enabled = True - End If - If _curPost Is Nothing OrElse _curPost.IsDm Then + Me.ShowRelatedStatusesMenuItem2.Enabled = False Me.RtOpMenuItem.Enabled = False Me.RtUnOpMenuItem.Enabled = False Me.QtOpMenuItem.Enabled = False @@ -9034,29 +9056,30 @@ RETRY: Me.FavoriteRetweetUnofficialMenuItem.Enabled = False If _curPost IsNot Nothing AndAlso _curPost.IsDm Then Me.DelOpMenuItem.Enabled = True Else - If _curPost.IsProtect Then + Me.FavOpMenuItem.Enabled = True + Me.UnFavOpMenuItem.Enabled = True + Me.OpenStatusOpMenuItem.Enabled = True + Me.OpenFavotterOpMenuItem.Enabled = True + Me.ShowRelatedStatusesMenuItem2.Enabled = True 'PublicSearchの時問題出るかも + + If _curPost.IsMe Then Me.RtOpMenuItem.Enabled = False - Me.RtUnOpMenuItem.Enabled = False - Me.QtOpMenuItem.Enabled = False Me.FavoriteRetweetMenuItem.Enabled = False - Me.FavoriteRetweetUnofficialMenuItem.Enabled = False - If _curPost.IsMe Then - Me.DelOpMenuItem.Enabled = True - Else - Me.DelOpMenuItem.Enabled = False - End If + Me.DelOpMenuItem.Enabled = True Else - Me.RtOpMenuItem.Enabled = True - Me.RtUnOpMenuItem.Enabled = True - Me.QtOpMenuItem.Enabled = True - Me.FavoriteRetweetMenuItem.Enabled = True - Me.FavoriteRetweetUnofficialMenuItem.Enabled = True - If _curPost.IsMe Then + Me.DelOpMenuItem.Enabled = False + If _curPost.IsProtect Then Me.RtOpMenuItem.Enabled = False + Me.RtUnOpMenuItem.Enabled = False + Me.QtOpMenuItem.Enabled = False Me.FavoriteRetweetMenuItem.Enabled = False - Me.DelOpMenuItem.Enabled = True + Me.FavoriteRetweetUnofficialMenuItem.Enabled = False Else - Me.DelOpMenuItem.Enabled = False + Me.RtOpMenuItem.Enabled = True + Me.RtUnOpMenuItem.Enabled = True + Me.QtOpMenuItem.Enabled = True + Me.FavoriteRetweetMenuItem.Enabled = True + Me.FavoriteRetweetUnofficialMenuItem.Enabled = True End If End If End If @@ -9067,8 +9090,8 @@ RETRY: Me.RefreshPrevOpMenuItem.Enabled = False End If If _statuses.Tabs(ListTab.SelectedTab.Text).TabType = TabUsageType.PublicSearch _ - OrElse _curPost Is Nothing _ - OrElse Not _curPost.InReplyToId > 0 Then + OrElse _curPost Is Nothing _ + OrElse Not _curPost.InReplyToId > 0 Then OpenRepSourceOpMenuItem.Enabled = False Else OpenRepSourceOpMenuItem.Enabled = True @@ -9078,37 +9101,6 @@ RETRY: Else OpenRterHomeMenuItem.Enabled = True End If - If _curPost Is Nothing Then - Me.ReplyOpMenuItem.Enabled = False - Me.ReplyAllOpMenuItem.Enabled = False - Me.DmOpMenuItem.Enabled = False - Me.FavOpMenuItem.Enabled = False - Me.UnFavOpMenuItem.Enabled = False - Me.OpenFavOpMenuItem.Enabled = False - Me.OpenStatusOpMenuItem.Enabled = False - Me.OpenFavotterOpMenuItem.Enabled = False - Me.CreateTabRuleOpMenuItem.Enabled = False - Me.CreateIdRuleOpMenuItem.Enabled = False - Me.ReadOpMenuItem.Enabled = False - Me.UnreadOpMenuItem.Enabled = False - Me.ShowProfMenuItem.Enabled = False - Me.ToolStripMenuItem9.Enabled = False - Else - Me.ReplyOpMenuItem.Enabled = True - Me.ReplyAllOpMenuItem.Enabled = True - Me.DmOpMenuItem.Enabled = True - Me.FavOpMenuItem.Enabled = True - Me.UnFavOpMenuItem.Enabled = True - Me.OpenFavOpMenuItem.Enabled = True - Me.OpenStatusOpMenuItem.Enabled = True - Me.OpenFavotterOpMenuItem.Enabled = True - Me.CreateTabRuleOpMenuItem.Enabled = True - Me.CreateIdRuleOpMenuItem.Enabled = True - Me.ReadOpMenuItem.Enabled = True - Me.UnreadOpMenuItem.Enabled = True - Me.ShowProfMenuItem.Enabled = True - Me.ToolStripMenuItem9.Enabled = True - End If End Sub Private Sub MenuItemTab_DropDownOpening(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItemTab.DropDownOpening @@ -9651,4 +9643,37 @@ RETRY: MessageBox.Show(ex.Message) End Try End Sub + + Private Sub ShowRelatedStatusesMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ShowRelatedStatusesMenuItem.Click, ShowRelatedStatusesMenuItem2.Click + If _curPost IsNot Nothing AndAlso Not _curPost.IsDm Then + 'PublicSearchも除外した方がよい? + If _statuses.GetTabByType(TabUsageType.Related) Is Nothing Then + Const TabName As String = "Related Tweets" + Dim tName As String = TabName + If Not Me.AddNewTab(tName, False, TabUsageType.Related) Then + For i As Integer = 2 To 100 + tName = TabName + i.ToString() + If Me.AddNewTab(tName, False, TabUsageType.Related) Then + _statuses.AddTab(tName, TabUsageType.Related, Nothing) + Exit For + End If + Next + Else + _statuses.AddTab(tName, TabUsageType.Related, Nothing) + End If + End If + + Dim tb As TabClass = _statuses.GetTabByType(TabUsageType.Related) + tb.RelationTargetId = _curPost.Id + For i As Integer = 0 To ListTab.TabPages.Count - 1 + If tb.TabName = ListTab.TabPages(i).Text Then + ListTab.SelectedIndex = i + ListTabSelect(ListTab.TabPages(i)) + Exit For + End If + Next + + GetTimeline(WORKERTYPE.Related, 1, 1, tb.TabName) + End If + End Sub End Class diff --git a/Tween/Twitter.vb b/Tween/Twitter.vb index a3ecf35d..1f342dd1 100644 --- a/Tween/Twitter.vb +++ b/Tween/Twitter.vb @@ -1443,6 +1443,44 @@ Public Class Twitter Return CreatePostsFromXml(content, WORKERTYPE.List, tab, read, count, tab.OldestId) End Function + Public Function GetRelatedResultsApi(ByVal read As Boolean, _ + ByVal tab As TabClass) As String + + If Twitter.AccountState <> ACCOUNT_STATE.Valid Then Return "" + + If _endingFlag Then Return "" + + Dim res As HttpStatusCode + Dim content As String = "" + 'Dim count As Integer = Setting.Instance.CountApi + 'If gType = WORKERTYPE.Reply Then count = Setting.Instance.CountApiReply + 'If Setting.Instance.UseAdditionalCount Then + ' If more AndAlso Setting.Instance.MoreCountApi <> 0 Then + ' count = Setting.Instance.MoreCountApi + ' ElseIf startup AndAlso Setting.Instance.FirstCountApi <> 0 AndAlso gType = WORKERTYPE.Timeline Then + ' count = Setting.Instance.FirstCountApi + ' End If + 'End If + Try + res = twCon.GetRelatedResults(tab.RelationTargetId, content) + Catch ex As Exception + Return "Err:" + ex.Message + End Try + Select Case res + Case HttpStatusCode.OK + Twitter.AccountState = ACCOUNT_STATE.Valid + Case HttpStatusCode.Unauthorized + Twitter.AccountState = ACCOUNT_STATE.Invalid + Return "Check your Username/Password." + Case HttpStatusCode.BadRequest + Return "Err:API Limits?" + Case Else + Return "Err:" + res.ToString() + "(" + GetCurrentMethod.Name + ")" + End Select + Dim min As Long = 0 + Return CreatePostsFromXml(content, WORKERTYPE.Related, tab, read, 0, min) + End Function + Private Function CreatePostsFromXml(ByVal content As String, ByVal gType As WORKERTYPE, ByVal tab As TabClass, ByVal read As Boolean, ByVal count As Integer, ByRef minimumId As Long) As String Dim arIdx As Integer = -1 Dim dlgt(300) As GetIconImageDelegate 'countQueryに合わせる -- 2.11.0