OSDN Git Service

長らく封印されていたFavタブでの「前データの取得」を機能するように(ページカウンタ管理について要検討)
authorsyo68k <syo68k@users.sourceforge.jp>
Mon, 3 Oct 2011 00:10:16 +0000 (09:10 +0900)
committerKimura Youichi <kim.upsilon@bucyou.net>
Sat, 18 Feb 2012 14:21:00 +0000 (23:21 +0900)
Tween/Connection/HttpTwitter.vb
Tween/Resources/ChangeLog.txt
Tween/Tween.vb
Tween/Twitter.vb

index dde884f..ccac689 100644 (file)
@@ -499,10 +499,14 @@ Public Class HttpTwitter
                             AddressOf GetApiCallback)
     End Function
 
-    Public Function Favorites(ByVal count As Integer, ByRef content As String) As HttpStatusCode
+    Public Function Favorites(ByVal count As Integer, ByVal page As Integer, ByRef content As String) As HttpStatusCode
         Dim param As New Dictionary(Of String, String)
         If count <> 20 Then param.Add("count", count.ToString())
 
+        If page > 0 Then
+            param.Add("page", page.ToString())
+        End If
+
         param.Add("include_entities", "true")
 
         Return httpCon.GetContent(GetMethod, _
index bde8aa8..df806d8 100644 (file)
@@ -2,6 +2,7 @@
 
 ==== Ver 1.1.0.0(2011/**/**)
  * NEW: 詳細表示のSource部分を右クリックしたときにSource、URLをコピーできるように
+ * CHG: Favタブでの「前データの取得」を機能するように
  * FIX: 関連発言取得の際に、ツイートに含まれるツイートのURLを読み込まなくなっていたバグを修正
 ==== Ver 1.0.9.0(2011/9/29)
  * FIX: アカウントの再認証時に、認証後情報が反映されないバグ修正
index 7498f27..af1c0a7 100644 (file)
@@ -2162,7 +2162,7 @@ Public Class TweenMain
                 End Try
             Case WORKERTYPE.Favorites
                 bw.ReportProgress(50, MakeStatusMessage(args, False))
-                ret = tw.GetFavoritesApi(read, args.type)
+                ret = tw.GetFavoritesApi(read, args.type, args.page = -1)
                 rslt.addCount = _statuses.DistributePosts()
             Case WORKERTYPE.PublicSearch
                 bw.ReportProgress(50, MakeStatusMessage(args, False))
@@ -2918,11 +2918,11 @@ Public Class TweenMain
                 End If
             End If
         End If
-        If _statuses.Tabs(ListTab.SelectedTab.Text).TabType <> TabUsageType.Favorites Then
-            RefreshMoreStripMenuItem.Enabled = True
-        Else
-            RefreshMoreStripMenuItem.Enabled = False
-        End If
+        'If _statuses.Tabs(ListTab.SelectedTab.Text).TabType <> TabUsageType.Favorites Then
+        '    RefreshMoreStripMenuItem.Enabled = True
+        'Else
+        '    RefreshMoreStripMenuItem.Enabled = False
+        'End If
         If _statuses.Tabs(ListTab.SelectedTab.Text).TabType = TabUsageType.PublicSearch _
                             OrElse Not Me.ExistCurrentPost _
                             OrElse Not _curPost.InReplyToStatusId > 0 Then
@@ -3133,7 +3133,7 @@ Public Class TweenMain
                 Case TabUsageType.DirectMessage
                     GetTimeline(WORKERTYPE.DirectMessegeRcv, -1, 0, "")
                 Case TabUsageType.Favorites
-                    '    GetTimeline(WORKERTYPE.Favorites, -1, 0, "")
+                    GetTimeline(WORKERTYPE.Favorites, -1, 0, "")
                 Case TabUsageType.Profile
                     '' TODO
                 Case TabUsageType.PublicSearch
index 5ebc336..4bdf236 100644 (file)
@@ -2373,8 +2373,11 @@ Public Class Twitter
         Return CreateDirectMessagesFromJson(content, gType, read)
     End Function
 
-    Public Function GetFavoritesApi(ByVal read As Boolean, _
-                        ByVal gType As WORKERTYPE) As String
+    Public Function GetFavoritesApi(ByVal read As Boolean,
+                        ByVal gType As WORKERTYPE,
+                        ByVal more As Boolean) As String
+
+        Static page As Integer = 1
 
         If Twitter.AccountState <> ACCOUNT_STATE.Valid Then Return ""
 
@@ -2387,8 +2390,16 @@ Public Class Twitter
             AppendSettingDialog.Instance.FavoritesCountApi <> 0 Then
             count = AppendSettingDialog.Instance.FavoritesCountApi
         End If
+
+        ' 前ページ取得の場合はページカウンタをインクリメント、それ以外の場合はページカウンタリセット
+        If more Then
+            page += 1
+        Else
+            page = 1
+        End If
+
         Try
-            res = twCon.Favorites(count, content)
+            res = twCon.Favorites(count, page, content)
         Catch ex As Exception
             Return "Err:" + ex.Message + "(" + GetCurrentMethod.Name + ")"
         End Try