OSDN Git Service

このユーザーの発言を検索 のメニューでUser_Timelineで取得するように
authorf_swallow <f_swallow@users.sourceforge.jp>
Tue, 28 Dec 2010 23:59:33 +0000 (23:59 +0000)
committerKimura Youichi <kim.upsilon@bucyou.net>
Sat, 18 Feb 2012 14:18:06 +0000 (23:18 +0900)
git-svn-id: http://svn.sourceforge.jp/svnroot/tween/trunk@1276 e39ad16e-3079-482e-bb30-4b4d378143b6

Tween/Tween.vb

index a9c9268..3bda1ac 100644 (file)
@@ -2075,10 +2075,9 @@ Public Class TweenMain
                 Else
                     Dim tb As TabClass = _statuses.GetTabByName(args.tName)
                     If tb IsNot Nothing Then
-                        If args.page = -1 Then
+                        ret = tw.GetUserTimelineApi(read, count, tb.SearchWords, tb, False)
+                        If ret = "" AndAlso args.page = -1 Then
                             ret = tw.GetUserTimelineApi(read, count, tb.SearchWords, tb, True)
-                        Else
-                            ret = tw.GetUserTimelineApi(read, count, tb.SearchWords, tb, False)
                         End If
                     End If
                 End If
@@ -3287,6 +3286,43 @@ Public Class TweenMain
         Me.SearchButton_Click(ListTab.SelectedTab.Controls("panelSearch").Controls("comboSearch"), Nothing)
     End Sub
 
+    Public Sub AddNewTabForUserTimeline(ByVal searchWord As String)
+        '同一検索条件のタブが既に存在すれば、そのタブアクティブにして終了
+        For Each tb As TabClass In _statuses.GetTabsByType(TabUsageType.PublicSearch)
+            If tb.SearchWords = searchWord AndAlso tb.SearchLang = "" Then
+                For Each tp As TabPage In ListTab.TabPages
+                    If tb.TabName = tp.Text Then
+                        ListTab.SelectedTab = tp
+                        Exit Sub
+                    End If
+                Next
+            End If
+        Next
+        'ユニークなタブ名生成
+        Dim tabName As String = "user:" + searchWord
+        For i As Integer = 0 To 100
+            If _statuses.ContainsTab(tabName) Then
+                tabName += "_"
+            Else
+                Exit For
+            End If
+        Next
+        'タブ追加
+        AddNewTab(tabName, False, TabUsageType.PublicSearch)
+        _statuses.AddTab(tabName, TabUsageType.PublicSearch, Nothing)
+        '追加したタブをアクティブに
+        ListTab.SelectedIndex = ListTab.TabPages.Count - 1
+        '検索条件の設定
+        Dim cmb As ComboBox = DirectCast(ListTab.SelectedTab.Controls("panelSearch").Controls("comboSearch"), ComboBox)
+        cmb.Items.Add(searchWord)
+        cmb.Text = searchWord
+        Dim cmbus As ComboBox = DirectCast(ListTab.SelectedTab.Controls("panelSearch").Controls("comboUserLine"), ComboBox)
+        cmbus.Text = "User"
+        SaveConfigsTabs()
+        '検索実行
+        Me.SearchButton_Click(ListTab.SelectedTab.Controls("panelSearch").Controls("comboSearch"), Nothing)
+    End Sub
+
     Public Function AddNewTab(ByVal tabName As String, ByVal startup As Boolean, ByVal tabType As TabUsageType) As Boolean
         '重複チェック
         For Each tb As TabPage In ListTab.TabPages
@@ -9063,7 +9099,7 @@ RETRY:
 
     Private Sub SearchPostsDetailToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SearchPostsDetailToolStripMenuItem.Click
         Dim name As String = GetUserId()
-        If name IsNot Nothing Then AddNewTabForSearch("from:" + name)
+        If name IsNot Nothing Then AddNewTabForUserTimeline(name)
     End Sub
 
     Private Sub SearchAtPostsDetailToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SearchAtPostsDetailToolStripMenuItem.Click
@@ -9640,7 +9676,7 @@ RETRY:
     Private Sub SearchPostsDetailNameToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SearchPostsDetailNameToolStripMenuItem.Click
         If NameLabel.Tag IsNot Nothing Then
             Dim id As String = DirectCast(NameLabel.Tag, String)
-            AddNewTabForSearch("from:" + id)
+            AddNewTabForUserTimeline(id)
         End If
     End Sub