Private SecurityManager As InternetSecurityManager
Private Thumbnail As Thumbnail
- Private _homeCounter As Integer = 0
- Private _homeCounterAdjuster As Integer = 0
- Private _mentionCounter As Integer = 0
- Private _dmCounter As Integer = 0
- Private _pubSearchCounter As Integer = 0
- Private _listsCounter As Integer = 0
+ 'Private _homeCounter As Integer = 0
+ 'Private _homeCounterAdjuster As Integer = 0
+ 'Private _mentionCounter As Integer = 0
+ 'Private _dmCounter As Integer = 0
+ 'Private _pubSearchCounter As Integer = 0
+ 'Private _listsCounter As Integer = 0
Private UnreadCounter As Integer = -1
Private UnreadAtCounter As Integer = -1
' _FirstRefreshFlags = True
' _FirstListsRefreshFlags = True
'End If
+ SettingDialog.UserstreamStartup = _cfgCommon.UserstreamStartup
+ SettingDialog.UserstreamPeriodInt = _cfgCommon.UserstreamPeriod
'ハッシュタグ関連
HashSupl = New AtIdSupplement(_cfgCommon.HashTags, "#")
#If DEBUG Then
Dim sw As Stopwatch = Stopwatch.StartNew()
#End If
- If _homeCounter > 0 Then Interlocked.Decrement(_homeCounter)
- If _mentionCounter > 0 Then Interlocked.Decrement(_mentionCounter)
- If _dmCounter > 0 Then Interlocked.Decrement(_dmCounter)
- If _pubSearchCounter > 0 Then Interlocked.Decrement(_pubSearchCounter)
- If _listsCounter > 0 Then Interlocked.Decrement(_listsCounter)
+ Static homeCounter As Integer = 0
+ Static mentionCounter As Integer = 0
+ Static dmCounter As Integer = 0
+ Static pubSearchCounter As Integer = 0
+ Static listsCounter As Integer = 0
+ Static usCounter As Integer = 0
+
+ If homeCounter > 0 Then Interlocked.Decrement(homeCounter)
+ If mentionCounter > 0 Then Interlocked.Decrement(mentionCounter)
+ If dmCounter > 0 Then Interlocked.Decrement(dmCounter)
+ If pubSearchCounter > 0 Then Interlocked.Decrement(pubSearchCounter)
+ If listsCounter > 0 Then Interlocked.Decrement(listsCounter)
+ If usCounter > 0 Then Interlocked.Decrement(usCounter)
''タイマー初期化
- If _homeCounter <= 0 AndAlso SettingDialog.TimelinePeriodInt > 0 Then
- Dim period As Integer
- Interlocked.Exchange(period, 0)
- Interlocked.Add(period, SettingDialog.TimelinePeriodInt)
- Interlocked.Add(period, -_homeCounterAdjuster)
- Interlocked.Exchange(_homeCounter, period)
+ If homeCounter <= 0 AndAlso SettingDialog.TimelinePeriodInt > 0 Then
+ 'Dim period As Integer
+ 'Interlocked.Exchange(period, 0)
+ 'Interlocked.Add(period, SettingDialog.TimelinePeriodInt)
+ 'Interlocked.Add(period, -_homeCounterAdjuster)
+ 'Interlocked.Exchange(_homeCounter, period)
+ Interlocked.Exchange(homeCounter, SettingDialog.TimelinePeriodInt)
GetTimeline(WORKERTYPE.Timeline, 1, 0, "")
End If
- If _mentionCounter <= 0 AndAlso SettingDialog.ReplyPeriodInt > 0 Then
- Interlocked.Exchange(_mentionCounter, SettingDialog.ReplyPeriodInt)
+ If mentionCounter <= 0 AndAlso SettingDialog.ReplyPeriodInt > 0 Then
+ Interlocked.Exchange(mentionCounter, SettingDialog.ReplyPeriodInt)
GetTimeline(WORKERTYPE.Reply, 1, 0, "")
End If
- If _dmCounter <= 0 AndAlso SettingDialog.DMPeriodInt > 0 Then
- Interlocked.Exchange(_dmCounter, SettingDialog.DMPeriodInt)
+ If dmCounter <= 0 AndAlso SettingDialog.DMPeriodInt > 0 Then
+ Interlocked.Exchange(dmCounter, SettingDialog.DMPeriodInt)
GetTimeline(WORKERTYPE.DirectMessegeRcv, 1, 0, "")
End If
- If _pubSearchCounter <= 0 AndAlso SettingDialog.PubSearchPeriodInt > 0 Then
- Interlocked.Exchange(_pubSearchCounter, SettingDialog.PubSearchPeriodInt)
+ If pubSearchCounter <= 0 AndAlso SettingDialog.PubSearchPeriodInt > 0 Then
+ Interlocked.Exchange(pubSearchCounter, SettingDialog.PubSearchPeriodInt)
GetTimeline(WORKERTYPE.PublicSearch, 1, 0, "")
End If
- If _listsCounter <= 0 AndAlso SettingDialog.ListsPeriodInt > 0 Then
- Interlocked.Exchange(_listsCounter, SettingDialog.ListsPeriodInt)
+ If listsCounter <= 0 AndAlso SettingDialog.ListsPeriodInt > 0 Then
+ Interlocked.Exchange(listsCounter, SettingDialog.ListsPeriodInt)
GetTimeline(WORKERTYPE.List, 1, 0, "")
End If
+ If usCounter <= 0 AndAlso SettingDialog.UserstreamPeriodInt > 0 Then
+ Interlocked.Exchange(usCounter, SettingDialog.UserstreamPeriodInt)
+ RefreshTimeline(True)
+ End If
+
#If DEBUG Then
sw.Stop()
- Console.WriteLine("Counter: Home {0} Reply {1} Dm {2} Search {3} Lists {4}", _homeCounter, _mentionCounter, _dmCounter, _pubSearchCounter, _listsCounter)
+ Console.WriteLine("Counter: Home {0} Reply {1} Dm {2} Search {3} Lists {4}", homeCounter, mentionCounter, dmCounter, pubSearchCounter, listsCounter)
Console.WriteLine(sw.Elapsed)
#End If
End Sub
If result = Windows.Forms.DialogResult.OK Then
SyncLock _syncObject
- Try
- If SettingDialog.TimelinePeriodInt > 0 Then
- _homeCounterAdjuster = 0
- End If
- Catch ex As Exception
- ex.Data("Instance") = "Set Timers"
- ex.Data("IsTerminatePermission") = False
- Throw
- End Try
+ 'Try
+ ' If SettingDialog.TimelinePeriodInt > 0 Then
+ ' _homeCounterAdjuster = 0
+ ' End If
+ 'Catch ex As Exception
+ ' ex.Data("Instance") = "Set Timers"
+ ' ex.Data("IsTerminatePermission") = False
+ ' Throw
+ 'End Try
'tw.CountApi = SettingDialog.CountApi
'tw.CountApiReply = SettingDialog.CountApiReply
tw.TinyUrlResolve = SettingDialog.TinyUrlResolve
'SourceLinkLabel.Visible = True
End If
End If
+ SourceLinkLabel.TabStop = False
If _statuses.Tabs(_curTab.Text).TabType = TabUsageType.DirectMessage AndAlso Not _curPost.IsOwl Then
NameLabel.Text = "DM TO -> "
_cfgCommon.IsOAuth = SettingDialog.IsOAuth
_cfgCommon.Token = tw.AccessToken
_cfgCommon.TokenSecret = tw.AccessTokenSecret
+ _cfgCommon.UserstreamStartup = SettingDialog.UserstreamStartup
+ _cfgCommon.UserstreamPeriod = SettingDialog.UserstreamPeriodInt
_cfgCommon.TimelinePeriod = SettingDialog.TimelinePeriodInt
_cfgCommon.ReplyPeriod = SettingDialog.ReplyPeriodInt
_cfgCommon.DMPeriod = SettingDialog.DMPeriodInt
Static blinkCnt As Integer = 0
Static blink As Boolean = False
Static idle As Boolean = False
- Static usCheckCnt As Integer = 0
+ 'Static usCheckCnt As Integer = 0
Static iconDlListTopItem As ListViewItem = Nothing
If DirectCast(ListTab.SelectedTab.Tag, ListView).TopItem Is iconDlListTopItem Then
iconCnt += 1
blinkCnt += 1
- usCheckCnt += 1
+ 'usCheckCnt += 1
- If usCheckCnt > 300 Then '1min
- usCheckCnt = 0
- If Not Me.IsReceivedUserStream Then
- TraceOut("ReconnectUserStream")
- tw.ReconnectUserStream()
- End If
- End If
+ 'If usCheckCnt > 300 Then '1min
+ ' usCheckCnt = 0
+ ' If Not Me.IsReceivedUserStream Then
+ ' TraceOut("ReconnectUserStream")
+ ' tw.ReconnectUserStream()
+ ' End If
+ 'End If
Dim busy As Boolean = False
For Each bw As BackgroundWorker In Me._bw
If SettingDialog.TimelinePeriodInt = 0 Then
slbl.Append(My.Resources.SetStatusLabelText2)
Else
- slbl.Append((SettingDialog.TimelinePeriodInt - _homeCounterAdjuster).ToString() + My.Resources.SetStatusLabelText3)
+ slbl.Append(SettingDialog.TimelinePeriodInt.ToString() + My.Resources.SetStatusLabelText3)
End If
Return slbl.ToString()
End Function
AddHandler tw.UserStreamStopped, AddressOf tw_UserStreamStopped
AddHandler tw.UserStreamPaused, AddressOf tw_UserStreamPaused
AddHandler tw.PostDeleted, AddressOf tw_PostDeleted
+
+ MenuItemUserStream.Text = "&UserStream ■"
+ MenuItemUserStream.Enabled = True
PauseToolStripMenuItem.Text = "&Pause"
PauseToolStripMenuItem.Enabled = False
StopToolStripMenuItem.Text = "&Start"
StopToolStripMenuItem.Enabled = True
- tw.StartUserStream()
+ If SettingDialog.UserstreamStartup Then tw.StartUserStream()
TimerTimeline.Enabled = True
End Sub
result += fInfo.id + My.Resources.GetFriendshipInfo5 + System.Environment.NewLine + ff
If fInfo.isFollowing Then
If MessageBox.Show( _
- "フォロー解除しますか?" + System.Environment.NewLine + result, "フォロー解除確認", _
+ My.Resources.GetFriendshipInfo7 + System.Environment.NewLine + result, My.Resources.GetFriendshipInfo8, _
MessageBoxButtons.YesNo, _
MessageBoxIcon.Question, _
MessageBoxDefaultButton.Button2) = Windows.Forms.DialogResult.Yes Then
If m.Success AndAlso IsTwitterId(m.Result("${name}")) Then
Return m.Result("${name}")
Else
- Dim ma As Match = Regex.Match(Me._postBrowserStatusText, "^https?://twitter.com/(#!/)?(?<name>[a-zA-Z0-9_]+)(/status/[0-9]+)$")
+ Dim ma As Match = Regex.Match(Me._postBrowserStatusText, "^https?://twitter.com/(#!/)?(?<name>[a-zA-Z0-9_]+)(/(status|statuses)/[0-9]+)$")
If ma.Success AndAlso IsTwitterId(ma.Result("${name}")) Then
Return ma.Result("${name}")
End If
Return Nothing
- End If
+ End If
End Function
Private Sub FollowContextMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FollowContextMenuItem.Click
SetStatusLabelUrl()
End Sub
- Private Sub SourceLinkLabel_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SourceLinkLabel.Enter
- StatusText.Focus()
- End Sub
-
Private Sub MenuItemCommand_DropDownOpening(ByVal sender As Object, ByVal e As System.EventArgs) Handles MenuItemCommand.DropDownOpening
If _curPost IsNot Nothing AndAlso Not _curPost.IsDm Then
RtCountMenuItem.Enabled = True
End Sub
Private Sub tw_PostDeleted(ByVal id As Long)
- Try
- If InvokeRequired Then
- Invoke(New Action(Of Long)(AddressOf tw_PostDeleted), id)
- Exit Sub
- End If
- Catch ex As ObjectDisposedException
- Exit Sub
- End Try
-
- _statuses.RemovePost(id)
- For Each tb As TabPage In ListTab.TabPages
- DirectCast(tb.Tag, DetailsListView).VirtualListSize = _statuses.Tabs(tb.Text).AllCount
- Next
- Me.RefreshTimeline(True)
+ _statuses.RemovePostReserve(id)
End Sub
Private Sub tw_NewPostFromStream()
'before = Now
End SyncLock
+ If SettingDialog.UserstreamPeriodInt > 0 Then Exit Sub
+
Try
If InvokeRequired AndAlso Not IsDisposed Then
Invoke(New Action(Of Boolean)(AddressOf RefreshTimeline), True)
StatusLabel.Text = "UserStream Paused."
End Sub
- Private ReadOnly Property IsReceivedUserStream As Boolean
- Get
- Static lastTime As DateTime
- Dim changed As Boolean = (lastTime.CompareTo(tw.LastReceivedUserStream) < 0)
- lastTime = tw.LastReceivedUserStream
- Return changed
- End Get
- End Property
+ 'Private ReadOnly Property IsReceivedUserStream As Boolean
+ ' Get
+ ' Static lastTime As DateTime
+ ' Dim changed As Boolean = (lastTime.CompareTo(tw.LastReceivedUserStream) < 0)
+ ' lastTime = tw.LastReceivedUserStream
+ ' Return changed
+ ' End Get
+ 'End Property
Private Sub PauseToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PauseToolStripMenuItem.Click
MenuItemUserStream.Enabled = False