From svnnotify @ sourceforge.jp Mon Nov 1 00:04:47 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 01 Nov 2010 00:04:47 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwMTFdICBGYXbliYrpmaTjga7pmpvjgavnm7Q=?= =?utf-8?b?6L+R44Gu55m66KiA44KS6YG45oqe44GX55u044GZ44KI44GG44Gr44GX44Gf?= Message-ID: <1288537487.410204.7308.nullmailer@users.sourceforge.jp> Revision: 1011 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1011 Author: syo68k Date: 2010-11-01 00:04:47 +0900 (Mon, 01 Nov 2010) Log Message: ----------- Fav削除の際に直近の発言を選択し直すようにした Modified Paths: -------------- trunk/Tween/Tween.vb -------------- next part -------------- Modified: trunk/Tween/Tween.vb =================================================================== --- trunk/Tween/Tween.vb 2010-10-30 17:01:00 UTC (rev 1010) +++ trunk/Tween/Tween.vb 2010-10-31 15:04:47 UTC (rev 1011) @@ -2198,6 +2198,17 @@ If rslt.type = WORKERTYPE.FavRemove Then DispSelectedPost() ' 詳細画面書き直し Dim favTabName As String = _statuses.GetTabByType(TabUsageType.Favorites).TabName + Dim fidx As Integer + If _curTab.Text.Equals(favTabName) Then + If _curList.FocusedItem IsNot Nothing Then + fidx = _curList.FocusedItem.Index + ElseIf _curList.TopItem IsNot Nothing Then + fidx = _curList.TopItem.Index + Else + fidx = 0 + End If + End If + For Each i As Long In rslt.sIds _statuses.RemoveFavPost(i) Next @@ -2205,7 +2216,7 @@ _itemCache = Nothing 'キャッシュ破棄 _postCache = Nothing _curPost = Nothing - _curItemIndex = -1 + '_curItemIndex = -1 End If For Each tp As TabPage In ListTab.TabPages If tp.Text = favTabName Then @@ -2213,6 +2224,20 @@ Exit For End If Next + If _curTab.Text.Equals(favTabName) Then + _curList.SelectedIndices.Clear() + If _statuses.Tabs(favTabName).AllCount > 0 Then + If _statuses.Tabs(favTabName).AllCount - 1 > fidx AndAlso fidx > -1 Then + _curList.SelectedIndices.Add(fidx) + Else + _curList.SelectedIndices.Add(_statuses.Tabs(favTabName).AllCount - 1) + End If + If _curList.SelectedIndices.Count > 0 Then + _curList.EnsureVisible(_curList.SelectedIndices(0)) + _curList.FocusedItem = _curList.Items(_curList.SelectedIndices(0)) + End If + End If + End If End If 'リストに反映 @@ -3767,7 +3792,7 @@ Dim sitem() As String = {"", Post.Nickname, Post.Data, Post.PDate.ToString(SettingDialog.DateTimeFormat), Post.Name, "", mk, Post.Source} itm = New ListViewItem(sitem, Post.ImageUrl) Else - Dim sitem() As String = {"", Post.Nickname, Post.Data, Post.PDate.ToString(SettingDialog.DateTimeFormat), Post.Name + Environment.NewLine + "(RT:" + Post.RetweetedBy + ")", "", mk, Post.Source} + Dim sitem() As String = {"", Post.Nickname, Post.Data, Post.PDate.ToString(SettingDialog.DateTimeFormat), Post.Name + "(RT:" + Post.RetweetedBy + ")", "", mk, Post.Source} itm = New ListViewItem(sitem, Post.ImageUrl) End If @@ -3897,6 +3922,8 @@ TextFormatFlags.WordBreak Or TextFormatFlags.EndEllipsis Or TextFormatFlags.GlyphOverhangPadding Or + TextFormatFlags.TextBoxControl Or + TextFormatFlags.NoClipping Or TextFormatFlags.NoPrefix) TextRenderer.DrawText(e.Graphics, e.Item.SubItems(4).Text + " / " + e.Item.SubItems(1).Text + " (" + e.Item.SubItems(3).Text + ") " + e.Item.SubItems(5).Text + e.Item.SubItems(6).Text + " [" + e.Item.SubItems(7).Text + "]", @@ -3918,6 +3945,7 @@ TextFormatFlags.EndEllipsis Or TextFormatFlags.GlyphOverhangPadding Or TextFormatFlags.NoPrefix Or + TextFormatFlags.NoClipping Or TextFormatFlags.VerticalCenter) Else 'e.Graphics.DrawString(e.SubItem.Text, e.Item.Font, brs, rct, sf) @@ -3929,6 +3957,8 @@ TextFormatFlags.WordBreak Or TextFormatFlags.EndEllipsis Or TextFormatFlags.GlyphOverhangPadding Or + TextFormatFlags.TextBoxControl Or + TextFormatFlags.NoClipping Or TextFormatFlags.NoPrefix) End If End If @@ -3949,6 +3979,8 @@ TextFormatFlags.WordBreak Or TextFormatFlags.EndEllipsis Or TextFormatFlags.GlyphOverhangPadding Or + TextFormatFlags.TextBoxControl Or + TextFormatFlags.NoClipping Or TextFormatFlags.NoPrefix) TextRenderer.DrawText(e.Graphics, e.Item.SubItems(4).Text + " / " + e.Item.SubItems(1).Text + " (" + e.Item.SubItems(3).Text + ") " + e.Item.SubItems(5).Text + e.Item.SubItems(6).Text + " [" + e.Item.SubItems(7).Text + "]", @@ -3969,6 +4001,7 @@ TextFormatFlags.EndEllipsis Or TextFormatFlags.GlyphOverhangPadding Or TextFormatFlags.NoPrefix Or + TextFormatFlags.NoClipping Or TextFormatFlags.VerticalCenter) Else 'e.Graphics.DrawString(e.SubItem.Text, e.Item.Font, _brsHighLightText, rct, sf) @@ -3980,6 +4013,8 @@ TextFormatFlags.WordBreak Or TextFormatFlags.EndEllipsis Or TextFormatFlags.GlyphOverhangPadding Or + TextFormatFlags.TextBoxControl Or + TextFormatFlags.NoClipping Or TextFormatFlags.NoPrefix) End If Else @@ -3994,6 +4029,8 @@ TextFormatFlags.WordBreak Or TextFormatFlags.EndEllipsis Or TextFormatFlags.GlyphOverhangPadding Or + TextFormatFlags.TextBoxControl Or + TextFormatFlags.NoClipping Or TextFormatFlags.NoPrefix) TextRenderer.DrawText(e.Graphics, e.Item.SubItems(4).Text + " / " + e.Item.SubItems(1).Text + " (" + e.Item.SubItems(3).Text + ") " + e.Item.SubItems(5).Text + e.Item.SubItems(6).Text + " [" + e.Item.SubItems(7).Text + "]", @@ -4014,6 +4051,7 @@ TextFormatFlags.EndEllipsis Or TextFormatFlags.GlyphOverhangPadding Or TextFormatFlags.NoPrefix Or + TextFormatFlags.NoClipping Or TextFormatFlags.VerticalCenter) Else 'e.Graphics.DrawString(e.SubItem.Text, e.Item.Font, _brsForeColorUnread, rct, sf) @@ -4025,6 +4063,8 @@ TextFormatFlags.WordBreak Or TextFormatFlags.EndEllipsis Or TextFormatFlags.GlyphOverhangPadding Or + TextFormatFlags.TextBoxControl Or + TextFormatFlags.NoClipping Or TextFormatFlags.NoPrefix) End If End If From svnnotify @ sourceforge.jp Mon Nov 1 00:42:43 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 01 Nov 2010 00:42:43 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwMTJdICDoqbPntLDnmbroqIDpoJjln5/jgatT?= =?utf-8?b?b3VyY2XjgpLooajnpLrjgZnjgovjgojjgYbjgavjgZfjgZ8=?= Message-ID: <1288539763.040350.25798.nullmailer@users.sourceforge.jp> Revision: 1012 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1012 Author: syo68k Date: 2010-11-01 00:42:42 +0900 (Mon, 01 Nov 2010) Log Message: ----------- 詳細発言領域にSourceを表示するようにした Modified Paths: -------------- trunk/Tween/StatusDictionary.vb trunk/Tween/Tween.vb trunk/Tween/Twitter.vb -------------- next part -------------- Modified: trunk/Tween/StatusDictionary.vb =================================================================== --- trunk/Tween/StatusDictionary.vb 2010-10-31 15:04:47 UTC (rev 1011) +++ trunk/Tween/StatusDictionary.vb 2010-10-31 15:42:42 UTC (rev 1012) @@ -46,6 +46,7 @@ Private _InReplyToUser As String Private _InReplyToId As Long Private _Source As String + Private _SourceHtml As String Private _ReplyToList As New List(Of String) Private _IsMe As Boolean Private _IsDm As Boolean @@ -82,6 +83,7 @@ ByVal InReplyToUser As String, _ ByVal InReplyToId As Long, _ ByVal Source As String, _ + ByVal SourceHtml As String, _ ByVal ReplyToList As List(Of String), _ ByVal IsMe As Boolean, _ ByVal IsDm As Boolean, _ @@ -106,6 +108,7 @@ _InReplyToUser = InReplyToUser _InReplyToId = InReplyToId _Source = Source + _SourceHtml = SourceHtml _ReplyToList = ReplyToList _IsMe = IsMe _IsDm = IsDm @@ -276,6 +279,14 @@ _Source = value End Set End Property + Public Property SourceHtml() As String + Get + Return _SourceHtml + End Get + Set(ByVal value As String) + _SourceHtml = value + End Set + End Property Public Property ReplyToList() As List(Of String) Get Return _ReplyToList @@ -942,6 +953,7 @@ item.InReplyToUser, _ item.InReplyToId, _ item.Source, _ + item.SourceHtml, _ item.ReplyToList, _ item.IsMe, _ item.IsDm, _ Modified: trunk/Tween/Tween.vb =================================================================== --- trunk/Tween/Tween.vb 2010-10-31 15:04:47 UTC (rev 1011) +++ trunk/Tween/Tween.vb 2010-10-31 15:42:42 UTC (rev 1012) @@ -4449,7 +4449,8 @@ If _curList.SelectedIndices.Count = 0 OrElse _curPost Is Nothing Then Exit Sub - Dim dTxt As String = createDetailHtml(_curPost.OriginalData) + Dim dTxt As String = createDetailHtml(_curPost.OriginalData + " via " + _curPost.SourceHtml) + If _statuses.Tabs(_curTab.Text).TabType = TabUsageType.DirectMessage AndAlso Not _curPost.IsOwl Then NameLabel.Text = "DM TO -> " ElseIf _statuses.Tabs(_curTab.Text).TabType = TabUsageType.DirectMessage Then Modified: trunk/Tween/Twitter.vb =================================================================== --- trunk/Tween/Twitter.vb 2010-10-31 15:04:47 UTC (rev 1011) +++ trunk/Tween/Twitter.vb 2010-10-31 15:42:42 UTC (rev 1012) @@ -615,10 +615,13 @@ If Not post.Source.Contains("") Then post.Source += "" End If + post.SourceHtml = String.Copy(post.Source) Dim mS As Match = Regex.Match(post.Source, ">(?.+)<") If mS.Success Then post.Source = HttpUtility.HtmlDecode(mS.Result("${source}")) End If + Else + post.SourceHtml = String.Copy(post.Source) End If post.IsRead = read @@ -1540,10 +1543,13 @@ If Not post.Source.Contains("") Then post.Source += "" End If + post.SourceHtml = String.Copy(post.Source) Dim mS As Match = Regex.Match(post.Source, ">(?.+)<") If mS.Success Then post.Source = HttpUtility.HtmlDecode(mS.Result("${source}")) End If + Else + post.SourceHtml = String.Copy(post.Source) End If post.IsRead = read @@ -1687,10 +1693,13 @@ If Not post.Source.Contains("") Then post.Source += "" End If + post.SourceHtml = String.Copy(post.Source) Dim mS As Match = Regex.Match(post.Source, ">(?.+)<") If mS.Success Then post.Source = HttpUtility.HtmlDecode(mS.Result("${source}")) End If + Else + post.SourceHtml = String.Copy(post.Source) End If post.IsRead = read @@ -1981,10 +1990,13 @@ If Not post.Source.Contains("") Then post.Source += "" End If + post.SourceHtml = String.Copy(post.Source) Dim mS As Match = Regex.Match(post.Source, ">(?.+)<") If mS.Success Then post.Source = HttpUtility.HtmlDecode(mS.Result("${source}")) End If + Else + post.SourceHtml = String.Copy(post.Source) End If post.IsRead = read From svnnotify @ sourceforge.jp Mon Nov 1 03:22:46 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 01 Nov 2010 03:22:46 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwMTNdICBBUEnjgrLjg7zjgrjjga7jg4Tjg7w=?= =?utf-8?b?44Or44OB44OD44OX44Gu44OG44Kt44K544OI44KS5L+u5q2j?= Message-ID: <1288549366.177232.19248.nullmailer@users.sourceforge.jp> Revision: 1013 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1013 Author: anis774 Date: 2010-11-01 03:22:45 +0900 (Mon, 01 Nov 2010) Log Message: ----------- APIゲージのツールチップのテキストを修正 Modified Paths: -------------- trunk/Tween/ToolStripAPIGauge.vb -------------- next part -------------- Modified: trunk/Tween/ToolStripAPIGauge.vb =================================================================== --- trunk/Tween/ToolStripAPIGauge.vb 2010-10-31 15:42:42 UTC (rev 1012) +++ trunk/Tween/ToolStripAPIGauge.vb 2010-10-31 18:22:45 UTC (rev 1013) @@ -59,11 +59,7 @@ Set(ByVal value As DateTime) Me._resetTime = value If Not Me.Control.IsDisposed Then - If Me._resetTime >= DateTime.Now Then - Me.ToolTipText = "ResetTime " + Me._resetTime.ToString() - Else - Me.ToolTipText = "ResetTime ???" - End If + Me.SetText(Me._remainCount, Me._maxCount) Me.Control.Refresh() End If End Set @@ -103,6 +99,9 @@ Private Sub SetText(ByVal remain As Integer, ByVal max As Integer) Dim textFormat As String = "API {0}/{1}" + Dim toolTipTextFormat As String = _ + "API rest {0}/{1}" + Environment.NewLine + _ + "(reset after {2} minutes)" If Me._remainCount > -1 AndAlso Me._maxCount > -1 Then ' 正常 @@ -117,5 +116,15 @@ ' 両方とも不正 Me.Control.Text = String.Format(textFormat, "???", "???") End If + + Dim minute As Double = Math.Ceiling((Me.ResetTime - DateTime.Now).TotalMinutes) + Dim minuteText As String + If minute >= 0 Then + minuteText = minute.ToString() + Else + minuteText = "???" + End If + + Me.ToolTipText = String.Format(toolTipTextFormat, Me._remainCount, Me._maxCount, minuteText) End Sub End Class \ No newline at end of file From svnnotify @ sourceforge.jp Mon Nov 1 12:53:35 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 01 Nov 2010 12:53:35 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwMTRdICBETeOBruWgtOWQiOOBq3ZpYeOBrg==?= =?utf-8?b?44G/5LuY5Yqg44GV44KM44Gm44GX44G+44Gj44Gm44GE44Gf44OQ44Kw44KS?= =?utf-8?b?5L+u5q2j?= Message-ID: <1288583615.436267.24722.nullmailer@users.sourceforge.jp> Revision: 1014 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1014 Author: syo68k Date: 2010-11-01 12:53:35 +0900 (Mon, 01 Nov 2010) Log Message: ----------- DMの場合にviaのみ付加されてしまっていたバグを修正 Modified Paths: -------------- trunk/Tween/Tween.vb -------------- next part -------------- Modified: trunk/Tween/Tween.vb =================================================================== --- trunk/Tween/Tween.vb 2010-10-31 18:22:45 UTC (rev 1013) +++ trunk/Tween/Tween.vb 2010-11-01 03:53:35 UTC (rev 1014) @@ -4449,7 +4449,12 @@ If _curList.SelectedIndices.Count = 0 OrElse _curPost Is Nothing Then Exit Sub - Dim dTxt As String = createDetailHtml(_curPost.OriginalData + " via " + _curPost.SourceHtml) + Dim dTxt As String + If _curPost.IsDm Then + dTxt = createDetailHtml(_curPost.OriginalData) + Else + dTxt = createDetailHtml(_curPost.OriginalData + " via " + _curPost.SourceHtml) + End If If _statuses.Tabs(_curTab.Text).TabType = TabUsageType.DirectMessage AndAlso Not _curPost.IsOwl Then NameLabel.Text = "DM TO -> " From svnnotify @ sourceforge.jp Mon Nov 1 13:10:04 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 01 Nov 2010 13:10:04 +0900 Subject: [Tween-svn] =?utf-8?q?=5B1015=5D__Source=E3=81=8Cweb_=2C_Keitai_M?= =?utf-8?b?YWls44Gu5aC05ZCI44GvaHR0cCA6Ly90d2l0dGVyLmNvbS8g44KS6ZaL44GP?= =?utf-8?b?44KI44GG44Gr44GX44Gf?= Message-ID: <1288584604.933325.32089.nullmailer@users.sourceforge.jp> Revision: 1015 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1015 Author: f_swallow Date: 2010-11-01 13:10:04 +0900 (Mon, 01 Nov 2010) Log Message: ----------- Sourceがweb,Keitai Mailの場合はhttp://twitter.com/を開くようにした Modified Paths: -------------- trunk/Tween/My Project/Resources.Designer.vb trunk/Tween/My Project/Resources.resx trunk/Tween/Twitter.vb -------------- next part -------------- Modified: trunk/Tween/My Project/Resources.Designer.vb =================================================================== --- trunk/Tween/My Project/Resources.Designer.vb 2010-11-01 03:53:35 UTC (rev 1014) +++ trunk/Tween/My Project/Resources.Designer.vb 2010-11-01 04:10:04 UTC (rev 1015) @@ -532,7 +532,7 @@ ''' ''' 更新履歴 ''' - '''==== Ver 0.9.6.1(2010/10/**) + '''==== Ver 0.9.6.1(2010/10/22) ''' * URL直後のハッシュタグがリンク化されないバグを修正 ''' * PublicSearchの取得数を変更可能にした ''' * Ctrl+J/K,SHIFT+J/Kが効かなくなっていたバグを修正 @@ -547,7 +547,7 @@ ''' * 取得時の自ポスト既読化をDMにも適用するようにした ''' * Favorites取得数を設定できるようにした。0で標準取得数に合わせる ''' * リストビューの描画を若干高速化した - '''==== Ver 0 [残りの文字列は切り詰められました]"; に類似しているローカライズされた文字列を検索します。 + ''' * BASIC認証 [残りの文字列は切り詰められました]"; に類似しているローカライズされた文字列を検索します。 ''' Friend ReadOnly Property ChangeLog() As String Get @@ -1266,6 +1266,15 @@ End Property ''' + ''' <a href="http://twitter.com/" rel="nofollow">Keitai Mail</a> に類似しているローカライズされた文字列を検索します。 + ''' + Friend ReadOnly Property KeitaiMailSourceString() As String + Get + Return ResourceManager.GetString("KeitaiMailSourceString", resourceCulture) + End Get + End Property + + ''' ''' このリストを削除してもよろしいですか? に類似しているローカライズされた文字列を検索します。 ''' Friend ReadOnly Property ListManageDeleteLists1() As String @@ -2706,6 +2715,15 @@ End Property ''' + ''' <a href="http://twitter.com/" rel="nofollow">web</a> に類似しているローカライズされた文字列を検索します。 + ''' + Friend ReadOnly Property WebSourceString() As String + Get + Return ResourceManager.GetString("WebSourceString", resourceCulture) + End Get + End Property + + ''' ''' はい に類似しているローカライズされた文字列を検索します。 ''' Friend ReadOnly Property Yes() As String Modified: trunk/Tween/My Project/Resources.resx =================================================================== --- trunk/Tween/My Project/Resources.resx 2010-11-01 03:53:35 UTC (rev 1014) +++ trunk/Tween/My Project/Resources.resx 2010-11-01 04:10:04 UTC (rev 1015) @@ -1015,4 +1015,10 @@ 取得発言数は20?100件を指定してください。 + + <a href="http://twitter.com/" rel="nofollow">Keitai Mail</a> + + + <a href="http://twitter.com/" rel="nofollow">web</a> + \ No newline at end of file Modified: trunk/Tween/Twitter.vb =================================================================== --- trunk/Tween/Twitter.vb 2010-11-01 03:53:35 UTC (rev 1014) +++ trunk/Tween/Twitter.vb 2010-11-01 04:10:04 UTC (rev 1015) @@ -621,7 +621,13 @@ post.Source = HttpUtility.HtmlDecode(mS.Result("${source}")) End If Else - post.SourceHtml = String.Copy(post.Source) + If post.Source = "web" Then + post.SourceHtml = My.Resources.WebSourceString + ElseIf post.Source = "Keitai Mail" Then + post.SourceHtml = My.Resources.KeitaiMailSourceString + Else + post.SourceHtml = String.Copy(post.Source) + End If End If post.IsRead = read @@ -1549,7 +1555,13 @@ post.Source = HttpUtility.HtmlDecode(mS.Result("${source}")) End If Else - post.SourceHtml = String.Copy(post.Source) + If post.Source = "web" Then + post.SourceHtml = My.Resources.WebSourceString + ElseIf post.Source = "Keitai Mail" Then + post.SourceHtml = My.Resources.KeitaiMailSourceString + Else + post.SourceHtml = String.Copy(post.Source) + End If End If post.IsRead = read @@ -1699,7 +1711,13 @@ post.Source = HttpUtility.HtmlDecode(mS.Result("${source}")) End If Else - post.SourceHtml = String.Copy(post.Source) + If post.Source = "web" Then + post.SourceHtml = My.Resources.WebSourceString + ElseIf post.Source = "Keitai Mail" Then + post.SourceHtml = My.Resources.KeitaiMailSourceString + Else + post.SourceHtml = String.Copy(post.Source) + End If End If post.IsRead = read @@ -1996,7 +2014,13 @@ post.Source = HttpUtility.HtmlDecode(mS.Result("${source}")) End If Else - post.SourceHtml = String.Copy(post.Source) + If post.Source = "web" Then + post.SourceHtml = My.Resources.WebSourceString + ElseIf post.Source = "Keitai Mail" Then + post.SourceHtml = My.Resources.KeitaiMailSourceString + Else + post.SourceHtml = String.Copy(post.Source) + End If End If post.IsRead = read From svnnotify @ sourceforge.jp Mon Nov 1 13:46:02 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 01 Nov 2010 13:46:02 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwMTZdICBTb3VyY2XmlbTlvaLjga7jgrPjg7w=?= =?utf-8?b?44OJ44KS5Yil44Oh44K944OD44OJ44Gr44G+44Go44KB?= Message-ID: <1288586762.412251.331.nullmailer@users.sourceforge.jp> Revision: 1016 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1016 Author: syo68k Date: 2010-11-01 13:46:02 +0900 (Mon, 01 Nov 2010) Log Message: ----------- Source整形のコードを別メソッドにまとめ Modified Paths: -------------- trunk/Tween/Twitter.vb -------------- next part -------------- Modified: trunk/Tween/Twitter.vb =================================================================== --- trunk/Tween/Twitter.vb 2010-11-01 04:10:04 UTC (rev 1015) +++ trunk/Tween/Twitter.vb 2010-11-01 04:46:02 UTC (rev 1016) @@ -610,25 +610,7 @@ post.Data = HttpUtility.HtmlDecode(post.Data) post.Data = post.Data.Replace("<3", "?") 'Source整形 - If post.Source.StartsWith("<") Then - 'Dim rgS As New Regex(">(?.+)<") - If Not post.Source.Contains("") Then - post.Source += "" - End If - post.SourceHtml = String.Copy(post.Source) - Dim mS As Match = Regex.Match(post.Source, ">(?.+)<") - If mS.Success Then - post.Source = HttpUtility.HtmlDecode(mS.Result("${source}")) - End If - Else - If post.Source = "web" Then - post.SourceHtml = My.Resources.WebSourceString - ElseIf post.Source = "Keitai Mail" Then - post.SourceHtml = My.Resources.KeitaiMailSourceString - Else - post.SourceHtml = String.Copy(post.Source) - End If - End If + CreateSource(post) post.IsRead = read post.IsReply = post.ReplyToList.Contains(_uid) @@ -1544,25 +1526,7 @@ post.Data = HttpUtility.HtmlDecode(post.Data) post.Data = post.Data.Replace("<3", "?") 'Source整形 - If post.Source.StartsWith("<") Then - 'Dim rgS As New Regex(">(?.+)<") - If Not post.Source.Contains("") Then - post.Source += "" - End If - post.SourceHtml = String.Copy(post.Source) - Dim mS As Match = Regex.Match(post.Source, ">(?.+)<") - If mS.Success Then - post.Source = HttpUtility.HtmlDecode(mS.Result("${source}")) - End If - Else - If post.Source = "web" Then - post.SourceHtml = My.Resources.WebSourceString - ElseIf post.Source = "Keitai Mail" Then - post.SourceHtml = My.Resources.KeitaiMailSourceString - Else - post.SourceHtml = String.Copy(post.Source) - End If - End If + CreateSource(post) post.IsRead = read If gType = WORKERTYPE.Timeline OrElse tab IsNot Nothing Then @@ -1700,25 +1664,7 @@ post.OriginalData = CreateHtmlAnchor(HttpUtility.HtmlEncode(post.Data), post.ReplyToList) post.Data = HttpUtility.HtmlDecode(post.Data) 'Source整形 - If post.Source.StartsWith("<") Then - 'Dim rgS As New Regex(">(?.+)<") - If Not post.Source.Contains("") Then - post.Source += "" - End If - post.SourceHtml = String.Copy(post.Source) - Dim mS As Match = Regex.Match(post.Source, ">(?.+)<") - If mS.Success Then - post.Source = HttpUtility.HtmlDecode(mS.Result("${source}")) - End If - Else - If post.Source = "web" Then - post.SourceHtml = My.Resources.WebSourceString - ElseIf post.Source = "Keitai Mail" Then - post.SourceHtml = My.Resources.KeitaiMailSourceString - Else - post.SourceHtml = String.Copy(post.Source) - End If - End If + CreateSource(post) post.IsRead = read post.IsReply = post.ReplyToList.Contains(_uid) @@ -2004,24 +1950,7 @@ post.Data = HttpUtility.HtmlDecode(post.Data) post.Data = post.Data.Replace("<3", "?") 'Source整形 - If post.Source.StartsWith("<") Then - If Not post.Source.Contains("") Then - post.Source += "" - End If - post.SourceHtml = String.Copy(post.Source) - Dim mS As Match = Regex.Match(post.Source, ">(?.+)<") - If mS.Success Then - post.Source = HttpUtility.HtmlDecode(mS.Result("${source}")) - End If - Else - If post.Source = "web" Then - post.SourceHtml = My.Resources.WebSourceString - ElseIf post.Source = "Keitai Mail" Then - post.SourceHtml = My.Resources.KeitaiMailSourceString - Else - post.SourceHtml = String.Copy(post.Source) - End If - End If + CreateSource(post) post.IsRead = read post.IsReply = post.ReplyToList.Contains(_uid) @@ -2553,6 +2482,28 @@ Return retStr End Function + 'Source整形 + Private Sub CreateSource(ByRef post As PostClass) + If post.Source.StartsWith("<") Then + If Not post.Source.Contains("") Then + post.Source += "" + End If + post.SourceHtml = String.Copy(post.Source) + Dim mS As Match = Regex.Match(post.Source, ">(?.+)<") + If mS.Success Then + post.Source = HttpUtility.HtmlDecode(mS.Result("${source}")) + End If + Else + If post.Source = "web" Then + post.SourceHtml = My.Resources.WebSourceString + ElseIf post.Source = "Keitai Mail" Then + post.SourceHtml = My.Resources.KeitaiMailSourceString + Else + post.SourceHtml = String.Copy(post.Source) + End If + End If + End Sub + Public Function GetInfoApi(ByVal info As ApiInfo) As Boolean If Twitter.AccountState <> ACCOUNT_STATE.Valid Then Return True From svnnotify @ sourceforge.jp Mon Nov 1 18:05:07 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 01 Nov 2010 18:05:07 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwMTddICDjg6rjgrnjg4jjga7jgqLjgqTjgrM=?= =?utf-8?b?44Oz44KS57im5pa55ZCR44Gr44K744Oz44K/44Oq44Oz44Kw44GX44Gm5o+P?= =?utf-8?b?55S744GZ44KL44KI44GG44Gr5aSJ5pu0?= Message-ID: <1288602307.167887.30440.nullmailer@users.sourceforge.jp> Revision: 1017 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1017 Author: anis774 Date: 2010-11-01 18:05:06 +0900 (Mon, 01 Nov 2010) Log Message: ----------- リストのアイコンを縦方向にセンタリングして描画するように変更 Modified Paths: -------------- trunk/Tween/Tween.vb -------------- next part -------------- Modified: trunk/Tween/Tween.vb =================================================================== --- trunk/Tween/Tween.vb 2010-11-01 04:46:02 UTC (rev 1016) +++ trunk/Tween/Tween.vb 2010-11-01 09:05:06 UTC (rev 1017) @@ -4087,6 +4087,8 @@ Next Dim iconRect As Rectangle = Rectangle.Intersect(New Rectangle(e.Item.GetBounds(ItemBoundsPortion.Icon).Location, New Size(_iconSz, _iconSz)), itemRect) + iconRect.Offset(0, CType(Math.Max(0, (itemRect.Height - _iconSz) / 2), Integer)) + If iconRect.Width > 0 Then e.Graphics.FillRectangle(Brushes.White, iconRect) e.Graphics.InterpolationMode = Drawing2D.InterpolationMode.High From svnnotify @ sourceforge.jp Mon Nov 1 22:42:07 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 01 Nov 2010 22:42:07 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwMThdICBTb3VyY2XooajnpLrjgpLoqbPntLA=?= =?utf-8?b?55m66KiA6aCY5Z+f44GL44KJ5pmC5Yi76KGo56S644Gu5Y+z44G456e75YuV?= Message-ID: <1288618927.623512.20180.nullmailer@users.sourceforge.jp> Revision: 1018 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1018 Author: syo68k Date: 2010-11-01 22:42:07 +0900 (Mon, 01 Nov 2010) Log Message: ----------- Source表示を詳細発言領域から時刻表示の右へ移動 Modified Paths: -------------- trunk/Tween/Tween.Designer.vb trunk/Tween/Tween.resx trunk/Tween/Tween.vb -------------- next part -------------- Modified: trunk/Tween/Tween.Designer.vb =================================================================== --- trunk/Tween/Tween.Designer.vb 2010-11-01 09:05:06 UTC (rev 1017) +++ trunk/Tween/Tween.Designer.vb 2010-11-01 13:42:07 UTC (rev 1018) @@ -28,7 +28,6 @@ Me.ToolStripContainer1 = New System.Windows.Forms.ToolStripContainer() Me.StatusStrip1 = New System.Windows.Forms.StatusStrip() Me.StatusLabelUrl = New System.Windows.Forms.ToolStripStatusLabel() - Me.StatusLabel = New Tween.TweenCustomControl.ToolStripLabelHistory() Me.HashStripSplitButton = New System.Windows.Forms.ToolStripSplitButton() Me.ContextMenuPostMode = New System.Windows.Forms.ContextMenuStrip(Me.components) Me.ToolStripMenuItemUrlMultibyteSplit = New System.Windows.Forms.ToolStripMenuItem() @@ -84,7 +83,6 @@ Me.ToolStripMenuItem1 = New System.Windows.Forms.ToolStripSeparator() Me.IconNameToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.SaveIconPictureToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.DateTimeLabel = New System.Windows.Forms.Label() Me.NameLabel = New System.Windows.Forms.Label() Me.PostBrowser = New System.Windows.Forms.WebBrowser() Me.ContextMenuPostBrowser = New System.Windows.Forms.ContextMenuStrip(Me.components) @@ -111,6 +109,8 @@ Me.ListManageUserContextToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.ToolStripSeparator33 = New System.Windows.Forms.ToolStripSeparator() Me.UseHashtagMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.SourceLinkLabel = New System.Windows.Forms.LinkLabel() + Me.DateTimeLabel = New System.Windows.Forms.Label() Me.StatusText = New System.Windows.Forms.TextBox() Me.lblLen = New System.Windows.Forms.Label() Me.PostButton = New System.Windows.Forms.Button() @@ -266,6 +266,7 @@ 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.StatusLabel = New Tween.TweenCustomControl.ToolStripLabelHistory() Me.ToolStripContainer1.BottomToolStripPanel.SuspendLayout() Me.ToolStripContainer1.ContentPanel.SuspendLayout() Me.ToolStripContainer1.TopToolStripPanel.SuspendLayout() @@ -332,14 +333,6 @@ Me.StatusLabelUrl.Name = "StatusLabelUrl" Me.StatusLabelUrl.Spring = True ' - 'StatusLabel - ' - Me.StatusLabel.BorderSides = CType((System.Windows.Forms.ToolStripStatusLabelBorderSides.Left Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Right), System.Windows.Forms.ToolStripStatusLabelBorderSides) - Me.StatusLabel.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text - Me.StatusLabel.DoubleClickEnabled = True - Me.StatusLabel.Name = "StatusLabel" - resources.ApplyResources(Me.StatusLabel, "StatusLabel") - ' 'HashStripSplitButton ' Me.HashStripSplitButton.AutoToolTip = False @@ -638,9 +631,10 @@ ' resources.ApplyResources(Me.TableLayoutPanel1, "TableLayoutPanel1") Me.TableLayoutPanel1.Controls.Add(Me.UserPicture, 0, 0) - Me.TableLayoutPanel1.Controls.Add(Me.DateTimeLabel, 2, 0) Me.TableLayoutPanel1.Controls.Add(Me.NameLabel, 1, 0) Me.TableLayoutPanel1.Controls.Add(Me.PostBrowser, 1, 1) + Me.TableLayoutPanel1.Controls.Add(Me.DateTimeLabel, 2, 0) + Me.TableLayoutPanel1.Controls.Add(Me.SourceLinkLabel, 3, 0) Me.TableLayoutPanel1.Name = "TableLayoutPanel1" ' 'UserPicture @@ -710,11 +704,6 @@ Me.SaveIconPictureToolStripMenuItem.Name = "SaveIconPictureToolStripMenuItem" resources.ApplyResources(Me.SaveIconPictureToolStripMenuItem, "SaveIconPictureToolStripMenuItem") ' - 'DateTimeLabel - ' - resources.ApplyResources(Me.DateTimeLabel, "DateTimeLabel") - Me.DateTimeLabel.Name = "DateTimeLabel" - ' 'NameLabel ' Me.NameLabel.AutoEllipsis = True @@ -725,7 +714,7 @@ 'PostBrowser ' Me.PostBrowser.AllowWebBrowserDrop = False - Me.TableLayoutPanel1.SetColumnSpan(Me.PostBrowser, 2) + Me.TableLayoutPanel1.SetColumnSpan(Me.PostBrowser, 3) Me.PostBrowser.ContextMenuStrip = Me.ContextMenuPostBrowser resources.ApplyResources(Me.PostBrowser, "PostBrowser") Me.PostBrowser.IsWebBrowserContextMenuEnabled = False @@ -856,6 +845,19 @@ Me.UseHashtagMenuItem.Name = "UseHashtagMenuItem" resources.ApplyResources(Me.UseHashtagMenuItem, "UseHashtagMenuItem") ' + 'SourceLinkLabel + ' + resources.ApplyResources(Me.SourceLinkLabel, "SourceLinkLabel") + Me.SourceLinkLabel.AutoEllipsis = True + Me.SourceLinkLabel.Name = "SourceLinkLabel" + Me.SourceLinkLabel.TabStop = True + ' + 'DateTimeLabel + ' + resources.ApplyResources(Me.DateTimeLabel, "DateTimeLabel") + Me.DateTimeLabel.AutoEllipsis = True + Me.DateTimeLabel.Name = "DateTimeLabel" + ' 'StatusText ' resources.ApplyResources(Me.StatusText, "StatusText") @@ -1659,6 +1661,14 @@ ' Me.OpenFileDialog1.FileName = "OpenFileDialog1" ' + 'StatusLabel + ' + Me.StatusLabel.BorderSides = CType((System.Windows.Forms.ToolStripStatusLabelBorderSides.Left Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Right), System.Windows.Forms.ToolStripStatusLabelBorderSides) + Me.StatusLabel.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text + Me.StatusLabel.DoubleClickEnabled = True + Me.StatusLabel.Name = "StatusLabel" + resources.ApplyResources(Me.StatusLabel, "StatusLabel") + ' 'TweenMain ' Me.AllowDrop = True @@ -1947,5 +1957,6 @@ Friend WithEvents ListManageUserContextToolStripMenuItem2 As System.Windows.Forms.ToolStripMenuItem Friend WithEvents ListManageUserContextToolStripMenuItem3 As System.Windows.Forms.ToolStripMenuItem Friend WithEvents ListManageToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents SourceLinkLabel As System.Windows.Forms.LinkLabel End Class Modified: trunk/Tween/Tween.resx =================================================================== --- trunk/Tween/Tween.resx 2010-11-01 09:05:06 UTC (rev 1017) +++ trunk/Tween/Tween.resx 2010-11-01 13:42:07 UTC (rev 1018) @@ -130,7 +130,7 @@ - 344, 22 + 320, 22 ToolStripStatusLabel1 @@ -139,7 +139,7 @@ MiddleLeft - 55, 22 + 71, 22 Starting... @@ -151,25 +151,25 @@ 263, 17 - 237, 22 + 280, 22 URLからの全角文字列の切り離し - 237, 22 + 280, 22 APIコマンドを回避する - 237, 22 + 280, 22 自動的にURLを短縮する - 237, 22 + 280, 22 全角スペースを半角スペースにする @@ -178,37 +178,37 @@ Ctrl+Y - 237, 22 + 280, 22 発言欄複数行入力(&M) - 237, 22 + 280, 22 フォーカスを発言欄へロックする - 234, 6 + 277, 6 Ctrl+Shift+P - 237, 22 + 280, 22 投稿画像選択(&P) - 234, 6 + 277, 6 Ctrl+Shift+T - 237, 22 + 280, 22 ハッシュタグ自動付加 @@ -217,13 +217,13 @@ Ctrl+T - 237, 22 + 280, 22 ハッシュタグ設定 - 238, 214 + 281, 214 ContextMenuPostMode @@ -232,7 +232,7 @@ System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - 43, 25 + 51, 25 #[-] @@ -289,67 +289,67 @@ 130, 99 - 188, 22 + 226, 22 タブ作成(&N)... - 188, 22 + 226, 22 タブ名の変更(&R) - 185, 6 + 223, 6 - 188, 22 + 226, 22 未読管理(&U) - 188, 22 + 226, 22 新着通知表示(&Q) - 121, 20 + 121, 26 再生するwavファイルを指定してください - 185, 6 + 223, 6 - 188, 22 + 226, 22 振り分けルール編集(&F)... - 185, 6 + 223, 6 - 188, 22 + 226, 22 このタブの発言をクリア(&C) - 185, 6 + 223, 6 - 188, 22 + 226, 22 タブ削除(&D) - 189, 206 + 227, 212 ContextMenuTabProperty @@ -376,7 +376,7 @@ 0, 0, 0, 0 - 453, 166 + 453, 164 0 @@ -400,7 +400,7 @@ 0, 0 - 453, 166 + 453, 164 0 @@ -430,7 +430,7 @@ 0, 0 - 453, 138 + 453, 136 Zoom @@ -634,7 +634,7 @@ Bottom - 0, 138 + 0, 136 3, 3, 3, 3 @@ -664,7 +664,7 @@ 0, 0 - 453, 166 + 453, 164 1 @@ -691,7 +691,7 @@ 0, 0 - 453, 166 + 453, 164 2 @@ -739,67 +739,67 @@ Horizontal - 3 + 4 635, 58 - 210, 22 + 238, 22 フォローする(&F) - 210, 22 + 238, 22 フォロー解除(&N) - 210, 22 + 238, 22 相互フォロー状態表示(&H) - 210, 22 + 238, 22 リスト管理(&L) - 207, 6 + 235, 6 - 210, 22 + 238, 22 プロフィール表示(&P) - 210, 22 + 238, 22 このユーザーの発言を検索(&S) - 207, 6 + 235, 6 - 210, 22 + 238, 22 IconName - 210, 22 + 238, 22 保存(&I)... - 211, 192 + 239, 192 ContextMenuUserPicture @@ -834,42 +834,6 @@ 0 - - Top, Bottom, Right - - - Off - - - 327, 3 - - - 3, 3, 3, 0 - - - 123, 14 - - - 1 - - - Label1 - - - MiddleRight - - - DateTimeLabel - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TableLayoutPanel1 - - - 1 - True @@ -889,7 +853,7 @@ 3, 3, 3, 0 - 262, 14 + 181, 14 0 @@ -910,52 +874,52 @@ TableLayoutPanel1 - 2 + 1 480, 17 - 160, 22 + 180, 22 Google(&G) - 160, 22 + 180, 22 Wikipedia(&W) - 160, 22 + 180, 22 Twitter検索(&Y) - 160, 22 + 180, 22 Twitter Search(&S) - 160, 22 + 180, 22 現在のタブ(&L) - 210, 22 + 238, 22 選択文字列で検索(&S) - 207, 6 + 235, 6 - 210, 22 + 238, 22 選択文字列をコピー(&C) @@ -964,85 +928,85 @@ False - 210, 22 + 238, 22 URLをコピー(&U) - 210, 22 + 238, 22 すべて選択(&A) - 207, 6 + 235, 6 - 210, 22 + 238, 22 フォローする(&F) - 210, 22 + 238, 22 フォロー解除(&N) - 210, 22 + 238, 22 相互フォロー状態表示(&R) - 210, 22 + 238, 22 全ユーザーのフォロー状態(&A) - 207, 6 + 235, 6 - 210, 22 + 238, 22 プロフィール表示(&P) - 210, 22 + 238, 22 このユーザーの発言を検索(&F) - 207, 6 + 235, 6 - 210, 22 + 238, 22 ID振分ルール作成(&I) - 210, 22 + 238, 22 リスト管理(&L) - 207, 6 + 235, 6 - 210, 22 + 238, 22 ハッシュタグを固定(&H) - 211, 320 + 239, 320 ContextMenuPostBrowser @@ -1072,8 +1036,86 @@ TableLayoutPanel1 + 2 + + + Top, Bottom, Right + + + True + + + Off + + + 324, 3 + + + 3, 3, 3, 0 + + + 38, 14 + + + 1 + + + Label1 + + + MiddleRight + + + DateTimeLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TableLayoutPanel1 + + 3 + + Top, Bottom, Left, Right + + + True + + + Off + + + 368, 3 + + + 3, 3, 3, 0 + + + 82, 14 + + + 7 + + + LinkLabel1 + + + MiddleRight + + + SourceLinkLabel + + + System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TableLayoutPanel1 + + + 4 + Fill @@ -1102,7 +1144,7 @@ 0 - <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="UserPicture" Row="0" RowSpan="2" Column="0" ColumnSpan="1" /><Control Name="DateTimeLabel" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="NameLabel" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="PostBrowser" Row="1" RowSpan="1" Column="1" ColumnSpan="2" /></Controls><Columns Styles="Absolute,56,Percent,100,Absolute,129" /><Rows Styles="Absolute,17,Percent,100" /></TableLayoutSettings> + <?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,122,Absolute,88" /><Rows Styles="Absolute,17,Percent,100,Absolute,20" /></TableLayoutSettings> SplitContainer2.Panel1 @@ -1363,10 +1405,10 @@ 23 - 457, 302 + 457, 300 - 170 + 168 2 @@ -1387,7 +1429,7 @@ 0 - 457, 302 + 457, 300 ToolStripContainer1.ContentPanel @@ -1447,85 +1489,85 @@ None - 168, 22 + 189, 22 設定(&O) - 165, 6 + 186, 6 - 168, 22 + 189, 22 ファイル保存(&S) - 165, 6 + 186, 6 - 168, 22 + 189, 22 新着通知(&Q) - 168, 22 + 189, 22 サウンド再生(&P) - 168, 22 + 189, 22 新着時リスト固定(&L) - 165, 6 + 186, 6 - 168, 22 + 189, 22 終了(&X) - 66, 20 + 85, 22 ファイル(&F) - 225, 22 + 259, 22 タブ削除の取消 - 222, 6 + 256, 6 - 225, 22 + 259, 22 コピー(STOT形式テキスト)(&C) - 225, 22 + 259, 22 コピー(ステータスURL)(&S) - 222, 6 + 256, 6 Ctrl+F - 225, 22 + 259, 22 検索(&F)... @@ -1534,7 +1576,7 @@ F3 - 225, 22 + 259, 22 次を検索(&X) @@ -1543,25 +1585,25 @@ Shift+F3 - 225, 22 + 259, 22 前を検索(&P) - 222, 6 + 256, 6 Ctrl+Shift+F - 225, 22 + 259, 22 抽出条件入力(&Q) - 56, 20 + 61, 22 編集(&E) @@ -1570,7 +1612,7 @@ Ctrl+R - 233, 22 + 267, 22 @返信(&R) @@ -1579,7 +1621,7 @@ Ctrl+Shift+R - 233, 22 + 267, 22 @返信ALL(&E) @@ -1588,7 +1630,7 @@ Ctrl+M - 233, 22 + 267, 22 DM送信(&M) @@ -1597,7 +1639,7 @@ Alt+R - 233, 22 + 267, 22 Re&tweet @@ -1606,7 +1648,7 @@ Alt+Shift+R - 233, 22 + 267, 22 Retweet(U&nofficial) @@ -1615,19 +1657,19 @@ Ctrl+Q - 233, 22 + 267, 22 &Quote - 230, 6 + 264, 6 Ctrl+S - 233, 22 + 267, 22 Fav追加(&F) @@ -1636,7 +1678,7 @@ Ctrl+Shift+S - 233, 22 + 267, 22 Fav削除(&V) @@ -1648,7 +1690,7 @@ Alt+P - 233, 22 + 267, 22 プロフィール表示 @@ -1657,7 +1699,7 @@ Ctrl+H - 266, 22 + 315, 22 ホームを開く(&H) @@ -1666,7 +1708,7 @@ Ctrl+G - 266, 22 + 315, 22 Favを開く(&G) @@ -1675,7 +1717,7 @@ Ctrl+O - 266, 22 + 315, 22 ステータスを開く(&O) @@ -1684,7 +1726,7 @@ Ctrl+I - 266, 22 + 315, 22 返信元ステータスを開く(&I) @@ -1693,7 +1735,7 @@ Ctrl+Shift+O - 266, 22 + 315, 22 ふぁぼられを開く(&P) @@ -1702,7 +1744,7 @@ Ctrl+E - 266, 22 + 315, 22 発言内URLを開く(&U) @@ -1711,49 +1753,49 @@ Ctrl+Shift+H - 266, 22 + 315, 22 RTした人のホームを開く(&R) - 233, 22 + 267, 22 開く(&O) - 199, 22 + 227, 22 タブ振り分けルール作成(&N) - 199, 22 + 227, 22 ID振り分けルール作成(&I) - 233, 22 + 267, 22 振り分けルール作成(&C) - 233, 22 + 267, 22 リスト管理(&L) - 230, 6 + 264, 6 Ctrl+B - 206, 22 + 239, 22 既読にする(&B) @@ -1762,31 +1804,31 @@ Ctrl+Shift+B - 206, 22 + 239, 22 未読にする(&U) - 233, 22 + 267, 22 未読状態変更(&H) - 233, 22 + 267, 22 未読へジャンプ(&J) - 230, 6 + 264, 6 Ctrl+A - 233, 22 + 267, 22 全て選択(&A) @@ -1795,7 +1837,7 @@ Ctrl+D - 233, 22 + 267, 22 削除(&D) @@ -1804,7 +1846,7 @@ F5 - 233, 22 + 267, 22 更新(&U) @@ -1813,79 +1855,79 @@ Shift+F5 - 233, 22 + 267, 22 前データを取得(&I) - 57, 20 + 63, 22 操作(&O) - 188, 22 + 226, 22 タブ作成(&N)... - 188, 22 + 226, 22 タブ名変更(&R) - 185, 6 + 223, 6 - 188, 22 + 226, 22 未読管理(&U) - 188, 22 + 226, 22 新着通知表示(&Q) - 121, 20 + 121, 26 - 185, 6 + 223, 6 - 188, 22 + 226, 22 振り分けルール編集(&F)... - 185, 6 + 223, 6 - 188, 22 + 226, 22 このタブの発言をクリア(&C) - 185, 6 + 223, 6 Ctrl+W - 188, 22 + 226, 22 タブ削除(&D) - 49, 20 + 62, 22 タブ(&T) @@ -1894,7 +1936,7 @@ Ctrl+L - 215, 22 + 242, 22 短縮サービス自動選択 @@ -1903,97 +1945,97 @@ False - 215, 22 + 242, 22 元に戻す - 215, 22 + 242, 22 TinyURL - 215, 22 + 242, 22 is.gd - 215, 22 + 242, 22 twurl.nl - 215, 22 + 242, 22 bit.ly - 215, 22 + 242, 22 j.mp - 237, 22 + 280, 22 入力欄のURLを短縮変換 - 237, 22 + 280, 22 片思いユーザーリスト取得 - 234, 6 + 277, 6 - 237, 22 + 280, 22 フォローする(&F) - 237, 22 + 280, 22 フォロー解除(&N) - 237, 22 + 280, 22 相互フォロー状態表示(&H) - 234, 6 + 277, 6 - 237, 22 + 280, 22 自プロフィール簡易表示 - 237, 22 + 280, 22 プロフィール表示 - 234, 6 + 277, 6 Ctrl+Shift+T - 237, 22 + 280, 22 ハッシュタグ自動付加 @@ -2002,25 +2044,25 @@ Ctrl+T - 237, 22 + 280, 22 ハッシュタグ設定 - 237, 22 + 280, 22 この発言のRetweet回数を確認 - 237, 22 + 280, 22 リスト編集 - 88, 20 + 98, 22 その他機能(&C) @@ -2029,58 +2071,58 @@ F1 - 191, 22 + 227, 22 Tweenまとめサイト(&H) - 191, 22 + 227, 22 ショートカットキー一覧 - 188, 6 + 224, 6 - 191, 22 + 227, 22 最新版の取得(&G) - 188, 6 + 224, 6 - 191, 22 + 227, 22 API情報 - 188, 6 + 224, 6 - 191, 22 + 227, 22 Tweenについて(&A)... - 159, 22 + 179, 22 PostClassのダンプ - 159, 22 + 179, 22 TraceOut出力 - 191, 22 + 227, 22 デバッグモード @@ -2089,7 +2131,7 @@ False - 62, 20 + 75, 22 ヘルプ(&H) @@ -2098,7 +2140,7 @@ 0, 0 - 457, 24 + 457, 26 0 @@ -2146,190 +2188,190 @@ 443, 58 - 182, 22 + 202, 22 @返信(&R) - 182, 22 + 202, 22 @返信ALL(&E) - 182, 22 + 202, 22 DM送信(&M) - 182, 22 + 202, 22 Re&tweet - 182, 22 + 202, 22 Retweet(U&nofficial) - 182, 22 + 202, 22 &Quote - 179, 6 + 199, 6 - 182, 22 + 202, 22 Fav追加(&F) - 182, 22 + 202, 22 Fav削除(&V) - 182, 22 + 202, 22 プロフィール表示 - 198, 22 + 230, 22 ホームを開く(&H) - 198, 22 + 230, 22 Favを開く(&G) - 198, 22 + 230, 22 ステータスを開く(&O) - 198, 22 + 230, 22 返信元ステータスを開く(&I) - 198, 22 + 230, 22 ふぁぼられを開く(&P) - 198, 22 + 230, 22 発言内URLを開く(&U) - 198, 22 + 230, 22 RTした人のホームを開く(&R) - 182, 22 + 202, 22 開く(&O) - 205, 22 + 239, 22 タブ振り分けルール作成(&N)... - 205, 22 + 239, 22 ID振り分けルール作成... - 182, 22 + 202, 22 振り分けルール作成(&C) - 182, 22 + 202, 22 リスト管理(&L) - 179, 6 + 199, 6 - 138, 22 + 154, 22 既読にする(&B) - 138, 22 + 154, 22 未読にする - 182, 22 + 202, 22 未読状態変更(&H) - 182, 22 + 202, 22 未読へジャンプ(&J) - 179, 6 + 199, 6 - 182, 22 + 202, 22 全て選択(&A) - 182, 22 + 202, 22 削除(&D) - 182, 22 + 202, 22 更新(&U) - 182, 22 + 202, 22 前データを取得(&I) - 183, 418 + 203, 418 ContextMenuOperate @@ -2341,55 +2383,55 @@ 276, 58 - 168, 22 + 189, 22 設定(&O)... - 165, 6 + 186, 6 - 168, 22 + 189, 22 ファイル保存(&S)... - 165, 6 + 186, 6 - 168, 22 + 189, 22 新着通知(&Q) - 168, 22 + 189, 22 サウンド再生(&P) - 168, 22 + 189, 22 新着時リスト固定(&L) - 165, 6 + 186, 6 False - 168, 22 + 189, 22 終了(&X) - 169, 154 + 190, 154 ContextMenuFile @@ -2442,12 +2484,6 @@ System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - StatusLabel - - - Tween.TweenCustomControl.ToolStripLabelHistory, Tween, Version=0.1.0.0, Culture=neutral, PublicKeyToken=null - HashStripSplitButton @@ -3678,6 +3714,12 @@ System.Windows.Forms.ToolTip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + StatusLabel + + + Tween.TweenCustomControl.ToolStripLabelHistory, Tween, Version=0.1.0.0, Culture=neutral, PublicKeyToken=null + TweenMain Modified: trunk/Tween/Tween.vb =================================================================== --- trunk/Tween/Tween.vb 2010-11-01 09:05:06 UTC (rev 1017) +++ trunk/Tween/Tween.vb 2010-11-01 13:42:07 UTC (rev 1018) @@ -1012,6 +1012,7 @@ StatusLabelUrl.Text = "" '画面左下のリンク先URL表示部を初期化 NameLabel.Text = "" '発言詳細部名前ラベル初期化 DateTimeLabel.Text = "" '発言詳細部日時ラベル初期化 + SourceLinkLabel.Text = "" 'Source部分初期化 '<<<<<<<<タブ関連>>>>>>> 'デフォルトタブの存在チェック、ない場合には追加 @@ -4451,11 +4452,20 @@ If _curList.SelectedIndices.Count = 0 OrElse _curPost Is Nothing Then Exit Sub - Dim dTxt As String + Dim dTxt As String = createDetailHtml(_curPost.OriginalData) If _curPost.IsDm Then - dTxt = createDetailHtml(_curPost.OriginalData) + SourceLinkLabel.Tag = Nothing + SourceLinkLabel.Text = "" + SourceLinkLabel.Visible = False Else - dTxt = createDetailHtml(_curPost.OriginalData + " via " + _curPost.SourceHtml) + Dim mc As Match = Regex.Match(_curPost.SourceHtml, ".+)"" rel=""nofollow"">") + If mc.Success Then + SourceLinkLabel.Tag = mc.Groups("sourceurl").Value + Else + SourceLinkLabel.Tag = Nothing + End If + SourceLinkLabel.Text = "via " + _curPost.Source + SourceLinkLabel.Visible = True End If If _statuses.Tabs(_curTab.Text).TabType = TabUsageType.DirectMessage AndAlso Not _curPost.IsOwl Then @@ -9469,4 +9479,26 @@ _modifySettingAtId = value End Set End Property + + Private Sub SourceLinkLabel_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles SourceLinkLabel.LinkClicked + Dim link As String = CType(SourceLinkLabel.Tag, String) + If Not String.IsNullOrEmpty(link) Then + OpenUriAsync(link) + End If + End Sub + + Private Sub SourceLinkLabel_MouseEnter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SourceLinkLabel.MouseEnter + Dim link As String = CType(SourceLinkLabel.Tag, String) + If Not String.IsNullOrEmpty(link) Then + StatusLabelUrl.Text = link + End If + End Sub + + Private Sub SourceLinkLabel_MouseLeave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SourceLinkLabel.MouseLeave + SetStatusLabelUrl() + End Sub + + Private Sub SourceLinkLabel_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SourceLinkLabel.Enter + StatusText.Focus() + End Sub End Class From svnnotify @ sourceforge.jp Mon Nov 1 23:24:15 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 01 Nov 2010 23:24:15 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwMTldICDooajnpLrpoJjln5/jgrXjgqTjgro=?= =?utf-8?b?5b6u6Kq/5pW0?= Message-ID: <1288621455.488089.25255.nullmailer@users.sourceforge.jp> Revision: 1019 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1019 Author: syo68k Date: 2010-11-01 23:24:15 +0900 (Mon, 01 Nov 2010) Log Message: ----------- 表示領域サイズ微調整 Modified Paths: -------------- trunk/Tween/Tween.resx -------------- next part -------------- Modified: trunk/Tween/Tween.resx =================================================================== --- trunk/Tween/Tween.resx 2010-11-01 13:42:07 UTC (rev 1018) +++ trunk/Tween/Tween.resx 2010-11-01 14:24:15 UTC (rev 1019) @@ -853,7 +853,7 @@ 3, 3, 3, 0 - 181, 14 + 155, 14 0 @@ -1048,7 +1048,7 @@ Off - 324, 3 + 292, 3 3, 3, 3, 0 @@ -1087,13 +1087,13 @@ Off - 368, 3 + 336, 3 3, 3, 3, 0 - 82, 14 + 114, 14 7 @@ -1144,7 +1144,7 @@ 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,122,Absolute,88" /><Rows Styles="Absolute,17,Percent,100,Absolute,20" /></TableLayoutSettings> + <?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,116,Absolute,120" /><Rows Styles="Absolute,17,Percent,100" /></TableLayoutSettings> SplitContainer2.Panel1 From svnnotify @ sourceforge.jp Mon Nov 1 23:48:10 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 01 Nov 2010 23:48:10 +0900 Subject: [Tween-svn] =?utf-8?q?=5B1020=5D__PublicSearch=E3=81=AESourceUrl?= =?utf-8?b?44KS5q2j44GX44GP6KqN6K2Y44Gn44GN44Gq44GE44Gu44KS5L+u5q2j?= Message-ID: <1288622890.839344.5164.nullmailer@users.sourceforge.jp> Revision: 1020 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1020 Author: syo68k Date: 2010-11-01 23:48:10 +0900 (Mon, 01 Nov 2010) Log Message: ----------- PublicSearchのSourceUrlを正しく認識できないのを修正 Modified Paths: -------------- trunk/Tween/Tween.vb -------------- next part -------------- Modified: trunk/Tween/Tween.vb =================================================================== --- trunk/Tween/Tween.vb 2010-11-01 14:24:15 UTC (rev 1019) +++ trunk/Tween/Tween.vb 2010-11-01 14:48:10 UTC (rev 1020) @@ -4458,7 +4458,7 @@ SourceLinkLabel.Text = "" SourceLinkLabel.Visible = False Else - Dim mc As Match = Regex.Match(_curPost.SourceHtml, ".+)"" rel=""nofollow"">") + Dim mc As Match = Regex.Match(_curPost.SourceHtml, ".+)("" rel=""nofollow)?"">") If mc.Success Then SourceLinkLabel.Tag = mc.Groups("sourceurl").Value Else From svnnotify @ sourceforge.jp Mon Nov 1 23:49:02 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 01 Nov 2010 23:49:02 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwMjFdICBDaGFuZ2VMb2fjgb7jgajjgoE=?= Message-ID: <1288622942.994259.7421.nullmailer@users.sourceforge.jp> Revision: 1021 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1021 Author: syo68k Date: 2010-11-01 23:49:02 +0900 (Mon, 01 Nov 2010) Log Message: ----------- ChangeLogまとめ Modified Paths: -------------- trunk/Tween/Resources/ChangeLog.txt -------------- next part -------------- Modified: trunk/Tween/Resources/ChangeLog.txt =================================================================== --- trunk/Tween/Resources/ChangeLog.txt 2010-11-01 14:48:10 UTC (rev 1020) +++ trunk/Tween/Resources/ChangeLog.txt 2010-11-01 14:49:02 UTC (rev 1021) @@ -1,5 +1,12 @@ ?更新履歴 +==== Ver 0.9.6.2(2010/11/01) + * 高速化など表示周りの再調整。リスト表示が真っ白になる方はご連絡ください。 + * リストアイコンを縦方向にセンタリングして描画するように変更 + * 詳細表示の時刻の右側にSourceを表示するようにした。クリックでクライアントの公式ページを開く。(Web,Keitai Mailの場合は公式) + * API残数とリセットまでの時間をグラフ表示するようにした + * Fav削除の際に直近の発言を選択し直すようにした + * タブ振り分けルール作成を振り分け先タブ選択でキャンセルした場合に再選択までメニューが非表示になるバグを修正 ==== Ver 0.9.6.1(2010/10/22) * URL直後のハッシュタグがリンク化されないバグを修正 * PublicSearchの取得数を変更可能にした From svnnotify @ sourceforge.jp Tue Nov 2 00:20:13 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Tue, 02 Nov 2010 00:20:13 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwMjJdICDplovnmbrniYgwOTYy44Oq44Oq44O8?= =?utf-8?b?44K5?= Message-ID: <1288624813.762263.28153.nullmailer@users.sourceforge.jp> Revision: 1022 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1022 Author: syo68k Date: 2010-11-02 00:20:13 +0900 (Tue, 02 Nov 2010) Log Message: ----------- 開発版0962リリース Modified Paths: -------------- trunk/Tween/My Project/AssemblyInfo.vb trunk/Tween/Resources/ChangeLog.txt -------------- next part -------------- Modified: trunk/Tween/My Project/AssemblyInfo.vb =================================================================== --- trunk/Tween/My Project/AssemblyInfo.vb 2010-11-01 14:49:02 UTC (rev 1021) +++ trunk/Tween/My Project/AssemblyInfo.vb 2010-11-01 15:20:13 UTC (rev 1022) @@ -55,5 +55,5 @@ ' - + Modified: trunk/Tween/Resources/ChangeLog.txt =================================================================== --- trunk/Tween/Resources/ChangeLog.txt 2010-11-01 14:49:02 UTC (rev 1021) +++ trunk/Tween/Resources/ChangeLog.txt 2010-11-01 15:20:13 UTC (rev 1022) @@ -1,12 +1,13 @@ ?更新履歴 -==== Ver 0.9.6.2(2010/11/01) +==== Ver 0.9.6.2(2010/11/02) * 高速化など表示周りの再調整。リスト表示が真っ白になる方はご連絡ください。 * リストアイコンを縦方向にセンタリングして描画するように変更 * 詳細表示の時刻の右側にSourceを表示するようにした。クリックでクライアントの公式ページを開く。(Web,Keitai Mailの場合は公式) * API残数とリセットまでの時間をグラフ表示するようにした * Fav削除の際に直近の発言を選択し直すようにした - * タブ振り分けルール作成を振り分け先タブ選択でキャンセルした場合に再選択までメニューが非表示になるバグを修正 + * タブ振り分けルール作成を振り分け先タブ選択でキャンセルした場合にメニューが異常になるバグを修正 + * 画像プレビューをCloudFilesに対応 ==== Ver 0.9.6.1(2010/10/22) * URL直後のハッシュタグがリンク化されないバグを修正 * PublicSearchの取得数を変更可能にした From svnnotify @ sourceforge.jp Tue Nov 2 01:17:23 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Tue, 02 Nov 2010 01:17:23 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwMjNdICDmj4/nlLvjgqrjg5fjgrfjg6fjg7M=?= =?utf-8?b?44KS5oi744GX5b+Y44KM44Gm44GE44Gf44Gu44KS5L+u5q2j?= Message-ID: <1288628243.047103.17247.nullmailer@users.sourceforge.jp> Revision: 1023 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1023 Author: syo68k Date: 2010-11-02 01:17:22 +0900 (Tue, 02 Nov 2010) Log Message: ----------- 描画オプションを戻し忘れていたのを修正 Modified Paths: -------------- trunk/Tween/Tween.vb -------------- next part -------------- Modified: trunk/Tween/Tween.vb =================================================================== --- trunk/Tween/Tween.vb 2010-11-01 15:20:13 UTC (rev 1022) +++ trunk/Tween/Tween.vb 2010-11-01 16:17:22 UTC (rev 1023) @@ -3923,8 +3923,6 @@ TextFormatFlags.WordBreak Or TextFormatFlags.EndEllipsis Or TextFormatFlags.GlyphOverhangPadding Or - TextFormatFlags.TextBoxControl Or - TextFormatFlags.NoClipping Or TextFormatFlags.NoPrefix) TextRenderer.DrawText(e.Graphics, e.Item.SubItems(4).Text + " / " + e.Item.SubItems(1).Text + " (" + e.Item.SubItems(3).Text + ") " + e.Item.SubItems(5).Text + e.Item.SubItems(6).Text + " [" + e.Item.SubItems(7).Text + "]", @@ -3946,7 +3944,6 @@ TextFormatFlags.EndEllipsis Or TextFormatFlags.GlyphOverhangPadding Or TextFormatFlags.NoPrefix Or - TextFormatFlags.NoClipping Or TextFormatFlags.VerticalCenter) Else 'e.Graphics.DrawString(e.SubItem.Text, e.Item.Font, brs, rct, sf) @@ -3958,8 +3955,6 @@ TextFormatFlags.WordBreak Or TextFormatFlags.EndEllipsis Or TextFormatFlags.GlyphOverhangPadding Or - TextFormatFlags.TextBoxControl Or - TextFormatFlags.NoClipping Or TextFormatFlags.NoPrefix) End If End If @@ -3980,8 +3975,6 @@ TextFormatFlags.WordBreak Or TextFormatFlags.EndEllipsis Or TextFormatFlags.GlyphOverhangPadding Or - TextFormatFlags.TextBoxControl Or - TextFormatFlags.NoClipping Or TextFormatFlags.NoPrefix) TextRenderer.DrawText(e.Graphics, e.Item.SubItems(4).Text + " / " + e.Item.SubItems(1).Text + " (" + e.Item.SubItems(3).Text + ") " + e.Item.SubItems(5).Text + e.Item.SubItems(6).Text + " [" + e.Item.SubItems(7).Text + "]", @@ -4002,7 +3995,6 @@ TextFormatFlags.EndEllipsis Or TextFormatFlags.GlyphOverhangPadding Or TextFormatFlags.NoPrefix Or - TextFormatFlags.NoClipping Or TextFormatFlags.VerticalCenter) Else 'e.Graphics.DrawString(e.SubItem.Text, e.Item.Font, _brsHighLightText, rct, sf) @@ -4014,8 +4006,6 @@ TextFormatFlags.WordBreak Or TextFormatFlags.EndEllipsis Or TextFormatFlags.GlyphOverhangPadding Or - TextFormatFlags.TextBoxControl Or - TextFormatFlags.NoClipping Or TextFormatFlags.NoPrefix) End If Else @@ -4030,8 +4020,6 @@ TextFormatFlags.WordBreak Or TextFormatFlags.EndEllipsis Or TextFormatFlags.GlyphOverhangPadding Or - TextFormatFlags.TextBoxControl Or - TextFormatFlags.NoClipping Or TextFormatFlags.NoPrefix) TextRenderer.DrawText(e.Graphics, e.Item.SubItems(4).Text + " / " + e.Item.SubItems(1).Text + " (" + e.Item.SubItems(3).Text + ") " + e.Item.SubItems(5).Text + e.Item.SubItems(6).Text + " [" + e.Item.SubItems(7).Text + "]", @@ -4052,7 +4040,6 @@ TextFormatFlags.EndEllipsis Or TextFormatFlags.GlyphOverhangPadding Or TextFormatFlags.NoPrefix Or - TextFormatFlags.NoClipping Or TextFormatFlags.VerticalCenter) Else 'e.Graphics.DrawString(e.SubItem.Text, e.Item.Font, _brsForeColorUnread, rct, sf) @@ -4064,8 +4051,6 @@ TextFormatFlags.WordBreak Or TextFormatFlags.EndEllipsis Or TextFormatFlags.GlyphOverhangPadding Or - TextFormatFlags.TextBoxControl Or - TextFormatFlags.NoClipping Or TextFormatFlags.NoPrefix) End If End If From svnnotify @ sourceforge.jp Tue Nov 2 02:20:56 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Tue, 02 Nov 2010 02:20:56 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwMjRdICDjg6rjgrnjg4jpgbjmip7nlLvpnaI=?= =?utf-8?b?44Gu44K/44OW44Kq44O844OA44O86KaL55u044GX?= Message-ID: <1288632056.325817.28343.nullmailer@users.sourceforge.jp> Revision: 1024 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1024 Author: kiri_feather Date: 2010-11-02 02:20:55 +0900 (Tue, 02 Nov 2010) Log Message: ----------- リスト選択画面のタブオーダー見直し Modified Paths: -------------- trunk/Tween/ListAvailable.Designer.vb trunk/Tween/ListAvailable.resx -------------- next part -------------- Modified: trunk/Tween/ListAvailable.Designer.vb =================================================================== --- trunk/Tween/ListAvailable.Designer.vb 2010-11-01 16:17:22 UTC (rev 1023) +++ trunk/Tween/ListAvailable.Designer.vb 2010-11-01 17:20:55 UTC (rev 1024) @@ -126,6 +126,7 @@ resources.ApplyResources(Me.DescriptionText, "DescriptionText") Me.DescriptionText.Name = "DescriptionText" Me.DescriptionText.ReadOnly = True + Me.DescriptionText.TabStop = False ' 'RefreshButton ' Modified: trunk/Tween/ListAvailable.resx =================================================================== --- trunk/Tween/ListAvailable.resx 2010-11-01 16:17:22 UTC (rev 1023) +++ trunk/Tween/ListAvailable.resx 2010-11-01 17:20:55 UTC (rev 1024) @@ -190,7 +190,7 @@ 146, 27 - 0 + 1 TableLayoutPanel1 @@ -217,7 +217,7 @@ 41, 12 - 2 + 3 作成者 @@ -241,7 +241,7 @@ 174, 14 - 3 + 4 Label2 @@ -265,7 +265,7 @@ 174, 14 - 5 + 6 Label3 @@ -292,7 +292,7 @@ 41, 12 - 4 + 5 リスト名 @@ -319,7 +319,7 @@ 29, 12 - 6 + 13 説明 @@ -343,7 +343,7 @@ 174, 14 - 9 + 8 Label7 @@ -370,7 +370,7 @@ 29, 12 - 8 + 7 種別 @@ -394,7 +394,7 @@ 46, 14 - 11 + 10 Label9 @@ -424,7 +424,7 @@ 53, 12 - 10 + 9 登録者数 @@ -448,7 +448,7 @@ 46, 14 - 13 + 12 Label11 @@ -478,7 +478,7 @@ 53, 12 - 12 + 11 購読者数 @@ -532,7 +532,7 @@ 67, 21 - 15 + 2 Refresh @@ -559,7 +559,7 @@ 284, 232 - 16 + 0 ListsList From svnnotify @ sourceforge.jp Tue Nov 2 14:01:21 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Tue, 02 Nov 2010 14:01:21 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwMjVdICDmjK/jgorliIbjgZHjg6vjg7zjg6s=?= =?utf-8?b?5L2c5oiQ44GL44KJ44K/44OW566h55CG55S76Z2i44G+44Gn6YG356e744GZ?= =?utf-8?b?44KL44Go44CBX2N1clBvc3TjgYxOb3RoaW5n44Gr44Gq44KK44CB5LiA6YOo?= =?utf-8?b?44Oh44OL44Ol44O844GM54Sh5Yq544Gr44Gq44KL44OQ44Kw5L+u5q2j?= Message-ID: <1288674081.702792.10743.nullmailer@users.sourceforge.jp> Revision: 1025 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1025 Author: kiri_feather Date: 2010-11-02 14:01:21 +0900 (Tue, 02 Nov 2010) Log Message: ----------- 振り分けルール作成からタブ管理画面まで遷移すると、_curPostがNothingになり、一部メニューが無効になるバグ修正 Modified Paths: -------------- trunk/Tween/Tween.vb -------------- next part -------------- Modified: trunk/Tween/Tween.vb =================================================================== --- trunk/Tween/Tween.vb 2010-11-01 17:20:55 UTC (rev 1024) +++ trunk/Tween/Tween.vb 2010-11-02 05:01:21 UTC (rev 1025) @@ -6751,6 +6751,10 @@ Me.Cursor = Cursors.Default End Try SaveConfigsTabs() + If Me.ListTab.SelectedTab IsNot Nothing AndAlso + DirectCast(Me.ListTab.SelectedTab.Tag, DetailsListView).SelectedIndices.Count > 0 Then + _curPost = _statuses.Item(Me.ListTab.SelectedTab.Text, DirectCast(Me.ListTab.SelectedTab.Tag, DetailsListView).SelectedIndices(0)) + End If End Sub Protected Overrides Function ProcessDialogKey( _ From svnnotify @ sourceforge.jp Tue Nov 2 19:19:22 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Tue, 02 Nov 2010 19:19:22 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwMjZdICDnmbroqIDoqbPntLDjga7ml6XmmYI=?= =?utf-8?b?44Goc291cmNl44KS5Y+z5a+E44KK44Gr6Kmw44KB44Gf?= Message-ID: <1288693162.427810.18778.nullmailer@users.sourceforge.jp> Revision: 1026 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1026 Author: kiri_feather Date: 2010-11-02 19:19:22 +0900 (Tue, 02 Nov 2010) Log Message: ----------- 発言詳細の日時とsourceを右寄りに詰めた Modified Paths: -------------- trunk/Tween/Tween.Designer.vb trunk/Tween/Tween.resx -------------- next part -------------- Modified: trunk/Tween/Tween.Designer.vb =================================================================== --- trunk/Tween/Tween.Designer.vb 2010-11-02 05:01:21 UTC (rev 1025) +++ trunk/Tween/Tween.Designer.vb 2010-11-02 10:19:22 UTC (rev 1026) @@ -109,8 +109,8 @@ Me.ListManageUserContextToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.ToolStripSeparator33 = New System.Windows.Forms.ToolStripSeparator() Me.UseHashtagMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.DateTimeLabel = New System.Windows.Forms.Label() Me.SourceLinkLabel = New System.Windows.Forms.LinkLabel() - Me.DateTimeLabel = New System.Windows.Forms.Label() Me.StatusText = New System.Windows.Forms.TextBox() Me.lblLen = New System.Windows.Forms.Label() Me.PostButton = New System.Windows.Forms.Button() @@ -845,19 +845,20 @@ Me.UseHashtagMenuItem.Name = "UseHashtagMenuItem" resources.ApplyResources(Me.UseHashtagMenuItem, "UseHashtagMenuItem") ' + 'DateTimeLabel + ' + resources.ApplyResources(Me.DateTimeLabel, "DateTimeLabel") + Me.DateTimeLabel.AutoEllipsis = True + Me.DateTimeLabel.Name = "DateTimeLabel" + ' 'SourceLinkLabel ' resources.ApplyResources(Me.SourceLinkLabel, "SourceLinkLabel") Me.SourceLinkLabel.AutoEllipsis = True + Me.SourceLinkLabel.MaximumSize = New System.Drawing.Size(130, 0) Me.SourceLinkLabel.Name = "SourceLinkLabel" Me.SourceLinkLabel.TabStop = True ' - 'DateTimeLabel - ' - resources.ApplyResources(Me.DateTimeLabel, "DateTimeLabel") - Me.DateTimeLabel.AutoEllipsis = True - Me.DateTimeLabel.Name = "DateTimeLabel" - ' 'StatusText ' resources.ApplyResources(Me.StatusText, "StatusText") Modified: trunk/Tween/Tween.resx =================================================================== --- trunk/Tween/Tween.resx 2010-11-02 05:01:21 UTC (rev 1025) +++ trunk/Tween/Tween.resx 2010-11-02 10:19:22 UTC (rev 1026) @@ -853,7 +853,7 @@ 3, 3, 3, 0 - 155, 14 + 206, 14 0 @@ -1048,7 +1048,7 @@ Off - 292, 3 + 347, 3 3, 3, 3, 0 @@ -1087,13 +1087,13 @@ Off - 336, 3 + 391, 3 3, 3, 3, 0 - 114, 14 + 59, 14 7 @@ -1144,7 +1144,7 @@ 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,116,Absolute,120" /><Rows Styles="Absolute,17,Percent,100" /></TableLayoutSettings> + <?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> SplitContainer2.Panel1 From svnnotify @ sourceforge.jp Tue Nov 2 22:28:19 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Tue, 02 Nov 2010 22:28:19 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwMjddICDjgq/jg6njgqTjgqLjg7Pjg4hTb3Vy?= =?utf-8?b?Y2VVcmzjga7mir3lh7rjgavlpLHmlZfjgZnjgovjgZPjgajjgYzjgYLjgos=?= =?utf-8?b?44OQ44Kw44KS5L+u5q2j?= Message-ID: <1288704499.058307.21854.nullmailer@users.sourceforge.jp> Revision: 1027 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1027 Author: syo68k Date: 2010-11-02 22:28:18 +0900 (Tue, 02 Nov 2010) Log Message: ----------- クライアントSourceUrlの抽出に失敗することがあるバグを修正 Modified Paths: -------------- trunk/Tween/Tween.vb -------------- next part -------------- Modified: trunk/Tween/Tween.vb =================================================================== --- trunk/Tween/Tween.vb 2010-11-02 10:19:22 UTC (rev 1026) +++ trunk/Tween/Tween.vb 2010-11-02 13:28:18 UTC (rev 1027) @@ -4443,7 +4443,7 @@ SourceLinkLabel.Text = "" SourceLinkLabel.Visible = False Else - Dim mc As Match = Regex.Match(_curPost.SourceHtml, ".+)("" rel=""nofollow)?"">") + Dim mc As Match = Regex.Match(_curPost.SourceHtml, ".+?)""") If mc.Success Then SourceLinkLabel.Tag = mc.Groups("sourceurl").Value Else From svnnotify @ sourceforge.jp Tue Nov 2 22:40:42 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Tue, 02 Nov 2010 22:40:42 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwMjhdICBTb3VyY2XjgYx0eHTjga7loLTlkIg=?= =?utf-8?b?44Gr5a++5b+c?= Message-ID: <1288705242.400672.9311.nullmailer@users.sourceforge.jp> Revision: 1028 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1028 Author: syo68k Date: 2010-11-02 22:40:42 +0900 (Tue, 02 Nov 2010) Log Message: ----------- Sourceがtxtの場合に対応 Modified Paths: -------------- trunk/Tween/Tween.vb -------------- next part -------------- Modified: trunk/Tween/Tween.vb =================================================================== --- trunk/Tween/Tween.vb 2010-11-02 13:28:18 UTC (rev 1027) +++ trunk/Tween/Tween.vb 2010-11-02 13:40:42 UTC (rev 1028) @@ -4445,7 +4445,13 @@ Else Dim mc As Match = Regex.Match(_curPost.SourceHtml, ".+?)""") If mc.Success Then + Dim src As String = mc.Groups("sourceurl").Value SourceLinkLabel.Tag = mc.Groups("sourceurl").Value + mc = Regex.Match(src, "^https?://") + If Not mc.Success Then + src = src.Insert(0, "http://twitter.com") + End If + SourceLinkLabel.Tag = src Else SourceLinkLabel.Tag = Nothing End If From svnnotify @ sourceforge.jp Tue Nov 2 23:17:15 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Tue, 02 Nov 2010 23:17:15 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwMjldICDnlLvlg4/jg5fjg6zjg5Pjg6Xjg7w=?= =?utf-8?b?44KSSW5zdGFncmFt44Gr5a++5b+c?= Message-ID: <1288707435.692052.3585.nullmailer@users.sourceforge.jp> Revision: 1029 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1029 Author: syo68k Date: 2010-11-02 23:17:15 +0900 (Tue, 02 Nov 2010) Log Message: ----------- 画像プレビューをInstagramに対応 Modified Paths: -------------- trunk/Tween/Thumbnail.vb -------------- next part -------------- Modified: trunk/Tween/Thumbnail.vb =================================================================== --- trunk/Tween/Thumbnail.vb 2010-11-02 13:40:42 UTC (rev 1028) +++ trunk/Tween/Thumbnail.vb 2010-11-02 14:17:15 UTC (rev 1029) @@ -104,7 +104,8 @@ New ThumbnailService("mypix/shamoji", AddressOf mypix_GetUrl, AddressOf mypix_CreateImage), _ New ThumbnailService("ow.ly", AddressOf Owly_GetUrl, AddressOf Owly_CreateImage), _ New ThumbnailService("vimeo", AddressOf Vimeo_GetUrl, AddressOf Vimeo_CreateImage), _ - New ThumbnailService("cloudfiles", AddressOf CloudFiles_GetUrl, AddressOf CloudFiles_CreateImage) + New ThumbnailService("cloudfiles", AddressOf CloudFiles_GetUrl, AddressOf CloudFiles_CreateImage), _ + New ThumbnailService("instagram", AddressOf instagram_GetUrl, AddressOf instagram_CreateImage) } Public Sub New(ByVal Owner As TweenMain) @@ -1954,4 +1955,62 @@ End Function #End Region +#Region "Instagram" + ''' + ''' URL解析部で呼び出されるサムネイル画像URL作成デリゲート + ''' + ''' Class GetUrlArgs + ''' args.url URL文字列 + ''' args.imglist 解析成功した際にこのリストに元URL、サムネイルURLの形で作成するKeyValuePair + ''' + ''' 成功した場合True,失敗の場合False + ''' args.imglistには呼び出しもとで使用しているimglistをそのまま渡すこと + + Private Function instagram_GetUrl(ByVal args As GetUrlArgs) As Boolean + ' TODO URL判定処理を記述 + Dim mc As Match = Regex.Match(args.url, "^http://instagr.am/p/.+/", RegexOptions.IgnoreCase) + If mc.Success Then + ' TODO 成功時はサムネイルURLを作成しimglist.Addする + args.imglist.Add(New KeyValuePair(Of String, String)(args.url, mc.Value)) + Return True + Else + Return False + End If + End Function + + ''' + ''' BackgroundWorkerから呼び出されるサムネイル画像作成デリゲート + ''' + ''' Class CreateImageArgs + ''' url As KeyValuePair(Of String, String) 元URLとサムネイルURLのKeyValuePair + ''' pics As List(Of KeyValuePair(Of String, Image)) 元URLとサムネイル画像のKeyValuePair + ''' tooltiptext As List(Of KeyValuePair(Of String, String)) 元URLとツールチップテキストのKeyValuePair + ''' errmsg As String 取得に失敗した際のエラーメッセージ + ''' + ''' サムネイル画像作成に成功した場合はTrue,失敗した場合はFalse + ''' なお失敗した場合はargs.errmsgにエラーを表す文字列がセットされる + ''' + Private Function instagram_CreateImage(ByVal args As CreateImageArgs) As Boolean + ' TODO: サムネイル画像読み込み処理を記述します + + Dim src As String = "" + Dim http As New HttpVarious + If http.GetData(args.url.Key, Nothing, src, 0, args.errmsg) Then + Dim mc As Match = Regex.Match(src, ".+)""/>") + '二つ以上キャプチャした場合先頭の一つだけ 一つだけの場合はユーザーアイコンしか取れなかった + If mc.success Then + Dim _img As Image = http.GetImage(mc.Groups("url").Value, args.url.Key, 0, args.errmsg) + If _img Is Nothing Then Return False + args.pics.Add(New KeyValuePair(Of String, Image)(args.url.Key, _img)) + args.tooltiptext.Add(New KeyValuePair(Of String, String)(args.url.Key, "")) + Return True + Else + args.errmsg = "Pattern NotFound" + End If + End If + Return False + End Function + +#End Region + End Class \ No newline at end of file From svnnotify @ sourceforge.jp Tue Nov 2 23:36:30 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Tue, 02 Nov 2010 23:36:30 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwMzBdICBodG1s5qeL6YCg5aSJ5pu044Gr44KI?= =?utf-8?b?44KKcGl4aXbjga7nlLvlg4/jg5fjg6zjg5Pjg6Xjg7zjgYzli5XkvZzjgZc=?= =?utf-8?b?44Gq44GP44Gq44Gj44Gm44GE44Gf44Gu44KS5L+u5q2j?= Message-ID: <1288708590.394304.1119.nullmailer@users.sourceforge.jp> Revision: 1030 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1030 Author: syo68k Date: 2010-11-02 23:36:30 +0900 (Tue, 02 Nov 2010) Log Message: ----------- html構造変更によりpixivの画像プレビューが動作しなくなっていたのを修正 Modified Paths: -------------- trunk/Tween/Thumbnail.vb -------------- next part -------------- Modified: trunk/Tween/Thumbnail.vb =================================================================== --- trunk/Tween/Thumbnail.vb 2010-11-02 14:17:15 UTC (rev 1029) +++ trunk/Tween/Thumbnail.vb 2010-11-02 14:36:30 UTC (rev 1030) @@ -1285,14 +1285,14 @@ Else Dim http As New HttpVarious If http.GetData(Regex.Replace(mc.Groups(0).Value, "amp;", ""), Nothing, src, 0, args.errmsg) Then - Dim _mc As Match = Regex.Match(src, mc.Result("http://img([0-9]+)\.pixiv\.net/img/.+/${illustId}_s\.([a-zA-Z]+)")) + Dim _mc As Match = Regex.Match(src, mc.Result("http://img([0-9]+)\.pixiv\.net/img/.+/${illustId}_[ms]\.([a-zA-Z]+)")) If _mc.Success Then Dim _img As Image = http.GetImage(_mc.Value, args.url.Key, 0, args.errmsg) If _img Is Nothing Then Return False args.pics.Add(New KeyValuePair(Of String, Image)(args.url.Key, _img)) args.tooltiptext.Add(New KeyValuePair(Of String, String)(args.url.Key, "")) Return True - ElseIf Regex.Match(src, "メール認証が必要です").Success Then + ElseIf Regex.Match(src, "ログインしてください").Success Then args.errmsg = "NotSupported" Else args.errmsg = "Pattern NotFound" From svnnotify @ sourceforge.jp Wed Nov 3 00:01:56 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Wed, 03 Nov 2010 00:01:56 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwMzFdICBDaGFuZ2VMb2fjgb7jgajjgoE=?= Message-ID: <1288710116.427288.13683.nullmailer@users.sourceforge.jp> Revision: 1031 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1031 Author: syo68k Date: 2010-11-03 00:01:56 +0900 (Wed, 03 Nov 2010) Log Message: ----------- ChangeLogまとめ Modified Paths: -------------- trunk/Tween/Resources/ChangeLog.txt -------------- next part -------------- Modified: trunk/Tween/Resources/ChangeLog.txt =================================================================== --- trunk/Tween/Resources/ChangeLog.txt 2010-11-02 14:36:30 UTC (rev 1030) +++ trunk/Tween/Resources/ChangeLog.txt 2010-11-02 15:01:56 UTC (rev 1031) @@ -1,5 +1,15 @@ ?更新履歴 +==== Ver 0.9.6.3(2010/11/03) + * リスト表示の際にクリッピングが行われていなかったのを修正 + * 折り返し方法変更など表示周り再調整。リスト表示が真っ白になる方はご連絡ください。 + * リスト選択画面のタブオーダーを調整した + * 振り分けルール作成からタブ管理画面まで遷移すると一部メニューが無効になるバグ修正 + * 発言詳細の日時とsourceのレイアウト見直し + * クライアントSourceUrlの抽出に失敗することがあるバグを修正 + * Sourceがtxtの場合に対応 + * 画像プレビューをInstagramに対応 + * pixivのhtml構造変更に対応 ==== Ver 0.9.6.2(2010/11/02) * 高速化など表示周りの再調整。リスト表示が真っ白になる方はご連絡ください。 * リストアイコンを縦方向にセンタリングして描画するように変更 From svnnotify @ sourceforge.jp Wed Nov 3 03:09:58 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Wed, 03 Nov 2010 03:09:58 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwMzJdICAwOTYz6ZaL55m654mI44Oq44Oq44O8?= =?utf-8?b?44K5?= Message-ID: <1288721398.251262.4110.nullmailer@users.sourceforge.jp> Revision: 1032 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1032 Author: syo68k Date: 2010-11-03 03:09:57 +0900 (Wed, 03 Nov 2010) Log Message: ----------- 0963開発版リリース Modified Paths: -------------- trunk/Tween/My Project/AssemblyInfo.vb -------------- next part -------------- Modified: trunk/Tween/My Project/AssemblyInfo.vb =================================================================== --- trunk/Tween/My Project/AssemblyInfo.vb 2010-11-02 15:01:56 UTC (rev 1031) +++ trunk/Tween/My Project/AssemblyInfo.vb 2010-11-02 18:09:57 UTC (rev 1032) @@ -55,5 +55,5 @@ ' - + From svnnotify @ sourceforge.jp Thu Nov 4 09:36:51 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 04 Nov 2010 09:36:51 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwMzNdICA0OHg0OOOCouOCpOOCs+ODs+ODog==?= =?utf-8?b?44O844OJ44GnUlTjgZfjgZ/kurrjgpLoppboqo3jgZfjgaXjgonjgYTllY8=?= =?utf-8?b?6aGM44Gr5a++5Yem77yI5YaN77yJ?= Message-ID: <1288831011.887966.987.nullmailer@users.sourceforge.jp> Revision: 1033 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1033 Author: syo68k Date: 2010-11-04 09:36:51 +0900 (Thu, 04 Nov 2010) Log Message: ----------- 48x48アイコンモードでRTした人を視認しづらい問題に対処(再) Modified Paths: -------------- trunk/Tween/Tween.vb -------------- next part -------------- Modified: trunk/Tween/Tween.vb =================================================================== --- trunk/Tween/Tween.vb 2010-11-02 18:09:57 UTC (rev 1032) +++ trunk/Tween/Tween.vb 2010-11-04 00:36:51 UTC (rev 1033) @@ -3793,7 +3793,7 @@ Dim sitem() As String = {"", Post.Nickname, Post.Data, Post.PDate.ToString(SettingDialog.DateTimeFormat), Post.Name, "", mk, Post.Source} itm = New ListViewItem(sitem, Post.ImageUrl) Else - Dim sitem() As String = {"", Post.Nickname, Post.Data, Post.PDate.ToString(SettingDialog.DateTimeFormat), Post.Name + "(RT:" + Post.RetweetedBy + ")", "", mk, Post.Source} + Dim sitem() As String = {"", Post.Nickname, Post.Data, Post.PDate.ToString(SettingDialog.DateTimeFormat), Post.Name + Environment.NewLine + "(RT:" + Post.RetweetedBy + ")", "", mk, Post.Source} itm = New ListViewItem(sitem, Post.ImageUrl) End If From svnnotify @ sourceforge.jp Thu Nov 4 13:14:58 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 04 Nov 2010 13:14:58 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwMzRdICDpgKPmipXjg6Ljg7zjg4njgafmipU=?= =?utf-8?b?56i/5aSx5pWX44OA44Kk44Ki44Ot44Kw44KS44Kt44Oj44Oz44K744Or44GX?= =?utf-8?b?44Gf5aC05ZCI44GrU3RhdHVzVGV4dOOBruiDjOaZr+iJsuOBjOaIu+OCiQ==?= =?utf-8?b?44Gq44GE44Gu44KS5L+u5q2j?= Message-ID: <1288844098.958069.3528.nullmailer@users.sourceforge.jp> Revision: 1034 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1034 Author: syo68k Date: 2010-11-04 13:14:58 +0900 (Thu, 04 Nov 2010) Log Message: ----------- 連投モードで投稿失敗ダイアログをキャンセルした場合にStatusTextの背景色が戻らないのを修正 Modified Paths: -------------- trunk/Tween/Tween.vb -------------- next part -------------- Modified: trunk/Tween/Tween.vb =================================================================== --- trunk/Tween/Tween.vb 2010-11-04 00:36:51 UTC (rev 1033) +++ trunk/Tween/Tween.vb 2010-11-04 04:14:58 UTC (rev 1034) @@ -2334,6 +2334,11 @@ args.type = WORKERTYPE.PostMessage args.status = rslt.status RunAsync(args) + Else + If ToolStripFocusLockMenuItem.Checked Then + '連投モードのときだけEnterイベントが起きないので強制的に背景色を戻す + StatusText_Enter(StatusText, New EventArgs) + End If End If End If If rslt.retMsg.Length = 0 AndAlso SettingDialog.PostAndGet Then GetTimeline(WORKERTYPE.Timeline, 1, 0, "") From svnnotify @ sourceforge.jp Thu Nov 4 20:26:22 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 04 Nov 2010 20:26:22 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwMzVdICDoqbPntLDooajnpLrjga5Tb3VyY2U=?= =?utf-8?b?44Go5pel5pmC5YWl44KM5pu/44GI?= Message-ID: <1288869982.189962.24282.nullmailer@users.sourceforge.jp> Revision: 1035 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1035 Author: syo68k Date: 2010-11-04 20:26:22 +0900 (Thu, 04 Nov 2010) Log Message: ----------- 詳細表示のSourceと日時入れ替え Modified Paths: -------------- trunk/Tween/Tween.Designer.vb trunk/Tween/Tween.resx -------------- next part -------------- Modified: trunk/Tween/Tween.Designer.vb =================================================================== --- trunk/Tween/Tween.Designer.vb 2010-11-04 04:14:58 UTC (rev 1034) +++ trunk/Tween/Tween.Designer.vb 2010-11-04 11:26:22 UTC (rev 1035) @@ -633,8 +633,8 @@ Me.TableLayoutPanel1.Controls.Add(Me.UserPicture, 0, 0) Me.TableLayoutPanel1.Controls.Add(Me.NameLabel, 1, 0) Me.TableLayoutPanel1.Controls.Add(Me.PostBrowser, 1, 1) - Me.TableLayoutPanel1.Controls.Add(Me.DateTimeLabel, 2, 0) - Me.TableLayoutPanel1.Controls.Add(Me.SourceLinkLabel, 3, 0) + Me.TableLayoutPanel1.Controls.Add(Me.DateTimeLabel, 3, 0) + Me.TableLayoutPanel1.Controls.Add(Me.SourceLinkLabel, 2, 0) Me.TableLayoutPanel1.Name = "TableLayoutPanel1" ' 'UserPicture Modified: trunk/Tween/Tween.resx =================================================================== --- trunk/Tween/Tween.resx 2010-11-04 04:14:58 UTC (rev 1034) +++ trunk/Tween/Tween.resx 2010-11-04 11:26:22 UTC (rev 1035) @@ -1048,7 +1048,7 @@ Off - 347, 3 + 412, 3 3, 3, 3, 0 @@ -1087,7 +1087,7 @@ Off - 391, 3 + 271, 3 3, 3, 3, 0 @@ -1144,7 +1144,7 @@ 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> + <?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="3" ColumnSpan="1" /><Control Name="SourceLinkLabel" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /></Controls><Columns Styles="Absolute,56,Percent,100,AutoSize,0,Absolute,120" /><Rows Styles="Absolute,17,Percent,100" /></TableLayoutSettings> SplitContainer2.Panel1 From svnnotify @ sourceforge.jp Thu Nov 4 20:40:10 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 04 Nov 2010 20:40:10 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwMzZdICBTb3VyY2Xjgajml6XmmYLkvY3nva4=?= =?utf-8?b?5oi744GX?= Message-ID: <1288870810.792749.12835.nullmailer@users.sourceforge.jp> Revision: 1036 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1036 Author: syo68k Date: 2010-11-04 20:40:10 +0900 (Thu, 04 Nov 2010) Log Message: ----------- Sourceと日時位置戻し Modified Paths: -------------- trunk/Tween/Tween.Designer.vb trunk/Tween/Tween.resx -------------- next part -------------- Modified: trunk/Tween/Tween.Designer.vb =================================================================== --- trunk/Tween/Tween.Designer.vb 2010-11-04 11:26:22 UTC (rev 1035) +++ trunk/Tween/Tween.Designer.vb 2010-11-04 11:40:10 UTC (rev 1036) @@ -633,8 +633,8 @@ Me.TableLayoutPanel1.Controls.Add(Me.UserPicture, 0, 0) Me.TableLayoutPanel1.Controls.Add(Me.NameLabel, 1, 0) Me.TableLayoutPanel1.Controls.Add(Me.PostBrowser, 1, 1) - Me.TableLayoutPanel1.Controls.Add(Me.DateTimeLabel, 3, 0) - Me.TableLayoutPanel1.Controls.Add(Me.SourceLinkLabel, 2, 0) + Me.TableLayoutPanel1.Controls.Add(Me.DateTimeLabel, 2, 0) + Me.TableLayoutPanel1.Controls.Add(Me.SourceLinkLabel, 3, 0) Me.TableLayoutPanel1.Name = "TableLayoutPanel1" ' 'UserPicture Modified: trunk/Tween/Tween.resx =================================================================== --- trunk/Tween/Tween.resx 2010-11-04 11:26:22 UTC (rev 1035) +++ trunk/Tween/Tween.resx 2010-11-04 11:40:10 UTC (rev 1036) @@ -1048,7 +1048,7 @@ Off - 412, 3 + 347, 3 3, 3, 3, 0 @@ -1087,7 +1087,7 @@ Off - 271, 3 + 391, 3 3, 3, 3, 0 @@ -1144,7 +1144,7 @@ 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="3" ColumnSpan="1" /><Control Name="SourceLinkLabel" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /></Controls><Columns Styles="Absolute,56,Percent,100,AutoSize,0,Absolute,120" /><Rows Styles="Absolute,17,Percent,100" /></TableLayoutSettings> + <?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> SplitContainer2.Panel1 From svnnotify @ sourceforge.jp Thu Nov 4 20:56:25 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 04 Nov 2010 20:56:25 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwMzddICDjgrnjg4bjg7zjgr/jgrnjg5Djg7w=?= =?utf-8?b?44GuQVBJ6KGo56S644Go44Ot44Kw6KGo56S644Gu5L2N572u44KS5YWl44KM?= =?utf-8?b?5pu/44GI?= Message-ID: <1288871785.796369.6987.nullmailer@users.sourceforge.jp> Revision: 1037 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1037 Author: anis774 Date: 2010-11-04 20:56:25 +0900 (Thu, 04 Nov 2010) Log Message: ----------- ステータスバーのAPI表示とログ表示の位置を入れ替え Modified Paths: -------------- trunk/Tween/Tween.vb -------------- next part -------------- Modified: trunk/Tween/Tween.vb =================================================================== --- trunk/Tween/Tween.vb 2010-11-04 11:40:10 UTC (rev 1036) +++ trunk/Tween/Tween.vb 2010-11-04 11:56:25 UTC (rev 1037) @@ -9205,7 +9205,7 @@ Me._apiGauge.Control.Margin = New Padding(0, 3, 0, 2) Me._apiGauge.GaugeHeight = 8 AddHandler Me._apiGauge.Control.DoubleClick, AddressOf Me.ApiInfoMenuItem_Click - Me.StatusStrip1.Items.Insert(1, Me._apiGauge) + Me.StatusStrip1.Items.Insert(2, Me._apiGauge) End Sub Private Sub _hookGlobalHotkey_HotkeyPressed(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles _hookGlobalHotkey.HotkeyPressed From svnnotify @ sourceforge.jp Thu Nov 4 21:19:28 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 04 Nov 2010 21:19:28 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwMzhdICDjgrnjg4bjg7zjgr/jgrnjg5Djg7w=?= =?utf-8?b?44Gu44Oc44O844OA44O844Gu5L2N572u44KS5L+u5q2j?= Message-ID: <1288873168.191134.13788.nullmailer@users.sourceforge.jp> Revision: 1038 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1038 Author: anis774 Date: 2010-11-04 21:19:28 +0900 (Thu, 04 Nov 2010) Log Message: ----------- ステータスバーのボーダーの位置を修正 Modified Paths: -------------- trunk/Tween/Tween.Designer.vb trunk/Tween/Tween.resx -------------- next part -------------- Modified: trunk/Tween/Tween.Designer.vb =================================================================== --- trunk/Tween/Tween.Designer.vb 2010-11-04 11:56:25 UTC (rev 1037) +++ trunk/Tween/Tween.Designer.vb 2010-11-04 12:19:28 UTC (rev 1038) @@ -266,6 +266,7 @@ 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.ToolStripStatusLabel1 = New System.Windows.Forms.ToolStripStatusLabel() Me.StatusLabel = New Tween.TweenCustomControl.ToolStripLabelHistory() Me.ToolStripContainer1.BottomToolStripPanel.SuspendLayout() Me.ToolStripContainer1.ContentPanel.SuspendLayout() @@ -320,7 +321,7 @@ 'StatusStrip1 ' resources.ApplyResources(Me.StatusStrip1, "StatusStrip1") - Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.StatusLabelUrl, Me.StatusLabel, Me.HashStripSplitButton}) + Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.StatusLabelUrl, Me.StatusLabel, Me.ToolStripStatusLabel1, Me.HashStripSplitButton}) Me.StatusStrip1.Name = "StatusStrip1" Me.StatusStrip1.ShowItemToolTips = True ' @@ -1662,9 +1663,15 @@ ' Me.OpenFileDialog1.FileName = "OpenFileDialog1" ' + 'ToolStripStatusLabel1 + ' + resources.ApplyResources(Me.ToolStripStatusLabel1, "ToolStripStatusLabel1") + Me.ToolStripStatusLabel1.BorderSides = System.Windows.Forms.ToolStripStatusLabelBorderSides.Right + Me.ToolStripStatusLabel1.Name = "ToolStripStatusLabel1" + ' 'StatusLabel ' - Me.StatusLabel.BorderSides = CType((System.Windows.Forms.ToolStripStatusLabelBorderSides.Left Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Right), System.Windows.Forms.ToolStripStatusLabelBorderSides) + Me.StatusLabel.BorderSides = System.Windows.Forms.ToolStripStatusLabelBorderSides.Right Me.StatusLabel.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text Me.StatusLabel.DoubleClickEnabled = True Me.StatusLabel.Name = "StatusLabel" @@ -1959,5 +1966,6 @@ Friend WithEvents ListManageUserContextToolStripMenuItem3 As System.Windows.Forms.ToolStripMenuItem Friend WithEvents ListManageToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem Friend WithEvents SourceLinkLabel As System.Windows.Forms.LinkLabel + Friend WithEvents ToolStripStatusLabel1 As System.Windows.Forms.ToolStripStatusLabel End Class Modified: trunk/Tween/Tween.resx =================================================================== --- trunk/Tween/Tween.resx 2010-11-04 11:56:25 UTC (rev 1037) +++ trunk/Tween/Tween.resx 2010-11-04 12:19:28 UTC (rev 1038) @@ -130,7 +130,7 @@ - 320, 22 + 287, 22 ToolStripStatusLabel1 @@ -147,6 +147,12 @@ Starting... + + False + + + 2, 22 + 263, 17 @@ -3714,6 +3720,12 @@ System.Windows.Forms.ToolTip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + ToolStripStatusLabel1 + + + System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + StatusLabel From svnnotify @ sourceforge.jp Sat Nov 6 01:02:44 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Sat, 06 Nov 2010 01:02:44 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwMzldICBUaXBzT2ZUaGVEYXnjgpLkvZzmiJA=?= Message-ID: <1288972964.138220.30353.nullmailer@users.sourceforge.jp> Revision: 1039 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1039 Author: syo68k Date: 2010-11-06 01:02:44 +0900 (Sat, 06 Nov 2010) Log Message: ----------- TipsOfTheDayを作成 Modified Paths: -------------- trunk/Tween/Tween.vbproj Added Paths: ----------- trunk/Tween/tips.txt -------------- next part -------------- Modified: trunk/Tween/Tween.vbproj =================================================================== --- trunk/Tween/Tween.vbproj 2010-11-04 12:19:28 UTC (rev 1038) +++ trunk/Tween/Tween.vbproj 2010-11-05 16:02:44 UTC (rev 1039) @@ -477,6 +477,7 @@ + Added: trunk/Tween/tips.txt =================================================================== (Binary files differ) Property changes on: trunk/Tween/tips.txt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream From svnnotify @ sourceforge.jp Sat Nov 6 19:14:23 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Sat, 06 Nov 2010 19:14:23 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwNDBdICB0aXBz44GE44GP44Gk44GL6L+95Yqg?= Message-ID: <1289038463.303236.21445.nullmailer@users.sourceforge.jp> Revision: 1040 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1040 Author: syo68k Date: 2010-11-06 19:14:22 +0900 (Sat, 06 Nov 2010) Log Message: ----------- tipsいくつか追加 Modified Paths: -------------- trunk/Tween/tips.txt -------------- next part -------------- Modified: trunk/Tween/tips.txt =================================================================== (Binary files differ) From svnnotify @ sourceforge.jp Sat Nov 6 21:06:14 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Sat, 06 Nov 2010 21:06:14 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwNDFdIFJlY2VudCwgTWVudGlvbnPjga7mm7Q=?= =?utf-8?b?5paw5Lit44Gu5paH44GM5Ye644Gm44GE44Gq44GL44Gj44Gf44Gu44KS5L+u?= =?utf-8?b?5q2j?= Message-ID: <1289045174.525904.22181.nullmailer@users.sourceforge.jp> Revision: 1041 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1041 Author: f_swallow Date: 2010-11-06 21:06:14 +0900 (Sat, 06 Nov 2010) Log Message: ----------- Recent,Mentionsの更新中の文が出ていなかったのを修正 Modified Paths: -------------- trunk/Tween/Tween.vb -------------- next part -------------- Modified: trunk/Tween/Tween.vb =================================================================== --- trunk/Tween/Tween.vb 2010-11-06 10:14:22 UTC (rev 1040) +++ trunk/Tween/Tween.vb 2010-11-06 12:06:14 UTC (rev 1041) @@ -1866,6 +1866,7 @@ If args.type <> WORKERTYPE.OpenUri Then bw.ReportProgress(0, "") 'Notifyアイコンアニメーション開始 Select Case args.type Case WORKERTYPE.Timeline, WORKERTYPE.Reply + bw.ReportProgress(50, MakeStatusMessage(args, False)) ret = tw.GetTimelineApi(read, args.type, args.page = -1, _initial) '新着時未読クリア If ret = "" AndAlso args.type = WORKERTYPE.Timeline AndAlso SettingDialog.ReadOldPosts Then From svnnotify @ sourceforge.jp Sat Nov 6 22:27:03 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Sat, 06 Nov 2010 22:27:03 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwNDJdICB0aXBz6L+95Yqg?= Message-ID: <1289050023.574536.28861.nullmailer@users.sourceforge.jp> Revision: 1042 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1042 Author: syo68k Date: 2010-11-06 22:27:03 +0900 (Sat, 06 Nov 2010) Log Message: ----------- tips追加 Modified Paths: -------------- trunk/Tween/tips.txt -------------- next part -------------- Modified: trunk/Tween/tips.txt =================================================================== (Binary files differ) From svnnotify @ sourceforge.jp Sat Nov 6 22:53:09 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Sat, 06 Nov 2010 22:53:09 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwNDNdICBVUkzjga7jgq/jgqjjg6rjgasgQCA=?= =?utf-8?b?44KS5ZCr44KT44Gn44GE44KL5aC05ZCI44Gr5q2j44GX44GP6Ieq5YuV5Zyn?= =?utf-8?b?57iu44Gn44GN44Gq44GE44Gu44KS5L+u5q2j?= Message-ID: <1289051589.758306.5729.nullmailer@users.sourceforge.jp> Revision: 1043 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1043 Author: syo68k Date: 2010-11-06 22:53:09 +0900 (Sat, 06 Nov 2010) Log Message: ----------- URLのクエリに@を含んでいる場合に正しく自動圧縮できないのを修正 Modified Paths: -------------- trunk/Tween/Tween.vb -------------- next part -------------- Modified: trunk/Tween/Tween.vb =================================================================== --- trunk/Tween/Tween.vb 2010-11-06 13:27:03 UTC (rev 1042) +++ trunk/Tween/Tween.vb 2010-11-06 13:53:09 UTC (rev 1043) @@ -7484,7 +7484,7 @@ "(?(?https?://)" + _ "(?(?:[\.-]|[^\p{P}\s])+\.[a-z]{2,}(?::[0-9]+)?)" + _ "(?/[a-z0-9!*'();:&=+$/%#\[\]\-_.,~@^]*[a-z0-9)=#/]?)?" + _ - "(?\?[a-z0-9!*'();:&=+$/%#\[\]\-_.,~]*[a-z0-9_&=#/])?)" + "(?\?[a-z0-9!*'();:&=+$/%#\[\]\-_.,~@]*[a-z0-9_&=#/])?)" Const nico As String = "^https?://[a-z]+\.(nicovideo|niconicommons|nicolive)\.jp/[a-z]+/[a-z0-9]+$" From svnnotify @ sourceforge.jp Sun Nov 7 16:04:53 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Sun, 07 Nov 2010 16:04:53 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwNDRdICDjg7tUd2l0dGVy44GuVVJM44GrIyE=?= =?utf-8?b?44GM5ZCr44G+44KM44Gm44GE44KL5aC05ZCI44Gr5a++5b+c?= Message-ID: <1289113493.085447.25857.nullmailer@users.sourceforge.jp> Revision: 1044 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1044 Author: f_swallow Date: 2010-11-07 16:04:52 +0900 (Sun, 07 Nov 2010) Log Message: ----------- ・TwitterのURLに#!が含まれている場合に対応 ・メニューの削除のEnabledがおかしかったのを修正 Modified Paths: -------------- trunk/Tween/Tween.vb -------------- next part -------------- Modified: trunk/Tween/Tween.vb =================================================================== --- trunk/Tween/Tween.vb 2010-11-06 13:53:09 UTC (rev 1043) +++ trunk/Tween/Tween.vb 2010-11-07 07:04:52 UTC (rev 1044) @@ -7826,7 +7826,7 @@ ' URLコピーの項目の表示/非表示 If PostBrowser.StatusText.StartsWith("http") Then Me._postBrowserStatusText = PostBrowser.StatusText - Dim m As Match = Regex.Match(Me._postBrowserStatusText, "^https?://twitter.com/(?[a-zA-Z0-9_]+)$") + Dim m As Match = Regex.Match(Me._postBrowserStatusText, "^https?://twitter.com/(#!/)?(?[a-zA-Z0-9_]+)$") UrlCopyContextMenuItem.Enabled = True If m.Success AndAlso IsTwitterId(m.Result("${name}")) Then FollowContextMenuItem.Enabled = True @@ -7873,7 +7873,7 @@ SelectionCopyContextMenuItem.Enabled = True End If '発言内に自分以外のユーザーが含まれてればフォロー状態全表示を有効に - Dim ma As MatchCollection = Regex.Matches(Me.PostBrowser.DocumentText, "href=""https?://twitter.com/(?[a-zA-Z0-9_]+)""") + Dim ma As MatchCollection = Regex.Matches(Me.PostBrowser.DocumentText, "href=""https?://twitter.com/(#!/)?(?[a-zA-Z0-9_]+)""") Dim fAllFlag As Boolean = False For Each mu As Match In ma If mu.Result("${name}").ToLower <> tw.Username.ToLower Then @@ -8543,21 +8543,21 @@ End Function Private Sub FollowContextMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FollowContextMenuItem.Click - Dim m As Match = Regex.Match(Me._postBrowserStatusText, "^https?://twitter.com/(?[a-zA-Z0-9_]+)$") + Dim m As Match = Regex.Match(Me._postBrowserStatusText, "^https?://twitter.com/(#!/)?(?[a-zA-Z0-9_]+)$") If m.Success AndAlso IsTwitterId(m.Result("${name}")) Then FollowCommand(m.Result("${name}")) End If End Sub Private Sub RemoveContextMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RemoveContextMenuItem.Click - Dim m As Match = Regex.Match(Me._postBrowserStatusText, "^https?://twitter.com/(?[a-zA-Z0-9_]+)$") + Dim m As Match = Regex.Match(Me._postBrowserStatusText, "^https?://twitter.com/(#!/)?(?[a-zA-Z0-9_]+)$") If m.Success AndAlso IsTwitterId(m.Result("${name}")) Then RemoveCommand(m.Result("${name}"), False) End If End Sub Private Sub FriendshipContextMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FriendshipContextMenuItem.Click - Dim m As Match = Regex.Match(Me._postBrowserStatusText, "^https?://twitter.com/(?[a-zA-Z0-9_]+)$") + Dim m As Match = Regex.Match(Me._postBrowserStatusText, "^https?://twitter.com/(#!/)?(?[a-zA-Z0-9_]+)$") If m.Success AndAlso IsTwitterId(m.Result("${name}")) Then ShowFriendship(m.Result("${name}")) End If @@ -8575,14 +8575,14 @@ End Sub Private Sub ShowUserStatusContextMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ShowUserStatusContextMenuItem.Click - Dim m As Match = Regex.Match(Me._postBrowserStatusText, "^https?://twitter.com/(?[a-zA-Z0-9_]+)$") + Dim m As Match = Regex.Match(Me._postBrowserStatusText, "^https?://twitter.com/(#!/)?(?[a-zA-Z0-9_]+)$") If m.Success AndAlso IsTwitterId(m.Result("${name}")) Then ShowUserStatus(m.Result("${name}")) End If End Sub Private Sub SearchPostsDetailToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SearchPostsDetailToolStripMenuItem.Click - Dim m As Match = Regex.Match(Me._postBrowserStatusText, "^https?://twitter.com/(?[a-zA-Z0-9_]+)$") + Dim m As Match = Regex.Match(Me._postBrowserStatusText, "^https?://twitter.com/(#!/)?(?[a-zA-Z0-9_]+)$") If m.Success AndAlso IsTwitterId(m.Result("${name}")) Then AddNewTabForSearch("from:" + m.Result("${name}")) End If @@ -8721,7 +8721,7 @@ End Sub Private Sub IdFilterAddMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles IdFilterAddMenuItem.Click - Dim m As Match = Regex.Match(Me._postBrowserStatusText, "^https?://twitter.com/(?[a-zA-Z0-9_]+)$") + Dim m As Match = Regex.Match(Me._postBrowserStatusText, "^https?://twitter.com/(#!/)?(?[a-zA-Z0-9_]+)$") If m.Success AndAlso IsTwitterId(m.Result("${name}")) Then Dim tabName As String = "" @@ -8777,7 +8777,7 @@ Dim menuItem As ToolStripMenuItem = DirectCast(sender, ToolStripMenuItem) If menuItem.Owner Is Me.ContextMenuPostBrowser Then - Dim m As Match = Regex.Match(Me._postBrowserStatusText, "^https?://twitter.com/(?[a-zA-Z0-9_]+)$") + Dim m As Match = Regex.Match(Me._postBrowserStatusText, "^https?://twitter.com/(#!/)?(?[a-zA-Z0-9_]+)$") If m.Success AndAlso IsTwitterId(m.Result("${name}")) Then user = m.Result("${name}") Else @@ -8966,7 +8966,7 @@ Me.UnreadOpMenuItem.Enabled = False Me.ShowProfMenuItem.Enabled = False Me.ToolStripMenuItem9.Enabled = False - Me.DelOpMenuItem.Enabled = False + Me.RtCountMenuItem.Enabled = False Else Me.ReplyOpMenuItem.Enabled = True Me.ReplyAllOpMenuItem.Enabled = True @@ -8982,7 +8982,7 @@ Me.UnreadOpMenuItem.Enabled = True Me.ShowProfMenuItem.Enabled = True Me.ToolStripMenuItem9.Enabled = True - Me.DelOpMenuItem.Enabled = True + Me.RtCountMenuItem.Enabled = True End If End Sub From svnnotify @ sourceforge.jp Sun Nov 7 16:41:35 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Sun, 07 Nov 2010 16:41:35 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwNDVdICDjg7vjgrPjg7zjg4njgpLmlbTnkIY=?= Message-ID: <1289115695.838045.24152.nullmailer@users.sourceforge.jp> Revision: 1045 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1045 Author: f_swallow Date: 2010-11-07 16:41:35 +0900 (Sun, 07 Nov 2010) Log Message: ----------- ・コードを整理 ・漏れていた部分を修正 Modified Paths: -------------- trunk/Tween/Tween.vb -------------- next part -------------- Modified: trunk/Tween/Tween.vb =================================================================== --- trunk/Tween/Tween.vb 2010-11-07 07:04:52 UTC (rev 1044) +++ trunk/Tween/Tween.vb 2010-11-07 07:41:35 UTC (rev 1045) @@ -7826,9 +7826,9 @@ ' URLコピーの項目の表示/非表示 If PostBrowser.StatusText.StartsWith("http") Then Me._postBrowserStatusText = PostBrowser.StatusText - Dim m As Match = Regex.Match(Me._postBrowserStatusText, "^https?://twitter.com/(#!/)?(?[a-zA-Z0-9_]+)$") + Dim name As String = GetUserId() UrlCopyContextMenuItem.Enabled = True - If m.Success AndAlso IsTwitterId(m.Result("${name}")) Then + If name IsNot Nothing Then FollowContextMenuItem.Enabled = True RemoveContextMenuItem.Enabled = True FriendshipContextMenuItem.Enabled = True @@ -8223,7 +8223,7 @@ End If 'その他のリンク(@IDなど)を置き換える - status = Regex.Replace(status, "@[^""]+)""[^>]*>(?[^<]+)", "${url}") + status = Regex.Replace(status, "@[^""]+)""[^>]*>(?[^<]+)", "${url}") 'ハッシュタグ status = Regex.Replace(status, "[^""]+)""[^>]*>(?[^<]+)", "${link}") '
タグ除去 @@ -8542,29 +8542,32 @@ Return Not Regex.Match(name, "^(about|jobs|tos|privacy)$").Success End Function - Private Sub FollowContextMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FollowContextMenuItem.Click + Private Function GetUserId() As String Dim m As Match = Regex.Match(Me._postBrowserStatusText, "^https?://twitter.com/(#!/)?(?[a-zA-Z0-9_]+)$") If m.Success AndAlso IsTwitterId(m.Result("${name}")) Then - FollowCommand(m.Result("${name}")) + Return m.Result("${name}") + Else + Return Nothing End If + End Function + + Private Sub FollowContextMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FollowContextMenuItem.Click + Dim name As String = GetUserId() + If name IsNot Nothing Then FollowCommand(name) End Sub Private Sub RemoveContextMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RemoveContextMenuItem.Click - Dim m As Match = Regex.Match(Me._postBrowserStatusText, "^https?://twitter.com/(#!/)?(?[a-zA-Z0-9_]+)$") - If m.Success AndAlso IsTwitterId(m.Result("${name}")) Then - RemoveCommand(m.Result("${name}"), False) - End If + Dim name As String = GetUserId() + If name IsNot Nothing Then RemoveCommand(name, False) End Sub Private Sub FriendshipContextMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FriendshipContextMenuItem.Click - Dim m As Match = Regex.Match(Me._postBrowserStatusText, "^https?://twitter.com/(#!/)?(?[a-zA-Z0-9_]+)$") - If m.Success AndAlso IsTwitterId(m.Result("${name}")) Then - ShowFriendship(m.Result("${name}")) - End If + Dim name As String = GetUserId() + If name IsNot Nothing Then ShowFriendship(name) End Sub Private Sub FriendshipAllMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FriendshipAllMenuItem.Click - Dim ma As MatchCollection = Regex.Matches(Me.PostBrowser.DocumentText, "href=""https?://twitter.com/(?[a-zA-Z0-9_]+)""") + Dim ma As MatchCollection = Regex.Matches(Me.PostBrowser.DocumentText, "href=""https?://twitter.com/(#!/)?(?[a-zA-Z0-9_]+)""") Dim ids As New List(Of String) For Each mu As Match In ma If mu.Result("${name}").ToLower <> tw.Username.ToLower Then @@ -8575,17 +8578,13 @@ End Sub Private Sub ShowUserStatusContextMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ShowUserStatusContextMenuItem.Click - Dim m As Match = Regex.Match(Me._postBrowserStatusText, "^https?://twitter.com/(#!/)?(?[a-zA-Z0-9_]+)$") - If m.Success AndAlso IsTwitterId(m.Result("${name}")) Then - ShowUserStatus(m.Result("${name}")) - End If + Dim name As String = GetUserId() + If name IsNot Nothing Then ShowUserStatus(name) End Sub Private Sub SearchPostsDetailToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SearchPostsDetailToolStripMenuItem.Click - Dim m As Match = Regex.Match(Me._postBrowserStatusText, "^https?://twitter.com/(#!/)?(?[a-zA-Z0-9_]+)$") - If m.Success AndAlso IsTwitterId(m.Result("${name}")) Then - AddNewTabForSearch("from:" + m.Result("${name}")) - End If + Dim name As String = GetUserId() + If name IsNot Nothing Then AddNewTabForSearch("from:" + name) End Sub Private Sub IdeographicSpaceToSpaceToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles IdeographicSpaceToSpaceToolStripMenuItem.Click @@ -8721,8 +8720,8 @@ End Sub Private Sub IdFilterAddMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles IdFilterAddMenuItem.Click - Dim m As Match = Regex.Match(Me._postBrowserStatusText, "^https?://twitter.com/(#!/)?(?[a-zA-Z0-9_]+)$") - If m.Success AndAlso IsTwitterId(m.Result("${name}")) Then + Dim name As String = GetUserId() + If name IsNot Nothing Then Dim tabName As String = "" '未選択なら処理終了 @@ -8736,7 +8735,7 @@ MoveOrCopy(mv, mk) Dim fc As New FiltersClass - fc.NameFilter = m.Result("${name}") + fc.NameFilter = name fc.SearchBoth = True fc.MoveFrom = mv fc.SetMark = mk @@ -8777,16 +8776,12 @@ Dim menuItem As ToolStripMenuItem = DirectCast(sender, ToolStripMenuItem) If menuItem.Owner Is Me.ContextMenuPostBrowser Then - Dim m As Match = Regex.Match(Me._postBrowserStatusText, "^https?://twitter.com/(#!/)?(?[a-zA-Z0-9_]+)$") - If m.Success AndAlso IsTwitterId(m.Result("${name}")) Then - user = m.Result("${name}") - Else - Return - End If + user = GetUserId() + If user Is Nothing Then Return ElseIf Me._curPost IsNot Nothing Then - user = Me._curPost.Name + user = Me._curPost.Name Else - Return + Return End If Dim list As ListElement = Nothing From svnnotify @ sourceforge.jp Tue Nov 9 00:38:58 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Tue, 09 Nov 2010 00:38:58 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwNDZdICDjg5fjg63jg5XjgqPjg7zjg6vmm7Q=?= =?utf-8?b?5paw5pmC44Gu44OH44O844K/44OB44Kn44OD44Kv6KaL55u044GX44Go44Ko?= =?utf-8?b?44Op44O844OB44Kn44OD44Kv?= Message-ID: <1289230738.532758.18101.nullmailer@users.sourceforge.jp> Revision: 1046 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1046 Author: syo68k Date: 2010-11-09 00:38:58 +0900 (Tue, 09 Nov 2010) Log Message: ----------- プロフィール更新時のデータチェック見直しとエラーチェック Modified Paths: -------------- trunk/Tween/Connection/HttpConnection.vb trunk/Tween/ShowUserInfo.vb -------------- next part -------------- Modified: trunk/Tween/Connection/HttpConnection.vb =================================================================== --- trunk/Tween/Connection/HttpConnection.vb 2010-11-07 07:41:35 UTC (rev 1045) +++ trunk/Tween/Connection/HttpConnection.vb 2010-11-08 15:38:58 UTC (rev 1046) @@ -463,11 +463,7 @@ Dim query As New StringBuilder For Each key As String In param.Keys - If String.IsNullOrEmpty(param(key)) Then - query.AppendFormat("{0}&", UrlEncode(key)) - Else - query.AppendFormat("{0}={1}&", UrlEncode(key), UrlEncode(param(key))) - End If + query.AppendFormat("{0}={1}&", UrlEncode(key), UrlEncode(param(key))) Next Return query.ToString(0, query.Length - 1) End Function Modified: trunk/Tween/ShowUserInfo.vb =================================================================== --- trunk/Tween/ShowUserInfo.vb 2010-11-07 07:41:35 UTC (rev 1045) +++ trunk/Tween/ShowUserInfo.vb 2010-11-08 15:38:58 UTC (rev 1046) @@ -450,6 +450,13 @@ arg.description) End Sub + Private Sub UpddateProfile_RunWorkerCompleted(ByVal sender As Object, ByVal e As RunWorkerCompletedEventArgs) + Dim res As String = DirectCast(e.Result, String) + If res.StartsWith("err:", StringComparison.CurrentCultureIgnoreCase) Then + MessageBox.Show(res) + End If + End Sub + Private Sub ButtonEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonEdit.Click Static IsEditing As Boolean = False Static ButtonEditText As String = "" @@ -517,14 +524,14 @@ TextBoxDescription.Modified Then arg.tw = MyOwner.TwitterInstance - arg.name = TextBoxName.Text - arg.url = TextBoxWeb.Text - arg.location = TextBoxLocation.Text - arg.description = TextBoxDescription.Text + arg.name = TextBoxName.Text.Trim() + arg.url = TextBoxWeb.Text.Trim() + arg.location = TextBoxLocation.Text.Trim() + arg.description = TextBoxDescription.Text.Trim() Using dlg As New FormInfo(Me, My.Resources.UserInfoButtonEdit_ClickText2, _ AddressOf UpdateProfile_Dowork, _ - Nothing, _ + AddressOf UpddateProfile_RunWorkerCompleted, _ arg) dlg.ShowDialog() If Not String.IsNullOrEmpty(dlg.Result.ToString) Then @@ -711,4 +718,8 @@ doChangeIcon(filename) End If End Sub + + Private Sub TextBoxWeb_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TextBoxWeb.Validating + + End Sub End Class \ No newline at end of file From svnnotify @ sourceforge.jp Tue Nov 9 18:22:59 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Tue, 09 Nov 2010 18:22:59 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwNDddICBGYXblj5blvpfmmYLjga7kuozph40=?= =?utf-8?b?5Y+W5b6X5Zue6YG/44Gu5Yik5a6a5pa55rOV44OQ44Kw5L+u5q2j?= Message-ID: <1289294579.778598.27673.nullmailer@users.sourceforge.jp> Revision: 1047 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1047 Author: kiri_feather Date: 2010-11-09 18:22:59 +0900 (Tue, 09 Nov 2010) Log Message: ----------- Fav取得時の二重取得回避の判定方法バグ修正 Modified Paths: -------------- trunk/Tween/Twitter.vb -------------- next part -------------- Modified: trunk/Tween/Twitter.vb =================================================================== --- trunk/Tween/Twitter.vb 2010-11-08 15:38:58 UTC (rev 1046) +++ trunk/Tween/Twitter.vb 2010-11-09 09:22:59 UTC (rev 1047) @@ -1892,7 +1892,7 @@ '二重取得回避 SyncLock LockObj 'If TabInformations.GetInstance.ContainsKey(post.Id) Then Continue For - If TabInformations.GetInstance.GetTabByType(TabUsageType.Favorites).Posts.ContainsKey(post.Id) Then Continue For + If TabInformations.GetInstance.GetTabByType(TabUsageType.Favorites).Contains(post.Id) Then Continue For End SyncLock 'Retweet判定 Dim xRnode As XmlNode = xentry.SelectSingleNode("./retweeted_status") From svnnotify @ sourceforge.jp Tue Nov 9 18:38:04 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Tue, 09 Nov 2010 18:38:04 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwNDhdICB0aXBz5pu05paw?= Message-ID: <1289295484.337145.23857.nullmailer@users.sourceforge.jp> Revision: 1048 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1048 Author: syo68k Date: 2010-11-09 18:38:04 +0900 (Tue, 09 Nov 2010) Log Message: ----------- tips更新 Modified Paths: -------------- trunk/Tween/tips.txt -------------- next part -------------- Modified: trunk/Tween/tips.txt =================================================================== (Binary files differ) From svnnotify @ sourceforge.jp Tue Nov 9 23:15:55 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Tue, 09 Nov 2010 23:15:55 +0900 Subject: [Tween-svn] =?utf-8?q?=5B1049=5D__ToolStripContainer=E3=81=AB?= =?utf-8?b?44OV44Kp44O844Kr44K556e75YuV44GX44Gf5aC05ZCI44GvTGlzdFRhYg==?= =?utf-8?b?44G46aOb44Gw44GZ44KI44GG44Gr?= Message-ID: <1289312155.424445.6989.nullmailer@users.sourceforge.jp> Revision: 1049 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1049 Author: syo68k Date: 2010-11-09 23:15:55 +0900 (Tue, 09 Nov 2010) Log Message: ----------- ToolStripContainerにフォーカス移動した場合はListTabへ飛ばすように Modified Paths: -------------- trunk/Tween/Tween.vb -------------- next part -------------- Modified: trunk/Tween/Tween.vb =================================================================== --- trunk/Tween/Tween.vb 2010-11-09 09:38:04 UTC (rev 1048) +++ trunk/Tween/Tween.vb 2010-11-09 14:15:55 UTC (rev 1049) @@ -9497,4 +9497,8 @@ Private Sub SourceLinkLabel_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SourceLinkLabel.Enter StatusText.Focus() End Sub + + Private Sub ToolStripContainer1_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles ToolStripContainer1.Enter + ListTab.Select() + End Sub End Class From svnnotify @ sourceforge.jp Tue Nov 9 23:48:28 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Tue, 09 Nov 2010 23:48:28 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwNTBdICByMTA0OeOCkuegtOajhA==?= Message-ID: <1289314108.927003.7024.nullmailer@users.sourceforge.jp> Revision: 1050 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1050 Author: syo68k Date: 2010-11-09 23:48:28 +0900 (Tue, 09 Nov 2010) Log Message: ----------- r1049を破棄 Modified Paths: -------------- trunk/Tween/Tween.vb -------------- next part -------------- Modified: trunk/Tween/Tween.vb =================================================================== --- trunk/Tween/Tween.vb 2010-11-09 14:15:55 UTC (rev 1049) +++ trunk/Tween/Tween.vb 2010-11-09 14:48:28 UTC (rev 1050) @@ -9497,8 +9497,4 @@ Private Sub SourceLinkLabel_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SourceLinkLabel.Enter StatusText.Focus() End Sub - - Private Sub ToolStripContainer1_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles ToolStripContainer1.Enter - ListTab.Select() - End Sub End Class From svnnotify @ sourceforge.jp Wed Nov 10 00:15:11 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Wed, 10 Nov 2010 00:15:11 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwNTFdICBDaGFuZ2VMb2fjgb7jgajjgoE=?= Message-ID: <1289315711.495260.28395.nullmailer@users.sourceforge.jp> Revision: 1051 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1051 Author: syo68k Date: 2010-11-10 00:15:11 +0900 (Wed, 10 Nov 2010) Log Message: ----------- ChangeLogまとめ Modified Paths: -------------- trunk/Tween/Resources/ChangeLog.txt -------------- next part -------------- Modified: trunk/Tween/Resources/ChangeLog.txt =================================================================== --- trunk/Tween/Resources/ChangeLog.txt 2010-11-09 14:48:28 UTC (rev 1050) +++ trunk/Tween/Resources/ChangeLog.txt 2010-11-09 15:15:11 UTC (rev 1051) @@ -1,5 +1,18 @@ ?更新履歴 +==== Ver 0.9.6.4(2010/11/10) + * 描画周り再度微調整 リスト表示が真っ白になる方はご連絡ください。 + * 48x48アイコンモードでRTした人を視認しづらい問題に対処 + * 連投モードで投稿失敗ダイアログをキャンセルした場合にStatusTextの背景色が戻らないのを修正 + * ステータスバーのAPI表示とログ表示の位置を入れ替えを行った + * APIグラフ表示が崩れることがあったのを修正 + * Recent,Mentionsの更新中の文が出ていなかったのを修正 + * URLのクエリに@を含んでいる場合に正しく自動圧縮できないのを修正 + * Twitterの新URLに対応。新URLのユーザーページを右クリックした際にフォロー関係メニューが出なかったのが直ったはず + * メニュー操作周りを若干修正 + * Fav取得時に二重取得回避が正しく判定されていなかったのを修正 + * プロフィール更新の際にエラーチェックを行っていなかったのを修正 + * プロフィール更新に失敗した際に認証情報が壊れる場合があったのを修正 ==== Ver 0.9.6.3(2010/11/03) * リスト表示の際にクリッピングが行われていなかったのを修正 * 折り返し方法変更など表示周り再調整。リスト表示が真っ白になる方はご連絡ください。 From svnnotify @ sourceforge.jp Wed Nov 10 00:40:58 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Wed, 10 Nov 2010 00:40:58 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwNTJdICAwOTY06ZaL55m654mI44Oq44Oq44O8?= =?utf-8?b?44K5?= Message-ID: <1289317258.127910.6563.nullmailer@users.sourceforge.jp> Revision: 1052 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1052 Author: syo68k Date: 2010-11-10 00:40:58 +0900 (Wed, 10 Nov 2010) Log Message: ----------- 0964開発版リリース Modified Paths: -------------- trunk/Tween/My Project/AssemblyInfo.vb -------------- next part -------------- Modified: trunk/Tween/My Project/AssemblyInfo.vb =================================================================== --- trunk/Tween/My Project/AssemblyInfo.vb 2010-11-09 15:15:11 UTC (rev 1051) +++ trunk/Tween/My Project/AssemblyInfo.vb 2010-11-09 15:40:58 UTC (rev 1052) @@ -55,5 +55,5 @@ ' - + From svnnotify @ sourceforge.jp Wed Nov 10 07:33:53 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Wed, 10 Nov 2010 07:33:53 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwNTNdICBSZVR3ZWV05Zue5pWw44KS6KGo56S6?= =?utf-8?b?44CA44Gu44Oh44OL44Ol44O844GuRW5hYmxlZOOCkuWkieabtOOBmeOCiw==?= =?utf-8?b?44K/44Kk44Of44Oz44Kw44GM44GK44GL44GX44GL44Gj44Gf44Gu44KS5L+u?= =?utf-8?b?5q2j?= Message-ID: <1289342033.996075.21173.nullmailer@users.sourceforge.jp> Revision: 1053 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1053 Author: f_swallow Date: 2010-11-10 07:33:53 +0900 (Wed, 10 Nov 2010) Log Message: ----------- ReTweet回数を表示 のメニューのEnabledを変更するタイミングがおかしかったのを修正 Modified Paths: -------------- trunk/Tween/Tween.vb -------------- next part -------------- Modified: trunk/Tween/Tween.vb =================================================================== --- trunk/Tween/Tween.vb 2010-11-09 15:40:58 UTC (rev 1052) +++ trunk/Tween/Tween.vb 2010-11-09 22:33:53 UTC (rev 1053) @@ -8961,7 +8961,6 @@ Me.UnreadOpMenuItem.Enabled = False Me.ShowProfMenuItem.Enabled = False Me.ToolStripMenuItem9.Enabled = False - Me.RtCountMenuItem.Enabled = False Else Me.ReplyOpMenuItem.Enabled = True Me.ReplyAllOpMenuItem.Enabled = True @@ -8977,7 +8976,6 @@ Me.UnreadOpMenuItem.Enabled = True Me.ShowProfMenuItem.Enabled = True Me.ToolStripMenuItem9.Enabled = True - Me.RtCountMenuItem.Enabled = True End If End Sub @@ -9497,4 +9495,12 @@ 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 Is Nothing Then + RtCountMenuItem.Enabled = False + Else + RtCountMenuItem.Enabled = True + End If + End Sub End Class From svnnotify @ sourceforge.jp Wed Nov 10 10:42:03 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Wed, 10 Nov 2010 10:42:03 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwNTRdICDjgrPjg7zjg4nmtojjgZflv5jjgow=?= =?utf-8?b?5L+u5q2j?= Message-ID: <1289353323.046756.23738.nullmailer@users.sourceforge.jp> Revision: 1054 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1054 Author: syo68k Date: 2010-11-10 10:42:02 +0900 (Wed, 10 Nov 2010) Log Message: ----------- コード消し忘れ修正 Modified Paths: -------------- trunk/Tween/ShowUserInfo.vb -------------- next part -------------- Modified: trunk/Tween/ShowUserInfo.vb =================================================================== --- trunk/Tween/ShowUserInfo.vb 2010-11-09 22:33:53 UTC (rev 1053) +++ trunk/Tween/ShowUserInfo.vb 2010-11-10 01:42:02 UTC (rev 1054) @@ -718,8 +718,4 @@ doChangeIcon(filename) End If End Sub - - Private Sub TextBoxWeb_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TextBoxWeb.Validating - - End Sub End Class \ No newline at end of file From svnnotify @ sourceforge.jp Wed Nov 10 11:20:54 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Wed, 10 Nov 2010 11:20:54 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwNTVdICDoqo3oqLzmuIjjgb/jgqLjgqvjgqY=?= =?utf-8?b?44Oz44OI44Gu6Kqs5piO44Gu44Oq44Oz44Kv44Gn6KGo56S644GV44KM44KL?= =?utf-8?b?44OE44O844Or44OB44OD44OX44GM6ZaT6YGV44Gj44Gm44GE44Gf44Gu44KS?= =?utf-8?b?5L+u5q2j?= Message-ID: <1289355654.951124.25441.nullmailer@users.sourceforge.jp> Revision: 1055 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1055 Author: syo68k Date: 2010-11-10 11:20:54 +0900 (Wed, 10 Nov 2010) Log Message: ----------- 認証済みアカウントの説明のリンクで表示されるツールチップが間違っていたのを修正 Modified Paths: -------------- trunk/Tween/ShowUserInfo.Designer.vb trunk/Tween/ShowUserInfo.resx -------------- next part -------------- Modified: trunk/Tween/ShowUserInfo.Designer.vb =================================================================== --- trunk/Tween/ShowUserInfo.Designer.vb 2010-11-10 01:42:02 UTC (rev 1054) +++ trunk/Tween/ShowUserInfo.Designer.vb 2010-11-10 02:20:54 UTC (rev 1055) @@ -252,7 +252,6 @@ resources.ApplyResources(Me.LinkLabel1, "LinkLabel1") Me.LinkLabel1.Name = "LinkLabel1" Me.LinkLabel1.TabStop = True - Me.ToolTip1.SetToolTip(Me.LinkLabel1, resources.GetString("LinkLabel1.ToolTip")) ' 'ContextMenuRecentPostBrowser ' Modified: trunk/Tween/ShowUserInfo.resx =================================================================== --- trunk/Tween/ShowUserInfo.resx 2010-11-10 01:42:02 UTC (rev 1054) +++ trunk/Tween/ShowUserInfo.resx 2010-11-10 02:20:54 UTC (rev 1055) @@ -897,9 +897,6 @@ 認証済み(Verified) - - http://twitter.com/help/verified - LinkLabel1 From svnnotify @ sourceforge.jp Thu Nov 11 02:29:21 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 11 Nov 2010 02:29:21 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwNTZdICDjgq/jgqjjg6rjgb7jgZ/jga/jg5U=?= =?utf-8?b?44Op44Kw44Oh44Oz44OI6YOo5YiG44Gr77yf44KS5ZCr44KAVVJM44Gu6KqN?= =?utf-8?b?6K2Y44Gr5aSx5pWX44GZ44KL44OQ44Kw44KS5L+u5q2j?= Message-ID: <1289410161.207886.15661.nullmailer@users.sourceforge.jp> Revision: 1056 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1056 Author: syo68k Date: 2010-11-11 02:29:21 +0900 (Thu, 11 Nov 2010) Log Message: ----------- クエリまたはフラグメント部分に?を含むURLの認識に失敗するバグを修正 Modified Paths: -------------- trunk/Tween/Tween.vb -------------- next part -------------- Modified: trunk/Tween/Tween.vb =================================================================== --- trunk/Tween/Tween.vb 2010-11-10 02:20:54 UTC (rev 1055) +++ trunk/Tween/Tween.vb 2010-11-10 17:29:21 UTC (rev 1056) @@ -7484,7 +7484,7 @@ "(?(?https?://)" + _ "(?(?:[\.-]|[^\p{P}\s])+\.[a-z]{2,}(?::[0-9]+)?)" + _ "(?/[a-z0-9!*'();:&=+$/%#\[\]\-_.,~@^]*[a-z0-9)=#/]?)?" + _ - "(?\?[a-z0-9!*'();:&=+$/%#\[\]\-_.,~@]*[a-z0-9_&=#/])?)" + "(?\?[a-z0-9!*'();:&=+$/%#\[\]\-_.,~@?]*[a-z0-9_&=#/])?)" Const nico As String = "^https?://[a-z]+\.(nicovideo|niconicommons|nicolive)\.jp/[a-z]+/[a-z0-9]+$" @@ -8779,9 +8779,9 @@ user = GetUserId() If user Is Nothing Then Return ElseIf Me._curPost IsNot Nothing Then - user = Me._curPost.Name + user = Me._curPost.Name Else - Return + Return End If Dim list As ListElement = Nothing From svnnotify @ sourceforge.jp Fri Nov 12 19:25:37 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Fri, 12 Nov 2010 19:25:37 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwNTddICDnn63nuK5VUkzop6Pmsbrjgafkvos=?= =?utf-8?b?5aSW44GM55m655Sf44GZ44KL44GT44Go44GM44GC44Gj44Gf44Gu44KSICgg?= =?utf-8?b?5aSa5YiGICkg5L+u5q2j?= Message-ID: <1289557537.757774.16703.nullmailer@users.sourceforge.jp> Revision: 1057 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1057 Author: syo68k Date: 2010-11-12 19:25:37 +0900 (Fri, 12 Nov 2010) Log Message: ----------- 短縮URL解決で例外が発生することがあったのを(多分)修正 Modified Paths: -------------- trunk/Tween/ShortUrl.vb -------------- next part -------------- Modified: trunk/Tween/ShortUrl.vb =================================================================== --- trunk/Tween/ShortUrl.vb 2010-11-10 17:29:21 UTC (rev 1056) +++ trunk/Tween/ShortUrl.vb 2010-11-12 10:25:37 UTC (rev 1057) @@ -52,6 +52,8 @@ Private Shared _bitlyKey As String = "" Private Shared _isresolve As Boolean = True + Private Shared ReadOnly _lockObj As New Object + Public Shared WriteOnly Property BitlyId() As String Set(ByVal value As String) _bitlyId = value @@ -76,7 +78,11 @@ Public Shared Function Resolve(ByVal orgData As String) As String If _isresolve Then Static urlCache As New Dictionary(Of String, String) - If urlCache.Count > 500 Then urlCache.Clear() '定期的にリセット + SyncLock _lockObj + If urlCache.Count > 500 Then + urlCache.Clear() '定期的にリセット + End If + End SyncLock Dim m As MatchCollection = Regex.Matches(orgData, "http://.+?/)(?[^""]+)""", RegexOptions.IgnoreCase) Dim urlList As New List(Of String) @@ -85,7 +91,9 @@ Dim orgUrlPath As String = orgUrlMatch.Result("${path}") If Array.IndexOf(_ShortUrlService, orgUrl) > -1 AndAlso _ Not urlList.Contains(orgUrl + orgUrlPath) Then - urlList.Add(orgUrl + orgUrlPath) + SyncLock _lockObj + urlList.Add(orgUrl + orgUrlPath) + End SyncLock End If Next For Each orgUrl As String In urlList @@ -106,7 +114,9 @@ If retUrlStr.StartsWith("http") Then retUrlStr = retUrlStr.Replace("""", "%22") 'ダブルコーテーションがあるとURL終端と判断されるため、これだけ再エンコード orgData = orgData.Replace(" Revision: 1058 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1058 Author: syo68k Date: 2010-11-12 20:23:40 +0900 (Fri, 12 Nov 2010) Log Message: ----------- ObjectDisposedExceptionが起きることがあったのを修正 Modified Paths: -------------- trunk/Tween/DetailsListView.vb -------------- next part -------------- Modified: trunk/Tween/DetailsListView.vb =================================================================== --- trunk/Tween/DetailsListView.vb 2010-11-12 10:25:37 UTC (rev 1057) +++ trunk/Tween/DetailsListView.vb 2010-11-12 11:23:40 UTC (rev 1058) @@ -56,16 +56,18 @@ If value = MyBase.VirtualListSize Then Exit Property If MyBase.VirtualListSize > 0 And value > 0 Then Dim topIndex As Integer = 0 - If MyBase.VirtualListSize < value Then - If Me.TopItem Is Nothing Then - topIndex = 0 + If Not Me.IsDisposed Then + If MyBase.VirtualListSize < value Then + If Me.TopItem Is Nothing Then + topIndex = 0 + Else + topIndex = Me.TopItem.Index + End If + topIndex = Math.Min(topIndex, Math.Abs(value - 1)) + Me.TopItem = Me.Items(topIndex) Else - topIndex = Me.TopItem.Index + Me.TopItem = Me.Items(0) End If - topIndex = Math.Min(topIndex, Math.Abs(value - 1)) - Me.TopItem = Me.Items(topIndex) - Else - Me.TopItem = Me.Items(0) End If End If MyBase.VirtualListSize = value From svnnotify @ sourceforge.jp Fri Nov 12 20:40:28 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Fri, 12 Nov 2010 20:40:28 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwNTldICBJc1Byb3RlY3Tjga7loLTlkIjjg6E=?= =?utf-8?b?44OL44Ol44O844KS6YG45oqe5LiN6IO944Gr44GX44Gf?= Message-ID: <1289562028.027534.5955.nullmailer@users.sourceforge.jp> Revision: 1059 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1059 Author: f_swallow Date: 2010-11-12 20:40:27 +0900 (Fri, 12 Nov 2010) Log Message: ----------- IsProtectの場合メニューを選択不能にした Modified Paths: -------------- trunk/Tween/Tween.vb -------------- next part -------------- Modified: trunk/Tween/Tween.vb =================================================================== --- trunk/Tween/Tween.vb 2010-11-12 11:23:40 UTC (rev 1058) +++ trunk/Tween/Tween.vb 2010-11-12 11:40:27 UTC (rev 1059) @@ -2620,11 +2620,17 @@ ReTweetOriginalStripMenuItem.Enabled = False DeleteStripMenuItem.Enabled = True Else - ReTweetOriginalStripMenuItem.Enabled = True DeleteStripMenuItem.Enabled = False + If _curPost.IsProtect Then + ReTweetOriginalStripMenuItem.Enabled = False + ReTweetStripMenuItem.Enabled = False + QuoteStripMenuItem.Enabled = False + Else + ReTweetOriginalStripMenuItem.Enabled = True + ReTweetStripMenuItem.Enabled = True + QuoteStripMenuItem.Enabled = True + End If End If - ReTweetStripMenuItem.Enabled = True - QuoteStripMenuItem.Enabled = True End If If _statuses.Tabs(ListTab.SelectedTab.Text).TabType <> TabUsageType.Favorites Then RefreshMoreStripMenuItem.Enabled = True @@ -4992,7 +4998,7 @@ Dim IsProtected As Boolean = False For Each idx As Integer In _curList.SelectedIndices Dim post As PostClass = _statuses.Item(_curTab.Text, idx) - If post.IsProtect AndAlso SettingDialog.ProtectNotInclude Then + If post.IsProtect Then IsProtected = True Continue For End If @@ -8160,7 +8166,7 @@ If _curPost.IsDm OrElse _ Not StatusText.Enabled Then Exit Sub - If SettingDialog.ProtectNotInclude AndAlso _curPost.IsProtect Then + If _curPost.IsProtect Then MessageBox.Show("Protected.") Exit Sub End If @@ -8181,7 +8187,7 @@ Private Sub doReTweetOriginal(ByVal isConfirm As Boolean) '公式RT If _curPost IsNot Nothing AndAlso Not _curPost.IsDm AndAlso Not _curPost.IsMe Then - If SettingDialog.ProtectNotInclude AndAlso _curPost.IsProtect Then + If _curPost.IsProtect Then MessageBox.Show("Protected.") Exit Sub End If @@ -8602,7 +8608,7 @@ If _curPost.IsDm OrElse _ Not StatusText.Enabled Then Exit Sub - If SettingDialog.ProtectNotInclude AndAlso _curPost.IsProtect Then + If _curPost.IsProtect Then MessageBox.Show("Protected.") Exit Sub End If @@ -8911,22 +8917,28 @@ Me.QtOpMenuItem.Enabled = False If _curPost IsNot Nothing AndAlso _curPost.IsDm Then Me.DelOpMenuItem.Enabled = True Else - If _curPost.IsProtect = True AndAlso SettingDialog.ProtectNotInclude Then + If _curPost.IsProtect Then Me.RtOpMenuItem.Enabled = False Me.RtUnOpMenuItem.Enabled = False Me.QtOpMenuItem.Enabled = False + Me.QuoteStripMenuItem.Enabled = False + If _curPost.IsMe Then + Me.DelOpMenuItem.Enabled = True + Else + Me.DelOpMenuItem.Enabled = False + End If Else Me.RtOpMenuItem.Enabled = True Me.RtUnOpMenuItem.Enabled = True Me.QtOpMenuItem.Enabled = True + Me.QuoteStripMenuItem.Enabled = True + If _curPost.IsMe Then + Me.RtOpMenuItem.Enabled = False + Me.DelOpMenuItem.Enabled = True + Else + Me.DelOpMenuItem.Enabled = False + End If End If - If _curPost.IsMe Then - Me.RtOpMenuItem.Enabled = False - Me.DelOpMenuItem.Enabled = True - Else - Me.RtOpMenuItem.Enabled = True - Me.DelOpMenuItem.Enabled = False - End If End If If _statuses.Tabs(ListTab.SelectedTab.Text).TabType <> TabUsageType.Favorites Then @@ -9018,6 +9030,7 @@ Else Me.CopySTOTMenuItem.Enabled = True Me.CopyURLMenuItem.Enabled = True + If _curPost.IsProtect Then Me.CopySTOTMenuItem.Enabled = False End If End Sub From svnnotify @ sourceforge.jp Fri Nov 12 20:45:44 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Fri, 12 Nov 2010 20:45:44 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwNjBdICDnp7vli5XjgoTliYrpmaTjgarjgak=?= =?utf-8?b?44Gn44OV44Kj44Or44K/6YG45oqe44GM6Kej6Zmk44GV44KM44Gf5aC05ZCI?= =?utf-8?b?44Gr44Oc44K/44Oz44Gu5pyJ5Yq554q25oWL44GM5YiH44KK5pu/44KP44Gj?= =?utf-8?b?44Gm44GE44Gq44GL44Gj44Gf44Gu44KS5L+u5q2j?= Message-ID: <1289562344.750485.12099.nullmailer@users.sourceforge.jp> Revision: 1060 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1060 Author: syo68k Date: 2010-11-12 20:45:44 +0900 (Fri, 12 Nov 2010) Log Message: ----------- 移動や削除などでフィルタ選択が解除された場合にボタンの有効状態が切り替わっていなかったのを修正 Modified Paths: -------------- trunk/Tween/FilterDialog.vb -------------- next part -------------- Modified: trunk/Tween/FilterDialog.vb =================================================================== --- trunk/Tween/FilterDialog.vb 2010-11-12 11:40:27 UTC (rev 1059) +++ trunk/Tween/FilterDialog.vb 2010-11-12 11:45:44 UTC (rev 1060) @@ -387,6 +387,13 @@ OptCopy.Checked = True End If CheckMark.Checked = fc.SetMark + + ButtonEdit.Enabled = True + ButtonDelete.Enabled = True + ButtonRuleUp.Enabled = True + ButtonRuleDown.Enabled = True + ButtonRuleCopy.Enabled = True + ButtonRuleMove.Enabled = True Else RadioAND.Checked = True RadioPLUS.Checked = False @@ -418,6 +425,13 @@ OptCopy.Checked = True CheckMark.Checked = True + + ButtonEdit.Enabled = False + ButtonDelete.Enabled = False + ButtonRuleUp.Enabled = False + ButtonRuleDown.Enabled = False + ButtonRuleCopy.Enabled = False + ButtonRuleMove.Enabled = False End If End Sub From svnnotify @ sourceforge.jp Fri Nov 12 20:52:45 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Fri, 12 Nov 2010 20:52:45 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwNjFdICDjg7vpgZXjgYbjg6Hjg4vjg6Xjg7w=?= =?utf-8?b?44G+44Gn5aSJ5pu044GX44Gm44GE44Gf44Gu44KS5L+u5q2j?= Message-ID: <1289562765.207610.25711.nullmailer@users.sourceforge.jp> Revision: 1061 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1061 Author: f_swallow Date: 2010-11-12 20:52:45 +0900 (Fri, 12 Nov 2010) Log Message: ----------- ・違うメニューまで変更していたのを修正 ・ProtectNotInclude関係をコメントアウトした Modified Paths: -------------- trunk/Tween/Setting/SettingCommon.vb trunk/Tween/Setting.vb trunk/Tween/Tween.vb -------------- next part -------------- Modified: trunk/Tween/Setting/SettingCommon.vb =================================================================== --- trunk/Tween/Setting/SettingCommon.vb 2010-11-12 11:45:44 UTC (rev 1060) +++ trunk/Tween/Setting/SettingCommon.vb 2010-11-12 11:52:45 UTC (rev 1061) @@ -144,7 +144,7 @@ Public UseUnreadStyle As Boolean = True Public DateTimeFormat As String = "yyyy/MM/dd H:mm:ss" Public DefaultTimeOut As Integer = 20 - Public ProtectNotInclude As Boolean = True + 'Public ProtectNotInclude As Boolean = True Public LimitBalloon As Boolean = False Public TabIconDisp As Boolean = True Public ReplyIconState As REPLY_ICONSTATE = REPLY_ICONSTATE.StaticIcon Modified: trunk/Tween/Setting.vb =================================================================== --- trunk/Tween/Setting.vb 2010-11-12 11:45:44 UTC (rev 1060) +++ trunk/Tween/Setting.vb 2010-11-12 11:52:45 UTC (rev 1061) @@ -96,7 +96,7 @@ Private _MyUnreadStyle As Boolean Private _MyDateTimeFormat As String Private _MyDefaultTimeOut As Integer - Private _MyProtectNotInclude As Boolean + 'Private _MyProtectNotInclude As Boolean Private _MyLimitBalloon As Boolean Private _MyPostAndGet As Boolean Private _MyReplyPeriod As Integer @@ -261,7 +261,7 @@ _MyUnreadStyle = chkUnreadStyle.Checked _MyDateTimeFormat = CmbDateTimeFormat.Text _MyDefaultTimeOut = CType(ConnectionTimeOut.Text, Integer) - _MyProtectNotInclude = CheckProtectNotInclude.Checked + '_MyProtectNotInclude = CheckProtectNotInclude.Checked _MyLimitBalloon = CheckBalloonLimit.Checked _MyAutoShortUrlFirst = CType(ComboBoxAutoShortUrlFirst.SelectedIndex, UrlConverter) _MyTabIconDisp = chkTabIconDisp.Checked @@ -499,7 +499,7 @@ chkUnreadStyle.Checked = _MyUnreadStyle CmbDateTimeFormat.Text = _MyDateTimeFormat ConnectionTimeOut.Text = _MyDefaultTimeOut.ToString - CheckProtectNotInclude.Checked = _MyProtectNotInclude + 'CheckProtectNotInclude.Checked = _MyProtectNotInclude CheckBalloonLimit.Checked = _MyLimitBalloon ComboBoxAutoShortUrlFirst.SelectedIndex = _MyAutoShortUrlFirst chkTabIconDisp.Checked = _MyTabIconDisp @@ -1424,14 +1424,14 @@ End Set End Property - Public Property ProtectNotInclude() As Boolean - Get - Return _MyProtectNotInclude - End Get - Set(ByVal value As Boolean) - _MyProtectNotInclude = value - End Set - End Property + 'Public Property ProtectNotInclude() As Boolean + ' Get + ' Return _MyProtectNotInclude + ' End Get + ' Set(ByVal value As Boolean) + ' _MyProtectNotInclude = value + ' End Set + 'End Property Public Property TabIconDisp() As Boolean Get Modified: trunk/Tween/Tween.vb =================================================================== --- trunk/Tween/Tween.vb 2010-11-12 11:45:44 UTC (rev 1060) +++ trunk/Tween/Tween.vb 2010-11-12 11:52:45 UTC (rev 1061) @@ -685,7 +685,7 @@ SettingDialog.UseUnreadStyle = _cfgCommon.UseUnreadStyle SettingDialog.DefaultTimeOut = _cfgCommon.DefaultTimeOut - SettingDialog.ProtectNotInclude = _cfgCommon.ProtectNotInclude + 'SettingDialog.ProtectNotInclude = _cfgCommon.ProtectNotInclude SettingDialog.PlaySound = _cfgCommon.PlaySound SettingDialog.DateTimeFormat = _cfgCommon.DateTimeFormat SettingDialog.LimitBalloon = _cfgCommon.LimitBalloon @@ -5731,7 +5731,7 @@ _cfgCommon.UseUnreadStyle = SettingDialog.UseUnreadStyle _cfgCommon.DateTimeFormat = SettingDialog.DateTimeFormat _cfgCommon.DefaultTimeOut = SettingDialog.DefaultTimeOut - _cfgCommon.ProtectNotInclude = SettingDialog.ProtectNotInclude + '_cfgCommon.ProtectNotInclude = SettingDialog.ProtectNotInclude _cfgCommon.LimitBalloon = SettingDialog.LimitBalloon _cfgCommon.AutoShortUrlFirst = SettingDialog.AutoShortUrlFirst _cfgCommon.TabIconDisp = SettingDialog.TabIconDisp @@ -8921,7 +8921,6 @@ Me.RtOpMenuItem.Enabled = False Me.RtUnOpMenuItem.Enabled = False Me.QtOpMenuItem.Enabled = False - Me.QuoteStripMenuItem.Enabled = False If _curPost.IsMe Then Me.DelOpMenuItem.Enabled = True Else @@ -8931,7 +8930,6 @@ Me.RtOpMenuItem.Enabled = True Me.RtUnOpMenuItem.Enabled = True Me.QtOpMenuItem.Enabled = True - Me.QuoteStripMenuItem.Enabled = True If _curPost.IsMe Then Me.RtOpMenuItem.Enabled = False Me.DelOpMenuItem.Enabled = True From svnnotify @ sourceforge.jp Fri Nov 12 21:21:32 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Fri, 12 Nov 2010 21:21:32 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwNjJdICBXZWJCcm93c2Vy44Kz44Oz44Od44O8?= =?utf-8?b?44ON44Oz44OI44Gu5Yid5pyf5YyW5a6M5LqG44KS5b6F44Gk44KI44GG44Gr?= =?utf-8?b?44GX44Gf?= Message-ID: <1289564492.705457.10609.nullmailer@users.sourceforge.jp> Revision: 1062 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1062 Author: syo68k Date: 2010-11-12 21:21:32 +0900 (Fri, 12 Nov 2010) Log Message: ----------- WebBrowserコンポーネントの初期化完了を待つようにした Modified Paths: -------------- trunk/Tween/WebBrowserController.vb -------------- next part -------------- Modified: trunk/Tween/WebBrowserController.vb =================================================================== --- trunk/Tween/WebBrowserController.vb 2010-11-12 11:52:45 UTC (rev 1061) +++ trunk/Tween/WebBrowserController.vb 2010-11-12 12:21:32 UTC (rev 1062) @@ -22,6 +22,7 @@ ' Boston, MA 02110-1301, USA. Imports System.Runtime.InteropServices +Imports System.Threading Public Class InternetSecurityManager @@ -271,7 +272,13 @@ Public Sub New(ByVal _WebBrowser As System.Windows.Forms.WebBrowser) ' ActiveXコントロール取得 - _WebBrowser.DocumentText = "" 'ActiveXを初期化する + _WebBrowser.DocumentText = "about:blank" 'ActiveXを初期化する + + Do + Thread.Sleep(100) + Application.DoEvents() + Loop Until _WebBrowser.ReadyState = WebBrowserReadyState.Complete + ocx = _WebBrowser.ActiveXInstance ' IServiceProvider.QueryService() を使って IProfferService を取得 From svnnotify @ sourceforge.jp Fri Nov 12 22:21:09 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Fri, 12 Nov 2010 22:21:09 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwNjNdICBTb3VyY2Xjga7jg6rjg7Pjgq/pg6g=?= =?utf-8?b?5YiG44KC44OV44Kj44Or44K/44GM5Yq544GP44KI44GG44Gr44GX44Gf?= Message-ID: <1289568069.523501.13676.nullmailer@users.sourceforge.jp> Revision: 1063 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1063 Author: syo68k Date: 2010-11-12 22:21:09 +0900 (Fri, 12 Nov 2010) Log Message: ----------- Sourceのリンク部分もフィルタが効くようにした Modified Paths: -------------- trunk/Tween/StatusDictionary.vb -------------- next part -------------- Modified: trunk/Tween/StatusDictionary.vb =================================================================== --- trunk/Tween/StatusDictionary.vb 2010-11-12 12:21:32 UTC (rev 1062) +++ trunk/Tween/StatusDictionary.vb 2010-11-12 13:21:09 UTC (rev 1063) @@ -2154,10 +2154,13 @@ Public Function IsHit(ByVal post As PostClass) As HITRESULT Dim bHit As Boolean = True Dim tBody As String + Dim tSource As String If _searchUrl Then tBody = post.OriginalData + tSource = post.SourceHtml Else tBody = post.Data + tSource = post.Source End If '検索オプション Dim compOpt As System.StringComparison @@ -2221,17 +2224,19 @@ End If If Not String.IsNullOrEmpty(_source) Then If _useRegex Then - If Not Regex.IsMatch(post.Source, _source, rgOpt) Then bHit = False + If Not Regex.IsMatch(tSource, _source, rgOpt) Then bHit = False Else - If Not post.Source.Equals(_source, compOpt) Then bHit = False + If Not tSource.Equals(_source, compOpt) Then bHit = False End If End If If bHit Then '除外判定 If _exsearchUrl Then tBody = post.OriginalData + tSource = post.SourceHtml Else tBody = post.Data + tSource = post.Source End If Dim exFlag As Boolean = False @@ -2298,9 +2303,9 @@ End If If Not String.IsNullOrEmpty(_exSource) Then If _exuseRegex Then - If Regex.IsMatch(post.Source, _exSource, rgOpt) Then exFlag = True + If Regex.IsMatch(tSource, _exSource, rgOpt) Then exFlag = True Else - If post.Source.Equals(_exSource, compOpt) Then exFlag = True + If tSource.Equals(_exSource, compOpt) Then exFlag = True End If End If From svnnotify @ sourceforge.jp Sat Nov 13 09:38:17 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Sat, 13 Nov 2010 09:38:17 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwNjRdICBTb3VyY2XjgavlkKvjgb7jgozjgos=?= =?utf-8?b?55+t57iuVVJM44KC5bGV6ZaL44GZ44KL44KI44GG44Gr44GX44Gf?= Message-ID: <1289608697.844509.7030.nullmailer@users.sourceforge.jp> Revision: 1064 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1064 Author: syo68k Date: 2010-11-13 09:38:17 +0900 (Sat, 13 Nov 2010) Log Message: ----------- Sourceに含まれる短縮URLも展開するようにした Modified Paths: -------------- trunk/Tween/Twitter.vb -------------- next part -------------- Modified: trunk/Tween/Twitter.vb =================================================================== --- trunk/Tween/Twitter.vb 2010-11-12 13:21:09 UTC (rev 1063) +++ trunk/Tween/Twitter.vb 2010-11-13 00:38:17 UTC (rev 1064) @@ -2488,7 +2488,7 @@ If Not post.Source.Contains("") Then post.Source += "" End If - post.SourceHtml = String.Copy(post.Source) + post.SourceHtml = String.Copy(ShortUrl.Resolve(PreProcessUrl(post.Source))) Dim mS As Match = Regex.Match(post.Source, ">(?.+)<") If mS.Success Then post.Source = HttpUtility.HtmlDecode(mS.Result("${source}")) From svnnotify @ sourceforge.jp Sat Nov 13 11:24:32 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Sat, 13 Nov 2010 11:24:32 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwNjVdICDjg6bjg7zjgrbjg7xJROOCkuOCsw==?= =?utf-8?b?44OU44O844GZ44KL44Oh44OL44Ol44O844KS5L2c5oiQ44GX44Gf77yI57eo?= =?utf-8?b?6ZuG44Gu44Oh44OL44Ol44O844Gr44GX44GL44Gq44GE44Gu44Gn44Gp44GG?= =?utf-8?b?44Gr44GL44GX44Gf44GE44Go44GT44KN44CB44K344On44O844OI44Kr44OD?= =?utf-8?b?44OI44Kt44O844Go44GL44KC5LiA5YiH6Kit5a6a44GX44Gm44Gq44GE77yJ?= Message-ID: <1289615072.149512.10270.nullmailer@users.sourceforge.jp> Revision: 1065 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1065 Author: f_swallow Date: 2010-11-13 11:24:32 +0900 (Sat, 13 Nov 2010) Log Message: ----------- ユーザーIDをコピーするメニューを作成した(編集のメニューにしかないのでどうにかしたいところ、ショートカットキーとかも一切設定してない) Modified Paths: -------------- trunk/Tween/Tween.Designer.vb trunk/Tween/Tween.resx trunk/Tween/Tween.vb -------------- next part -------------- Modified: trunk/Tween/Tween.Designer.vb =================================================================== --- trunk/Tween/Tween.Designer.vb 2010-11-13 00:38:17 UTC (rev 1064) +++ trunk/Tween/Tween.Designer.vb 2010-11-13 02:24:32 UTC (rev 1065) @@ -28,6 +28,8 @@ Me.ToolStripContainer1 = New System.Windows.Forms.ToolStripContainer() Me.StatusStrip1 = New System.Windows.Forms.StatusStrip() Me.StatusLabelUrl = New System.Windows.Forms.ToolStripStatusLabel() + Me.StatusLabel = New Tween.TweenCustomControl.ToolStripLabelHistory() + Me.ToolStripStatusLabel1 = New System.Windows.Forms.ToolStripStatusLabel() Me.HashStripSplitButton = New System.Windows.Forms.ToolStripSplitButton() Me.ContextMenuPostMode = New System.Windows.Forms.ContextMenuStrip(Me.components) Me.ToolStripMenuItemUrlMultibyteSplit = New System.Windows.Forms.ToolStripMenuItem() @@ -266,8 +268,7 @@ 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.ToolStripStatusLabel1 = New System.Windows.Forms.ToolStripStatusLabel() - Me.StatusLabel = New Tween.TweenCustomControl.ToolStripLabelHistory() + Me.CopyUserIdStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.ToolStripContainer1.BottomToolStripPanel.SuspendLayout() Me.ToolStripContainer1.ContentPanel.SuspendLayout() Me.ToolStripContainer1.TopToolStripPanel.SuspendLayout() @@ -334,6 +335,20 @@ Me.StatusLabelUrl.Name = "StatusLabelUrl" Me.StatusLabelUrl.Spring = True ' + 'StatusLabel + ' + Me.StatusLabel.BorderSides = System.Windows.Forms.ToolStripStatusLabelBorderSides.Right + Me.StatusLabel.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text + Me.StatusLabel.DoubleClickEnabled = True + Me.StatusLabel.Name = "StatusLabel" + resources.ApplyResources(Me.StatusLabel, "StatusLabel") + ' + 'ToolStripStatusLabel1 + ' + resources.ApplyResources(Me.ToolStripStatusLabel1, "ToolStripStatusLabel1") + Me.ToolStripStatusLabel1.BorderSides = System.Windows.Forms.ToolStripStatusLabelBorderSides.Right + Me.ToolStripStatusLabel1.Name = "ToolStripStatusLabel1" + ' 'HashStripSplitButton ' Me.HashStripSplitButton.AutoToolTip = False @@ -953,7 +968,7 @@ ' 'MenuItemEdit ' - Me.MenuItemEdit.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.UndoRemoveTabMenuItem, Me.ToolStripSeparator12, Me.CopySTOTMenuItem, Me.CopyURLMenuItem, Me.ToolStripSeparator6, Me.MenuItemSubSearch, Me.MenuItemSearchNext, Me.MenuItemSearchPrev, Me.ToolStripSeparator22, Me.PublicSearchQueryMenuItem}) + Me.MenuItemEdit.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.UndoRemoveTabMenuItem, Me.ToolStripSeparator12, Me.CopySTOTMenuItem, Me.CopyURLMenuItem, Me.CopyUserIdStripMenuItem, Me.ToolStripSeparator6, Me.MenuItemSubSearch, Me.MenuItemSearchNext, Me.MenuItemSearchPrev, Me.ToolStripSeparator22, Me.PublicSearchQueryMenuItem}) Me.MenuItemEdit.Name = "MenuItemEdit" resources.ApplyResources(Me.MenuItemEdit, "MenuItemEdit") ' @@ -1663,20 +1678,11 @@ ' Me.OpenFileDialog1.FileName = "OpenFileDialog1" ' - 'ToolStripStatusLabel1 + 'CopyUserIdStripMenuItem ' - resources.ApplyResources(Me.ToolStripStatusLabel1, "ToolStripStatusLabel1") - Me.ToolStripStatusLabel1.BorderSides = System.Windows.Forms.ToolStripStatusLabelBorderSides.Right - Me.ToolStripStatusLabel1.Name = "ToolStripStatusLabel1" + Me.CopyUserIdStripMenuItem.Name = "CopyUserIdStripMenuItem" + resources.ApplyResources(Me.CopyUserIdStripMenuItem, "CopyUserIdStripMenuItem") ' - 'StatusLabel - ' - Me.StatusLabel.BorderSides = System.Windows.Forms.ToolStripStatusLabelBorderSides.Right - Me.StatusLabel.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text - Me.StatusLabel.DoubleClickEnabled = True - Me.StatusLabel.Name = "StatusLabel" - resources.ApplyResources(Me.StatusLabel, "StatusLabel") - ' 'TweenMain ' Me.AllowDrop = True @@ -1967,5 +1973,6 @@ Friend WithEvents ListManageToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem Friend WithEvents SourceLinkLabel As System.Windows.Forms.LinkLabel Friend WithEvents ToolStripStatusLabel1 As System.Windows.Forms.ToolStripStatusLabel + Friend WithEvents CopyUserIdStripMenuItem As System.Windows.Forms.ToolStripMenuItem End Class Modified: trunk/Tween/Tween.resx =================================================================== --- trunk/Tween/Tween.resx 2010-11-13 00:38:17 UTC (rev 1064) +++ trunk/Tween/Tween.resx 2010-11-13 02:24:32 UTC (rev 1065) @@ -130,7 +130,7 @@
- 287, 22 + 318, 22 ToolStripStatusLabel1 @@ -1566,6 +1566,12 @@ コピー(ステータスURL)(&S) + + 259, 22 + + + コピー(ユーザーID) + 256, 6 @@ -2490,6 +2496,18 @@ System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + StatusLabel + + + Tween.TweenCustomControl.ToolStripLabelHistory, Tween, Version=0.1.0.0, Culture=neutral, PublicKeyToken=null + + + ToolStripStatusLabel1 + + + System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + HashStripSplitButton @@ -3720,18 +3738,12 @@ System.Windows.Forms.ToolTip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - ToolStripStatusLabel1 + + CopyUserIdStripMenuItem - - System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - StatusLabel - - - Tween.TweenCustomControl.ToolStripLabelHistory, Tween, Version=0.1.0.0, Culture=neutral, PublicKeyToken=null - TweenMain Modified: trunk/Tween/Tween.vb =================================================================== --- trunk/Tween/Tween.vb 2010-11-13 00:38:17 UTC (rev 1064) +++ trunk/Tween/Tween.vb 2010-11-13 02:24:32 UTC (rev 1065) @@ -9025,9 +9025,11 @@ If _curPost Is Nothing Then Me.CopySTOTMenuItem.Enabled = False Me.CopyURLMenuItem.Enabled = False + Me.CopyUserIdStripMenuItem.Enabled = False Else Me.CopySTOTMenuItem.Enabled = True Me.CopyURLMenuItem.Enabled = True + Me.CopyUserIdStripMenuItem.Enabled = True If _curPost.IsProtect Then Me.CopySTOTMenuItem.Enabled = False End If End Sub @@ -9514,4 +9516,17 @@ RtCountMenuItem.Enabled = True End If End Sub + + Private Sub CopyUserIdStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CopyUserIdStripMenuItem.Click + CopyUserId() + End Sub + Private Sub CopyUserId() + If _curPost Is Nothing Then Exit Sub + Dim clstr As String = _curPost.Name + Try + Clipboard.SetDataObject(clstr, False, 5, 100) + Catch ex As Exception + MessageBox.Show(ex.Message) + End Try + End Sub End Class From svnnotify @ sourceforge.jp Sun Nov 14 15:02:39 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Sun, 14 Nov 2010 15:02:39 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwNjZdICBBUEnjgrLjg7zjgrjjga7mj4/nlLs=?= =?utf-8?b?44GM5q2j5bi444Gr6KGM44KP44KM44Gq44GE5aC05ZCI44GM44GC44Gj44Gf?= =?utf-8?b?44Gu44KS5L+u5q2j?= Message-ID: <1289714559.809828.2973.nullmailer@users.sourceforge.jp> Revision: 1066 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1066 Author: syo68k Date: 2010-11-14 15:02:39 +0900 (Sun, 14 Nov 2010) Log Message: ----------- APIゲージの描画が正常に行われない場合があったのを修正 Modified Paths: -------------- trunk/Tween/ToolStripAPIGauge.vb -------------- next part -------------- Modified: trunk/Tween/ToolStripAPIGauge.vb =================================================================== --- trunk/Tween/ToolStripAPIGauge.vb 2010-11-13 02:24:32 UTC (rev 1065) +++ trunk/Tween/ToolStripAPIGauge.vb 2010-11-14 06:02:39 UTC (rev 1066) @@ -72,13 +72,12 @@ Dim minute As Double = (Me.ResetTime - DateTime.Now).TotalMinutes Dim apiGaugeBounds As New Rectangle(0, _ CType((Me.Control.Height - (Me._gaugeHeight * 2)) / 2, Integer), _ - CType(e.ClipRectangle.Width * (Me.RemainCount / Me._maxCount), Integer), _ + CType(Me.Control.Width * (Me.RemainCount / Me._maxCount), Integer), _ Me._gaugeHeight) Dim timeGaugeBounds As New Rectangle(0, _ apiGaugeBounds.Top + Me._gaugeHeight, _ - CType(e.ClipRectangle.Width * (minute / 60), Integer), _ + CType(Me.Control.Width * (minute / 60), Integer), _ Me._gaugeHeight) - e.Graphics.FillRectangle(Brushes.LightBlue, apiGaugeBounds) e.Graphics.FillRectangle(Brushes.LightPink, timeGaugeBounds) e.Graphics.DrawString(Me.Control.Text, Me.Control.Font, SystemBrushes.ControlText, 0, CType(timeGaugeBounds.Top - (Me.Control.Font.Height / 2), Single)) @@ -97,6 +96,10 @@ Me.originalSize = Me.Control.Size End Sub + Private Sub Control_Invalidated(ByVal sender As Object, ByVal e As EventArgs) + Me.Control.Refresh() + End Sub + Private Sub SetText(ByVal remain As Integer, ByVal max As Integer) Dim textFormat As String = "API {0}/{1}" Dim toolTipTextFormat As String = _ From svnnotify @ sourceforge.jp Sun Nov 14 18:42:48 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Sun, 14 Nov 2010 18:42:48 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwNjddICDmtojjgZflv5jjgozjga7jgrPjg7w=?= =?utf-8?b?44OJ5YmK6Zmk?= Message-ID: <1289727768.958265.15803.nullmailer@users.sourceforge.jp> Revision: 1067 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1067 Author: syo68k Date: 2010-11-14 18:42:48 +0900 (Sun, 14 Nov 2010) Log Message: ----------- 消し忘れのコード削除 Modified Paths: -------------- trunk/Tween/ToolStripAPIGauge.vb -------------- next part -------------- Modified: trunk/Tween/ToolStripAPIGauge.vb =================================================================== --- trunk/Tween/ToolStripAPIGauge.vb 2010-11-14 06:02:39 UTC (rev 1066) +++ trunk/Tween/ToolStripAPIGauge.vb 2010-11-14 09:42:48 UTC (rev 1067) @@ -96,10 +96,6 @@ Me.originalSize = Me.Control.Size End Sub - Private Sub Control_Invalidated(ByVal sender As Object, ByVal e As EventArgs) - Me.Control.Refresh() - End Sub - Private Sub SetText(ByVal remain As Integer, ByVal max As Integer) Dim textFormat As String = "API {0}/{1}" Dim toolTipTextFormat As String = _ From svnnotify @ sourceforge.jp Sun Nov 14 19:19:30 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Sun, 14 Nov 2010 19:19:30 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwNjhdICBBbHQrU2hpZnQrQ+OBp+ODpuODvA==?= =?utf-8?b?44K244O8SUTjgpLjgrPjg5Tjg7zjgZnjgovjgojjgYbjgavjgZfjgZ8=?= Message-ID: <1289729970.564917.7832.nullmailer@users.sourceforge.jp> Revision: 1068 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1068 Author: f_swallow Date: 2010-11-14 19:19:30 +0900 (Sun, 14 Nov 2010) Log Message: ----------- Alt+Shift+CでユーザーIDをコピーするようにした Modified Paths: -------------- trunk/Tween/Tween.Designer.vb trunk/Tween/Tween.resx trunk/Tween/Tween.vb -------------- next part -------------- Modified: trunk/Tween/Tween.Designer.vb =================================================================== --- trunk/Tween/Tween.Designer.vb 2010-11-14 09:42:48 UTC (rev 1067) +++ trunk/Tween/Tween.Designer.vb 2010-11-14 10:19:30 UTC (rev 1068) @@ -134,6 +134,7 @@ Me.ToolStripSeparator12 = New System.Windows.Forms.ToolStripSeparator() Me.CopySTOTMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.CopyURLMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.CopyUserIdStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.ToolStripSeparator6 = New System.Windows.Forms.ToolStripSeparator() Me.MenuItemSubSearch = New System.Windows.Forms.ToolStripMenuItem() Me.MenuItemSearchNext = New System.Windows.Forms.ToolStripMenuItem() @@ -268,7 +269,6 @@ 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.CopyUserIdStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.ToolStripContainer1.BottomToolStripPanel.SuspendLayout() Me.ToolStripContainer1.ContentPanel.SuspendLayout() Me.ToolStripContainer1.TopToolStripPanel.SuspendLayout() @@ -992,6 +992,11 @@ Me.CopyURLMenuItem.Name = "CopyURLMenuItem" resources.ApplyResources(Me.CopyURLMenuItem, "CopyURLMenuItem") ' + 'CopyUserIdStripMenuItem + ' + Me.CopyUserIdStripMenuItem.Name = "CopyUserIdStripMenuItem" + resources.ApplyResources(Me.CopyUserIdStripMenuItem, "CopyUserIdStripMenuItem") + ' 'ToolStripSeparator6 ' Me.ToolStripSeparator6.Name = "ToolStripSeparator6" @@ -1678,11 +1683,6 @@ ' Me.OpenFileDialog1.FileName = "OpenFileDialog1" ' - 'CopyUserIdStripMenuItem - ' - Me.CopyUserIdStripMenuItem.Name = "CopyUserIdStripMenuItem" - resources.ApplyResources(Me.CopyUserIdStripMenuItem, "CopyUserIdStripMenuItem") - ' 'TweenMain ' Me.AllowDrop = True Modified: trunk/Tween/Tween.resx =================================================================== --- trunk/Tween/Tween.resx 2010-11-14 09:42:48 UTC (rev 1067) +++ trunk/Tween/Tween.resx 2010-11-14 10:19:30 UTC (rev 1068) @@ -1570,7 +1570,7 @@ 259, 22 - コピー(ユーザーID) + コピー(ユーザーID)(&A) 256, 6 @@ -2946,6 +2946,12 @@ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + CopyUserIdStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + ToolStripSeparator6 @@ -3738,12 +3744,6 @@ System.Windows.Forms.ToolTip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - CopyUserIdStripMenuItem - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - TweenMain Modified: trunk/Tween/Tween.vb =================================================================== --- trunk/Tween/Tween.vb 2010-11-14 09:42:48 UTC (rev 1067) +++ trunk/Tween/Tween.vb 2010-11-14 10:19:30 UTC (rev 1068) @@ -4939,6 +4939,10 @@ e.Handled = True e.SuppressKeyPress = True doReTweetUnofficial() + ElseIf e.KeyCode = Keys.C Then + e.Handled = True + e.SuppressKeyPress = True + CopyUserId() ElseIf e.KeyCode = Keys.Up Then Thumbnail.ScrollThumbnail(False) ElseIf e.KeyCode = Keys.Down Then @@ -5660,6 +5664,10 @@ e.Handled = True e.SuppressKeyPress = True doReTweetUnofficial() + ElseIf e.KeyCode = Keys.C Then + e.Handled = True + e.SuppressKeyPress = True + CopyUserId() ElseIf e.KeyCode = Keys.Up Then Thumbnail.ScrollThumbnail(False) ElseIf e.KeyCode = Keys.Down Then @@ -6070,6 +6078,9 @@ Case Keys.R e.IsInputKey = False doReTweetUnofficial() + Case Keys.C + e.IsInputKey = False + CopyUserId() End Select End If From svnnotify @ sourceforge.jp Sun Nov 14 19:36:29 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Sun, 14 Nov 2010 19:36:29 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwNjldICBQcm90ZWN055m66KiA44KSUlQgLyBT?= =?utf-8?b?VE9U44Kz44OU44O86Kix5Y+v44GZ44KL44GL44Gu6Kit5a6a44KS5buD5q2i?= =?utf-8?b?44GX5YWs5byPUlTjga7pmpvjgavnorroqo3jgZfjgarjgYToqK3lrprjgpI=?= =?utf-8?b?6L+95Yqg?= Message-ID: <1289730989.000193.6112.nullmailer@users.sourceforge.jp> Revision: 1069 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1069 Author: syo68k Date: 2010-11-14 19:36:28 +0900 (Sun, 14 Nov 2010) Log Message: ----------- Protect発言をRT/STOTコピー許可するかの設定を廃止し公式RTの際に確認しない設定を追加 Modified Paths: -------------- trunk/Tween/Setting/SettingCommon.vb trunk/Tween/Setting.Designer.vb trunk/Tween/Setting.resx trunk/Tween/Setting.vb trunk/Tween/Tween.vb -------------- next part -------------- Modified: trunk/Tween/Setting/SettingCommon.vb =================================================================== --- trunk/Tween/Setting/SettingCommon.vb 2010-11-14 10:19:30 UTC (rev 1068) +++ trunk/Tween/Setting/SettingCommon.vb 2010-11-14 10:36:28 UTC (rev 1069) @@ -145,6 +145,7 @@ Public DateTimeFormat As String = "yyyy/MM/dd H:mm:ss" Public DefaultTimeOut As Integer = 20 'Public ProtectNotInclude As Boolean = True + Public RetweetNoConfirm As Boolean = False Public LimitBalloon As Boolean = False Public TabIconDisp As Boolean = True Public ReplyIconState As REPLY_ICONSTATE = REPLY_ICONSTATE.StaticIcon Modified: trunk/Tween/Setting.Designer.vb =================================================================== --- trunk/Tween/Setting.Designer.vb 2010-11-14 10:19:30 UTC (rev 1068) +++ trunk/Tween/Setting.Designer.vb 2010-11-14 10:36:28 UTC (rev 1069) @@ -174,8 +174,6 @@ Me.Label76 = New System.Windows.Forms.Label() Me.ComboBoxAutoShortUrlFirst = New System.Windows.Forms.ComboBox() Me.Label71 = New System.Windows.Forms.Label() - Me.CheckProtectNotInclude = New System.Windows.Forms.CheckBox() - Me.Label42 = New System.Windows.Forms.Label() Me.CheckAutoConvertUrl = New System.Windows.Forms.CheckBox() Me.Label29 = New System.Windows.Forms.Label() Me.Label57 = New System.Windows.Forms.Label() @@ -237,6 +235,7 @@ Me.RadioProxyIE = New System.Windows.Forms.RadioButton() Me.RadioProxyNone = New System.Windows.Forms.RadioButton() Me.TabPage6 = New System.Windows.Forms.TabPage() + Me.FavoritesTextCountApi = New System.Windows.Forms.TextBox() Me.SearchTextCountApi = New System.Windows.Forms.TextBox() Me.Label66 = New System.Windows.Forms.Label() Me.FirstTextCountApi = New System.Windows.Forms.TextBox() @@ -249,7 +248,8 @@ Me.Label59 = New System.Windows.Forms.Label() Me.TextBoxOutputzKey = New System.Windows.Forms.TextBox() Me.CheckOutputz = New System.Windows.Forms.CheckBox() - Me.FavoritesTextCountApi = New System.Windows.Forms.TextBox() + Me.Label42 = New System.Windows.Forms.Label() + Me.CheckRetweetNoConfirm = New System.Windows.Forms.CheckBox() Me.GroupBox1.SuspendLayout() Me.TabControl1.SuspendLayout() Me.TabPage1.SuspendLayout() @@ -1088,6 +1088,8 @@ ' 'TabPage2 ' + Me.TabPage2.Controls.Add(Me.CheckRetweetNoConfirm) + Me.TabPage2.Controls.Add(Me.Label42) Me.TabPage2.Controls.Add(Me.GroupBox3) Me.TabPage2.Controls.Add(Me.Label82) Me.TabPage2.Controls.Add(Me.CheckHashSupple) @@ -1099,8 +1101,6 @@ Me.TabPage2.Controls.Add(Me.Label76) Me.TabPage2.Controls.Add(Me.ComboBoxAutoShortUrlFirst) Me.TabPage2.Controls.Add(Me.Label71) - Me.TabPage2.Controls.Add(Me.CheckProtectNotInclude) - Me.TabPage2.Controls.Add(Me.Label42) Me.TabPage2.Controls.Add(Me.CheckAutoConvertUrl) Me.TabPage2.Controls.Add(Me.Label29) Me.TabPage2.Controls.Add(Me.Label57) @@ -1241,17 +1241,6 @@ resources.ApplyResources(Me.Label71, "Label71") Me.Label71.Name = "Label71" ' - 'CheckProtectNotInclude - ' - resources.ApplyResources(Me.CheckProtectNotInclude, "CheckProtectNotInclude") - Me.CheckProtectNotInclude.Name = "CheckProtectNotInclude" - Me.CheckProtectNotInclude.UseVisualStyleBackColor = True - ' - 'Label42 - ' - resources.ApplyResources(Me.Label42, "Label42") - Me.Label42.Name = "Label42" - ' 'CheckAutoConvertUrl ' resources.ApplyResources(Me.CheckAutoConvertUrl, "CheckAutoConvertUrl") @@ -1677,6 +1666,11 @@ Me.TabPage6.Name = "TabPage6" Me.TabPage6.UseVisualStyleBackColor = True ' + 'FavoritesTextCountApi + ' + resources.ApplyResources(Me.FavoritesTextCountApi, "FavoritesTextCountApi") + Me.FavoritesTextCountApi.Name = "FavoritesTextCountApi" + ' 'SearchTextCountApi ' resources.ApplyResources(Me.SearchTextCountApi, "SearchTextCountApi") @@ -1743,11 +1737,17 @@ Me.CheckOutputz.Name = "CheckOutputz" Me.CheckOutputz.UseVisualStyleBackColor = True ' - 'FavoritesTextCountApi + 'Label42 ' - resources.ApplyResources(Me.FavoritesTextCountApi, "FavoritesTextCountApi") - Me.FavoritesTextCountApi.Name = "FavoritesTextCountApi" + resources.ApplyResources(Me.Label42, "Label42") + Me.Label42.Name = "Label42" ' + 'CheckRetweetNoConfirm + ' + resources.ApplyResources(Me.CheckRetweetNoConfirm, "CheckRetweetNoConfirm") + Me.CheckRetweetNoConfirm.Name = "CheckRetweetNoConfirm" + Me.CheckRetweetNoConfirm.UseVisualStyleBackColor = True + ' 'Setting ' Me.AcceptButton = Me.Save @@ -1917,8 +1917,6 @@ Friend WithEvents Label63 As System.Windows.Forms.Label Friend WithEvents Label64 As System.Windows.Forms.Label Friend WithEvents ConnectionTimeOut As System.Windows.Forms.TextBox - Friend WithEvents CheckProtectNotInclude As System.Windows.Forms.CheckBox - Friend WithEvents Label42 As System.Windows.Forms.Label Friend WithEvents btnInputBackcolor As System.Windows.Forms.Button Friend WithEvents lblInputBackcolor As System.Windows.Forms.Label Friend WithEvents Label52 As System.Windows.Forms.Label @@ -2010,4 +2008,6 @@ Friend WithEvents SearchTextCountApi As System.Windows.Forms.TextBox Friend WithEvents Label66 As System.Windows.Forms.Label Friend WithEvents FavoritesTextCountApi As System.Windows.Forms.TextBox + Friend WithEvents CheckRetweetNoConfirm As System.Windows.Forms.CheckBox + Friend WithEvents Label42 As System.Windows.Forms.Label End Class Modified: trunk/Tween/Setting.resx =================================================================== --- trunk/Tween/Setting.resx 2010-11-14 10:19:30 UTC (rev 1068) +++ trunk/Tween/Setting.resx 2010-11-14 10:36:28 UTC (rev 1069) @@ -3660,6 +3660,60 @@ 0 + + True + + + 173, 259 + + + 92, 16 + + + 40 + + + RT確認しない + + + CheckRetweetNoConfirm + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 0 + + + True + + + 11, 260 + + + 44, 12 + + + 39 + + + 公式RT + + + Label42 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 1 + True @@ -3880,7 +3934,7 @@ TabPage2 - 0 + 2 True @@ -3910,7 +3964,7 @@ TabPage2 - 1 + 3 True @@ -3940,7 +3994,7 @@ TabPage2 - 2 + 4 True @@ -3970,7 +4024,7 @@ TabPage2 - 3 + 5 True @@ -4000,7 +4054,7 @@ TabPage2 - 4 + 6 318, 213 @@ -4021,7 +4075,7 @@ TabPage2 - 5 + 7 True @@ -4048,7 +4102,7 @@ TabPage2 - 6 + 8 194, 213 @@ -4069,7 +4123,7 @@ TabPage2 - 7 + 9 True @@ -4096,7 +4150,7 @@ TabPage2 - 8 + 10 tinyurl @@ -4132,7 +4186,7 @@ TabPage2 - 9 + 11 True @@ -4162,60 +4216,6 @@ TabPage2 - 10 - - - True - - - 173, 261 - - - 136, 16 - - - 24 - - - Protect発言を含めない - - - CheckProtectNotInclude - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPage2 - - - 11 - - - True - - - 11, 262 - - - 114, 12 - - - 23 - - - STOTコピーとReTweet - - - Label42 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPage2 - - 12 Modified: trunk/Tween/Setting.vb =================================================================== --- trunk/Tween/Setting.vb 2010-11-14 10:19:30 UTC (rev 1068) +++ trunk/Tween/Setting.vb 2010-11-14 10:36:28 UTC (rev 1069) @@ -123,6 +123,7 @@ Private _MyUseAdditonalCount As Boolean Private _SearchCountApi As Integer Private _FavoritesCountApi As Integer + Private _MyRetweetNoConfirm As Boolean Private _ValidationError As Boolean = False @@ -262,6 +263,7 @@ _MyDateTimeFormat = CmbDateTimeFormat.Text _MyDefaultTimeOut = CType(ConnectionTimeOut.Text, Integer) '_MyProtectNotInclude = CheckProtectNotInclude.Checked + _MyRetweetNoConfirm = CheckRetweetNoConfirm.Checked _MyLimitBalloon = CheckBalloonLimit.Checked _MyAutoShortUrlFirst = CType(ComboBoxAutoShortUrlFirst.SelectedIndex, UrlConverter) _MyTabIconDisp = chkTabIconDisp.Checked @@ -500,6 +502,7 @@ CmbDateTimeFormat.Text = _MyDateTimeFormat ConnectionTimeOut.Text = _MyDefaultTimeOut.ToString 'CheckProtectNotInclude.Checked = _MyProtectNotInclude + CheckRetweetNoConfirm.Checked = _MyRetweetNoConfirm CheckBalloonLimit.Checked = _MyLimitBalloon ComboBoxAutoShortUrlFirst.SelectedIndex = _MyAutoShortUrlFirst chkTabIconDisp.Checked = _MyTabIconDisp @@ -1433,6 +1436,15 @@ ' End Set 'End Property + Public Property RetweetNoConfirm() As Boolean + Get + Return _MyRetweetNoConfirm + End Get + Set(ByVal value As Boolean) + _MyRetweetNoConfirm = value + End Set + End Property + Public Property TabIconDisp() As Boolean Get Return _MyTabIconDisp Modified: trunk/Tween/Tween.vb =================================================================== --- trunk/Tween/Tween.vb 2010-11-14 10:19:30 UTC (rev 1068) +++ trunk/Tween/Tween.vb 2010-11-14 10:36:28 UTC (rev 1069) @@ -686,6 +686,7 @@ SettingDialog.UseUnreadStyle = _cfgCommon.UseUnreadStyle SettingDialog.DefaultTimeOut = _cfgCommon.DefaultTimeOut 'SettingDialog.ProtectNotInclude = _cfgCommon.ProtectNotInclude + SettingDialog.RetweetNoConfirm = _cfgCommon.RetweetNoConfirm SettingDialog.PlaySound = _cfgCommon.PlaySound SettingDialog.DateTimeFormat = _cfgCommon.DateTimeFormat SettingDialog.LimitBalloon = _cfgCommon.LimitBalloon @@ -1615,7 +1616,7 @@ MessageBoxIcon.Question) Select Case rtResult Case Windows.Forms.DialogResult.Yes - doReTweetOriginal(False) + doReTweetOfficial(False) StatusText.Text = "" Exit Sub Case Windows.Forms.DialogResult.Cancel @@ -4809,7 +4810,7 @@ ElseIf e.KeyCode = Keys.R Then e.Handled = True e.SuppressKeyPress = True - doReTweetOriginal(True) + doReTweetOfficial(True) ElseIf e.KeyCode = Keys.P AndAlso _curPost IsNot Nothing Then e.Handled = True e.SuppressKeyPress = True @@ -5548,7 +5549,7 @@ If e.KeyCode = Keys.R Then e.Handled = True e.SuppressKeyPress = True - doReTweetOriginal(True) + doReTweetOfficial(True) ElseIf e.KeyCode = Keys.P AndAlso _curPost IsNot Nothing Then e.Handled = True e.SuppressKeyPress = True @@ -5740,6 +5741,7 @@ _cfgCommon.DateTimeFormat = SettingDialog.DateTimeFormat _cfgCommon.DefaultTimeOut = SettingDialog.DefaultTimeOut '_cfgCommon.ProtectNotInclude = SettingDialog.ProtectNotInclude + _cfgCommon.RetweetNoConfirm = SettingDialog.RetweetNoConfirm _cfgCommon.LimitBalloon = SettingDialog.LimitBalloon _cfgCommon.AutoShortUrlFirst = SettingDialog.AutoShortUrlFirst _cfgCommon.TabIconDisp = SettingDialog.TabIconDisp @@ -5985,7 +5987,7 @@ MakeReplyOrDirectStatus(False, False) Case Keys.R e.IsInputKey = True - doReTweetOriginal(True) + doReTweetOfficial(True) Case Keys.Q e.IsInputKey = True doQuote() @@ -6030,7 +6032,7 @@ If e.Modifiers = Keys.Alt Then If e.KeyCode = Keys.R Then e.IsInputKey = True - doReTweetOriginal(True) + doReTweetOfficial(True) ElseIf e.KeyCode = Keys.P AndAlso _curPost IsNot Nothing Then e.IsInputKey = True doShowUserStatus(_curPost.Name, False) @@ -8195,15 +8197,17 @@ doReTweetUnofficial() End Sub - Private Sub doReTweetOriginal(ByVal isConfirm As Boolean) + Private Sub doReTweetOfficial(ByVal isConfirm As Boolean) '公式RT If _curPost IsNot Nothing AndAlso Not _curPost.IsDm AndAlso Not _curPost.IsMe Then If _curPost.IsProtect Then MessageBox.Show("Protected.") Exit Sub End If - If isConfirm AndAlso MessageBox.Show(My.Resources.RetweetQuestion1, "Retweet", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Cancel Then - Exit Sub + If Not SettingDialog.RetweetNoConfirm Then + If isConfirm AndAlso MessageBox.Show(My.Resources.RetweetQuestion1, "Retweet", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Cancel Then + Exit Sub + End If End If Dim args As New GetWorkerArg args.ids = New List(Of Long) @@ -8217,7 +8221,7 @@ End Sub Private Sub ReTweetOriginalStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ReTweetOriginalStripMenuItem.Click, RtOpMenuItem.Click - doReTweetOriginal(True) + doReTweetOfficial(True) End Sub Private Function CreateRetweetUnofficial(ByVal status As String) As String From svnnotify @ sourceforge.jp Sun Nov 14 20:56:30 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Sun, 14 Nov 2010 20:56:30 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwNzBdICBJROOCs+ODlOODvOOBruOCt+ODpw==?= =?utf-8?b?44O844OI44Kr44OD44OI44Kt44O844GM44Oh44OL44Ol44O844Gr6KGo56S6?= =?utf-8?b?44GV44KM44Gm44GE44Gq44GL44Gj44Gf44Gu44KS5L+u5q2j?= Message-ID: <1289735790.498532.18198.nullmailer@users.sourceforge.jp> Revision: 1070 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1070 Author: syo68k Date: 2010-11-14 20:56:30 +0900 (Sun, 14 Nov 2010) Log Message: ----------- IDコピーのショートカットキーがメニューに表示されていなかったのを修正 Modified Paths: -------------- trunk/Tween/Tween.vb -------------- next part -------------- Modified: trunk/Tween/Tween.vb =================================================================== --- trunk/Tween/Tween.vb 2010-11-14 10:36:28 UTC (rev 1069) +++ trunk/Tween/Tween.vb 2010-11-14 11:56:30 UTC (rev 1070) @@ -1055,6 +1055,7 @@ Me.JumpReadOpMenuItem.ShortcutKeyDisplayString = "Space" CopySTOTMenuItem.ShortcutKeyDisplayString = "Ctrl+C" CopyURLMenuItem.ShortcutKeyDisplayString = "Ctrl+Shift+C" + CopyUserIdStripMenuItem.ShortcutKeyDisplayString = "Shift+Alt+C" If SettingDialog.MinimizeToTray = False OrElse Me.WindowState <> FormWindowState.Minimized Then Me.Visible = True From svnnotify @ sourceforge.jp Sun Nov 14 21:13:23 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Sun, 14 Nov 2010 21:13:23 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwNzFdICBDaGFuZ2VMb2fjgb7jgajjgoE=?= Message-ID: <1289736803.349340.16638.nullmailer@users.sourceforge.jp> Revision: 1071 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1071 Author: syo68k Date: 2010-11-14 21:13:23 +0900 (Sun, 14 Nov 2010) Log Message: ----------- ChangeLogまとめ Modified Paths: -------------- trunk/Tween/Resources/ChangeLog.txt -------------- next part -------------- Modified: trunk/Tween/Resources/ChangeLog.txt =================================================================== --- trunk/Tween/Resources/ChangeLog.txt 2010-11-14 11:56:30 UTC (rev 1070) +++ trunk/Tween/Resources/ChangeLog.txt 2010-11-14 12:13:23 UTC (rev 1071) @@ -1,37 +1,35 @@ ?更新履歴 -==== Ver 0.9.6.4(2010/11/10) - * 描画周り再度微調整 リスト表示が真っ白になる方はご連絡ください。 - * 48x48アイコンモードでRTした人を視認しづらい問題に対処 +==== Ver 0.9.7.4(2010/11/14) + * 描画周りの高速化と調整を行った + * リスト表示が真っ白になる現象の対策を行った まだ発生する方はご連絡ください。 * 連投モードで投稿失敗ダイアログをキャンセルした場合にStatusTextの背景色が戻らないのを修正 + * Protect発言をRT/STOTコピー許可するかの設定を廃止し公式RTの際に確認しない設定を追加した + * Alt+Shift+CでユーザーIDをコピーするようにした 編集メニューにもあります。 + * Sourceのリンク部分においてもフィルタが効くようにした(URL検索にチェックを入れる必要があります) + * WebBrowserコンポーネントの初期化完了を待つようにした + * 移動や削除などでフィルタ選択が解除された場合にボタンの有効状態が切り替わっていなかったのを修正 + * ObjectDisposedExceptionが起きることがあったのを修正 + * 短縮URL解決で例外が発生することがあったのを(多分)修正 + * クエリまたはフラグメント部分に?を含むURLの認識に失敗するバグを修正 ?を複数含むURLの自動短縮が正しく動作するようになったはず + * 連投モードで投稿失敗ダイアログをキャンセルした場合にStatusTextの背景色が戻らないのを修正 * ステータスバーのAPI表示とログ表示の位置を入れ替えを行った - * APIグラフ表示が崩れることがあったのを修正 * Recent,Mentionsの更新中の文が出ていなかったのを修正 * URLのクエリに@を含んでいる場合に正しく自動圧縮できないのを修正 * Twitterの新URLに対応。新URLのユーザーページを右クリックした際にフォロー関係メニューが出なかったのが直ったはず * メニュー操作周りを若干修正 * Fav取得時に二重取得回避が正しく判定されていなかったのを修正 * プロフィール更新の際にエラーチェックを行っていなかったのを修正 - * プロフィール更新に失敗した際に認証情報が壊れる場合があったのを修正 -==== Ver 0.9.6.3(2010/11/03) - * リスト表示の際にクリッピングが行われていなかったのを修正 - * 折り返し方法変更など表示周り再調整。リスト表示が真っ白になる方はご連絡ください。 + * プロフィール更新に失敗した際にTweenの認証情報が壊れる場合があったのを修正 * リスト選択画面のタブオーダーを調整した * 振り分けルール作成からタブ管理画面まで遷移すると一部メニューが無効になるバグ修正 - * 発言詳細の日時とsourceのレイアウト見直し - * クライアントSourceUrlの抽出に失敗することがあるバグを修正 - * Sourceがtxtの場合に対応 - * 画像プレビューをInstagramに対応 + * 画像プレビューをCloudFiles,Instagramに対応 * pixivのhtml構造変更に対応 -==== Ver 0.9.6.2(2010/11/02) - * 高速化など表示周りの再調整。リスト表示が真っ白になる方はご連絡ください。 * リストアイコンを縦方向にセンタリングして描画するように変更 * 詳細表示の時刻の右側にSourceを表示するようにした。クリックでクライアントの公式ページを開く。(Web,Keitai Mailの場合は公式) - * API残数とリセットまでの時間をグラフ表示するようにした + * API残数とリセットまでの時間をグラフ表示するようにした (青が残り回数、赤がリセットまでの残り時間) * Fav削除の際に直近の発言を選択し直すようにした * タブ振り分けルール作成を振り分け先タブ選択でキャンセルした場合にメニューが異常になるバグを修正 - * 画像プレビューをCloudFilesに対応 -==== Ver 0.9.6.1(2010/10/22) * URL直後のハッシュタグがリンク化されないバグを修正 * PublicSearchの取得数を変更可能にした * Ctrl+J/K,SHIFT+J/Kが効かなくなっていたバグを修正 @@ -40,7 +38,6 @@ * 非公式RTの際に元ツイートに@IDが含まれていた場合@を含めないようにした * アイコンの背景を白く塗るようにした * リスト部分で表示し切れない行は表示していなかったのを、読めそうな範囲で描画出来そうな行は表示するように変更 - * 入力欄でCtrl+Shift+←→ を動作するようにした * 短縮URL解決の設定が正しく動作しておらずオフにできなかったバグを修正 * yfrogへの画像投稿に対応 * 取得時の自ポスト既読化をDMにも適用するようにした From svnnotify @ sourceforge.jp Sun Nov 14 21:49:51 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Sun, 14 Nov 2010 21:49:51 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwNzJdICDjg5Djg7zjgrjjg6fjg7PplpPpgZU=?= =?utf-8?b?44GE5L+u5q2j?= Message-ID: <1289738991.484868.13384.nullmailer@users.sourceforge.jp> Revision: 1072 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1072 Author: syo68k Date: 2010-11-14 21:49:51 +0900 (Sun, 14 Nov 2010) Log Message: ----------- バージョン間違い修正 Modified Paths: -------------- trunk/Tween/Resources/ChangeLog.txt -------------- next part -------------- Modified: trunk/Tween/Resources/ChangeLog.txt =================================================================== --- trunk/Tween/Resources/ChangeLog.txt 2010-11-14 12:13:23 UTC (rev 1071) +++ trunk/Tween/Resources/ChangeLog.txt 2010-11-14 12:49:51 UTC (rev 1072) @@ -1,6 +1,6 @@ ?更新履歴 -==== Ver 0.9.7.4(2010/11/14) +==== Ver 0.9.7.0(2010/11/14) * 描画周りの高速化と調整を行った * リスト表示が真っ白になる現象の対策を行った まだ発生する方はご連絡ください。 * 連投モードで投稿失敗ダイアログをキャンセルした場合にStatusTextの背景色が戻らないのを修正 From svnnotify @ sourceforge.jp Sun Nov 14 22:33:48 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Sun, 14 Nov 2010 22:33:48 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwNzNdICAwOTcw44Oq44Oq44O844K5?= Message-ID: <1289741628.833198.6293.nullmailer@users.sourceforge.jp> Revision: 1073 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1073 Author: syo68k Date: 2010-11-14 22:33:48 +0900 (Sun, 14 Nov 2010) Log Message: ----------- 0970リリース Modified Paths: -------------- trunk/Tween/My Project/AssemblyInfo.vb -------------- next part -------------- Modified: trunk/Tween/My Project/AssemblyInfo.vb =================================================================== --- trunk/Tween/My Project/AssemblyInfo.vb 2010-11-14 12:49:51 UTC (rev 1072) +++ trunk/Tween/My Project/AssemblyInfo.vb 2010-11-14 13:33:48 UTC (rev 1073) @@ -55,5 +55,5 @@ ' - + From svnnotify @ sourceforge.jp Mon Nov 15 02:03:12 2010 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 15 Nov 2010 02:03:12 +0900 Subject: [Tween-svn] =?utf-8?b?WzEwNzRdICBVc2VyU3RyZWFt44OW44Op44Oz44OB?= =?utf-8?b?5L2c5oiQ?= Message-ID: <1289754192.085683.25883.nullmailer@users.sourceforge.jp> Revision: 1074 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1074 Author: syo68k Date: 2010-11-15 02:03:11 +0900 (Mon, 15 Nov 2010) Log Message: ----------- UserStream????潟?篏?? Added Paths: ----------- branches/UserStream/ branches/UserStream/LICENSE.ja.txt branches/UserStream/LICENSE.txt branches/UserStream/Tween/ branches/UserStream/Tween/ApiInformation.vb branches/UserStream/Tween/ApplicationEvents.vb branches/UserStream/Tween/AtIdSupplement.Designer.vb branches/UserStream/Tween/AtIdSupplement.en.resx branches/UserStream/Tween/AtIdSupplement.resx branches/UserStream/Tween/AtIdSupplement.vb branches/UserStream/Tween/AtIdSupplement.zh-CHS.resx branches/UserStream/Tween/ChangeLog.txt branches/UserStream/Tween/Connection/ branches/UserStream/Tween/Connection/HttpConnection.vb branches/UserStream/Tween/Connection/HttpConnectionBasic.vb branches/UserStream/Tween/Connection/HttpConnectionOAuth.vb branches/UserStream/Tween/Connection/HttpConnectionOAuthEcho.vb branches/UserStream/Tween/Connection/HttpOAuthApiProxy.vb branches/UserStream/Tween/Connection/HttpTwitter.vb branches/UserStream/Tween/Connection/HttpVarious.vb branches/UserStream/Tween/Connection/IHttpConnection.vb branches/UserStream/Tween/Connection/TwitPic.vb branches/UserStream/Tween/Connection/TwitVideo.vb branches/UserStream/Tween/Connection/imgly.vb branches/UserStream/Tween/Connection/yfrog.vb branches/UserStream/Tween/DetailsListView.vb branches/UserStream/Tween/DialogAsShieldIcon.Designer.vb branches/UserStream/Tween/DialogAsShieldIcon.resx branches/UserStream/Tween/DialogAsShieldIcon.vb branches/UserStream/Tween/DialogAsShieldIcon.zh-CHS.resx branches/UserStream/Tween/DoubleClickCopyCanceller.vb branches/UserStream/Tween/FilterDialog.Designer.vb branches/UserStream/Tween/FilterDialog.en.resx branches/UserStream/Tween/FilterDialog.resx branches/UserStream/Tween/FilterDialog.vb branches/UserStream/Tween/FilterDialog.zh-CHS.resx branches/UserStream/Tween/FormInfo.Designer.vb branches/UserStream/Tween/FormInfo.resx branches/UserStream/Tween/FormInfo.vb branches/UserStream/Tween/HashtagManage.Designer.vb branches/UserStream/Tween/HashtagManage.en.resx branches/UserStream/Tween/HashtagManage.resx branches/UserStream/Tween/HashtagManage.vb branches/UserStream/Tween/HashtagManage.zh-CHS.resx branches/UserStream/Tween/HookGlobalHotkey.vb branches/UserStream/Tween/InputTabName.Designer.vb branches/UserStream/Tween/InputTabName.en.resx branches/UserStream/Tween/InputTabName.resx branches/UserStream/Tween/InputTabName.vb branches/UserStream/Tween/InputTabName.zh-CHS.resx branches/UserStream/Tween/ListAvailable.Designer.vb branches/UserStream/Tween/ListAvailable.en.resx branches/UserStream/Tween/ListAvailable.resx branches/UserStream/Tween/ListAvailable.vb branches/UserStream/Tween/ListAvailable.zh-CHS.resx branches/UserStream/Tween/ListElement.vb branches/UserStream/Tween/ListManage.Designer.vb branches/UserStream/Tween/ListManage.en.resx branches/UserStream/Tween/ListManage.resx branches/UserStream/Tween/ListManage.vb branches/UserStream/Tween/ListManage.zh-CHS.resx branches/UserStream/Tween/My Project/ branches/UserStream/Tween/My Project/Application.Designer.vb branches/UserStream/Tween/My Project/Application.myapp branches/UserStream/Tween/My Project/AssemblyInfo.vb branches/UserStream/Tween/My Project/Resources.Designer.vb branches/UserStream/Tween/My Project/Resources.en.resx branches/UserStream/Tween/My Project/Resources.resx branches/UserStream/Tween/My Project/Resources.zh-CHS.resx branches/UserStream/Tween/My Project/Settings.Designer.vb branches/UserStream/Tween/My Project/Settings.settings branches/UserStream/Tween/My Project/app.manifest branches/UserStream/Tween/MyCommon.vb branches/UserStream/Tween/MyLists.Designer.vb branches/UserStream/Tween/MyLists.en.resx branches/UserStream/Tween/MyLists.resx branches/UserStream/Tween/MyLists.vb branches/UserStream/Tween/MyLists.zh-CHS.resx branches/UserStream/Tween/OpenURL.Designer.vb branches/UserStream/Tween/OpenURL.en.resx branches/UserStream/Tween/OpenURL.resx branches/UserStream/Tween/OpenURL.vb branches/UserStream/Tween/OpenURL.zh-CHS.resx branches/UserStream/Tween/Outputz.vb branches/UserStream/Tween/PictureService.vb branches/UserStream/Tween/RadixConvert.vb branches/UserStream/Tween/Resources/ branches/UserStream/Tween/Resources/1o.ico branches/UserStream/Tween/Resources/2b.ico branches/UserStream/Tween/Resources/3b.ico branches/UserStream/Tween/Resources/4b.ico branches/UserStream/Tween/Resources/4r.ico branches/UserStream/Tween/Resources/4y.ico branches/UserStream/Tween/Resources/5b.ico branches/UserStream/Tween/Resources/5g.ico branches/UserStream/Tween/Resources/5o.ico branches/UserStream/Tween/Resources/5r.ico branches/UserStream/Tween/Resources/5y.ico branches/UserStream/Tween/Resources/6b.ico branches/UserStream/Tween/Resources/6g.ico branches/UserStream/Tween/Resources/6o.ico branches/UserStream/Tween/Resources/ChangeLog.txt branches/UserStream/Tween/Resources/Description.txt branches/UserStream/Tween/Resources/InitialImage.png branches/UserStream/Tween/Resources/MultiMediaImage.png branches/UserStream/Tween/Resources/re.ico branches/UserStream/Tween/Resources/re2.ico branches/UserStream/Tween/Resources/re3.ico branches/UserStream/Tween/Resources/re4.ico branches/UserStream/Tween/SearchWord.Designer.vb branches/UserStream/Tween/SearchWord.en.resx branches/UserStream/Tween/SearchWord.resx branches/UserStream/Tween/SearchWord.vb branches/UserStream/Tween/SearchWord.zh-CHS.resx branches/UserStream/Tween/Setting/ branches/UserStream/Tween/Setting/SettingAtIdList.vb branches/UserStream/Tween/Setting/SettingBase.vb branches/UserStream/Tween/Setting/SettingCommon.vb branches/UserStream/Tween/Setting/SettingFollower.vb branches/UserStream/Tween/Setting/SettingLocal.vb branches/UserStream/Tween/Setting/SettingTab.vb branches/UserStream/Tween/Setting/SettingTabs.vb branches/UserStream/Tween/Setting.Designer.vb branches/UserStream/Tween/Setting.en.resx branches/UserStream/Tween/Setting.resx branches/UserStream/Tween/Setting.vb branches/UserStream/Tween/Setting.zh-CHS.resx branches/UserStream/Tween/ShieldIcon.vb branches/UserStream/Tween/ShortUrl.vb branches/UserStream/Tween/ShowUserInfo.Designer.vb branches/UserStream/Tween/ShowUserInfo.en.resx branches/UserStream/Tween/ShowUserInfo.resx branches/UserStream/Tween/ShowUserInfo.vb branches/UserStream/Tween/ShowUserInfo.zh-CHS.resx branches/UserStream/Tween/StatusDictionary.vb branches/UserStream/Tween/TabsDialog.Designer.vb branches/UserStream/Tween/TabsDialog.en.resx branches/UserStream/Tween/TabsDialog.resx branches/UserStream/Tween/TabsDialog.vb branches/UserStream/Tween/TabsDialog.zh-CHS.resx branches/UserStream/Tween/Thumbnail.vb branches/UserStream/Tween/ToolStripAPIGauge.vb branches/UserStream/Tween/ToolStripLabelHistory.vb branches/UserStream/Tween/Tween.Designer.vb branches/UserStream/Tween/Tween.en.resx branches/UserStream/Tween/Tween.resx branches/UserStream/Tween/Tween.vb branches/UserStream/Tween/Tween.vbproj branches/UserStream/Tween/Tween.zh-CHS.resx branches/UserStream/Tween/TweenAboutBox.Designer.vb branches/UserStream/Tween/TweenAboutBox.en.resx branches/UserStream/Tween/TweenAboutBox.resx branches/UserStream/Tween/TweenAboutBox.vb branches/UserStream/Tween/TweenAboutBox.zh-CHS.resx branches/UserStream/Tween/Twitter.vb branches/UserStream/Tween/UserInfo.vb branches/UserStream/Tween/WebBrowserController.vb branches/UserStream/Tween/Win32Api.vb branches/UserStream/Tween/app.config branches/UserStream/Tween/nicoms.vb branches/UserStream/Tween/tips.txt branches/UserStream/Tween.sln branches/UserStream/TweenUp/ branches/UserStream/TweenUp/ApplicationEvents.vb branches/UserStream/TweenUp/Form1.Designer.vb branches/UserStream/TweenUp/Form1.resx branches/UserStream/TweenUp/Form1.vb branches/UserStream/TweenUp/Form1.zh-Hans.resx branches/UserStream/TweenUp/My Project/ branches/UserStream/TweenUp/My Project/Application.Designer.vb branches/UserStream/TweenUp/My Project/Application.myapp branches/UserStream/TweenUp/My Project/AssemblyInfo.vb branches/UserStream/TweenUp/My Project/Resources.Designer.vb branches/UserStream/TweenUp/My Project/Resources.resx branches/UserStream/TweenUp/My Project/Settings.Designer.vb branches/UserStream/TweenUp/My Project/Settings.settings branches/UserStream/TweenUp/My Project/app.manifest branches/UserStream/TweenUp/Resources/ branches/UserStream/TweenUp/Resources/re01.ico branches/UserStream/TweenUp/TweenUp.vbproj branches/UserStream/TweenUp/TweenUp.vbproj.user branches/UserStream/TweenUp/app.config -------------- next part -------------- Added: branches/UserStream/LICENSE.ja.txt =================================================================== --- branches/UserStream/LICENSE.ja.txt (rev 0) +++ branches/UserStream/LICENSE.ja.txt 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,32 @@ +鏤粋?莨?+ +??????????≪???????Tween/Resources ?????????????障???+篁ヤ?????<??? + 1o.ico + 2b.ico + 3b.ico + 4b.ico + 4r.ico + 4y.ico + 5b.ico + 5o.ico + 5r.ico + 5y.ico + 6b.ico + 6o.ico + re.ico + re2.ico + re3.ico + re4.ico + InitialImage.png + MultiMediaImage.png +??Minami ????c?篏??????障???? +筝??????<???? GNU General Public License (GPL) (GNU 筝????????荐沿??? +????c?????祉??鴻?????????????荐??????ゃ?????????????????+Tween ???篏???с?????≪??潟??????????????????????? + +茗??腟????? + +GNU General Public License (GPL) (GNU 筝????????荐沿??? ????????+?ユ?茯?┳??2008 綛?11 ??17 ??(?ユ????) ????鴻? +http://sourceforge.jp/magazine/07/09/02/130237 ?????????????障??? Added: branches/UserStream/LICENSE.txt =================================================================== --- branches/UserStream/LICENSE.txt (rev 0) +++ branches/UserStream/LICENSE.txt 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,704 @@ +ACKNOWLEDGEMENT: + +In this software, below icon files in Tween/Resources directory: + 1o.ico + 2b.ico + 3b.ico + 4b.ico + 4r.ico + 4y.ico + 5b.ico + 5o.ico + 5r.ico + 5y.ico + 6b.ico + 6o.ico + re.ico + re2.ico + re3.ico + re4.ico + InitialImage.png + MultiMediaImage.png +was created by Minami . +These files are NOT licensed under the GNU General Public License (GPL). +Please inquire about these files not to copyright holders of Tween, but +to the author of the icons. + +END OF ACKNOWLEDGEMENT. BELOW IS THE LICENSE OF CODES OF THE SOFTWARE. + + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + Added: branches/UserStream/Tween/ApiInformation.vb =================================================================== --- branches/UserStream/Tween/ApiInformation.vb (rev 0) +++ branches/UserStream/Tween/ApiInformation.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,201 @@ +鏤?mports System.ComponentModel + +Public Class ApiInformationChangedEventArgs + Inherits EventArgs + Public ApiInfo As New ApiInfo +End Class + +Public MustInherit Class ApiInfoBase + Protected Shared _MaxCount As Integer = -1 + Protected Shared _RemainCount As Integer = -1 + Protected Shared _ResetTime As New DateTime + Protected Shared _ResetTimeInSeconds As Integer = -1 + Protected Shared _UsingCount As Integer = -1 +End Class + +Public Class ApiInfo + Inherits ApiInfoBase + Public MaxCount As Integer + Public RemainCount As Integer + Public ResetTime As DateTime + Public ResetTimeInSeconds As Integer + Public UsingCount As Integer + + Public Sub New() + Me.MaxCount = _MaxCount + Me.RemainCount = _RemainCount + Me.ResetTime = _ResetTime + Me.ResetTimeInSeconds = _ResetTimeInSeconds + Me.UsingCount = _UsingCount + End Sub +End Class + +Public Class ApiInformation + Inherits ApiInfoBase + + 'Private ReadOnly _lockobj As New Object ?贋??????????綽???????????絖?? + + Public HttpHeaders As New Dictionary(Of String, String)(StringComparer.CurrentCultureIgnoreCase) + + Public Sub Initialize() + If HttpHeaders.ContainsKey("X-RateLimit-Remaining") Then + HttpHeaders.Item("X-RateLimit-Remaining") = "-1" + Else + HttpHeaders.Add("X-RateLimit-Remaining", "-1") + End If + + If HttpHeaders.ContainsKey("X-RateLimit-Limit") Then + HttpHeaders.Item("X-RateLimit-Limit") = "-1" + Else + HttpHeaders.Add("X-RateLimit-Limit", "-1") + End If + + If HttpHeaders.ContainsKey("X-RateLimit-Reset") Then + HttpHeaders.Item("X-RateLimit-Reset") = "-1" + Else + HttpHeaders.Add("X-RateLimit-Reset", "-1") + End If + _MaxCount = -1 + _RemainCount = -1 + _ResetTime = New DateTime + _ResetTimeInSeconds = -1 + '_UsingCount = -1 + RaiseEvent Changed(Me, New ApiInformationChangedEventArgs) + End Sub + + Public Function ConvertResetTimeInSecondsToResetTime(ByVal seconds As Integer) As DateTime + If seconds >= 0 Then + Return System.TimeZone.CurrentTimeZone.ToLocalTime((New DateTime(1970, 1, 1, 0, 0, 0)).AddSeconds(seconds)) + Else + Return New DateTime + End If + End Function + + Public Event Changed(ByVal sender As Object, ByVal e As ApiInformationChangedEventArgs) + + Private Sub Raise_Changed() + Dim arg As New ApiInformationChangedEventArgs + RaiseEvent Changed(Me, arg) + _MaxCount = arg.ApiInfo.MaxCount + _RemainCount = arg.ApiInfo.RemainCount + _ResetTime = arg.ApiInfo.ResetTime + _ResetTimeInSeconds = arg.ApiInfo.ResetTimeInSeconds + '_UsingCount = arg.ApiInfo.UsingCount + End Sub + + Public Property MaxCount As Integer + Get + Return _MaxCount + End Get + Set(ByVal value As Integer) + If _MaxCount <> value Then + _MaxCount = value + Raise_Changed() + End If + End Set + End Property + + Public Property RemainCount As Integer + Get + Return _RemainCount + End Get + Set(ByVal value As Integer) + If _RemainCount <> value Then + _RemainCount = value + Raise_Changed() + End If + End Set + End Property + + Public Property ResetTime As DateTime + Get + Return _ResetTime + End Get + Set(ByVal value As DateTime) + If _ResetTime <> value Then + _ResetTime = value + Raise_Changed() + End If + End Set + End Property + + Public Property ResetTimeInSeconds As Integer + Get + Return _ResetTimeInSeconds + End Get + Set(ByVal value As Integer) + If _ResetTimeInSeconds <> value Then + _ResetTimeInSeconds = value + Raise_Changed() + End If + End Set + End Property + + Public Property UsingCount As Integer + Get + Return _UsingCount + End Get + Set(ByVal value As Integer) + If _UsingCount <> value Then + _UsingCount = value + Raise_Changed() + End If + End Set + End Property + + + Private ReadOnly Property RemainCountFromHttpHeader() As Integer + Get + Dim result As Integer = 0 + If String.IsNullOrEmpty(HttpHeaders("X-RateLimit-Remaining")) Then Return -1 + If Integer.TryParse(HttpHeaders("X-RateLimit-Remaining"), result) Then + Return result + End If + Return -1 + End Get + End Property + + Private ReadOnly Property MaxCountFromHttpHeader() As Integer + Get + Dim result As Integer = 0 + If String.IsNullOrEmpty(HttpHeaders("X-RateLimit-Limit")) Then Return -1 + If Integer.TryParse(HttpHeaders("X-RateLimit-Limit"), result) Then + Return result + End If + Return -1 + End Get + End Property + + Private ReadOnly Property ResetTimeFromHttpHeader() As DateTime + Get + Dim i As Integer + If Integer.TryParse(HttpHeaders("X-RateLimit-Reset"), i) Then + If i >= 0 Then + Return System.TimeZone.CurrentTimeZone.ToLocalTime((New DateTime(1970, 1, 1, 0, 0, 0)).AddSeconds(i)) + Else + Return New DateTime + End If + Else + Return New DateTime + End If + End Get + End Property + + Public Sub ParseHttpHeaders(ByVal headers As Dictionary(Of String, String)) + _MaxCount = MaxCountFromHttpHeader + _RemainCount = RemainCountFromHttpHeader + _ResetTime = ResetTimeFromHttpHeader + Raise_Changed() + End Sub + + Public Sub WriteBackEventArgs(ByVal arg As ApiInformationChangedEventArgs) + _MaxCount = arg.ApiInfo.MaxCount + _RemainCount = arg.ApiInfo.RemainCount + _ResetTime = arg.ApiInfo.ResetTime + _ResetTimeInSeconds = arg.ApiInfo.ResetTimeInSeconds + _UsingCount = arg.ApiInfo.UsingCount + Raise_Changed() + End Sub +End Class + + Added: branches/UserStream/Tween/ApplicationEvents.vb =================================================================== --- branches/UserStream/Tween/ApplicationEvents.vb (rev 0) +++ branches/UserStream/Tween/ApplicationEvents.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,148 @@ +鏤? Tween - Client of Twitter +' Copyright (c) 2007-2010 kiri_feather (@kiri_feather) +' (c) 2008-2010 Moz (@syo68k) +' (c) 2008-2010 takeshik (@takeshik) +' All rights reserved. +' +' This file is part of Tween. +' +' This program is free software; you can redistribute it and/or modify it +' under the terms of the GNU General Public License as published by the Free +' Software Foundation; either version 3 of the License, or (at your option) +' any later version. +' +' This program is distributed in the hope that it will be useful, but +' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +' for more details. +' +' You should have received a copy of the GNU General Public License along +' with this program. If not, see , or write to +' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, +' Boston, MA 02110-1301, USA. + +Option Strict On + +Imports System.Diagnostics +Imports System.Threading.Thread + +Namespace My + + ' 罨<??ゃ??潟???MyApplication ??????????с??障?: + ' + ' Startup: ?≪?????若??с????紮????????????帥??????? ????若??????????????榊??????? + ' Shutdown: ?≪?????若??с? ????若?????鴻?????????????????障????????????????絽吾?腟??篁ュ????羈???≪?????若??с????篋????????????榊?????????+ ' UnhandledException: ??潟?????????????紊???≪?????若??с??х???????????榊?????ゃ??潟??с???+ ' StartupNextInstance: ????ゃ??鴻??潟? ?≪?????若??с???儀???????????????????c??с????????榊??????? + ' NetworkAvailabilityChanged: ???????若??ョ???・膓???????????????????????????榊??????? + Partial Friend Class MyApplication + Private Shared mt As System.Threading.Mutex + + Private Sub MyApplication_Shutdown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shutdown + Try + If mt IsNot Nothing Then + mt.ReleaseMutex() + mt.Close() + mt = Nothing + End If + Catch ex As Exception + + End Try + End Sub + + Private Sub MyApplication_Startup(ByVal sender As Object, ByVal e As Microsoft.VisualBasic.ApplicationServices.StartupEventArgs) Handles Me.Startup + + InitCulture() + + Dim pt As String = Application.Info.DirectoryPath.Replace("\", "/") + "/" + Application.Info.ProductName + mt = New System.Threading.Mutex(False, pt) + Try + If Not mt.WaitOne(0, False) Then + ' 絎??筝??????≪?????若??с?????c?????祉??潟??????? + Dim prevProcess As Process = GetPreviousProcess() + If prevProcess IsNot Nothing AndAlso _ + IntPtr.op_Inequality(prevProcess.MainWindowHandle, IntPtr.Zero) Then + ' 莎桁?筝???≪?????若??с?????????;腓?+ WakeupWindow(prevProcess.MainWindowHandle) + Else + If prevProcess IsNot Nothing Then + '????祉??劫?????ャ????????潟?????潟????????с?????c?鐚???ゃ??喝?????????? + '?帥????????≪??潟??????????????ャ??若? + '羈???≪??潟??劫???ooltip???絖???ц???????紊??莎桁???????荀?????????≪?????????? + Dim rslt As Boolean = ClickTasktrayIcon("Tween") + If Not rslt Then + ' 茘????;腓削?荀?????????????????篁??????уけ??? + MessageBox.Show(My.Resources.StartupText1, My.Resources.StartupText2, MessageBoxButtons.OK, MessageBoxIcon.Information) + End If + Else + ' 茘????;腓削?????祉?荀?????????翫?鐚?+ MessageBox.Show(My.Resources.StartupText1, My.Resources.StartupText2, MessageBoxButtons.OK, MessageBoxIcon.Information) + End If + + End If + '莎桁?????潟???+ e.Cancel = True + Try + mt.ReleaseMutex() + mt.Close() + mt = Nothing + Catch ex As Exception + + End Try + Exit Sub + End If + Catch ex As Exception + End Try + + End Sub + + Private Sub MyApplication_UnhandledException(ByVal sender As Object, ByVal e As Microsoft.VisualBasic.ApplicationServices.UnhandledExceptionEventArgs) Handles Me.UnhandledException + 'GDI+????????????絎????? + If e.Exception.Message <> "A generic error occurred in GDI+." AndAlso _ + e.Exception.Message <> "GDI+ ?ф??????????????障????" Then + e.ExitApplication = ExceptionOut(e.Exception) + Else + e.ExitApplication = False + End If + End Sub + + Private Function IsEqualCurrentCulture(ByVal CultureName As String) As Boolean + Return CurrentThread.CurrentUICulture.Name.StartsWith(CultureName) + End Function + + Public ReadOnly Property CultureCode() As String + Get + If cultureStr Is Nothing Then + Dim cfgCommon As SettingCommon = SettingCommon.Load() + cultureStr = cfgCommon.Language + If cultureStr = "OS" Then + If Not IsEqualCurrentCulture("ja") AndAlso _ + Not IsEqualCurrentCulture("en") AndAlso _ + Not IsEqualCurrentCulture("zh-CN") Then + cultureStr = "en" + End If + End If + End If + Return cultureStr + End Get + End Property + + Public Overloads Sub InitCulture(ByVal code As String) + Try + ChangeUICulture(code) + Catch ex As Exception + + End Try + End Sub + Public Overloads Sub InitCulture() + Try + If Me.CultureCode <> "OS" Then ChangeUICulture(Me.CultureCode) + Catch ex As Exception + + End Try + End Sub + + End Class + +End Namespace + Added: branches/UserStream/Tween/AtIdSupplement.Designer.vb =================================================================== --- branches/UserStream/Tween/AtIdSupplement.Designer.vb (rev 0) +++ branches/UserStream/Tween/AtIdSupplement.Designer.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,84 @@ +鏤?Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ +Partial Class AtIdSupplement + Inherits System.Windows.Forms.Form + + '????若?????潟??若??潟????荀с?????若??≪?????????? dispose ????若??若??ゃ??????? + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Windows ????若? ????ゃ??у?荀????? + Private components As System.ComponentModel.IContainer + + '?<?: 篁ヤ????????若??c? Windows ????若? ????ゃ??у?荀????? + 'Windows ????若? ????ゃ???戎???????眼??????? + '?潟???????c???戎?c?紊??????????????? + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(AtIdSupplement)) + Me.ButtonOK = New System.Windows.Forms.Button() + Me.ButtonCancel = New System.Windows.Forms.Button() + Me.TextId = New System.Windows.Forms.TextBox() + Me.Label1 = New System.Windows.Forms.Label() + Me.SuspendLayout() + ' + 'ButtonOK + ' + Me.ButtonOK.DialogResult = System.Windows.Forms.DialogResult.OK + resources.ApplyResources(Me.ButtonOK, "ButtonOK") + Me.ButtonOK.Name = "ButtonOK" + Me.ButtonOK.TabStop = False + Me.ButtonOK.UseVisualStyleBackColor = True + ' + 'ButtonCancel + ' + Me.ButtonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel + resources.ApplyResources(Me.ButtonCancel, "ButtonCancel") + Me.ButtonCancel.Name = "ButtonCancel" + Me.ButtonCancel.TabStop = False + Me.ButtonCancel.UseVisualStyleBackColor = True + ' + 'TextId + ' + Me.TextId.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend + Me.TextId.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.CustomSource + resources.ApplyResources(Me.TextId, "TextId") + Me.TextId.Name = "TextId" + ' + 'Label1 + ' + resources.ApplyResources(Me.Label1, "Label1") + Me.Label1.Name = "Label1" + ' + 'AtIdSupplement + ' + Me.AcceptButton = Me.ButtonOK + resources.ApplyResources(Me, "$this") + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.CancelButton = Me.ButtonCancel + Me.Controls.Add(Me.Label1) + Me.Controls.Add(Me.TextId) + Me.Controls.Add(Me.ButtonCancel) + Me.Controls.Add(Me.ButtonOK) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow + Me.MaximizeBox = False + Me.MinimizeBox = False + Me.Name = "AtIdSupplement" + Me.ShowInTaskbar = False + Me.TopMost = True + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents ButtonOK As System.Windows.Forms.Button + Friend WithEvents ButtonCancel As System.Windows.Forms.Button + Friend WithEvents TextId As System.Windows.Forms.TextBox + Friend WithEvents Label1 As System.Windows.Forms.Label +End Class Added: branches/UserStream/Tween/AtIdSupplement.en.resx =================================================================== --- branches/UserStream/Tween/AtIdSupplement.en.resx (rev 0) +++ branches/UserStream/Tween/AtIdSupplement.en.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,133 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 201, 19 + + + 201, 12 + + + You can change the setting to disable. + + + 201, 37 + + \ No newline at end of file Added: branches/UserStream/Tween/AtIdSupplement.resx =================================================================== --- branches/UserStream/Tween/AtIdSupplement.resx (rev 0) +++ branches/UserStream/Tween/AtIdSupplement.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,243 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 0, 121 + + + 75, 23 + + + + 1 + + + Button1 + + + ButtonOK + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 3 + + + 82, 121 + + + 75, 23 + + + 2 + + + Button2 + + + ButtonCancel + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 2 + + + + Fill + + + Disable + + + 0, 0 + + + 162, 19 + + + 3 + + + TextId + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + + + True + + + 1, 22 + + + 160, 12 + + + 4 + + + 荐???ц???;腓冴????????????/value> + + + Label1 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + + + True + + + 6, 12 + + + 162, 36 + + + CenterParent + + + AtIdSupplement + + + System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file Added: branches/UserStream/Tween/AtIdSupplement.vb =================================================================== --- branches/UserStream/Tween/AtIdSupplement.vb (rev 0) +++ branches/UserStream/Tween/AtIdSupplement.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,150 @@ +鏤? Tween - Client of Twitter +' Copyright (c) 2007-2010 kiri_feather (@kiri_feather) +' (c) 2008-2010 Moz (@syo68k) +' (c) 2008-2010 takeshik (@takeshik) +' All rights reserved. +' +' This file is part of Tween. +' +' This program is free software; you can redistribute it and/or modify it +' under the terms of the GNU General Public License as published by the Free +' Software Foundation; either version 3 of the License, or (at your option) +' any later version. +' +' This program is distributed in the hope that it will be useful, but +' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +' for more details. +' +' You should have received a copy of the GNU General Public License along +' with this program. If not, see , or write to +' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, +' Boston, MA 02110-1301, USA. +Public Class AtIdSupplement + + Public inputText As String = "" + Public isBack As Boolean = False + Private startChar As String = "" + ' Private tabkeyFix As Boolean = False + + Private _StartsWith As String = "" + + Public Sub AddItem(ByVal id As String) + If Not Me.TextId.AutoCompleteCustomSource.Contains(id) Then + Me.TextId.AutoCompleteCustomSource.Add(id) + End If + End Sub + + Public Sub AddRangeItem(ByVal ids As String()) + For Each id As String In ids + Me.AddItem(id) + Next + End Sub + + Public Function GetItemList() As List(Of String) + Dim ids As New List(Of String) + For i As Integer = 0 To Me.TextId.AutoCompleteCustomSource.Count - 1 + ids.Add(Me.TextId.AutoCompleteCustomSource(i)) + Next + Return ids + End Function + + Public ReadOnly Property ItemCount() As Integer + Get + Return Me.TextId.AutoCompleteCustomSource.Count + End Get + End Property + + Private Sub ButtonOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonOK.Click + inputText = Me.TextId.Text + isBack = False + End Sub + + Private Sub ButtonCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonCancel.Click + inputText = "" + isBack = False + End Sub + + Private Sub TextId_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextId.KeyDown + If e.KeyCode = Keys.Back AndAlso Me.TextId.Text = "" Then + inputText = "" + isBack = True + Me.Close() + End If + If e.KeyCode = Keys.Space OrElse e.KeyCode = Keys.Tab Then + inputText = Me.TextId.Text + " " + isBack = False + Me.Close() + End If + If e.Control AndAlso e.KeyCode = Keys.Delete Then + If Me.TextId.Text <> "" Then + Dim idx As Integer = Me.TextId.AutoCompleteCustomSource.IndexOf(Me.TextId.Text) + If idx > -1 Then + Me.TextId.Text = "" + Me.TextId.AutoCompleteCustomSource.RemoveAt(idx) + End If + End If + End If + End Sub + + Private Sub AtIdSupplement_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load + If startChar = "#" Then Me.ClientSize = New Size(Me.TextId.Width, Me.TextId.Height) '???????c?????帥??с??????? + End Sub + + Private Sub AtIdSupplement_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown + TextId.Text = startChar + If Not String.IsNullOrEmpty(_StartsWith) Then + TextId.Text += _StartsWith.Substring(0, _StartsWith.Length) + End If + TextId.SelectionStart = TextId.Text.Length + TextId.Focus() + End Sub + + Public Sub New() + + ' ????若??冴????Windows ????若? ????ゃ??у?荀????? + InitializeComponent() + + ' InitializeComponent() ?若??冴?????у??????申????障???+ + End Sub + + Public Sub New(ByVal ItemList As List(Of String), ByVal startCharacter As String) + + ' ????若??冴????Windows ????若? ????ゃ??у?荀????? + InitializeComponent() + + ' InitializeComponent() ?若??冴?????у??????申????障???+ + For i As Integer = 0 To ItemList.Count - 1 + Me.TextId.AutoCompleteCustomSource.Add(ItemList(i)) + Next + startChar = startCharacter + End Sub + + Private Sub TextId_PreviewKeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.PreviewKeyDownEventArgs) Handles TextId.PreviewKeyDown + If e.KeyCode = Keys.Tab Then + inputText = Me.TextId.Text + " " + isBack = False + Me.Close() + End If + End Sub + + Public Property StartsWith() As String + Get + Return _StartsWith + End Get + Set(ByVal value As String) + _StartsWith = value + End Set + End Property + + Private Sub AtIdSupplement_FormClosed(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles MyBase.FormClosed + _StartsWith = "" + If isBack Then + Me.DialogResult = Windows.Forms.DialogResult.Cancel + Else + Me.DialogResult = Windows.Forms.DialogResult.OK + End If + End Sub +End Class Added: branches/UserStream/Tween/AtIdSupplement.zh-CHS.resx =================================================================== --- branches/UserStream/Tween/AtIdSupplement.zh-CHS.resx (rev 0) +++ branches/UserStream/Tween/AtIdSupplement.zh-CHS.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 149, 12 + + + ???臀?賢??札?渇????綣劫? + + \ No newline at end of file Added: branches/UserStream/Tween/ChangeLog.txt =================================================================== --- branches/UserStream/Tween/ChangeLog.txt (rev 0) +++ branches/UserStream/Tween/ChangeLog.txt 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,1174 @@ +鏤?=== Ver 0.8.8.4(2010/04/13) + * ??賢URL???????????潟?????鴻???;腓冴??????????????吟????????ャ??違?????障?茵?ず???膰?RL???膰??緇?検?壕;腓冴???????紊?? + * ??賢????潟?????違????茵?ず????????????蕁??篆?? + * 筝????IF?≪??<??ゃ??潟??????気????????????蕁??絲上? + * ?糸????????守????????泣??冴??脂??泣??冴???????茯炊???????紊?? + * photoshare???????????冴?箴???????????蕁??絲上? + * ?≪??潟????????ャ??糸???????????????ゃ??≪????5腱??紊?? + * youtu.be?с??糸????????取;腓冴??????? + * URL絮????lvr.it??申??+==== Ver 0.8.8.3(2010/03/24) + * 莎桁???AV?????┃絎???∴????????遺信罩?+ * 茲??茵????????緇???????????篆?? + * nico.ms??軒?????????莨若? + * ?糸????????弱?茖??imgur/twitpic/yfrog/tweetphoto /Mobypicture/?阪遣?丈?/??????????????photoshare/img.ly/brightkite/twitgoo/pic.im /youtube/?????????鐚?+ * bkite.com,youtu.be??RL絮?????綽?+ * ???RT??????菴?拭ALL???????????T???篋冴?菴?拭???菴遵???????紊?? +==== Ver 0.8.8.2(2010/03/12) + * 茯?┝????若?菴??????????札緇???違???????????障????篆?? + * API?????????絽吾???????????遺信罩?+ * 罎?刈?帥???????????c??激????????????憠院?吾?絲上? + * BASIC茯?┝????鴻?????????PI??・膓?????????????PI?狗???????????障?鐚?+ * ProxyAPI絲上???????API??・膓??URL??????臀??????с???????荐??菴遵? + * 1腱?札?????┏??PI?????????????潟?????????? + * home_timeline,mentions,DirectMessage????????????Shift-F5,Shift-r鐚??DM??witter???罕???????????????????堺??障???? + * ???RT??????QT菴?拭?????n_reply_to??????????遺信罩?+ * ?????????莎桁????????ゃ??????刊????馹??絲上?鐚?ween?吾??激??若??????????????c?荐????????絨??????莎桁??с??障?鐚?+ * ??┸??????URL??軒??????????????RL?????軒???????翫????????遺信罩?+==== Ver 0.8.8.1(2010/03/3) + * Web?≪????罩?+ * OAuth鐚?Auth鐚??綽??API筝????50?醐? + * URL膈?????????冴??吾????茯炊? + * ???????祉??潟?????主???D????脂???D????眼???????????≪?ID???????????遺信罩?+ * ???茵?ず?????信罩?+ * ????????????篏??????т?紊?????????????+ * ow.ly???膰?RL絮?????綽?+==== Ver 0.8.8.0(2010/02/23) + * ?泣??若??????RL????器?favotter.matope.com??avotter.net????器? +==== Ver 0.8.7.0(2010/02/23) + * ???綣?/QT??????茹??????劫???????絖???若???札????違??c??????????????ゃ??潟??ф?絖???????????蕁??篆?? + * Web??TML篁??紊??絲上? +==== Ver 0.8.6.0(2010/02/16) + * 罎?刈?帥???tml????鴻??若?????????????蕁??篆?? + * ?????ャ??亥?????≪?????鴻???????????域????????c??祉????箴????????????遺信罩?+ * ?<??ャ??????????????????ゃ??????????????遺信罩?+ * ?帥?篏??????√??帥?????若????綣??膓?????????遺信罩?+ * ????鴻??若???nbsp;?????????荐??膣違??鴻??若???????茵?ず??????????????? + * ?娯????????倶?茵?ず?????;腓冴????????????????鐚????? + * ???RT??????荐???????????ID罨?????RT: RT???篋冴?ID鐚??茵?ず???????????+==== Ver 0.8.5.0(2010/2/12) + * 罎?刈?帥???av?????????????推??翫??т?紊???榊???????篆?? + * 1腱????????????若????羇祉??с????茵?????篆?? + * ?亥?篁倶???篁吟?茵?ず???????遺信罩?+ * ?亥?????御???????????肴????茯??????馹??絲丞?????罩≪?鐚?.8.4.0鐚?+ * ?????ャ??違??医????????????????鐚???ャ??馹???医????????????ャ??違?荀??????????????鐚?+ * ??┏?激??若????????泣??脂??с??????????????遺信罩?+ * 茲??茵??????<??ャ???????????ャ??違??帥??<??ャ???Щ??+ * ?????ャ??亥?????≪?罕??紊????+ * ??????Enter/????????????篏睡??帥??????┃絎?+ * ?????ャ??医?絎???????????????у??????+ * ?域???隈????帥??х隈????若??後??????+ * ???????潟????????????ャ??医???+ * ?????ャ??違??水?篏?舟鐚????????鐚?????????吾?????活申??+ * ??戎????帥??с?????ャ??違?篁??????????? + * ?????ャ??亥?????≪?????с?????????trl-T?????+ * ?????ャ??亥?????≪????絎??????激??潟??御????????????????荐??腮水????????ャ??井??御??倶?????????+ * ?<??ャ???????????ャ??医??????????????????ャ??域???????????眼?0.8.3.0???絎??????ャ??違??潟?????後????篏???祉??障?????激??若???????Ctrl-Shift-T + * ?肴?荅括完???????ャ??違??????????????≪????篁吟?罎?刈?帥?????????????????≪??????? + * 罎?刈?>散?????????膣≪????????????儀????????????膣∽?篁吟?罎?刈???紮????????????遺信罩?+ * @????????????合??壕┃絎????? + * ?帥????????с???????Ctrl-W????????+ * ?肴?荅括完???????ャ??医劻??????????????ャ??違??阪?????с??????? +==== Ver 0.8.4.0(2010/2/3) + * ?帥???申???????糸?????眼????罎?刈???????違????????????????????遺信罩?+ * ?????ャ??違?鐚?D?ュ?茖???с?茵?ず?翫????茖???鴻???;腓冴????????????+ * ???罎?刈?帥???申??????羝???帥???ndo?????申??????????御??倶????????????+ * ???????c???;腓堺?????障??肴???┸???????????????????若??????堺????????翫??????┸緇???????????綽???????????????若?茵?ず + * ???罎?刈?帥????膣√吋罩眼?????????????綺???脂??????????絲上? + * ?????ャ??亥?????≪?????≪?????器????????????? + * ?????ャ??医????????脂?羝???帥????膵違??御????????????+ * ?帥?菴遵??脂???????茯???純??劫?綽????+ * ?亥?????若???;腓堺?篁吟??脂????????c???申????у?篏???祉?鐚?+ * ID?????隈?????????箴?????????????????????у???+ * ???罎?刈?帥??ф?篁吟?腥冴????腆阪????????ф?篁吟?罎?刈?????????????遺信罩o???????膣≪???????鐚?+ * 莎桁???????罎?刈?帥????茯????;腓冴?緇???????????????????????篆?? + * Web?≪????API?≪?????????????????肴???祁???????????????茵?ず?????????罩c??頫?????????遺信罩?+ * ?帥?????帥??????????????蕁??絲上? + * ?帥?????ゃ?????違????????御?筝??????肴????茯?????????障????篆?? +==== Ver 0.8.3.0(2010/1/31) + * ?????????絎?????綣???T???篋冴?ID?ゅ????荀頫?憗????絎????????????遺信罩?+ * 羌?????綣閌?刈??????????????????篆?? + * 荐???с?????∵;腓冴?????潟????????翫????????ャ??亥?????≪??<??括??≪?緇???????????????遺信罩?+ * ???罎?刈??儀?????????????????ゃ??潟??с??帥???申???????糸?????眼?茵?????紊???榊???????篆?? + * ?????ャ??域;荐???帥?????????????????ャ??医??????????????????????紊?? + * TL????<????絖????rotect茘?????菴遵????????????査???荐???????rotect????吾?莨若??????+ * API?≪??????????????????с???????篋??????取;腓冴?????翫????????遺信罩?+==== Ver 0.8.2.0(2010/1/30) + * ??軒URL絮????oo.gl???綽?+ * Web?≪??????0篁句?????吟?????眼???????????????rotect茯ゅ?絎???????????篆?? + * Web?≪????Follower????с???散?????け???????????札??????????????ャ?菴遵???????紊?? + * ??┸紊掩????菴?拭????宴?????≪?????障????篆?? + * ?<??ャ????????ゃ???????????ャ???┃絎??篆???????????篆?? + * ?帥???????絖?????????遺信罩?+ * ???????c?????ょ?紜?????莎桁?????脂???;腓榊??峨?????c?????翫????罩c??с?????????????紊?? + * ?肴?荅括完????吾?????т?紊???榊?????宴??鴻???????絲上? + * ??┸?????????????????+ * ?帥?????帥??ц┃絎??絖?????絎????????????遺信罩?+ * API?≪????????????潟?篏???堺???eb??????? + * ???罎?刈絲上???????篏???у?綣閌?刈?帥?????????????荐??????育????菴遵? + * ?肴?????????ャ??違??御???????罎?刈?帥??????????膣∝???????????障? + * API篏睡????Mentions???篁倶????荐????+ * ??oogle:罎?刈茯?????腮帥???????腮帥???????????吟?Google罎?刈??????荅??絎??鐚?+ * BlackFav罘???????+ * URL????潟????????鴻?????ャ????URL??????????違?篆?? + * ?≪???????????翫??????endKeys?????????紊??(Win7絲上?) + * ?肴?荅括完??D罨?????????鴻??若???T??????絖??????????????菴???????????蕁??絲上?鐚??膓??絖??Tooltip鐚?+ * ?帥??????綺????ndo?с?????????? + * ?肴?荅括完????潟?????鴻??<??ャ????????鴻??取申??+ * ?亥?????狗?????>散??????????宴??激??潟????????c??????+ * ?肴???av??????綽????ot Found???????≪????絎???????????????????+ * Remove??nfollow??;荐????+ * 鐚?d茖???脂????荐???с?????堺????茵?ず + * ?沿┳羲??信罩?+ * nico.ms???膰?PI絲上?????????????絎????????????????????荀??????逸?鐚?┃絎??Additional?帥???申??? + * 荐????utputz??????Addtional???腱医???+ * ????????????source??t??申??+ * ????ц??c?RT????ゃ?????潟?菴遵???T???鐚???わ???????? + * RT???篋冴?Home?????激??若???????菴遵? + * ?肴?荅括完???茹??????鴻??????????蕁??絲上? + * #????障???RL??В????????ャ?茯よ?????馹??篆?? + * API罧??茵?ず??????腱糸? + * ?肴?荅括完????肴???D?潟???????ID????????+ * 罎?刈?帥??с??>散???????吾?????若??合Щ????с?????????trl-Shift-f???膩???<??ャ????菴遵???+ * ?肴??ュ?罨??#??????????????ャ??医????????∵;腓冴? + * ?????ャ??亥?????≪?菴遵???戎??????????ャ??違?羣??莨若??????? + * ?肴?荅括完????肴????????ャ??医劻???????篏睡??????ャ??違????荐???с?????????+ * 140絖???若??若???鮎????????????腮水???????緇????┸????у?綺?∈茯??羆?????????????+ * ?肴??≪?????帥????罩≪????????帥?????????ャ??違??帥???輝????????ャ??違??帥?????上?荐???????????????ャ??違?茵?ず?????? + * ?????ャ??医??????Ctrl-t)?с??????ャ??遺?篏睡??????戎???????ャ??違???????篏?+ * ?倶????????若?????????????????帥?罨???倶??????????????с?????若???????茵?ず??????紊?? + * Post????潟?????若??鴻???????Space??????????翫????????恰?筝??????????吾??潟???????紊?? + * ?贋???????罩e??眼???????菴遵? + * 茲??茵??????帥??激??若???????Ctrl-T???Ctrl-Y?????+==== Ver 0.8.1.0(2009/12/14) + * 膣違?????桁?絲上? + * ???RT?肴???????????????T???篋冴?絲乗院???????????+ * ?∫?腱糸?????肴???Щ????????T???篋冴??????????紊?? + * ?????????????ゃ????????????+ * ??????????????鍵?c????????ュ?罨??????≪???????????遺信罩?+ * 筝????????gif??;腓冴?????純?????障??馹??絲上?(XP???鐚? + * ?帥???┃絎???<???????紊????ettingTabs.xml???膣??????????+ * API?с????RT??av羝???ф???????????????????ween?у?????fav?肴?????肴?????障???????fav羝?????絎????????絲上? +==== Ver 0.8.0.0(2009/11/27) + * Web?≪???????RT?肴?????????????????????吟????荐?D????翫?????c?????馹??絲上? + * ???RT???綣鎛上? + * RT????????????絖??膩??鐚????????鐚?+ * Retweet(Original)???綣??????+ * Retweet??etweet(Unofficial)???腱医???+ * 荀?????Web?????etweet???篋冴??肴???????????????+ * 綣??鐚?T:Quote鐚??菴遵?鐚?trl-Q鐚??菴?拭???篁??????障???+ * 荐?????鐚?S??????????ユ?茯???沿?鐚??菴遵???S??????????ユ?茯???沿?篁ュ???S??戎?c??翫????茯?;荐??????障???+ * ???荐??URL????????激??若??????trl-E????????箴????????????????????篆?? + * 筝??????榊?????????????????肴?荅括完????ゃ??恰???劫????綣?御?????肢蟹???絨???<???? + * ??T @???QT @??????????翫????????帥?篁???????????紊?? +==== Ver 0.7.9.0(2009/11/19) + * API?≪???????????ャ??域?茯??綽?+ * Web?≪???????RT?肴??????с?????馹??絲上?????若?罨????T????肴?荅括完???荐????????RT???????吟???;腓冴??堺???T???荐??茵?ず??????鐚?PI?≪????紊?????鐚?+==== Ver 0.7.8.0(2009/11/18) + * Web?≪???????綣?Tweet????鴻???????????????T?肴???av?肴????茯?????蕁??絲上? +==== Ver 0.7.7.0(2009/11/15) + * ????吾??潟??????∈茯???ゃ????????c??祉???????綺?∈茯????;腓冴???????紊???榊???????篆?? + * ????吾??潟??????∈茯???ゃ????????医?絎鴻?茵?ず???????????+ * Web篁??紊??絲上?鐚?ource???鐚?+ * ??┸???????с???散?ゅ???????????????????紊?? + * @user/lists綵√?????堺?荀頫?憗?篆?? + * ?????ャ??違?罎??罩h?茵?憗?篆?? + * ????鴻??若??鴻?????潟????statuses???status?後???+==== Ver 0.7.6.0(2009/11/11) + * ?帥????????帥????紊???т?紊???榊???????篆?? + * ???????????絎?????絎???????????????遺信罩?+ * Recent/Reply/Direct/Favorites??????????翫????+==== Ver 0.7.5.0(2009/11/11) + * 荐???脂?????若?????????????茵?ず???????????????茵?ず??????腱糸? + * 荐????ID?ュ?茖????戎????????┃絎??菴遵? + * 鐚??篆∴????篏?????箴????????????遺信罩?+ * RT???URL/@Lists??????鐚?..鐚?????????翫?????????????篆?? + * ?????????荐??膣育???????????翫?????????????????????祉?????活申??+ * API?≪???????id/????????就綣?с?????????????綽?+==== Ver 0.7.4.0(2009/11/2) + * ?潟??????????ID???????<??ャ??с????????<?腆肴???????????????遺信罩?+ * ????∵;腓冴????????翫???ID?ュ?茖???脂?????後??c????????遺信罩?+==== Ver 0.7.3.0(2009/11/2) + * ?肴?荅括完????泣??冴?50*50鐚??????48*48鐚??紊???????祉??若??????+ * ????????????菴遵?????с??若?????????┃絎???????????????ゃ???┃絎???祉?????障????篆?? + * ?ゅ???????篏??絎??????????散???????????????篆?? +==== Ver 0.7.2.0(2009/10/31) + * @ID?ュ?茖???с?id腆阪????????翫????絖??羔??????遺信罩?+==== Ver 0.7.1.0(2009/10/31) + * ???????違????膩??茵?ず???????激??活申???????鴻??ゃ??????????????≪??眼?????????? + * C-r??d菴遵???????篏?????????鴻??ャ?????????信罩?+ * ?鴻?????潟??若??取儀??賢???????活;腓冴???? + * @ID?ュ?茖??罘??菴遵?鐚?nter,Tab?х∈絎??Escape,Backspace?у?????с??c??祉????茖?????C-Delete?с??鴻???????鐚?+ * ?御??肴??????????????若?篏?????????御??肴??????????????????????????篆?? + * ??軒URL茹f浦????ゃ??≪????2腱??5腱?????????100篁吟????????ャ?菴遵?鐚????????鐚?+ * 菴?拭???in_reply_to鐚??????>散????器?茲??鐚????n_reply_to?????宴??鴻?紜?????鐚?+ * 菴?拭???????肴?????違??若?篁?? + * HTTP/HTTPS???????????????荐????申??+ * ?????????????ゅ???????荐????申??+ * ??????????????????菴遵?????с????????????奨羇?+ * RT???URL?????????????????+ * ??┸??40??????????翫??????鮎????純??????????腆肴?鐚???????????菴遵? + * ??┸罨???域???????????翠?紊??腮帥?Ctrl-Shift-Enter?у??ャ????????器???┸???荐??鐚?trl-Enter鐚??篆????? + * ????????ween?????儀????????????莎桁???????????≪????????????????????ゃ??喝????????????????????????窪??????????≪????????????+ * ?脂?茵?ず???紊???脂?????c??翫????膃???脂????????処申??+ * bit.ly???????潟???┃絎?????+==== Ver 0.7.0.0(2009/10/2) + * ?亥????茯????????茖?+ * ??????????吾?????若??激??若??????申???PageUp/Down?後?鐚??f/b + * ?????????絖????????蕁??篆?? + * Web?≪????????????┃絎??篋冴??ゅ?????ャ?????????障???eb紊???吾?菴遵? + * Web?≪?????肴??ユ??????????????????у?綽?+ * bit.ly??.mp???腓榊??????+ * ????≪???????????????eb?≪??????PI?≪????紊?? + * ???????若???????????御??≪?2?ゃ?羝???????????????????????綽?????????若???????篁???障???+ * follower???????API????若??潟??劫????????劫?鐚???若????綣???紊???????????API紊??絲上?鐚?+==== Ver 0.6.9.0(2009/9/13) + * ?肴?荅括完??劻???????????若?follow/remove/friendship?潟??潟?菴遵???????罘??????潟??潟??ч???賢?肴???d??┃絎????????紊????+ * ?帥?荀????劻????????帥?????贋?????潟??????????????????御?筝???帥????莟<??????????篆?? + * 荐??篆??????????????紊?????筝??荐?????荐??????茵????????腟?????荐??篆???????????+==== Ver 0.6.8.0(2009/9/8) + * ??????????с????????ゃ?綣??????????????????遺信罩?+ * ??軒?????it.ly??七?句???.mp????????????????綽?+ * Web?≪????followers???API???茵?????????若??潟???????????違?箴?????????????+ * 荐??????ゃ????????馹?????????????????????ゃ??阪??????申??+ * 腟????????荀????+ * API?≪??????ome_timeline???綽?+ * followers????c??激?茯???吾?蕭?????????ゃ????SettingFollower.xml????????+ * ????吾???????膓??絖???遵??????????篁??????障???+==== Ver 0.6.7.0(2009/9/2) + * ???????с??????????????篆?? +==== Ver 0.6.6.0(2009/9/2) + * Web?≪???????筝??@id???茘???с?????馹??篆?? + * Web?≪????DM??散?違?罩c??????????拭緇????????????????????蕁??篆??鐚?eb?≪?????帥?罘??鐚?+***Ver 0.6.5.0(2009/9/2) +-html????眼?菴遵?鐚?eb?≪???? +-荐?????荐??膣井????綛?????????с???申???AA??????綛???????????絎????????????翫?????????????????????? +-????潟????????≪??域;腓堺????紊??綽?+-?肴???????箴??絲上? +-荐???脂??????????箴??絲上?鐚??絎?? +-???紊???∫????紊??綽?+-?帥??<??ャ?茵?ず???箴??絲上? +-?肴?筝?RI???????吟???????箴??絲上? +-Web?≪??????40????????????????肴?荅括完???膓??絖???ゅサ?????????罩?+***Ver 0.6.4.0(2009/8/31) +-荐???脂?茵?ず??け??????蕁??篆?? +-?????????????с????????吾?綣?????絎??????????????????????????????若??若??с??ф??????????緇??綣?????絎?? +-?肴?荅括完???html???帥????pre?帥??後?紊????A經????????????潟?腮????????????筝??????榊????????с???? +-茯?┝????惹??с?荐???脂??????????????≪??????∈茯????????????帥?茵?????????眼?荐??腆肴???????10???篆∴?羆??????障????篆<???????????眼? +-?鴻??若??劫???PI????鴻?????c???????篆????/31????ф?絎銀??桁??????ween筝??????ゃ?????????+-腟????┃絎??絖???ゃ??潟?緇????+-莎桁????????????с????????馹??絲上? +-???荐??Retweet????潟??潟???申???Alt-R鐚??????障???T?????lt-Shift-R?????+***Ver 0.6.3.0(2009/8/1) +-????帥???id???箴<?????違?????ゆ???????????馹??篆?? +-????潟?????ゃ???????????箴???????????蕁??絲上? +-荐???吾?莨若?緇??罎?┝鐚??????ゅ???申??+***Ver 0.6.2.0(2009/7/24) +-24/48?泣??冴??ゃ??活;腓冴????荐?????菴??茵?ず??????筝????信罩?+***Ver 0.6.1.0(2009/7/24) +-Web?≪????????鴻??若????絎?????????障??????????????ゃ??с???????篆?? +-??軒URL???????????UC-JP???茹??絖??????с????罩c??鎡???с?????馹??絲上? +-follow/remove?潟??潟???申??+-?肴?荅括完??;腓冴?篁ュ???就綣??????????潟??????????????筝????????絲上???+-48?泣??????????ゃ??潟?????若???????綣決?茵?ず +-???????????隈?????Щ????帥????茯???ゃ??潟?罧?????篆?? +-DM????ャ?????帥?????吾????????????信罩o?????????????鐚?? +-???????倶??????肢;腓冴??????????菴遵? +-????ゃ?????若?荐???脂?茵?ず???????≪????荐???с?????翫????紊??綽?+-?ц┃絎???<???????紊????????+-???reply??ず????鴻?????ゃ??ゃ??喝勲??????Reply.ico/ReplyBlink.ico?х舟?????с???????紊?? +-莎桁???av??????????с???+-???荐???∵??????┃絎?申??+-???????違????????惹????荐????ocation??io??;腓冴????????取申?????┸????贋?????障?鐚?+-罩c???純???????????遺信罩?+-???????主隈???????g?荐?Щ???箴????????????遺信罩?+-????ゃ?????惹???????????若???;腓冴????????遺信罩?+***Ver 0.6.0.0(2009/7/10) +-??軒URL??В羆冴???????URL????????????????馹??絲上? +-?帥?筝?????篆???????????篆?? +-?帥??≪??潟?茵?ず?????┃絎???帥???申?????????箴????????????????????篆?? +-?帥??<??ャ????膵??茵?ず??????紊???榊??????????篆?? +-Reply?帥????茯?????????帥????????≪??潟????????御??с???????????激??活申??+-Reply???????激??若?????????ween?т??????????荐???翫????????若????????ц;腓冴???????紊?? +-?≪??潟??????0.twimg.com??ttps???綽?????????????ttp?у???後???+-????鴻??若????茹?????荐??????ゃ????絖??????????+-follower???筝?????????肴?????鴻????????????????+***Ver 0.5.9.0(2009/7/8) +-Reply?帥????茯??????翫?????帥????????≪??潟????羯?+-?с??若??с???┃絎???<????TweenConf.xml鐚?????荐??紊???紊掩????莎桁??с?????馹??絲上? +***Ver 0.5.8.0(2009/7/8) +-?帥?荐?????絖?????????遺信罩?+***Ver 0.5.7.0(2009/7/8) +-Icons???????????????莎桁??с???????篆?? +***Ver 0.5.6.0(2009/7/8) +-?域?絨??緇?????莎桁????荐?????絖?????????遺信罩?+-?帥?荀?????腴??膓????劻??????????箴????????????遺信罩?+-莎桁????Fav?????av?帥???????????倶??ф??違????????贋???+-?医???????????ャ??違?茯???????????篆?? +-C-e?с?????ャ??違??????????????馹??篆?? +-?肴?荅括完?ч?膓?????茹??????鴻?1?ゃ????????障??馹??絲上? +-???????違??喝????荅????????篆?? +-?帥?荀??????≪??潟???;腓冴????????激??活申????≪??潟???;腓堺????絖??莎わ?***Ver 0.5.5.0(2009/7/3) +-莎桁???????荐??????ゃ????絖?????荐??????九?蕁??絲上? +***Ver 0.5.4.0(2009/7/3) +-?帥????胼???????戎???????篁ュ?????若??с?????≪?????若???????紊?????????菴遵? +-??????????桁??т?紊???榊???????絲上? +-ReTweet??????茵??
?ф祁?ャ?????違???信罩?+***Ver 0.5.3.0(2009/7/3) +-?帥????罩∽?絖?? ??" ??申??+-?ゃ??帥?荐??????ゃ????????遺信罩?+-?帥?荐?????絖?????????遺信罩?+-API?≪???????膰?RL??В羆冴????????遺信罩?+-ReTweet??TML????若????????????+-ReTweet????肴?????若????臀????????????????+-ReTweet???HTML?帥???祁?ャ?????遺信罩?+-qurl.com??RL絮??絲上? +-API?≪???????????ャ??違?????潟?篏??罘??菴遵? +***Ver 0.5.2.0(2009/7/2) +-????吾??潟????????帥????胼?????鐚?\ : / ? * < > | 鐚????????????翫???舟?????????+-?帥?菴遵??糸?????贋????胼?????鐚?\ : / ? * < > | 鐚????????????翫?????ュ??????+***Ver 0.5.1.0(2009/7/2) +-Web?≪?????泣??潟??潟??с?????????????罕???翫?綽?+-筝??URL?????宴??????+-ReTweet?????br>?帥??????昭??????????違???信罩?+-筝???????昭?帥??х軒?????RL????医??障???????????????RL??????絮???с?????????信罩?+-?х軒?????RL??????(?篁ラ?)?障????????<???#篁ラ?)?????????????翫????絮??腟???????????????????????????遺信罩?+-?吾?莨若???????????鴻??若????茹??????鴻?臀???????????????鴻??若?2???臀???????????紊?? +-?帥?????贋???????????ゃ????????鴻??????帥????罧?????篆?? +-??軒URL茹f浦????????? +-荐??????ゃ?綵√?紊?? +-莎桁?????若??с??≪???????篋??綣鎀?? +-Web?≪????????鴻??若??号???PI罧????;腓冴???????紊?? +-荅括完茵?ず????若??弱???????篋??????????信罩?+-????潟??????HIFT-JIS??????URL????障???????罩c??????с???????????c????篆?? +-??軒URL??????1罧級?????????+-菴?拭???綣決?茵?ず??申?????????????潟?鐚?+***Ver 0.5.0.0(2009/6/15) +-?肴?荅括完??????絖?????????????????????桁?篆?? +-?肴??潟??????????ID??????????????????荐???御???????????翫???????筝?????????????+-?帥?????眼???????????若?篏??????帥?????鴻?????翫??帥????罧???????信罩?+-?鴻??若??号?????潟???RL茵?ず??????潟??若??若?茯よ????????遺信罩?+-?肴????筝????RL???????????????荐??膣違?????若??若????????障??馹??絲上????罩c?URL?????????荀????????篁???с???**Ver 0.4.9.0(2009/6/8) +-URL?????軒???篏?????????c??????信罩?+-???????????申????????????????若????????????????????≪??違??冴?????????+***Ver 0.4.8.0(2009/6/7) +-bctiny.com,pic.gd,airme.us??RL絮?????綽?+-荅括完茵?ず?????????????????????R??????????違??鴻?????c??????信罩?+-?壕?????????昭?帥?ReTweet??????
?帥??????昭??????????違?篆?? +-DM荅括完茵?ず??????篆?M???拭DM?????ず????????????DirectMessage From/To?????????茵?ず????障?) +-?????????茵?ず????鴻??翫??????拭DM???????障??≦?????c???????篆?? +-?肴?荅括完?с???????絖???ф?膣≪????罎?刈????吾?筝?????紊?? +-?肴?荅括完?с???????絖???ф?膣≪???oogle罎?刈??????Google?ユ????罎?刈??????紊??鐚?l=ja鐚?+-POSTmode????帥????????鴻??若????茹??????鴻?臀??????????申???????倶??с?????純?????с???+-in_reply_to_status_id篁?????????潟?????????ID?障?????潟??????????篆?? +-?肴?荅括完??????絖????????????????????綣鎀?? +***Ver 0.4.7.0(2009/5/15) +-Outputz???篆<???┃絎??緇?柑???????馹???????????腮帥?綽??POST荀?九?絎?????????????信罩?+-??軒URL????????????????ゃ?????????????罩e幻???????????????????????信罩?+-all @ replies綮?????罕???眼?篌眼?茲??Reply????????????篁??????????信罩?+-URL?х軒?????DN?????????????c????篆??鐚???????????絖??篏睡????URL??.nu?с??х軒?с??障????u.nu?眼?筝?????篁???с?鐚?+-u.nu??RL??軒紊???茵????????茵???ャ?莨若??с??障?????????信罩?+-??????API??? ?у??膤?PI??戎???羈??茵?ず?с?????????? +***Ver 0.4.6.0(2009/5/8) +-ListView?潟?????????????篏??????若???????????激??????????????違?篆?? +-ustre.am??RL絮??絲上? +-bit.ly?с?URL?х軒???綽?+-URL紊????若??壕??????????篏睡??????┃絎??bit.ly????器?????吾??潟???????????眼???????鐚?+-URL??軒??け?????????????若?????若???;腓冴??????????????遺信罩?+-Twitter Web????ゃ??ゃ?綽??紊??絲上? +***Ver 0.4.5.0(2009/5/7) +-ff.im??RL絮?????絽吾?茵???????????????遺信罩?+-Fav?肴??帥???????紊??鐚?avourites??avorites鐚??????с??????О????????????蕁???????? +-荐?????STOT?潟??若?ReTweet??rotect?肴??????????????鴻?????????????ReTweet?<??ャ?????鴻????????????+-DM??eTweet?с?????障?????????信罩?+-?帥??<??ャ?????帥????紊?????菴遵? +-u.nu??RL?х軒???綽?+-URL??軒?泣????????御??у???戎??????膰???若??鴻?????с?????????? +-URL??軒?泣????????御??х?膰?け?????????2?????????篏睡???????篁ュ???????????御????????????+-Source?????с?????????????蕁??絲上?鐚?eb紊??絲上?鐚?+-in_reply_to_status_id?????с?????????????蕁??絲上?鐚?eb紊??絲上?鐚?+***Ver 0.4.4.0(2009/5/1) +-API?≪????莎桁?????翫????????冴???eb????≪????????帥????????с??????? +-API?≪????莎桁?????翫??????????荐????申??+-digg.com,u.nu??RL絮?????綽?+-tweetburner(twurl.nl)??RL?х軒???綽?+-Web?????ome???荐??reply?宴???????蕁??絲上?鐚?eb紊??絲上?鐚?+-筝???沿?????若???戎??????;腓冴?????馹??篆??鐚?PI茘????????綽?? +***Ver 0.4.3.0(2009/4/26) +-Reply(Mentions)????????┃絎????? +-??┸??????┃絎??菴遵? +-Reply????????┃絎???鴻????????c??馹??篆??鐚?幻????????????????鐚?+-荅括完茵?ず????с?JavaScript/ActiveX???篏??綽泣???????罩?+-??????荐?????膣域;腓冴?篏睡????????違?羞桁????????翫?????祉???????紊?? +-荐???脂??с??若??弱????????<????????鴻?@ID??????????障?????????????????????????????????信罩?+-荐??篆????け???????????????????????+-???莎桁????腥冴?荐??????ゃ???????????????+-twitthis.com,blip.fm,tumblr.com,www.qurl.com??RL絮?????綽?+-?帥?????眼????????????????紊????????篆?? +-箴????????????眼????篋???????????????馹??絲上? +-????潟?????≪?????????????????????????????????? +-莎桁????Fav?喝?????????┃絎????????????馹??篆?? +-ReTweet???綣????眼?????????????篏???????????????眼????蕁???????? +-荅括完茵?ず????ф?絖?????????????????????c??<??ャ?????鴻????????????+-腟?????筝??????鴻??若????Busy????眼?????????? +-?医就綣??┃絎???<???Щ茵?????茯?????????????????????????信罩?+***Ver 0.4.2.0(2009/4/9) +-????????ぇ?ゃ?600腱????000腱??紊?? +-?脂??????r?≪??潟????????亥??????;腓冴????????с?菴遵? +-Web????≪????Followers?????av?喝??????????篏????????????????信罩o?API紊??絲上?鐚?+-API????≪????POST?<???????絎???????????鐚?PI紊??絲上?鐚?+-API罧????幻??;腓冴???????(莎桁??翫???;腓冴??????????罕???? +-????吾??潟?????????.3.8.0篁ュ??後??御???罨≦?????吾??潟??????????鐚?+-Web????≪????筝??????ゃ??潟??????┸????????昭?帥?罩c???Tweet?с?????c????篆?? +-????吾??潟?筝?????膈???ュ慌綣桁? +-Fav????с??????儀??????????c????篆?? +-腟??????帥????????????七??+***Ver 0.4.1.0(2009/4/7) +-API篏睡????reply?ゅ?羲???????遺信罩?+-API篏睡????HTML????若????????遺信罩?+-荐?????絖????????蕁??絲上? +-????吾??潟????腆肴?????≪??違?Vista絲上?鐚?????罔????????腓冴?????ゃ??潟?????潟?篁??鐚?+-荐???脂??с?API篏睡????????帥????????????;腓榊?????眼?罩c??頫????????蕁??篆?? +-API?狗?????鴻??若??鴻?????若?紊??鐚?adRequest(400)??????茵?ず鐚?+-follower???紊掩?????鴻??若??鴻?????若?紊?? +-???????????0腱??紊??鐚?eb????с????茯炊??с????15腱???障??с?鐚?+-荐???脂??у???????叱?違????????????????篆?? +-API??ET?<????篏睡?????鴻??若??号???PI罧???????;腓?+-TwitterSearch?吾??????信罩?+-API篏睡?????帥??????ollower????????????????紊??鐚??蕁????????????????? +-API篏睡????筝????ML??鍵?c?????翫????紊??????若???;腓冴?????馹??篆?? +-?肴???┸紊掩????????????????紊?? +-ReTweet?????witter??;腓冴???????URL?с?????障?篏睡??????????篆?? +-?肴?????т?紊????????蕁??篆?? +-?帥?????若?筝?札紊??????翫???儀???茵?ず篏?舟???????馹??篆?? +***Ver 0.4.0.0(2009/4/4) +-?肴???????????若??剛?臀????+-?鴻????????井??????ebUi????????????悟???????????蕁??篆?? +-API篏睡????@id?吾???????筝???????????蕁??篆?? +-API篏睡????筝????ML????????翫????絎????+-?帥????????с???????菴遵???/s??????-n/C-p?у?緇???帥?????????????C-n?с??帥?????????????????激??若???????臀??????障???? +-?沿???┃絎???≪????????ユ?茯?????筝???????????篆?????茯??綽?????????c???????茯??綽?+-API??????綽??荐???脂????????????????鐚?絵????????????PI篏睡???????鐚?+-茲??菴?拭?с???????????????????????????+-???????吾??潟????????号┤??????羆?????????眼??<??ャ?????若?????ゃ??割???+-?帥???研?渇????絖?????????遺信罩?+***Ver0.3.9.0(2009/4/1) +-Web??RL紊???吾?絲上? +-????????????Favourites??申???Fav?肴???申????????? +-????????????ID罨?????荀頫?憗?篏帥???????紊?? +***Ver0.3.8.0(2009/3/24) +-Form篏?舟羆阪????????鴻????????????????????????信罩?+-??幻???篋????┃絎??篆????????????c?筝?????篆?? +-?≪??潟?篆???с??????儀??????篆?? +-?帥??????????腟????昭?帥?茵?ず????≪????茲??茵???鴻??????????XP????吾??≪??鴻??ゃ?????????祉?箙宴???????????????信罩?+-荐??篆???帥?????違?荀????+-???????????隈????≪???隈????帥???????????????K????恰?????????????羔??????障?筝????信罩?+-荐??????ゃ??吾?莨若??т?紊????????蕁??絲上?鐚??絎?? +***Ver0.3.7.0(2009/3/19) +-?≪???????????帥????茯?????????帥???????茯???ゃ??潟?菴遵????????????信罩?+-?????????????ユ?????????ユ????紊??鐚???吾????0.2.9.0?????????茵?ず???鐚?+-??軒URL??Щ???URL??TF-8???絖??????障???????URL茹f浦??け???????????信罩?+-荐??????ゃ?茯???吾??с?????冴???????????馹??絲上? +-荐???????????????c??????????????潟?鐚??絖????申??+-?肴?荅括完罨????劻?????????????絖???潟??若??с?????医??吾?絲上? +-???????????隈??????紊???榊???????篆?? +-Reply?帥??с?????????????膩???с???????紊?????Reply?ゅ???????荐??罧???障?鐚?+-??????????????????茲???若?????蚊????????????+***Ver0.3.6.0(2009/3/13) +-Ctrl+E??RL?????翫???unycode紊????鴻????????c????篆?? +-OS?激????????恰???┃絎??絖????????????器????鐚?+-荐??茯??莨若??紙???昭?帥?????九勝??????篆?? +-????吾??潟???????????????? +***Ver0.3.5.0(2009/3/11) +-Punycode紊??????箴??????????????????????信罩?+***Ver0.3.4.0(2009/3/10) +-筝????RL???????吾?莨若???В???????????儀???????????信罩?+***Ver0.3.3.0(2009/3/10) +-????≪?????若????篏???????????蕁??篆?? +***Ver0.3.2.0(2009/3/10) +-???????????隈???????若?????馹??篆?? +-莎桁??翫?????????????????若?????馹??篆?? +***Ver0.3.1.0(2009/3/9) +-荐??????ゃ???就綣????眼?WindowsUpdate?х????????桁???? +-莎桁??????????DM???罩c?????拭?ц???????????馹??篆?? +-ReTweet???篆<??????┸???????????+-IDN絲上?鐚?ttp/https/ftp鐚?+***Ver0.3.0.0(2009/2/26) +-tab????р?????潟?????若??鴻?腱祉???????篆?? +-???????????隈????≪????筝??篁吟?菴遵??紫隈???罩c??頫??????馹??篆?? +-??????罘??????激??若??????????????+-絮?????URL??軒?泣???????ff.im???菴遵? +***Ver0.2.9.0(2009/2/26) +-?<??ャ??∫?筝??荀????Space,Ctrl+A,Ctrl+C,Shift+Ctrl+S????激??若????????若?茵?ず???????? +-菴?拭?????????@ID??祁????翫?????c??????信罩?+-Unicode??????URL??TRL+E?ч?????????????????♂???????????翫?????c????篆?? +-莎桁?????粋昭?推賢???篋?????????????????????????信罩?+-??┸荀?倶??冴?莎桁?筝??ID紊???????????????c????篆?? +-????<??ャ?荀?????筝??罘?????絮ゅ???????罘???悟Щ??? +-?<??ャ?????潟??潟??????????罘?????紊?? +-荐???脂??????拭?????????篆≧?????ゃ??≪?????≧????荐??????????+-????<??ャ???eTweet???茖???激??若????????若?Alt+R +-ReTweet??TOT綵√??潟??若????Protect?肴????紊??????????????荐????????????????TOT?潟??若?ReTweet Protect?肴??????????????с????????????? +-莎桁??????賢???篋?????????≧??????軒????c? +-荐???脂????篁????????????泣???????????????????????????違?篆?? +-URL?х軒????c?????х軒???????激????????障??翫????膰??????????信罩?+-????????????絖??????????????茹???鴻??若???????????馹??篆?? +-????????????罩h?茵?憗??帥??潟?腥榊??????????????????????蕁??篆?? +-POST????潟?罔??Post???????帥??<??ャ?茵?ず????潟??域┃?????????????<??ャ?????障???????????у?????????????? +-POST???????帥??<??ャ??с?URL???茹??絖???????ェ臀??????帥?????????????荐??????鴻???? +-POST???????帥??<??ャ??с?API?潟??潟??????舟???????????????????荐??????鴻??????括???????????肴???????????≦????????????? +-POST????喝?篏????????????若???RL?????軒???荐??荐??鐚??篏?????URL?????軒荐?????????障???+-Twitter Web紊???吾????絲上? +***Ver0.2.8.0(2009/2/13) +-??┸?ユ????綣????????????????鐚?+-??祉??<??ゃ??????????蕁????信罩o?0270?с??潟??違???新???????????? +-???????????隈??????????????????蕁??篆?? +-????吾??潟????絽吾????????????????????蕁??篆?? +-荐???脂????????吟?ID?障?????鴻??若?????眼????????桁???????????????信罩?+-?贋??鴻??若??鴻?10篁吟??с??若???????茵?ず????????+-?贋?筝???帥????????≪??潟????????障?????????信罩?+-Twitter?眼?????潟???????茹??絖??綏祉?莨若??馹??絲上?????????ri???茹??絖???????????????劫?鐚??絖??鐚?+-?肴?????с?????????????蕁??篆?? +-?亥??????????????御??肴???????篁???????+-Web??????2??;腓冴?緇?柑 +-莎桁???????????肴????????ャ?????翫???????蕁??篆?? +-莎桁???????????肴???????????????;腓冴?緇????????????紊?? +***Ver0.2.7.0(2009/2/8) +-?域??肴?菴遵????????????????+-Followers?????????????????????信罩?+-??D?с??違??潟?????????????Followers???????c??激?????鴻???????????????信罩?+-????鴻??若????Busy?倶?????丈???????????????c??????信罩?+-r??????????贋????????????? +-???????潟?????ゃ??鴻??????????????遺信罩?+-?鴻??若???D?с??純???札紊???翫??с??鴻??若???D???綺??境???????????? +-?ヤ?茵?ず???綵√??御???+-?????????絖???????????????????信罩?+***Ver0.2.6.0(2009/2/5) +-荐??->茵?ず???????鴻??ゃ???????菴遵??????????ON??ff?с??????????紊??????障???+-??????紊?????荐???御???????????????????????障??馹??絲上???0篁銀札筝??????????????????????????荐??????障??????絵???????? +-????鴻??ゃ????絖??荐????奨羇?+-?亥????????????誌?????????????莎激???憠院???綽?+-??????茯??????帥?????眼???????????ゃ??鴻??ゃ?紊???劫????????紊?? +-?∫??肴?????峨??眼????????????+-?肴?荅括完罨???贋?????????.4腱????.2腱??紊?? +-?劫????荐??絎鴻????箴???????????蕁??絲上? +-茲??茵??????激??若???????C-k???C-t?後???+-?劫????綛??篆?????????c????篆?? +-??????????????????????水?????????????????蕁??絲上? +***Ver0.2.5.0(2009/2/3) +-荐??->??拭???????決┃絎??篏帥????????遺信罩?+-DM?????с???拭?????拭???????吾?罩??????????????篆?? +-??拭?帥?????????????????ゃ?15腱?>20腱?? +-?ユ?????с??亥?????鴻??阪???????????鴻???????????障????篆?? +-?亥????緇???御??倶???┃絎??箴??????冴?????遺信罩?+-篁??????肴?腱糸?鐚?lt + ??????х?荐???御??ц????箴???榊???????篆?? +***Ver0.2.4.0(2009/2/3) +-莎桁?????粋昭?帥??若???eply?帥??ф??違??????札紊???帥?????違?Reply?帥??????????????????遺信罩?+-?<??ゃ?????????????????ф?????????????? +-???膊∞?????????????????????????????遺信罩?+-CTRL+B/CTRL+SHIFT+B?с????????恰?????帥?????????? +-??糸???小茯炊? +-?帥?????肴????絖???????????????若?莎激?????遺信罩?+-??祉??ュ慌蕭????+-????吾?莨若???????????翫奨羇誌?篁?? +-????若??号???????信罩?+-?????????絖???????????????遺信罩?+-???????ゅ?????器?ID?????????????ゃ????????潟???兄??昭?障?????障??????????絲上?鐚?+-Reply????吾?????????肴???eply?с????荀??????????? +-腟?????篏?∈?????潟??≪??????????????????信罩?+-腟?????????????????????c????羝????? +-?肴????????鴻???????茯炊? +-????c??帥?絎?????腱糸???????????????????????違?篆?? +-????推????綣鎀?? +-Source???????綽?+-筝??????ゃ??潟??我????莎激??????????篆?? +-?≪??<??激???IF??戎???????ゃ??潟?絲上? +-Config????ゃ????罩h?茵?憗?篏睡??????????????粋昭????翫?????????????綣桁? +-??????絎???若??с??鴻???????????障??????????????????+-???茵?ず?号??????緇????????????峨??眼????茵?ず???罩≪????茯????昭?帥??翫???????;腓冴???????????障???? +-?ュ?罨?????????ュ?????????????POST????潟??若?????ゃ?????潟????????????????(F5????? +-Followers???????/?≪??潟???????????鴻??????+-?≪??潟?????粋昭?帥?紊掩???????????????????絲丞? +-筝???医???????罩c???onfig????ゃ?????粋昭?????憠院???膈?+-Followers???????腟??????c??激????????????+-???????鴻?????<??ャ???????????若?菴遵???????????ョ??鴻??倶??с???散?????憜??????勲??????????????????+***Ver0.2.3.0(2009/1/22) +-???????若????????ゃ?????????????蕁??篆??鐚??????弱??わ? +***Ver0.2.2.0(2009/1/22) +-Twitter?泣??潟??割?罕???翫?綽?+***Ver0.2.1.0(2009/1/14) +-Fav腟??罎?┝?????????xml????c?????箴????????????????信罩?+-???罎?┝????若?????c?????c?????????? +-?帥???申?????????????眼???????????≪??違?????????┃絎???吾??冴?????????+-?ュ?罨??????若??鴻?????翫??с?CTRL+PageUp/PageDown?с?????????????????????+-16x16篁ュ?????ゃ??潟??ゃ??????????????????indows??┃絎???∴??????????篆?? +-荅括完茵?ず?????????????????????F5????????????????????信罩?+-DM??拭????潟?紊???с?DM??????絽吾??????????????????信罩?+-CTRL+E?с??????????絖?????URL???????????????筝?????篆?? +***Ver0.2.0.0(2008/12/27) +-Outputz筝????奨羇祉?????吾?絲上?鐚?┃絎???∵?茯???純??劫?綽?+-荐?????絖?????莎桁?????翫???utputz?吾?荐??????鴻???????筝?????篆?? +***Ver0.1.9.0(2008/12/24) +-twurl.nl?у?膰?????URL???????с?????c????篆?? +-?劫?????ゃ??潟????????若?莎激??????信罩?+-wedata??拭????帥?????????腱??(???) +-Outputz絲上??潟????篆?? +-Twitter??tml罕??紊??絲上? +-BlackFav?激??若?????????+-????吾??潟????????с?????贋???????????????ourceForge.jp????器?罨∞????鐚?+***Ver0.1.8.0(2008/12/15) +-Wedata篏帥?????????+-?ュ?罨??URL???腮炊???????膰?????????с?菴遵? +-?阪??帥?(Recent,Reply,Direct)???綺鎀?????????????+-?肴????絲丞? +-?<?????若?篆?? +-?肴????????ゃ?...????潟???? +-?肴??????????????c??若?菴遵????罘??????若? (@shuyoko 羂??????????????????????障?) +-莎桁?????粋昭?帥??若??域┃絎???????eply??M???絖????????????????信罩?+-???????恰??ャ?箴???榊?????翫????綽?+-ID?????????????帥??御?????≪??違???ecent,Reply,Direct??;腓冴???????????遺信罩?+-??軒URL絮????け????????????????т信罩?+***Ver0.1.7.0(2008/12/04) +-?潟??潟???????????????+-?????????????御???????????????????鐚?????????????????????後???????????????+-????若???;腓冴????????若??弱???;腓冴????????с???┃絎??荀??????????? +-??????莎桁?????翫???儀?????????蕁?????????c?????桁?篆?? +-Twitter??TML紊??絲上? +***Ver0.1.6.0(2008/11/28) +-荅括完?肴?茵?ず????????劻???????膣≪????????ゃ?絲上?????????????篁??????守????荀?????茵????? +-??????篋??????????????茵?ず?????????????ゃ???? +-荅括完?肴?茵?ず????????劻???????????若?URL???????с?????????? +-荅括完?肴?茵?ず?????????膣≪??????????罩h???????????c????篆?? +-???????御????????????????罎?刈????????????????????信罩?+-荅括完?肴?茵?ず????????劻???????????若???????絖????憜???????罎?刈?с????????????+-Twitter?潟??潟?茯よ??馹??????т信罩c??????????????????????篆?? +-HTML茹f???け?????????????冴???TML????<????????潟??潟?????喝???/d'??????鐚?+-DM????????宴??鴻?絲上? +***Ver0.1.5.0(2008/11/25) +- ?≪??潟??泣???8*48????;腓冴?罩e幻??;腓冴????????遺信罩?+***Ver0.1.4.0(2008/11/25) +- DM????????宴??鴻?絲上? +- DM?с?????????????????????若???????????綽?+- UI ?????? (篁??茯????????絲上???????????堺??障?) +- UI ???茯?????????ゃ? (篁? +- budurl.com?у?膰?????URL?????;腓冴?絲上? +- DM?????с?????c??翫???ollowers??????????茵?????????????信罩?+- 荅括完?肴?茵?ず????у劻???????????????????絖???ф?膣≪?????????????絲上???ikipedia??oogle??witter罎?刈??witter Search??+- ??軒URL??拶???URL???罩h?????????????絖??????障??????????????????儀???????????信罩?+- F5?f????篋??箴????????????遺信罩?+- ?肴??ュ?罨???c?箴????????????遺信罩?+***Ver0.1.3.0(2008/11/20) +- 荅括完罨??ID/?ユ????????純????????????????D茵?ず?????????????障??馹???劫? +- ?<??ャ??????劫???OS ????若??с????????絽吾?????????+- Alt ????????????????若??鴻?羞隙恒????馹??篆?? +- F1 ?????Tween ?障?????ゃ???;腓冴?????????? +- ?≪??潟?????粋昭?????????????≪??潟????絖???????????????若??榊???????篆?? +- ?肴?/DM??????荀????????????с??泣????????????????????c????篆?? +***Ver0.1.2.0(2008/11/17) +- URL?х軒????ч?篆<??????儀??????????????????????????信罩?+- ?肴?荅括完????????????????蕁??篆?? +- 莎桁?????≪?????若?????с?????????????蕁????信罩?+- ?潟??潟??<??ャ???RL??軒紊??????????若????膰???若??壕?????????申???Tinyurl???綽???????????is.gd????????? +- CTRL+L??RL??軒紊??????膰???若??壕???????????????? +- ?ュ?罨??膀???御???????????????????????蚊?URL?????????????????????????ユ?茯??URL????障???????????????????http?у??障?????????????篁ュ???RL絋ュ??ф?荐若???括?????c???????鐚?+- ?潟??潟??<??ャ???RL??軒紊??????????若????????????申???POST??????????с????紊???????祉??障???+- ??軒URL絮??????違??若??劫?綽??is.gd,twurl,rubyurl???鐚?+- ?肴???M????ゃ???????蕁??絲上? +- ?帥?筝?????篆???????????篆?? +- ?贋?筝???ゃ??喝????箴???????????蕁??絲上? +- ????吾??活;荐???器????篏????runk????吾??潟????篏睡?鐚?+***Ver0.1.0.1(2008/11/11) +- ???篏???<??ャ????菴?拭???????帥????????菴遵?????с????????????TRL+I?с???+- ????∵;腓冴?????с?????桁?絲上?鐚??????≪??????????????????В?ゃ????鐚?+- ?????c??潟?Emoticon??戎??????????鴻?????若?img src?帥????????乗;腓冴?????????憠院??信罩???舟?????障?) +- ?潟???????????с?????器?紊??蕭?????鐚?+- ?鴻??若??鴻??若?????????????????????? +- ???篁ュ????????帥????????????????????帥?????ゃ?????????????蕁??篆?? +- ?帥?????ゃ?荅括完???????ゃ??潟??潟??????????絲後ぇ?糸??吾?????鴻??≪??潟????絖?????????????(???紊х?????絖??篆??) +- 箴???榊???????????違?????ゃ????????????眼???+- (?????BackgroundWorker腟??緇???????leep???茯炊? +- ?鴻??若??号?腮炊?????????????????域??ュ?????????(????倶???????????絨?????????筝???ュ? (?ф?????? ?с?) +- ?<??ャ???????????帥???????臀???劫? +- 茲??茵?隈???????眼?????若??????;腓冴???????????上?????????????????? +- ??┸????????????????????潟???Up/Down ??? Ctrl+Up/Ctrl+Down ?????+- ?肴?罨???壕???????菴遵?鐚?hift-Enter??trl-Enter???鐚??腮帥??若?荐????????鐚?+- ????<????-???荐??茲??茵??????х?荐??????域??ュ?????????????+- ?肴????紊掩?????<??祉??吾?膂∞???+- ?劫?????ゃ??潟??х?篋????????????若??榊??????????篆?? +- 腟????????綛臥???? +- ??????????<??ャ?????ュ?罨??URL???膰???????申????ュ?罨?????URL?c????絖????????????若??泣?????х?膰??????障???+- ???篏???<??ャ???????????若??若??鴻?????????????????<??ャ???Щ荐?? +- 荐??????≪??違??????????????????????????吟?????????????????????? +- ?ユ??純?????с??若??с?????馹??絲上? +***Ver0.1.0.0(2008/10/28) +- ?贋????0??┃絎????????????若?莎激?????遺信罩?+- 腟?????筝??荐??篆???с?????????????????∴???????紊??鐚??????若??с??≪????綽?? +- 莎桁????????吾??潟??с????????吾??潟??????????荐??篆???с??????????????遺信罩?+- Shift????????????莎桁???????????亥???????????????若??с????????????????綣桁??贋???????紊?? +***Ver0.0.9.9(2008/10/28) +- ????????┃絎?申??????篆??????????????蕁??絲上? +- ????激??潟?莎桁?????若??с?????????儀??????????炊??違?????激??潟?菴遵? +- ?贋???????茯炊??с????16篁銀札筝???翫???1腱??紊?? +- TinyUrl絮??????激??潟?罘??????????????蕁??篆?? +- ?贋???????茯炊?????純????????c??馹??篆?? +- ?贋???????茯炊?????鴻??≦?????激??潟?荐???脂???申?????????????刻? +- ?鴻??若??号???OST?狗?茵?ず?????;腓冴?紊?????Fav?違?菴遵?鐚???肴?/Fav/????肴?鐚????サ1??????膰上??с???+- ?鴻??若??号?????ゃ?????恰??育???;腓冴?菴遵? +- ????鴻?????ゃ??≪????15腱?? +- ???絎???????隈?????????????????? +- ????????????ID?????????紊ф?絖?????????ャ???????篆?? +- DM???腮炊???;腓?+- followers??PI????吾?莎桁?????鐚??????с??у??翫??鐚????????菴遵????篏??鐚????????篋冴????????c????絖???????? +- Fav??????絎????av菴遵?API???膈??篏睡??????ウ絲??茵???????????????????FF鐚?+- ??????荅括完?????????膩??腱糸????????ゃ????絖?????????c????篆?? +- ??幻????????;腓冴????????激??活申??+- ?帥?????ゃ?????????????????ゃ?90腱??紊?? +***Ver0.0.9.8(2008/10/16) +- wedata紊????????莨若? +***Ver0.0.9.7(2008/10/16) +- ?????????????器???ぇ?ゃ?荐???ゃ????????劫??ц?????器? +- Home??M?違???????????????????DM??? +- Setting?脂????????潟?????号???+- Setting?脂???inyURL??В羆冴???????????с?菴遵?鐚????????ON鐚?+- ??拭?????ff???On????c??????拭????鴻???????????????????????????? +- 1?????????POST罧????????紊у??違?茵?ず??????????????ぇ?ゃ????荐???у????125???????狗????罘?????????????+- WindowsVista?у??ゃ??ゃ????????ゃ??????刊?????????篆?? +- ??????????ユ?絎???堺??????┃絎???≪?菴遵? +- Fav??申?????????????????????????????若????茯?????????馹??絲上?鐚?witter篁??紊??鐚?+- ????潟?????ゃ????????違?茵?ず???????翫????茯???贋??帥?????違????????ゃ?????ャ???+- ???????ゃ??潟?茵?ず?????┃絎???翫?????ゃ??括?????????????????+- (TweenUp.exe)Administrator罔???у?????????????????吾??潟???????Tween.exe???????潟??ゃ??????儀???綺????+***Ver0.0.9.6(2008/9/19) +- ?????????????鴻?????ゃ??ゃ??潟??帥????荐????申???荐???脂??с??????????????≪??潟???????????с?????ャ?????????? +- X????潟??若???????腟?????荐????申???荐???脂??с?X????潟??若???????腟??????????????????????????? +- ?泣??潟?????鴻???????????????????????若?菴遵??????????ゃ?鐚????????????? +- 荐???脂??????? +- Web???????????????????帥?????????+- ??????荐????????. ????c????篆<?荀???????????紊?? +***Ver0.0.9.5(2008/8/27) +- DM????с?????馹??篆?? +***Ver0.0.9.4(2008/8/27) +- 48?泣??冴??ゃ??潟??肴????緇????+- ?肴?????ゃ??????????????馹??篆?? +- ???絎???ecent?帥??ф?茯?????茵?ず???????障?????馹??篆?? +***Ver0.0.9.3(2008/8/26) +- 48?泣??冴??ゃ??潟??????er0091?障?????医?茵?ず????鴻?????????? +- 48?泣?????;腓冴????????????お絖??茵?ず??????紊??????ゃ??潟???????????????+- 48?泣?????;腓冴????????????????????ユ??с??若????????????+***Ver0.0.9.2(2008/8/25) +- 荐??筝??????????????????????潟?????帥??ц┃絎???≪??????????筝?????篆?? +- SHIFT??????????障?POST????潟???????????翫????????帥?????鴻??????????????????? +- Twitter?潟??潟?絲丞????:D???:-D???W-OAM??研?潟???????蕁?室???絖???с??阪??????????篆????+- ??幻罎?刈????????ぇ???絨???????ャ?????宴???????????阪????????????ぇ???絨???????ャ????????с?????ャ?????????? +- 罎?刈?ф?荀頫?憗?篏帥????????????+- Fav????肴????緇??腱糸??с?????с?????????????茖?????(SHIFT+N?障?????ф??吾?SHIFT+P?障?????у??? +- ?≪??潟??泣???8x48??????????ゃ????????????????? +- ?帥???????????若???????????吟????茵?ず???????純?菴遵???┃絎???≪?????ゃ?????若?????????? ????吟????茵?ず?????????????????????? +- ?帥?????????;腓阪?絎鴻??御??с???????紊??鐚?┃絎???????????????吾??潟??肴????茯???違?????違?????????鐚??)??????/???荐??????贋?????????随? +- ?????????????ゃ?????с?????????????????????????膩???с????????????+- URL?御?????≪??違???RL????????????????????RL?吾??潟??с????????????+- ?吾?莨若?API???罕???眼?絲上????????若??若????????ゃ?罩c??颷?拭?????昭?帥???????????????????茵?ず茘?????緇??茖??絎?? +- ????吾??潟?蕭????+- DM茹f????紊????申緇?+- ?脂?筝??URL茵?ず罨?????腮????????茵?ず +- ?純???????????????+- 48?泣??冴??ゃ??潟????????鴻???????障???;腓冴????????眼?鐚??綺????? +***Ver0.0.9.1(2008/8/4) +- ????????????紊????????????с???????篆?? +- ?帥?????祉?????????∈茯??????若?菴遵? +- ?肴??????M???????????????蕁??絲上? +- ????帥????????障?鐚??鐚??蕁?????絲上? +- siv?????eb?????????????с??∫??潟??????? +***Ver0.0.9.0(2008/8/2) +- ????ゃ?篆????;荐??csv???tsv?後??眼??????????????激??潟?????宴?????帥????臀????????茵?舟????菴遵? +- SplitterDistance??????篆???????????絲上? +- ?????????????脂?????????隈?????????????????????????????軌???蕁???劫? +- ?泣?????????奨絽井?????????????蕁??絲上? +- https絲上?鐚???>散?с?????遵?????違??ャ??????????鐚?+- ????帥????荐???????????罘??菴遵? +- ?帥????茯?????Off?????????????倶????茯??罧?????????遺信罩?+***Ver0.0.8.9(2008/7/18) +- ?泣??潟??潟?Web紊??絲上?鐚?ttps????若??????????????c???????????器? +***Ver0.0.8.8(2008/7/9) +- STOT綵√??潟??若????筝???????????????с???????????????????紊?? +- Ctrl+E?х?荐?賢??RL????閟??菴遵? +- GDI+???????????????筝??????鏄√?鐚?CO???鐚???翫?????????? +***Ver0.0.8.7(2008/7/4) +- ?肴???:????障???????????鴻??若???????????с?????馹??篆?? +- ??????????若??若??肴????Add me????<????????c??翫????HTML?帥????荐???????????????桁?篆?? +- ?????????????贋???????????????????紊?? +- STOT綵√??潟??若????箴???????????蕁??絲上? +***Ver0.0.8.6(2008/6/17) +- ????????????罩h?茵?憗?篏帥???????菴遵???????罩h?茵?憗?絋ュ??с??с????菴遵? +- html?鴻????????違????????帥?wedata????????????紊?????膣??Web篁??紊?????wedata????眼??帥?絲上??с???????????障???? +- STOT綵√??潟??若????箴???????????蕁??絲上? +***Ver0.0.8.5(2008/6/13) +- Twitter篁??紊??鐚?ecent鐚?????綽?+***Ver0.0.8.4(2008/6/13) +- DM???篆<???拭?????????篁銀札筝????????DM???紊掩???;腓冴?????????;腓冴????????障????篆?? +- DM???紊掩??????????茵?ず???????????信罩?+- DM????с?筝≧????????吟??????????DM??拭???????水??純??????信罩?+***Ver0.0.8.3(2008/6/12) +- ?肴?絮ユ?????吾???????蕁??篆?? +- ?????????????????????????????hift-jis絲上?????後??器???? +- ???HTML???????倶??у?????????????????????у?綽?+- 莎桁???eplies????吾??????け?????????絽吾??若??悟Щ茵??????????+- ??拭????惹????????ゅ??違?鐚????????紊?? +- ?<??ャ????????御????緇?柑????с????????????;荐????????Ctrl+A?т撮???? +- ?帥?????ゃ???????reply????с????????????????????с?菴遵? +- ?肴???┸??PI?????? +- ?障?????∵??????????????冴?????????馹??絲上? +- ????吾??潟??с?罨<??肴??悟Щ??????????若?篏?舟?????+- ????????????絎????????????翫?????亥?荐??茵?ず?????????????帥?????若???????紊?? +- Shift+Z?с??御?茵???脂?筝?ぎ?後?茵?ず +***Ver0.0.8.2(2008/6/5) +- ?帥??????????????????????蕁??絲上? +- ?肴?絮ユ???????????純????絨障?荐?????????馹??篆?? +- Tween??????????脂??ф??医吋罩頑;腓咲????????若??????申??+- ?肴?絮ユ???;腓財??ュ?????√??も??ャ?絮ユ???;腓冴??у吋罩眼?腥冴????????????信罩?+***Ver0.0.8.1(2008/6/5) +- ??????????c??帥???????????????????????????+- ?????????荀頫?憗?篏帥??????????URL???膣≪???????????激??活申??????????眼????????障?鐚?+- ????????????????????????篁?????篏???????????????с???申????????????????ゃ??恰┴??;腓削????????眼????????障?鐚?+- ???????????????????絎??????????┃絎??菴遵?鐚?????????с?????鴻?????????????絎??絖?????????????????鐚?+- ???羔??????帥?荀??????<??ゃ??馹??絲上? +- ??????????若????????紊????+- ?帥?????帥????????????研?渇?????祉?????????????蕁??絲上? +- ?肴?????育??????trl+R??????????????????.鐚??篁?????????馹??絲上? +- DM菴?拭茖???с?????若??鴻??ュ?罨??腱祉?????馹????????絎鴻?羔??????障??馹??絲上? +- ?ュ?罨??筝??????寂????????с??肴?絮ユ???;腓?+- 膩???<??ャ?????潟??種?STOT綵√?????鴻?鐚????????鐚??????帥?URL鐚????申??+- ????<??ャ????ID?????????????????申??+- ????????????????∵;腓堺??????????????若??鴻?荐????????篆?? +- ???????????ween??????????脂?????医吋罩眼?茵?ず??申??+- 鐚?申荐???????;腓冴??≪??潟????????冴???;腓冴?????馹??篆?? +***Ver0.0.8.0(2008/6/2) +- ??拭?帥?????????????????ゃ??祉?????????????膓?????????????????????祉? +- Ctrl+C??TOT綵√??с????????若??吾???? +- Ctrl+Shift+C?с?????帥?URL??????????若??吾???? +- ?????????篋冴?茘???с???????????ゃ??恰┴?????????茵?ず +- ?肴?罨??Ctrl+A????????????蕁??絲上?????鴻???trl+A???????若????????純????????с?絎?????篏帥??????? +***Ver0.0.7.9(2008/6/1) +- ?肴???┸??PI??戎??????????????????????蕁??篆?? +***Ver0.0.7.8(2008/5/31) +- ?肴???┸??PI?с???????????器?????????ff??PI????????rom Tween???;腓冴???????鐚?+- 茲???肴??御????Ctrl+R??篁九???????????c??馹??絲上? +- HTTP??拭?帥?????????0腱???????????2?????????紊??????肴???┸篁ュ?鐚?+- ?肴???┸????鴻???????????帥?????ゃ????緇????蚕羝??????ゃ???? +- ??菴?拭ALL??<??ャ?菴遵????荐??????????????荐????????ID??????篆?+- DM??????????鴻??ャ???????蕁??絲上? +- ?<??ャ???????????????eb????吾???????????純?????c????篆?? +- 茯ょ??我???????Ctrl+Q????с?????????? +***Ver0.0.7.7(2008/5/29) +- 鐚わ辞??????????鴻??潟??????????????c??馹??絲上?鐚??綺?????????????? +***Ver0.0.7.6(2008/5/29) +- ?傑???????????鴻??潟???????絲上?????????????蕁??絲上? +***Ver0.0.7.5(2008/5/29) +- HTTP??拭??????????<??水??眼???拭???????????祉?????ャ??????+- Ctrl+Enter?с??鴻????????激??潟????????????軸???POST???茘???潟??冴??馹??茹f浦 +- POST????惹????????若???eb???????????眼? +- ??????Twitter???????ャ?????<??ャ???申???HTML?帥?????祉??????????????с????????????с??????????絲上???+- 罨♂?????上???????????ゃ?20?????+***Ver0.0.7.4(2008/5/23) +- fav 羝???????av???????若?????馹??篆?? +- ????肴???av??????蕁??篆?? +- ?帥?????帥???????????ャ????蕁??篆?? +***Ver0.0.7.3(2008/5/21) +- ?肴?茲???御???????????寂?????御??????????筝??ID?脂??с???????絲上? +- 莎桁???eply茯??莨若?????御?????純????????c??馹??絲上? +- ???????主隈????≪??帥???????????潟??鴻?????純????????c??馹??絲上? +- ???????c??帥???隈??????????c??帥????????蚊?????????????絖?????罧?????蕁??絲上? +***Ver0.0.7.2(2008/5/20) +- ?????????????惹??処申???ID???????????????篁吟??????????????ID???????眼??????????絎??茯?????????違????????怨ぇ絨???????ャ??障?????鴻??若??阪????AND?>散?????????ID+POST?????????荐??ID???荐??絎鴻??阪????????????????ID&POST????????D?????????????>散??ND?>散??????????????????????>散????障??障???????????潟???RL???膣√?莟<?????障???+- Fav菴遵??糸??ゃ??????? +- ??????????<??ャ??????????????榊憗????蕁??絲上? +- ?亥???????茯????????Wav????ゃ?????????┃絎?????????????????????ャ??ゃ????????<????????若??亥??????Κ?с??????N????c?????翫????????????n/Off ????純??障????茯??????ゃ?????????┃絎???≪????膊∞???Κ????c????????泣??潟????????????┃絎???<?????泣??潟??????Κ????c??????? +- ????若??с????荐??????ゃ???????????????障????????若??с???????????違?????障???? +- ???????吾??潟??????????VBScript???@syo68k羂鋎????xe????器?Thanks! @syo68k鐚?+***Ver0.0.7.1(2008/5/8) +- Enter????с?茲??Reply?????????蕁??絲上? +***Ver0.0.7.0(2008/5/8) +- ??拭DM???拭DM?????;腓冴????????障??????????????????馹??絲上? +- 菴?拭???茖???с??肴??御????Enter???荐????????????????????篆≦????茲?????????ゅ???????篏???翫????篆≦???????菴遵?????障???+- 菴?拭茖??????с?Ctrl+R鐚????????????若????????????????篆≦????茲???с?????????????菴?拭???菴遵??????? +***Ver0.0.6.9(2008/5/8) +- ?劫?????吟??吾????????????????蕁??絲上? +- DM???篆≦?????鐚??篆≦???????????ц;腓冴??障?鐚?+- ?贋????0???絎??????????贋??≦?鐚?+- Reply??M??儀???茯??莨若?????御????絎??????鐚?ecent??M??鐔??Reply??鐔??絎????с???? +***Ver0.0.6.8(2008/5/7) +- ?域??帥?篏????????綛?????筝???????????????????????蕁??絲上? +***Ver0.0.6.7(2008/5/7) +- ????????研?渇??????儀?????奨????????????????馹??絲上? +***Ver0.0.6.6(2008/5/7) +- ????水??????贋?筝???ゃ??鰹??√?????わ????????若??с?鐚?hanks! @pureminami鐚?+***Ver0.0.6.5(2008/5/7) +- Web????ゃ????紊???吾?絲上?鐚??荐?????SPAN?帥???????????c???????鐚?+***Ver0.0.6.4(2008/5/7) +- Web????ゃ????紊???吾?絲上?鐚??荐?????SPAN?帥???????????c???????鐚?+***Ver0.0.6.3(2008/5/6) +- Web????ゃ????紊???吾?絲上? +- ?帥?荀?????D&D?т研?号??????????????障??????????????帥?篁ュ?鐚?+***Ver0.0.6.2(2008/4/11) +- Web????ゃ????紊???吾?絲上? +***Ver0.0.6.1(2008/4/9) +- Web????ゃ????紊???吾?絲上?鐚??荐????┸鐚?+- Tab??????????????????????眼?????????+***Ver0.0.6.0(2008/4/9) +- Web????ゃ????紊???吾?絲上?鐚?ecent???鐚????鐚?+***Ver0.0.5.9(2008/4/9) +- Web????ゃ????紊???吾?絲上?鐚?ecent???鐚?+- 莎桁????茯??莨若?膓??腆肴??с??鴻????????????+- ????贋????Proxy???????ュ??水?膈?+- ?肴?荅括完???????若??鴻?????????pace????ф?茯???c????????????+- ?肴?荅括完???????若??鴻?????????5????х?荐??膣違?羔?????蕁??絲上?鐚??????????純??障???? +***Ver0.0.5.8(2008/4/2) +- ?贋?筝???ゃ??潟??ャ??帥? +- 腟????????????с???????????????蚊????????馹??絲上? +***Ver0.0.5.7(2008/4/2) +- ?肴??????pace????ф?茯???吾??潟???????紊?????????肴????腥冴??翫??????+- ?ャ??????????莎桁?????翫????篋??莎桁??с???????紊??(茲???≪???????綽? +- 罎?刈?????????????????????罎?刈???????御??倶??ц;腓冴?????????+- ??????荐????????紊?????????c???????潟??????奨羇?篆???肴??????????????莢??荵醇?) +- ??┏????≪??違???????????ゃ??脂?????c?????肴????IME??ff??????蕁??篆?? +- ?亥???????????????????????純??????信罩?+***Ver0.0.5.6(2008/3/23) +- j/k????с?腱糸??с?Ctrl??hift??????篏窮????????????若????筝????????篏???????? +- ???????<??ゃ?篏???????????????¥????篏???????戎??????????翫?????ャ?????????? +- 荐???脂????????????憜????荐??????<????絖?????????眼? +- ????∵?篏?舟???膊<???????????眼? +- 篆?????????肴?????<???????????処申???UTF-8???????????就綣??sername,?肴?鐚????????,?ユ?,nickname,ID,?肴?鐚?tml綵√?????潟????鐚?+- ?肴??ュ?????????trl+Space??????茯???c???奨羇祉? +- ?肴??ュ??????trl+A???????鴻????????≦???????????ュ????????御???????????????? +***Ver0.0.5.5(2008/3/19) +- ????純?腱糸?膤祉?1????激??若??????申???z鐚?????荐???脂????茵?????????鴻????????ユ??????????????????????茵????hift+g鐚???亥?荐???吾??潟???hift+h鐚???√????筝???吾??c????Shift+l鐚???√????筝???吾??c????Shift+m鐚???√???賢紊???吾??c???? +***Ver0.0.5.4(2008/3/18) +- ?≪??潟?????帥??ゃ?罘????????????c????篆?? +***Ver0.0.5.3(2008/3/18) +- ????純?腱糸?膤祉?1????激??若??????申???.鐚???潟??若?腱糸????/????≪????鐚???g?荐?Щ???Enter鐚?eply?ュ?茖?? +- ?肴?膩???????????????????????????????????????蚊?紊???с??障???????????祉??誌? +- ????吾??潟???????????????tf-8?у???????????????????蕁??絲上? +??.0.5.1or0.0.5.0鐚??鐚??????若??с??≪??????査???????с?蕁???????? +??.0.5.3????????????????障???????15:42????≪????????с???墾????潟??若?鐚???????????????障???+***Ver0.0.5.2留(2008/3/17) +- ????純?腱糸?膤祉?1????激??若??????申???j/k鐚??筝??h/l鐚????査???緇??荐??n/p鐚???潟??種??∫??肴?腱糸???pace鐚??茯???c????????????????鐚?+- Ctrl+Space??????茯???c?????激??若???????罩?+鐚?????激??若?????????????????????????????刻? +***Ver0.0.5.1(2008/3/12) +- ?帥?????帥????????若??榊?????馹??篆?? +- ?帥??<??ャ???D?潟???腱糸??御????茵?ず?????????????≪????????御???????OK????恰????????若??榊?????馹??篆?? +- ??┏?≪??潟????????inami???????????? +- ????吾??潟????????鴻???????篆????????????鴻?腟??????ゃ????紊?? +- ?≪??潟?????鴻?????冴?絲上?(?≪??潟???????????c??眼??с??????????膣違??ャ?罘????????) +***Ver0.0.5.0(2008/3/11) +- ?亥???????茵?ず???????翫???????蕁??篆?? +***Ver0.0.4.9(2008/3/11) +- ?亥????????峨????茵?????????遺信罩?+- ????鴻??ゃ???????????若?????峨????茵?????????遺信罩?+***Ver0.0.4.8(2008/3/10) +- 篆??篁倶???????????????純?腱糸?????????馹??篆?????????????????莎桁????筝?????????????? +- ??????????若???ween?障?????ゃ??吾????????若????????潟??若?????吾???申??+- ????<??ャ?????贋?????≪??祉?????????荐?? +鐚????┃絎???≪??????賢?ц??c??障??с?????????????鐚?+***Ver0.0.4.7(2008/3/4) +- @菴?拭????ヤ??桁?篆??????????????????菴?拭???茘??????翫???????????????+鐚???ャ?????鴻??????┃絎???≪?荀??????????障????篋????????????鐚?+***Ver0.0.4.6(2008/2/29) +- 鐚わ辞????肴?????遺?????ゃ?????若????筝?????篆?? +- ??若???????綽?????<3?????????障? +- ???絎??Reply?ゅ????荀頫?憗?紊???????査絎??菴?拭?????????篆<??ゅ?????????????蕁??篆?? +- tinyUrl?????????絲上?鐚???≫??????????茵?ず?????????????????障???? +- ?????????鐚??鐚??絲上?????ゃ???+- POST???筝??????????????????с?@hogehoge?????賢???荐??篁????????蕁??篆?? +- 篏睡????????≪??潟????篆?????絽???ゃ??潟????荐??CreativeCommons Attribution-ShareAlike 2.5鐚?????????≪??潟?筝????(_ _)m +***Ver0.0.4.5(2008/2/24) +- Fav????с?????????????蕁??絲上? +***Ver0.0.4.4(2008/2/24) +- ????????劫?紊??鐚?.0.4.1鐔?????<????????????????鐚?+- Fav菴遵?鐚?????????????祉???+- Fav菴遵?鐚????????????荐??膣違????????蚊??恰?紊?????????????+- DM?????????????帥???????????????≦????????障??雁????????祉??誌? +- Twitter?潟??潟?????ユ?篁吟?膩?????荐??紊掩?????翫?????ャ?????????????????障???+- ?肴?荅括完??;腓冴?紊???????????????蚊????????????????紊?? +- 茲???肴???av?????∈茯??????若???申??+***Ver0.0.4.3(2008/2/21) +- URL筝??Twitter?潟??潟????荀????????篆?? +***Ver0.0.4.2(2008/2/21) +- Recent????鴻??с????????ゃ??潟??ゃ?24,48??????????????;腓冴????????遺信罩?+- Reply,DM????鴻??с??潟???????????若?茵?ず?????????篆?? +- ????с?????????<??ャ???申??+***Ver0.0.4.1(2008/2/21) +- ??????????ゃ??????????? +- Twitter?潟??潟?????障????荐????M絎?????????ф?腮帥???????蕁??絲上??????? +***Ver0.0.4.0(2008/2/20) +- DM???荐??膣域;腓冴??????????篆?? +- ?亥????????肴?荅括完?????????????蕁??篆?? +- POST筝??reply??M?肴????茖???????????????遺信罩?+***Ver0.0.3.9(2008/2/19) +- ???????蕭????+- ???????吾??潟??с?????贋?菴遵? +***Ver0.0.3.8(2008/2/16) +- Recent??eplies?????????????1????悟?????若???????篁??????????信罩?+***Ver0.0.3.7(2008/2/15) +- DM?帥??御????筝???純???????絲上?鐚??????ゆ?篁九??翫?綽??????逸? +- ????若??????????????????儀????≪?????遺信罩?+***Ver0.0.3.6(2008/2/15) +- ?≪??潟?????馹??絲上?鐚????????鐚?+- ??????????潟???????筝???純???????????違??吾??冴????菴遵?鐚???????????????c???? +- ???????>散紊????軸?????????in reply to?????????????吾?菴?拭????????????綣?+***Ver0.0.3.5(2008/2/15) +- ????潟??ゃ?絲上?鐚???????????荐???????????鐚??鐚?????綽?? +- ?肴???????????????+- ??????????帥????????鴻??若????絎?+***Ver0.0.3.4(2008/2/14) +- ????潟??ゃ?絲上?????祉????????祉???+- ????吾??潟??ц??遺散?御????????????????絲上? +- ?肴???????????若???????絲上? +- Get???nocache????激??喝???+- ??拭?帥?????????????????御????鐚?0腱?? +***Ver0.0.3.3(2008/2/13) +- Web?у??ゃ??????ween????c?????肴???av???????若???????篆?? +- ??????Off?????????茯???????????????????蚊???????????遺信罩?+- ?肴????????若??鴻??????????茯???c???????????若??鴻????????悟Щ????????+- ????吾??潟??ц?綵??????????ecent?帥????腟??荐???祉????紊?? +- ?肴??鴻??若??刻?????肴?????若?鐚??????<??ャ?菴遵?鐚?trl+O鐚?+- ?泣??若????????<??ャ???申???Ctrl+Shift+O鐚?+- ?亥????????若??????????????脂????????c?????????????????馹?????絲上? +- DM?帥??х?荐???????????????????M??拭茖??????????????紊?? +- ????号?篏?????茲??篋冴?????よ????篏??絲上?鐚?????????????? +- ?傑???儀????純????鐚???翫??????????????????????荐??罘??菴遵? +- 荐???脂????????帥?荐???????申荐??箴??[TWN]鐚????ween????????????紊??????????????????????????Twitter罎?刈???????????? +***Ver0.0.3.2(2008/2/7) +- 0.0.3.0???????с?????純??????┃絎???上?=1?????????10??????????障??????witter?眼???????????c????綽?????????????с????荐???????エ?с???+***Ver0.0.3.1(2008/2/6) +- ?<??ャ??????????????????????????遺信罩?+***Ver0.0.3.0(2008/2/6) +- 150?肴??????????10????檎??c???????????????????罘???с???witter??奨茯帥????羔???障???+- Ctrl+Space????ф?茯??荐???吾??潟????????帥?罔????????????????????????若??鴻??????????罘??????????+***Ver0.0.2.9(2008/2/5) +- ?帥?????ф?荀?帥???D?潟???r腱糸?????翫?????若????篁???帥????????翫???????蕁??篆?? +- ?帥?????с?????ゅ?????ゃ????????????????篏????????????????????蕁??篆?? +- 篆?????????肴????????????鴻???????????ゃ??馹??篆?? +- 筝祉?48*48????ゃ??潟??翫?????鴻???????????ゃ??馹?????絲上?鐚???ゃ??潟??肢蟹筝??????????????????鐚?+- Windows???篁???????就綣頥???с?綛眼??????????????純???????箴???????????蕁??篆?? +***Ver0.0.2.8(2008/2/4) +- ??????篋冴??肴?????????????絽悟?荐??????蚊????????障????篆?? +- 筝??腟????????????紙?茯??????蚊?藥???祉?????障????篆?? +- ????吾??恰??沿;腓榊??∵申???????ゃ??<??ャ?鐚?+- ????????研?渇?????若???????綛???????????????演????DM????若????箴??鐚?+- ?亥????????若???;腓冴?????若??弱??????????????吟?ID??????????若????????鴻????????器?荐???脂?鐚?+- ?亥???拭?????????茵?ず???絎????┃絎????┃絎???≪?????<????????若?腱糸? +***Ver0.0.2.7(2008/2/2) +- ?帥??????D腱糸????篏????D?潟??若?????翫????????遺信罩?+- Twitter?????????????若??榊?????馹??篆?? +- ?帥????????≪??潟??с?????帥??????????紊?? + o ???鐚??絽?+ o ?違??種?鐚??????ゃ?鐚???潟??ゃ????????ф??医?篏???障???? + o ????逸??贋?筝?+ o 莎わ?鐚???違???????鐚????????????活;腓冴????????障?????鴻??若??鴻?茵?ず????障?鐚?+- ????潟?鐚??????若??若?紊???с??????┃絎??菴遵?鐚?┃絎????? +- XP?с????????<??ャ???????????????????信罩?+***Ver0.0.2.6(2008/1/23) +- ?亥?????泣??潟???n/Off????帥???┃絎??菴遵?鐚????????Off???????????査??av????ゃ????????荐??紊???????? +- ?????;腓冴?On/Off??┃絎??菴遵? +- ???膊∞???n/Off??┃絎??菴遵? +- @Reply???荐??????劫? +- ?≪??潟??泣??阪??贋??????????????遺信罩?+- ?≪??潟???????????????賢罩??莎桁??????????????????障????篁???劫??????? +- DM???茯???????????紊??鐚?儀???茯?昭????∵??с?鐚?+***Ver0.0.2.5(2008/1/22) +- ?亥?????泣??潟?絲上?鐚??茵???<???????????????ew.wav,reply.wav,dm.wav??舟???晃????????????????????????????????? +- POST???Recent,Reply?????+- Windows2000?с?????若????藥??????馹??絲上????XP?с??<??ャ???????????????障?????ゃ?UI?????????OK???鐚?+- ?帥?荀?????????潟????絎?????????????+- ID?潟??若?Reply?с??????????茲???帥?????蚊???????????障?????????????????倶?????眼????????帥??????????????倶????????贋? +- 茲???肴??????????????倶?紊???????????????≪??潟?????????+- Reply?帥????荐?????紊??????鴻???? +- ?≪??潟??泣??冴?紊??????翫???????????鴻??????祉???????紊?? +- ?亥?篁倶?????ゃ?莇????????菴遵?茯?昭????????信罩c?紊у??違??翫????????若??障????茯???с?????c???+***Ver0.0.2.4(2008/1/19) +- ???????ワ???????篋冴?????蚊????茵?ず??ollower?????M?贋?????ゃ??潟??с???? +- ?鴻??若??壕┃絎??荐???脂???申??+***Ver0.0.2.3(2008/1/17) +- 紊??莎桁?胼?? +- 荐???ゃ?????ゅ???+- 莎桁???M?????0篁倶????膈??菴?????????器??帥?????ゃ????綽???随? +- ?帥??????????篆?? +***Ver0.0.2.2(2008/1/16) +- 罎?刈罘??菴遵? +- ?≪??潟??泣???8??4???????鴻????荐??茲???御??с????筝????信罩?+- 莎桁????莨主?膓?∈茯??????若??с??c??祉?????????????莨若?筝?????????桁?篆?? +- ???????ャ?????帥?????с???????鐚?trl+Q鐚??荐?? +- Fav????с?????????trl+F???Ctrl+S?後???+***Ver0.0.2.1(2008/1/9) +- Replies??????? +***Ver0.0.2.0(2008/1/9) +- ???????吾????篆??罘??????わ??潟????罧??????????????????c???戎?c???????????????????????????? +- 莎桁????莨若??若??違?10????後??????墾?ゅ?鐚?????茯??臀???障???┃絎???若??違??<???????????ц??粋昭?帥????10????御????膓?∈茯??????若?????障???? +- ?????賢?肴?????????;腓冴?絎??鐚?ista??????絲上?羝????????XP????ゃ??潟??ゃ?24?障???8?ф??????;腓冴??????? +- ?亥????荐??鐚???鴻??????????????ャ?Off??????Reply????ャ?DM????ワ? +- ??┸罨?????絖??????潟?菴遵???????140?????????????肴?罨???????気?????障???+***Ver0.0.1.9(2007/12/28) +- ??????莎桁??????????????障?????肴?筝??URL?????????荐????ome???????鐚?+***Ver0.0.1.8(2007/12/27) +- DM???膣域;腓冴??純?????遺信罩c????????????? +***Ver0.0.1.7(2007/12/27) +- DM????ゃ??喝???ц??<????篆??????ャ??????+***Ver0.0.1.6(2007/12/27) +- ?????????????冴?????ゃ??潟?茵?ず??????????障???+***Ver0.0.1.5(2007/12/26) +- ??????篋冴??????????荐??紊??????????????????荐???純?????遺信罩?+***Ver0.0.1.4(2007/12/22) +- ??サ???茯??莨若??????憜?????ゃ??潟????????ゃ??潟?紊???c????篋冴??????儀???????障????篆?? +***Ver0.0.1.3(2007/12/21) +- ?帥?篏??鐚????ゃ????罘??菴遵?鐚?劻????????帥????鐚?+- ?????????荐????????ID???鐚???処申????潟????????帥????鐚?+- ??????URL茵?ず菴遵? +- ?ゃ????????粋昭?炊?????吾????紊?? +- ?????????????潟???S UI Gothic?????+***Ver0.0.1.2(2007/12/14) +- ?≪??潟?????????????篋??緇?????????c????篆??鐚???ゃ??潟?茵?ず??????????????????鐚?+- ???????≪??潟??泣??冴?16*16??申??+- ???????≪??潟??泣??冴?????鴻??у???┃絎?????荐???脂???Щ??? +- ????ゃ??潟????????????????茵????????????????????篆?? +***Ver0.0.1.1(2007/12/12) +- 菴?拭????鴻???????????????????????遺信罩?+- ?亥????????惹????????ゃ??с?????翫????????遺信罩?+***Ver0.0.1.0(2007/12/11) +- ?亥????????????;腓坂?臀???阪????????激??活申????阪????????医?????鴻????????障???+***Ver0.0.0.9(2007/12/10) +- ???茯?昭????с????鐚?????????????????絎?????+- ??┸???茵?ず???RichText???WebBrowser????眼?鐚?申??LL??戎????????????? +***Ver0.0.0.8(2007/12/7) +- 莎桁???????茯?昭?紙????莨若???????膈??菴??????????+- 菴?拭???菴?拭????俄信罩?+- ??┏?激??若???????菴遵? +- ?<??ャ????????眼? +- 荐???????ゃ?菴遵?鐚???祉??域?莨惹??違?????鴻??違?????井?絎???堺???????紊??篋??鐚?+***Ver0.0.0.7(2007/12/5) +- ???????育????荐???脂????紊????????????c????????医?綽?+- ???篆??罘??菴遵???儀???????????????????劫? +- 菴?拭???菴?拭????我??菴遵???????綵?????緇??紊?????????吟?????????????????????+- ??散???????惹?????羲???綽?+- ?≪??潟????????????? +***Ver0.0.0.6(2007/12/3) +- ?≪??潟??泣??咲????紊с?絨??????????≪??潟????????????????????眼???????????????????莎桁??????????????障????罐球??泣??冴?菴遵???????????祉??誌? +- ?肴???M?????+- DM????帥?????????┃????????┃絎???≪???申???鐚????????600腱?? +***Ver0.0.0.5(2007/12/1) +- 鐚?????鐚?eply??M鐚?nbox鐚???帥???申??+- ?????????????≪????????若?菴?拭??M??拭????ゃ?菴遵?鐚???ゆ??純?罩e幻?????????鐚?+***Ver0.0.0.4(2007/11/29) +- gzip,deflate???綽??鐚?小絋????墾?≪???? +- socket??????WebRequest/WebResponce??????????若????????????+- ????惹????????若??傑? +***Ver0.0.0.3(2007/11/28) +- 荐??????ゃ????茵???<?????刻?Tween.exe.config鐚??篆????????紊?? +- 荐??????ゃ?????若??с?篋???????????+- ??????????鞘?絖????????篏?舟膈??紊???ゃ?篆?????????違?篆?? +***Ver0.0.0.2-1(2007/11/23) +- ?帥?????ゃ????????純????????ャ??帥?罘??菴遵?鐚???????????腮炊??????? +- ?純???┃絎??篆???糸奨???莎桁??紫?篋??鐚?+- ?亥?????????????????????;腓坂?臀??篆?? +- ?<????莢祉??<??潟?????????+- RichText????潟???????????若??潟??若?菴遵???????????????? Added: branches/UserStream/Tween/Connection/HttpConnection.vb =================================================================== --- branches/UserStream/Tween/Connection/HttpConnection.vb (rev 0) +++ branches/UserStream/Tween/Connection/HttpConnection.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,600 @@ +鏤?mports System.Net +Imports System.IO +Imports System.Collections.Generic +Imports System.Collections.Specialized +Imports System.Text + +''' +'''HttpWebRequest,HttpWebResponse??戎????????????篆≧??純??????? +''' +''' +'''??????????????┃絎????????篏睡????????<????InitializeConnection????喝??????? +'''??拭?劫?????c?綽???????TTP??????篁????????羇丞?????鴻?茵????+''' +Public Class HttpConnection + ''' + '''?????? + ''' + Private Shared proxy As WebProxy = Nothing + + ''' + '''????吟??????????????激??劫? + ''' + Private Shared proxyKind As ProxyType = proxyType.IE + + ''' + '''??????篆??????潟???+ ''' + Private Shared cookieContainer As New CookieContainer + + ''' + '''???????帥???? + ''' + Private Shared isInitialize As Boolean = False + + Public Enum ProxyType + None + IE + Specified + End Enum + + ''' + '''HttpWebRequest????吾??????????????????若???ET/HEAD/DELETE?с?????????OST/PUT?с??????????????c?紊????????+ ''' + ''' + '''菴遵??у?荀?????HTTP????????拭????激??潟??若??冴????篁???????? + '''鐚?imeout,AutomaticDecompression,AllowAutoRedirect,UserAgent,ContentType,Accept,HttpRequestHeader.Authorization,????帥??????? + '''POST/PUT?с???????荀???翫????requestUri???????????+ ''' + '''HTTP??拭?<????鐚?ET/HEAD/POST/PUT/DELETE鐚?/param> + '''??拭??RI + '''GET??????????障???OST?????????????????/param> + '''??拭??ookie??戎?????? + '''綣???ф?絎???????????????HttpWebRequest????吾???? + Protected Function CreateRequest(ByVal method As String, _ + ByVal requestUri As Uri, _ + ByVal param As Dictionary(Of String, String), _ + ByVal withCookie As Boolean _ + ) As HttpWebRequest + If Not isInitialize Then Throw New Exception("Sequence error.(not initialized)") + + 'GET?<????????????????url?????+ Dim ub As New UriBuilder(requestUri.AbsoluteUri) + If param IsNot Nothing AndAlso (method = "GET" OrElse method = "DELETE" OrElse method = "HEAD") Then + ub.Query = CreateQueryString(param) + End If + + Dim webReq As HttpWebRequest = DirectCast(WebRequest.Create(ub.Uri), HttpWebRequest) + + '??????荐?? + If proxyKind <> ProxyType.IE Then webReq.Proxy = proxy + + webReq.Method = method + If method = "POST" OrElse method = "PUT" Then + webReq.ContentType = "application/x-www-form-urlencoded" + 'POST/PUT?<????????????????????帥??????????????????昭??+ Using writer As New StreamWriter(webReq.GetRequestStream) + writer.Write(CreateQueryString(param)) + End Using + End If + 'cookie荐?? + If withCookie Then webReq.CookieContainer = cookieContainer + '?帥???????荐?? + If InstanceTimeout > 0 Then + webReq.Timeout = InstanceTimeout + Else + webReq.Timeout = DefaultTimeout + End If + + Return webReq + End Function + + ''' + '''HttpWebRequest????吾?????????????ultipart?с????????≪?????若???? + ''' + ''' + '''method???POST/PUT????????? + ''' + '''HTTP??拭?<????鐚?OST/PUT鐚?/param> + '''??拭??RI + '''form-data?ф?絎?????????????????????с???/param> + '''form-data?ф?絎??????????????????ゃ????????鴻? + '''??拭??ookie??戎?????? + '''綣???ф?絎???????????????HttpWebRequest????吾???? + Protected Function CreateRequest(ByVal method As String, _ + ByVal requestUri As Uri, _ + ByVal param As Dictionary(Of String, String), _ + ByVal binaryFileInfo As List(Of KeyValuePair(Of String, FileInfo)), _ + ByVal withCookie As Boolean _ + ) As HttpWebRequest + If Not isInitialize Then Throw New Exception("Sequence error.(not initialized)") + + 'method??OST,PUT???荐怨?+ Dim ub As New UriBuilder(requestUri.AbsoluteUri) + If method = "GET" OrElse method = "DELETE" OrElse method = "HEAD" Then + Throw New ArgumentException("Method must be POST or PUT") + End If + If (param Is Nothing OrElse param.Count = 0) AndAlso (binaryFileInfo Is Nothing OrElse binaryFileInfo.Count = 0) Then + Throw New ArgumentException("Data is empty") + End If + + Dim webReq As HttpWebRequest = DirectCast(WebRequest.Create(ub.Uri), HttpWebRequest) + + '??????荐?? + If proxyKind <> ProxyType.IE Then webReq.Proxy = proxy + + webReq.Method = method + If method = "POST" OrElse method = "PUT" Then + Dim boundary As String = System.Environment.TickCount.ToString() + webReq.ContentType = "multipart/form-data; boundary=" + boundary + Using reqStream As Stream = webReq.GetRequestStream + 'POST??拭??????????帥?篏?? + If param IsNot Nothing Then + Dim postData As String = "" + For Each kvp As KeyValuePair(Of String, String) In param + postData += "--" + boundary + vbCrLf + _ + "Content-Disposition: form-data; name=""" + kvp.Key + """" + _ + vbCrLf + vbCrLf + kvp.Value + vbCrLf + Next + Dim postBytes As Byte() = Encoding.UTF8.GetBytes(postData) + reqStream.Write(postBytes, 0, postBytes.Length) + End If + 'POST??拭?????????????帥?篏?? + If binaryFileInfo IsNot Nothing Then + For Each kvp As KeyValuePair(Of String, FileInfo) In binaryFileInfo + Dim postData As String = "" + Dim crlfByte As Byte() = Encoding.UTF8.GetBytes(vbCrLf) + '?潟????????ゃ????絎?+ Dim mime As String = "" + Select Case kvp.Value.Extension.ToLower + Case ".jpg", ".jpeg", ".jpe" + mime = "image/jpeg" + Case ".gif" + mime = "image/gif" + Case ".png" + mime = "image/png" + Case ".tiff", ".tif" + mime = "image/tiff" + Case ".bmp" + mime = "image/x-bmp" + Case ".avi" + mime = "video/avi" + Case ".wmv" + mime = "video/x-ms-wmv" + Case ".flv" + mime = "video/x-flv" + Case ".m4v" + mime = "video/x-m4v" + Case ".mov" + mime = "video/quicktime" + Case ".mp4" + mime = "video/3gpp" + Case ".rm" + mime = "application/vnd.rn-realmedia" + Case ".mpeg", ".mpg" + mime = "video/mpeg" + Case ".3gp" + mime = "movie/3gp" + Case ".3g2" + mime = "video/3gpp2" + Case Else + mime = "application/octet-stream" + vbCrLf + "Content-Transfer-Encoding: binary" + End Select + postData = "--" + boundary + vbCrLf + _ + "Content-Disposition: form-data; name=""" + kvp.Key + """; filename=""" + _ + kvp.Value.Name + """" + vbCrLf + _ + "Content-Type: " + mime + vbCrLf + vbCrLf + Dim postBytes As Byte() = Encoding.UTF8.GetBytes(postData) + reqStream.Write(postBytes, 0, postBytes.Length) + '????ゃ?????水????HTTP???????若??????昭??+ Using fs As New FileStream(kvp.Value.FullName, FileMode.Open, FileAccess.Read) + Dim readSize As Integer = 0 + Dim readBytes(&H1000) As Byte + While True + readSize = fs.Read(readBytes, 0, readBytes.Length) + If readSize = 0 Then Exit While + reqStream.Write(readBytes, 0, readSize) + End While + fs.Close() + End Using + reqStream.Write(crlfByte, 0, crlfByte.Length) + Next + End If + '腟?? + Dim endBytes As Byte() = Encoding.UTF8.GetBytes("--" + boundary + "--" + vbCrLf) + reqStream.Write(endBytes, 0, endBytes.Length) + reqStream.Close() + End Using + End If + 'cookie荐?? + If withCookie Then webReq.CookieContainer = cookieContainer + '?帥???????荐?? + If InstanceTimeout > 0 Then + webReq.Timeout = InstanceTimeout + Else + webReq.Timeout = DefaultTimeout + End If + + Return webReq + End Function + + ''' + '''HTTP???膈????????綣???ф?絎??????鴻????????吾?莨若? + ''' + ''' + '''????ゃ????綽????????AllowAutoRedirect=False???????随????headerInfo?ゃ??鴻??潟???????Location??申????????????????????+ '''WebException????潟?????????????????喝?????с??c?????????+ '''gzip????ゃ??????????????喝?????????????綵√???????篌後宍????馹???榊????????с?????障???+ ''' + '''HTTP??拭?????????????с???/param> + '''[OUT]HTTP綽?????????鴻????????潟??弱? + '''[IN/OUT]HTTP綽?????????????????????????????????帥??潟?????с???検?????????綵????????????若???┃絎???????/param> + '''??拭??ookie??戎?????/param> + '''HTTP綽?????????帥??潟???/returns> + Protected Function GetResponse(ByVal webRequest As HttpWebRequest, _ + ByVal contentStream As Stream, _ + ByVal headerInfo As Dictionary(Of String, String), _ + ByVal withCookie As Boolean _ + ) As HttpStatusCode + Try + Using webRes As HttpWebResponse = CType(webRequest.GetResponse(), HttpWebResponse) + Dim statusCode As HttpStatusCode = webRes.StatusCode + 'cookie篆?? + If withCookie Then SaveCookie(webRes.Cookies) + '????ゃ????綽??????????????????????┃絎?+ GetHeaderInfo(webRes, headerInfo) + '綽?????????若???????????祉? + If webRes.ContentLength > 0 Then + 'gzip???綽???鴻????????????叱綣究??帥????篁ュ????篌後宍?????+ If webRes.ContentEncoding = "gzip" OrElse webRes.ContentEncoding = "deflate" Then + Using stream As Stream = webRes.GetResponseStream() + If stream IsNot Nothing Then CopyStream(stream, contentStream) + End Using + Else + Using stream As Stream = New System.IO.Compression.GZipStream(webRes.GetResponseStream, Compression.CompressionMode.Decompress) + If stream IsNot Nothing Then CopyStream(stream, contentStream) + End Using + End If + End If + Return statusCode + End Using + Catch ex As WebException + If ex.Status = WebExceptionStatus.ProtocolError Then + Dim res As HttpWebResponse = DirectCast(ex.Response, HttpWebResponse) + GetHeaderInfo(res, headerInfo) + Return res.StatusCode + End If + Throw ex + End Try + End Function + + ''' + '''HTTP???膈????????綽??????c??若?????????????菴????? + ''' + ''' + '''????ゃ????綽????????AllowAutoRedirect=False???????随????headerInfo?ゃ??鴻??潟???????Location??申????????????????????+ '''WebException????潟?????????????????喝?????с??c?????????+ '''????鴻????絖???若???TF-8?????????????潟??若????????障???+ ''' + '''HTTP??拭?????????????с???/param> + '''[OUT]HTTP綽?????????????/param> + '''[IN/OUT]HTTP綽?????????????????????????????????帥??潟?????с???検?????????綵????????????若???┃絎???????/param> + '''??拭??ookie??戎?????/param> + '''HTTP綽?????????帥??潟???/returns> + Protected Function GetResponse(ByVal webRequest As HttpWebRequest, _ + ByRef contentText As String, _ + ByVal headerInfo As Dictionary(Of String, String), _ + ByVal withCookie As Boolean _ + ) As HttpStatusCode + Try + Using webRes As HttpWebResponse = CType(webRequest.GetResponse(), HttpWebResponse) + Dim statusCode As HttpStatusCode = webRes.StatusCode + 'cookie篆?? + If withCookie Then SaveCookie(webRes.Cookies) + '????ゃ????綽??????????????????????┃絎?+ GetHeaderInfo(webRes, headerInfo) + '綽?????????若???????????吾??冴? + If contentText Is Nothing Then Throw New ArgumentNullException("contentText") + Using sr As StreamReader = New StreamReader(webRes.GetResponseStream) + contentText = sr.ReadToEnd() + End Using + Return statusCode + End Using + Catch ex As WebException + If ex.Status = WebExceptionStatus.ProtocolError Then + Dim res As HttpWebResponse = DirectCast(ex.Response, HttpWebResponse) + GetHeaderInfo(res, headerInfo) + Using sr As StreamReader = New StreamReader(res.GetResponseStream) + contentText = sr.ReadToEnd() + End Using + Return res.StatusCode + End If + Throw ex + End Try + End Function + + ''' + '''HTTP???膈???????????綽??????c??若????荀??????????+ ''' + ''' + '''????ゃ????綽????????AllowAutoRedirect=False???????随????headerInfo?ゃ??鴻??潟???????Location??申????????????????????+ '''WebException????潟?????????????????喝?????с??c?????????+ ''' + '''HTTP??拭?????????????с???/param> + '''[IN/OUT]HTTP綽?????????????????????????????????帥??潟?????с???検?????????綵????????????若???┃絎???????/param> + '''??拭??ookie??戎?????/param> + '''HTTP綽?????????帥??潟???/returns> + Protected Function GetResponse(ByVal webRequest As HttpWebRequest, _ + ByVal headerInfo As Dictionary(Of String, String), _ + ByVal withCookie As Boolean _ + ) As HttpStatusCode + Try + Using webRes As HttpWebResponse = CType(webRequest.GetResponse(), HttpWebResponse) + Dim statusCode As HttpStatusCode = webRes.StatusCode + 'cookie篆?? + If withCookie Then SaveCookie(webRes.Cookies) + '????ゃ????綽??????????????????????┃絎?+ GetHeaderInfo(webRes, headerInfo) + Return statusCode + End Using + Catch ex As WebException + If ex.Status = WebExceptionStatus.ProtocolError Then + Dim res As HttpWebResponse = DirectCast(ex.Response, HttpWebResponse) + GetHeaderInfo(res, headerInfo) + Return res.StatusCode + End If + Throw ex + End Try + End Function + + ''' + '''HTTP???膈????????綽??????c??若???itmap???????眼??障? + ''' + ''' + '''????ゃ????綽????????AllowAutoRedirect=False???????随????headerInfo?ゃ??鴻??潟???????Location??申????????????????????+ '''WebException????潟?????????????????喝?????с??c?????????+ ''' + '''HTTP??拭?????????????с???/param> + '''[OUT]HTTP綽????????????帥??吾?莨若?Bitmap + '''[IN/OUT]HTTP綽?????????????????????????????????帥??潟?????с???検?????????綵????????????若???┃絎???????/param> + '''??拭??ookie??戎?????/param> + '''HTTP綽?????????帥??潟???/returns> + Protected Function GetResponse(ByVal webRequest As HttpWebRequest, _ + ByRef contentBitmap As Bitmap, _ + ByVal headerInfo As Dictionary(Of String, String), _ + ByVal withCookie As Boolean _ + ) As HttpStatusCode + Try + Using webRes As HttpWebResponse = CType(webRequest.GetResponse(), HttpWebResponse) + Dim statusCode As HttpStatusCode = webRes.StatusCode + 'cookie篆?? + If withCookie Then SaveCookie(webRes.Cookies) + '????ゃ????綽??????????????????????┃絎?+ GetHeaderInfo(webRes, headerInfo) + '綽?????????若???itmap????????+ 'If webRes.ContentLength > 0 Then contentBitmap = New Bitmap(webRes.GetResponseStream) + contentBitmap = New Bitmap(webRes.GetResponseStream) + Return statusCode + End Using + Catch ex As WebException + If ex.Status = WebExceptionStatus.ProtocolError Then + Dim res As HttpWebResponse = DirectCast(ex.Response, HttpWebResponse) + GetHeaderInfo(res, headerInfo) + Return res.StatusCode + End If + Throw ex + End Try + End Function + + ''' + '''?????????絖???????????????<??潟??翫?????<??喝?????????????????祉???申????????????????????? + ''' + Private Sub SaveCookie(ByVal cookieCollection As CookieCollection) + For Each ck As Cookie In cookieCollection + If ck.Domain.StartsWith(".") Then + ck.Domain = ck.Domain.Substring(1, ck.Domain.Length - 1) + cookieContainer.Add(ck) + End If + Next + End Sub + + ''' + '''in/out???????若??ゃ??鴻??潟?????????????????菴?? + ''' + '''?潟??弱??鴻????????潟??帥??鴻?茯?????????????? + '''?潟??弱??鴻????????潟??帥??鴻??吾?莨若?????????? + Private Sub CopyStream(ByVal inStream As Stream, ByVal outStream As Stream) + If inStream Is Nothing Then Throw New ArgumentNullException("inStream") + If outStream Is Nothing Then Throw New ArgumentNullException("outStream") + If Not inStream.CanRead Then Throw New ArgumentException("Input stream can not read.") + If Not outStream.CanWrite Then Throw New ArgumentException("Output stream can not write.") + If inStream.CanSeek AndAlso inStream.Length = 0 Then Throw New ArgumentException("Input stream do not have data.") + + Do + Dim buffer(1024) As Byte + Dim i As Integer = buffer.Length + i = inStream.Read(buffer, 0, i) + If i = 0 Then Exit Do + outStream.Write(buffer, 0, i) + Loop + End Sub + + ''' + '''headerInfo????惹??宴?????????TTP???????宴?????紙?膣?????redirect綽?????Location???????????申荐????+ ''' + '''HTTP綽?? + '''[IN/OUT]??????????????????????睡????????激??潟????????ゃ?????帥??祉?????????/param> + Private Sub GetHeaderInfo(ByVal webResponse As HttpWebResponse, _ + ByVal headerInfo As Dictionary(Of String, String)) + + If headerInfo Is Nothing Then Exit Sub + + If headerInfo.Count > 0 Then + Dim keys(headerInfo.Count - 1) As String + headerInfo.Keys.CopyTo(keys, 0) + For Each key As String In keys + If Array.IndexOf(webResponse.Headers.AllKeys, key) > -1 Then + headerInfo.Item(key) = webResponse.Headers.Item(key) + Else + headerInfo.Item(key) = "" + End If + Next + End If + + Dim statusCode As HttpStatusCode = webResponse.StatusCode + If statusCode = HttpStatusCode.MovedPermanently OrElse _ + statusCode = HttpStatusCode.Found OrElse _ + statusCode = HttpStatusCode.SeeOther OrElse _ + statusCode = HttpStatusCode.TemporaryRedirect Then + If headerInfo.ContainsKey("Location") Then + headerInfo.Item("Location") = webResponse.Headers.Item("Location") + Else + headerInfo.Add("Location", webResponse.Headers.Item("Location")) + End If + End If + End Sub + + ''' + '''??????????激??潟?key=value綵√????絖?????????????+ ''' + '''???????障?????鴻?????帥????key-value?潟?????с? + Protected Function CreateQueryString(ByVal param As IDictionary(Of String, String)) As String + If param Is Nothing OrElse param.Count = 0 Then Return String.Empty + + Dim query As New StringBuilder + For Each key As String In param.Keys + query.AppendFormat("{0}={1}&", UrlEncode(key), UrlEncode(param(key))) + Next + Return query.ToString(0, query.Length - 1) + End Function + + ''' + '''?????就綣??ey1=value1&key2=value2&...鐚????????key-value?潟?????с?????????+ ''' + '''??????絖?? + '''key-value???????激???/returns> + Protected Function ParseQueryString(ByVal queryString As String) As NameValueCollection + Dim query As New NameValueCollection + Dim parts() As String = queryString.Split("&"c) + For Each part As String In parts + Dim index As Integer = part.IndexOf("="c) + If index = -1 Then + query.Add(Uri.UnescapeDataString(part), "") + Else + query.Add(Uri.UnescapeDataString(part.Substring(0, index)), Uri.UnescapeDataString(part.Substring(index + 1))) + End If + Next + Return query + End Function + + ''' + '''2??????絖????????Url????潟???+ ''' + '''????潟???????絖?? + '''????潟???????絖?? + Protected Function UrlEncode(ByVal stringToEncode As String) As String + Const UnreservedChars As String = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.~" + Dim sb As New StringBuilder + Dim bytes As Byte() = Encoding.UTF8.GetBytes(stringToEncode) + + For Each b As Byte In bytes + If UnreservedChars.IndexOf(Chr(b)) <> -1 Then + sb.Append(Chr(b)) + Else + sb.AppendFormat("%{0:X2}", b) + End If + Next + Return sb.ToString() + End Function + +#Region "InstanceTimeout" + ''' + '''??拭?帥??????????鐚?s鐚?+ ''' + Private _timeout As Integer = 0 + + ''' + '''??拭?帥??????????鐚?s鐚??10鐔?20腱??膀???ф?絎??膀??紊??20腱????? + ''' + Protected Property InstanceTimeout() As Integer + Get + Return _timeout + End Get + Set(ByVal value As Integer) + Const TimeoutMinValue As Integer = 10000 + Const TimeoutMaxValue As Integer = 120000 + Const TimeoutDefaultValue As Integer = 0 + If value < TimeoutMinValue OrElse value > TimeoutMaxValue Then + ' 膀??紊????????????よ┃絎?+ _timeout = TimeoutDefaultValue + Else + _timeout = value + End If + End Set + End Property +#End Region + +#Region "DefaultTimeout" + ''' + '''??拭?帥??????????鐚?s鐚?+ ''' + Private Shared timeout As Integer = 20000 + + ''' + '''??拭?帥??????????鐚?s鐚??10鐔?20腱??膀???ф?絎??膀??紊??20腱????? + ''' + Protected Shared Property DefaultTimeout() As Integer + Get + Return timeout + End Get + Set(ByVal value As Integer) + Const TimeoutMinValue As Integer = 10000 + Const TimeoutMaxValue As Integer = 120000 + Const TimeoutDefaultValue As Integer = 20000 + If value < TimeoutMinValue OrElse value > TimeoutMaxValue Then + ' 膀??紊????????????よ┃絎?+ timeout = TimeoutDefaultValue + Else + timeout = value + End If + End Set + End Property +#End Region + + ''' + '''??拭????鴻???????????帥????????ゃ?????????┃絎????+ ''' + ''' + '''??拭?????????筝?墾?若??冴???? + ''' + '''?帥????????わ?腱?? + '''????紙?絎??IE????????/param> + '''??????????鴻???rIP?≪???? + '''??????????若????/param> + '''??????茯?┝???荀???翫?????若????筝?????腥堺?絖?/param> + '''??????茯?┝???荀???翫?????鴻??若????荀???????? + Public Shared Sub InitializeConnection( _ + ByVal timeout As Integer, _ + ByVal proxyType As ProxyType, _ + ByVal proxyAddress As String, _ + ByVal proxyPort As Integer, _ + ByVal proxyUser As String, _ + ByVal proxyPassword As String) + isInitialize = True + ServicePointManager.Expect100Continue = False + DefaultTimeout = timeout * 1000 's -> ms + Select Case proxyType + Case proxyType.None + proxy = Nothing + Case proxyType.Specified + proxy = New WebProxy("http://" + proxyAddress + ":" + proxyPort.ToString) + If Not String.IsNullOrEmpty(proxyUser) OrElse Not String.IsNullOrEmpty(proxyPassword) Then + proxy.Credentials = New NetworkCredential(proxyUser, proxyPassword) + End If + Case proxyType.IE + 'IE荐??鐚???鴻???┃絎????????????ゃ????????????+ End Select + proxyKind = proxyType + End Sub + +End Class Added: branches/UserStream/Tween/Connection/HttpConnectionBasic.vb =================================================================== --- branches/UserStream/Tween/Connection/HttpConnectionBasic.vb (rev 0) +++ branches/UserStream/Tween/Connection/HttpConnectionBasic.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,166 @@ +鏤?mports System.Text +Imports System.Net +Imports System.IO +Imports System.Diagnostics + +''' +'''BASIC茯?┝??戎?????TTP??拭 +''' +''' +'''篏睡????????吟?鐚?????????荐????????荐主∈茯??篌眼??翫???uthenticate???茯?┝筝????????Initialize????吟???? +''' +Public Class HttpConnectionBasic + Inherits HttpConnection + Implements IHttpConnection + + ''' + '''茯?┝????若??弱? + ''' + Private _userName As String = "" + ''' + '''茯?┝????鴻??若? + ''' + Private _password As String = "" + ''' + '''Authorization??????荐?????????潟?????炊?絖?? + ''' + Private credential As String = "" + + ''' + '''BASIC茯?┝?ф?絎??URL??TTP??拭??????腟???????+ ''' + '''HTTP??拭?<????鐚?ET/HEAD/POST/PUT/DELETE鐚?/param> + '''??拭??RI + '''GET??????????障???OST?????????????????/param> + '''[OUT]HTTP綽?????????????/param> + '''[IN/OUT]HTTP綽??????????????荀??????????????荐??????????? + '''???腟???翫?????違?????若????????違?????蚊???筝????????Nothing??検?????/param> + '''HTTP綽?????????帥??潟???/returns> + Public Function GetContent(ByVal method As String, _ + ByVal requestUri As Uri, _ + ByVal param As Dictionary(Of String, String), _ + ByRef content As String, _ + ByVal headerInfo As Dictionary(Of String, String), _ + ByVal callback As IHttpConnection.CallbackDelegate) As HttpStatusCode Implements IHttpConnection.GetContent + + '茯?┝羝???????? + If String.IsNullOrEmpty(Me.credential) Then Return HttpStatusCode.Unauthorized + + Dim webReq As HttpWebRequest = CreateRequest(method, _ + requestUri, _ + param, _ + False) + 'BASIC茯?┝???????????+ AppendApiInfo(webReq) + + Dim code As HttpStatusCode + If content Is Nothing Then + code = GetResponse(webReq, headerInfo, False) + Else + code = GetResponse(webReq, content, headerInfo, False) + End If + If callback IsNot Nothing Then + Dim frame As New StackFrame(1) + callback(frame.GetMethod.Name, code, content) + End If + Return code + End Function + + Public Function GetContent(ByVal method As String, _ + ByVal requestUri As Uri, _ + ByVal param As Dictionary(Of String, String), _ + ByVal binary As List(Of KeyValuePair(Of String, FileInfo)), _ + ByRef content As String, _ + ByVal headerInfo As Dictionary(Of String, String), _ + ByVal callback As IHttpConnection.CallbackDelegate) As HttpStatusCode Implements IHttpConnection.GetContent + + '茯?┝羝???????? + If String.IsNullOrEmpty(Me.credential) Then Return HttpStatusCode.Unauthorized + + Dim webReq As HttpWebRequest = CreateRequest(method, _ + requestUri, _ + param, _ + binary, _ + False) + 'BASIC茯?┝???????????+ AppendApiInfo(webReq) + + Dim code As HttpStatusCode + If content Is Nothing Then + code = GetResponse(webReq, headerInfo, False) + Else + code = GetResponse(webReq, content, headerInfo, False) + End If + If callback IsNot Nothing Then + Dim frame As New StackFrame(1) + callback(frame.GetMethod.Name, code, content) + End If + Return code + End Function + + + ''' + '''BASIC茯?┝??EST API?у?荀????????篁?? + ''' + '''篁??絲乗院?????TTP?????????????с???/param> + Private Sub AppendApiInfo(ByVal webRequest As HttpWebRequest) + webRequest.ContentType = "application/x-www-form-urlencoded" + webRequest.Accept = "text/html, */*" + webRequest.Headers.Add(HttpRequestHeader.Authorization, credential) + End Sub + + ''' + '''BASIC茯?┝?т戎???????若??弱?????鴻??若???┃絎?? + ''' + '''茯?┝?т戎???????若??弱? + '''茯?┝?т戎???????鴻??若? + Public Sub Initialize(ByVal userName As String, ByVal password As String) + Me._userName = userName + Me._password = password + Me.credential = "Basic " + Convert.ToBase64String(Encoding.ASCII.GetBytes(userName + ":" + password)) + End Sub + + ''' + '''荐????????????若??弱? + ''' + Public ReadOnly Property AuthUsername() As String Implements IHttpConnection.AuthUsername + Get + Return _userName + End Get + End Property + + ''' + '''????????+ ''' + Public ReadOnly Property Password() As String + Get + Return Me._password + End Get + End Property + + ''' + '''BASIC茯?┝?т戎???????若??弱?????鴻??若???┃絎???????RL??ET???????????????OK綽?????茯?┝OK?????????荐惹??宴?篆????? + ''' + '''茯?┝???URL + '''茯?┝?т戎???????若??弱? + '''茯?┝?т戎???????鴻??若? + Public Function Authenticate(ByVal url As Uri, ByVal username As String, ByVal password As String) As HttpStatusCode Implements IHttpConnection.Authenticate + 'url???荐弱?荀??GET?<?????????+ Dim orgCre As String = Me.credential + Me.credential = "Basic " + Convert.ToBase64String(Encoding.ASCII.GetBytes(username + ":" + password)) + Try + Dim httpCode As HttpStatusCode = Me.GetContent("GET", url, Nothing, Nothing, Nothing, Nothing) + If httpCode = HttpStatusCode.OK Then + Me._userName = username + Me._password = password + Else + Me.credential = orgCre + End If + Return httpCode + Catch ex As Exception + Me.credential = orgCre + Throw + End Try + End Function + +End Class Added: branches/UserStream/Tween/Connection/HttpConnectionOAuth.vb =================================================================== --- branches/UserStream/Tween/Connection/HttpConnectionOAuth.vb (rev 0) +++ branches/UserStream/Tween/Connection/HttpConnectionOAuth.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,441 @@ +鏤?mports System.Net +Imports System.Collections.Generic +Imports System.Collections.Specialized +Imports System.IO +Imports System.Text +Imports System.Security +Imports System.Diagnostics + +''' +'''OAuth茯?┝??戎?????TTP??拭??MAC-SHA1?阪? +''' +''' +'''篏睡????茯?┝?????┃絎?????茯?┝腆肴???軸??????Authenticate膤祉??<???????茯?┝筝????????Initialize????吟???? +''' +Public Class HttpConnectionOAuth + Inherits HttpConnection + Implements IHttpConnection + + ''' + '''OAuth臀峨???auth_timestamp膊?????羣??篁??1970/1/1 00:00:00鐚?+ ''' + Private Shared ReadOnly UnixEpoch As New DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Unspecified) + + ''' + '''OAuth臀峨???auth_nonce膊????恒?違???? + ''' + Private Shared ReadOnly NonceRandom As New Random + + ''' + '''OAuth???????鴻??若??潟?羂悟?????鐚???若??弱??羔???????с????鐚?? + ''' + Private token As String = "" + + ''' + '''OAuth??讐??????腱???≪??祉?????????宛膓?????鐚???若??弱??羔???????с????鐚?? + ''' + Private tokenSecret As String = "" + + ''' + '''OAuth????潟??ャ??????+ ''' + Private consumerKey As String + + ''' + '''OAuth??讐??????腱???潟??激??若??若??若? + ''' + Protected consumerSecret As String + + ''' + '''茯?┝??????綽???с??若??惹??宴????????翫?????若?荐?????????????uthUsername??????????障??????+ ''' + Private userIdentKey As String = "" + + ''' + '''茯?┝絎?????綽?????userIdentKey???????ャ????????????吟???? + ''' + Private authorizedUsername As String = "" + + ''' + '''OAuth茯?┝?ф?絎??URL??TTP??拭??????腟???????+ ''' + '''HTTP??拭?<????鐚?ET/HEAD/POST/PUT/DELETE鐚?/param> + '''??拭??RI + '''GET??????????障???OST?????????????????/param> + '''[OUT]HTTP綽?????????????/param> + '''[IN/OUT]HTTP綽??????????????荀??????????????荐??????????? + '''???腟???翫?????違?????若????????違?????蚊???筝????????Nothing??検?????/param> + '''HTTP綽?????????帥??潟???/returns> + Public Function GetContent(ByVal method As String, _ + ByVal requestUri As Uri, _ + ByVal param As Dictionary(Of String, String), _ + ByRef content As String, _ + ByVal headerInfo As Dictionary(Of String, String), _ + ByVal callback As IHttpConnection.CallbackDelegate) As HttpStatusCode Implements IHttpConnection.GetContent + '茯?┝羝???????? + If String.IsNullOrEmpty(token) Then Return HttpStatusCode.Unauthorized + + Dim webReq As HttpWebRequest = CreateRequest(method, _ + requestUri, _ + param, _ + False) + 'OAuth茯?┝??????篁?? + AppendOAuthInfo(webReq, param, token, tokenSecret) + + Dim code As HttpStatusCode + If content Is Nothing Then + code = GetResponse(webReq, headerInfo, False) + Else + code = GetResponse(webReq, content, headerInfo, False) + End If + If callback IsNot Nothing Then + Dim frame As New StackFrame(1) + callback(frame.GetMethod.Name, code, content) + End If + Return code + End Function + + ''' + '''???????≪?????若? + ''' + Public Function GetContent(ByVal method As String, _ + ByVal requestUri As Uri, _ + ByVal param As Dictionary(Of String, String), _ + ByVal binary As List(Of KeyValuePair(Of String, FileInfo)), _ + ByRef content As String, _ + ByVal headerInfo As Dictionary(Of String, String), _ + ByVal callback As IHttpConnection.CallbackDelegate) As HttpStatusCode Implements IHttpConnection.GetContent + '茯?┝羝???????? + If String.IsNullOrEmpty(token) Then Return HttpStatusCode.Unauthorized + + Dim webReq As HttpWebRequest = CreateRequest(method, _ + requestUri, _ + param, _ + binary, _ + False) + 'OAuth茯?┝??????篁?? + AppendOAuthInfo(webReq, Nothing, token, tokenSecret) + + Dim code As HttpStatusCode + If content Is Nothing Then + code = GetResponse(webReq, headerInfo, False) + Else + code = GetResponse(webReq, content, headerInfo, False) + End If + If callback IsNot Nothing Then + Dim frame As New StackFrame(1) + callback(frame.GetMethod.Name, code, content) + End If + Return code + End Function + +#Region "茯?┝???" + ''' + '''OAuth茯?┝???紮??羆????????????若??喝??鐚??PIN?ュ??????? + ''' + ''' + '''?若??冴????????????rl???????吟???????荐弱?篋??PIN?ュ?????篁???????????????若??潟??宴?AuthenticatePinFlow????喝???+ ''' + '''??????????若??潟??????RL + '''???????ч??顄?┝??RL????若? + '''[OUT]茯?┝荀???ф???????????鴻?????????戎?????/param> + '''[OUT]requestUri????????????茯?┝??RL???絽吾???????????若??潟??????????篁?????Uri + '''???腟???????/returns> + Public Function AuthenticatePinFlowRequest(ByVal requestTokenUrl As String, _ + ByVal authorizeUrl As String, _ + ByRef requestToken As String, _ + ByRef authUri As Uri) As Boolean + 'PIN-based flow + authUri = GetAuthenticatePageUri(requestTokenUrl, authorizeUrl, requestToken) + If authUri Is Nothing Then Return False + Return True + End Function + + ''' + '''OAuth茯?┝???????鴻??若??喝????IN?ュ????緇?? + ''' + ''' + '''篋????uthenticatePinFlowRequest?????????????吟?茯?┝緇??茵?ず?????IN?????????????????????????若??冴???? + ''' + '''?≪??祉?????????????RL + '''AuthenticatePinFlowRequest?у???????????????若???/param> + '''Web?ц?荐弱???;腓冴????PIN?潟???/param> + '''???腟???????/returns> + Public Function AuthenticatePinFlow(ByVal accessTokenUrl As String, _ + ByVal requestToken As String, _ + ByVal pinCode As String) As HttpStatusCode + 'PIN-based flow + If String.IsNullOrEmpty(requestToken) Then Throw New Exception("Sequence error.(requestToken is blank)") + + '?≪??祉?????????? + Dim content As String = "" + Dim accessTokenData As NameValueCollection + Dim httpCode As HttpStatusCode = GetOAuthToken(New Uri(accessTokenUrl), pinCode, requestToken, Nothing, content) + If httpCode <> HttpStatusCode.OK Then Return httpCode + accessTokenData = ParseQueryString(content) + + If accessTokenData IsNot Nothing Then + token = accessTokenData.Item("oauth_token") + tokenSecret = accessTokenData.Item("oauth_token_secret") + '?泣?????????????綣球?綽?+ If Me.userIdentKey <> "" Then + authorizedUsername = accessTokenData.Item(Me.userIdentKey) + Else + authorizedUsername = "" + End If + If token = "" Then Throw New InvalidDataException("Token is null.") + Return HttpStatusCode.OK + Else + Throw New InvalidDataException("Return value is null.") + End If + End Function + + ''' + '''OAuth茯?┝???????鴻??若??喝????Auth?劫? + ''' + '''?≪??祉?????????????RL + '''茯?┝????若??弱? + '''茯?┝????鴻??若? + '''???腟???????/returns> + Public Function AuthenticateXAuth(ByVal accessTokenUrl As Uri, ByVal username As String, ByVal password As String) As HttpStatusCode Implements IHttpConnection.Authenticate + '????吟??祉??鴻??若??????? + If String.IsNullOrEmpty(username) OrElse String.IsNullOrEmpty(password) Then + Throw New Exception("Sequence error.(username or password is blank)") + End If + 'xAuth???綣泣?????若?荐?? + Dim parameter As New Dictionary(Of String, String) + parameter.Add("x_auth_mode", "client_auth") + parameter.Add("x_auth_username", username) + parameter.Add("x_auth_password", password) + + '?≪??祉?????????? + Dim content As String = "" + Dim httpCode As HttpStatusCode = GetOAuthToken(accessTokenUrl, "", "", parameter, content) + If httpCode <> HttpStatusCode.OK Then Return httpCode + Dim accessTokenData As NameValueCollection = ParseQueryString(content) + + If accessTokenData IsNot Nothing Then + token = accessTokenData.Item("oauth_token") + tokenSecret = accessTokenData.Item("oauth_token_secret") + '?泣?????????????綣球?綽?+ If Me.userIdentKey <> "" Then + authorizedUsername = accessTokenData.Item(Me.userIdentKey) + Else + authorizedUsername = "" + End If + If token = "" Then Throw New InvalidDataException("Token is null.") + Return HttpStatusCode.OK + Else + Throw New InvalidDataException("Return value is null.") + End If + End Function + + ''' + '''OAuth茯?┝???????鴻?????????????????鴻???????????水?????茯?┝???Uri????????+ ''' + '''??????????若??潟??????RL + '''???????ч??顄?┝??RL????若? + '''[OUT]????????????????若???/param> + '''???腟???????/returns> + Private Function GetAuthenticatePageUri(ByVal requestTokenUrl As String, _ + ByVal authorizeUrl As String, _ + ByRef requestToken As String) As Uri + Const tokenKey As String = "oauth_token" + + '??????????若??喝?? + Dim content As String = "" + Dim reqTokenData As NameValueCollection + If GetOAuthToken(New Uri(requestTokenUrl), "", "", Nothing, content) <> HttpStatusCode.OK Then Return Nothing + reqTokenData = ParseQueryString(content) + + If reqTokenData IsNot Nothing Then + requestToken = reqTokenData.Item(tokenKey) + 'Uri??? + Dim ub As New UriBuilder(authorizeUrl) + ub.Query = String.Format("{0}={1}", tokenKey, requestToken) + Return ub.Uri + Else + Return Nothing + End If + End Function + + ''' + '''OAuth茯?┝????若??喝???演???? + ''' + '''??┏????????????RL + '''PIN????惹????????鴻??若??喝?????荐???????札紊??腥堺?絖?? + '''PIN????惹????????鴻?????????????荐???????札紊??腥堺?絖?? + '''菴遵?????<??帥?xAuth?т戎??/param> + '''???腟??????若???????????堺?????c??翫???othing + Private Function GetOAuthToken(ByVal requestUri As Uri, ByVal pinCode As String, ByVal requestToken As String, ByVal parameter As Dictionary(Of String, String), ByRef content As String) As HttpStatusCode + Dim webReq As HttpWebRequest = Nothing + 'HTTP????????????PIN?潟????????<??帥????絎???翫???ET?<?????ч?篆<????篁ュ???OST + If String.IsNullOrEmpty(pinCode) AndAlso parameter Is Nothing Then + webReq = CreateRequest("GET", requestUri, Nothing, False) + Else + webReq = CreateRequest("POST", requestUri, parameter, False) '????c?菴遵?????<??炊???昭??+ End If + 'OAuth?∫?????<??炊????菴遵?????<??帥?????域申??+ Dim query As New Dictionary(Of String, String) + If parameter IsNot Nothing Then + For Each kvp As KeyValuePair(Of String, String) In parameter + query.Add(kvp.Key, kvp.Value) + Next + End If + 'PIN?潟????????????????????<??帥?菴遵? + If Not String.IsNullOrEmpty(pinCode) Then query.Add("oauth_verifier", pinCode) + 'OAuth?∫??????TTP?????????菴遵? + AppendOAuthInfo(webReq, query, requestToken, "") + 'HTTP綽????? + Return GetResponse(webReq, content, Nothing, False) + End Function +#End Region + +#Region "OAuth茯?┝??????篏???私?????? + ''' + '''HTTP?????????OAuth?∫???????菴遵? + ''' + '''菴遵?絲乗院??TTP????????/param> + '''OAuth菴遵????鐚????? or POST?????/param> + '''?≪??祉????????????????????鴻????????????????腥堺?絖?? + '''?≪??祉????????激??????????荐弱????????????/param> + Protected Overridable Sub AppendOAuthInfo(ByVal webRequest As HttpWebRequest, _ + ByVal query As Dictionary(Of String, String), _ + ByVal token As String, _ + ByVal tokenSecret As String) + 'OAuth?演??????? + Dim parameter As Dictionary(Of String, String) = GetOAuthParameter(token) + 'OAuth?演??????uery?????申??+ If query IsNot Nothing Then + For Each item As KeyValuePair(Of String, String) In query + parameter.Add(item.Key, item.Value) + Next + End If + '臀峨???????菴遵? + parameter.Add("oauth_signature", CreateSignature(tokenSecret, webRequest.Method, webRequest.RequestUri, parameter)) + 'HTTP???????????????菴遵? + Dim sb As New StringBuilder("OAuth ") + For Each item As KeyValuePair(Of String, String) In parameter + '??┏???????<?oauth_?у??障???????????????申??????????宴??????????????若???????????若??若??с??ф???+ If item.Key.StartsWith("oauth_") Then + sb.AppendFormat("{0}=""{1}"",", item.Key, UrlEncode(item.Value)) + End If + Next + webRequest.Headers.Add(HttpRequestHeader.Authorization, sb.ToString) + End Sub + + ''' + '''OAuth?т戎??????????宴??????? + ''' + '''?≪??祉????????????????????鴻????????????????腥堺?絖?? + '''OAuth???????c??激???? + Protected Function GetOAuthParameter(ByVal token As String) As Dictionary(Of String, String) + Dim parameter As New Dictionary(Of String, String) + parameter.Add("oauth_consumer_key", consumerKey) + parameter.Add("oauth_signature_method", "HMAC-SHA1") + parameter.Add("oauth_timestamp", Convert.ToInt64((DateTime.UtcNow - UnixEpoch).TotalSeconds).ToString()) 'epoch腱?+ parameter.Add("oauth_nonce", NonceRandom.Next(123400, 9999999).ToString()) + parameter.Add("oauth_version", "1.0") + If Not String.IsNullOrEmpty(token) Then parameter.Add("oauth_token", token) '????????????菴遵? + Return parameter + End Function + + ''' + '''OAuth茯?┝??????臀峨?篏?? + ''' + '''?≪??祉???????腱????/param> + '''HTTP?<?????????/param> + '''?≪??祉???ri + '''????????????OST?????/param> + '''臀峨??????/returns> + Protected Overridable Function CreateSignature(ByVal tokenSecret As String, _ + ByVal method As String, _ + ByVal uri As Uri, _ + ByVal parameter As Dictionary(Of String, String) _ + ) As String + '????<?????若?羝?????????с????荅井?鐚?Auth???罕?? + Dim sorted As New SortedDictionary(Of String, String)(parameter) + 'URL????潟?????帥??????就綣??????紊??+ Dim paramString As String = CreateQueryString(sorted) + '?≪??祉???RL???綵?+ Dim url As String = String.Format("{0}://{1}{2}", uri.Scheme, uri.Host, uri.AbsolutePath) + '臀峨?????若??????????&?阪??????????綵√???????????潟??若???? + Dim signatureBase As String = String.Format("{0}&{1}&{2}", method, UrlEncode(url), UrlEncode(paramString)) + '臀峨??泣????????潟??激??若??主?絲?????????鴻??若??括?絲????????鐚??阪?????≪??祉???????腱???泣?????&罧?????鐚?+ Dim key As String = UrlEncode(consumerSecret) + "&" + If Not String.IsNullOrEmpty(tokenSecret) Then key += UrlEncode(tokenSecret) + '?窮????臀峨???? + Dim hmac As New Cryptography.HMACSHA1(Encoding.ASCII.GetBytes(key)) + Dim hash As Byte() = hmac.ComputeHash(Encoding.ASCII.GetBytes(signatureBase)) + Return Convert.ToBase64String(hash) + End Function + +#End Region + + ''' + '''????????┏????????┃絎??????吟?茘?????荐?? + ''' + '''?潟??激??若??守? + '''?潟??激??若??主?絲?? + '''?≪??祉??????? + '''?≪??祉???????腱????/param> + '''?≪??祉?????????????緇?????????吟?茘????????荀??????????/param> + Public Sub Initialize(ByVal consumerKey As String, _ + ByVal consumerSecret As String, _ + ByVal accessToken As String, _ + ByVal accessTokenSecret As String, _ + ByVal userIdentifier As String) + Me.consumerKey = consumerKey + Me.consumerSecret = consumerSecret + Me.token = accessToken + Me.tokenSecret = accessTokenSecret + Me.userIdentKey = userIdentifier + End Sub + + ''' + '''????????┏????????┃絎??????吟?茘?????荐?? + ''' + '''?潟??激??若??守? + '''?潟??激??若??主?絲?? + '''?≪??祉??????? + '''?≪??祉???????腱????/param> + '''茯?┝羝??????吟???/param> + '''?≪??祉?????????????緇?????????吟?茘????????荀??????????/param> + Public Sub Initialize(ByVal consumerKey As String, _ + ByVal consumerSecret As String, _ + ByVal accessToken As String, _ + ByVal accessTokenSecret As String, _ + ByVal username As String, _ + ByVal userIdentifier As String) + Initialize(consumerKey, consumerSecret, accessToken, accessTokenSecret, userIdentifier) + authorizedUsername = username + End Sub + + ''' + '''?≪??祉??????? + ''' + Public ReadOnly Property AccessToken() As String + Get + Return token + End Get + End Property + + ''' + '''?≪??祉???????腱????+ ''' + Public ReadOnly Property AccessTokenSecret() As String + Get + Return tokenSecret + End Get + End Property + + ''' + '''茯?┝羝??????吟???+ ''' + Public ReadOnly Property AuthUsername() As String Implements IHttpConnection.AuthUsername + Get + Return authorizedUsername + End Get + End Property + +End Class Added: branches/UserStream/Tween/Connection/HttpConnectionOAuthEcho.vb =================================================================== --- branches/UserStream/Tween/Connection/HttpConnectionOAuthEcho.vb (rev 0) +++ branches/UserStream/Tween/Connection/HttpConnectionOAuthEcho.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,60 @@ +鏤?mports System.IO +Imports System.Text +Imports System.Net + +Public Class HttpConnectionOAuthEcho + Inherits HttpConnectionOAuth + + Private Const PostMethod As String = "POST" + Private Const GetMethod As String = "GET" + + Private _realm As Uri + Private _serviceProvider As Uri + Private _token As String + Private _tokenSecret As String + + Public WriteOnly Property Realm As Uri + Set(ByVal value As Uri) + _realm = value + End Set + End Property + + Public WriteOnly Property ServiceProvider As Uri + Set(ByVal value As Uri) + _serviceProvider = value + End Set + End Property + + Protected Overrides Sub AppendOAuthInfo(ByVal webRequest As HttpWebRequest, _ + ByVal query As Dictionary(Of String, String), _ + ByVal token As String, _ + ByVal tokenSecret As String) + 'OAuth?演??????? + Dim parameter As Dictionary(Of String, String) = GetOAuthParameter(token) + 'OAuth?演??????uery?????申??+ If query IsNot Nothing Then + For Each item As KeyValuePair(Of String, String) In query + parameter.Add(item.Key, item.Value) + Next + End If + '臀峨???????菴遵?(GET?<?????阪???erviceProvider?若??冴????臀峨?篏??) + parameter.Add("oauth_signature", CreateSignature(tokenSecret, GetMethod, _serviceProvider, parameter)) + 'HTTP???????????????菴遵? + Dim sb As New StringBuilder("OAuth ") + sb.AppendFormat("realm=""{0}://{1}{2}"",", _realm.Scheme, _realm.Host, _realm.AbsolutePath) + For Each item As KeyValuePair(Of String, String) In parameter + '??┏???????<?oauth_?у??障???????????????申??????????宴??????????????若???????????若??若??с??ф???+ If item.Key.StartsWith("oauth_") Then + sb.AppendFormat("{0}=""{1}"",", item.Key, UrlEncode(item.Value)) + End If + Next + webRequest.Headers.Add("X-Verify-Credentials-Authorization", sb.ToString) + webRequest.Headers.Add("X-Auth-Service-Provider", String.Format("{0}://{1}{2}", _serviceProvider.Scheme, _serviceProvider.Host, _serviceProvider.AbsolutePath)) + End Sub + + + Public Sub New(ByVal realm As Uri, ByVal serviceProvider As Uri) + _realm = realm + _serviceProvider = serviceProvider + End Sub +End Class Added: branches/UserStream/Tween/Connection/HttpOAuthApiProxy.vb =================================================================== --- branches/UserStream/Tween/Connection/HttpOAuthApiProxy.vb (rev 0) +++ branches/UserStream/Tween/Connection/HttpOAuthApiProxy.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,46 @@ +鏤?mports System.Security +Imports System.Text + +Public Class HttpOAuthApiProxy + Inherits HttpConnectionOAuth + + Private Const _apiHost As String = "api.twitter.com" + Private Shared _proxyHost As String = "" + + Friend Shared WriteOnly Property ProxyHost As String + Set(ByVal value As String) + If String.IsNullOrEmpty(value) OrElse value = _apiHost Then + _proxyHost = "" + Else + _proxyHost = value + End If + End Set + End Property + + Protected Overrides Function CreateSignature(ByVal tokenSecret As String, _ + ByVal method As String, _ + ByVal uri As Uri, _ + ByVal parameter As Dictionary(Of String, String) _ + ) As String + '????<?????若?羝?????????с????荅井?鐚?Auth???罕?? + Dim sorted As New SortedDictionary(Of String, String)(parameter) + 'URL????潟?????帥??????就綣??????紊??+ Dim paramString As String = CreateQueryString(sorted) + '?≪??祉???RL???綵?+ Dim url As String = String.Format("{0}://{1}{2}", uri.Scheme, uri.Host, uri.AbsolutePath) + '??????????劫?URL???荐??鐚?pi.twitter.com?阪?鐚?+ If Not String.IsNullOrEmpty(_proxyHost) AndAlso url.StartsWith(uri.Scheme + "://" + _proxyHost) Then + url = url.Replace(uri.Scheme + "://" + _proxyHost, uri.Scheme + "://" + _apiHost) + End If + '臀峨?????若??????????&?阪??????????綵√???????????潟??若???? + Dim signatureBase As String = String.Format("{0}&{1}&{2}", method, UrlEncode(url), UrlEncode(paramString)) + '臀峨??泣????????潟??激??若??主?絲?????????鴻??若??括?絲????????鐚??阪?????≪??祉???????腱???泣?????&罧?????鐚?+ Dim key As String = UrlEncode(consumerSecret) + "&" + If Not String.IsNullOrEmpty(tokenSecret) Then key += UrlEncode(tokenSecret) + '?窮????臀峨???? + Dim hmac As New Cryptography.HMACSHA1(Encoding.ASCII.GetBytes(key)) + Dim hash As Byte() = hmac.ComputeHash(Encoding.ASCII.GetBytes(signatureBase)) + Return Convert.ToBase64String(hash) + End Function + +End Class Added: branches/UserStream/Tween/Connection/HttpTwitter.vb =================================================================== --- branches/UserStream/Tween/Connection/HttpTwitter.vb (rev 0) +++ branches/UserStream/Tween/Connection/HttpTwitter.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,654 @@ +鏤?mports System.Net +Imports System.IO + +Public Class HttpTwitter + + 'OAuth?∫? + ''' + '''OAuth????潟??ャ??????+ ''' + Private Const ConsumerKey As String = "iOQHfiCUsyOyamW8JJ8jg" + + ''' + '''OAuth??讐??????腱???潟??激??若??若??若? + ''' + Private Const ConsumerSecret As String = "5PS2oa5f2VaKMPrlZa7DTbz0aFULKd3Ojxqgsm142Dw" + + ''' + '''OAuth???????鴻??若??喝????RI + ''' + Private Const AccessTokenUrlXAuth As String = "https://api.twitter.com/oauth/access_token" + + Private Shared _protocol As String = "http://" + + Private Const PostMethod As String = "POST" + Private Const GetMethod As String = "GET" + + Private httpCon As IHttpConnection 'HttpConnectionApi or HttpConnectionOAuth + Private httpConVar As New HttpVarious + + Private Enum AuthMethod + OAuth + Basic + End Enum + Private connectionType As AuthMethod = AuthMethod.Basic + + Public Sub New() + TwitterApiInfo.Initialize() + End Sub + + Public Sub Initialize(ByVal accessToken As String, _ + ByVal accessTokenSecret As String, _ + ByVal username As String) + 'for OAuth + Dim con As New HttpOAuthApiProxy + Static tk As String = "" + Static tks As String = "" + Static un As String = "" + If tk <> accessToken OrElse tks <> accessTokenSecret OrElse _ + un <> username OrElse connectionType <> AuthMethod.OAuth Then + ' 篁ュ????荐主???????????с?紊??????c???ttp??????????水????????????????+ tk = accessToken + tks = accessTokenSecret + un = username + TwitterApiInfo.Initialize() + End If + con.Initialize(ConsumerKey, ConsumerSecret, accessToken, accessTokenSecret, username, "screen_name") + httpCon = con + connectionType = AuthMethod.OAuth + End Sub + + Public Sub Initialize(ByVal username As String, _ + ByVal password As String) + 'for BASIC auth + Dim con As New HttpConnectionBasic + Static un As String = "" + Static pw As String = "" + If un <> username OrElse pw <> password OrElse connectionType <> AuthMethod.Basic Then + ' 篁ュ????荐主???????????с?紊??????c???ttp??????????水????????????????+ un = username + pw = password + TwitterApiInfo.Initialize() + End If + con.Initialize(username, password) + httpCon = con + connectionType = AuthMethod.Basic + End Sub + + Public ReadOnly Property AccessToken() As String + Get + If httpCon IsNot Nothing Then + If connectionType = AuthMethod.Basic Then Return "" + Return DirectCast(httpCon, HttpConnectionOAuth).AccessToken + Else + Return "" + End If + End Get + End Property + + Public ReadOnly Property AccessTokenSecret() As String + Get + If httpCon IsNot Nothing Then + If connectionType = AuthMethod.Basic Then Return "" + Return DirectCast(httpCon, HttpConnectionOAuth).AccessTokenSecret + Else + Return "" + End If + End Get + End Property + + Public ReadOnly Property AuthenticatedUsername() As String + Get + If httpCon IsNot Nothing Then + Return httpCon.AuthUsername + Else + Return "" + End If + End Get + End Property + + Public ReadOnly Property Password() As String + Get + If httpCon IsNot Nothing Then + 'OAuth?с????????????????? + If connectionType = AuthMethod.Basic Then Return DirectCast(httpCon, HttpConnectionBasic).Password + Return "" + Else + Return "" + End If + End Get + End Property + + Public Function AuthUserAndPass(ByVal username As String, ByVal password As String) As HttpStatusCode + If connectionType = AuthMethod.Basic Then + Return httpCon.Authenticate(CreateTwitterUri("/1/account/verify_credentials.xml"), username, password) + Else + Return httpCon.Authenticate(New Uri(AccessTokenUrlXAuth), username, password) + End If + End Function + + Public Sub ClearAuthInfo() + If connectionType = AuthMethod.Basic Then + Me.Initialize("", "") + Else + Me.Initialize("", "", "") + End If + End Sub + + Public Shared WriteOnly Property UseSsl() As Boolean + Set(ByVal value As Boolean) + If value Then + _protocol = "https://" + Else + _protocol = "http://" + End If + End Set + End Property + + Public Function UpdateStatus(ByVal status As String, ByVal replyToId As Long, ByRef content As String) As HttpStatusCode + Dim param As New Dictionary(Of String, String) + param.Add("status", status) + If connectionType = AuthMethod.Basic Then param.Add("source", "Tween") + If replyToId > 0 Then param.Add("in_reply_to_status_id", replyToId.ToString) + + Return httpCon.GetContent(PostMethod, _ + CreateTwitterUri("/1/statuses/update.xml"), _ + param, _ + content, _ + Nothing, _ + Nothing) + End Function + + Public Function DestroyStatus(ByVal id As Long) As HttpStatusCode + Return httpCon.GetContent(PostMethod, _ + CreateTwitterUri("/1/statuses/destroy/" + id.ToString + ".xml"), _ + Nothing, _ + Nothing, _ + Nothing, _ + Nothing) + End Function + + Public Function SendDirectMessage(ByVal status As String, ByVal sendto As String, ByRef content As String) As HttpStatusCode + Dim param As New Dictionary(Of String, String) + param.Add("text", status) + param.Add("screen_name", sendto) + + Return httpCon.GetContent(PostMethod, _ + CreateTwitterUri("/1/direct_messages/new.xml"), _ + param, _ + content, _ + Nothing, _ + Nothing) + End Function + + Public Function DestroyDirectMessage(ByVal id As Long) As HttpStatusCode + Return httpCon.GetContent(PostMethod, _ + CreateTwitterUri("/1/direct_messages/destroy/" + id.ToString + ".xml"), _ + Nothing, _ + Nothing, _ + Nothing, _ + Nothing) + End Function + + Public Function RetweetStatus(ByVal id As Long, ByRef content As String) As HttpStatusCode + Return httpCon.GetContent(PostMethod, _ + CreateTwitterUri("/1/statuses/retweet/" + id.ToString() + ".xml"), _ + Nothing, _ + content, _ + Nothing, _ + Nothing) + End Function + + Public Function ShowUserInfo(ByVal screenName As String, ByRef content As String) As HttpStatusCode + Dim param As New Dictionary(Of String, String) + param.Add("screen_name", screenName) + Return httpCon.GetContent(GetMethod, _ + CreateTwitterUri("/1/users/show.xml"), _ + param, _ + content, _ + TwitterApiInfo.HttpHeaders, _ + AddressOf GetApiCallback) + End Function + Public Function CreateFriendships(ByVal screenName As String, ByRef content As String) As HttpStatusCode + Dim param As New Dictionary(Of String, String) + param.Add("screen_name", screenName) + + Return httpCon.GetContent(PostMethod, _ + CreateTwitterUri("/1/friendships/create.xml"), _ + param, _ + content, _ + Nothing, _ + Nothing) + End Function + + Public Function DestroyFriendships(ByVal screenName As String, ByRef content As String) As HttpStatusCode + Dim param As New Dictionary(Of String, String) + param.Add("screen_name", screenName) + + Return httpCon.GetContent(PostMethod, _ + CreateTwitterUri("/1/friendships/destroy.xml"), _ + param, _ + content, _ + Nothing, _ + Nothing) + End Function + + Public Function CreateBlock(ByVal screenName As String, ByRef content As String) As HttpStatusCode + Dim param As New Dictionary(Of String, String) + param.Add("screen_name", screenName) + + Return httpCon.GetContent(PostMethod, _ + CreateTwitterUri("/1/blocks/create.xml"), _ + param, _ + content, _ + Nothing, _ + Nothing) + End Function + + Public Function DestroyBlock(ByVal screenName As String, ByRef content As String) As HttpStatusCode + Dim param As New Dictionary(Of String, String) + param.Add("screen_name", screenName) + + Return httpCon.GetContent(PostMethod, _ + CreateTwitterUri("/1/blocks/destroy.xml"), _ + param, _ + content, _ + Nothing, _ + Nothing) + End Function + + Public Function ReportSpam(ByVal screenName As String, ByRef content As String) As HttpStatusCode + Dim param As New Dictionary(Of String, String) + param.Add("screen_name", screenName) + + Return httpCon.GetContent(PostMethod, _ + CreateTwitterUri("/1/report_spam.xml"), _ + param, _ + content, _ + Nothing, _ + Nothing) + End Function + + Public Function ShowFriendships(ByVal souceScreenName As String, ByVal targetScreenName As String, ByRef content As String) As HttpStatusCode + Dim param As New Dictionary(Of String, String) + param.Add("source_screen_name", souceScreenName) + param.Add("target_screen_name", targetScreenName) + + Return httpCon.GetContent(GetMethod, _ + CreateTwitterUri("/1/friendships/show.xml"), _ + param, _ + content, _ + TwitterApiInfo.HttpHeaders, _ + AddressOf GetApiCallback) + End Function + + Public Function ShowStatuses(ByVal id As Long, ByRef content As String) As HttpStatusCode + Return httpCon.GetContent(GetMethod, _ + CreateTwitterUri("/1/statuses/show/" + id.ToString() + ".xml"), _ + Nothing, _ + content, _ + TwitterApiInfo.HttpHeaders, _ + AddressOf GetApiCallback) + End Function + + Public Function CreateFavorites(ByVal id As Long, ByRef content As String) As HttpStatusCode + Return httpCon.GetContent(PostMethod, _ + CreateTwitterUri("/1/favorites/create/" + id.ToString() + ".xml"), _ + Nothing, _ + content, _ + Nothing, _ + Nothing) + End Function + + Public Function DestroyFavorites(ByVal id As Long, ByRef content As String) As HttpStatusCode + Return httpCon.GetContent(PostMethod, _ + CreateTwitterUri("/1/favorites/destroy/" + id.ToString() + ".xml"), _ + Nothing, _ + content, _ + Nothing, _ + Nothing) + End Function + + Public Function HomeTimeline(ByVal count As Integer, ByVal max_id As Long, ByVal since_id As Long, ByRef content As String) As HttpStatusCode + Dim param As New Dictionary(Of String, String) + If count > 0 Then + param.Add("count", count.ToString()) + End If + If max_id > 0 Then + param.Add("max_id", max_id.ToString()) + End If + If since_id > 0 Then + param.Add("since_id", since_id.ToString()) + End If + + Return httpCon.GetContent(GetMethod, _ + CreateTwitterUri("/1/statuses/home_timeline.xml"), _ + param, _ + content, _ + TwitterApiInfo.HttpHeaders, _ + AddressOf GetApiCallback) + End Function + + Public Function Mentions(ByVal count As Integer, ByVal max_id As Long, ByVal since_id As Long, ByRef content As String) As HttpStatusCode + Dim param As New Dictionary(Of String, String) + If count > 0 Then + param.Add("count", count.ToString()) + End If + If max_id > 0 Then + param.Add("max_id", max_id.ToString()) + End If + If since_id > 0 Then + param.Add("since_id", since_id.ToString()) + End If + + Return httpCon.GetContent(GetMethod, _ + CreateTwitterUri("/1/statuses/mentions.xml"), _ + param, _ + content, _ + TwitterApiInfo.HttpHeaders, _ + AddressOf GetApiCallback) + End Function + + Public Function DirectMessages(ByVal count As Integer, ByVal max_id As Long, ByVal since_id As Long, ByRef content As String) As HttpStatusCode + Dim param As New Dictionary(Of String, String) + If count > 0 Then + param.Add("count", count.ToString()) + End If + If max_id > 0 Then + param.Add("max_id", max_id.ToString()) + End If + If since_id > 0 Then + param.Add("since_id", since_id.ToString()) + End If + + Return httpCon.GetContent(GetMethod, _ + CreateTwitterUri("/1/direct_messages.xml"), _ + Nothing, _ + content, _ + TwitterApiInfo.HttpHeaders, _ + AddressOf GetApiCallback) + End Function + + Public Function DirectMessagesSent(ByVal count As Integer, ByVal max_id As Long, ByVal since_id As Long, ByRef content As String) As HttpStatusCode + Dim param As New Dictionary(Of String, String) + If count > 0 Then + param.Add("count", count.ToString()) + End If + If max_id > 0 Then + param.Add("max_id", max_id.ToString()) + End If + If since_id > 0 Then + param.Add("since_id", since_id.ToString()) + End If + + Return httpCon.GetContent(GetMethod, _ + CreateTwitterUri("/1/direct_messages/sent.xml"), _ + Nothing, _ + content, _ + TwitterApiInfo.HttpHeaders, _ + AddressOf GetApiCallback) + End Function + + Public Function Favorites(ByVal count 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()) + + Return httpCon.GetContent(GetMethod, _ + CreateTwitterUri("/1/favorites.xml"), _ + param, _ + content, _ + TwitterApiInfo.HttpHeaders, _ + AddressOf GetApiCallback) + End Function + + Public Function Search(ByVal words As String, ByVal lang As String, ByVal rpp As Integer, ByVal page As Integer, ByVal sinceId As Long, ByRef content As String) As HttpStatusCode + Dim param As New Dictionary(Of String, String) + If Not String.IsNullOrEmpty(words) Then param.Add("q", words) + If Not String.IsNullOrEmpty(lang) Then param.Add("lang", lang) + If rpp > 0 Then param.Add("rpp", rpp.ToString()) + If page > 0 Then param.Add("page", page.ToString()) + If sinceId > 0 Then param.Add("since_id", sinceId.ToString) + + If param.Count = 0 Then Return HttpStatusCode.BadRequest + + Return httpConVar.GetContent(GetMethod, _ + CreateTwitterSearchUri("/search.atom"), _ + param, _ + content, _ + Nothing, _ + "Tween") + End Function + + Public Function FollowerIds(ByVal cursor As Long, ByRef content As String) As HttpStatusCode + Dim param As New Dictionary(Of String, String) + param.Add("cursor", cursor.ToString()) + + Return httpCon.GetContent(GetMethod, _ + CreateTwitterUri("/1/followers/ids.xml"), _ + param, _ + content, _ + TwitterApiInfo.HttpHeaders, _ + AddressOf GetApiCallback) + End Function + + Public Function RateLimitStatus(ByRef content As String) As HttpStatusCode + Return httpCon.GetContent(GetMethod, _ + CreateTwitterUri("/1/account/rate_limit_status.xml"), _ + Nothing, _ + content, _ + Nothing, _ + Nothing) + End Function + + Public Function GetLists(ByVal user As String, ByVal cursor As Long, ByRef content As String) As HttpStatusCode + Dim param As New Dictionary(Of String, String) + param.Add("cursor", cursor.ToString) + Return httpCon.GetContent(GetMethod, _ + CreateTwitterUri("/1/" + user + "/lists.xml"), _ + param, _ + content, _ + TwitterApiInfo.HttpHeaders, _ + AddressOf GetApiCallback) + End Function + + Public Function PostListID(ByVal user As String, ByVal list_id As String, ByVal name As String, ByVal mode As String, ByVal description As String, ByRef content As String) As HttpStatusCode + Dim param As New Dictionary(Of String, String) + If name IsNot Nothing Then param.Add("name", name) + If mode IsNot Nothing Then param.Add("mode", mode) + If description IsNot Nothing Then param.Add("description", description) + + Return httpCon.GetContent(PostMethod, _ + CreateTwitterUri("/1/" + user + "/lists/" + list_id + ".xml"), _ + param, _ + content, _ + Nothing, _ + Nothing) + End Function + + Public Function DeleteListID(ByVal user As String, ByVal list_id As String, ByRef content As String) As HttpStatusCode + Dim param As New Dictionary(Of String, String) + param.Add("_method", "DELETE") + + Return httpCon.GetContent(PostMethod, _ + CreateTwitterUri("/1/" + user + "/lists/" + list_id + ".xml"), _ + param, _ + content, _ + Nothing, _ + Nothing) + End Function + + Public Function GetListsSubscriptions(ByVal user As String, ByVal cursor As Long, ByRef content As String) As HttpStatusCode + Dim param As New Dictionary(Of String, String) + param.Add("cursor", cursor.ToString) + Return httpCon.GetContent(GetMethod, _ + CreateTwitterUri("/1/" + user + "/lists/subscriptions.xml"), _ + param, _ + content, _ + TwitterApiInfo.HttpHeaders, _ + AddressOf GetApiCallback) + End Function + + Public Function GetListsStatuses(ByVal user As String, ByVal list_id As String, ByVal per_page As Integer, ByVal max_id As Long, ByVal since_id As Long, ByRef content As String) As HttpStatusCode + '茯?┝??????????с??????rotected????吟?????????+ Dim param As New Dictionary(Of String, String) + If per_page > 0 Then + param.Add("per_page", per_page.ToString()) + End If + If max_id > 0 Then + param.Add("max_id", max_id.ToString()) + End If + If since_id > 0 Then + param.Add("since_id", since_id.ToString()) + End If + + Return httpCon.GetContent(GetMethod, _ + CreateTwitterUri("/1/" + user + "/lists/" + list_id + "/statuses.xml"), _ + param, _ + content, _ + TwitterApiInfo.HttpHeaders, _ + AddressOf GetApiCallback) + End Function + + Public Function PostLists(ByVal user As String, ByVal listname As String, ByVal isPrivate As Boolean, ByVal description As String, ByRef content As String) As HttpStatusCode + Dim mode As String = "public" + If isPrivate Then + mode = "private" + End If + + Dim param As New Dictionary(Of String, String) + param.Add("name", listname) + param.Add("mode", mode) + If Not String.IsNullOrEmpty(description) Then + param.Add("description", description) + End If + Return httpCon.GetContent(PostMethod, _ + CreateTwitterUri("/1/" + user + "/lists.xml"), _ + param, _ + content, _ + Nothing, + Nothing) + End Function + + Public Function GetListMembers(ByVal user As String, ByVal list_id As String, ByVal cursor As Long, ByRef content As String) As HttpStatusCode + Dim param As New Dictionary(Of String, String) + param.Add("cursor", cursor.ToString()) + Return httpCon.GetContent(GetMethod, _ + CreateTwitterUri("/1/" + user + "/" + list_id + "/members.xml"), _ + param, _ + content, _ + TwitterApiInfo.HttpHeaders, _ + AddressOf GetApiCallback) + End Function + + Public Function PostListMembers(ByVal user As String, ByVal list_id As String, ByVal id As String, ByRef content As String) As HttpStatusCode + Dim param As New Dictionary(Of String, String) + param.Add("id", id) + Return httpCon.GetContent(PostMethod, _ + CreateTwitterUri("/1/" + user + "/" + list_id + "/members.xml"), _ + param, _ + content, _ + Nothing, _ + Nothing) + End Function + + Public Function DeleteListMembers(ByVal user As String, ByVal list_id As String, ByVal id As String, ByRef content As String) As HttpStatusCode + Dim param As New Dictionary(Of String, String) + param.Add("id", id) + param.Add("_method", "DELETE") + Return httpCon.GetContent(PostMethod, _ + CreateTwitterUri("/1/" + user + "/" + list_id + "/members.xml"), _ + param, _ + content, _ + Nothing, _ + Nothing) + End Function + + Public Function GetListMembersID(ByVal user As String, ByVal list_id As String, ByVal id As String, ByRef content As String) As HttpStatusCode + Return httpCon.GetContent(GetMethod, _ + CreateTwitterUri("/1/" + user + "/" + list_id + "/members/" + id + ".xml"), _ + Nothing, _ + content, _ + TwitterApiInfo.HttpHeaders, _ + AddressOf GetApiCallback) + End Function + + Public Function Statusid_retweeted_by_ids(ByVal statusid As Long, ByVal count As Integer, ByVal page As Integer, ByRef content As String) As HttpStatusCode + Dim param As New Dictionary(Of String, String) + If count > 0 Then + param.Add("count", count.ToString()) + End If + If page > 0 Then + param.Add("page", page.ToString()) + End If + + Return httpCon.GetContent(GetMethod, _ + CreateTwitterUri("/1/statuses/" + statusid.ToString + "/retweeted_by/ids.xml"), _ + param, _ + content, _ + TwitterApiInfo.HttpHeaders, _ + AddressOf GetApiCallback) + End Function + + Public Function UpdateProfile(ByVal name As String, ByVal url As String, ByVal location As String, ByVal description As String, ByRef content As String) As HttpStatusCode + Dim param As New Dictionary(Of String, String) + + param.Add("name", name) + param.Add("url", url) + param.Add("location", location) + param.Add("description", description) + + Return httpCon.GetContent(PostMethod, _ + CreateTwitterUri("/1/account/update_profile.xml"), _ + param, _ + content, _ + Nothing, _ + Nothing) + End Function + + Public Function UpdateProfileImage(ByVal imageFile As FileInfo, ByRef content As String) As HttpStatusCode + Dim binary As New List(Of KeyValuePair(Of String, FileInfo)) + binary.Add(New KeyValuePair(Of String, FileInfo)("image", imageFile)) + + Return httpCon.GetContent(PostMethod, _ + CreateTwitterUri("/1/account/update_profile_image.xml"), _ + Nothing, _ + binary, _ + content, _ + Nothing, _ + Nothing) + End Function + +#Region "Proxy API" + Private Shared _twitterUrl As String = "api.twitter.com" + 'Private TwitterUrl As String = "sorayukigtap.appspot.com/api" + Private Shared _TwitterSearchUrl As String = "search.twitter.com" + 'Private TwitterSearchUrl As String = "sorayukigtap.appspot.com/search" + + Private Function CreateTwitterUri(ByVal path As String) As Uri + Return New Uri(String.Format("{0}{1}{2}", _protocol, _twitterUrl, path)) + End Function + + Private Function CreateTwitterSearchUri(ByVal path As String) As Uri + Return New Uri(String.Format("{0}{1}{2}", _protocol, _TwitterSearchUrl, path)) + End Function + + Public Shared WriteOnly Property TwitterUrl() As String + Set(ByVal value As String) + _twitterUrl = value + HttpOAuthApiProxy.ProxyHost = value + End Set + End Property + + Public Shared WriteOnly Property TwitterSearchUrl() As String + Set(ByVal value As String) + _TwitterSearchUrl = value + End Set + End Property +#End Region + + Private Sub GetApiCallback(ByVal sender As Object, ByRef code As HttpStatusCode, ByRef content As String) + If code < HttpStatusCode.InternalServerError Then + TwitterApiInfo.ParseHttpHeaders(TwitterApiInfo.HttpHeaders) + End If + End Sub +End Class Added: branches/UserStream/Tween/Connection/HttpVarious.vb =================================================================== --- branches/UserStream/Tween/Connection/HttpVarious.vb (rev 0) +++ branches/UserStream/Tween/Connection/HttpVarious.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,183 @@ +鏤?mports System.Net +Imports System.Collections.Generic + +Public Class HttpVarious + Inherits HttpConnection + + Private Const PostMethod As String = "POST" + Private Const GetMethod As String = "GET" + + Public Function GetRedirectTo(ByVal url As String) As String + Try + Dim req As HttpWebRequest = CreateRequest(GetMethod, New Uri(url), Nothing, False) + req.Timeout = 5000 + req.AllowAutoRedirect = False + Dim data As String = "" + Dim head As New Dictionary(Of String, String) + Dim ret As HttpStatusCode = GetResponse(req, data, head, False) + If head.ContainsKey("Location") Then + Return head("Location") + Else + Return url + End If + Catch ex As Exception + Return url + End Try + End Function + + Public Overloads Function GetImage(ByVal url As Uri) As Image + Return GetImage(url.ToString, "", 10000, Nothing) + End Function + + Public Overloads Function GetImage(ByVal url As String) As Image + Return GetImage(url, "", 10000, Nothing) + End Function + + Public Overloads Function GetImage(ByVal url As String, ByVal timeout As Integer) As Image + Return GetImage(url, "", timeout, Nothing) + End Function + + Public Overloads Function GetImage(ByVal url As String, ByVal referer As String) As Image + Return GetImage(url, referer, 10000, Nothing) + End Function + + Public Overloads Function GetImage(ByVal url As String, ByVal referer As String, ByVal timeout As Integer, ByRef errmsg As String) As Image + Return GetImageInternal(AddressOf CheckValidImage, url, referer, timeout, errmsg) + End Function + + Public Function GetIconImage(ByVal url As String, ByVal timeout As Integer) As Image + Return GetImageInternal(AddressOf CheckValidIconImage, url, "", timeout, Nothing) + End Function + + Private Delegate Function CheckValidImageDelegate(ByVal img As Image, ByVal width As Integer, ByVal height As Integer) As Image + + Private Overloads Function GetImageInternal(ByVal CheckImage As CheckValidImageDelegate, ByVal url As String, ByVal referer As String, ByVal timeout As Integer, ByRef errmsg As String) As Image + Try + Dim req As HttpWebRequest = CreateRequest(GetMethod, New Uri(url), Nothing, False) + If Not String.IsNullOrEmpty(referer) Then req.Referer = referer + If timeout < 3000 OrElse timeout > 30000 Then + req.Timeout = 10000 + Else + req.Timeout = timeout + End If + Dim img As Bitmap = Nothing + Dim ret As HttpStatusCode = GetResponse(req, img, Nothing, False) + If errmsg IsNot Nothing Then + If ret = HttpStatusCode.OK Then + errmsg = "" + Else + errmsg = ret.ToString + End If + End If + If img IsNot Nothing Then img.Tag = url + If ret = HttpStatusCode.OK Then Return CheckImage(img, img.Width, img.Height) + Return Nothing + Catch ex As WebException + If errmsg IsNot Nothing Then + errmsg = ex.Message + End If + Return Nothing + Catch ex As Exception + Return Nothing + End Try + End Function + + Public Function PostData(ByVal Url As String, ByVal param As Dictionary(Of String, String)) As Boolean + Try + Dim req As HttpWebRequest = CreateRequest(PostMethod, New Uri(Url), param, False) + Dim res As HttpStatusCode = Me.GetResponse(req, Nothing, False) + If res = HttpStatusCode.OK Then Return True + Return False + Catch ex As Exception + Return False + End Try + End Function + + Public Function PostData(ByVal Url As String, ByVal param As Dictionary(Of String, String), ByRef content As String) As Boolean + Try + Dim req As HttpWebRequest = CreateRequest(PostMethod, New Uri(Url), param, False) + Dim res As HttpStatusCode = Me.GetResponse(req, content, Nothing, False) + If res = HttpStatusCode.OK Then Return True + Return False + Catch ex As Exception + Return False + End Try + End Function + + Public Overloads Function GetData(ByVal Url As String, ByVal param As Dictionary(Of String, String), ByRef content As String) As Boolean + Return GetData(Url, param, content, 100000, Nothing) + End Function + + Public Overloads Function GetData(ByVal Url As String, ByVal param As Dictionary(Of String, String), ByRef content As String, ByVal timeout As Integer) As Boolean + Return GetData(Url, param, content, 100000, Nothing) + End Function + + Public Overloads Function GetData(ByVal Url As String, ByVal param As Dictionary(Of String, String), ByRef content As String, ByVal timeout As Integer, ByRef errmsg As String) As Boolean + Try + Dim req As HttpWebRequest = CreateRequest(GetMethod, New Uri(Url), param, False) + If timeout < 3000 OrElse timeout > 30000 Then + req.Timeout = 10000 + Else + req.Timeout = timeout + End If + Dim res As HttpStatusCode = Me.GetResponse(req, content, Nothing, False) + If res = HttpStatusCode.OK Then Return True + If errmsg IsNot Nothing Then + errmsg = res.ToString + End If + Return False + Catch ex As Exception + If errmsg IsNot Nothing Then + errmsg = ex.Message + End If + Return False + End Try + End Function + + Public Function GetContent(ByVal method As String, ByVal Url As Uri, ByVal param As Dictionary(Of String, String), ByRef content As String, ByVal headerInfo As Dictionary(Of String, String), ByVal userAgent As String) As HttpStatusCode + 'Search?т戎????若??冴????箴????????????????+ Dim req As HttpWebRequest = CreateRequest(method, Url, param, False) + req.UserAgent = userAgent + Return Me.GetResponse(req, content, headerInfo, False) + End Function + + Public Function GetDataToFile(ByVal Url As String, ByVal savePath As String) As Boolean + Try + Dim req As HttpWebRequest = CreateRequest(GetMethod, New Uri(Url), Nothing, False) + req.AutomaticDecompression = DecompressionMethods.Deflate Or DecompressionMethods.GZip + Using strm As New System.IO.FileStream(savePath, IO.FileMode.Create, IO.FileAccess.Write) + Try + Dim res As HttpStatusCode = Me.GetResponse(req, strm, Nothing, False) + strm.Close() + If res = HttpStatusCode.OK Then Return True + Return False + Catch ex As Exception + strm.Close() + Return False + End Try + End Using + Catch ex As Exception + Return False + End Try + End Function + + Private Function CheckValidIconImage(ByVal img As Image, ByVal width As Integer, ByVal height As Integer) As Image + Return CheckValidImage(img, 48, 48) + End Function + + Public Overloads Function CheckValidImage(ByVal img As Image, ByVal width As Integer, ByVal height As Integer) As Image + If img Is Nothing Then Return Nothing + + Dim bmp As New Bitmap(width, height) + Dim tag As Object = img.Tag + Using g As Graphics = Graphics.FromImage(bmp) + g.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic + g.PixelOffsetMode = Drawing2D.PixelOffsetMode.HighQuality + g.DrawImage(img, 0, 0, width, height) + End Using + img.Dispose() + bmp.Tag = tag + Return bmp + End Function + +End Class Added: branches/UserStream/Tween/Connection/IHttpConnection.vb =================================================================== --- branches/UserStream/Tween/Connection/IHttpConnection.vb (rev 0) +++ branches/UserStream/Tween/Connection/IHttpConnection.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,32 @@ +鏤?mports System.Net +Imports System.IO + +Public Interface IHttpConnection + + Function GetContent(ByVal method As String, _ + ByVal requestUri As Uri, _ + ByVal param As Dictionary(Of String, String), _ + ByRef content As String, _ + ByVal headerInfo As Dictionary(Of String, String), _ + ByVal callback As CallbackDelegate) As HttpStatusCode + + Function GetContent(ByVal method As String, _ + ByVal requestUri As Uri, _ + ByVal param As Dictionary(Of String, String), _ + ByVal binary As List(Of KeyValuePair(Of String, FileInfo)), _ + ByRef content As String, _ + ByVal headerInfo As Dictionary(Of String, String), _ + ByVal callback As CallbackDelegate) As HttpStatusCode + + Function Authenticate(ByVal url As Uri, ByVal username As String, ByVal password As String) As HttpStatusCode + + ReadOnly Property AuthUsername() As String + ''' + ''' API?<??????????腟??????喝?????御????????若????????蚊???+ ''' + ''' ?<??????/param> + ''' API?<??????????HTTP?鴻??若??鴻??若? + ''' API?<????????????/param> + ''' content??othing????????????????????????????????/remarks> + Delegate Sub CallbackDelegate(ByVal sender As Object, ByRef code As HttpStatusCode, ByRef content As String) +End Interface Added: branches/UserStream/Tween/Connection/TwitPic.vb =================================================================== --- branches/UserStream/Tween/Connection/TwitPic.vb (rev 0) +++ branches/UserStream/Tween/Connection/TwitPic.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,91 @@ +鏤?mports System.IO +Imports System.Text +Imports System.Net + +Public Class TwitPic + Inherits HttpConnectionOAuthEcho + + 'OAuth?∫? + ''' + '''OAuth????潟??ャ??????+ ''' + Private Const ConsumerKey As String = "iOQHfiCUsyOyamW8JJ8jg" + + ''' + '''OAuth??讐??????腱???潟??激??若??若??若? + ''' + Private Const ConsumerSecretKey As String = "5PS2oa5f2VaKMPrlZa7DTbz0aFULKd3Ojxqgsm142Dw" + + Private Const PostMethod As String = "POST" + Private Const GetMethod As String = "GET" + Private Const ApiKey As String = "287b60562aea3cab9f58fa54015848e8" + Private pictureExt() As String = {".jpg", _ + ".jpeg", _ + ".gif", _ + ".png"} + + Private Const MaxFileSize As Long = 5 * 1024 * 1024 + + Public Function Upload(ByVal mediaFile As FileInfo, _ + ByVal message As String, _ + ByRef content As String) As HttpStatusCode + 'Message綽?? + If String.IsNullOrEmpty(message) Then message = "" + 'Check filetype and size(Max 5MB) + If Array.IndexOf(pictureExt, mediaFile.Extension.ToLower) > -1 Then + If mediaFile.Length > MaxFileSize Then Throw New ArgumentException("File is too large.") + Else + Throw New ArgumentException("Service don't support this filetype.") + End If + + Dim param As New Dictionary(Of String, String) + param.Add("key", ApiKey) + param.Add("message", message) + Dim binary As New List(Of KeyValuePair(Of String, FileInfo)) + binary.Add(New KeyValuePair(Of String, FileInfo)("media", mediaFile)) + Me.InstanceTimeout = 60000 '?帥???????60腱?+ + Return GetContent(PostMethod, _ + New Uri("http://api.twitpic.com/2/upload.xml"), _ + param, _ + binary, _ + content, _ + Nothing, _ + Nothing) + End Function + + Public Function CheckValidExtension(ByVal ext As String) As Boolean + If Array.IndexOf(pictureExt, ext.ToLower) > -1 Then + Return True + End If + Return False + End Function + + Public Function GetFileOpenDialogFilter() As String + Return "Image Files(*.gif;*.jpg;*.jpeg;*.png)|*.gif;*.jpg;*.jpeg;*.png" + End Function + + Public Function GetFileType(ByVal ext As String) As UploadFileType + If Array.IndexOf(pictureExt, ext.ToLower) > -1 Then + Return UploadFileType.Picture + End If + Return UploadFileType.Invalid + End Function + + Public Function IsSupportedFileType(ByVal type As UploadFileType) As Boolean + Return type.Equals(UploadFileType.Picture) + End Function + + Public Function GetMaxFileSize(ByVal ext As String) As Long + If Array.IndexOf(pictureExt, ext.ToLower) > -1 Then + Return MaxFileSize + End If + Return -1 + End Function + + Public Sub New(ByVal accessToken As String, ByVal accessTokenSecret As String) + MyBase.New(New Uri("http://api.twitter.com/"), _ + New Uri("https://api.twitter.com/1/account/verify_credentials.json")) + Initialize(ConsumerKey, ConsumerSecretKey, accessToken, accessTokenSecret, "") + End Sub +End Class Added: branches/UserStream/Tween/Connection/TwitVideo.vb =================================================================== --- branches/UserStream/Tween/Connection/TwitVideo.vb (rev 0) +++ branches/UserStream/Tween/Connection/TwitVideo.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,107 @@ +鏤?mports System.IO +Imports System.Text +Imports System.Net + +Public Class TwitVideo + Inherits HttpConnection + + Private Const PostMethod As String = "POST" + Private Const GetMethod As String = "GET" + Private Const ConsumerKey As String = "c72b8327466ad675782538f7c869738d" + Private multimediaExt() As String = {".avi", _ + ".wmv", _ + ".flv", _ + ".m4v", _ + ".mov", _ + ".mp4", _ + ".rm", _ + ".mpeg", _ + ".mpg", _ + ".3gp", _ + ".3g2"} + Private pictureExt() As String = {".jpg", _ + ".jpeg", _ + ".gif", _ + ".png"} + + Private Const MaxPictureFileSize As Long = 10 * 1024 * 1024 + Private Const MaxMultiMediaFileSize As Long = 20 * 1024 * 1024 + + Public Function Upload(ByVal mediaFile As FileInfo, _ + ByVal message As String, _ + ByVal keyword As String, _ + ByVal username As String, _ + ByVal twitter_id As String, _ + ByRef content As String) As HttpStatusCode + 'Message綽?? + If String.IsNullOrEmpty(message) Then Throw New ArgumentException("'Message' is required.") + 'Check filetype and size + If Array.IndexOf(multimediaExt, mediaFile.Extension.ToLower) > -1 Then + If mediaFile.Length > MaxMultiMediaFileSize Then Throw New ArgumentException("File is too large.") + ElseIf Array.IndexOf(pictureExt, mediaFile.Extension.ToLower) > -1 Then + If mediaFile.Length > MaxPictureFileSize Then Throw New ArgumentException("File is too large.") + Else + Throw New ArgumentException("Service don't support this filetype.") + End If + 'Endpoint(URI+Token) + Const URLBASE As String = "http://api.twitvideo.jp/oauth/upload/" + Dim data As Byte() = Encoding.ASCII.GetBytes(ConsumerKey.Substring(0, 9) + username) + Dim bHash As Byte() = (New System.Security.Cryptography.MD5CryptoServiceProvider()).ComputeHash(data) + Dim url As String = URLBASE + BitConverter.ToString(bHash).ToLower.Replace("-", "") + 'Parameters + Dim param As New Dictionary(Of String, String) + param.Add("username", username) + If Not String.IsNullOrEmpty(twitter_id) Then param.Add("twitter_id", twitter_id) + If Not String.IsNullOrEmpty(keyword) Then param.Add("keyword", keyword) + param.Add("type", "xml") + param.Add("message", message) + Dim binary As New List(Of KeyValuePair(Of String, FileInfo)) + binary.Add(New KeyValuePair(Of String, FileInfo)("media", mediaFile)) + Me.InstanceTimeout = 60000 '?帥???????60腱?+ + Dim req As HttpWebRequest = CreateRequest(PostMethod, _ + New Uri(url), _ + param, _ + binary, _ + False) + Return Me.GetResponse(req, content, Nothing, False) + End Function + + Public Function CheckValidExtension(ByVal ext As String) As Boolean + If Array.IndexOf(pictureExt, ext.ToLower) > -1 Then + Return True + End If + If Array.IndexOf(multimediaExt, ext.ToLower) > -1 Then + Return True + End If + Return False + End Function + + Public Function GetFileType(ByVal ext As String) As UploadFileType + If Array.IndexOf(pictureExt, ext.ToLower) > -1 Then + Return UploadFileType.Picture + End If + If Array.IndexOf(multimediaExt, ext.ToLower) > -1 Then + Return UploadFileType.MultiMedia + End If + Return UploadFileType.Invalid + End Function + + Public Function IsSupportedFileType(ByVal type As UploadFileType) As Boolean + Return type.Equals(UploadFileType.Picture) OrElse type.Equals(UploadFileType.MultiMedia) + End Function + + Public Function GetMaxFileSize(ByVal ext As String) As Long + If Array.IndexOf(multimediaExt, ext.ToLower) > -1 Then + Return MaxMultiMediaFileSize + ElseIf Array.IndexOf(pictureExt, ext.ToLower) > -1 Then + Return MaxPictureFileSize + End If + Return -1 + End Function + + Public Function GetFileOpenDialogFilter() As String + Return "Image Files(*.gif;*.jpg;*.jpeg;*.png)|*.gif;*.jpg;*.jpeg;*.png|" + _ + "Movie Files(*.avi;*.wmv;*.flv;*.m4v;*.mov;*.mp4;*.rm;*.mpeg;*.mpg;*.3gp;*.3g2)|*.avi;*.wmv;*.flv;*.m4v;*.mov;*.mp4;*.rm;*.mpeg;*.mpg;*.3gp;*.3g2" + End Function +End Class Added: branches/UserStream/Tween/Connection/imgly.vb =================================================================== --- branches/UserStream/Tween/Connection/imgly.vb (rev 0) +++ branches/UserStream/Tween/Connection/imgly.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,89 @@ +鏤?mports System.IO +Imports System.Text +Imports System.Net + +Public Class imgly + Inherits HttpConnectionOAuthEcho + + 'OAuth?∫? + ''' + '''OAuth????潟??ャ??????+ ''' + Private Const ConsumerKey As String = "iOQHfiCUsyOyamW8JJ8jg" + + ''' + '''OAuth??讐??????腱???潟??激??若??若??若? + ''' + Private Const ConsumerSecretKey As String = "5PS2oa5f2VaKMPrlZa7DTbz0aFULKd3Ojxqgsm142Dw" + + Private Const PostMethod As String = "POST" + Private Const GetMethod As String = "GET" + Private pictureExt() As String = {".jpg", _ + ".jpeg", _ + ".gif", _ + ".png"} + + Private Const MaxFileSize As Long = 4 * 1024 * 1024 + + Public Function Upload(ByVal mediaFile As FileInfo, _ + ByVal message As String, _ + ByRef content As String) As HttpStatusCode + 'Message綽?? + If String.IsNullOrEmpty(message) Then message = "" + 'Check filetype and size(Max 4MB) + If Array.IndexOf(pictureExt, mediaFile.Extension.ToLower) > -1 Then + If mediaFile.Length > MaxFileSize Then Throw New ArgumentException("File is too large.") + Else + Throw New ArgumentException("Service don't support this filetype.") + End If + + Dim param As New Dictionary(Of String, String) + param.Add("message", message) + Dim binary As New List(Of KeyValuePair(Of String, FileInfo)) + binary.Add(New KeyValuePair(Of String, FileInfo)("media", mediaFile)) + Me.InstanceTimeout = 60000 '?帥???????60腱?+ + Return GetContent(PostMethod, _ + New Uri("http://img.ly/api/2/upload.xml"), _ + param, _ + binary, _ + content, _ + Nothing, _ + Nothing) + End Function + + Public Function CheckValidExtension(ByVal ext As String) As Boolean + If Array.IndexOf(pictureExt, ext.ToLower) > -1 Then + Return True + End If + Return False + End Function + + Public Function GetFileOpenDialogFilter() As String + Return "Image Files(*.gif;*.jpg;*.jpeg;*.png)|*.gif;*.jpg;*.jpeg;*.png" + End Function + + Public Function GetFileType(ByVal ext As String) As UploadFileType + If Array.IndexOf(pictureExt, ext.ToLower) > -1 Then + Return UploadFileType.Picture + End If + Return UploadFileType.Invalid + End Function + + Public Function IsSupportedFileType(ByVal type As UploadFileType) As Boolean + Return type.Equals(UploadFileType.Picture) + End Function + + Public Function GetMaxFileSize(ByVal ext As String) As Long + If Array.IndexOf(pictureExt, ext.ToLower) > -1 Then + Return MaxFileSize + End If + Return -1 + End Function + + Public Sub New(ByVal accessToken As String, ByVal accessTokenSecret As String) + MyBase.New(New Uri("http://api.twitter.com/"), _ + New Uri("https://api.twitter.com/1/account/verify_credentials.json")) + Initialize(ConsumerKey, ConsumerSecretKey, accessToken, accessTokenSecret, "") + End Sub +End Class Added: branches/UserStream/Tween/Connection/yfrog.vb =================================================================== --- branches/UserStream/Tween/Connection/yfrog.vb (rev 0) +++ branches/UserStream/Tween/Connection/yfrog.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,93 @@ +鏤?mports System.IO +Imports System.Text +Imports System.Net +Imports System.Windows.Forms + +Public Class yfrog + Inherits HttpConnectionOAuthEcho + + 'OAuth?∫? + ''' + '''OAuth????潟??ャ??????+ ''' + Private Const ConsumerKey As String = "iOQHfiCUsyOyamW8JJ8jg" + + ''' + '''OAuth??讐??????腱???潟??激??若??若??若? + ''' + Private Const ConsumerSecretKey As String = "5PS2oa5f2VaKMPrlZa7DTbz0aFULKd3Ojxqgsm142Dw" + + Private Const PostMethod As String = "POST" + Private Const GetMethod As String = "GET" + Private Const ApiKey As String = "03HJKOWY93b7d7b7a5fa015890f8259cf939e144" + Private pictureExt() As String = {".jpg", _ + ".jpeg", _ + ".gif", _ + ".png"} + + Private Const MaxFileSize As Long = 5 * 1024 * 1024 + + + Public Function Upload(ByVal mediaFile As FileInfo, _ + ByVal message As String, _ + ByRef content As String) As HttpStatusCode + 'Message綽?? + If String.IsNullOrEmpty(message) Then message = "" + 'Check filetype and size(Max 5MB) + If Array.IndexOf(pictureExt, mediaFile.Extension.ToLower) > -1 Then + If mediaFile.Length > MaxFileSize Then Throw New ArgumentException("File is too large.") + Else + Throw New ArgumentException("Service don't support this filetype.") + End If + + Dim param As New Dictionary(Of String, String) + param.Add("key", ApiKey) + param.Add("message", message) + Dim binary As New List(Of KeyValuePair(Of String, FileInfo)) + binary.Add(New KeyValuePair(Of String, FileInfo)("media", mediaFile)) + Me.InstanceTimeout = 60000 '?帥???????60腱?+ + Return GetContent(PostMethod, _ + New Uri("http://yfrog.com/api/xauth_upload"), _ + param, _ + binary, _ + content, _ + Nothing, _ + Nothing) + End Function + + Public Function CheckValidExtension(ByVal ext As String) As Boolean + If Array.IndexOf(pictureExt, ext.ToLower) > -1 Then + Return True + End If + Return False + End Function + + Public Function GetFileOpenDialogFilter() As String + Return "Image Files(*.gif;*.jpg;*.jpeg;*.png)|*.gif;*.jpg;*.jpeg;*.png" + End Function + + Public Function GetFileType(ByVal ext As String) As UploadFileType + If Array.IndexOf(pictureExt, ext.ToLower) > -1 Then + Return UploadFileType.Picture + End If + Return UploadFileType.Invalid + End Function + + Public Function IsSupportedFileType(ByVal type As UploadFileType) As Boolean + Return type.Equals(UploadFileType.Picture) + End Function + + Public Function GetMaxFileSize(ByVal ext As String) As Long + If Array.IndexOf(pictureExt, ext.ToLower) > -1 Then + Return MaxFileSize + End If + Return -1 + End Function + + Public Sub New(ByVal accessToken As String, ByVal accessTokenSecret As String) + MyBase.New(New Uri("http://api.twitter.com/"), _ + New Uri("https://api.twitter.com/1/account/verify_credentials.xml")) + Initialize(ConsumerKey, ConsumerSecretKey, accessToken, accessTokenSecret, "") + End Sub +End Class Added: branches/UserStream/Tween/DetailsListView.vb =================================================================== --- branches/UserStream/Tween/DetailsListView.vb (rev 0) +++ branches/UserStream/Tween/DetailsListView.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,259 @@ +鏤? Tween - Client of Twitter +' Copyright (c) 2007-2010 kiri_feather (@kiri_feather) +' (c) 2008-2010 Moz (@syo68k) +' (c) 2008-2010 takeshik (@takeshik) +' All rights reserved. +' +' This file is part of Tween. +' +' This program is free software; you can redistribute it and/or modify it +' under the terms of the GNU General Public License as published by the Free +' Software Foundation; either version 3 of the License, or (at your option) +' any later version. +' +' This program is distributed in the hope that it will be useful, but +' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +' for more details. +' +' You should have received a copy of the GNU General Public License along +' with this program. If not, see , or write to +' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, +' Boston, MA 02110-1301, USA. + +Imports System +Imports System.Drawing +Imports System.Runtime.InteropServices +Imports System.Windows.Forms +Imports System.Diagnostics + +Namespace TweenCustomControl + + Public NotInheritable Class DetailsListView + Inherits ListView + + Private changeBounds As Rectangle + Private multiSelected As Boolean + Private _handlers As New System.ComponentModel.EventHandlerList() + + Public Event VScrolled As System.EventHandler + Public Event HScrolled As System.EventHandler + + Public Sub New() + View = Windows.Forms.View.Details + FullRowSelect = True + HideSelection = False + DoubleBuffered = True + End Sub + + _ + Public Shadows Property VirtualListSize() As Integer + Get + Return MyBase.VirtualListSize + End Get + Set(ByVal value As Integer) + If value = MyBase.VirtualListSize Then Exit Property + If MyBase.VirtualListSize > 0 And value > 0 Then + Dim topIndex As Integer = 0 + If Not Me.IsDisposed Then + If MyBase.VirtualListSize < value Then + If Me.TopItem Is Nothing Then + topIndex = 0 + Else + topIndex = Me.TopItem.Index + End If + topIndex = Math.Min(topIndex, Math.Abs(value - 1)) + Me.TopItem = Me.Items(topIndex) + Else + Me.TopItem = Me.Items(0) + End If + End If + End If + MyBase.VirtualListSize = value + End Set + End Property + + Public Sub ChangeItemBackColor(ByVal index As Integer, ByVal backColor As Color) + ChangeSubItemBackColor(index, 0, backColor) + End Sub + + Public Sub ChangeItemForeColor(ByVal index As Integer, ByVal foreColor As Color) + ChangeSubItemForeColor(index, 0, foreColor) + End Sub + + Public Sub ChangeItemFont(ByVal index As Integer, ByVal fnt As Font) + ChangeSubItemFont(index, 0, fnt) + End Sub + + Public Sub ChangeItemFontAndColor(ByVal index As Integer, ByVal foreColor As Color, ByVal fnt As Font) + ChangeSubItemStyles(index, 0, BackColor, foreColor, fnt) + End Sub + + Public Sub ChangeItemStyles(ByVal index As Integer, ByVal backColor As Color, ByVal foreColor As Color, ByVal fnt As Font) + ChangeSubItemStyles(index, 0, backColor, foreColor, fnt) + End Sub + + Public Sub ChangeSubItemBackColor(ByVal itemIndex As Integer, ByVal subitemIndex As Integer, ByVal backColor As Color) + Me.Items(itemIndex).SubItems(subitemIndex).BackColor = backColor + SetUpdateBounds(itemIndex, subitemIndex) + Me.Update() + Me.changeBounds = Rectangle.Empty + End Sub + + Public Sub ChangeSubItemForeColor(ByVal itemIndex As Integer, ByVal subitemIndex As Integer, ByVal foreColor As Color) + Me.Items(itemIndex).SubItems(subitemIndex).ForeColor = foreColor + SetUpdateBounds(itemIndex, subitemIndex) + Me.Update() + Me.changeBounds = Rectangle.Empty + End Sub + + Public Sub ChangeSubItemFont(ByVal itemIndex As Integer, ByVal subitemIndex As Integer, ByVal fnt As Font) + Me.Items(itemIndex).SubItems(subitemIndex).Font = fnt + SetUpdateBounds(itemIndex, subitemIndex) + Me.Update() + Me.changeBounds = Rectangle.Empty + End Sub + + Public Sub ChangeSubItemFontAndColor(ByVal itemIndex As Integer, ByVal subitemIndex As Integer, ByVal foreColor As Color, ByVal fnt As Font) + Me.Items(itemIndex).SubItems(subitemIndex).ForeColor = foreColor + Me.Items(itemIndex).SubItems(subitemIndex).Font = fnt + SetUpdateBounds(itemIndex, subitemIndex) + Me.Update() + Me.changeBounds = Rectangle.Empty + End Sub + + Public Sub ChangeSubItemStyles(ByVal itemIndex As Integer, ByVal subitemIndex As Integer, ByVal backColor As Color, ByVal foreColor As Color, ByVal fnt As Font) + Me.Items(itemIndex).SubItems(subitemIndex).BackColor = backColor + Me.Items(itemIndex).SubItems(subitemIndex).ForeColor = foreColor + Me.Items(itemIndex).SubItems(subitemIndex).Font = fnt + SetUpdateBounds(itemIndex, subitemIndex) + Me.Update() + Me.changeBounds = Rectangle.Empty + End Sub + + Private Sub SetUpdateBounds(ByVal itemIndex As Integer, ByVal subItemIndex As Integer) + Try + If itemIndex > Me.Items.Count Then + Throw New ArgumentOutOfRangeException("itemIndex") + End If + If subItemIndex > Me.Columns.Count Then + Throw New ArgumentOutOfRangeException("subItemIndex") + End If + Dim item As ListViewItem = Me.Items(itemIndex) + If item.UseItemStyleForSubItems Then + Me.changeBounds = item.Bounds + Else + Me.changeBounds = Me.GetSubItemBounds(itemIndex, subItemIndex) + End If + Catch ex As ArgumentException + '?帥?????違????Bounds???????c???????鐚?+ Me.changeBounds = Rectangle.Empty + End Try + End Sub + + Private Function GetSubItemBounds(ByVal itemIndex As Integer, ByVal subitemIndex As Integer) As Rectangle + Dim item As ListViewItem = Me.Items(itemIndex) + If subitemIndex = 0 And Me.Columns.Count > 0 Then + Dim col0 As Rectangle = item.Bounds + Return New Rectangle(col0.Left, col0.Top, item.SubItems(1).Bounds.X + 1, col0.Height) + Else + Return item.SubItems(subitemIndex).Bounds + End If + End Function + + + Private Structure SCROLLINFO + Public cbSize As Integer + Public fMask As Integer + Public nMin As Integer + Public nMax As Integer + Public nPage As Integer + Public nPos As Integer + Public nTrackPos As Integer + End Structure + + Private Enum ScrollBarDirection + SB_HORZ = 0 + SB_VERT = 1 + SB_CTL = 2 + SB_BOTH = 3 + End Enum + + Private Enum ScrollInfoMask + SIF_RANGE = &H1 + SIF_PAGE = &H2 + SIF_POS = &H4 + SIF_DISABLENOSCROLL = &H8 + SIF_TRACKPOS = &H10 + SIF_ALL = (SIF_RANGE Or SIF_PAGE Or SIF_POS Or SIF_TRACKPOS) + End Enum + + _ + Private Shared Function GetScrollInfo(ByVal hWnd As IntPtr, ByVal fnBar As ScrollBarDirection, ByRef lpsi As SCROLLINFO) As Integer + End Function + + Private si As New SCROLLINFO With { _ + .cbSize = Len(si), _ + .fMask = ScrollInfoMask.SIF_POS + } + + _ + Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message) + Const WM_ERASEBKGND As Integer = &H14 + Const WM_PAINT As Integer = &HF + Const WM_MOUSEWHEEL As Integer = &H20A + Const WM_MOUSEHWHEEL As Integer = &H20E + Const WM_HSCROLL As Integer = &H114 + Const WM_VSCROLL As Integer = &H115 + Const WM_KEYDOWN As Integer = &H100 + + Dim hPos As Integer = -1 + Dim vPos As Integer = -1 + + Select Case m.Msg + Case WM_ERASEBKGND + If Me.changeBounds <> Rectangle.Empty Then + m.Msg = 0 + End If + Case WM_PAINT + If Me.changeBounds <> Rectangle.Empty Then + Win32Api.ValidateRect(Me.Handle, IntPtr.Zero) + Me.Invalidate(Me.changeBounds) + Me.changeBounds = Rectangle.Empty + End If + Case WM_HSCROLL + RaiseEvent HScrolled(Me, EventArgs.Empty) + Case WM_VSCROLL + RaiseEvent VScrolled(Me, EventArgs.Empty) + Case WM_MOUSEWHEEL, WM_MOUSEHWHEEL, WM_KEYDOWN + If GetScrollInfo(Me.Handle, ScrollBarDirection.SB_VERT, si) <> 0 Then + vPos = si.nPos + End If + If GetScrollInfo(Me.Handle, ScrollBarDirection.SB_HORZ, si) <> 0 Then + hPos = si.nPos + End If + End Select + + Try + MyBase.WndProc(m) + Catch ex As ArgumentOutOfRangeException + 'Substring??ength??篁ヤ?????ゃ??潟??ゃ???襲?随? + Catch ex As AccessViolationException + 'WndProc??????????榊??????+ End Try + If Me.IsDisposed Then Exit Sub + + If vPos <> -1 Then + If GetScrollInfo(Me.Handle, ScrollBarDirection.SB_VERT, si) <> 0 AndAlso vPos <> si.nPos Then + RaiseEvent VScrolled(Me, EventArgs.Empty) + End If + End If + If hPos <> -1 Then + If GetScrollInfo(Me.Handle, ScrollBarDirection.SB_HORZ, si) <> 0 AndAlso hPos <> si.nPos Then + RaiseEvent HScrolled(Me, EventArgs.Empty) + End If + End If + End Sub + End Class +End Namespace Added: branches/UserStream/Tween/DialogAsShieldIcon.Designer.vb =================================================================== --- branches/UserStream/Tween/DialogAsShieldIcon.Designer.vb (rev 0) +++ branches/UserStream/Tween/DialogAsShieldIcon.Designer.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,100 @@ +鏤?Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ +Partial Class DialogAsShieldIcon + Inherits System.Windows.Forms.Form + + '????若?????潟??若??潟????荀с?????若??≪?????????? dispose ????若??若??ゃ??????? + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Windows ????若? ????ゃ??у?荀????? + Private components As System.ComponentModel.IContainer + + '?<?: 篁ヤ????????若??c? Windows ????若? ????ゃ??у?荀????? + 'Windows ????若? ????ゃ???戎???????眼??????? + '?潟???????c???戎?c?紊??????????????? + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(DialogAsShieldIcon)) + Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel + Me.OK_Button = New System.Windows.Forms.Button + Me.Cancel_Button = New System.Windows.Forms.Button + Me.PictureBox1 = New System.Windows.Forms.PictureBox + Me.Label1 = New System.Windows.Forms.Label + Me.TextDetail = New System.Windows.Forms.TextBox + Me.TableLayoutPanel1.SuspendLayout() + CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'TableLayoutPanel1 + ' + resources.ApplyResources(Me.TableLayoutPanel1, "TableLayoutPanel1") + Me.TableLayoutPanel1.Controls.Add(Me.OK_Button, 0, 0) + Me.TableLayoutPanel1.Controls.Add(Me.Cancel_Button, 1, 0) + Me.TableLayoutPanel1.Name = "TableLayoutPanel1" + ' + 'OK_Button + ' + resources.ApplyResources(Me.OK_Button, "OK_Button") + Me.OK_Button.Name = "OK_Button" + ' + 'Cancel_Button + ' + resources.ApplyResources(Me.Cancel_Button, "Cancel_Button") + Me.Cancel_Button.DialogResult = System.Windows.Forms.DialogResult.Cancel + Me.Cancel_Button.Name = "Cancel_Button" + ' + 'PictureBox1 + ' + resources.ApplyResources(Me.PictureBox1, "PictureBox1") + Me.PictureBox1.Name = "PictureBox1" + Me.PictureBox1.TabStop = False + ' + 'Label1 + ' + resources.ApplyResources(Me.Label1, "Label1") + Me.Label1.Name = "Label1" + ' + 'TextDetail + ' + resources.ApplyResources(Me.TextDetail, "TextDetail") + Me.TextDetail.Name = "TextDetail" + Me.TextDetail.ReadOnly = True + ' + 'DialogAsShieldIcon + ' + Me.AcceptButton = Me.OK_Button + resources.ApplyResources(Me, "$this") + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.CancelButton = Me.Cancel_Button + Me.Controls.Add(Me.TextDetail) + Me.Controls.Add(Me.Label1) + Me.Controls.Add(Me.PictureBox1) + Me.Controls.Add(Me.TableLayoutPanel1) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog + Me.MaximizeBox = False + Me.MinimizeBox = False + Me.Name = "DialogAsShieldIcon" + Me.ShowInTaskbar = False + Me.TopMost = True + Me.TableLayoutPanel1.ResumeLayout(False) + CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents TableLayoutPanel1 As System.Windows.Forms.TableLayoutPanel + Friend WithEvents OK_Button As System.Windows.Forms.Button + Friend WithEvents Cancel_Button As System.Windows.Forms.Button + Friend WithEvents PictureBox1 As System.Windows.Forms.PictureBox + Friend WithEvents Label1 As System.Windows.Forms.Label + Friend WithEvents TextDetail As System.Windows.Forms.TextBox + +End Class Added: branches/UserStream/Tween/DialogAsShieldIcon.resx =================================================================== --- branches/UserStream/Tween/DialogAsShieldIcon.resx (rev 0) +++ branches/UserStream/Tween/DialogAsShieldIcon.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,309 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + Bottom, Right + + + + 2 + + + None + + + + 5, 9 + + + 80, 26 + + + 0 + + + OK + + + ImageBeforeText + + + OK_Button + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TableLayoutPanel1 + + + 0 + + + None + + + 95, 9 + + + 80, 26 + + + 1 + + + ????潟???/value> + + + Cancel_Button + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TableLayoutPanel1 + + + 1 + + + 220, 174 + + + 1 + + + 181, 44 + + + 1 + + + TableLayoutPanel1 + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 3 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="OK_Button" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="Cancel_Button" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="Percent,50,Percent,50" /><Rows Styles="Percent,50" /></TableLayoutSettings> + + + 13, 13 + + + 48, 48 + + + 1 + + + PictureBox1 + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 2 + + + 75, 13 + + + 326, 48 + + + 0 + + + Label1 + + + MiddleLeft + + + Label1 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + + + 13, 67 + + + True + + + Both + + + 388, 101 + + + 2 + + + TextDetail + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + + + True + + + 6, 12 + + + 413, 229 + + + CenterScreen + + + DialogAsShieldIcon + + + DialogAsShieldIcon + + + System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file Added: branches/UserStream/Tween/DialogAsShieldIcon.vb =================================================================== --- branches/UserStream/Tween/DialogAsShieldIcon.vb (rev 0) +++ branches/UserStream/Tween/DialogAsShieldIcon.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,89 @@ +鏤? Tween - Client of Twitter +' Copyright (c) 2007-2010 kiri_feather (@kiri_feather) +' (c) 2008-2010 Moz (@syo68k) +' (c) 2008-2010 takeshik (@takeshik) +' All rights reserved. +' +' This file is part of Tween. +' +' This program is free software; you can redistribute it and/or modify it +' under the terms of the GNU General Public License as published by the Free +' Software Foundation; either version 3 of the License, or (at your option) +' any later version. +' +' This program is distributed in the hope that it will be useful, but +' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +' for more details. +' +' You should have received a copy of the GNU General Public License along +' with this program. If not, see , or write to +' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, +' Boston, MA 02110-1301, USA. + +Imports System.Windows.Forms + +Public Class DialogAsShieldIcon + 'Private shield As New ShieldIcon + Private dResult As DialogResult = Windows.Forms.DialogResult.None + + Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click + Me.dResult = System.Windows.Forms.DialogResult.OK + Me.Hide() + End Sub + + Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click + Me.dResult = System.Windows.Forms.DialogResult.Cancel + Me.Hide() + End Sub + + Private Sub DialogAsShieldIcon_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing + If dResult = Windows.Forms.DialogResult.None Then + e.Cancel = True + dResult = Windows.Forms.DialogResult.Cancel + Me.Hide() + End If + End Sub + + Private Sub DialogAsShieldIcon_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Me.Load + 'OK_Button.Image = shield.Icon + PictureBox1.Image = System.Drawing.SystemIcons.Question.ToBitmap() + End Sub + + Public Shadows Function Show(ByVal text As String, Optional ByVal detail As String = "", Optional ByVal caption As String = "DialogAsShieldIcon", _ + Optional ByVal Buttons As Windows.Forms.MessageBoxButtons = MessageBoxButtons.OKCancel, _ + Optional ByVal icon As Windows.Forms.MessageBoxIcon = MessageBoxIcon.Question _ + ) As System.Windows.Forms.DialogResult + Label1.Text = text + Me.Text = caption + Me.TextDetail.Text = detail + Select Case Buttons + Case MessageBoxButtons.OKCancel + OK_Button.Text = "OK" + Cancel_Button.Text = "Cancel" + Case MessageBoxButtons.YesNo + OK_Button.Text = "Yes" + Cancel_Button.Text = "No" + Case Else + OK_Button.Text = "OK" + Cancel_Button.Text = "Cancel" + End Select + ' ??????????ゃ??潟??????????篋?????????????若????????с???? + + MyBase.Show() + Do While Me.dResult = Windows.Forms.DialogResult.None + System.Threading.Thread.Sleep(200) + Application.DoEvents() + Loop + If Buttons = MessageBoxButtons.YesNo Then + Select Case dResult + Case Windows.Forms.DialogResult.OK + Return Windows.Forms.DialogResult.Yes + Case Windows.Forms.DialogResult.Cancel + Return Windows.Forms.DialogResult.No + End Select + Else + Return dResult + End If + End Function +End Class Added: branches/UserStream/Tween/DialogAsShieldIcon.zh-CHS.resx =================================================================== --- branches/UserStream/Tween/DialogAsShieldIcon.zh-CHS.resx (rev 0) +++ branches/UserStream/Tween/DialogAsShieldIcon.zh-CHS.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 隋?? + + + ??? + + \ No newline at end of file Added: branches/UserStream/Tween/DoubleClickCopyCanceller.vb =================================================================== --- branches/UserStream/Tween/DoubleClickCopyCanceller.vb (rev 0) +++ branches/UserStream/Tween/DoubleClickCopyCanceller.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,56 @@ +鏤? Tween - Client of Twitter +' Copyright (c) 2007-2010 kiri_feather (@kiri_feather) +' (c) 2008-2010 Moz (@syo68k) +' (c) 2008-2010 takeshik (@takeshik) +' All rights reserved. +' +' This file is part of Tween. +' +' This program is free software; you can redistribute it and/or modify it +' under the terms of the GNU General Public License as published by the Free +' Software Foundation; either version 3 of the License, or (at your option) +' any later version. +' +' This program is distributed in the hope that it will be useful, but +' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +' for more details. +' +' You should have received a copy of the GNU General Public License along +' with this program. If not, see , or write to +' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, +' Boston, MA 02110-1301, USA. + + + +Public Class DoubleClickCopyCanceller + Inherits NativeWindow + Implements IDisposable + + Const WM_GETTEXTLENGTH As Integer = &HE + Const WM_GETTEXT As Integer = &HD + Const WM_LBUTTONDBLCLK As Integer = &H203 + Dim _doubleClick As Boolean = False + + Public Sub New(ByVal control As Control) + Me.AssignHandle(control.Handle) + End Sub + + Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message) + If m.Msg = WM_LBUTTONDBLCLK Then + _doubleClick = True + End If + If _doubleClick Then + If m.Msg = WM_GETTEXTLENGTH Then + _doubleClick = False + m.Result = CType(0, IntPtr) + Exit Sub + End If + End If + MyBase.WndProc(m) + End Sub + + Public Sub Dispose() Implements IDisposable.Dispose + Me.ReleaseHandle() + End Sub +End Class Added: branches/UserStream/Tween/FilterDialog.Designer.vb =================================================================== --- branches/UserStream/Tween/FilterDialog.Designer.vb (rev 0) +++ branches/UserStream/Tween/FilterDialog.Designer.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,619 @@ +鏤?ption Strict On + _ +Partial Class FilterDialog + Inherits System.Windows.Forms.Form + + '????若?????潟??若??潟????荀с?????若??≪?????????? dispose ????若??若??ゃ??????? + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Windows ????若? ????ゃ??у?荀????? + Private components As System.ComponentModel.IContainer + + '?<?: 篁ヤ????????若??c? Windows ????若? ????ゃ??у?荀????? + 'Windows ????若? ????ゃ???戎???????眼??????? + '?潟???????c???戎?c?紊??????????????? + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(FilterDialog)) + Me.ButtonClose = New System.Windows.Forms.Button() + Me.ListFilters = New System.Windows.Forms.ListBox() + Me.EditFilterGroup = New System.Windows.Forms.GroupBox() + Me.Label11 = New System.Windows.Forms.Label() + Me.GroupExclude = New System.Windows.Forms.GroupBox() + Me.TextExSource = New System.Windows.Forms.TextBox() + Me.Label12 = New System.Windows.Forms.Label() + Me.CheckExRetweet = New System.Windows.Forms.CheckBox() + Me.CheckExCaseSensitive = New System.Windows.Forms.CheckBox() + Me.RadioExAnd = New System.Windows.Forms.RadioButton() + Me.Label1 = New System.Windows.Forms.Label() + Me.CheckExURL = New System.Windows.Forms.CheckBox() + Me.RadioExPLUS = New System.Windows.Forms.RadioButton() + Me.CheckExRegex = New System.Windows.Forms.CheckBox() + Me.Label2 = New System.Windows.Forms.Label() + Me.Label3 = New System.Windows.Forms.Label() + Me.Label4 = New System.Windows.Forms.Label() + Me.ExUID = New System.Windows.Forms.TextBox() + Me.ExMSG1 = New System.Windows.Forms.TextBox() + Me.ExMSG2 = New System.Windows.Forms.TextBox() + Me.GroupMatch = New System.Windows.Forms.GroupBox() + Me.TextSource = New System.Windows.Forms.TextBox() + Me.Label5 = New System.Windows.Forms.Label() + Me.CheckRetweet = New System.Windows.Forms.CheckBox() + Me.CheckCaseSensitive = New System.Windows.Forms.CheckBox() + Me.RadioAND = New System.Windows.Forms.RadioButton() + Me.Label8 = New System.Windows.Forms.Label() + Me.CheckURL = New System.Windows.Forms.CheckBox() + Me.RadioPLUS = New System.Windows.Forms.RadioButton() + Me.CheckRegex = New System.Windows.Forms.CheckBox() + Me.Label9 = New System.Windows.Forms.Label() + Me.Label7 = New System.Windows.Forms.Label() + Me.Label6 = New System.Windows.Forms.Label() + Me.UID = New System.Windows.Forms.TextBox() + Me.MSG1 = New System.Windows.Forms.TextBox() + Me.MSG2 = New System.Windows.Forms.TextBox() + Me.GroupBox1 = New System.Windows.Forms.GroupBox() + Me.CheckMark = New System.Windows.Forms.CheckBox() + Me.OptCopy = New System.Windows.Forms.RadioButton() + Me.OptMove = New System.Windows.Forms.RadioButton() + Me.ButtonCancel = New System.Windows.Forms.Button() + Me.ButtonOK = New System.Windows.Forms.Button() + Me.ButtonNew = New System.Windows.Forms.Button() + Me.ButtonDelete = New System.Windows.Forms.Button() + Me.ButtonEdit = New System.Windows.Forms.Button() + Me.GroupBox2 = New System.Windows.Forms.GroupBox() + Me.ButtonRuleMove = New System.Windows.Forms.Button() + Me.ButtonRuleCopy = New System.Windows.Forms.Button() + Me.ButtonRuleDown = New System.Windows.Forms.Button() + Me.ButtonRuleUp = New System.Windows.Forms.Button() + Me.ListTabs = New System.Windows.Forms.ListBox() + Me.ButtonAddTab = New System.Windows.Forms.Button() + Me.ButtonDeleteTab = New System.Windows.Forms.Button() + Me.ButtonRenameTab = New System.Windows.Forms.Button() + Me.CheckManageRead = New System.Windows.Forms.CheckBox() + Me.CheckNotifyNew = New System.Windows.Forms.CheckBox() + Me.ComboSound = New System.Windows.Forms.ComboBox() + Me.Label10 = New System.Windows.Forms.Label() + Me.ButtonUp = New System.Windows.Forms.Button() + Me.ButtonDown = New System.Windows.Forms.Button() + Me.GroupTab = New System.Windows.Forms.GroupBox() + Me.LabelTabType = New System.Windows.Forms.Label() + Me.Label13 = New System.Windows.Forms.Label() + Me.EditFilterGroup.SuspendLayout() + Me.GroupExclude.SuspendLayout() + Me.GroupMatch.SuspendLayout() + Me.GroupBox1.SuspendLayout() + Me.GroupBox2.SuspendLayout() + Me.GroupTab.SuspendLayout() + Me.SuspendLayout() + ' + 'ButtonClose + ' + Me.ButtonClose.DialogResult = System.Windows.Forms.DialogResult.Cancel + resources.ApplyResources(Me.ButtonClose, "ButtonClose") + Me.ButtonClose.Name = "ButtonClose" + Me.ButtonClose.UseVisualStyleBackColor = True + ' + 'ListFilters + ' + Me.ListFilters.FormattingEnabled = True + resources.ApplyResources(Me.ListFilters, "ListFilters") + Me.ListFilters.Name = "ListFilters" + Me.ListFilters.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended + ' + 'EditFilterGroup + ' + Me.EditFilterGroup.Controls.Add(Me.Label11) + Me.EditFilterGroup.Controls.Add(Me.GroupExclude) + Me.EditFilterGroup.Controls.Add(Me.GroupMatch) + Me.EditFilterGroup.Controls.Add(Me.GroupBox1) + Me.EditFilterGroup.Controls.Add(Me.ButtonCancel) + Me.EditFilterGroup.Controls.Add(Me.ButtonOK) + resources.ApplyResources(Me.EditFilterGroup, "EditFilterGroup") + Me.EditFilterGroup.Name = "EditFilterGroup" + Me.EditFilterGroup.TabStop = False + ' + 'Label11 + ' + resources.ApplyResources(Me.Label11, "Label11") + Me.Label11.Name = "Label11" + ' + 'GroupExclude + ' + Me.GroupExclude.Controls.Add(Me.TextExSource) + Me.GroupExclude.Controls.Add(Me.Label12) + Me.GroupExclude.Controls.Add(Me.CheckExRetweet) + Me.GroupExclude.Controls.Add(Me.CheckExCaseSensitive) + Me.GroupExclude.Controls.Add(Me.RadioExAnd) + Me.GroupExclude.Controls.Add(Me.Label1) + Me.GroupExclude.Controls.Add(Me.CheckExURL) + Me.GroupExclude.Controls.Add(Me.RadioExPLUS) + Me.GroupExclude.Controls.Add(Me.CheckExRegex) + Me.GroupExclude.Controls.Add(Me.Label2) + Me.GroupExclude.Controls.Add(Me.Label3) + Me.GroupExclude.Controls.Add(Me.Label4) + Me.GroupExclude.Controls.Add(Me.ExUID) + Me.GroupExclude.Controls.Add(Me.ExMSG1) + Me.GroupExclude.Controls.Add(Me.ExMSG2) + resources.ApplyResources(Me.GroupExclude, "GroupExclude") + Me.GroupExclude.Name = "GroupExclude" + Me.GroupExclude.TabStop = False + ' + 'TextExSource + ' + resources.ApplyResources(Me.TextExSource, "TextExSource") + Me.TextExSource.Name = "TextExSource" + ' + 'Label12 + ' + resources.ApplyResources(Me.Label12, "Label12") + Me.Label12.Name = "Label12" + ' + 'CheckExRetweet + ' + resources.ApplyResources(Me.CheckExRetweet, "CheckExRetweet") + Me.CheckExRetweet.Name = "CheckExRetweet" + Me.CheckExRetweet.UseVisualStyleBackColor = True + ' + 'CheckExCaseSensitive + ' + resources.ApplyResources(Me.CheckExCaseSensitive, "CheckExCaseSensitive") + Me.CheckExCaseSensitive.Name = "CheckExCaseSensitive" + Me.CheckExCaseSensitive.UseVisualStyleBackColor = True + ' + 'RadioExAnd + ' + resources.ApplyResources(Me.RadioExAnd, "RadioExAnd") + Me.RadioExAnd.Checked = True + Me.RadioExAnd.Name = "RadioExAnd" + Me.RadioExAnd.TabStop = True + Me.RadioExAnd.UseVisualStyleBackColor = True + ' + 'Label1 + ' + resources.ApplyResources(Me.Label1, "Label1") + Me.Label1.Name = "Label1" + ' + 'CheckExURL + ' + resources.ApplyResources(Me.CheckExURL, "CheckExURL") + Me.CheckExURL.Name = "CheckExURL" + Me.CheckExURL.UseVisualStyleBackColor = True + ' + 'RadioExPLUS + ' + resources.ApplyResources(Me.RadioExPLUS, "RadioExPLUS") + Me.RadioExPLUS.Name = "RadioExPLUS" + Me.RadioExPLUS.UseVisualStyleBackColor = True + ' + 'CheckExRegex + ' + resources.ApplyResources(Me.CheckExRegex, "CheckExRegex") + Me.CheckExRegex.Name = "CheckExRegex" + Me.CheckExRegex.UseVisualStyleBackColor = True + ' + 'Label2 + ' + resources.ApplyResources(Me.Label2, "Label2") + Me.Label2.Name = "Label2" + ' + 'Label3 + ' + resources.ApplyResources(Me.Label3, "Label3") + Me.Label3.Name = "Label3" + ' + 'Label4 + ' + resources.ApplyResources(Me.Label4, "Label4") + Me.Label4.Name = "Label4" + ' + 'ExUID + ' + Me.ExUID.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend + Me.ExUID.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.CustomSource + resources.ApplyResources(Me.ExUID, "ExUID") + Me.ExUID.Name = "ExUID" + ' + 'ExMSG1 + ' + resources.ApplyResources(Me.ExMSG1, "ExMSG1") + Me.ExMSG1.Name = "ExMSG1" + ' + 'ExMSG2 + ' + resources.ApplyResources(Me.ExMSG2, "ExMSG2") + Me.ExMSG2.Name = "ExMSG2" + ' + 'GroupMatch + ' + Me.GroupMatch.Controls.Add(Me.TextSource) + Me.GroupMatch.Controls.Add(Me.Label5) + Me.GroupMatch.Controls.Add(Me.CheckRetweet) + Me.GroupMatch.Controls.Add(Me.CheckCaseSensitive) + Me.GroupMatch.Controls.Add(Me.RadioAND) + Me.GroupMatch.Controls.Add(Me.Label8) + Me.GroupMatch.Controls.Add(Me.CheckURL) + Me.GroupMatch.Controls.Add(Me.RadioPLUS) + Me.GroupMatch.Controls.Add(Me.CheckRegex) + Me.GroupMatch.Controls.Add(Me.Label9) + Me.GroupMatch.Controls.Add(Me.Label7) + Me.GroupMatch.Controls.Add(Me.Label6) + Me.GroupMatch.Controls.Add(Me.UID) + Me.GroupMatch.Controls.Add(Me.MSG1) + Me.GroupMatch.Controls.Add(Me.MSG2) + resources.ApplyResources(Me.GroupMatch, "GroupMatch") + Me.GroupMatch.Name = "GroupMatch" + Me.GroupMatch.TabStop = False + ' + 'TextSource + ' + resources.ApplyResources(Me.TextSource, "TextSource") + Me.TextSource.Name = "TextSource" + ' + 'Label5 + ' + resources.ApplyResources(Me.Label5, "Label5") + Me.Label5.Name = "Label5" + ' + 'CheckRetweet + ' + resources.ApplyResources(Me.CheckRetweet, "CheckRetweet") + Me.CheckRetweet.Name = "CheckRetweet" + Me.CheckRetweet.UseVisualStyleBackColor = True + ' + 'CheckCaseSensitive + ' + resources.ApplyResources(Me.CheckCaseSensitive, "CheckCaseSensitive") + Me.CheckCaseSensitive.Name = "CheckCaseSensitive" + Me.CheckCaseSensitive.UseVisualStyleBackColor = True + ' + 'RadioAND + ' + resources.ApplyResources(Me.RadioAND, "RadioAND") + Me.RadioAND.Checked = True + Me.RadioAND.Name = "RadioAND" + Me.RadioAND.TabStop = True + Me.RadioAND.UseVisualStyleBackColor = True + ' + 'Label8 + ' + resources.ApplyResources(Me.Label8, "Label8") + Me.Label8.Name = "Label8" + ' + 'CheckURL + ' + resources.ApplyResources(Me.CheckURL, "CheckURL") + Me.CheckURL.Name = "CheckURL" + Me.CheckURL.UseVisualStyleBackColor = True + ' + 'RadioPLUS + ' + resources.ApplyResources(Me.RadioPLUS, "RadioPLUS") + Me.RadioPLUS.Name = "RadioPLUS" + Me.RadioPLUS.UseVisualStyleBackColor = True + ' + 'CheckRegex + ' + resources.ApplyResources(Me.CheckRegex, "CheckRegex") + Me.CheckRegex.Name = "CheckRegex" + Me.CheckRegex.UseVisualStyleBackColor = True + ' + 'Label9 + ' + resources.ApplyResources(Me.Label9, "Label9") + Me.Label9.Name = "Label9" + ' + 'Label7 + ' + resources.ApplyResources(Me.Label7, "Label7") + Me.Label7.Name = "Label7" + ' + 'Label6 + ' + resources.ApplyResources(Me.Label6, "Label6") + Me.Label6.Name = "Label6" + ' + 'UID + ' + Me.UID.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend + Me.UID.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.CustomSource + resources.ApplyResources(Me.UID, "UID") + Me.UID.Name = "UID" + ' + 'MSG1 + ' + resources.ApplyResources(Me.MSG1, "MSG1") + Me.MSG1.Name = "MSG1" + ' + 'MSG2 + ' + resources.ApplyResources(Me.MSG2, "MSG2") + Me.MSG2.Name = "MSG2" + ' + 'GroupBox1 + ' + Me.GroupBox1.Controls.Add(Me.CheckMark) + Me.GroupBox1.Controls.Add(Me.OptCopy) + Me.GroupBox1.Controls.Add(Me.OptMove) + resources.ApplyResources(Me.GroupBox1, "GroupBox1") + Me.GroupBox1.Name = "GroupBox1" + Me.GroupBox1.TabStop = False + ' + 'CheckMark + ' + resources.ApplyResources(Me.CheckMark, "CheckMark") + Me.CheckMark.Name = "CheckMark" + Me.CheckMark.UseVisualStyleBackColor = True + ' + 'OptCopy + ' + resources.ApplyResources(Me.OptCopy, "OptCopy") + Me.OptCopy.Name = "OptCopy" + Me.OptCopy.TabStop = True + Me.OptCopy.UseVisualStyleBackColor = True + ' + 'OptMove + ' + resources.ApplyResources(Me.OptMove, "OptMove") + Me.OptMove.Name = "OptMove" + Me.OptMove.TabStop = True + Me.OptMove.UseVisualStyleBackColor = True + ' + 'ButtonCancel + ' + resources.ApplyResources(Me.ButtonCancel, "ButtonCancel") + Me.ButtonCancel.Name = "ButtonCancel" + Me.ButtonCancel.UseVisualStyleBackColor = True + ' + 'ButtonOK + ' + resources.ApplyResources(Me.ButtonOK, "ButtonOK") + Me.ButtonOK.Name = "ButtonOK" + Me.ButtonOK.UseVisualStyleBackColor = True + ' + 'ButtonNew + ' + resources.ApplyResources(Me.ButtonNew, "ButtonNew") + Me.ButtonNew.Name = "ButtonNew" + Me.ButtonNew.UseVisualStyleBackColor = True + ' + 'ButtonDelete + ' + resources.ApplyResources(Me.ButtonDelete, "ButtonDelete") + Me.ButtonDelete.Name = "ButtonDelete" + Me.ButtonDelete.UseVisualStyleBackColor = True + ' + 'ButtonEdit + ' + resources.ApplyResources(Me.ButtonEdit, "ButtonEdit") + Me.ButtonEdit.Name = "ButtonEdit" + Me.ButtonEdit.UseVisualStyleBackColor = True + ' + 'GroupBox2 + ' + Me.GroupBox2.Controls.Add(Me.ButtonRuleMove) + Me.GroupBox2.Controls.Add(Me.ButtonRuleCopy) + Me.GroupBox2.Controls.Add(Me.ButtonRuleDown) + Me.GroupBox2.Controls.Add(Me.ButtonRuleUp) + Me.GroupBox2.Controls.Add(Me.ListFilters) + Me.GroupBox2.Controls.Add(Me.ButtonEdit) + Me.GroupBox2.Controls.Add(Me.ButtonDelete) + Me.GroupBox2.Controls.Add(Me.ButtonNew) + Me.GroupBox2.Controls.Add(Me.EditFilterGroup) + resources.ApplyResources(Me.GroupBox2, "GroupBox2") + Me.GroupBox2.Name = "GroupBox2" + Me.GroupBox2.TabStop = False + ' + 'ButtonRuleMove + ' + resources.ApplyResources(Me.ButtonRuleMove, "ButtonRuleMove") + Me.ButtonRuleMove.Name = "ButtonRuleMove" + Me.ButtonRuleMove.UseVisualStyleBackColor = True + ' + 'ButtonRuleCopy + ' + resources.ApplyResources(Me.ButtonRuleCopy, "ButtonRuleCopy") + Me.ButtonRuleCopy.Name = "ButtonRuleCopy" + Me.ButtonRuleCopy.UseVisualStyleBackColor = True + ' + 'ButtonRuleDown + ' + resources.ApplyResources(Me.ButtonRuleDown, "ButtonRuleDown") + Me.ButtonRuleDown.Name = "ButtonRuleDown" + Me.ButtonRuleDown.UseVisualStyleBackColor = True + ' + 'ButtonRuleUp + ' + resources.ApplyResources(Me.ButtonRuleUp, "ButtonRuleUp") + Me.ButtonRuleUp.Name = "ButtonRuleUp" + Me.ButtonRuleUp.UseVisualStyleBackColor = True + ' + 'ListTabs + ' + Me.ListTabs.FormattingEnabled = True + resources.ApplyResources(Me.ListTabs, "ListTabs") + Me.ListTabs.Name = "ListTabs" + ' + 'ButtonAddTab + ' + resources.ApplyResources(Me.ButtonAddTab, "ButtonAddTab") + Me.ButtonAddTab.Name = "ButtonAddTab" + Me.ButtonAddTab.UseVisualStyleBackColor = True + ' + 'ButtonDeleteTab + ' + resources.ApplyResources(Me.ButtonDeleteTab, "ButtonDeleteTab") + Me.ButtonDeleteTab.Name = "ButtonDeleteTab" + Me.ButtonDeleteTab.UseVisualStyleBackColor = True + ' + 'ButtonRenameTab + ' + resources.ApplyResources(Me.ButtonRenameTab, "ButtonRenameTab") + Me.ButtonRenameTab.Name = "ButtonRenameTab" + Me.ButtonRenameTab.UseVisualStyleBackColor = True + ' + 'CheckManageRead + ' + resources.ApplyResources(Me.CheckManageRead, "CheckManageRead") + Me.CheckManageRead.Name = "CheckManageRead" + Me.CheckManageRead.UseVisualStyleBackColor = True + ' + 'CheckNotifyNew + ' + resources.ApplyResources(Me.CheckNotifyNew, "CheckNotifyNew") + Me.CheckNotifyNew.Name = "CheckNotifyNew" + Me.CheckNotifyNew.UseVisualStyleBackColor = True + ' + 'ComboSound + ' + Me.ComboSound.FormattingEnabled = True + resources.ApplyResources(Me.ComboSound, "ComboSound") + Me.ComboSound.Name = "ComboSound" + ' + 'Label10 + ' + resources.ApplyResources(Me.Label10, "Label10") + Me.Label10.Name = "Label10" + ' + 'ButtonUp + ' + resources.ApplyResources(Me.ButtonUp, "ButtonUp") + Me.ButtonUp.Name = "ButtonUp" + Me.ButtonUp.UseVisualStyleBackColor = True + ' + 'ButtonDown + ' + resources.ApplyResources(Me.ButtonDown, "ButtonDown") + Me.ButtonDown.Name = "ButtonDown" + Me.ButtonDown.UseVisualStyleBackColor = True + ' + 'GroupTab + ' + Me.GroupTab.Controls.Add(Me.LabelTabType) + Me.GroupTab.Controls.Add(Me.Label13) + Me.GroupTab.Controls.Add(Me.ListTabs) + Me.GroupTab.Controls.Add(Me.ButtonDown) + Me.GroupTab.Controls.Add(Me.ButtonAddTab) + Me.GroupTab.Controls.Add(Me.ButtonUp) + Me.GroupTab.Controls.Add(Me.ButtonDeleteTab) + Me.GroupTab.Controls.Add(Me.Label10) + Me.GroupTab.Controls.Add(Me.ButtonRenameTab) + Me.GroupTab.Controls.Add(Me.ComboSound) + Me.GroupTab.Controls.Add(Me.CheckManageRead) + Me.GroupTab.Controls.Add(Me.CheckNotifyNew) + resources.ApplyResources(Me.GroupTab, "GroupTab") + Me.GroupTab.Name = "GroupTab" + Me.GroupTab.TabStop = False + ' + 'LabelTabType + ' + resources.ApplyResources(Me.LabelTabType, "LabelTabType") + Me.LabelTabType.Name = "LabelTabType" + ' + 'Label13 + ' + resources.ApplyResources(Me.Label13, "Label13") + Me.Label13.Name = "Label13" + ' + 'FilterDialog + ' + resources.ApplyResources(Me, "$this") + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.CancelButton = Me.ButtonClose + Me.ControlBox = False + Me.Controls.Add(Me.GroupTab) + Me.Controls.Add(Me.GroupBox2) + Me.Controls.Add(Me.ButtonClose) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog + Me.KeyPreview = True + Me.MaximizeBox = False + Me.MinimizeBox = False + Me.Name = "FilterDialog" + Me.ShowInTaskbar = False + Me.TopMost = True + Me.EditFilterGroup.ResumeLayout(False) + Me.GroupExclude.ResumeLayout(False) + Me.GroupExclude.PerformLayout() + Me.GroupMatch.ResumeLayout(False) + Me.GroupMatch.PerformLayout() + Me.GroupBox1.ResumeLayout(False) + Me.GroupBox1.PerformLayout() + Me.GroupBox2.ResumeLayout(False) + Me.GroupTab.ResumeLayout(False) + Me.GroupTab.PerformLayout() + Me.ResumeLayout(False) + + End Sub + Friend WithEvents ButtonClose As System.Windows.Forms.Button + Friend WithEvents ListFilters As System.Windows.Forms.ListBox + Friend WithEvents EditFilterGroup As System.Windows.Forms.GroupBox + Friend WithEvents RadioPLUS As System.Windows.Forms.RadioButton + Friend WithEvents RadioAND As System.Windows.Forms.RadioButton + Friend WithEvents MSG2 As System.Windows.Forms.TextBox + Friend WithEvents Label9 As System.Windows.Forms.Label + Friend WithEvents MSG1 As System.Windows.Forms.TextBox + Friend WithEvents Label8 As System.Windows.Forms.Label + Friend WithEvents Label7 As System.Windows.Forms.Label + Friend WithEvents ButtonCancel As System.Windows.Forms.Button + Friend WithEvents ButtonOK As System.Windows.Forms.Button + Friend WithEvents UID As System.Windows.Forms.TextBox + Friend WithEvents Label6 As System.Windows.Forms.Label + Friend WithEvents ButtonNew As System.Windows.Forms.Button + Friend WithEvents ButtonDelete As System.Windows.Forms.Button + Friend WithEvents ButtonEdit As System.Windows.Forms.Button + Friend WithEvents CheckURL As System.Windows.Forms.CheckBox + Friend WithEvents CheckRegex As System.Windows.Forms.CheckBox + Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox + Friend WithEvents OptMove As System.Windows.Forms.RadioButton + Friend WithEvents OptCopy As System.Windows.Forms.RadioButton + Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox + Friend WithEvents ListTabs As System.Windows.Forms.ListBox + Friend WithEvents GroupMatch As System.Windows.Forms.GroupBox + Friend WithEvents GroupExclude As System.Windows.Forms.GroupBox + Friend WithEvents RadioExAnd As System.Windows.Forms.RadioButton + Friend WithEvents Label1 As System.Windows.Forms.Label + Friend WithEvents CheckExURL As System.Windows.Forms.CheckBox + Friend WithEvents RadioExPLUS As System.Windows.Forms.RadioButton + Friend WithEvents CheckExRegex As System.Windows.Forms.CheckBox + Friend WithEvents Label2 As System.Windows.Forms.Label + Friend WithEvents Label3 As System.Windows.Forms.Label + Friend WithEvents Label4 As System.Windows.Forms.Label + Friend WithEvents ExUID As System.Windows.Forms.TextBox + Friend WithEvents ExMSG1 As System.Windows.Forms.TextBox + Friend WithEvents ExMSG2 As System.Windows.Forms.TextBox + Friend WithEvents CheckMark As System.Windows.Forms.CheckBox + Friend WithEvents ButtonAddTab As System.Windows.Forms.Button + Friend WithEvents ButtonDeleteTab As System.Windows.Forms.Button + Friend WithEvents ButtonRenameTab As System.Windows.Forms.Button + Friend WithEvents CheckManageRead As System.Windows.Forms.CheckBox + Friend WithEvents CheckNotifyNew As System.Windows.Forms.CheckBox + Friend WithEvents ComboSound As System.Windows.Forms.ComboBox + Friend WithEvents Label10 As System.Windows.Forms.Label + Friend WithEvents Label11 As System.Windows.Forms.Label + Friend WithEvents ButtonUp As System.Windows.Forms.Button + Friend WithEvents ButtonDown As System.Windows.Forms.Button + Friend WithEvents GroupTab As System.Windows.Forms.GroupBox + Friend WithEvents CheckExCaseSensitive As System.Windows.Forms.CheckBox + Friend WithEvents CheckCaseSensitive As System.Windows.Forms.CheckBox + Friend WithEvents CheckRetweet As System.Windows.Forms.CheckBox + Friend WithEvents TextExSource As System.Windows.Forms.TextBox + Friend WithEvents Label12 As System.Windows.Forms.Label + Friend WithEvents CheckExRetweet As System.Windows.Forms.CheckBox + Friend WithEvents TextSource As System.Windows.Forms.TextBox + Friend WithEvents Label5 As System.Windows.Forms.Label + Friend WithEvents ButtonRuleDown As System.Windows.Forms.Button + Friend WithEvents ButtonRuleUp As System.Windows.Forms.Button + Friend WithEvents ButtonRuleMove As System.Windows.Forms.Button + Friend WithEvents ButtonRuleCopy As System.Windows.Forms.Button + Friend WithEvents LabelTabType As System.Windows.Forms.Label + Friend WithEvents Label13 As System.Windows.Forms.Label + +End Class Added: branches/UserStream/Tween/FilterDialog.en.resx =================================================================== --- branches/UserStream/Tween/FilterDialog.en.resx (rev 0) +++ branches/UserStream/Tween/FilterDialog.en.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,316 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + &Close + + + If only the [ExcludingRule] is set, it becomes excluding set to the this tab. + + + + 69, 16 + + + ReTweet Only + + + 75, 16 + + + CaseSens + + + 67, 16 + + + Complex + + + 66, 12 + + + Tweet Body + + + 91, 16 + + + Search &URLs + + + 57, 16 + + + Simple + + + 110, 16 + + + &Regular Express. + + + 123, 12 + + + User ID or Tweet Body + + + 44, 12 + + + User ID + + + ExcludingRule + + + 69, 16 + + + ReTweet Only + + + 75, 16 + + + CaseSens + + + 67, 16 + + + Complex + + + 66, 12 + + + Tweet Body + + + 299, 41 + + + 91, 16 + + + Search &URLs + + + 57, 16 + + + Simple + + + 299, 19 + + + 110, 16 + + + &Regular Express. + + + 123, 12 + + + User ID or Tweet Body + + + 44, 12 + + + User ID + + + MatchingRule + + + 72, 16 + + + Mark this + + + 116, 16 + + + Copy from Recent + + + 117, 16 + + + Move from Recent + + + Additional Action (&E): + + + Cancel + + + Rule + + + &New + + + &Delete + + + &Edit + + + Distribution Rules + + + Create Tab + + + Remove Tab + + + Rename Tab + + + 104, 16 + + + Manage reading + + + Alert Popups + + + 70, 12 + + + Notify sound + + + Tabs + + + Filtering Rules + + \ No newline at end of file Added: branches/UserStream/Tween/FilterDialog.resx =================================================================== --- branches/UserStream/Tween/FilterDialog.resx (rev 0) +++ branches/UserStream/Tween/FilterDialog.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,1794 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 679, 523 + + + 75, 23 + + + + 2 + + + ?????&C) + + + ButtonClose + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 2 + + + True + + + 12 + + + 9, 19 + + + 597, 184 + + + 0 + + + ListFilters + + + System.Windows.Forms.ListBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox2 + + + 4 + + + 436, 152 + + + 157, 74 + + + 3 + + + ?ゅ????????粋┃絎???????????篏?????紊?┃絎??????障???/value> + + + Label11 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + EditFilterGroup + + + 0 + + + 89, 89 + + + 96, 19 + + + 10 + + + TextExSource + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupExclude + + + 0 + + + True + + + + NoControl + + + 43, 92 + + + 40, 12 + + + 9 + + + Source + + + Label12 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupExclude + + + 1 + + + True + + + NoControl + + + 299, 84 + + + 84, 16 + + + 14 + + + ???RT??? + + + CheckExRetweet + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupExclude + + + 2 + + + True + + + NoControl + + + 299, 62 + + + 102, 16 + + + 13 + + + 紊?絨????阪? + + + CheckExCaseSensitive + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupExclude + + + 3 + + + True + + + NoControl + + + 8, 28 + + + 71, 16 + + + 0 + + + 茲???>散 + + + RadioExAnd + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupExclude + + + 4 + + + True + + + NoControl + + + 187, 14 + + + 53, 12 + + + 4 + + + ?肴???? + + + Label1 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupExclude + + + 5 + + + True + + + NoControl + + + 299, 40 + + + 70, 16 + + + 12 + + + URL罎?刈 + + + CheckExURL + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupExclude + + + 6 + + + True + + + NoControl + + + 8, 65 + + + 71, 16 + + + 6 + + + ????>散 + + + RadioExPLUS + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupExclude + + + 7 + + + True + + + NoControl + + + 299, 18 + + + 72, 16 + + + 11 + + + 罩h?茵??/value> + + + CheckExRegex + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupExclude + + + 8 + + + True + + + NoControl + + + 87, 51 + + + 114, 12 + + + 7 + + + ????吟?ID???荐??絎?/value> + + + Label2 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupExclude + + + 9 + + + True + + + NoControl + + + 156, 29 + + + 29, 12 + + + 3 + + + AND + + + Label3 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupExclude + + + 10 + + + True + + + NoControl + + + 87, 14 + + + 56, 12 + + + 1 + + + ????吟?ID + + + Label4 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupExclude + + + 11 + + + 89, 26 + + + 61, 19 + + + 2 + + + ExUID + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupExclude + + + 12 + + + 189, 26 + + + 103, 19 + + + 5 + + + ExMSG1 + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupExclude + + + 13 + + + 89, 64 + + + 204, 19 + + + 8 + + + ExMSG2 + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupExclude + + + 14 + + + 6, 140 + + + 424, 116 + + + 1 + + + ?ゅ??????/value> + + + GroupExclude + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + EditFilterGroup + + + 1 + + + 89, 89 + + + 96, 19 + + + 10 + + + TextSource + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupMatch + + + 0 + + + True + + + NoControl + + + 43, 92 + + + 40, 12 + + + 9 + + + Source + + + Label5 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupMatch + + + 1 + + + True + + + NoControl + + + 299, 84 + + + 84, 16 + + + 14 + + + ???RT??? + + + CheckRetweet + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupMatch + + + 2 + + + True + + + 299, 62 + + + 102, 16 + + + 13 + + + 紊?絨????阪? + + + CheckCaseSensitive + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupMatch + + + 3 + + + True + + + 8, 28 + + + 71, 16 + + + 0 + + + 茲???>散 + + + RadioAND + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupMatch + + + 4 + + + True + + + 187, 14 + + + 53, 12 + + + 4 + + + ?肴???? + + + Label8 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupMatch + + + 5 + + + True + + + 299, 40 + + + 70, 16 + + + 12 + + + URL罎?刈 + + + CheckURL + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupMatch + + + 6 + + + True + + + 8, 65 + + + 71, 16 + + + 6 + + + ????>散 + + + RadioPLUS + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupMatch + + + 7 + + + True + + + 299, 18 + + + 72, 16 + + + 11 + + + 罩h?茵??/value> + + + CheckRegex + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupMatch + + + 8 + + + True + + + 87, 51 + + + 114, 12 + + + 7 + + + ????吟?ID???荐??絎?/value> + + + Label9 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupMatch + + + 9 + + + True + + + 156, 29 + + + 29, 12 + + + 3 + + + AND + + + Label7 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupMatch + + + 10 + + + True + + + 87, 14 + + + 56, 12 + + + 1 + + + ????吟?ID + + + Label6 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupMatch + + + 11 + + + 89, 26 + + + 61, 19 + + + 2 + + + UID + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupMatch + + + 12 + + + 189, 26 + + + 103, 19 + + + 5 + + + MSG1 + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupMatch + + + 13 + + + 89, 64 + + + 204, 19 + + + 8 + + + MSG2 + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupMatch + + + 14 + + + 6, 18 + + + 424, 116 + + + 0 + + + ???????若? + + + GroupMatch + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + EditFilterGroup + + + 2 + + + True + + + 44, 62 + + + 70, 16 + + + 2 + + + ????????/value> + + + CheckMark + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 0 + + + True + + + 15, 40 + + + 123, 16 + + + 1 + + + Recent????潟??若???/value> + + + OptCopy + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 1 + + + True + + + 15, 18 + + + 120, 16 + + + 0 + + + Recent???腱糸???? + + + OptMove + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 2 + + + 436, 18 + + + 155, 98 + + + 2 + + + ????????申???篏?&E) + + + GroupBox1 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + EditFilterGroup + + + 3 + + + 516, 234 + + + 75, 23 + + + 5 + + + ????潟???/value> + + + ButtonCancel + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + EditFilterGroup + + + 4 + + + 436, 234 + + + 75, 23 + + + 4 + + + OK + + + ButtonOK + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + EditFilterGroup + + + 5 + + + 9, 238 + + + 597, 263 + + + 8 + + + ?????隈??/value> + + + EditFilterGroup + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox2 + + + 8 + + + 9, 209 + + + 75, 23 + + + 1 + + + ?域?鐚?amp;N) + + + ButtonNew + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox2 + + + 7 + + + 531, 210 + + + 75, 23 + + + 7 + + + ???(&D) + + + ButtonDelete + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox2 + + + 6 + + + 173, 209 + + + 75, 23 + + + 4 + + + 膩??(&E) + + + ButtonEdit + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox2 + + + 5 + + + 342, 209 + + + 75, 23 + + + 6 + + + 腱糸? + + + ButtonRuleMove + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox2 + + + 0 + + + 261, 209 + + + 75, 23 + + + 5 + + + ?潟???/value> + + + ButtonRuleCopy + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox2 + + + 1 + + + Marlett, 9pt, style=Bold + + + NoControl + + + 131, 209 + + + 34, 23 + + + 3 + + + 6 + + + ButtonRuleDown + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox2 + + + 2 + + + Marlett, 9pt, style=Bold + + + NoControl + + + 90, 209 + + + 34, 23 + + + 2 + + + 5 + + + ButtonRuleUp + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox2 + + + 3 + + + 142, 9 + + + 612, 508 + + + 1 + + + ???????????/value> + + + GroupBox2 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + + + 12 + + + 8, 18 + + + 113, 184 + + + 0 + + + ListTabs + + + System.Windows.Forms.ListBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupTab + + + 2 + + + 8, 237 + + + 113, 23 + + + 3 + + + ?帥?篏?? + + + ButtonAddTab + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupTab + + + 4 + + + NoControl + + + 8, 266 + + + 113, 23 + + + 4 + + + ?帥???? + + + ButtonDeleteTab + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupTab + + + 6 + + + NoControl + + + 8, 295 + + + 113, 23 + + + 5 + + + ?帥??????/value> + + + ButtonRenameTab + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupTab + + + 8 + + + True + + + 8, 371 + + + 72, 16 + + + 6 + + + ???膊∞? + + + CheckManageRead + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupTab + + + 10 + + + True + + + NoControl + + + 8, 393 + + + 96, 16 + + + 7 + + + ?亥????茵?ず + + + CheckNotifyNew + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupTab + + + 11 + + + 8, 427 + + + 113, 20 + + + 9 + + + ComboSound + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupTab + + + 9 + + + True + + + 6, 412 + + + 66, 12 + + + 8 + + + ?亥??泣??潟? + + + Label10 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupTab + + + 7 + + + Marlett, 9pt, style=Bold + + + 8, 207 + + + 34, 23 + + + 1 + + + 5 + + + ButtonUp + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupTab + + + 5 + + + Marlett, 9pt, style=Bold + + + NoControl + + + 87, 207 + + + 34, 23 + + + 2 + + + 6 + + + ButtonDown + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupTab + + + 3 + + + True + + + 6, 344 + + + 76, 12 + + + 11 + + + LabelTabType + + + LabelTabType + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupTab + + + 0 + + + True + + + 6, 327 + + + 56, 12 + + + 10 + + + ?帥???┏蕁?/value> + + + Label13 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupTab + + + 1 + + + 6, 9 + + + 127, 459 + + + 0 + + + ?帥? + + + GroupTab + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + + + True + + + 39 + + + 6, 12 + + + 766, 553 + + + CenterParent + + + ???????????/value> + + + FilterDialog + + + System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file Added: branches/UserStream/Tween/FilterDialog.vb =================================================================== --- branches/UserStream/Tween/FilterDialog.vb (rev 0) +++ branches/UserStream/Tween/FilterDialog.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,1021 @@ +鏤? Tween - Client of Twitter +' Copyright (c) 2007-2010 kiri_feather (@kiri_feather) +' (c) 2008-2010 Moz (@syo68k) +' (c) 2008-2010 takeshik (@takeshik) +' All rights reserved. +' +' This file is part of Tween. +' +' This program is free software; you can redistribute it and/or modify it +' under the terms of the GNU General Public License as published by the Free +' Software Foundation; either version 3 of the License, or (at your option) +' any later version. +' +' This program is distributed in the hope that it will be useful, but +' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +' for more details. +' +' You should have received a copy of the GNU General Public License along +' with this program. If not, see , or write to +' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, +' Boston, MA 02110-1301, USA. + +Imports System.Collections.Specialized + +Public Class FilterDialog + + Private _mode As EDITMODE + Private _directAdd As Boolean + Private _sts As TabInformations + Private _cur As String + Private idlist As New List(Of String) + + Private tabdialog As New TabsDialog(True) + + Private Enum EDITMODE + AddNew + Edit + None + End Enum + + Private Sub SetFilters(ByVal tabName As String) + If ListTabs.Items.Count = 0 Then Exit Sub + + ListFilters.Items.Clear() + ListFilters.Items.AddRange(_sts.Tabs(tabName).GetFilters()) + If ListFilters.Items.Count > 0 Then ListFilters.SelectedIndex = 0 + + CheckManageRead.Checked = _sts.Tabs(tabName).UnreadManage + CheckNotifyNew.Checked = _sts.Tabs(tabName).Notify + + Dim idx As Integer = ComboSound.Items.IndexOf(_sts.Tabs(tabName).SoundFile) + If idx = -1 Then idx = 0 + ComboSound.SelectedIndex = idx + + If _directAdd Then Exit Sub + + ListTabs.Enabled = True + GroupTab.Enabled = True + ListFilters.Enabled = True + If ListFilters.SelectedIndex <> -1 Then + ShowDetail() + End If + EditFilterGroup.Enabled = False + Select Case TabInformations.GetInstance.Tabs(tabName).TabType + Case TabUsageType.Home, TabUsageType.DirectMessage, TabUsageType.Favorites, TabUsageType.PublicSearch, TabUsageType.Lists + ButtonNew.Enabled = False + ButtonEdit.Enabled = False + ButtonDelete.Enabled = False + ButtonRuleUp.Enabled = False + ButtonRuleDown.Enabled = False + ButtonRuleCopy.Enabled = False + ButtonRuleMove.Enabled = False + Case Else + ButtonNew.Enabled = True + If ListFilters.SelectedIndex > -1 Then + ButtonEdit.Enabled = True + ButtonDelete.Enabled = True + ButtonRuleUp.Enabled = True + ButtonRuleDown.Enabled = True + ButtonRuleCopy.Enabled = True + ButtonRuleMove.Enabled = True + Else + ButtonEdit.Enabled = False + ButtonDelete.Enabled = False + ButtonRuleUp.Enabled = False + ButtonRuleDown.Enabled = False + ButtonRuleCopy.Enabled = False + ButtonRuleMove.Enabled = False + End If + End Select + Select Case TabInformations.GetInstance.Tabs(tabName).TabType + Case TabUsageType.Home + LabelTabType.Text = My.Resources.TabUsageTypeName_Home + Case TabUsageType.Mentions + LabelTabType.Text = My.Resources.TabUsageTypeName_Mentions + Case TabUsageType.DirectMessage + LabelTabType.Text = My.Resources.TabUsageTypeName_DirectMessage + Case TabUsageType.Favorites + LabelTabType.Text = My.Resources.TabUsageTypeName_Favorites + Case TabUsageType.UserDefined + LabelTabType.Text = My.Resources.TabUsageTypeName_UserDefined + Case TabUsageType.PublicSearch + LabelTabType.Text = My.Resources.TabUsageTypeName_PublicSearch + Case TabUsageType.Lists + LabelTabType.Text = My.Resources.TabUsageTypeName_Lists + Case Else + LabelTabType.Text = "UNKNOWN" + End Select + ButtonRenameTab.Enabled = True + If TabInformations.GetInstance.IsDefaultTab(tabName) Then + ButtonDeleteTab.Enabled = False + Else + ButtonDeleteTab.Enabled = True + End If + ButtonClose.Enabled = True + End Sub + + Public Sub SetCurrent(ByVal TabName As String) + _cur = TabName + End Sub + + Public Sub AddNewFilter(ByVal id As String, ByVal msg As String) + '?????????????ュ??違???+ ButtonNew.Enabled = False + ButtonEdit.Enabled = False + ButtonRuleUp.Enabled = False + ButtonRuleDown.Enabled = False + ButtonRuleCopy.Enabled = False + ButtonRuleMove.Enabled = False + ButtonDelete.Enabled = False + ButtonClose.Enabled = False + EditFilterGroup.Enabled = True + ListTabs.Enabled = False + GroupTab.Enabled = False + ListFilters.Enabled = False + + RadioAND.Checked = True + RadioPLUS.Checked = False + UID.Text = id + UID.SelectAll() + MSG1.Text = msg + MSG1.SelectAll() + MSG2.Text = id + msg + MSG2.SelectAll() + TextSource.Text = "" + UID.Enabled = True + MSG1.Enabled = True + MSG2.Enabled = False + CheckRegex.Checked = False + CheckURL.Checked = False + CheckCaseSensitive.Checked = False + CheckRetweet.Checked = False + + RadioExAnd.Checked = True + RadioExPLUS.Checked = False + ExUID.Text = "" + ExUID.SelectAll() + ExMSG1.Text = "" + ExMSG1.SelectAll() + ExMSG2.Text = "" + ExMSG2.SelectAll() + TextExSource.Text = "" + ExUID.Enabled = True + ExMSG1.Enabled = True + ExMSG2.Enabled = False + CheckExRegex.Checked = False + CheckExURL.Checked = False + CheckExCaseSensitive.Checked = False + CheckExRetweet.Checked = False + + OptCopy.Checked = True + CheckMark.Checked = True + UID.Focus() + _mode = EDITMODE.AddNew + _directAdd = True + End Sub + + Private Sub ButtonNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonNew.Click + ButtonNew.Enabled = False + ButtonEdit.Enabled = False + ButtonClose.Enabled = False + ButtonRuleUp.Enabled = False + ButtonRuleDown.Enabled = False + ButtonRuleCopy.Enabled = False + ButtonRuleMove.Enabled = False + ButtonDelete.Enabled = False + ButtonClose.Enabled = False + EditFilterGroup.Enabled = True + ListTabs.Enabled = False + GroupTab.Enabled = False + ListFilters.Enabled = False + + RadioAND.Checked = True + RadioPLUS.Checked = False + UID.Text = "" + MSG1.Text = "" + MSG2.Text = "" + TextSource.Text = "" + UID.Enabled = True + MSG1.Enabled = True + MSG2.Enabled = False + CheckRegex.Checked = False + CheckURL.Checked = False + CheckCaseSensitive.Checked = False + CheckRetweet.Checked = False + + RadioExAnd.Checked = True + RadioExPLUS.Checked = False + ExUID.Text = "" + ExMSG1.Text = "" + ExMSG2.Text = "" + TextExSource.Text = "" + ExUID.Enabled = True + ExMSG1.Enabled = True + ExMSG2.Enabled = False + CheckExRegex.Checked = False + CheckExURL.Checked = False + CheckExCaseSensitive.Checked = False + CheckExRetweet.Checked = False + + OptCopy.Checked = True + CheckMark.Checked = True + UID.Focus() + _mode = EDITMODE.AddNew + End Sub + + Private Sub ButtonEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonEdit.Click + If ListFilters.SelectedIndex = -1 Then Exit Sub + + ShowDetail() + ButtonNew.Enabled = False + ButtonEdit.Enabled = False + ButtonDelete.Enabled = False + ButtonClose.Enabled = False + ButtonRuleUp.Enabled = False + ButtonRuleDown.Enabled = False + ButtonRuleCopy.Enabled = False + ButtonRuleMove.Enabled = False + EditFilterGroup.Enabled = True + ListTabs.Enabled = False + GroupTab.Enabled = False + + Dim idx As Integer = ListFilters.SelectedIndex + ListFilters.SelectedIndex = -1 + ListFilters.SelectedIndex = idx + ListFilters.Enabled = False + _mode = EDITMODE.Edit + End Sub + + Private Sub ButtonDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonDelete.Click + If ListFilters.SelectedIndex = -1 Then Exit Sub + Dim tmp As String = "" + Dim rslt As Windows.Forms.DialogResult + + If ListFilters.SelectedIndices.Count = 1 Then + tmp = String.Format(My.Resources.ButtonDelete_ClickText1, vbCrLf, ListFilters.SelectedItem.ToString) + rslt = MessageBox.Show(tmp, My.Resources.ButtonDelete_ClickText2, _ + MessageBoxButtons.OKCancel, MessageBoxIcon.Question) + Else + tmp = String.Format(My.Resources.ButtonDelete_ClickText3, ListFilters.SelectedIndices.Count.ToString) + rslt = MessageBox.Show(tmp, My.Resources.ButtonDelete_ClickText2, _ + MessageBoxButtons.OKCancel, MessageBoxIcon.Question) + End If + If rslt = Windows.Forms.DialogResult.Cancel Then Exit Sub + + For idx As Integer = ListFilters.Items.Count - 1 To 0 Step -1 + If ListFilters.GetSelected(idx) Then + _sts.Tabs(ListTabs.SelectedItem.ToString()).RemoveFilter(DirectCast(ListFilters.Items(idx), FiltersClass)) + ListFilters.Items.RemoveAt(idx) + End If + Next + End Sub + + Private Sub ButtonCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonCancel.Click + ListTabs.Enabled = True + GroupTab.Enabled = True + ListFilters.Enabled = True + ListFilters.Focus() + If ListFilters.SelectedIndex <> -1 Then + ShowDetail() + End If + EditFilterGroup.Enabled = False + ButtonNew.Enabled = True + If ListFilters.SelectedIndex > -1 Then + ButtonEdit.Enabled = True + ButtonDelete.Enabled = True + ButtonRuleUp.Enabled = True + ButtonRuleDown.Enabled = True + ButtonRuleCopy.Enabled = True + ButtonRuleMove.Enabled = True + Else + ButtonEdit.Enabled = False + ButtonDelete.Enabled = False + ButtonRuleUp.Enabled = False + ButtonRuleDown.Enabled = False + ButtonRuleCopy.Enabled = False + ButtonRuleMove.Enabled = False + End If + ButtonClose.Enabled = True + If _directAdd Then + Me.Close() + End If + End Sub + + Private Sub ShowDetail() + + If _directAdd Then Exit Sub + + If ListFilters.SelectedIndex > -1 Then + Dim fc As FiltersClass = DirectCast(ListFilters.SelectedItem, FiltersClass) + If fc.SearchBoth Then + RadioAND.Checked = True + RadioPLUS.Checked = False + UID.Enabled = True + MSG1.Enabled = True + MSG2.Enabled = False + UID.Text = fc.NameFilter + UID.SelectAll() + MSG1.Text = "" + MSG2.Text = "" + For Each bf As String In fc.BodyFilter + MSG1.Text += bf + " " + Next + MSG1.Text = MSG1.Text.Trim + MSG1.SelectAll() + Else + RadioPLUS.Checked = True + RadioAND.Checked = False + UID.Enabled = False + MSG1.Enabled = False + MSG2.Enabled = True + UID.Text = "" + MSG1.Text = "" + MSG2.Text = "" + For Each bf As String In fc.BodyFilter + MSG2.Text += bf + " " + Next + MSG2.Text = MSG2.Text.Trim + MSG2.SelectAll() + End If + TextSource.Text = fc.Source + CheckRegex.Checked = fc.UseRegex + CheckURL.Checked = fc.SearchUrl + CheckCaseSensitive.Checked = fc.CaseSensitive + CheckRetweet.Checked = fc.IsRt + + If fc.ExSearchBoth Then + RadioExAnd.Checked = True + RadioExPLUS.Checked = False + ExUID.Enabled = True + ExMSG1.Enabled = True + ExMSG2.Enabled = False + ExUID.Text = fc.ExNameFilter + ExUID.SelectAll() + ExMSG1.Text = "" + ExMSG2.Text = "" + For Each bf As String In fc.ExBodyFilter + ExMSG1.Text += bf + " " + Next + ExMSG1.Text = ExMSG1.Text.Trim + ExMSG1.SelectAll() + Else + RadioExPLUS.Checked = True + RadioExAnd.Checked = False + ExUID.Enabled = False + ExMSG1.Enabled = False + ExMSG2.Enabled = True + ExUID.Text = "" + ExMSG1.Text = "" + ExMSG2.Text = "" + For Each bf As String In fc.ExBodyFilter + ExMSG2.Text += bf + " " + Next + ExMSG2.Text = ExMSG2.Text.Trim + ExMSG2.SelectAll() + End If + TextExSource.Text = fc.ExSource + CheckExRegex.Checked = fc.ExUseRegex + CheckExURL.Checked = fc.ExSearchUrl + CheckExCaseSensitive.Checked = fc.ExCaseSensitive + CheckExRetweet.Checked = fc.IsExRt + + If fc.MoveFrom Then + OptMove.Checked = True + Else + OptCopy.Checked = True + End If + CheckMark.Checked = fc.SetMark + + ButtonEdit.Enabled = True + ButtonDelete.Enabled = True + ButtonRuleUp.Enabled = True + ButtonRuleDown.Enabled = True + ButtonRuleCopy.Enabled = True + ButtonRuleMove.Enabled = True + Else + RadioAND.Checked = True + RadioPLUS.Checked = False + UID.Enabled = True + MSG1.Enabled = True + MSG2.Enabled = False + UID.Text = "" + MSG1.Text = "" + MSG2.Text = "" + TextSource.Text = "" + CheckRegex.Checked = False + CheckURL.Checked = False + CheckCaseSensitive.Checked = False + CheckRetweet.Checked = False + + RadioExAnd.Checked = True + RadioExPLUS.Checked = False + ExUID.Enabled = True + ExMSG1.Enabled = True + ExMSG2.Enabled = False + ExUID.Text = "" + ExMSG1.Text = "" + ExMSG2.Text = "" + TextExSource.Text = "" + CheckExRegex.Checked = False + CheckExURL.Checked = False + CheckExCaseSensitive.Checked = False + CheckExRetweet.Checked = False + + OptCopy.Checked = True + CheckMark.Checked = True + + ButtonEdit.Enabled = False + ButtonDelete.Enabled = False + ButtonRuleUp.Enabled = False + ButtonRuleDown.Enabled = False + ButtonRuleCopy.Enabled = False + ButtonRuleMove.Enabled = False + End If + End Sub + + Private Sub RadioAND_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioAND.CheckedChanged + Dim flg As Boolean = RadioAND.Checked + UID.Enabled = flg + MSG1.Enabled = flg + MSG2.Enabled = Not flg + End Sub + + Private Sub ButtonOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonOK.Click + Dim isBlankMatch As Boolean = False + Dim isBlankExclude As Boolean = False + + '?ュ??????? + If Not CheckMatchRule(isBlankMatch) OrElse _ + Not CheckExcludeRule(isBlankExclude) Then + Exit Sub + End If + If isBlankMatch AndAlso isBlankExclude Then + MessageBox.Show(My.Resources.ButtonOK_ClickText1, My.Resources.ButtonOK_ClickText2, MessageBoxButtons.OK, MessageBoxIcon.Exclamation) + Exit Sub + End If + + Dim i As Integer = ListFilters.SelectedIndex + Dim ft As FiltersClass + + ft = New FiltersClass() + + ft.MoveFrom = OptMove.Checked + ft.SetMark = CheckMark.Checked + + Dim bdy As String = "" + If RadioAND.Checked Then + ft.NameFilter = UID.Text + Dim cnt As Integer = TweenMain.AtIdSupl.ItemCount + TweenMain.AtIdSupl.AddItem("@" + ft.NameFilter) + If cnt <> TweenMain.AtIdSupl.ItemCount Then + TweenMain.ModifySettingAtId = True + End If + ft.SearchBoth = True + bdy = MSG1.Text + Else + ft.NameFilter = "" + ft.SearchBoth = False + bdy = MSG2.Text + End If + ft.Source = TextSource.Text.Trim + + If CheckRegex.Checked Then + ft.BodyFilter.Add(bdy) + Else + Dim bf() As String = bdy.Trim.Split(Chr(32)) + For Each bfs As String In bf + If bfs <> "" Then ft.BodyFilter.Add(bfs.Trim) + Next + End If + + ft.UseRegex = CheckRegex.Checked + ft.SearchUrl = CheckURL.Checked + ft.CaseSensitive = CheckCaseSensitive.Checked + ft.IsRt = CheckRetweet.Checked + + bdy = "" + If RadioExAnd.Checked Then + ft.ExNameFilter = ExUID.Text + ft.ExSearchBoth = True + bdy = ExMSG1.Text + Else + ft.ExNameFilter = "" + ft.ExSearchBoth = False + bdy = ExMSG2.Text + End If + ft.ExSource = TextExSource.Text.Trim + + If CheckExRegex.Checked Then + ft.ExBodyFilter.Add(bdy) + Else + Dim bf() As String = bdy.Trim.Split(Chr(32)) + For Each bfs As String In bf + If bfs <> "" Then ft.ExBodyFilter.Add(bfs.Trim) + Next + End If + + ft.ExUseRegex = CheckExRegex.Checked + ft.ExSearchUrl = CheckExURL.Checked + ft.ExCaseSensitive = CheckExCaseSensitive.Checked + ft.IsExRt = CheckExRetweet.Checked + + If _mode = EDITMODE.AddNew Then + If Not _sts.Tabs(ListTabs.SelectedItem.ToString()).AddFilter(ft) Then + MessageBox.Show(My.Resources.ButtonOK_ClickText4, My.Resources.ButtonOK_ClickText2, MessageBoxButtons.OK, MessageBoxIcon.Error) + End If + Else + _sts.Tabs(ListTabs.SelectedItem.ToString()).EditFilter(DirectCast(ListFilters.SelectedItem, FiltersClass), ft) + End If + + SetFilters(ListTabs.SelectedItem.ToString) + ListFilters.SelectedIndex = -1 + If _mode = EDITMODE.AddNew Then + ListFilters.SelectedIndex = ListFilters.Items.Count - 1 + Else + ListFilters.SelectedIndex = i + End If + _mode = EDITMODE.None + + + If _directAdd Then + Me.Close() + End If + End Sub + + Private Function CheckMatchRule(ByRef isBlank As Boolean) As Boolean + isBlank = False + TextSource.Text = TextSource.Text.Trim() + If RadioAND.Checked Then + MSG1.Text = MSG1.Text.Trim + UID.Text = UID.Text.Trim() + If Not CheckRegex.Checked Then MSG1.Text = MSG1.Text.Replace("??, " ") + + If UID.Text = "" AndAlso MSG1.Text = "" AndAlso TextSource.Text = "" AndAlso CheckRetweet.Checked = False Then + isBlank = True + Return True + End If + If CheckRegex.Checked Then + If UID.Text <> "" Then + Try + Dim rgx As New System.Text.RegularExpressions.Regex(UID.Text) + Catch ex As Exception + MessageBox.Show(My.Resources.ButtonOK_ClickText3 + ex.Message, My.Resources.ButtonOK_ClickText2, MessageBoxButtons.OK, MessageBoxIcon.Exclamation) + Return False + End Try + End If + If MSG1.Text <> "" Then + Try + Dim rgx As New System.Text.RegularExpressions.Regex(MSG1.Text) + Catch ex As Exception + MessageBox.Show(My.Resources.ButtonOK_ClickText3 + ex.Message, My.Resources.ButtonOK_ClickText2, MessageBoxButtons.OK, MessageBoxIcon.Exclamation) + Return False + End Try + End If + End If + Else + MSG2.Text = MSG2.Text.Trim + If Not CheckRegex.Checked Then MSG2.Text = MSG2.Text.Replace("??, " ") + If MSG2.Text = "" AndAlso TextSource.Text = "" AndAlso CheckRetweet.Checked = False Then + isBlank = True + Return True + End If + If CheckRegex.Checked AndAlso MSG2.Text <> "" Then + Try + Dim rgx As New System.Text.RegularExpressions.Regex(MSG2.Text) + Catch ex As Exception + MessageBox.Show(My.Resources.ButtonOK_ClickText3 + ex.Message, My.Resources.ButtonOK_ClickText2, MessageBoxButtons.OK, MessageBoxIcon.Exclamation) + Return False + End Try + End If + End If + + If CheckRegex.Checked AndAlso TextSource.Text <> "" Then + Try + Dim rgx As New System.Text.RegularExpressions.Regex(TextSource.Text) + Catch ex As Exception + MessageBox.Show(My.Resources.ButtonOK_ClickText3 + ex.Message, My.Resources.ButtonOK_ClickText2, MessageBoxButtons.OK, MessageBoxIcon.Exclamation) + Return False + End Try + End If + Return True + End Function + + Private Function CheckExcludeRule(ByRef isBlank As Boolean) As Boolean + isBlank = False + TextExSource.Text = TextExSource.Text.Trim + If RadioExAnd.Checked Then + ExMSG1.Text = ExMSG1.Text.Trim + If Not CheckExRegex.Checked Then ExMSG1.Text = ExMSG1.Text.Replace("??, " ") + ExUID.Text = ExUID.Text.Trim() + If ExUID.Text = "" AndAlso ExMSG1.Text = "" AndAlso TextExSource.Text = "" AndAlso CheckExRetweet.Checked = False Then + isBlank = True + Return True + End If + If CheckExRegex.Checked Then + If ExUID.Text <> "" Then + Try + Dim rgx As New System.Text.RegularExpressions.Regex(ExUID.Text) + Catch ex As Exception + MessageBox.Show(My.Resources.ButtonOK_ClickText3 + ex.Message, My.Resources.ButtonOK_ClickText2, MessageBoxButtons.OK, MessageBoxIcon.Exclamation) + Return False + End Try + End If + If ExMSG1.Text <> "" Then + Try + Dim rgx As New System.Text.RegularExpressions.Regex(ExMSG1.Text) + Catch ex As Exception + MessageBox.Show(My.Resources.ButtonOK_ClickText3 + ex.Message, My.Resources.ButtonOK_ClickText2, MessageBoxButtons.OK, MessageBoxIcon.Exclamation) + Return False + End Try + End If + End If + Else + ExMSG2.Text = ExMSG2.Text.Trim + If Not CheckExRegex.Checked Then ExMSG2.Text = ExMSG2.Text.Replace("??, " ") + If ExMSG2.Text = "" AndAlso TextExSource.Text = "" AndAlso CheckExRetweet.Checked = False Then + isBlank = True + Return True + End If + If CheckExRegex.Checked AndAlso ExMSG2.Text <> "" Then + Try + Dim rgx As New System.Text.RegularExpressions.Regex(ExMSG2.Text) + Catch ex As Exception + MessageBox.Show(My.Resources.ButtonOK_ClickText3 + ex.Message, My.Resources.ButtonOK_ClickText2, MessageBoxButtons.OK, MessageBoxIcon.Exclamation) + Return False + End Try + End If + End If + + If CheckExRegex.Checked AndAlso TextExSource.Text <> "" Then + Try + Dim rgx As New System.Text.RegularExpressions.Regex(TextExSource.Text) + Catch ex As Exception + MessageBox.Show(My.Resources.ButtonOK_ClickText3 + ex.Message, My.Resources.ButtonOK_ClickText2, MessageBoxButtons.OK, MessageBoxIcon.Exclamation) + Return False + End Try + End If + + Return True + End Function + + Private Sub ListFilters_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListFilters.SelectedIndexChanged + ShowDetail() + End Sub + + Private Sub ButtonClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonClose.Click + Me.Close() + End Sub + + Private Sub FilterDialog_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed + _directAdd = False + End Sub + + Private Sub FilterDialog_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown +#If 0 Then + If e.KeyCode = Keys.Enter Then + If EditFilterGroup.Enabled Then + ButtonOK_Click(Nothing, Nothing) + End If + End If +#End If + If e.KeyCode = Keys.Escape Then + If EditFilterGroup.Enabled Then + ButtonCancel_Click(Nothing, Nothing) + Else + ButtonClose_Click(Nothing, Nothing) + End If + End If + End Sub + + Private Sub ListFilters_DoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListFilters.DoubleClick + If ListFilters.SelectedItem Is Nothing Then + Exit Sub + End If + + If ListFilters.IndexFromPoint(ListFilters.PointToClient(Control.MousePosition)) = ListBox.NoMatches Then + Exit Sub + End If + + If ListFilters.Items(ListFilters.IndexFromPoint(ListFilters.PointToClient(Control.MousePosition))) Is Nothing Then + Exit Sub + End If + ButtonEdit_Click(sender, e) + End Sub + + Private Sub FilterDialog_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown + _sts = TabInformations.GetInstance() + ListTabs.Items.Clear() + For Each key As String In _sts.Tabs.Keys + ListTabs.Items.Add(key) + Next + SetTabnamesToDialog() + + ComboSound.Items.Clear() + ComboSound.Items.Add("") + Dim oDir As IO.DirectoryInfo = New IO.DirectoryInfo(My.Application.Info.DirectoryPath + IO.Path.DirectorySeparatorChar) + If IO.Directory.Exists(IO.Path.Combine(My.Application.Info.DirectoryPath, "Sounds")) Then + oDir = oDir.GetDirectories("Sounds")(0) + End If + For Each oFile As IO.FileInfo In oDir.GetFiles("*.wav") + ComboSound.Items.Add(oFile.Name) + Next + + idlist.Clear() + For Each tmp As String In TweenMain.AtIdSupl.GetItemList + idlist.Add(tmp.Remove(0, 1)) ' @?????? + Next + UID.AutoCompleteCustomSource.Clear() + UID.AutoCompleteCustomSource.AddRange(idlist.ToArray) + + ExUID.AutoCompleteCustomSource.Clear() + ExUID.AutoCompleteCustomSource.AddRange(idlist.ToArray) + + '?御??帥?紊?? + If ListTabs.Items.Count > 0 Then + If _cur.Length > 0 Then + For i As Integer = 0 To ListTabs.Items.Count - 1 + If _cur = ListTabs.Items(i).ToString() Then + ListTabs.SelectedIndex = i + 'tabdialog.TabList.Items.Remove(_cur) + Exit For + End If + Next + End If + End If + End Sub + + Private Sub SetTabnamesToDialog() + 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 + Exit Select + Case Else + tabdialog.AddTab(key) + End Select + Next + End Sub + + Private Sub ListTabs_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListTabs.SelectedIndexChanged + If ListTabs.SelectedIndex > -1 Then + SetFilters(ListTabs.SelectedItem.ToString) + Else + ListFilters.Items.Clear() + End If + End Sub + + Private Sub ButtonAddTab_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonAddTab.Click + Dim tabName As String = Nothing + Dim tabType As TabUsageType + Using inputName As New InputTabName() + inputName.TabName = _sts.GetUniqueTabName + inputName.IsShowUsage = True + inputName.ShowDialog() + If inputName.DialogResult = Windows.Forms.DialogResult.Cancel Then Exit Sub + tabName = inputName.TabName + tabType = inputName.Usage + End Using + If tabName <> "" Then + 'List絲上? + Dim list As ListElement = Nothing + If tabType = TabUsageType.Lists Then + Dim rslt As String = DirectCast(Me.Owner, TweenMain).TwitterInstance.GetListsApi() + If rslt <> "" Then + MessageBox.Show("Failed to get lists. (" + rslt + ")") + End If + Using listAvail As New ListAvailable + If listAvail.ShowDialog(Me) = Windows.Forms.DialogResult.Cancel Then Exit Sub + If listAvail.SelectedList Is Nothing Then Exit Sub + list = listAvail.SelectedList + End Using + End If + If Not DirectCast(Me.Owner, TweenMain).AddNewTab(tabName, False, tabType) Then + Dim tmp As String = String.Format(My.Resources.AddTabMenuItem_ClickText1, tabName) + MessageBox.Show(tmp, My.Resources.AddTabMenuItem_ClickText2, MessageBoxButtons.OK, MessageBoxIcon.Exclamation) + Exit Sub + Else + '??? + _sts.AddTab(tabName, tabType, list) + ListTabs.Items.Add(tabName) + SetTabnamesToDialog() + End If + End If + End Sub + + Private Sub ButtonDeleteTab_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonDeleteTab.Click + If ListTabs.SelectedIndex > -1 AndAlso ListTabs.SelectedItem.ToString <> "" Then + Dim tb As String = ListTabs.SelectedItem.ToString + Dim idx As Integer = ListTabs.SelectedIndex + If DirectCast(Me.Owner, TweenMain).RemoveSpecifiedTab(tb) Then + ListTabs.Items.RemoveAt(idx) + idx -= 1 + If idx < 0 Then idx = 0 + ListTabs.SelectedIndex = idx + SetTabnamesToDialog() + End If + End If + End Sub + + Private Sub ButtonRenameTab_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonRenameTab.Click + If ListTabs.SelectedIndex > -1 AndAlso ListTabs.SelectedItem.ToString <> "" Then + Dim tb As String = ListTabs.SelectedItem.ToString + Dim idx As Integer = ListTabs.SelectedIndex + If DirectCast(Me.Owner, TweenMain).TabRename(tb) Then + ListTabs.Items.RemoveAt(idx) + ListTabs.Items.Insert(idx, tb) + ListTabs.SelectedIndex = idx + SetTabnamesToDialog() + End If + End If + End Sub + + Private Sub CheckManageRead_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckManageRead.CheckedChanged + If ListTabs.SelectedIndex > -1 AndAlso ListTabs.SelectedItem.ToString <> "" Then + DirectCast(Me.Owner, TweenMain).ChangeTabUnreadManage( _ + ListTabs.SelectedItem.ToString, _ + CheckManageRead.Checked) + End If + End Sub + + Private Sub ButtonUp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonUp.Click + If ListTabs.SelectedIndex > 0 AndAlso ListTabs.SelectedItem.ToString <> "" Then + Dim selName As String = ListTabs.SelectedItem.ToString + Dim tgtName As String = ListTabs.Items(ListTabs.SelectedIndex - 1).ToString + DirectCast(Me.Owner, TweenMain).ReOrderTab( _ + selName, _ + tgtName, _ + True) + Dim idx As Integer = ListTabs.SelectedIndex + ListTabs.Items.RemoveAt(idx - 1) + ListTabs.Items.Insert(idx, tgtName) + End If + End Sub + + Private Sub ButtonDown_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonDown.Click + If ListTabs.SelectedIndex > -1 AndAlso ListTabs.SelectedIndex < ListTabs.Items.Count - 1 AndAlso Not String.IsNullOrEmpty(ListTabs.SelectedItem.ToString) Then + Dim selName As String = ListTabs.SelectedItem.ToString + Dim tgtName As String = ListTabs.Items(ListTabs.SelectedIndex + 1).ToString + DirectCast(Me.Owner, TweenMain).ReOrderTab( _ + selName, _ + tgtName, _ + False) + Dim idx As Integer = ListTabs.SelectedIndex + ListTabs.Items.RemoveAt(idx + 1) + ListTabs.Items.Insert(idx, tgtName) + End If + End Sub + + Private Sub CheckNotifyNew_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckNotifyNew.CheckedChanged + If ListTabs.SelectedIndex > -1 AndAlso ListTabs.SelectedItem.ToString <> "" Then + _sts.Tabs(ListTabs.SelectedItem.ToString).Notify = CheckNotifyNew.Checked + End If + End Sub + + Private Sub ComboSound_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboSound.SelectedIndexChanged + If ListTabs.SelectedIndex > -1 AndAlso ListTabs.SelectedItem.ToString <> "" Then + Dim filename As String = "" + If ComboSound.SelectedIndex > -1 Then filename = ComboSound.SelectedItem.ToString + _sts.Tabs(ListTabs.SelectedItem.ToString).SoundFile = filename + End If + End Sub + + Private Sub RadioExAnd_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioExAnd.CheckedChanged + Dim flg As Boolean = RadioExAnd.Checked + ExUID.Enabled = flg + ExMSG1.Enabled = flg + ExMSG2.Enabled = Not flg + End Sub + + Private Sub OptMove_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OptMove.CheckedChanged + CheckMark.Enabled = Not OptMove.Checked + End Sub + + Private Sub ButtonRuleUp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonRuleUp.Click + If ListTabs.SelectedIndex > -1 AndAlso ListFilters.SelectedItem IsNot Nothing AndAlso ListFilters.SelectedIndex > 0 Then + Dim tabname As String = ListTabs.SelectedItem.ToString + Dim selected As FiltersClass = _sts.Tabs(tabname).Filters(ListFilters.SelectedIndex) + Dim target As FiltersClass = _sts.Tabs(tabname).Filters(ListFilters.SelectedIndex - 1) + Dim idx As Integer = ListFilters.SelectedIndex + ListFilters.Items.RemoveAt(idx - 1) + ListFilters.Items.Insert(idx, target) + _sts.Tabs(tabname).Filters.RemoveAt(idx - 1) + _sts.Tabs(tabname).Filters.Insert(idx, target) + End If + End Sub + + Private Sub ButtonRuleDown_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonRuleDown.Click + If ListTabs.SelectedIndex > -1 AndAlso ListFilters.SelectedItem IsNot Nothing AndAlso ListFilters.SelectedIndex < ListFilters.Items.Count - 1 Then + Dim tabname As String = ListTabs.SelectedItem.ToString + Dim selected As FiltersClass = _sts.Tabs(tabname).Filters(ListFilters.SelectedIndex) + Dim target As FiltersClass = _sts.Tabs(tabname).Filters(ListFilters.SelectedIndex + 1) + Dim idx As Integer = ListFilters.SelectedIndex + ListFilters.Items.RemoveAt(idx + 1) + ListFilters.Items.Insert(idx, target) + _sts.Tabs(tabname).Filters.RemoveAt(idx + 1) + _sts.Tabs(tabname).Filters.Insert(idx, target) + End If + End Sub + + Private Sub ButtonRuleCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonRuleCopy.Click + If ListTabs.SelectedIndex > -1 AndAlso ListFilters.SelectedItem IsNot Nothing Then + tabdialog.Text = My.Resources.ButtonRuleCopy_ClickText1 + If tabdialog.ShowDialog = Windows.Forms.DialogResult.Cancel Then + Exit Sub + End If + Dim tabname As String = ListTabs.SelectedItem.ToString + Dim tabs As StringCollection = tabdialog.SelectedTabNames + Dim filters As New Generic.List(Of FiltersClass) + + For Each idx As Integer In ListFilters.SelectedIndices + filters.Add(_sts.Tabs(tabname).Filters(idx).CopyTo(New FiltersClass)) + Next + For Each tb As String In tabs + If tb <> tabname Then + For Each flt As FiltersClass In filters + If Not _sts.Tabs(tb).Filters.Contains(flt) Then + _sts.Tabs(tb).AddFilter(flt.CopyTo(New FiltersClass)) + End If + Next + End If + Next + SetFilters(tabname) + End If + End Sub + + Private Sub ButtonRuleMove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonRuleMove.Click + If ListTabs.SelectedIndex > -1 AndAlso ListFilters.SelectedItem IsNot Nothing Then + tabdialog.Text = My.Resources.ButtonRuleMove_ClickText1 + If tabdialog.ShowDialog = Windows.Forms.DialogResult.Cancel Then + Exit Sub + End If + Dim tabname As String = ListTabs.SelectedItem.ToString + Dim tabs As StringCollection = tabdialog.SelectedTabNames + Dim filters As New Generic.List(Of FiltersClass) + + For Each idx As Integer In ListFilters.SelectedIndices + filters.Add(_sts.Tabs(tabname).Filters(idx).CopyTo(New FiltersClass)) + Next + If tabs.Count = 1 AndAlso tabs(0) = tabname Then Exit Sub + For Each tb As String In tabs + If tb <> tabname Then + For Each flt As FiltersClass In filters + If Not _sts.Tabs(tb).Filters.Contains(flt) Then + _sts.Tabs(tb).AddFilter(flt.CopyTo(New FiltersClass)) + End If + Next + End If + Next + For idx As Integer = ListFilters.Items.Count - 1 To 0 Step -1 + If ListFilters.GetSelected(idx) Then + _sts.Tabs(ListTabs.SelectedItem.ToString()).RemoveFilter(DirectCast(ListFilters.Items(idx), FiltersClass)) + ListFilters.Items.RemoveAt(idx) + End If + Next + SetFilters(tabname) + End If + End Sub + + Private Sub FilterTextBox_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MSG1.KeyDown, MSG2.KeyDown, ExMSG1.KeyDown, ExMSG2.KeyDown + If e.KeyCode = Keys.Space AndAlso e.Modifiers = (Keys.Shift Or Keys.Control) Then + Dim main As TweenMain = DirectCast(Me.Owner, TweenMain) + Dim tbox As TextBox = DirectCast(sender, TextBox) + If tbox.SelectionStart > 0 Then + Dim endidx As Integer = tbox.SelectionStart - 1 + Dim startstr As String = "" + For i As Integer = tbox.SelectionStart - 1 To 0 Step -1 + Dim c As Char = tbox.Text.Chars(i) + If Char.IsLetterOrDigit(c) OrElse c = "_" Then + Continue For + End If + If c = "@" Then + startstr = tbox.Text.Substring(i + 1, endidx - i) + main.ShowSuplDialog(tbox, main.AtIdSupl, startstr.Length + 1, startstr) + ElseIf c = "#" Then + startstr = tbox.Text.Substring(i + 1, endidx - i) + main.ShowSuplDialog(tbox, main.HashSupl, startstr.Length + 1, startstr) + Else + Exit For + End If + Next + e.Handled = True + End If + End If + End Sub + + Private Sub FilterTextBox_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles MSG1.KeyPress, MSG2.KeyPress, ExMSG1.KeyPress, ExMSG2.KeyPress + Dim main As TweenMain = DirectCast(Me.Owner, TweenMain) + Dim tbox As TextBox = DirectCast(sender, TextBox) + If e.KeyChar = "@" Then + 'If Not SettingDialog.UseAtIdSupplement Then Exit Sub + '@?????+ main.ShowSuplDialog(tbox, main.AtIdSupl) + e.Handled = True + ElseIf e.KeyChar = "#" Then + 'If Not SettingDialog.UseHashSupplement Then Exit Sub + main.ShowSuplDialog(tbox, main.HashSupl) + e.Handled = True + End If + End Sub +End Class Added: branches/UserStream/Tween/FilterDialog.zh-CHS.resx =================================================================== --- branches/UserStream/Tween/FilterDialog.zh-CHS.resx (rev 0) +++ branches/UserStream/Tween/FilterDialog.zh-CHS.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,325 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ?渇?(&C) + + + 絋?????臀??箴??茹??鐚??茴??篏??膈上?絮??臀?? + + + + 29, 12 + + + ?ユ? + + + 72, 16 + + + 絎????ィ + + + 84, 16 + + + ?阪?紊у???/value> + + + 紊???>散 + + + 羔????? + + + ??刈URL + + + ????>散 + + + 84, 16 + + + 罩e?茵?松綣?value> + + + 101, 12 + + + ???ID??????絎?/value> + + + 17, 12 + + + 筝?/value> + + + 41, 12 + + + ???ID + + + 箴??茹?? + + + 29, 12 + + + ?ユ? + + + 72, 16 + + + 絎????ィ + + + 84, 16 + + + ?阪?紊у???/value> + + + 紊???>散 + + + 羔????? + + + ??刈URL + + + ????>散 + + + 84, 16 + + + 罩e?茵?松綣?value> + + + 101, 12 + + + ???ID??????絎?/value> + + + 17, 12 + + + 筝?/value> + + + 41, 12 + + + ???ID + + + ?拷?茹?? + + + 60, 16 + + + ???莅?/value> + + + 119, 16 + + + 篁?ecent???紊?? + + + 119, 16 + + + 篁?ecent???腱肢軌 + + + ?拷??句????(&E) + + + ??? + + + 隋?? + + + 茹??膽?? + + + ?医産(&N) + + + ???(&D) + + + 膽??(&E) + + + 腱糸? + + + 紊?? + + + ???茹?? + + + ?医産??? + + + ?????? + + + ????????/value> + + + ???膊∞? + + + 84, 16 + + + ??ず?井???/value> + + + 41, 12 + + + ??ず??/value> + + + 53, 12 + + + ???膠糸? + + + ??? + + + ???茹?? + + \ No newline at end of file Added: branches/UserStream/Tween/FormInfo.Designer.vb =================================================================== --- branches/UserStream/Tween/FormInfo.Designer.vb (rev 0) +++ branches/UserStream/Tween/FormInfo.Designer.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,61 @@ +鏤?Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ +Partial Class FormInfo + Inherits System.Windows.Forms.Form + + '????若?????潟??若??潟????荀с?????若??≪?????????? dispose ????若??若??ゃ??????? + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Windows ????若? ????ゃ??若?綽???с???+ Private components As System.ComponentModel.IContainer + + '?<?: 篁ヤ????????若??c? Windows ????若? ????ゃ??若?綽???с???+ 'Windows ????若? ????ゃ??若?篏睡????紊???с??障??? + '?潟???????c??若?篏帥?????眼?????с??????? + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(FormInfo)) + Me.ProgressBar1 = New System.Windows.Forms.ProgressBar() + Me.LabelInformation = New System.Windows.Forms.Label() + Me.SuspendLayout() + ' + 'ProgressBar1 + ' + resources.ApplyResources(Me.ProgressBar1, "ProgressBar1") + Me.ProgressBar1.Name = "ProgressBar1" + Me.ProgressBar1.Style = System.Windows.Forms.ProgressBarStyle.Marquee + ' + 'LabelInformation + ' + resources.ApplyResources(Me.LabelInformation, "LabelInformation") + Me.LabelInformation.Name = "LabelInformation" + ' + 'FormInfo + ' + resources.ApplyResources(Me, "$this") + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ControlBox = False + Me.Controls.Add(Me.LabelInformation) + Me.Controls.Add(Me.ProgressBar1) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog + Me.MaximizeBox = False + Me.MinimizeBox = False + Me.Name = "FormInfo" + Me.ShowIcon = False + Me.ShowInTaskbar = False + Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide + Me.TopMost = True + Me.ResumeLayout(False) + + End Sub + Friend WithEvents ProgressBar1 As System.Windows.Forms.ProgressBar + Friend WithEvents LabelInformation As System.Windows.Forms.Label +End Class Added: branches/UserStream/Tween/FormInfo.resx =================================================================== --- branches/UserStream/Tween/FormInfo.resx (rev 0) +++ branches/UserStream/Tween/FormInfo.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,192 @@ +鏤??xml version="1.0" encoding="utf-8"?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 13, 57 + + + 265, 23 + + + + 0 + + + ProgressBar1 + + + System.Windows.Forms.ProgressBar, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + + + 10, 5 + + + 266, 48 + + + 1 + + + LabelInformation + + + MiddleCenter + + + LabelInformation + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + + + True + + + 6, 12 + + + 290, 92 + + + + CenterParent + + + Information + + + FormInfo + + + System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file Added: branches/UserStream/Tween/FormInfo.vb =================================================================== --- branches/UserStream/Tween/FormInfo.vb (rev 0) +++ branches/UserStream/Tween/FormInfo.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,163 @@ +鏤? Tween - Client of Twitter +' Copyright (c) 2007-2010 kiri_feather (@kiri_feather) +' (c) 2008-2010 Moz (@syo68k) +' (c) 2008-2010 takeshik (@takeshik) +' All rights reserved. +' +' This file is part of Tween. +' +' This program is free software; you can redistribute it and/or modify it +' under the terms of the GNU General Public License as published by the Free +' Software Foundation; either version 3 of the License, or (at your option) +' any later version. +' +' This program is distributed in the hope that it will be useful, but +' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +' for more details. +' +' You should have received a copy of the GNU General Public License along +' with this program. If not, see , or write to +' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, +' Boston, MA 02110-1301, USA. + +Imports System.ComponentModel +Imports System.Threading + +''' +'''?帥?????若??号??巡????????????? +''' +''' +'''???鐚?ackGroundWorker?潟??????????絎??????鴻??泣?????????????DoWork?с??潟???????茹?????????????? +'''?障???witter?吾???拭???荀??????翫?????違?TwitterInstance?????????篏睡?????????+''' 1.Class??? 2.?潟??鴻?????帥?綣?????????若??合???Dowork RunWorkerCompleted???罕?篏睡?????????othing) +''' 3.Instance.Argument?????????潟??鴻?????水??違?綣???祉??? +''' 4.Instance.InfoMessage???????潟??鴻?????水??違?茵?ず?<??祉??梧┃絎?5.Instance.ShowDialog()?????;腓?+''' 6. 綽????????Instance.Result(=Servicer??.Result)???????????????+''' 7.Dispose ?帥?????若??鴻?罩e幻腟??????翫???????荳??Close???????????ispose????????+''' + +Public Class FormInfo + + Private Class BackgroundWorkerServicer + Inherits BackgroundWorker + + Public Result As Object = Nothing + + Protected Overrides Sub OnRunWorkerCompleted(ByVal e As RunWorkerCompletedEventArgs) + Me.Result = e.Result + MyBase.OnRunWorkerCompleted(e) + End Sub + End Class + + Private _msg As String + Private _arg As Object = Nothing + + Private Servicer As New BackgroundWorkerServicer + + Public Sub New(ByVal owner As System.Windows.Forms.Form, _ + ByVal Message As String, _ + ByVal DoWork As DoWorkEventHandler) + + doInitialize(owner, Message, DoWork, Nothing, Nothing) + End Sub + + Public Sub New(ByVal owner As System.Windows.Forms.Form, _ + ByVal Message As String, _ + ByVal DoWork As DoWorkEventHandler, _ + ByVal RunWorkerCompleted As RunWorkerCompletedEventHandler) + doInitialize(owner, Message, DoWork, RunWorkerCompleted, Nothing) + End Sub + + Public Sub New(ByVal owner As System.Windows.Forms.Form, _ + ByVal Message As String, _ + ByVal DoWork As DoWorkEventHandler, _ + ByVal RunWorkerCompleted As RunWorkerCompletedEventHandler, _ + ByVal Argument As Object) + doInitialize(owner, Message, DoWork, RunWorkerCompleted, Argument) + End Sub + + Private Sub doInitialize(ByVal owner As System.Windows.Forms.Form, _ + ByVal Message As String, _ + ByVal DoWork As DoWorkEventHandler, _ + ByVal RunWorkerCompleted As RunWorkerCompletedEventHandler, _ + ByVal Argument As Object) + ' ????若??冴?????吟?????у?荀????? + InitializeComponent() + + ' InitializeComponent() ?若??冴?????у??????申????障???+ + Me.Owner = owner + Me.InfoMessage = Message + AddHandler Me.Servicer.DoWork, DoWork + + If RunWorkerCompleted IsNot Nothing Then + AddHandler Me.Servicer.RunWorkerCompleted, RunWorkerCompleted + End If + + Me.Argument = Argument + + End Sub + + Private Sub LabelInformation_TextChanged(ByVal sender As System.Object, ByVal e As EventArgs) Handles LabelInformation.TextChanged + LabelInformation.Refresh() + End Sub + + ''' + '''????≪??違?茵?ず???????若??弱????????若???┃絎???????????? + ''' + '''茵?ず????<??祉???/param> + '''?上?荐???????????????若? + Public Property InfoMessage() As String + Get + Return _msg + End Get + Set(ByVal value As String) + _msg = value + LabelInformation.Text = _msg + End Set + End Property + + ''' + '''Servicer?御検???????若? + ''' + '''Servicer?御検???????若? + '''?上?荐??????????ervicer?御検???????若? + Public Property Argument() As Object + Get + Return _arg + End Get + Set(ByVal value As Object) + _arg = value + End Set + End Property + + ''' + '''Servicer??.Result + ''' + '''Servicer??.Result + Public ReadOnly Property Result() As Object + Get + Return Servicer.Result + End Get + End Property + + Private Sub FormInfo_Shown(ByVal sender As System.Object, ByVal e As EventArgs) Handles MyBase.Shown + Servicer.RunWorkerAsync(_arg) + While Servicer.IsBusy + Thread.Sleep(100) + My.Application.DoEvents() + End While + Me.TopMost = False ' MessageBox??????????馹??絲上? + Me.Close() + End Sub + + ' ????若????????????Κ????若????????????????蕁??絲上? + + Private Sub FormInfo_FormClosed(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles MyBase.FormClosed + Owner.TopMost = Not Owner.TopMost + Owner.TopMost = Not Owner.TopMost + End Sub +End Class + + Added: branches/UserStream/Tween/HashtagManage.Designer.vb =================================================================== --- branches/UserStream/Tween/HashtagManage.Designer.vb (rev 0) +++ branches/UserStream/Tween/HashtagManage.Designer.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,220 @@ +鏤?Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ +Partial Class HashtagManage + Inherits System.Windows.Forms.Form + + '????若?????潟??若??潟????荀с?????若??≪?????????? dispose ????若??若??ゃ??????? + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Windows ????若? ????ゃ??у?荀????? + Private components As System.ComponentModel.IContainer + + '?<?: 篁ヤ????????若??c? Windows ????若? ????ゃ??у?荀????? + 'Windows ????若? ????ゃ???戎???????眼??????? + '?潟???????c???戎?c?紊??????????????? + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(HashtagManage)) + Me.TableLayoutButtons = New System.Windows.Forms.TableLayoutPanel + Me.Cancel_Button = New System.Windows.Forms.Button + Me.OK_Button = New System.Windows.Forms.Button + Me.DeleteButton = New System.Windows.Forms.Button + Me.EditButton = New System.Windows.Forms.Button + Me.AddButton = New System.Windows.Forms.Button + Me.HistoryHashList = New System.Windows.Forms.ListBox + Me.UseHashText = New System.Windows.Forms.TextBox + Me.Label1 = New System.Windows.Forms.Label + Me.CheckPermanent = New System.Windows.Forms.CheckBox + Me.GroupDetail = New System.Windows.Forms.GroupBox + Me.TableLayoutPanel2 = New System.Windows.Forms.TableLayoutPanel + Me.PermOK_Button = New System.Windows.Forms.Button + Me.PermCancel_Button = New System.Windows.Forms.Button + Me.Label3 = New System.Windows.Forms.Label + Me.RadioLast = New System.Windows.Forms.RadioButton + Me.RadioHead = New System.Windows.Forms.RadioButton + Me.UnSelectButton = New System.Windows.Forms.Button + Me.GroupHashtag = New System.Windows.Forms.GroupBox + Me.TableLayoutButtons.SuspendLayout() + Me.GroupDetail.SuspendLayout() + Me.TableLayoutPanel2.SuspendLayout() + Me.GroupHashtag.SuspendLayout() + Me.SuspendLayout() + ' + 'TableLayoutButtons + ' + resources.ApplyResources(Me.TableLayoutButtons, "TableLayoutButtons") + Me.TableLayoutButtons.Controls.Add(Me.Cancel_Button, 1, 0) + Me.TableLayoutButtons.Controls.Add(Me.OK_Button, 0, 0) + Me.TableLayoutButtons.Name = "TableLayoutButtons" + ' + 'Cancel_Button + ' + resources.ApplyResources(Me.Cancel_Button, "Cancel_Button") + Me.Cancel_Button.DialogResult = System.Windows.Forms.DialogResult.Cancel + Me.Cancel_Button.Name = "Cancel_Button" + ' + 'OK_Button + ' + resources.ApplyResources(Me.OK_Button, "OK_Button") + Me.OK_Button.DialogResult = System.Windows.Forms.DialogResult.OK + Me.OK_Button.Name = "OK_Button" + ' + 'DeleteButton + ' + resources.ApplyResources(Me.DeleteButton, "DeleteButton") + Me.DeleteButton.Name = "DeleteButton" + Me.DeleteButton.UseVisualStyleBackColor = True + ' + 'EditButton + ' + resources.ApplyResources(Me.EditButton, "EditButton") + Me.EditButton.Name = "EditButton" + Me.EditButton.UseVisualStyleBackColor = True + ' + 'AddButton + ' + resources.ApplyResources(Me.AddButton, "AddButton") + Me.AddButton.Name = "AddButton" + Me.AddButton.UseVisualStyleBackColor = True + ' + 'HistoryHashList + ' + Me.HistoryHashList.FormattingEnabled = True + resources.ApplyResources(Me.HistoryHashList, "HistoryHashList") + Me.HistoryHashList.Name = "HistoryHashList" + Me.HistoryHashList.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended + ' + 'UseHashText + ' + resources.ApplyResources(Me.UseHashText, "UseHashText") + Me.UseHashText.Name = "UseHashText" + ' + 'Label1 + ' + resources.ApplyResources(Me.Label1, "Label1") + Me.Label1.Name = "Label1" + ' + 'CheckPermanent + ' + resources.ApplyResources(Me.CheckPermanent, "CheckPermanent") + Me.CheckPermanent.Name = "CheckPermanent" + Me.CheckPermanent.UseVisualStyleBackColor = True + ' + 'GroupDetail + ' + Me.GroupDetail.Controls.Add(Me.TableLayoutPanel2) + Me.GroupDetail.Controls.Add(Me.UseHashText) + Me.GroupDetail.Controls.Add(Me.Label1) + resources.ApplyResources(Me.GroupDetail, "GroupDetail") + Me.GroupDetail.Name = "GroupDetail" + Me.GroupDetail.TabStop = False + ' + 'TableLayoutPanel2 + ' + resources.ApplyResources(Me.TableLayoutPanel2, "TableLayoutPanel2") + Me.TableLayoutPanel2.Controls.Add(Me.PermOK_Button, 0, 0) + Me.TableLayoutPanel2.Controls.Add(Me.PermCancel_Button, 1, 0) + Me.TableLayoutPanel2.Name = "TableLayoutPanel2" + ' + 'PermOK_Button + ' + resources.ApplyResources(Me.PermOK_Button, "PermOK_Button") + Me.PermOK_Button.Name = "PermOK_Button" + ' + 'PermCancel_Button + ' + resources.ApplyResources(Me.PermCancel_Button, "PermCancel_Button") + Me.PermCancel_Button.Name = "PermCancel_Button" + ' + 'Label3 + ' + resources.ApplyResources(Me.Label3, "Label3") + Me.Label3.Name = "Label3" + ' + 'RadioLast + ' + resources.ApplyResources(Me.RadioLast, "RadioLast") + Me.RadioLast.Name = "RadioLast" + Me.RadioLast.TabStop = True + Me.RadioLast.UseVisualStyleBackColor = True + ' + 'RadioHead + ' + resources.ApplyResources(Me.RadioHead, "RadioHead") + Me.RadioHead.Name = "RadioHead" + Me.RadioHead.TabStop = True + Me.RadioHead.UseVisualStyleBackColor = True + ' + 'UnSelectButton + ' + resources.ApplyResources(Me.UnSelectButton, "UnSelectButton") + Me.UnSelectButton.Name = "UnSelectButton" + Me.UnSelectButton.UseVisualStyleBackColor = True + ' + 'GroupHashtag + ' + Me.GroupHashtag.Controls.Add(Me.HistoryHashList) + Me.GroupHashtag.Controls.Add(Me.Label3) + Me.GroupHashtag.Controls.Add(Me.UnSelectButton) + Me.GroupHashtag.Controls.Add(Me.RadioLast) + Me.GroupHashtag.Controls.Add(Me.DeleteButton) + Me.GroupHashtag.Controls.Add(Me.RadioHead) + Me.GroupHashtag.Controls.Add(Me.EditButton) + Me.GroupHashtag.Controls.Add(Me.AddButton) + Me.GroupHashtag.Controls.Add(Me.CheckPermanent) + resources.ApplyResources(Me.GroupHashtag, "GroupHashtag") + Me.GroupHashtag.Name = "GroupHashtag" + Me.GroupHashtag.TabStop = False + ' + 'HashtagManage + ' + resources.ApplyResources(Me, "$this") + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.Controls.Add(Me.GroupHashtag) + Me.Controls.Add(Me.GroupDetail) + Me.Controls.Add(Me.TableLayoutButtons) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog + Me.KeyPreview = True + Me.MaximizeBox = False + Me.MinimizeBox = False + Me.Name = "HashtagManage" + Me.ShowInTaskbar = False + Me.TopMost = True + Me.TableLayoutButtons.ResumeLayout(False) + Me.GroupDetail.ResumeLayout(False) + Me.GroupDetail.PerformLayout() + Me.TableLayoutPanel2.ResumeLayout(False) + Me.GroupHashtag.ResumeLayout(False) + Me.GroupHashtag.PerformLayout() + Me.ResumeLayout(False) + + End Sub + Friend WithEvents TableLayoutButtons As System.Windows.Forms.TableLayoutPanel + Friend WithEvents DeleteButton As System.Windows.Forms.Button + Friend WithEvents EditButton As System.Windows.Forms.Button + Friend WithEvents AddButton As System.Windows.Forms.Button + Friend WithEvents HistoryHashList As System.Windows.Forms.ListBox + Friend WithEvents UseHashText As System.Windows.Forms.TextBox + Friend WithEvents Label1 As System.Windows.Forms.Label + Friend WithEvents CheckPermanent As System.Windows.Forms.CheckBox + Friend WithEvents GroupDetail As System.Windows.Forms.GroupBox + Friend WithEvents RadioLast As System.Windows.Forms.RadioButton + Friend WithEvents RadioHead As System.Windows.Forms.RadioButton + Friend WithEvents Label3 As System.Windows.Forms.Label + Friend WithEvents TableLayoutPanel2 As System.Windows.Forms.TableLayoutPanel + Friend WithEvents PermOK_Button As System.Windows.Forms.Button + Friend WithEvents PermCancel_Button As System.Windows.Forms.Button + Friend WithEvents UnSelectButton As System.Windows.Forms.Button + Friend WithEvents Cancel_Button As System.Windows.Forms.Button + Friend WithEvents OK_Button As System.Windows.Forms.Button + Friend WithEvents GroupHashtag As System.Windows.Forms.GroupBox + +End Class Added: branches/UserStream/Tween/HashtagManage.en.resx =================================================================== --- branches/UserStream/Tween/HashtagManage.en.resx (rev 0) +++ branches/UserStream/Tween/HashtagManage.en.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,175 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Cancel + + + &Delete + + + &Edit + + + &Add + + + + 86, 12 + + + Using Hash&tags + + + 83, 16 + + + A&lways add + + + Detail + + + Cancel + + + 76, 12 + + + I&nsert Postion + + + 45, 16 + + + Last + + + 49, 16 + + + Head + + + Not &Use + + + Hashtags + + \ No newline at end of file Added: branches/UserStream/Tween/HashtagManage.resx =================================================================== --- branches/UserStream/Tween/HashtagManage.resx (rev 0) +++ branches/UserStream/Tween/HashtagManage.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,702 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + Bottom, Right + + + + 2 + + + None + + + NoControl + + + + 78, 3 + + + 67, 21 + + + 1 + + + ????潟???/value> + + + Cancel_Button + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TableLayoutButtons + + + 0 + + + None + + + NoControl + + + 4, 3 + + + 66, 21 + + + 0 + + + OK + + + OK_Button + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TableLayoutButtons + + + 1 + + + 214, 361 + + + 1 + + + 149, 27 + + + 2 + + + TableLayoutButtons + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 2 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="Cancel_Button" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="OK_Button" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Absolute,75,AutoSize,0" /><Rows Styles="Percent,100" /></TableLayoutSettings> + + + 240, 100 + + + 105, 29 + + + 3 + + + ???(&D) + + + DeleteButton + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupHashtag + + + 4 + + + 240, 53 + + + 105, 29 + + + 2 + + + 膩??(&E) + + + EditButton + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupHashtag + + + 6 + + + NoControl + + + 240, 18 + + + 105, 29 + + + 1 + + + ?域?(&N) + + + AddButton + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupHashtag + + + 7 + + + 12 + + + 6, 18 + + + 228, 232 + + + 0 + + + HistoryHashList + + + System.Windows.Forms.ListBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupHashtag + + + 0 + + + 97, 18 + + + 235, 19 + + + 1 + + + UseHashText + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupDetail + + + 1 + + + True + + + 10, 21 + + + 72, 12 + + + 0 + + + ?????ャ???&T) + + + Label1 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupDetail + + + 2 + + + True + + + 240, 188 + + + 84, 16 + + + 5 + + + 絽吾?篁??(&P) + + + CheckPermanent + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupHashtag + + + 8 + + + TableLayoutPanel2 + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupDetail + + + 0 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="PermOK_Button" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="PermCancel_Button" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="Percent,50,Percent,50" /><Rows Styles="Percent,50" /></TableLayoutSettings> + + + 12, 264 + + + 351, 76 + + + 1 + + + 荅括完 + + + GroupDetail + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + + + Bottom, Right + + + 2 + + + PermOK_Button + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TableLayoutPanel2 + + + 0 + + + PermCancel_Button + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TableLayoutPanel2 + + + 1 + + + 199, 43 + + + 1 + + + 146, 27 + + + 2 + + + TableLayoutPanel2 + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupDetail + + + 0 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="PermOK_Button" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="PermCancel_Button" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="Percent,50,Percent,50" /><Rows Styles="Percent,50" /></TableLayoutSettings> + + + None + + + NoControl + + + 3, 3 + + + 67, 21 + + + 0 + + + OK + + + PermOK_Button + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TableLayoutPanel2 + + + 0 + + + None + + + NoControl + + + 76, 3 + + + 67, 21 + + + 1 + + + ????潟???/value> + + + PermCancel_Button + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TableLayoutPanel2 + + + 1 + + + True + + + NoControl + + + 238, 213 + + + 45, 12 + + + 6 + + + 篏?舟(&N) + + + Label3 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupHashtag + + + 1 + + + True + + + 293, 228 + + + 47, 16 + + + 8 + + + ??? + + + RadioLast + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupHashtag + + + 3 + + + True + + + 240, 228 + + + 47, 16 + + + 7 + + + ??? + + + RadioHead + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupHashtag + + + 5 + + + NoControl + + + 240, 149 + + + 105, 29 + + + 4 + + + ??戎??&U) + + + UnSelectButton + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupHashtag + + + 2 + + + 12, 3 + + + 351, 255 + + + 0 + + + ?????ャ???/value> + + + GroupHashtag + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + + + True + + + 6, 12 + + + 375, 400 + + + CenterParent + + + HashtagManage + + + HashtagManage + + + System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file Added: branches/UserStream/Tween/HashtagManage.vb =================================================================== --- branches/UserStream/Tween/HashtagManage.vb (rev 0) +++ branches/UserStream/Tween/HashtagManage.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,347 @@ +鏤? Tween - Client of Twitter +' Copyright (c) 2007-2010 kiri_feather (@kiri_feather) +' (c) 2008-2010 Moz (@syo68k) +' (c) 2008-2010 takeshik (@takeshik) +' All rights reserved. +' +' This file is part of Tween. +' +' This program is free software; you can redistribute it and/or modify it +' under the terms of the GNU General Public License as published by the Free +' Software Foundation; either version 3 of the License, or (at your option) +' any later version. +' +' This program is distributed in the hope that it will be useful, but +' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +' for more details. +' +' You should have received a copy of the GNU General Public License along +' with this program. If not, see , or write to +' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, +' Boston, MA 02110-1301, USA. +Imports System.Windows.Forms + +Public Class HashtagManage + '?ュ?茖???脂? + Private _hashSupl As AtIdSupplement + 'I/F??+ Private _useHash As String = "" + Private _isPermanent As Boolean = False + Private _isHead As Boolean = False + '膩???≪???+ Private _isAdd As Boolean = False + + Private Sub ChangeMode(ByVal isEdit As Boolean) + Me.GroupHashtag.Enabled = Not isEdit + Me.GroupDetail.Enabled = isEdit + Me.TableLayoutButtons.Enabled = Not isEdit + If isEdit Then + Me.UseHashText.Focus() + Else + Me.HistoryHashList.Focus() + End If + End Sub + + Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click + Me.DialogResult = System.Windows.Forms.DialogResult.Cancel + Me.Close() + End Sub + + Private Sub AddButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AddButton.Click + Me.UseHashText.Text = "" + ChangeMode(True) + _isAdd = True + End Sub + + Private Sub EditButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EditButton.Click + If Me.HistoryHashList.SelectedIndices.Count = 0 Then Exit Sub + Me.UseHashText.Text = Me.HistoryHashList.SelectedItems(0).ToString() + ChangeMode(True) + _isAdd = False + End Sub + + Private Sub DeleteButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DeleteButton.Click + If Me.HistoryHashList.SelectedIndices.Count = 0 Then Exit Sub + If MessageBox.Show(My.Resources.DeleteHashtagsMessage1, _ + "Delete Hashtags", _ + MessageBoxButtons.OKCancel, _ + MessageBoxIcon.Question) = Windows.Forms.DialogResult.Cancel Then + Exit Sub + End If + For i As Integer = 0 To HistoryHashList.SelectedIndices.Count - 1 + If UseHashText.Text = HistoryHashList.SelectedItems(0).ToString Then UseHashText.Text = "" + HistoryHashList.Items.RemoveAt(HistoryHashList.SelectedIndices(0)) + Next + If HistoryHashList.Items.Count > 0 Then + HistoryHashList.SelectedIndex = 0 + End If + End Sub + + Private Sub UnSelectButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UnSelectButton.Click + HistoryHashList.SelectedIndices.Clear() + End Sub + + Private Function GetIndexOf(ByVal list As ListBox.ObjectCollection, ByVal value As String) As Integer + + If String.IsNullOrEmpty(value) Then Return -1 + + Dim idx As Integer = 0 + + For Each l As Object In list + Dim src As String = TryCast(l, String) + If String.IsNullOrEmpty(src) Then + idx += 1 + Continue For + End If + If String.Compare(src, value, True) = 0 Then + Return idx + End If + idx += 1 + Next + + ' Not Found + Return -1 + End Function + + Public Sub AddHashToHistory(ByVal hash As String, ByVal isIgnorePermanent As Boolean) + hash = hash.Trim + If hash <> "" Then + If isIgnorePermanent OrElse Not _isPermanent Then + '?≧?篁吟?????????+ Dim idx As Integer = GetIndexOf(HistoryHashList.Items, hash) + + If idx <> -1 Then HistoryHashList.Items.RemoveAt(idx) + HistoryHashList.Items.Insert(0, hash) + Else + '?阪??????????2茵???????+ Dim idx As Integer = GetIndexOf(HistoryHashList.Items, hash) + If _isPermanent Then + If idx > 0 Then + '????≪??????茵??篁ラ???????2茵????+ HistoryHashList.Items.RemoveAt(idx) + HistoryHashList.Items.Insert(1, hash) + ElseIf idx = -1 Then + '????≪??????? + If HistoryHashList.Items.Count = 0 Then + '??????腥冴???申??+ HistoryHashList.Items.Add(hash) + Else + '???????≪??????????2茵????+ HistoryHashList.Items.Insert(1, hash) + End If + End If + End If + End If + End If + End Sub + + Private Sub HashtagManage_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown + '????激???+ Me.CheckPermanent.Checked = Me._isPermanent + Me.RadioHead.Checked = Me._isHead + Me.RadioLast.Checked = Not Me._isHead + '????????+ If Me.HistoryHashList.Items.Contains(Me._useHash) Then + Me.HistoryHashList.SelectedItem = Me._useHash + Else + If Me.HistoryHashList.Items.Count > 0 Then + Me.HistoryHashList.SelectedIndex = 0 + End If + End If + Me.ChangeMode(False) + End Sub + + Public Sub New(ByVal hashSuplForm As AtIdSupplement, ByVal history() As String, ByVal permanentHash As String, ByVal IsPermanent As Boolean, ByVal IsHead As Boolean) + + ' ????若??冴????Windows ????若? ????ゃ??у?荀????? + InitializeComponent() + + ' InitializeComponent() ?若??冴?????у??????申????障???+ + _hashSupl = hashSuplForm + HistoryHashList.Items.AddRange(history) + _useHash = permanentHash + _isPermanent = IsPermanent + _isHead = IsHead + End Sub + + Private Sub UseHashText_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles UseHashText.KeyPress + If e.KeyChar = "#" Then + _hashSupl.ShowDialog() + If _hashSupl.inputText <> "" Then + Dim fHalf As String = "" + Dim eHalf As String = "" + Dim selStart As Integer = UseHashText.SelectionStart + If selStart > 0 Then + fHalf = UseHashText.Text.Substring(0, selStart) + End If + If selStart < UseHashText.Text.Length Then + eHalf = UseHashText.Text.Substring(selStart) + End If + UseHashText.Text = fHalf + _hashSupl.inputText + eHalf + UseHashText.SelectionStart = selStart + _hashSupl.inputText.Length + End If + e.Handled = True + End If + End Sub + + Private Sub HistoryHashList_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles HistoryHashList.DoubleClick + Me.OK_Button_Click(Nothing, Nothing) + End Sub + + Public Sub ToggleHash() + If Me._useHash = "" Then + If Me.HistoryHashList.Items.Count > 0 Then + Me._useHash = Me.HistoryHashList.Items(0).ToString + End If + Else + Me._useHash = "" + End If + End Sub + + Public ReadOnly Property HashHistories() As List(Of String) + Get + Dim hash As New List(Of String) + For Each item As String In HistoryHashList.Items + hash.Add(item) + Next + Return hash + End Get + End Property + + Public ReadOnly Property UseHash() As String + Get + Return _useHash + End Get + End Property + + Public Sub ClearHashtag() + Me._useHash = "" + End Sub + + Public Sub SetPermanentHash(ByVal hash As String) + '?阪??????ャ??違?紊?? + _useHash = hash.Trim + Me.AddHashToHistory(_useHash, False) + Me._isPermanent = True + End Sub + + Public ReadOnly Property IsPermanent() As Boolean + Get + Return _isPermanent + End Get + End Property + + Public ReadOnly Property IsHead() As Boolean + Get + Return _isHead + End Get + End Property + + Private Sub PermOK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PermOK_Button.Click + '?????ャ??違??翫就 + Dim hashStr As String = UseHashText.Text + If Not Me.AdjustHashtags(hashStr, True) Then Exit Sub + + UseHashText.Text = hashStr + Dim idx As Integer = 0 + If Not Me._isAdd AndAlso Me.HistoryHashList.SelectedIndices.Count > 0 Then + idx = Me.HistoryHashList.SelectedIndices(0) + Me.HistoryHashList.Items.RemoveAt(idx) + Me.HistoryHashList.SelectedIndices.Clear() + Me.HistoryHashList.Items.Insert(idx, hashStr) + Me.HistoryHashList.SelectedIndex = idx + Else + Me.AddHashToHistory(hashStr, False) + Me.HistoryHashList.SelectedIndices.Clear() + Me.HistoryHashList.SelectedIndex = Me.HistoryHashList.Items.IndexOf(hashStr) + End If + + ChangeMode(False) + End Sub + + Private Sub PermCancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PermCancel_Button.Click + If Me.HistoryHashList.Items.Count > 0 AndAlso Me.HistoryHashList.SelectedIndices.Count > 0 Then + Me.UseHashText.Text = Me.HistoryHashList.Items(Me.HistoryHashList.SelectedIndices(0)).ToString + Else + Me.UseHashText.Text = "" + End If + + ChangeMode(False) + End Sub + + Private Sub HistoryHashList_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles HistoryHashList.KeyDown + If e.KeyCode = Keys.Delete Then + Me.DeleteButton_Click(Nothing, Nothing) + ElseIf e.KeyCode = Keys.Insert Then + Me.AddButton_Click(Nothing, Nothing) + End If + End Sub + + Private Function AdjustHashtags(ByRef hashtag As String, ByVal isShowWarn As Boolean) As Boolean + '?????ャ??違??翫就 + hashtag = hashtag.Trim + If hashtag = "" Then + If isShowWarn Then MessageBox.Show("emply hashtag.", "Hashtag warning", MessageBoxButtons.OK, MessageBoxIcon.Asterisk) + Return False + End If + hashtag = hashtag.Replace("鐚?, "#") + hashtag = hashtag.Replace("??, " ") + Dim adjust As String = "" + For Each hash As String In hashtag.Split(" "c) + If hash.Length > 0 Then + If Not hash.StartsWith("#") Then + If isShowWarn Then MessageBox.Show("Invalid hashtag. -> " + hash, "Hashtag warning", MessageBoxButtons.OK, MessageBoxIcon.Asterisk) + Return False + End If + If hash.Length = 1 Then + If isShowWarn Then MessageBox.Show("empty hashtag.", "Hashtag warning", MessageBoxButtons.OK, MessageBoxIcon.Asterisk) + Return False + End If + '篏睡?筝?????????????????? + adjust += hash + " " + End If + Next + hashtag = adjust.Trim + Return True + End Function + + Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click + Dim hash As String = "" + For Each hs As String In Me.HistoryHashList.SelectedItems + hash += hs + " " + Next + hash = hash.Trim + If hash <> "" Then + Me.AddHashToHistory(hash, True) + Me._isPermanent = Me.CheckPermanent.Checked + Else + '篏睡??????ャ?????????????絎??????с?紊?? + Me._isPermanent = False + End If + Me._isHead = Me.RadioHead.Checked + Me._useHash = hash + + Me.DialogResult = Windows.Forms.DialogResult.OK + Me.Close() + End Sub + + Private Sub HashtagManage_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown + If e.KeyCode = Keys.Enter Then + e.Handled = True + If Me.GroupDetail.Enabled Then + Me.PermOK_Button_Click(Nothing, Nothing) + Else + Me.OK_Button_Click(Nothing, Nothing) + End If + ElseIf e.KeyCode = Keys.Escape Then + e.Handled = True + If Me.GroupDetail.Enabled Then + Me.PermCancel_Button_Click(Nothing, Nothing) + Else + Me.Cancel_Button_Click(Nothing, Nothing) + End If + End If + End Sub +End Class Added: branches/UserStream/Tween/HashtagManage.zh-CHS.resx =================================================================== --- branches/UserStream/Tween/HashtagManage.zh-CHS.resx (rev 0) +++ branches/UserStream/Tween/HashtagManage.zh-CHS.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ??? + + + 隋?? + + + ???(&D) + + + 膽??(&E) + + + ?医産(&N) + + + + 47, 12 + + + ???(&T) + + + ?紙????(&P) + + + 篆?? + + + ?上? + + + 莚?? + + + ??鮎 + + + 綣?ご + + + 胼??(&U) + + + Hash Tag + + \ No newline at end of file Added: branches/UserStream/Tween/HookGlobalHotkey.vb =================================================================== --- branches/UserStream/Tween/HookGlobalHotkey.vb (rev 0) +++ branches/UserStream/Tween/HookGlobalHotkey.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,128 @@ +'??????????????????????????????? +'?????????withevents?????HotkeyPressed??????????? +'???????????RegisterOriginalHotkey?????????????????`?????????????? +'??????UnregisterAllOriginalHotkey????? + +Public Class HookGlobalHotkey + Inherits NativeWindow + Implements IDisposable + + Private _targetForm As Form + Private Class KeyEventValue + + Dim _keyEvent As KeyEventArgs + Dim _value As Integer + + Public Sub New(ByVal keyEvent As KeyEventArgs, ByVal Value As Integer) + _keyEvent = keyEvent + _value = Value + End Sub + + Public ReadOnly Property KeyEvent As KeyEventArgs + Get + Return _keyEvent + End Get + End Property + Public ReadOnly Property Value As Integer + Get + Return _value + End Get + End Property + End Class + + Private _hotkeyID As Dictionary(Of Integer, KeyEventValue) + + _ + Public Enum ModKeys As Integer + None = 0 + Alt = &H1 + Ctrl = &H2 + Shift = &H4 + Win = &H8 + End Enum + + Public Event HotkeyPressed As KeyEventHandler + + Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message) + Const WM_HOTKEY As Integer = &H312 + If m.Msg = WM_HOTKEY Then + If _hotkeyID.ContainsKey(m.WParam.ToInt32) Then RaiseEvent HotkeyPressed(Me, _hotkeyID(m.WParam.ToInt32).KeyEvent) + Exit Sub + End If + MyBase.WndProc(m) + End Sub + + Public Sub New(ByVal targetForm As Form) + _targetForm = targetForm + _hotkeyID = New Dictionary(Of Integer, KeyEventValue) + + AddHandler _targetForm.HandleCreated, AddressOf Me.OnHandleCreated + AddHandler _targetForm.HandleDestroyed, AddressOf Me.OnHandleDestroyed + End Sub + + Public Sub OnHandleCreated(ByVal sender As Object, ByVal e As EventArgs) + Me.AssignHandle(_targetForm.Handle) + End Sub + + Public Sub OnHandleDestroyed(ByVal sender As Object, ByVal e As EventArgs) + Me.ReleaseHandle() + End Sub + + Public Function RegisterOriginalHotkey(ByVal hotkey As Keys, ByVal hotkeyValue As Integer, ByVal modifiers As ModKeys) As Boolean + Dim modKey As Keys = Keys.None + If (modifiers And ModKeys.Alt) = ModKeys.Alt Then modKey = modKey Or Keys.Alt + If (modifiers And ModKeys.Ctrl) = ModKeys.Ctrl Then modKey = modKey Or Keys.Control + If (modifiers And ModKeys.Shift) = ModKeys.Shift Then modKey = modKey Or Keys.Shift + If (modifiers And ModKeys.Win) = ModKeys.Win Then modKey = modKey Or Keys.LWin + Dim key As New KeyEventArgs(hotkey Or modKey) + For Each kvp As KeyValuePair(Of Integer, KeyEventValue) In Me._hotkeyID + If kvp.Value.KeyEvent.KeyData = key.KeyData AndAlso kvp.Value.Value = hotkeyValue Then Return True '????????I? + Next + Dim hotkeyId As Integer = RegisterGlobalHotKey(hotkeyValue, modifiers, Me._targetForm) + If hotkeyId > 0 Then + Me._hotkeyID.Add(hotkeyId, New KeyEventValue(key, hotkeyValue)) + Return True + End If + Return False + End Function + + Public Sub UnregisterAllOriginalHotkey() + For Each hotkeyId As Integer In Me._hotkeyID.Keys + UnregisterGlobalHotKey(hotkeyId, Me._targetForm) + Next + Me._hotkeyID.Clear() + End Sub + + Private disposedValue As Boolean = False ' ??????o????????+ + ' IDisposable + Protected Overridable Sub Dispose(ByVal disposing As Boolean) + If Not Me.disposedValue Then + If disposing Then + ' TODO: ?ヲ???????????}??? ?????????? + End If + + ' TODO: ????????? ?????????? + If Me._targetForm IsNot Nothing AndAlso Not Me._targetForm.IsDisposed Then + Me.UnregisterAllOriginalHotkey() + RemoveHandler _targetForm.HandleCreated, AddressOf Me.OnHandleCreated + RemoveHandler _targetForm.HandleDestroyed, AddressOf Me.OnHandleDestroyed + End If + End If + Me.disposedValue = True + End Sub + +#Region " IDisposable Support " + ' ????????????????????タ??????? Visual Basic ???????????? + Public Sub Dispose() Implements IDisposable.Dispose + ' ???????????????????????? ??????Dispose(ByVal disposing As Boolean) ??????B + Dispose(True) + GC.SuppressFinalize(Me) + End Sub +#End Region + + Protected Overrides Sub Finalize() + Me.Dispose(False) + MyBase.Finalize() + End Sub +End Class Added: branches/UserStream/Tween/InputTabName.Designer.vb =================================================================== --- branches/UserStream/Tween/InputTabName.Designer.vb (rev 0) +++ branches/UserStream/Tween/InputTabName.Designer.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,138 @@ +鏤?ption Strict On + _ +Partial Class InputTabName + Inherits System.Windows.Forms.Form + + '????若?????潟??若??潟????荀с?????若??≪?????????? dispose ????若??若??ゃ??????? + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Windows ????若? ????ゃ??у?荀????? + Private components As System.ComponentModel.IContainer + + '?<?: 篁ヤ????????若??c? Windows ????若? ????ゃ??у?荀????? + 'Windows ????若? ????ゃ???戎???????眼??????? + '?潟???????c???戎?c?紊??????????????? + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(InputTabName)) + Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel + Me.OK_Button = New System.Windows.Forms.Button + Me.Cancel_Button = New System.Windows.Forms.Button + Me.LabelDescription = New System.Windows.Forms.Label + Me.TextTabName = New System.Windows.Forms.TextBox + Me.LabelUsage = New System.Windows.Forms.Label + Me.ComboUsage = New System.Windows.Forms.ComboBox + Me.TableLayoutPanel1.SuspendLayout() + Me.SuspendLayout() + ' + 'TableLayoutPanel1 + ' + Me.TableLayoutPanel1.AccessibleDescription = Nothing + Me.TableLayoutPanel1.AccessibleName = Nothing + resources.ApplyResources(Me.TableLayoutPanel1, "TableLayoutPanel1") + Me.TableLayoutPanel1.BackgroundImage = Nothing + Me.TableLayoutPanel1.Controls.Add(Me.OK_Button, 0, 0) + Me.TableLayoutPanel1.Controls.Add(Me.Cancel_Button, 1, 0) + Me.TableLayoutPanel1.Font = Nothing + Me.TableLayoutPanel1.Name = "TableLayoutPanel1" + ' + 'OK_Button + ' + Me.OK_Button.AccessibleDescription = Nothing + Me.OK_Button.AccessibleName = Nothing + resources.ApplyResources(Me.OK_Button, "OK_Button") + Me.OK_Button.BackgroundImage = Nothing + Me.OK_Button.Font = Nothing + Me.OK_Button.Name = "OK_Button" + ' + 'Cancel_Button + ' + Me.Cancel_Button.AccessibleDescription = Nothing + Me.Cancel_Button.AccessibleName = Nothing + resources.ApplyResources(Me.Cancel_Button, "Cancel_Button") + Me.Cancel_Button.BackgroundImage = Nothing + Me.Cancel_Button.DialogResult = System.Windows.Forms.DialogResult.Cancel + Me.Cancel_Button.Font = Nothing + Me.Cancel_Button.Name = "Cancel_Button" + ' + 'LabelDescription + ' + Me.LabelDescription.AccessibleDescription = Nothing + Me.LabelDescription.AccessibleName = Nothing + resources.ApplyResources(Me.LabelDescription, "LabelDescription") + Me.LabelDescription.Font = Nothing + Me.LabelDescription.Name = "LabelDescription" + ' + 'TextTabName + ' + Me.TextTabName.AccessibleDescription = Nothing + Me.TextTabName.AccessibleName = Nothing + resources.ApplyResources(Me.TextTabName, "TextTabName") + Me.TextTabName.BackgroundImage = Nothing + Me.TextTabName.Font = Nothing + Me.TextTabName.Name = "TextTabName" + ' + 'LabelUsage + ' + Me.LabelUsage.AccessibleDescription = Nothing + Me.LabelUsage.AccessibleName = Nothing + resources.ApplyResources(Me.LabelUsage, "LabelUsage") + Me.LabelUsage.Font = Nothing + Me.LabelUsage.Name = "LabelUsage" + ' + 'ComboUsage + ' + Me.ComboUsage.AccessibleDescription = Nothing + Me.ComboUsage.AccessibleName = Nothing + resources.ApplyResources(Me.ComboUsage, "ComboUsage") + Me.ComboUsage.BackgroundImage = Nothing + Me.ComboUsage.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList + Me.ComboUsage.Font = Nothing + Me.ComboUsage.FormattingEnabled = True + Me.ComboUsage.Name = "ComboUsage" + ' + 'InputTabName + ' + Me.AcceptButton = Me.OK_Button + Me.AccessibleDescription = Nothing + Me.AccessibleName = Nothing + resources.ApplyResources(Me, "$this") + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.BackgroundImage = Nothing + Me.CancelButton = Me.Cancel_Button + Me.Controls.Add(Me.ComboUsage) + Me.Controls.Add(Me.LabelUsage) + Me.Controls.Add(Me.TextTabName) + Me.Controls.Add(Me.LabelDescription) + Me.Controls.Add(Me.TableLayoutPanel1) + Me.Font = Nothing + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog + Me.Icon = Nothing + Me.MaximizeBox = False + Me.MinimizeBox = False + Me.Name = "InputTabName" + Me.ShowInTaskbar = False + Me.TopMost = True + Me.TableLayoutPanel1.ResumeLayout(False) + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents TableLayoutPanel1 As System.Windows.Forms.TableLayoutPanel + Friend WithEvents OK_Button As System.Windows.Forms.Button + Friend WithEvents Cancel_Button As System.Windows.Forms.Button + Friend WithEvents LabelDescription As System.Windows.Forms.Label + Friend WithEvents TextTabName As System.Windows.Forms.TextBox + Friend WithEvents LabelUsage As System.Windows.Forms.Label + Friend WithEvents ComboUsage As System.Windows.Forms.ComboBox + +End Class Added: branches/UserStream/Tween/InputTabName.en.resx =================================================================== --- branches/UserStream/Tween/InputTabName.en.resx (rev 0) +++ branches/UserStream/Tween/InputTabName.en.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,139 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Cancel + + + + 81, 12 + + + Input tab name + + + 50, 12 + + + Tab type + + + Input Tab Name + + \ No newline at end of file Added: branches/UserStream/Tween/InputTabName.resx =================================================================== --- branches/UserStream/Tween/InputTabName.resx (rev 0) +++ branches/UserStream/Tween/InputTabName.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,330 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + True + + + + 67, 21 + + + OK_Button + + + ????潟???/value> + + + $this + + + ComboUsage + + + + NoControl + + + TableLayoutPanel1 + + + 1 + + + 67, 21 + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 1 + + + 146, 27 + + + 12, 24 + + + 257, 19 + + + 3 + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + None + + + 148, 12 + + + None + + + 12, 9 + + + 12, 46 + + + True + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + Cancel_Button + + + Bottom, Right + + + OK + + + 76, 3 + + + 1 + + + System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + $this + + + 1 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ?帥????????ュ??????????? + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ?帥?腮?? + + + 280, 130 + + + 12, 61 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="OK_Button" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="Cancel_Button" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="Percent,50,Percent,50" /><Rows Styles="Percent,50" /></TableLayoutSettings> + + + 1 + + + 0 + + + 257, 20 + + + 2 + + + LabelDescription + + + TextTabName + + + 46, 12 + + + 2 + + + ?帥??????/value> + + + 0 + + + TableLayoutPanel1 + + + $this + + + CenterParent + + + 2 + + + 0 + + + 6, 12 + + + 3 + + + TableLayoutPanel1 + + + 0 + + + 4 + + + InputTabName + + + 3, 3 + + + 122, 92 + + + 4 + + + System.Windows.Forms.Label, 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 + + + LabelUsage + + + True + + \ No newline at end of file Added: branches/UserStream/Tween/InputTabName.vb =================================================================== --- branches/UserStream/Tween/InputTabName.vb (rev 0) +++ branches/UserStream/Tween/InputTabName.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,103 @@ +鏤? Tween - Client of Twitter +' Copyright (c) 2007-2010 kiri_feather (@kiri_feather) +' (c) 2008-2010 Moz (@syo68k) +' (c) 2008-2010 takeshik (@takeshik) +' All rights reserved. +' +' This file is part of Tween. +' +' This program is free software; you can redistribute it and/or modify it +' under the terms of the GNU General Public License as published by the Free +' Software Foundation; either version 3 of the License, or (at your option) +' any later version. +' +' This program is distributed in the hope that it will be useful, but +' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +' for more details. +' +' You should have received a copy of the GNU General Public License along +' with this program. If not, see , or write to +' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, +' Boston, MA 02110-1301, USA. + +Imports System.Windows.Forms + +Public Class InputTabName + + Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click + Me.DialogResult = System.Windows.Forms.DialogResult.OK + Me.Close() + End Sub + + Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click + TextTabName.Text = "" + Me.DialogResult = System.Windows.Forms.DialogResult.Cancel + Me.Close() + End Sub + + Public Property TabName() As String + Get + Return Me.TextTabName.Text.Trim() + End Get + Set(ByVal value As String) + TextTabName.Text = value.Trim() + End Set + End Property + + Public WriteOnly Property FormTitle() As String + Set(ByVal value As String) + Me.Text = value + End Set + End Property + + Public WriteOnly Property FormDescription() As String + Set(ByVal value As String) + Me.LabelDescription.Text = value + End Set + End Property + + Private _isShowUsage As Boolean + Public WriteOnly Property IsShowUsage() As Boolean + Set(ByVal value As Boolean) + _isShowUsage = value + End Set + End Property + + Private _usage As TabUsageType + Public ReadOnly Property Usage() As TabUsageType + Get + Return _usage + End Get + End Property + + Private Sub InputTabName_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load + Me.LabelUsage.Visible = False + Me.ComboUsage.Visible = False + Me.ComboUsage.Items.Add(My.Resources.InputTabName_Load1) + Me.ComboUsage.Items.Add("Lists") + Me.ComboUsage.Items.Add("PublicSearch") + Me.ComboUsage.SelectedIndex = 0 + End Sub + + Private Sub InputTabName_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown + ActiveControl = TextTabName + If _isShowUsage Then + Me.LabelUsage.Visible = True + Me.ComboUsage.Visible = True + End If + End Sub + + Private Sub ComboUsage_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboUsage.SelectedIndexChanged + Select Case ComboUsage.SelectedIndex + Case 0 + _usage = TabUsageType.UserDefined + Case 1 + _usage = TabUsageType.Lists + Case 2 + _usage = TabUsageType.PublicSearch + Case Else + _usage = TabUsageType.Undefined + End Select + End Sub +End Class Added: branches/UserStream/Tween/InputTabName.zh-CHS.resx =================================================================== --- branches/UserStream/Tween/InputTabName.zh-CHS.resx (rev 0) +++ branches/UserStream/Tween/InputTabName.zh-CHS.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,139 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 隋?? + + + ??? + + + + 101, 12 + + + 莚決??ユ?膈上?腱違? + + + ???膠糸? + + + 莨???????/value> + + \ No newline at end of file Added: branches/UserStream/Tween/ListAvailable.Designer.vb =================================================================== --- branches/UserStream/Tween/ListAvailable.Designer.vb (rev 0) +++ branches/UserStream/Tween/ListAvailable.Designer.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,191 @@ +鏤?Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ +Partial Class ListAvailable + Inherits System.Windows.Forms.Form + + '????若?????潟??若??潟????荀с?????若??≪?????????? dispose ????若??若??ゃ??????? + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Windows ????若? ????ゃ??у?荀????? + Private components As System.ComponentModel.IContainer + + '?<?: 篁ヤ????????若??c? Windows ????若? ????ゃ??у?荀????? + 'Windows ????若? ????ゃ???戎???????眼??????? + '?潟???????c???戎?c?紊??????????????? + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(ListAvailable)) + Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel() + Me.OK_Button = New System.Windows.Forms.Button() + Me.Cancel_Button = New System.Windows.Forms.Button() + Me.Label1 = New System.Windows.Forms.Label() + Me.UsernameLabel = New System.Windows.Forms.Label() + Me.NameLabel = New System.Windows.Forms.Label() + Me.Label4 = New System.Windows.Forms.Label() + Me.Label6 = New System.Windows.Forms.Label() + Me.StatusLabel = New System.Windows.Forms.Label() + Me.Label8 = New System.Windows.Forms.Label() + Me.MemberCountLabel = New System.Windows.Forms.Label() + Me.Label10 = New System.Windows.Forms.Label() + Me.SubscriberCountLabel = New System.Windows.Forms.Label() + Me.Label12 = New System.Windows.Forms.Label() + Me.DescriptionText = New System.Windows.Forms.TextBox() + Me.RefreshButton = New System.Windows.Forms.Button() + Me.ListsList = New System.Windows.Forms.ListBox() + Me.TableLayoutPanel1.SuspendLayout() + Me.SuspendLayout() + ' + 'TableLayoutPanel1 + ' + resources.ApplyResources(Me.TableLayoutPanel1, "TableLayoutPanel1") + Me.TableLayoutPanel1.Controls.Add(Me.OK_Button, 0, 0) + Me.TableLayoutPanel1.Controls.Add(Me.Cancel_Button, 1, 0) + Me.TableLayoutPanel1.Name = "TableLayoutPanel1" + ' + 'OK_Button + ' + resources.ApplyResources(Me.OK_Button, "OK_Button") + Me.OK_Button.Name = "OK_Button" + ' + 'Cancel_Button + ' + resources.ApplyResources(Me.Cancel_Button, "Cancel_Button") + Me.Cancel_Button.DialogResult = System.Windows.Forms.DialogResult.Cancel + Me.Cancel_Button.Name = "Cancel_Button" + ' + 'Label1 + ' + resources.ApplyResources(Me.Label1, "Label1") + Me.Label1.Name = "Label1" + ' + 'UsernameLabel + ' + Me.UsernameLabel.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + resources.ApplyResources(Me.UsernameLabel, "UsernameLabel") + Me.UsernameLabel.Name = "UsernameLabel" + ' + 'NameLabel + ' + Me.NameLabel.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + resources.ApplyResources(Me.NameLabel, "NameLabel") + Me.NameLabel.Name = "NameLabel" + ' + 'Label4 + ' + resources.ApplyResources(Me.Label4, "Label4") + Me.Label4.Name = "Label4" + ' + 'Label6 + ' + resources.ApplyResources(Me.Label6, "Label6") + Me.Label6.Name = "Label6" + ' + 'StatusLabel + ' + Me.StatusLabel.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + resources.ApplyResources(Me.StatusLabel, "StatusLabel") + Me.StatusLabel.Name = "StatusLabel" + ' + 'Label8 + ' + resources.ApplyResources(Me.Label8, "Label8") + Me.Label8.Name = "Label8" + ' + 'MemberCountLabel + ' + Me.MemberCountLabel.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + resources.ApplyResources(Me.MemberCountLabel, "MemberCountLabel") + Me.MemberCountLabel.Name = "MemberCountLabel" + ' + 'Label10 + ' + resources.ApplyResources(Me.Label10, "Label10") + Me.Label10.Name = "Label10" + ' + 'SubscriberCountLabel + ' + Me.SubscriberCountLabel.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + resources.ApplyResources(Me.SubscriberCountLabel, "SubscriberCountLabel") + Me.SubscriberCountLabel.Name = "SubscriberCountLabel" + ' + 'Label12 + ' + resources.ApplyResources(Me.Label12, "Label12") + Me.Label12.Name = "Label12" + ' + 'DescriptionText + ' + resources.ApplyResources(Me.DescriptionText, "DescriptionText") + Me.DescriptionText.Name = "DescriptionText" + Me.DescriptionText.ReadOnly = True + Me.DescriptionText.TabStop = False + ' + 'RefreshButton + ' + resources.ApplyResources(Me.RefreshButton, "RefreshButton") + Me.RefreshButton.Name = "RefreshButton" + ' + 'ListsList + ' + Me.ListsList.FormattingEnabled = True + resources.ApplyResources(Me.ListsList, "ListsList") + Me.ListsList.Name = "ListsList" + ' + 'ListAvailable + ' + Me.AcceptButton = Me.OK_Button + resources.ApplyResources(Me, "$this") + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.CancelButton = Me.Cancel_Button + Me.Controls.Add(Me.ListsList) + Me.Controls.Add(Me.RefreshButton) + Me.Controls.Add(Me.DescriptionText) + Me.Controls.Add(Me.SubscriberCountLabel) + Me.Controls.Add(Me.Label12) + Me.Controls.Add(Me.MemberCountLabel) + Me.Controls.Add(Me.Label10) + Me.Controls.Add(Me.StatusLabel) + Me.Controls.Add(Me.Label8) + Me.Controls.Add(Me.Label6) + Me.Controls.Add(Me.NameLabel) + Me.Controls.Add(Me.Label4) + Me.Controls.Add(Me.UsernameLabel) + Me.Controls.Add(Me.Label1) + Me.Controls.Add(Me.TableLayoutPanel1) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog + Me.MaximizeBox = False + Me.MinimizeBox = False + Me.Name = "ListAvailable" + Me.ShowInTaskbar = False + Me.TableLayoutPanel1.ResumeLayout(False) + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents TableLayoutPanel1 As System.Windows.Forms.TableLayoutPanel + Friend WithEvents OK_Button As System.Windows.Forms.Button + Friend WithEvents Cancel_Button As System.Windows.Forms.Button + Friend WithEvents Label1 As System.Windows.Forms.Label + Friend WithEvents UsernameLabel As System.Windows.Forms.Label + Friend WithEvents NameLabel As System.Windows.Forms.Label + Friend WithEvents Label4 As System.Windows.Forms.Label + Friend WithEvents Label6 As System.Windows.Forms.Label + Friend WithEvents StatusLabel As System.Windows.Forms.Label + Friend WithEvents Label8 As System.Windows.Forms.Label + Friend WithEvents MemberCountLabel As System.Windows.Forms.Label + Friend WithEvents Label10 As System.Windows.Forms.Label + Friend WithEvents SubscriberCountLabel As System.Windows.Forms.Label + Friend WithEvents Label12 As System.Windows.Forms.Label + Friend WithEvents DescriptionText As System.Windows.Forms.TextBox + Friend WithEvents RefreshButton As System.Windows.Forms.Button + Friend WithEvents ListsList As System.Windows.Forms.ListBox + +End Class Added: branches/UserStream/Tween/ListAvailable.en.resx =================================================================== --- branches/UserStream/Tween/ListAvailable.en.resx (rev 0) +++ branches/UserStream/Tween/ListAvailable.en.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,160 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Cancel + + + + 37, 12 + + + Owner + + + 24, 12 + + + List + + + 63, 12 + + + Description + + + 38, 12 + + + Status + + + 51, 12 + + + Members + + + 65, 12 + + + Subscribers + + \ No newline at end of file Added: branches/UserStream/Tween/ListAvailable.resx =================================================================== --- branches/UserStream/Tween/ListAvailable.resx (rev 0) +++ branches/UserStream/Tween/ListAvailable.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,597 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + Bottom, Right + + + + 2 + + + None + + + + 3, 3 + + + 67, 21 + + + 0 + + + OK + + + OK_Button + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TableLayoutPanel1 + + + 0 + + + None + + + 76, 3 + + + 67, 21 + + + 1 + + + ????潟???/value> + + + Cancel_Button + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TableLayoutPanel1 + + + 1 + + + 346, 253 + + + 1 + + + 146, 27 + + + 1 + + + TableLayoutPanel1 + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 14 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="OK_Button" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="Cancel_Button" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="Percent,50,Percent,50" /><Rows Styles="Percent,50" /></TableLayoutSettings> + + + True + + + 302, 12 + + + 41, 12 + + + 3 + + + 篏????/value> + + + Label1 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 13 + + + 318, 24 + + + 174, 14 + + + 4 + + + Label2 + + + UsernameLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 12 + + + 318, 50 + + + 174, 14 + + + 6 + + + Label3 + + + NameLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 10 + + + True + + + 302, 38 + + + 41, 12 + + + 5 + + + ?????? + + + Label4 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 11 + + + True + + + 302, 144 + + + 29, 12 + + + 13 + + + 茯?? + + + Label6 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 9 + + + 318, 76 + + + 174, 14 + + + 8 + + + Label7 + + + StatusLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 7 + + + True + + + 302, 64 + + + 29, 12 + + + 7 + + + 腮?? + + + Label8 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 8 + + + 318, 102 + + + 46, 14 + + + 10 + + + Label9 + + + TopRight + + + MemberCountLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 5 + + + True + + + 302, 90 + + + 53, 12 + + + 9 + + + ?脂???? + + + Label10 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 6 + + + 318, 130 + + + 46, 14 + + + 12 + + + Label11 + + + TopRight + + + SubscriberCountLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 3 + + + True + + + 302, 118 + + + 53, 12 + + + 11 + + + 莖取???? + + + Label12 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 4 + + + 318, 159 + + + True + + + 174, 88 + + + 14 + + + Description + + + DescriptionText + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 2 + + + None + + + 12, 256 + + + 67, 21 + + + 2 + + + Refresh + + + RefreshButton + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + + + 12 + + + 12, 12 + + + 284, 232 + + + 0 + + + ListsList + + + System.Windows.Forms.ListBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + + + True + + + 6, 12 + + + 504, 291 + + + CenterParent + + + ListAvailable + + + ListAvailable + + + System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file Added: branches/UserStream/Tween/ListAvailable.vb =================================================================== --- branches/UserStream/Tween/ListAvailable.vb (rev 0) +++ branches/UserStream/Tween/ListAvailable.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,92 @@ +Imports System.Windows.Forms +Imports System.ComponentModel + +Public Class ListAvailable + + Private _selectedList As ListElement = Nothing + Public ReadOnly Property SelectedList() As ListElement + Get + Return _selectedList + End Get + End Property + + Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click + If Me.ListsList.SelectedIndex > -1 Then + _selectedList = DirectCast(Me.ListsList.SelectedItem, ListElement) + Me.DialogResult = System.Windows.Forms.DialogResult.OK + Me.Close() + End If + End Sub + + Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click + _selectedList = Nothing + Me.DialogResult = System.Windows.Forms.DialogResult.Cancel + Me.Close() + End Sub + + Private Sub ListAvailable_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown + If TabInformations.GetInstance().SubscribableLists.Count = 0 Then Me.RefreshLists() + Me.ListsList.Items.AddRange(TabInformations.GetInstance.SubscribableLists.ToArray) + If Me.ListsList.Items.Count > 0 Then + Me.ListsList.SelectedIndex = 0 + Else + Me.UsernameLabel.Text = "" + Me.NameLabel.Text = "" + Me.StatusLabel.Text = "" + Me.MemberCountLabel.Text = "0" + Me.SubscriberCountLabel.Text = "0" + Me.DescriptionText.Text = "" + End If + End Sub + + Private Sub ListsList_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListsList.SelectedIndexChanged + Dim lst As ListElement + If Me.ListsList.SelectedIndex > -1 Then + lst = DirectCast(Me.ListsList.SelectedItem, ListElement) + Else + lst = Nothing + End If + If lst Is Nothing Then + Me.UsernameLabel.Text = "" + Me.NameLabel.Text = "" + Me.StatusLabel.Text = "" + Me.MemberCountLabel.Text = "0" + Me.SubscriberCountLabel.Text = "0" + Me.DescriptionText.Text = "" + Else + Me.UsernameLabel.Text = lst.Username + " / " + lst.Nickname + Me.NameLabel.Text = lst.Name + If lst.IsPublic Then + Me.StatusLabel.Text = "Public" + Else + Me.StatusLabel.Text = "Private" + End If + Me.MemberCountLabel.Text = lst.MemberCount.ToString("#,##0") + Me.SubscriberCountLabel.Text = lst.SubscriberCount.ToString("#,##0") + Me.DescriptionText.Text = lst.Description + End If + End Sub + + Private Sub RefreshButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RefreshButton.Click + Me.RefreshLists() + Me.ListsList.Items.Clear() + Me.ListsList.Items.AddRange(TabInformations.GetInstance.SubscribableLists.ToArray) + If Me.ListsList.Items.Count > 0 Then + Me.ListsList.SelectedIndex = 0 + End If + End Sub + + Private Sub RefreshLists() + Using dlg As New FormInfo(Me, "Getting Lists...", AddressOf RefreshLists_DoWork) + dlg.ShowDialog() + If Not String.IsNullOrEmpty(DirectCast(dlg.Result, String)) Then + MessageBox.Show("Failed to get lists. (" + DirectCast(dlg.Result, String) + ")") + Exit Sub + End If + End Using + End Sub + + Private Sub RefreshLists_DoWork(ByVal sender As Object, ByVal e As DoWorkEventArgs) + e.Result = DirectCast(Me.Owner, TweenMain).TwitterInstance.GetListsApi() + End Sub +End Class Added: branches/UserStream/Tween/ListAvailable.zh-CHS.resx =================================================================== --- branches/UserStream/Tween/ListAvailable.zh-CHS.resx (rev 0) +++ branches/UserStream/Tween/ListAvailable.zh-CHS.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,154 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 隋?? + + + ??? + + + ??産??/value> + + + + 41, 12 + + + ??;??/value> + + + ?颷?/value> + + + 膠糸? + + + ?恰絵篋堺? + + + 茴??羈?? + + + ?傑? + + + ?????; + + \ No newline at end of file Added: branches/UserStream/Tween/ListElement.vb =================================================================== --- branches/UserStream/Tween/ListElement.vb (rev 0) +++ branches/UserStream/Tween/ListElement.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,73 @@ +鏤?ublic Class ListElement + Public Id As Long = 0 + Public Name As String = "" + Public Description As String = "" + Public Slug As String = "" + Public IsPublic As Boolean = True + Public SubscriberCount As Integer = 0 '莖取???? + Public MemberCount As Integer = 0 '???????潟???+ Public UserId As Long = 0 + Public Username As String = "" + Public Nickname As String = "" + + Protected _tw As Twitter + + Private _members As List(Of UserInfo) = Nothing + Private _cursor As Long = -1 + + Public Sub New() + + End Sub + + Public Sub New(ByVal xmlNode As Xml.XmlNode, ByVal tw As Twitter) + Me.Description = xmlNode.Item("description").InnerText + Me.Id = Long.Parse(xmlNode.Item("id").InnerText) + Me.IsPublic = (xmlNode.Item("mode").InnerText = "public") + Me.MemberCount = Integer.Parse(xmlNode.Item("member_count").InnerText) + Me.Name = xmlNode.Item("name").InnerText + Me.SubscriberCount = Integer.Parse(xmlNode.Item("subscriber_count").InnerText) + Me.Slug = xmlNode.Item("slug").InnerText + Dim xUserEntry As Xml.XmlElement = CType(xmlNode.SelectSingleNode("./user"), Xml.XmlElement) + Me.Nickname = xUserEntry.Item("name").InnerText + Me.Username = xUserEntry.Item("screen_name").InnerText + Me.UserId = Long.Parse(xUserEntry.Item("id").InnerText) + + Me._tw = tw + End Sub + + Public Overridable Function Refresh() As String + Return _tw.EditList(Me.Id.ToString(), Name, Not Me.IsPublic, Me.Description, Me) + End Function + + + Public ReadOnly Property Members As List(Of UserInfo) + Get + If Me._members Is Nothing Then Me._members = New List(Of UserInfo) + Return Me._members + End Get + End Property + + + Public ReadOnly Property Cursor As Long + Get + Return _cursor + End Get + End Property + + Public Function RefreshMembers() As String + Dim users As New List(Of UserInfo)() + _cursor = -1 + Dim result As String = Me._tw.GetListMembers(Me.Id.ToString(), users, _cursor) + Me._members = users + Return If(String.IsNullOrEmpty(result), Me.ToString, result) + End Function + + Public Function GetMoreMembers() As String + Dim result As String = Me._tw.GetListMembers(Me.Id.ToString(), Me._members, _cursor) + Return If(String.IsNullOrEmpty(result), Me.ToString, result) + End Function + + Public Overrides Function ToString() As String + Return "@" + Username + "/" + Name + " [" + If(Me.IsPublic, "Public", "Protected") + "]" + End Function +End Class Added: branches/UserStream/Tween/ListManage.Designer.vb =================================================================== --- branches/UserStream/Tween/ListManage.Designer.vb (rev 0) +++ branches/UserStream/Tween/ListManage.Designer.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,454 @@ +鏤?Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ +Partial Class ListManage + Inherits System.Windows.Forms.Form + + '????若?????潟??若??潟????荀с?????若??≪?????????? dispose ????若??若??ゃ??????? + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Windows ????若? ????ゃ??若?綽???с???+ Private components As System.ComponentModel.IContainer + + '?<?: 篁ヤ????????若??c? Windows ????若? ????ゃ??若?綽???с???+ 'Windows ????若? ????ゃ??若?篏睡????紊???с??障??? + '?潟???????c??若?篏帥?????眼?????с??????? + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(ListManage)) + Me.ListsList = New System.Windows.Forms.ListBox() + Me.DescriptionText = New System.Windows.Forms.TextBox() + Me.Label12 = New System.Windows.Forms.Label() + Me.Label10 = New System.Windows.Forms.Label() + Me.Label6 = New System.Windows.Forms.Label() + Me.Label4 = New System.Windows.Forms.Label() + Me.Label1 = New System.Windows.Forms.Label() + Me.UserList = New System.Windows.Forms.ListBox() + Me.UserGroup = New System.Windows.Forms.GroupBox() + Me.UserTweetDateTime = New System.Windows.Forms.Label() + Me.UserIcon = New System.Windows.Forms.PictureBox() + Me.UserTweet = New System.Windows.Forms.Label() + Me.Label20 = New System.Windows.Forms.Label() + Me.DeleteUserButton = New System.Windows.Forms.Button() + Me.UserProfile = New System.Windows.Forms.Label() + Me.Label17 = New System.Windows.Forms.Label() + Me.UserPostsNum = New System.Windows.Forms.Label() + Me.Label15 = New System.Windows.Forms.Label() + Me.UserFollowerNum = New System.Windows.Forms.Label() + Me.Label13 = New System.Windows.Forms.Label() + Me.UserFollowNum = New System.Windows.Forms.Label() + Me.Label9 = New System.Windows.Forms.Label() + Me.UserWeb = New System.Windows.Forms.LinkLabel() + Me.Label8 = New System.Windows.Forms.Label() + Me.UserLocation = New System.Windows.Forms.Label() + Me.Label5 = New System.Windows.Forms.Label() + Me.AddListButton = New System.Windows.Forms.Button() + Me.DeleteListButton = New System.Windows.Forms.Button() + Me.GetMoreUsersButton = New System.Windows.Forms.Button() + Me.NameTextBox = New System.Windows.Forms.TextBox() + Me.UsernameTextBox = New System.Windows.Forms.TextBox() + Me.MemberCountTextBox = New System.Windows.Forms.TextBox() + Me.SubscriberCountTextBox = New System.Windows.Forms.TextBox() + Me.EditCheckBox = New System.Windows.Forms.CheckBox() + Me.GroupBox2 = New System.Windows.Forms.GroupBox() + Me.PrivateRadioButton = New System.Windows.Forms.RadioButton() + Me.PublicRadioButton = New System.Windows.Forms.RadioButton() + Me.OKEditButton = New System.Windows.Forms.Button() + Me.CancelEditButton = New System.Windows.Forms.Button() + Me.ListGroup = New System.Windows.Forms.GroupBox() + Me.RefreshUsersButton = New System.Windows.Forms.Button() + Me.RefreshListsButton = New System.Windows.Forms.Button() + Me.Label3 = New System.Windows.Forms.Label() + Me.CloseButton = New System.Windows.Forms.Button() + Me.MemberGroup = New System.Windows.Forms.GroupBox() + Me.UserGroup.SuspendLayout() + CType(Me.UserIcon, System.ComponentModel.ISupportInitialize).BeginInit() + Me.GroupBox2.SuspendLayout() + Me.ListGroup.SuspendLayout() + Me.MemberGroup.SuspendLayout() + Me.SuspendLayout() + ' + 'ListsList + ' + Me.ListsList.DisplayMember = "Name" + Me.ListsList.FormattingEnabled = True + resources.ApplyResources(Me.ListsList, "ListsList") + Me.ListsList.Name = "ListsList" + ' + 'DescriptionText + ' + resources.ApplyResources(Me.DescriptionText, "DescriptionText") + Me.DescriptionText.Name = "DescriptionText" + Me.DescriptionText.ReadOnly = True + ' + 'Label12 + ' + resources.ApplyResources(Me.Label12, "Label12") + Me.Label12.Name = "Label12" + ' + 'Label10 + ' + resources.ApplyResources(Me.Label10, "Label10") + Me.Label10.Name = "Label10" + ' + 'Label6 + ' + resources.ApplyResources(Me.Label6, "Label6") + Me.Label6.Name = "Label6" + ' + 'Label4 + ' + resources.ApplyResources(Me.Label4, "Label4") + Me.Label4.Name = "Label4" + ' + 'Label1 + ' + resources.ApplyResources(Me.Label1, "Label1") + Me.Label1.Name = "Label1" + ' + 'UserList + ' + Me.UserList.FormattingEnabled = True + resources.ApplyResources(Me.UserList, "UserList") + Me.UserList.Name = "UserList" + ' + 'UserGroup + ' + Me.UserGroup.Controls.Add(Me.UserTweetDateTime) + Me.UserGroup.Controls.Add(Me.UserIcon) + Me.UserGroup.Controls.Add(Me.UserTweet) + Me.UserGroup.Controls.Add(Me.Label20) + Me.UserGroup.Controls.Add(Me.DeleteUserButton) + Me.UserGroup.Controls.Add(Me.UserProfile) + Me.UserGroup.Controls.Add(Me.Label17) + Me.UserGroup.Controls.Add(Me.UserPostsNum) + Me.UserGroup.Controls.Add(Me.Label15) + Me.UserGroup.Controls.Add(Me.UserFollowerNum) + Me.UserGroup.Controls.Add(Me.Label13) + Me.UserGroup.Controls.Add(Me.UserFollowNum) + Me.UserGroup.Controls.Add(Me.Label9) + Me.UserGroup.Controls.Add(Me.UserWeb) + Me.UserGroup.Controls.Add(Me.Label8) + Me.UserGroup.Controls.Add(Me.UserLocation) + Me.UserGroup.Controls.Add(Me.Label5) + resources.ApplyResources(Me.UserGroup, "UserGroup") + Me.UserGroup.Name = "UserGroup" + Me.UserGroup.TabStop = False + ' + 'UserTweetDateTime + ' + resources.ApplyResources(Me.UserTweetDateTime, "UserTweetDateTime") + Me.UserTweetDateTime.Name = "UserTweetDateTime" + ' + 'UserIcon + ' + Me.UserIcon.BackColor = System.Drawing.Color.White + Me.UserIcon.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + resources.ApplyResources(Me.UserIcon, "UserIcon") + Me.UserIcon.Name = "UserIcon" + Me.UserIcon.TabStop = False + ' + 'UserTweet + ' + Me.UserTweet.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + resources.ApplyResources(Me.UserTweet, "UserTweet") + Me.UserTweet.Name = "UserTweet" + ' + 'Label20 + ' + resources.ApplyResources(Me.Label20, "Label20") + Me.Label20.Name = "Label20" + ' + 'DeleteUserButton + ' + resources.ApplyResources(Me.DeleteUserButton, "DeleteUserButton") + Me.DeleteUserButton.Name = "DeleteUserButton" + Me.DeleteUserButton.UseVisualStyleBackColor = True + ' + 'UserProfile + ' + Me.UserProfile.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + resources.ApplyResources(Me.UserProfile, "UserProfile") + Me.UserProfile.Name = "UserProfile" + ' + 'Label17 + ' + resources.ApplyResources(Me.Label17, "Label17") + Me.Label17.Name = "Label17" + ' + 'UserPostsNum + ' + Me.UserPostsNum.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + resources.ApplyResources(Me.UserPostsNum, "UserPostsNum") + Me.UserPostsNum.Name = "UserPostsNum" + ' + 'Label15 + ' + resources.ApplyResources(Me.Label15, "Label15") + Me.Label15.Name = "Label15" + ' + 'UserFollowerNum + ' + Me.UserFollowerNum.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + resources.ApplyResources(Me.UserFollowerNum, "UserFollowerNum") + Me.UserFollowerNum.Name = "UserFollowerNum" + ' + 'Label13 + ' + resources.ApplyResources(Me.Label13, "Label13") + Me.Label13.Name = "Label13" + ' + 'UserFollowNum + ' + Me.UserFollowNum.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + resources.ApplyResources(Me.UserFollowNum, "UserFollowNum") + Me.UserFollowNum.Name = "UserFollowNum" + ' + 'Label9 + ' + resources.ApplyResources(Me.Label9, "Label9") + Me.Label9.Name = "Label9" + ' + 'UserWeb + ' + Me.UserWeb.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + resources.ApplyResources(Me.UserWeb, "UserWeb") + Me.UserWeb.Name = "UserWeb" + Me.UserWeb.TabStop = True + ' + 'Label8 + ' + resources.ApplyResources(Me.Label8, "Label8") + Me.Label8.Name = "Label8" + ' + 'UserLocation + ' + Me.UserLocation.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + resources.ApplyResources(Me.UserLocation, "UserLocation") + Me.UserLocation.Name = "UserLocation" + ' + 'Label5 + ' + resources.ApplyResources(Me.Label5, "Label5") + Me.Label5.Name = "Label5" + ' + 'AddListButton + ' + resources.ApplyResources(Me.AddListButton, "AddListButton") + Me.AddListButton.Name = "AddListButton" + Me.AddListButton.UseVisualStyleBackColor = True + ' + 'DeleteListButton + ' + resources.ApplyResources(Me.DeleteListButton, "DeleteListButton") + Me.DeleteListButton.Name = "DeleteListButton" + Me.DeleteListButton.UseVisualStyleBackColor = True + ' + 'GetMoreUsersButton + ' + resources.ApplyResources(Me.GetMoreUsersButton, "GetMoreUsersButton") + Me.GetMoreUsersButton.Name = "GetMoreUsersButton" + Me.GetMoreUsersButton.UseVisualStyleBackColor = True + ' + 'NameTextBox + ' + resources.ApplyResources(Me.NameTextBox, "NameTextBox") + Me.NameTextBox.Name = "NameTextBox" + Me.NameTextBox.ReadOnly = True + ' + 'UsernameTextBox + ' + resources.ApplyResources(Me.UsernameTextBox, "UsernameTextBox") + Me.UsernameTextBox.Name = "UsernameTextBox" + Me.UsernameTextBox.ReadOnly = True + ' + 'MemberCountTextBox + ' + resources.ApplyResources(Me.MemberCountTextBox, "MemberCountTextBox") + Me.MemberCountTextBox.Name = "MemberCountTextBox" + Me.MemberCountTextBox.ReadOnly = True + ' + 'SubscriberCountTextBox + ' + resources.ApplyResources(Me.SubscriberCountTextBox, "SubscriberCountTextBox") + Me.SubscriberCountTextBox.Name = "SubscriberCountTextBox" + Me.SubscriberCountTextBox.ReadOnly = True + ' + 'EditCheckBox + ' + resources.ApplyResources(Me.EditCheckBox, "EditCheckBox") + Me.EditCheckBox.Name = "EditCheckBox" + Me.EditCheckBox.UseVisualStyleBackColor = True + ' + 'GroupBox2 + ' + Me.GroupBox2.Controls.Add(Me.PrivateRadioButton) + Me.GroupBox2.Controls.Add(Me.PublicRadioButton) + resources.ApplyResources(Me.GroupBox2, "GroupBox2") + Me.GroupBox2.Name = "GroupBox2" + Me.GroupBox2.TabStop = False + ' + 'PrivateRadioButton + ' + resources.ApplyResources(Me.PrivateRadioButton, "PrivateRadioButton") + Me.PrivateRadioButton.Name = "PrivateRadioButton" + Me.PrivateRadioButton.TabStop = True + Me.PrivateRadioButton.UseVisualStyleBackColor = True + ' + 'PublicRadioButton + ' + resources.ApplyResources(Me.PublicRadioButton, "PublicRadioButton") + Me.PublicRadioButton.Name = "PublicRadioButton" + Me.PublicRadioButton.TabStop = True + Me.PublicRadioButton.UseVisualStyleBackColor = True + ' + 'OKEditButton + ' + resources.ApplyResources(Me.OKEditButton, "OKEditButton") + Me.OKEditButton.Name = "OKEditButton" + Me.OKEditButton.UseVisualStyleBackColor = True + ' + 'CancelEditButton + ' + resources.ApplyResources(Me.CancelEditButton, "CancelEditButton") + Me.CancelEditButton.Name = "CancelEditButton" + Me.CancelEditButton.UseVisualStyleBackColor = True + ' + 'ListGroup + ' + Me.ListGroup.Controls.Add(Me.Label1) + Me.ListGroup.Controls.Add(Me.CancelEditButton) + Me.ListGroup.Controls.Add(Me.GroupBox2) + Me.ListGroup.Controls.Add(Me.OKEditButton) + Me.ListGroup.Controls.Add(Me.SubscriberCountTextBox) + Me.ListGroup.Controls.Add(Me.MemberCountTextBox) + Me.ListGroup.Controls.Add(Me.UsernameTextBox) + Me.ListGroup.Controls.Add(Me.NameTextBox) + Me.ListGroup.Controls.Add(Me.Label4) + Me.ListGroup.Controls.Add(Me.Label6) + Me.ListGroup.Controls.Add(Me.Label10) + Me.ListGroup.Controls.Add(Me.DescriptionText) + Me.ListGroup.Controls.Add(Me.Label12) + resources.ApplyResources(Me.ListGroup, "ListGroup") + Me.ListGroup.Name = "ListGroup" + Me.ListGroup.TabStop = False + ' + 'RefreshUsersButton + ' + resources.ApplyResources(Me.RefreshUsersButton, "RefreshUsersButton") + Me.RefreshUsersButton.Name = "RefreshUsersButton" + Me.RefreshUsersButton.UseVisualStyleBackColor = True + ' + 'RefreshListsButton + ' + resources.ApplyResources(Me.RefreshListsButton, "RefreshListsButton") + Me.RefreshListsButton.Name = "RefreshListsButton" + Me.RefreshListsButton.UseVisualStyleBackColor = True + ' + 'Label3 + ' + resources.ApplyResources(Me.Label3, "Label3") + Me.Label3.Name = "Label3" + ' + 'CloseButton + ' + Me.CloseButton.DialogResult = System.Windows.Forms.DialogResult.OK + resources.ApplyResources(Me.CloseButton, "CloseButton") + Me.CloseButton.Name = "CloseButton" + Me.CloseButton.UseVisualStyleBackColor = True + ' + 'MemberGroup + ' + Me.MemberGroup.Controls.Add(Me.UserList) + Me.MemberGroup.Controls.Add(Me.GetMoreUsersButton) + Me.MemberGroup.Controls.Add(Me.RefreshUsersButton) + resources.ApplyResources(Me.MemberGroup, "MemberGroup") + Me.MemberGroup.Name = "MemberGroup" + Me.MemberGroup.TabStop = False + ' + 'ListManage + ' + resources.ApplyResources(Me, "$this") + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.CancelButton = Me.CloseButton + Me.Controls.Add(Me.MemberGroup) + Me.Controls.Add(Me.CloseButton) + Me.Controls.Add(Me.Label3) + Me.Controls.Add(Me.RefreshListsButton) + Me.Controls.Add(Me.ListGroup) + Me.Controls.Add(Me.DeleteListButton) + Me.Controls.Add(Me.AddListButton) + Me.Controls.Add(Me.UserGroup) + Me.Controls.Add(Me.ListsList) + Me.Controls.Add(Me.EditCheckBox) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog + Me.MaximizeBox = False + Me.MinimizeBox = False + Me.Name = "ListManage" + Me.ShowInTaskbar = False + Me.TopMost = True + Me.UserGroup.ResumeLayout(False) + Me.UserGroup.PerformLayout() + CType(Me.UserIcon, System.ComponentModel.ISupportInitialize).EndInit() + Me.GroupBox2.ResumeLayout(False) + Me.GroupBox2.PerformLayout() + Me.ListGroup.ResumeLayout(False) + Me.ListGroup.PerformLayout() + Me.MemberGroup.ResumeLayout(False) + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents ListsList As System.Windows.Forms.ListBox + Friend WithEvents DescriptionText As System.Windows.Forms.TextBox + Friend WithEvents Label12 As System.Windows.Forms.Label + Friend WithEvents Label10 As System.Windows.Forms.Label + Friend WithEvents Label6 As System.Windows.Forms.Label + Friend WithEvents Label4 As System.Windows.Forms.Label + Friend WithEvents Label1 As System.Windows.Forms.Label + Friend WithEvents UserList As System.Windows.Forms.ListBox + Friend WithEvents UserGroup As System.Windows.Forms.GroupBox + Friend WithEvents AddListButton As System.Windows.Forms.Button + Friend WithEvents DeleteListButton As System.Windows.Forms.Button + Friend WithEvents GetMoreUsersButton As System.Windows.Forms.Button + Friend WithEvents DeleteUserButton As System.Windows.Forms.Button + Friend WithEvents NameTextBox As System.Windows.Forms.TextBox + Friend WithEvents UsernameTextBox As System.Windows.Forms.TextBox + Friend WithEvents MemberCountTextBox As System.Windows.Forms.TextBox + Friend WithEvents SubscriberCountTextBox As System.Windows.Forms.TextBox + Friend WithEvents EditCheckBox As System.Windows.Forms.CheckBox + Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox + Friend WithEvents PrivateRadioButton As System.Windows.Forms.RadioButton + Friend WithEvents PublicRadioButton As System.Windows.Forms.RadioButton + Friend WithEvents OKEditButton As System.Windows.Forms.Button + Friend WithEvents CancelEditButton As System.Windows.Forms.Button + Friend WithEvents ListGroup As System.Windows.Forms.GroupBox + Friend WithEvents RefreshUsersButton As System.Windows.Forms.Button + Friend WithEvents UserTweet As System.Windows.Forms.Label + Friend WithEvents Label20 As System.Windows.Forms.Label + Friend WithEvents UserProfile As System.Windows.Forms.Label + Friend WithEvents Label17 As System.Windows.Forms.Label + Friend WithEvents UserFollowerNum As System.Windows.Forms.Label + Friend WithEvents Label13 As System.Windows.Forms.Label + Friend WithEvents UserFollowNum As System.Windows.Forms.Label + Friend WithEvents Label9 As System.Windows.Forms.Label + Friend WithEvents UserWeb As System.Windows.Forms.LinkLabel + Friend WithEvents Label8 As System.Windows.Forms.Label + Friend WithEvents UserLocation As System.Windows.Forms.Label + Friend WithEvents Label5 As System.Windows.Forms.Label + Friend WithEvents RefreshListsButton As System.Windows.Forms.Button + Friend WithEvents UserIcon As System.Windows.Forms.PictureBox + Friend WithEvents Label3 As System.Windows.Forms.Label + Friend WithEvents CloseButton As System.Windows.Forms.Button + Friend WithEvents UserPostsNum As System.Windows.Forms.Label + Friend WithEvents Label15 As System.Windows.Forms.Label + Friend WithEvents UserTweetDateTime As System.Windows.Forms.Label + Friend WithEvents MemberGroup As System.Windows.Forms.GroupBox +End Class Added: branches/UserStream/Tween/ListManage.en.resx =================================================================== --- branches/UserStream/Tween/ListManage.en.resx (rev 0) +++ branches/UserStream/Tween/ListManage.en.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,229 @@ +鏤??xml version="1.0" encoding="utf-8"?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 65, 12 + + + Subscribers + + + 51, 12 + + + Members + + + 63, 12 + + + Description + + + 34, 12 + + + Name + + + 37, 12 + + + Owner + + + 68, 12 + + + LatestTweet + + + Remove from &List + + + 22, 12 + + + Bio + + + 50, 12 + + + Statuses + + + 48, 12 + + + Follower + + + 38, 12 + + + Follow + + + 48, 12 + + + Location + + + User + + + &Add + + + &Delete + + + &More + + + &Edit + + + Kind + + + Detail + + + Refresh(&U) + + + &Refresh + + + 30, 12 + + + Lists + + + &Close + + + Members + + \ No newline at end of file Added: branches/UserStream/Tween/ListManage.resx =================================================================== --- branches/UserStream/Tween/ListManage.resx (rev 0) +++ branches/UserStream/Tween/ListManage.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,1317 @@ +鏤??xml version="1.0" encoding="utf-8"?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + Disable + + + + 12 + + + + 12, 24 + + + 215, 184 + + + 1 + + + ListsList + + + System.Windows.Forms.ListBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 8 + + + 75, 153 + + + True + + + 130, 56 + + + 10 + + + Description + + + DescriptionText + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ListGroup + + + 11 + + + True + + + NoControl + + + 6, 131 + + + 53, 12 + + + 7 + + + 莖取???? + + + Label12 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ListGroup + + + 12 + + + True + + + NoControl + + + 6, 106 + + + 53, 12 + + + 5 + + + ?脂???? + + + Label10 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ListGroup + + + 10 + + + True + + + NoControl + + + 6, 156 + + + 29, 12 + + + 9 + + + 茯?? + + + Label6 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ListGroup + + + 9 + + + True + + + NoControl + + + 6, 46 + + + 41, 12 + + + 2 + + + ?????? + + + Label4 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ListGroup + + + 8 + + + True + + + NoControl + + + 6, 21 + + + 41, 12 + + + 0 + + + 篏????/value> + + + Label1 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ListGroup + + + 0 + + + True + + + Disable + + + 12 + + + 6, 15 + + + 212, 424 + + + 0 + + + UserList + + + System.Windows.Forms.ListBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + MemberGroup + + + 0 + + + 90, 293 + + + 112, 12 + + + 12 + + + YY/MM/DD HH:MM + + + TopRight + + + UserTweetDateTime + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + UserGroup + + + 0 + + + 11, 19 + + + 49, 49 + + + Zoom + + + 37 + + + UserIcon + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + UserGroup + + + 1 + + + 11, 305 + + + 191, 135 + + + 14 + + + Label19 + + + UserTweet + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + UserGroup + + + 2 + + + True + + + 9, 293 + + + 75, 12 + + + 13 + + + ???????ゃ???/value> + + + Label20 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + UserGroup + + + 3 + + + 9, 443 + + + 193, 23 + + + 15 + + + ???????????&L) + + + DeleteUserButton + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + UserGroup + + + 4 + + + 11, 155 + + + 191, 135 + + + 11 + + + Label18 + + + UserProfile + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + UserGroup + + + 5 + + + True + + + 9, 143 + + + 53, 12 + + + 10 + + + ??訓膣剛? + + + Label17 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + UserGroup + + + 6 + + + 147, 125 + + + 55, 14 + + + 9 + + + Label16 + + + TopRight + + + UserPostsNum + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + UserGroup + + + 7 + + + True + + + 147, 109 + + + 41, 12 + + + 8 + + + ?肴???/value> + + + Label15 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + UserGroup + + + 8 + + + 79, 125 + + + 55, 14 + + + 7 + + + Label14 + + + TopRight + + + UserFollowerNum + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + UserGroup + + + 9 + + + True + + + 77, 109 + + + 49, 12 + + + 6 + + + ????????/value> + + + Label13 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + UserGroup + + + 10 + + + 11, 125 + + + 55, 14 + + + 5 + + + Label11 + + + TopRight + + + UserFollowNum + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + UserGroup + + + 11 + + + True + + + 9, 109 + + + 40, 12 + + + 4 + + + ?????? + + + Label9 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + UserGroup + + + 12 + + + 41, 72 + + + 161, 35 + + + 3 + + + LinkLabel1 + + + UserWeb + + + System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + UserGroup + + + 13 + + + True + + + 9, 74 + + + 26, 12 + + + 2 + + + Web + + + Label8 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + UserGroup + + + 14 + + + 68, 31 + + + 134, 37 + + + 1 + + + Label7 + + + UserLocation + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + UserGroup + + + 15 + + + True + + + 66, 19 + + + 41, 12 + + + 0 + + + ?上???/value> + + + Label5 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + UserGroup + + + 16 + + + 463, 9 + + + 208, 475 + + + 8 + + + ????吟???? + + + UserGroup + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 7 + + + 12, 214 + + + 53, 23 + + + 2 + + + 菴遵?(&A) + + + AddListButton + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 6 + + + 174, 214 + + + 53, 23 + + + 4 + + + ???(&D) + + + DeleteListButton + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 5 + + + 6, 445 + + + 212, 23 + + + 1 + + + ???(&M) + + + GetMoreUsersButton + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + MemberGroup + + + 1 + + + 65, 43 + + + 140, 19 + + + 3 + + + NameTextBox + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ListGroup + + + 7 + + + 65, 18 + + + 140, 19 + + + 1 + + + UsernameTextBox + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ListGroup + + + 6 + + + 75, 103 + + + 46, 19 + + + 6 + + + MemberCountTextBox + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ListGroup + + + 5 + + + 75, 128 + + + 46, 19 + + + 8 + + + SubscriberCountTextBox + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ListGroup + + + 4 + + + Button + + + 71, 214 + + + 53, 23 + + + 3 + + + 膩??(&E) + + + MiddleCenter + + + EditCheckBox + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 9 + + + True + + + False + + + 38, 9 + + + 59, 16 + + + 0 + + + Private + + + PrivateRadioButton + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox2 + + + 0 + + + True + + + False + + + 103, 9 + + + 54, 16 + + + 1 + + + Public + + + PublicRadioButton + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox2 + + + 1 + + + 8, 68 + + + 197, 29 + + + 4 + + + 腮?? + + + GroupBox2 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ListGroup + + + 2 + + + False + + + 16, 213 + + + 75, 23 + + + 11 + + + OK + + + OKEditButton + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ListGroup + + + 3 + + + False + + + 111, 213 + + + 75, 23 + + + 12 + + + Cancel + + + CancelEditButton + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ListGroup + + + 1 + + + 12, 269 + + + 215, 241 + + + 6 + + + 荅括完 + + + ListGroup + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 4 + + + 141, 472 + + + 77, 23 + + + 2 + + + ????(&U) + + + RefreshUsersButton + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + MemberGroup + + + 2 + + + 12, 243 + + + 215, 23 + + + 5 + + + ????(&R) + + + RefreshListsButton + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 3 + + + True + + + 10, 9 + + + 29, 12 + + + 0 + + + ?????/value> + + + Label3 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 2 + + + NoControl + + + 596, 490 + + + 75, 23 + + + 9 + + + ?????&C) + + + CloseButton + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + + + 233, 9 + + + 224, 501 + + + 7 + + + ?<???? + + + MemberGroup + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + + + True + + + 6, 12 + + + 683, 522 + + + CenterParent + + + ListManage + + + ListManage + + + System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file Added: branches/UserStream/Tween/ListManage.vb =================================================================== --- branches/UserStream/Tween/ListManage.vb (rev 0) +++ branches/UserStream/Tween/ListManage.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,309 @@ +鏤?mports System.ComponentModel + +Public Class ListManage + Private tw As Twitter + + Public Sub New(ByVal tw As Twitter) + Me.InitializeComponent() + + Me.tw = tw + End Sub + + Private Sub ListManage_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown + If e.KeyCode = Keys.Enter AndAlso + Me.EditCheckBox.Checked Then + Me.OKEditButton.PerformClick() + End If + End Sub + + + Private Sub ListManage_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + Me.UserList_SelectedIndexChanged(Nothing, EventArgs.Empty) + If TabInformations.GetInstance().SubscribableLists.Count = 0 Then Me.RefreshLists() + For Each listItem As ListElement In TabInformations.GetInstance().SubscribableLists.FindAll(Function(i) i.Username = Me.tw.Username) + Me.ListsList.Items.Add(listItem) + Next + If Me.ListsList.Items.Count > 0 Then + Me.ListsList.SelectedIndex = 0 + End If + Me.ListsList.Focus() + End Sub + + Private Sub ListsList_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListsList.SelectedIndexChanged + If Me.ListsList.SelectedItem Is Nothing Then Return + + Dim list As ListElement = CType(Me.ListsList.SelectedItem, ListElement) + Me.UsernameTextBox.Text = list.Username + Me.NameTextBox.Text = list.Name + Me.PublicRadioButton.Checked = list.IsPublic + Me.PrivateRadioButton.Checked = Not list.IsPublic + Me.MemberCountTextBox.Text = list.MemberCount.ToString() + Me.SubscriberCountTextBox.Text = list.SubscriberCount.ToString() + Me.DescriptionText.Text = list.Description + + Me.UserList.Items.Clear() + For Each user As UserInfo In list.Members + Me.UserList.Items.Add(user) + Next + + Me.GetMoreUsersButton.Text = IIf(Me.UserList.Items.Count > 0, "???????(&M)", "???(&M)").ToString() + End Sub + + Private Sub EditCheckBox_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EditCheckBox.CheckedChanged + Me.AddListButton.Enabled = Not Me.EditCheckBox.Checked + Me.EditCheckBox.Enabled = Not Me.EditCheckBox.Checked + Me.DeleteListButton.Enabled = Not Me.EditCheckBox.Checked + + Me.NameTextBox.ReadOnly = Not Me.EditCheckBox.Checked + Me.PublicRadioButton.Enabled = Me.EditCheckBox.Checked + Me.PrivateRadioButton.Enabled = Me.EditCheckBox.Checked + Me.DescriptionText.ReadOnly = Not Me.EditCheckBox.Checked + Me.ListsList.Enabled = Not Me.EditCheckBox.Checked + + Me.OKEditButton.Enabled = Me.EditCheckBox.Checked + Me.CancelEditButton.Enabled = Me.EditCheckBox.Checked + Me.EditCheckBox.AutoCheck = Not Me.EditCheckBox.Checked + + Me.MemberGroup.Enabled = Not Me.EditCheckBox.Checked + Me.UserGroup.Enabled = Not Me.EditCheckBox.Checked + Me.CloseButton.Enabled = Not Me.EditCheckBox.Checked + + Me.UsernameTextBox.TabStop = Not Me.EditCheckBox.Checked + Me.MemberCountTextBox.TabStop = Not Me.EditCheckBox.Checked + Me.SubscriberCountTextBox.TabStop = Not Me.EditCheckBox.Checked + If Me.EditCheckBox.Checked = True Then Me.NameTextBox.Focus() + End Sub + + Private Sub OKButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OKEditButton.Click + If Me.ListsList.SelectedItem Is Nothing Then Return + Dim listItem As ListElement = DirectCast(Me.ListsList.SelectedItem, ListElement) + + If Me.NameTextBox.Text = "" Then + MessageBox.Show(My.Resources.ListManageOKButton1) + Return + End If + + listItem.Name = Me.NameTextBox.Text + listItem.IsPublic = Me.PublicRadioButton.Checked + listItem.Description = Me.DescriptionText.Text + + Dim rslt As String = listItem.Refresh() + + If rslt <> "" Then + MessageBox.Show(String.Format(My.Resources.ListManageOKButton2, rslt)) + Exit Sub + End If + + Me.ListsList.Items.Clear() + Me.ListManage_Load(Nothing, EventArgs.Empty) + + Me.EditCheckBox.AutoCheck = True + Me.EditCheckBox.Checked = False + End Sub + + Private Sub CancelButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CancelEditButton.Click + Me.EditCheckBox.AutoCheck = True + Me.EditCheckBox.Checked = False + + For i As Integer = Me.ListsList.Items.Count - 1 To 0 Step -1 + If TypeOf Me.ListsList.Items(i) Is NewListElement Then + Me.ListsList.Items.RemoveAt(i) + End If + Next + + Me.ListsList_SelectedIndexChanged(Me.ListsList, EventArgs.Empty) + End Sub + + Private Sub RefreshUsersButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RefreshUsersButton.Click + If Me.ListsList.SelectedItem Is Nothing Then Return + Me.UserList.Items.Clear() + Dim dlgt As New Action(Of ListElement)(Sub(lElement) + Me.Invoke(New Action(Of String)(AddressOf GetListMembersCallback), lElement.RefreshMembers()) + End Sub) + dlgt.BeginInvoke(DirectCast(Me.ListsList.SelectedItem, ListElement), Nothing, Nothing) + End Sub + + Private Sub GetMoreUsersButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GetMoreUsersButton.Click + If Me.ListsList.SelectedItem Is Nothing Then Return + Dim dlgt As New Action(Of ListElement)(Sub(lElement) + Me.Invoke(New Action(Of String)(AddressOf GetListMembersCallback), lElement.GetMoreMembers()) + End Sub) + dlgt.BeginInvoke(DirectCast(Me.ListsList.SelectedItem, ListElement), Nothing, Nothing) + End Sub + + Private Sub GetListMembersCallback(ByVal result As String) + If result = Me.ListsList.SelectedItem.ToString Then + Me.ListsList_SelectedIndexChanged(Me.ListsList, EventArgs.Empty) + Me.GetMoreUsersButton.Text = "???????(&M)" + Else + MessageBox.Show(String.Format(My.Resources.ListManageGetListMembersCallback1, result)) + End If + End Sub + + Private Sub DeleteUserButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DeleteUserButton.Click + If Me.ListsList.SelectedItem Is Nothing OrElse Me.UserList.SelectedItem Is Nothing Then + Exit Sub + End If + + Dim list As ListElement = CType(Me.ListsList.SelectedItem, ListElement) + Dim user As UserInfo = CType(Me.UserList.SelectedItem, UserInfo) + If MessageBox.Show(My.Resources.ListManageDeleteUser1, "Tween", MessageBoxButtons.OKCancel) = DialogResult.OK Then + Dim rslt As String = Me.tw.RemoveUserToList(list.Id.ToString(), user.Id.ToString()) + + If rslt <> "" Then + MessageBox.Show(String.Format(My.Resources.ListManageDeleteUser2, rslt)) + Exit Sub + End If + Dim idx As Integer = ListsList.SelectedIndex + list.Members.Remove(user) + Me.ListsList_SelectedIndexChanged(Me.ListsList, EventArgs.Empty) + If idx < ListsList.Items.Count Then ListsList.SelectedIndex = idx + End If + End Sub + + Private Sub DeleteListButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DeleteListButton.Click + If Me.ListsList.SelectedItem Is Nothing Then Return + Dim list As ListElement = CType(Me.ListsList.SelectedItem, ListElement) + + If MessageBox.Show(My.Resources.ListManageDeleteLists1, "Tween", MessageBoxButtons.OKCancel) = DialogResult.OK Then + Dim rslt As String = "" + + rslt = Me.tw.DeleteList(list.Id.ToString()) + + If rslt <> "" Then + MessageBox.Show(My.Resources.ListManageOKButton2, rslt) + Return + End If + + rslt = Me.tw.GetListsApi() + + If rslt <> "" Then + MessageBox.Show(My.Resources.ListsDeleteFailed, rslt) + Return + End If + + Me.ListsList.Items.Clear() + Me.ListManage_Load(Me, EventArgs.Empty) + End If + End Sub + + Private Sub AddListButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AddListButton.Click + Dim newList As New NewListElement(Me.tw) + Me.ListsList.Items.Add(newList) + Me.ListsList.SelectedItem = newList + Me.EditCheckBox.Checked = True + Me.EditCheckBox_CheckedChanged(Me.EditCheckBox, EventArgs.Empty) + End Sub + + Private Sub UserList_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UserList.SelectedIndexChanged + If UserList.SelectedItem Is Nothing Then + If Me.UserIcon.Image IsNot Nothing Then + Me.UserIcon.Image.Dispose() + Me.UserIcon.Image = Nothing + End If + Me.UserLocation.Text = "" + Me.UserWeb.Text = "" + Me.UserFollowNum.Text = "0" + Me.UserFollowerNum.Text = "0" + Me.UserPostsNum.Text = "0" + Me.UserProfile.Text = "" + Me.UserTweetDateTime.Text = "" + Me.UserTweet.Text = "" + Me.DeleteUserButton.Enabled = False + Else + Dim user As UserInfo = DirectCast(Me.UserList.SelectedItem, UserInfo) + Me.UserLocation.Text = user.Location + Me.UserWeb.Text = user.Url + Me.UserFollowNum.Text = user.FriendsCount.ToString("#,###,##0") + Me.UserFollowerNum.Text = user.FollowersCount.ToString("#,###,##0") + Me.UserPostsNum.Text = user.StatusesCount.ToString("#,###,##0") + Me.UserProfile.Text = user.Description + If Not String.IsNullOrEmpty(user.RecentPost) Then + Me.UserTweetDateTime.Text = user.PostCreatedAt.ToString("yy/MM/dd HH:mm") + Me.UserTweet.Text = user.RecentPost + Else + Me.UserTweetDateTime.Text = "" + Me.UserTweet.Text = "" + End If + Me.DeleteUserButton.Enabled = True + + Dim a As New Action(Of Uri)(Sub(url) + Me.Invoke(New Action(Of Image)(AddressOf DisplayIcon), (New HttpVarious).GetImage(url)) + End Sub) + a.BeginInvoke(user.ImageUrl, Nothing, Nothing) + End If + End Sub + + Private Sub DisplayIcon(ByVal img As Image) + If img Is Nothing OrElse Me.UserList.SelectedItem Is Nothing Then Exit Sub + If DirectCast(Me.UserList.SelectedItem, UserInfo).ImageUrl.ToString = DirectCast(img.Tag, String) Then + Me.UserIcon.Image = img + End If + End Sub + Private Sub RefreshListsButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RefreshListsButton.Click + Me.RefreshLists() + Me.ListsList.Items.Clear() + Me.ListManage_Load(Nothing, EventArgs.Empty) + End Sub + + Private Sub RefreshLists() + Using dlg As New FormInfo(Me, My.Resources.ListsGetting, AddressOf RefreshLists_Dowork) + dlg.ShowDialog() + If Not String.IsNullOrEmpty(DirectCast(dlg.Result, String)) Then + MessageBox.Show(String.Format(My.Resources.ListsDeleteFailed, DirectCast(dlg.Result, String))) + Exit Sub + End If + End Using + End Sub + + Private Sub RefreshLists_Dowork(ByVal sender As Object, ByVal e As DoWorkEventArgs) + e.Result = tw.GetListsApi() + End Sub + + Private Sub UserWeb_LinkClicked(ByVal sender As Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles UserWeb.LinkClicked + If Me.Owner IsNot Nothing Then + DirectCast(Me.Owner, TweenMain).OpenUriAsync(UserWeb.Text) + End If + End Sub + + Private Class NewListElement + Inherits ListElement + + Private _isCreated As Boolean = False + + Public Sub New(ByVal tw As Twitter) + Me._tw = tw + End Sub + + Public Overrides Function Refresh() As String + If Me.IsCreated Then + Return MyBase.Refresh() + Else + Dim rslt As String = Me._tw.CreateListApi(Me.Name, Not Me.IsPublic, Me.Description) + Me._isCreated = (rslt = "") + Return rslt + End If + End Function + + Public ReadOnly Property IsCreated As Boolean + Get + Return Me._isCreated + End Get + End Property + + Public Overrides Function ToString() As String + If IsCreated Then + Return MyBase.ToString() + Else + Return "NewList" + End If + End Function + End Class + + Private Sub ListManage_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles Me.Validating + If Me.EditCheckBox.Checked Then + e.Cancel = True + Me.CancelButton.PerformClick() + End If + End Sub +End Class \ No newline at end of file Added: branches/UserStream/Tween/ListManage.zh-CHS.resx =================================================================== --- branches/UserStream/Tween/ListManage.zh-CHS.resx (rev 0) +++ branches/UserStream/Tween/ListManage.zh-CHS.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,235 @@ +鏤??xml version="1.0" encoding="utf-8"?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ?恰絵篋堺? + + + ?肢?篋堺? + + + ?颷?/value> + + + + 41, 12 + + + ??;??/value> + + + ??産篋?/value> + + + 53, 12 + + + ???羔?? + + + 篁??茵????/value> + + + 29, 12 + + + 膊?? + + + 29, 12 + + + 羔?? + + + 29, 12 + + + ?恰絵 + + + 29, 12 + + + 絅遵?/value> + + + ?????/value> + + + ???篆≧? + + + ?医? + + + ??? + + + 莚糸??紊?&M) + + + 篆?? + + + 膠糸? + + + 47, 16 + + + 腱?? + + + 47, 16 + + + ??? + + + 隋?? + + + ??? + + + 莚?? + + + ?傑?筝?? + + + ?傑?(&R) + + + 29, 12 + + + ??; + + + ?渇?(&C) + + + ??? + + + ??;(List)膊∞? + + \ No newline at end of file Added: branches/UserStream/Tween/My Project/Application.Designer.vb =================================================================== --- branches/UserStream/Tween/My Project/Application.Designer.vb (rev 0) +++ branches/UserStream/Tween/My Project/Application.Designer.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,38 @@ +鏤?------------------------------------------------------------------------------ +' +' ????潟???????????????????????????+' ????帥???????吾???4.0.30319.1 +' +' ???????ゃ??吾?紊?????篁ヤ????羈???т?罩c??????????????????+' ?潟???????????????????紊宴?????????? +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + '?<?: ???????ゃ????????????????????ュ??眼?????с???????紊???????? + ' ?????????若??榊?????翫????????吾???? ????ゃ????悟Щ??? (????吾???? + ' ???????c?腱糸????????障????????若??с? ????鴻????????????????吾???? + ' ???????с??????????)???????宴??激????帥?筝??紊??????????? + ' + Partial Friend Class MyApplication + + _ + Public Sub New() + MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows) + Me.IsSingleInstance = false + Me.EnableVisualStyles = true + Me.SaveMySettingsOnExit = false + Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses + End Sub + + _ + Protected Overrides Sub OnCreateMainForm() + Me.MainForm = Global.Tween.TweenMain + End Sub + End Class +End Namespace Added: branches/UserStream/Tween/My Project/Application.myapp =================================================================== --- branches/UserStream/Tween/My Project/Application.myapp (rev 0) +++ branches/UserStream/Tween/My Project/Application.myapp 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,10 @@ +鏤??xml version="1.0" encoding="utf-8"?> + + true + TweenMain + false + 0 + true + 0 + false + \ No newline at end of file Added: branches/UserStream/Tween/My Project/AssemblyInfo.vb =================================================================== --- branches/UserStream/Tween/My Project/AssemblyInfo.vb (rev 0) +++ branches/UserStream/Tween/My Project/AssemblyInfo.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,59 @@ +鏤? Tween - Client of Twitter +' Copyright (c) 2007-2009 kiri_feather (@kiri_feather) +' (c) 2008-2009 Moz (@syo68k) +' (c) 2008-2009 takeshik (@takeshik) +' All rights reserved. +' +' This file is part of Tween. +' +' This program is free software; you can redistribute it and/or modify it +' under the terms of the GNU General Public License as published by the Free +' Software Foundation; either version 3 of the License, or (at your option) +' any later version. +' +' This program is distributed in the hope that it will be useful, but +' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +' for more details. +' +' You should have received a copy of the GNU General Public License along +' with this program. If not, see , or write to +' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, +' Boston, MA 02110-1301, USA. + +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' ?≪??潟?????≪????????宴?篁ヤ?????с?????????????緇<??????? +' ?≪??潟?????∫?篁????????????宴?紊??????????+' ??????絮???ゃ?紊???????????? + +' ?≪??潟?????с??ゃ?腆肴??????? + + + + + + + + + + +'???????吾??????COM ??????????翫??????GUID ????ゃ? ????????? ID ????????? + + +' ?≪??潟????????吾??恰??宴???札筝?? 4 ?ゃ??ゃ?罕?????????障?: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' ???????ゃ??????????筝???????'*' ??戎?c??????????????吾??括??激? +' ?√??ゃ??????????????? +' + + + + Added: branches/UserStream/Tween/My Project/Resources.Designer.vb =================================================================== --- branches/UserStream/Tween/My Project/Resources.Designer.vb (rev 0) +++ branches/UserStream/Tween/My Project/Resources.Designer.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,2771 @@ +鏤?------------------------------------------------------------------------------ +' +' ????潟???????????????????????????+' ????帥???????吾???4.0.30319.1 +' +' ???????ゃ??吾?紊?????篁ヤ????羈???т?罩c??????????????????+' ?潟???????????????????紊宴?????????? +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + '???????鴻? StronglyTypedResourceBuilder ????鴻? ResGen + '?障???Visual Studio ????????????篏睡??????????????障???? + '?<??????申?????????????????ResX ????ゃ???隈??????/str ????激??潟??宴? + 'ResGen ???茵???眼?????障???VS ????吾??????????????????? + ''' + ''' ???????ゃ???????絖????????膣≪?????????ウ絲?????絎?????????若? ????鴻???? + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' ???????鴻?篏睡???????????c??激??????ResourceManager ?ゃ??鴻??潟?????????? + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("Tween.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' ?喝?????????????????純???????鴻?篏睡????????鴻????膣≪??純??鴻?絲障???+ ''' ?上?????????? CurrentUICulture ???????c??????????????障???+ ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + + ''' + ''' (?域??帥?) ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property AddNewTabText1() As String + Get + Return ResourceManager.GetString("AddNewTabText1", resourceCulture) + End Get + End Property + + ''' + ''' ??? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property AddNewTabText2() As String + Get + Return ResourceManager.GetString("AddNewTabText2", resourceCulture) + End Get + End Property + + ''' + ''' ??┸ ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property AddNewTabText3() As String + Get + Return ResourceManager.GetString("AddNewTabText3", resourceCulture) + End Get + End Property + + ''' + ''' ????ユ? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property AddNewTabText4() As String + Get + Return ResourceManager.GetString("AddNewTabText4", resourceCulture) + End Get + End Property + + ''' + ''' ?ユ? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property AddNewTabText4_2() As String + Get + Return ResourceManager.GetString("AddNewTabText4_2", resourceCulture) + End Get + End Property + + ''' + ''' ????九? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property AddNewTabText5() As String + Get + Return ResourceManager.GetString("AddNewTabText5", resourceCulture) + End Get + End Property + + ''' + ''' ?帥???quot;"{0}""????≪?絖??????????申??????????????????????????????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property AddTabMenuItem_ClickText1() As String + Get + Return ResourceManager.GetString("AddTabMenuItem_ClickText1", resourceCulture) + End Get + End Property + + ''' + ''' ?帥?菴遵? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property AddTabMenuItem_ClickText2() As String + Get + Return ResourceManager.GetString("AddTabMenuItem_ClickText2", resourceCulture) + End Get + End Property + + ''' + ''' 筝?? : ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ApiInfo1() As String + Get + Return ResourceManager.GetString("ApiInfo1", resourceCulture) + End Get + End Property + + ''' + ''' 罧?? : ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ApiInfo2() As String + Get + Return ResourceManager.GetString("ApiInfo2", resourceCulture) + End Get + End Property + + ''' + ''' ???????ユ? : ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ApiInfo3() As String + Get + Return ResourceManager.GetString("ApiInfo3", resourceCulture) + End Get + End Property + + ''' + ''' API??? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ApiInfo4() As String + Get + Return ResourceManager.GetString("ApiInfo4", resourceCulture) + End Get + End Property + + ''' + ''' * API?????????け??* ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ApiInfo5() As String + Get + Return ResourceManager.GetString("ApiInfo5", resourceCulture) + End Get + End Property + + ''' + ''' API??????筝???祉? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ApiInfo6() As String + Get + Return ResourceManager.GetString("ApiInfo6", resourceCulture) + End Get + End Property + + Friend ReadOnly Property At() As System.Drawing.Icon + Get + Dim obj As Object = ResourceManager.GetObject("At", resourceCulture) + Return CType(obj,System.Drawing.Icon) + End Get + End Property + + Friend ReadOnly Property AtBlink() As System.Drawing.Icon + Get + Dim obj As Object = ResourceManager.GetObject("AtBlink", resourceCulture) + Return CType(obj,System.Drawing.Icon) + End Get + End Property + + Friend ReadOnly Property AtRed() As System.Drawing.Icon + Get + Dim obj As Object = ResourceManager.GetObject("AtRed", resourceCulture) + Return CType(obj,System.Drawing.Icon) + End Get + End Property + + Friend ReadOnly Property AtSmoke() As System.Drawing.Icon + Get + Dim obj As Object = ResourceManager.GetObject("AtSmoke", resourceCulture) + Return CType(obj,System.Drawing.Icon) + End Get + End Property + + ''' + ''' 茯?┝?????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property AuthorizeButton_Click1() As String + Get + Return ResourceManager.GetString("AuthorizeButton_Click1", resourceCulture) + End Get + End Property + + ''' + ''' 茯?┝?с??障??????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property AuthorizeButton_Click2() As String + Get + Return ResourceManager.GetString("AuthorizeButton_Click2", resourceCulture) + End Get + End Property + + ''' + ''' 茯?┝羝????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property AuthorizeButton_Click3() As String + Get + Return ResourceManager.GetString("AuthorizeButton_Click3", resourceCulture) + End Get + End Property + + ''' + ''' ???荐????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property AuthorizeButton_Click4() As String + Get + Return ResourceManager.GetString("AuthorizeButton_Click4", resourceCulture) + End Get + End Property + + ''' + ''' 絎??綵√?????ゃ?(*.exe)|*.exe|??????????ゃ?(*.*)|*.* ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property Button3_ClickText1() As String + Get + Return ResourceManager.GetString("Button3_ClickText1", resourceCulture) + End Get + End Property + + ''' + ''' ?????????絎?????????????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property Button3_ClickText2() As String + Get + Return ResourceManager.GetString("Button3_ClickText2", resourceCulture) + End Get + End Property + + ''' + ''' ??????????障?????????????鐚????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ButtonBlock_ClickText1() As String + Get + Return ResourceManager.GetString("ButtonBlock_ClickText1", resourceCulture) + End Get + End Property + + ''' + ''' ??????腆肴? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ButtonBlock_ClickText2() As String + Get + Return ResourceManager.GetString("ButtonBlock_ClickText2", resourceCulture) + End Get + End Property + + ''' + ''' ????若??榊????????????????????????eb?с?腆肴???????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ButtonBlock_ClickText3() As String + Get + Return ResourceManager.GetString("ButtonBlock_ClickText3", resourceCulture) + End Get + End Property + + ''' + ''' ????????????????????????????????eb?с?腆肴???????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ButtonBlock_ClickText4() As String + Get + Return ResourceManager.GetString("ButtonBlock_ClickText4", resourceCulture) + End Get + End Property + + ''' + ''' ????????В?ゃ??障?????????????鐚????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ButtonBlockDestroy_ClickText1() As String + Get + Return ResourceManager.GetString("ButtonBlockDestroy_ClickText1", resourceCulture) + End Get + End Property + + ''' + ''' ??????茹i?腆肴? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ButtonBlockDestroy_ClickText2() As String + Get + Return ResourceManager.GetString("ButtonBlockDestroy_ClickText2", resourceCulture) + End Get + End Property + + ''' + ''' ????若??榊????????????????????????eb?с?腆肴???????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ButtonBlockDestroy_ClickText3() As String + Get + Return ResourceManager.GetString("ButtonBlockDestroy_ClickText3", resourceCulture) + End Get + End Property + + ''' + ''' ??????茹i???????????????????????????eb?с?腆肴???????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ButtonBlockDestroy_ClickText4() As String + Get + Return ResourceManager.GetString("ButtonBlockDestroy_ClickText4", resourceCulture) + End Get + End Property + + ''' + ''' ???????????????????????????鐚?0} ??1}???蕁?室?????????????ゃ???????絖?????膣≪??障???+ ''' + Friend ReadOnly Property ButtonDelete_ClickText1() As String + Get + Return ResourceManager.GetString("ButtonDelete_ClickText1", resourceCulture) + End Get + End Property + + ''' + ''' ???????ょ∈茯????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ButtonDelete_ClickText2() As String + Get + Return ResourceManager.GetString("ButtonDelete_ClickText2", resourceCulture) + End Get + End Property + + ''' + ''' ?御?????????0}篁吟?????????????????????????鐚? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ButtonDelete_ClickText3() As String + Get + Return ResourceManager.GetString("ButtonDelete_ClickText3", resourceCulture) + End Get + End Property + + ''' + ''' ??????????????????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ButtonOK_ClickText1() As String + Get + Return ResourceManager.GetString("ButtonOK_ClickText1", resourceCulture) + End Get + End Property + + ''' + ''' ???????с??????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ButtonOK_ClickText2() As String + Get + Return ResourceManager.GetString("ButtonOK_ClickText2", resourceCulture) + End Get + End Property + + ''' + ''' 罩h?茵?憗????鐚????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ButtonOK_ClickText3() As String + Get + Return ResourceManager.GetString("ButtonOK_ClickText3", resourceCulture) + End Get + End Property + + ''' + ''' ?≪?絖???????????菴遵??с??障??????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ButtonOK_ClickText4() As String + Get + Return ResourceManager.GetString("ButtonOK_ClickText4", resourceCulture) + End Get + End Property + + ''' + ''' ??????????鴻???????茵???障?????????????鐚????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ButtonReportSpam_ClickText1() As String + Get + Return ResourceManager.GetString("ButtonReportSpam_ClickText1", resourceCulture) + End Get + End Property + + ''' + ''' ?鴻??????∈茯????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ButtonReportSpam_ClickText2() As String + Get + Return ResourceManager.GetString("ButtonReportSpam_ClickText2", resourceCulture) + End Get + End Property + + ''' + ''' ????若??榊????????????????????????eb?с?腆肴???????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ButtonReportSpam_ClickText3() As String + Get + Return ResourceManager.GetString("ButtonReportSpam_ClickText3", resourceCulture) + End Get + End Property + + ''' + ''' ?????????????怨???????????????????????????eb?с?腆肴???????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ButtonReportSpam_ClickText4() As String + Get + Return ResourceManager.GetString("ButtonReportSpam_ClickText4", resourceCulture) + End Get + End Property + + ''' + ''' ????????????????御? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ButtonRuleCopy_ClickText1() As String + Get + Return ResourceManager.GetString("ButtonRuleCopy_ClickText1", resourceCulture) + End Get + End Property + + ''' + ''' ?????Щ????帥?????????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ButtonRuleMove_ClickText1() As String + Get + Return ResourceManager.GetString("ButtonRuleMove_ClickText1", resourceCulture) + End Get + End Property + + ''' + ''' ???????取В?ゃ??障?????????????鐚????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ButtonUnFollow_ClickText1() As String + Get + Return ResourceManager.GetString("ButtonUnFollow_ClickText1", resourceCulture) + End Get + End Property + + ''' + ''' ??????茹i?腆肴? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ButtonUnFollow_ClickText2() As String + Get + Return ResourceManager.GetString("ButtonUnFollow_ClickText2", resourceCulture) + End Get + End Property + + ''' + ''' API??????筝???祉? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property CalcApiUsingText1() As String + Get + Return ResourceManager.GetString("CalcApiUsingText1", resourceCulture) + End Get + End Property + + ''' + ''' ?糸?????ゃ?(*.gif;*.jpg;*.jpeg;*.png)|*.gif;*.jpg;*.jpeg;*.png ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ChangeIconToolStripMenuItem_ClickText1() As String + Get + Return ResourceManager.GetString("ChangeIconToolStripMenuItem_ClickText1", resourceCulture) + End Get + End Property + + ''' + ''' ?泣???00KB?障?????ゃ??括??????ゃ??????????????????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ChangeIconToolStripMenuItem_ClickText2() As String + Get + Return ResourceManager.GetString("ChangeIconToolStripMenuItem_ClickText2", resourceCulture) + End Get + End Property + + ''' + ''' ?≪??潟?荐??筝???祉? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ChangeIconToolStripMenuItem_ClickText3() As String + Get + Return ResourceManager.GetString("ChangeIconToolStripMenuItem_ClickText3", resourceCulture) + End Get + End Property + + ''' + ''' 羈??鐚?witter???罕?????????????????????≪??潟?????眼????????翫??????????罨≦??肴???????腆肴???????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ChangeIconToolStripMenuItem_ClickText4() As String + Get + Return ResourceManager.GetString("ChangeIconToolStripMenuItem_ClickText4", resourceCulture) + End Get + End Property + + ''' + ''' ?≪??潟?????眼??障???? 罨≦??肴???????????障??????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ChangeIconToolStripMenuItem_ClickText5() As String + Get + Return ResourceManager.GetString("ChangeIconToolStripMenuItem_ClickText5", resourceCulture) + End Get + End Property + + ''' + ''' ?贋?絮ユ? + ''' + '''==== Ver 0.9.6.1(2010/10/22) + ''' * URL?翫????????ャ??違??????????????????信罩?+ ''' * PublicSearch?????違?紊??????????+ ''' * Ctrl+J/K,SHIFT+J/K?????????????????違?篆?? + ''' * ???????ャ??с??≪??潟???研?激???祉?????????信罩?+ ''' * ???????ャ??с?????????私?臀??筝?????紊?? + ''' * ???綣???????????若???ID????障???????????????????????? + ''' * ?≪??潟????????純?紂??????????+ ''' * ?????????茵?ず???????????;腓冴????????c?????????????膀???ф???堺?????????;腓冴???????紊?? + ''' * ?ュ?罨??Ctrl+Shift+????????????????????+ ''' * ??軒URL茹f浦??┃絎??罩c??????????????????с?????c??????信罩?+ ''' * yfrog?吾??糸???┸???綽?+ ''' * ??????????鴻??∵????DM?????????????????+ ''' * Favorites????違?荐???с??????????????ф?羣????違??????? + ''' * ???????ャ????????綛臥??????? + ''' * BASIC茯?┝ [罧?????絖?????????????????]"; ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ChangeLog() As String + Get + Return ResourceManager.GetString("ChangeLog", resourceCulture) + End Get + End Property + + ''' + ''' Tween?贋?腆肴? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property CheckNewVersionText1() As String + Get + Return ResourceManager.GetString("CheckNewVersionText1", resourceCulture) + End Get + End Property + + ''' + ''' ?贋????????吾??喝????け????障??????????緇????????綺??荅????????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property CheckNewVersionText10() As String + Get + Return ResourceManager.GetString("CheckNewVersionText10", resourceCulture) + End Get + End Property + + ''' + ''' Tween?贋?腟?? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property CheckNewVersionText2() As String + Get + Return ResourceManager.GetString("CheckNewVersionText2", resourceCulture) + End Get + End Property + + ''' + ''' ?違?????若??с? {0} ????????????????贋???????鐚????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property CheckNewVersionText3() As String + Get + Return ResourceManager.GetString("CheckNewVersionText3", resourceCulture) + End Get + End Property + + ''' + ''' ?≪?????若??若?????潟??若???け????障??????????緇????????綺??荅????????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property CheckNewVersionText4() As String + Get + Return ResourceManager.GetString("CheckNewVersionText4", resourceCulture) + End Get + End Property + + ''' + ''' ????????????????障????????潟??若???け????障??????????緇????????綺??荅????????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property CheckNewVersionText5() As String + Get + Return ResourceManager.GetString("CheckNewVersionText5", resourceCulture) + End Get + End Property + + ''' + ''' ?違?????若??с?????ゃ?????????{0} ???????????????綣桁?????贋???????鐚????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property CheckNewVersionText6() As String + Get + Return ResourceManager.GetString("CheckNewVersionText6", resourceCulture) + End Get + End Property + + ''' + ''' ????????戎???????贋????荀??????障?????????戎??賢Ver鐚????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property CheckNewVersionText7() As String + Get + Return ResourceManager.GetString("CheckNewVersionText7", resourceCulture) + End Get + End Property + + ''' + ''' ???Ver鐚????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property CheckNewVersionText8() As String + Get + Return ResourceManager.GetString("CheckNewVersionText8", resourceCulture) + End Get + End Property + + ''' + ''' ????吾??潟??с???け?????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property CheckNewVersionText9() As String + Get + Return ResourceManager.GetString("CheckNewVersionText9", resourceCulture) + End Get + End Property + + ''' + ''' ????帥????荐??????≪???????????с????{0}鐚???若??若????荐?????????????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ClearTabMenuItem_ClickText1() As String + Get + Return ResourceManager.GetString("ClearTabMenuItem_ClickText1", resourceCulture) + End Get + End Property + + ''' + ''' ?帥?????∝∈茯????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ClearTabMenuItem_ClickText2() As String + Get + Return ResourceManager.GetString("ClearTabMenuItem_ClickText2", resourceCulture) + End Get + End Property + + ''' + ''' ?≦???????綣??????????????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property CmbDateTimeFormat_Validating() As String + Get + Return ResourceManager.GetString("CmbDateTimeFormat_Validating", resourceCulture) + End Get + End Property + + ''' + ''' ?帥????????障???????????わ?10鐔?20鐚??????????????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ConnectionTimeOut_ValidatingText1() As String + Get + Return ResourceManager.GetString("ConnectionTimeOut_ValidatingText1", resourceCulture) + End Get + End Property + + ''' + ''' (?≪??潟??????с?????障??? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ContextMenuStrip3_OpeningText1() As String + Get + Return ResourceManager.GetString("ContextMenuStrip3_OpeningText1", resourceCulture) + End Get + End Property + + ''' + ''' (?肴??????????????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ContextMenuStrip3_OpeningText2() As String + Get + Return ResourceManager.GetString("ContextMenuStrip3_OpeningText2", resourceCulture) + End Get + End Property + + ''' + ''' 茘??鐚?rotected?肴??????????????障???? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property CopyStotText1() As String + Get + Return ResourceManager.GetString("CopyStotText1", resourceCulture) + End Get + End Property + + ''' + ''' ?≦???????綣??????????????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property CreateDateTimeFormatSampleText1() As String + Get + Return ResourceManager.GetString("CreateDateTimeFormatSampleText1", resourceCulture) + End Get + End Property + + ''' + ''' ?御????????????ャ??違???????????????????鐚????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property DeleteHashtagsMessage1() As String + Get + Return ResourceManager.GetString("DeleteHashtagsMessage1", resourceCulture) + End Get + End Property + + ''' + ''' ?御???????????肴?(?障???M)????ゃ???????????с????{0}羈???????witter?泣??????????????障?鐚?0}????????D????ゃ??????????ID??Щ?????戎?c????????{0}?????????????翫????????????????篏帥??????????{0}{0}????????賢罩≪???????????c??祉?????帥?????????????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property DeleteStripMenuItem_ClickText1() As String + Get + Return ResourceManager.GetString("DeleteStripMenuItem_ClickText1", resourceCulture) + End Get + End Property + + ''' + ''' ???腆肴? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property DeleteStripMenuItem_ClickText2() As String + Get + Return ResourceManager.GetString("DeleteStripMenuItem_ClickText2", resourceCulture) + End Get + End Property + + ''' + ''' ???紊掩? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property DeleteStripMenuItem_ClickText3() As String + Get + Return ResourceManager.GetString("DeleteStripMenuItem_ClickText3", resourceCulture) + End Get + End Property + + ''' + ''' ?????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property DeleteStripMenuItem_ClickText4() As String + Get + Return ResourceManager.GetString("DeleteStripMenuItem_ClickText4", resourceCulture) + End Get + End Property + + ''' + ''' Client of Twitter. Free software(GPL3) + '''<Contacts> + '''Twitter:kiri_feather + '''Mail:kiri_feather @ users.sourceforge.jp + '''<Associator developer> + '''Developer:Takeshi KIRIYA(http://www.takeshik.org/) + '''Developer:moz + '''Developer:sin_sin(http://twitter.com/sinsinpub) + '''Developer:anis774(http://d.hatena.ne.jp/anis774/) + '''Tester:fantasticswallow(http://twitter.com/f_swallow) + '''Icons:Minami(http://www.pi-kun.com/) ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property Description() As String + Get + Return ResourceManager.GetString("Description", resourceCulture) + End Get + End Property + + ''' + ''' ?贋????????医?鐚??障???5鐔?000鐚??????????????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property DMPeriod_ValidatingText1() As String + Get + Return ResourceManager.GetString("DMPeriod_ValidatingText1", resourceCulture) + End Get + End Property + + ''' + ''' ?贋????????医?鐚??障???5鐔?000鐚??????????????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property DMPeriod_ValidatingText2() As String + Get + Return ResourceManager.GetString("DMPeriod_ValidatingText2", resourceCulture) + End Get + End Property + + ''' + ''' ???????若????筝???祉? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property doShowUserStatusText1() As String + Get + Return ResourceManager.GetString("doShowUserStatusText1", resourceCulture) + End Get + End Property + + ''' + ''' 罩h?茵?憗??帥??潟?????c??????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property DoTabSearchText1() As String + Get + Return ResourceManager.GetString("DoTabSearchText1", resourceCulture) + End Get + End Property + + ''' + ''' 罎?刈?>散????眼?????若?????ゃ????????????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property DoTabSearchText2() As String + Get + Return ResourceManager.GetString("DoTabSearchText2", resourceCulture) + End Get + End Property + + ''' + ''' 罎?刈 ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property DoTabSearchText3() As String + Get + Return ResourceManager.GetString("DoTabSearchText3", resourceCulture) + End Get + End Property + + ''' + ''' ?御???????荐??Favorites??申????障?????????????鐚????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property FavAddToolStripMenuItem_ClickText1() As String + Get + Return ResourceManager.GetString("FavAddToolStripMenuItem_ClickText1", resourceCulture) + End Get + End Property + + ''' + ''' Fav腆肴? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property FavAddToolStripMenuItem_ClickText2() As String + Get + Return ResourceManager.GetString("FavAddToolStripMenuItem_ClickText2", resourceCulture) + End Get + End Property + + ''' + ''' Fav菴遵?筝?.. ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property FavAddToolStripMenuItem_ClickText3() As String + Get + Return ResourceManager.GetString("FavAddToolStripMenuItem_ClickText3", resourceCulture) + End Get + End Property + + ''' + ''' Fav菴遵???? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property FavAddToolStripMenuItem_ClickText4() As String + Get + Return ResourceManager.GetString("FavAddToolStripMenuItem_ClickText4", resourceCulture) + End Get + End Property + + ''' + ''' 筝?墾??????菴遵????茵????????250篁吟??с??????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property FavoriteLimitCountText() As String + Get + Return ResourceManager.GetString("FavoriteLimitCountText", resourceCulture) + End Get + End Property + + ''' + ''' ?御???????荐??Favorites???????????????????с???? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property FavRemoveToolStripMenuItem_ClickText1() As String + Get + Return ResourceManager.GetString("FavRemoveToolStripMenuItem_ClickText1", resourceCulture) + End Get + End Property + + ''' + ''' Fav腆肴? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property FavRemoveToolStripMenuItem_ClickText2() As String + Get + Return ResourceManager.GetString("FavRemoveToolStripMenuItem_ClickText2", resourceCulture) + End Get + End Property + + ''' + ''' Fav???筝?.. ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property FavRemoveToolStripMenuItem_ClickText3() As String + Get + Return ResourceManager.GetString("FavRemoveToolStripMenuItem_ClickText3", resourceCulture) + End Get + End Property + + ''' + ''' Fav?????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property FavRemoveToolStripMenuItem_ClickText4() As String + Get + Return ResourceManager.GetString("FavRemoveToolStripMenuItem_ClickText4", resourceCulture) + End Get + End Property + + ''' + ''' http://ja.favstar.fm/ ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property FavstarUrl() As String + Get + Return ResourceManager.GetString("FavstarUrl", resourceCulture) + End Get + End Property + + ''' + ''' ????????????????祉? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property FollowCommandText1() As String + Get + Return ResourceManager.GetString("FollowCommandText1", resourceCulture) + End Get + End Property + + ''' + ''' ?贋?筝?.. ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property Form1_LoadText1() As String + Get + Return ResourceManager.GetString("Form1_LoadText1", resourceCulture) + End Get + End Property + + ''' + ''' id?????????????????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property FRMessage1() As String + Get + Return ResourceManager.GetString("FRMessage1", resourceCulture) + End Get + End Property + + ''' + ''' 紊掩? : ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property FRMessage2() As String + Get + Return ResourceManager.GetString("FRMessage2", resourceCulture) + End Get + End Property + + ''' + ''' 絎??鐚????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property FRMessage3() As String + Get + Return ResourceManager.GetString("FRMessage3", resourceCulture) + End Get + End Property + + ''' + ''' >>> ???????????????????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property GetFriendshipInfo1() As String + Get + Return ResourceManager.GetString("GetFriendshipInfo1", resourceCulture) + End Get + End Property + + ''' + ''' >>> ? ??????????????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property GetFriendshipInfo2() As String + Get + Return ResourceManager.GetString("GetFriendshipInfo2", resourceCulture) + End Get + End Property + + ''' + ''' <<< ???????????????障? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property GetFriendshipInfo3() As String + Get + Return ResourceManager.GetString("GetFriendshipInfo3", resourceCulture) + End Get + End Property + + ''' + ''' <<< ? ?????????????障??????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property GetFriendshipInfo4() As String + Get + Return ResourceManager.GetString("GetFriendshipInfo4", resourceCulture) + End Get + End Property + + ''' + ''' ?????????????≫? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property GetFriendshipInfo5() As String + Get + Return ResourceManager.GetString("GetFriendshipInfo5", resourceCulture) + End Get + End Property + + ''' + ''' ???????倶????紊掩? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property GetFriendshipInfo6() As String + Get + Return ResourceManager.GetString("GetFriendshipInfo6", resourceCulture) + End Get + End Property + + ''' + ''' Recent?贋?絎?? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property GetTimelineWorker_RunWorkerCompletedText1() As String + Get + Return ResourceManager.GetString("GetTimelineWorker_RunWorkerCompletedText1", resourceCulture) + End Get + End Property + + ''' + ''' 莎桁????莨弱?篋????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property GetTimelineWorker_RunWorkerCompletedText10() As String + Get + Return ResourceManager.GetString("GetTimelineWorker_RunWorkerCompletedText10", resourceCulture) + End Get + End Property + + ''' + ''' DMRcv?贋?絎?? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property GetTimelineWorker_RunWorkerCompletedText11() As String + Get + Return ResourceManager.GetString("GetTimelineWorker_RunWorkerCompletedText11", resourceCulture) + End Get + End Property + + ''' + ''' DMSnt?贋?筝?.. ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property GetTimelineWorker_RunWorkerCompletedText12() As String + Get + Return ResourceManager.GetString("GetTimelineWorker_RunWorkerCompletedText12", resourceCulture) + End Get + End Property + + ''' + ''' DMSnt?贋?絎?? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property GetTimelineWorker_RunWorkerCompletedText13() As String + Get + Return ResourceManager.GetString("GetTimelineWorker_RunWorkerCompletedText13", resourceCulture) + End Get + End Property + + ''' + ''' POST絎?? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property GetTimelineWorker_RunWorkerCompletedText14() As String + Get + Return ResourceManager.GetString("GetTimelineWorker_RunWorkerCompletedText14", resourceCulture) + End Get + End Property + + ''' + ''' Fav菴遵?( ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property GetTimelineWorker_RunWorkerCompletedText15() As String + Get + Return ResourceManager.GetString("GetTimelineWorker_RunWorkerCompletedText15", resourceCulture) + End Get + End Property + + ''' + ''' ) 紊掩?: ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property GetTimelineWorker_RunWorkerCompletedText16() As String + Get + Return ResourceManager.GetString("GetTimelineWorker_RunWorkerCompletedText16", resourceCulture) + End Get + End Property + + ''' + ''' Fav???( ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property GetTimelineWorker_RunWorkerCompletedText17() As String + Get + Return ResourceManager.GetString("GetTimelineWorker_RunWorkerCompletedText17", resourceCulture) + End Get + End Property + + ''' + ''' ) 紊掩?: ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property GetTimelineWorker_RunWorkerCompletedText18() As String + Get + Return ResourceManager.GetString("GetTimelineWorker_RunWorkerCompletedText18", resourceCulture) + End Get + End Property + + ''' + ''' Fav???筝?.. ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property GetTimelineWorker_RunWorkerCompletedText19() As String + Get + Return ResourceManager.GetString("GetTimelineWorker_RunWorkerCompletedText19", resourceCulture) + End Get + End Property + + ''' + ''' Fav???絎?? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property GetTimelineWorker_RunWorkerCompletedText20() As String + Get + Return ResourceManager.GetString("GetTimelineWorker_RunWorkerCompletedText20", resourceCulture) + End Get + End Property + + ''' + ''' 茯??莨若?膓??腆肴? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property GetTimelineWorker_RunWorkerCompletedText3() As String + Get + Return ResourceManager.GetString("GetTimelineWorker_RunWorkerCompletedText3", resourceCulture) + End Get + End Property + + ''' + ''' Reply?贋?筝?.. ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property GetTimelineWorker_RunWorkerCompletedText4() As String + Get + Return ResourceManager.GetString("GetTimelineWorker_RunWorkerCompletedText4", resourceCulture) + End Get + End Property + + ''' + ''' Recent?贋?筝?.. ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property GetTimelineWorker_RunWorkerCompletedText5() As String + Get + Return ResourceManager.GetString("GetTimelineWorker_RunWorkerCompletedText5", resourceCulture) + End Get + End Property + + ''' + ''' pages ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property GetTimelineWorker_RunWorkerCompletedText6() As String + Get + Return ResourceManager.GetString("GetTimelineWorker_RunWorkerCompletedText6", resourceCulture) + End Get + End Property + + ''' + ''' DMRcv?贋?筝?.. ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property GetTimelineWorker_RunWorkerCompletedText8() As String + Get + Return ResourceManager.GetString("GetTimelineWorker_RunWorkerCompletedText8", resourceCulture) + End Get + End Property + + ''' + ''' Reply?贋?絎?? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property GetTimelineWorker_RunWorkerCompletedText9() As String + Get + Return ResourceManager.GetString("GetTimelineWorker_RunWorkerCompletedText9", resourceCulture) + End Get + End Property + + ''' + ''' (?域??帥?) ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property IDRuleMenuItem_ClickText1() As String + Get + Return ResourceManager.GetString("IDRuleMenuItem_ClickText1", resourceCulture) + End Get + End Property + + ''' + ''' ?帥???quot;"{0}""????≪?絖??????????申??????????????????????????????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property IDRuleMenuItem_ClickText2() As String + Get + Return ResourceManager.GetString("IDRuleMenuItem_ClickText2", resourceCulture) + End Get + End Property + + ''' + ''' ?帥?菴遵? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property IDRuleMenuItem_ClickText3() As String + Get + Return ResourceManager.GetString("IDRuleMenuItem_ClickText3", resourceCulture) + End Get + End Property + + ''' + ''' Recent?????????鐚?0} ?????????罧??{0} ?????????罧????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property IDRuleMenuItem_ClickText4() As String + Get + Return ResourceManager.GetString("IDRuleMenuItem_ClickText4", resourceCulture) + End Get + End Property + + ''' + ''' 腱糸?腆肴? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property IDRuleMenuItem_ClickText5() As String + Get + Return ResourceManager.GetString("IDRuleMenuItem_ClickText5", resourceCulture) + End Get + End Property + + ''' + ''' ???????ゃ??障????{0} ??????????ゃ???0} ??????????ゃ???? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property IDRuleMenuItem_ClickText6() As String + Get + Return ResourceManager.GetString("IDRuleMenuItem_ClickText6", resourceCulture) + End Get + End Property + + ''' + ''' ?????∈茯????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property IDRuleMenuItem_ClickText7() As String + Get + Return ResourceManager.GetString("IDRuleMenuItem_ClickText7", resourceCulture) + End Get + End Property + + Friend ReadOnly Property InitialImage() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("InitialImage", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' ?帥?????ゃ??????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property InputTabName_Load1() As String + Get + Return ResourceManager.GetString("InputTabName_Load1", resourceCulture) + End Get + End Property + + ''' + ''' <a href="http://twitter.com/" rel="nofollow">Keitai Mail</a> ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property KeitaiMailSourceString() As String + Get + Return ResourceManager.GetString("KeitaiMailSourceString", resourceCulture) + End Get + End Property + + ''' + ''' ???????????????????????????鐚????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ListManageDeleteLists1() As String + Get + Return ResourceManager.GetString("ListManageDeleteLists1", resourceCulture) + End Get + End Property + + ''' + ''' ???????吟?????鴻?????????????????с???? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ListManageDeleteUser1() As String + Get + Return ResourceManager.GetString("ListManageDeleteUser1", resourceCulture) + End Get + End Property + + ''' + ''' ?<????????ゃ?紊掩???????鐚?0}鐚????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ListManageDeleteUser2() As String + Get + Return ResourceManager.GetString("ListManageDeleteUser2", resourceCulture) + End Get + End Property + + ''' + ''' ?<??????????け????障????{0}鐚????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ListManageGetListMembersCallback1() As String + Get + Return ResourceManager.GetString("ListManageGetListMembersCallback1", resourceCulture) + End Get + End Property + + ''' + ''' ???????????????????????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ListManageOKButton1() As String + Get + Return ResourceManager.GetString("ListManageOKButton1", resourceCulture) + End Get + End Property + + ''' + ''' ???????宴??????け????障????{0}鐚????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ListManageOKButton2() As String + Get + Return ResourceManager.GetString("ListManageOKButton2", resourceCulture) + End Get + End Property + + ''' + ''' ???????宴??????け????障????{0}鐚????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ListsDeleteFailed() As String + Get + Return ResourceManager.GetString("ListsDeleteFailed", resourceCulture) + End Get + End Property + + ''' + ''' ???????宴???????????????????????<??????.. ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ListsGetting() As String + Get + Return ResourceManager.GetString("ListsGetting", resourceCulture) + End Get + End Property + + ''' + ''' ???荐??????ゃ???Tween ????????????????????????紊??????????????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property LoadConfigurationText1() As String + Get + Return ResourceManager.GetString("LoadConfigurationText1", resourceCulture) + End Get + End Property + + ''' + ''' 罩h?茵?憗??帥??潟?????c??????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property MenuItemSearchNext_ClickText1() As String + Get + Return ResourceManager.GetString("MenuItemSearchNext_ClickText1", resourceCulture) + End Get + End Property + + ''' + ''' 罎?刈?>散????眼?????若?????ゃ????????????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property MenuItemSearchNext_ClickText2() As String + Get + Return ResourceManager.GetString("MenuItemSearchNext_ClickText2", resourceCulture) + End Get + End Property + + ''' + ''' 罎?刈 ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property MenuItemSearchNext_ClickText3() As String + Get + Return ResourceManager.GetString("MenuItemSearchNext_ClickText3", resourceCulture) + End Get + End Property + + ''' + ''' 罩h?茵?憗??帥??潟?????c??????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property MenuItemSearchPrev_ClickText1() As String + Get + Return ResourceManager.GetString("MenuItemSearchPrev_ClickText1", resourceCulture) + End Get + End Property + + ''' + ''' 罎?刈?>散????眼?????若?????ゃ????????????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property MenuItemSearchPrev_ClickText2() As String + Get + Return ResourceManager.GetString("MenuItemSearchPrev_ClickText2", resourceCulture) + End Get + End Property + + ''' + ''' 罎?刈 ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property MenuItemSearchPrev_ClickText3() As String + Get + Return ResourceManager.GetString("MenuItemSearchPrev_ClickText3", resourceCulture) + End Get + End Property + + Friend ReadOnly Property MIcon() As System.Drawing.Icon + Get + Dim obj As Object = ResourceManager.GetObject("MIcon", resourceCulture) + Return CType(obj,System.Drawing.Icon) + End Get + End Property + + Friend ReadOnly Property MultiMediaImage() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("MultiMediaImage", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' ???????鴻?????????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property MyLists1() As String + Get + Return ResourceManager.GetString("MyLists1", resourceCulture) + End Get + End Property + + ''' + ''' ?帥????: ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property NiconicoInfoText1() As String + Get + Return ResourceManager.GetString("NiconicoInfoText1", resourceCulture) + End Get + End Property + + ''' + ''' ??????: ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property NiconicoInfoText2() As String + Get + Return ResourceManager.GetString("NiconicoInfoText2", resourceCulture) + End Get + End Property + + ''' + ''' ??┸?ユ?: ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property NiconicoInfoText3() As String + Get + Return ResourceManager.GetString("NiconicoInfoText3", resourceCulture) + End Get + End Property + + ''' + ''' ????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property NiconicoInfoText4() As String + Get + Return ResourceManager.GetString("NiconicoInfoText4", resourceCulture) + End Get + End Property + + ''' + ''' ?潟??潟??? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property NiconicoInfoText5() As String + Get + Return ResourceManager.GetString("NiconicoInfoText5", resourceCulture) + End Get + End Property + + ''' + ''' ?????????: ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property NiconicoInfoText6() As String + Get + Return ResourceManager.GetString("NiconicoInfoText6", resourceCulture) + End Get + End Property + + ''' + ''' ????????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property No() As String + Get + Return ResourceManager.GetString("No", resourceCulture) + End Get + End Property + + ''' + ''' ?肴? {0} ?????? {1} ????????{2}({3}) ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property OwnStatusTitle() As String + Get + Return ResourceManager.GetString("OwnStatusTitle", resourceCulture) + End Get + End Property + + ''' + ''' ??┸????糸?????????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property PickPictureDialog1() As String + Get + Return ResourceManager.GetString("PickPictureDialog1", resourceCulture) + End Get + End Property + + ''' + ''' 膩?????????????????綣???????腮帥??障???????????с????{0}[???鐚??綣??ф?腮?{0}[?????????綣??ф?腮?{0}[????潟??????┸????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property PostButton_Click1() As String + Get + Return ResourceManager.GetString("PostButton_Click1", resourceCulture) + End Get + End Property + + ''' + ''' 140???????????????URL??軒???????ゅサ???絨障????????c???┸??????鐚????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property PostLengthOverMessage1() As String + Get + Return ResourceManager.GetString("PostLengthOverMessage1", resourceCulture) + End Get + End Property + + ''' + ''' ????医?????若??????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property PostLengthOverMessage2() As String + Get + Return ResourceManager.GetString("PostLengthOverMessage2", resourceCulture) + End Get + End Property + + ''' + ''' ??????????吟??????????????????с??????????腮帥?????潟?????障??????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property PostLengthOverMessage3() As String + Get + Return ResourceManager.GetString("PostLengthOverMessage3", resourceCulture) + End Get + End Property + + ''' + ''' ?糸????腮帥??障?????????????鐚????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property PostPictureConfirm1() As String + Get + Return ResourceManager.GetString("PostPictureConfirm1", resourceCulture) + End Get + End Property + + ''' + ''' ?糸???┸腆肴? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property PostPictureConfirm2() As String + Get + Return ResourceManager.GetString("PostPictureConfirm2", resourceCulture) + End Get + End Property + + ''' + ''' ??┸????糸??障????腮水??泣????????????????????????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property PostPictureWarn1() As String + Get + Return ResourceManager.GetString("PostPictureWarn1", resourceCulture) + End Get + End Property + + ''' + ''' ?糸???┸ ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property PostPictureWarn2() As String + Get + Return ResourceManager.GetString("PostPictureWarn2", resourceCulture) + End Get + End Property + + ''' + ''' POST絎?? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property PostWorker_RunWorkerCompletedText4() As String + Get + Return ResourceManager.GetString("PostWorker_RunWorkerCompletedText4", resourceCulture) + End Get + End Property + + ''' + ''' Recent?贋?筝?.. ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property PostWorker_RunWorkerCompletedText5() As String + Get + Return ResourceManager.GetString("PostWorker_RunWorkerCompletedText5", resourceCulture) + End Get + End Property + + ''' + ''' ?贋????????医?鐚??障???0鐔?000鐚??????????????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property PubSearchPeriod_ValidatingText1() As String + Get + Return ResourceManager.GetString("PubSearchPeriod_ValidatingText1", resourceCulture) + End Get + End Property + + ''' + ''' ?贋????????医?鐚??障???0鐔?000鐚??????????????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property PubSearchPeriod_ValidatingText2() As String + Get + Return ResourceManager.GetString("PubSearchPeriod_ValidatingText2", resourceCulture) + End Get + End Property + + Friend ReadOnly Property Refresh() As System.Drawing.Icon + Get + Dim obj As Object = ResourceManager.GetObject("Refresh", resourceCulture) + Return CType(obj,System.Drawing.Icon) + End Get + End Property + + Friend ReadOnly Property Refresh2() As System.Drawing.Icon + Get + Dim obj As Object = ResourceManager.GetObject("Refresh2", resourceCulture) + Return CType(obj,System.Drawing.Icon) + End Get + End Property + + Friend ReadOnly Property Refresh3() As System.Drawing.Icon + Get + Dim obj As Object = ResourceManager.GetObject("Refresh3", resourceCulture) + Return CType(obj,System.Drawing.Icon) + End Get + End Property + + Friend ReadOnly Property Refresh4() As System.Drawing.Icon + Get + Dim obj As Object = ResourceManager.GetObject("Refresh4", resourceCulture) + Return CType(obj,System.Drawing.Icon) + End Get + End Property + + ''' + ''' ?亥? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property RefreshDirectMessageText1() As String + Get + Return ResourceManager.GetString("RefreshDirectMessageText1", resourceCulture) + End Get + End Property + + ''' + ''' 篁????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property RefreshDirectMessageText2() As String + Get + Return ResourceManager.GetString("RefreshDirectMessageText2", resourceCulture) + End Get + End Property + + ''' + ''' Recent?贋?筝?.. ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property RefreshStripMenuItem_ClickText1() As String + Get + Return ResourceManager.GetString("RefreshStripMenuItem_ClickText1", resourceCulture) + End Get + End Property + + ''' + ''' Reply?贋?筝?.. ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property RefreshStripMenuItem_ClickText2() As String + Get + Return ResourceManager.GetString("RefreshStripMenuItem_ClickText2", resourceCulture) + End Get + End Property + + ''' + ''' DMRcv?贋?筝?.. ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property RefreshStripMenuItem_ClickText3() As String + Get + Return ResourceManager.GetString("RefreshStripMenuItem_ClickText3", resourceCulture) + End Get + End Property + + ''' + ''' ?亥? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property RefreshTimelineText1() As String + Get + Return ResourceManager.GetString("RefreshTimelineText1", resourceCulture) + End Get + End Property + + ''' + ''' 篁????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property RefreshTimelineText2() As String + Get + Return ResourceManager.GetString("RefreshTimelineText2", resourceCulture) + End Get + End Property + + ''' + ''' ???茯?昭 ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property RefreshTimelineText3() As String + Get + Return ResourceManager.GetString("RefreshTimelineText3", resourceCulture) + End Get + End Property + + ''' + ''' 莎桁?茯?昭 ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property RefreshTimelineText4() As String + Get + Return ResourceManager.GetString("RefreshTimelineText4", resourceCulture) + End Get + End Property + + ''' + ''' ????????В?ゃ?????障??祉??????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property RemoveCommandText1() As String + Get + Return ResourceManager.GetString("RemoveCommandText1", resourceCulture) + End Get + End Property + + ''' + ''' ????帥?????ゃ???????????с????{0} ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property RemoveSpecifiedTabText1() As String + Get + Return ResourceManager.GetString("RemoveSpecifiedTabText1", resourceCulture) + End Get + End Property + + ''' + ''' ?帥?????ょ∈茯????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property RemoveSpecifiedTabText2() As String + Get + Return ResourceManager.GetString("RemoveSpecifiedTabText2", resourceCulture) + End Get + End Property + + Friend ReadOnly Property Reply() As System.Drawing.Icon + Get + Dim obj As Object = ResourceManager.GetObject("Reply", resourceCulture) + Return CType(obj,System.Drawing.Icon) + End Get + End Property + + Friend ReadOnly Property ReplyBlink() As System.Drawing.Icon + Get + Dim obj As Object = ResourceManager.GetObject("ReplyBlink", resourceCulture) + Return CType(obj,System.Drawing.Icon) + End Get + End Property + + ''' + ''' Retweet???????????????鐚????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property RetweetQuestion1() As String + Get + Return ResourceManager.GetString("RetweetQuestion1", resourceCulture) + End Get + End Property + + ''' + ''' Retweet????潟????筝???祉? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property RtCountMenuItem_ClickText1() As String + Get + Return ResourceManager.GetString("RtCountMenuItem_ClickText1", resourceCulture) + End Get + End Property + + ''' + ''' ??etweet???????障? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property RtCountText1() As String + Get + Return ResourceManager.GetString("RtCountText1", resourceCulture) + End Get + End Property + + ''' + ''' Retweet????潟???????け????障??????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property RtCountText2() As String + Get + Return ResourceManager.GetString("RtCountText2", resourceCulture) + End Get + End Property + + ''' + ''' ????吟?????????????????????????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property Save_ClickText1() As String + Get + Return ResourceManager.GetString("Save_ClickText1", resourceCulture) + End Get + End Property + + ''' + ''' ????吟???????????????????????鐚???若??≪????筝??? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property Save_ClickText2() As String + Get + Return ResourceManager.GetString("Save_ClickText2", resourceCulture) + End Get + End Property + + ''' + ''' 荐???ゃ?茯ゃ?????????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property Save_ClickText3() As String + Get + Return ResourceManager.GetString("Save_ClickText3", resourceCulture) + End Get + End Property + + ''' + ''' ?御?筝????????荐??篆????????鐚?0}????????????鐚???肴????絖????0}????????????鐚???????????荐???推?絖????0}???????潟????鐚??絖?????????潟???0}鐚??????????????????<???就綣?т?絖???障?鐚????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property SaveLogMenuItem_ClickText1() As String + Get + Return ResourceManager.GetString("SaveLogMenuItem_ClickText1", resourceCulture) + End Get + End Property + + ''' + ''' 篆??絲乗院?御? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property SaveLogMenuItem_ClickText2() As String + Get + Return ResourceManager.GetString("SaveLogMenuItem_ClickText2", resourceCulture) + End Get + End Property + + ''' + ''' TSV????ゃ?(*.tsv)|*.tsv|??????????ゃ?(*.*)|*.* ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property SaveLogMenuItem_ClickText3() As String + Get + Return ResourceManager.GetString("SaveLogMenuItem_ClickText3", resourceCulture) + End Get + End Property + + ''' + ''' 篆?????????ゃ??????????????????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property SaveLogMenuItem_ClickText4() As String + Get + Return ResourceManager.GetString("SaveLogMenuItem_ClickText4", resourceCulture) + End Get + End Property + + ''' + ''' http://ja.wikipedia.org/wiki/{0} ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property SearchItem1Url() As String + Get + Return ResourceManager.GetString("SearchItem1Url", resourceCulture) + End Get + End Property + + ''' + ''' http://www.google.com/search?hl=ja&q={0} ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property SearchItem2Url() As String + Get + Return ResourceManager.GetString("SearchItem2Url", resourceCulture) + End Get + End Property + + ''' + ''' http://pcod.no-ip.org/yats/search?query={0} ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property SearchItem3Url() As String + Get + Return ResourceManager.GetString("SearchItem3Url", resourceCulture) + End Get + End Property + + ''' + ''' http://search.twitter.com/search?q={0} ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property SearchItem4Url() As String + Get + Return ResourceManager.GetString("SearchItem4Url", resourceCulture) + End Get + End Property + + ''' + ''' [????駈愁鐔ワ愁{0}] ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property SetFiltersText1() As String + Get + Return ResourceManager.GetString("SetFiltersText1", resourceCulture) + End Get + End Property + + ''' + ''' ???????????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property SetFiltersText10() As String + Get + Return ResourceManager.GetString("SetFiltersText10", resourceCulture) + End Get + End Property + + ''' + ''' ?潟??若??? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property SetFiltersText11() As String + Get + Return ResourceManager.GetString("SetFiltersText11", resourceCulture) + End Get + End Property + + ''' + ''' <<?ゅ?>> ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property SetFiltersText12() As String + Get + Return ResourceManager.GetString("SetFiltersText12", resourceCulture) + End Get + End Property + + ''' + ''' 紊у??阪?/ ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property SetFiltersText13() As String + Get + Return ResourceManager.GetString("SetFiltersText13", resourceCulture) + End Get + End Property + + ''' + ''' [????駈愁鐔ワ愁(???)] ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property SetFiltersText2() As String + Get + Return ResourceManager.GetString("SetFiltersText2", resourceCulture) + End Get + End Property + + ''' + ''' [???鐔ワ愁鐔????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property SetFiltersText3() As String + Get + Return ResourceManager.GetString("SetFiltersText3", resourceCulture) + End Get + End Property + + ''' + ''' ] ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property SetFiltersText4() As String + Get + Return ResourceManager.GetString("SetFiltersText4", resourceCulture) + End Get + End Property + + ''' + ''' 茲??/ ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property SetFiltersText5() As String + Get + Return ResourceManager.GetString("SetFiltersText5", resourceCulture) + End Get + End Property + + ''' + ''' ???/ ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property SetFiltersText6() As String + Get + Return ResourceManager.GetString("SetFiltersText6", resourceCulture) + End Get + End Property + + ''' + ''' Regexp/ ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property SetFiltersText7() As String + Get + Return ResourceManager.GetString("SetFiltersText7", resourceCulture) + End Get + End Property + + ''' + ''' URL/ ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property SetFiltersText8() As String + Get + Return ResourceManager.GetString("SetFiltersText8", resourceCulture) + End Get + End Property + + ''' + ''' 腱糸???? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property SetFiltersText9() As String + Get + Return ResourceManager.GetString("SetFiltersText9", resourceCulture) + End Get + End Property + + ''' + ''' {0}篁?(???鐚? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property SetMainWindowTitleText1() As String + Get + Return ResourceManager.GetString("SetMainWindowTitleText1", resourceCulture) + End Get + End Property + + ''' + ''' {0}篁?(???) ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property SetMainWindowTitleText2() As String + Get + Return ResourceManager.GetString("SetMainWindowTitleText2", resourceCulture) + End Get + End Property + + ''' + ''' {0} ({1})篁?(???) ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property SetMainWindowTitleText3() As String + Get + Return ResourceManager.GetString("SetMainWindowTitleText3", resourceCulture) + End Get + End Property + + ''' + ''' {0}/{1}篁?(???/膩鋌倶?) ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property SetMainWindowTitleText4() As String + Get + Return ResourceManager.GetString("SetMainWindowTitleText4", resourceCulture) + End Get + End Property + + ''' + ''' [?帥?: {0}/{1} ???: {2}/{3} (菴?拭: {4})] [???: ??{5}/ ??{6}/ 羌?{7}] [???: ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property SetStatusLabelText1() As String + Get + Return ResourceManager.GetString("SetStatusLabelText1", resourceCulture) + End Get + End Property + + ''' + ''' -] ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property SetStatusLabelText2() As String + Get + Return ResourceManager.GetString("SetStatusLabelText2", resourceCulture) + End Get + End Property + + ''' + ''' ] ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property SetStatusLabelText3() As String + Get + Return ResourceManager.GetString("SetStatusLabelText3", resourceCulture) + End Get + End Property + + ''' + ''' ????吟??????????????ュ???????荐若????????潟??若??????????茯?┝??????篋????????????с???? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property Setting_FormClosing1() As String + Get + Return ResourceManager.GetString("Setting_FormClosing1", resourceCulture) + End Get + End Property + + ''' + ''' 羔?音API??: {0} / h (??ぇ : {1} / h) ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property SettingAPIUse1() As String + Get + Return ResourceManager.GetString("SettingAPIUse1", resourceCulture) + End Get + End Property + + ''' + ''' ID??PI???????水?????????障???D??????荐??????????????????????I????с????腆肴???????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property SettingSave_ClickText1() As String + Get + Return ResourceManager.GetString("SettingSave_ClickText1", resourceCulture) + End Get + End Property + + ''' + ''' ???????倶????筝???祉? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ShowFriendshipText1() As String + Get + Return ResourceManager.GetString("ShowFriendshipText1", resourceCulture) + End Get + End Property + + ''' + ''' ????吟????茹f?紊掩? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ShowUserInfo1() As String + Get + Return ResourceManager.GetString("ShowUserInfo1", resourceCulture) + End Get + End Property + + ''' + ''' ????肴???????け????障??????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ShowUserInfo2() As String + Get + Return ResourceManager.GetString("ShowUserInfo2", resourceCulture) + End Get + End Property + + ''' + ''' ?障??????????????若????????????????????腮水????綺??荅????????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property ShowYourProfileText1() As String + Get + Return ResourceManager.GetString("ShowYourProfileText1", resourceCulture) + End Get + End Property + + ''' + ''' 茯??莨若?????御?????医?鐚?鐔?99鐚??????????????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property StartupReadDM_ValidatingText1() As String + Get + Return ResourceManager.GetString("StartupReadDM_ValidatingText1", resourceCulture) + End Get + End Property + + ''' + ''' 茯??莨若?????御?????医?鐚?鐔?99鐚??????????????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property StartupReadDM_ValidatingText2() As String + Get + Return ResourceManager.GetString("StartupReadDM_ValidatingText2", resourceCulture) + End Get + End Property + + ''' + ''' 茯??莨若?????御?????医?鐚?鐔?99鐚??????????????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property StartupReadPages_ValidatingText1() As String + Get + Return ResourceManager.GetString("StartupReadPages_ValidatingText1", resourceCulture) + End Get + End Property + + ''' + ''' 茯??莨若?????御?????医?鐚?鐔?99鐚??????????????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property StartupReadPages_ValidatingText2() As String + Get + Return ResourceManager.GetString("StartupReadPages_ValidatingText2", resourceCulture) + End Get + End Property + + ''' + ''' 茯??莨若?????御?????医?鐚?鐔?99鐚??????????????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property StartupReadReply_ValidatingText1() As String + Get + Return ResourceManager.GetString("StartupReadReply_ValidatingText1", resourceCulture) + End Get + End Property + + ''' + ''' 茯??莨若?????御?????医?鐚?鐔?99鐚??????????????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property StartupReadReply_ValidatingText2() As String + Get + Return ResourceManager.GetString("StartupReadReply_ValidatingText2", resourceCulture) + End Get + End Property + + ''' + ''' Tween?????儀????????????2??儀????????????????????ween.exe???茵??????????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property StartupText1() As String + Get + Return ResourceManager.GetString("StartupText1", resourceCulture) + End Get + End Property + + ''' + ''' Tween篋??莎桁??????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property StartupText2() As String + Get + Return ResourceManager.GetString("StartupText2", resourceCulture) + End Get + End Property + + ''' + ''' ??┸??け????障??????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property StatusUpdateFailed1() As String + Get + Return ResourceManager.GetString("StatusUpdateFailed1", resourceCulture) + End Get + End Property + + ''' + ''' ???筝?墾??┸????帥????鐚????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property StatusUpdateFailed2() As String + Get + Return ResourceManager.GetString("StatusUpdateFailed2", resourceCulture) + End Get + End Property + + Friend ReadOnly Property TabIcon() As System.Drawing.Icon + Get + Dim obj As Object = ResourceManager.GetObject("TabIcon", resourceCulture) + Return CType(obj,System.Drawing.Icon) + End Get + End Property + + ''' + ''' (?域??帥?) ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property TabMenuItem_ClickText1() As String + Get + Return ResourceManager.GetString("TabMenuItem_ClickText1", resourceCulture) + End Get + End Property + + ''' + ''' ?帥???quot;"{0}""????≪?絖??????????申??????????????????????????????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property TabMenuItem_ClickText2() As String + Get + Return ResourceManager.GetString("TabMenuItem_ClickText2", resourceCulture) + End Get + End Property + + ''' + ''' ?帥?菴遵? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property TabMenuItem_ClickText3() As String + Get + Return ResourceManager.GetString("TabMenuItem_ClickText3", resourceCulture) + End Get + End Property + + ''' + ''' ?帥???quot;"{0}""????≪?絖????????????眼????????????????????????????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property Tabs_DoubleClickText1() As String + Get + Return ResourceManager.GetString("Tabs_DoubleClickText1", resourceCulture) + End Get + End Property + + ''' + ''' ?帥?????????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property Tabs_DoubleClickText2() As String + Get + Return ResourceManager.GetString("Tabs_DoubleClickText2", resourceCulture) + End Get + End Property + + ''' + ''' DirectMessage ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property TabUsageTypeName_DirectMessage() As String + Get + Return ResourceManager.GetString("TabUsageTypeName_DirectMessage", resourceCulture) + End Get + End Property + + ''' + ''' Favorites ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property TabUsageTypeName_Favorites() As String + Get + Return ResourceManager.GetString("TabUsageTypeName_Favorites", resourceCulture) + End Get + End Property + + ''' + ''' ?帥?????ゃ? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property TabUsageTypeName_Home() As String + Get + Return ResourceManager.GetString("TabUsageTypeName_Home", resourceCulture) + End Get + End Property + + ''' + ''' Lists ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property TabUsageTypeName_Lists() As String + Get + Return ResourceManager.GetString("TabUsageTypeName_Lists", resourceCulture) + End Get + End Property + + ''' + ''' Reply ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property TabUsageTypeName_Mentions() As String + Get + Return ResourceManager.GetString("TabUsageTypeName_Mentions", resourceCulture) + End Get + End Property + + ''' + ''' PublicSearch ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property TabUsageTypeName_PublicSearch() As String + Get + Return ResourceManager.GetString("TabUsageTypeName_PublicSearch", resourceCulture) + End Get + End Property + + ''' + ''' ?帥?????ゃ??????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property TabUsageTypeName_UserDefined() As String + Get + Return ResourceManager.GetString("TabUsageTypeName_UserDefined", resourceCulture) + End Get + End Property + + ''' + ''' 緇?柑??????????????????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property TextBoxOutputzKey_Validating() As String + Get + Return ResourceManager.GetString("TextBoxOutputzKey_Validating", resourceCulture) + End Get + End Property + + ''' + ''' ????肴??違?20鐔?00篁吟?????????????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property TextCountApi_Validating1() As String + Get + Return ResourceManager.GetString("TextCountApi_Validating1", resourceCulture) + End Get + End Property + + ''' + ''' ???????激?????医????絎??????????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property TextProxyPort_ValidatingText1() As String + Get + Return ResourceManager.GetString("TextProxyPort_ValidatingText1", resourceCulture) + End Get + End Property + + ''' + ''' ???????激???鐔?5535???絎??????????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property TextProxyPort_ValidatingText2() As String + Get + Return ResourceManager.GetString("TextProxyPort_ValidatingText2", resourceCulture) + End Get + End Property + + ''' + ''' ????肴??違?20鐔?00篁吟?????????????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property TextSearchCountApi_Validating1() As String + Get + Return ResourceManager.GetString("TextSearchCountApi_Validating1", resourceCulture) + End Get + End Property + + ''' + ''' ?贋????????医?鐚??障???5鐔?000鐚??????????????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property TimelinePeriod_ValidatingText1() As String + Get + Return ResourceManager.GetString("TimelinePeriod_ValidatingText1", resourceCulture) + End Get + End Property + + ''' + ''' ?贋????????医?鐚??障???5鐔?000鐚??????????????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property TimelinePeriod_ValidatingText2() As String + Get + Return ResourceManager.GetString("TimelinePeriod_ValidatingText2", resourceCulture) + End Get + End Property + + ''' + ''' DMRcv?贋?筝?.. ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property TimerDM_TickText1() As String + Get + Return ResourceManager.GetString("TimerDM_TickText1", resourceCulture) + End Get + End Property + + ''' + ''' Recent?贋?筝?.. ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property TimerTimeline_TickText1() As String + Get + Return ResourceManager.GetString("TimerTimeline_TickText1", resourceCulture) + End Get + End Property + + ''' + ''' ???????ゃ????絎鴻? kiri_feather @ users.sourceforge.jp ?障????????????????????障??????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property TraceOutText1() As String + Get + Return ResourceManager.GetString("TraceOutText1", resourceCulture) + End Get + End Property + + ''' + ''' ????????kiri_feather?障??????????????с?????????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property TraceOutText2() As String + Get + Return ResourceManager.GetString("TraceOutText2", resourceCulture) + End Get + End Property + + ''' + ''' ????医?: ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property TraceOutText3() As String + Get + Return ResourceManager.GetString("TraceOutText3", resourceCulture) + End Get + End Property + + ''' + ''' ??????????潟? ?激????: {0} ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property TraceOutText4() As String + Get + Return ResourceManager.GetString("TraceOutText4", resourceCulture) + End Get + End Property + + ''' + ''' ?演?荐??????帥??? : {0} ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property TraceOutText5() As String + Get + Return ResourceManager.GetString("TraceOutText5", resourceCulture) + End Get + End Property + + ''' + ''' Tween.exe????若??с? : {0} ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property TraceOutText6() As String + Get + Return ResourceManager.GetString("TraceOutText6", resourceCulture) + End Get + End Property + + ''' + ''' {0} ????若??с???? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property TweenAboutBox_LoadText1() As String + Get + Return ResourceManager.GetString("TweenAboutBox_LoadText1", resourceCulture) + End Get + End Property + + ''' + ''' ????吾???{0} ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property TweenAboutBox_LoadText2() As String + Get + Return ResourceManager.GetString("TweenAboutBox_LoadText2", resourceCulture) + End Get + End Property + + ''' + ''' **** ????????: {0} **** ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property UnhandledExceptionText1() As String + Get + Return ResourceManager.GetString("UnhandledExceptionText1", resourceCulture) + End Get + End Property + + ''' + ''' ????主??????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property UnhandledExceptionText10() As String + Get + Return ResourceManager.GetString("UnhandledExceptionText10", resourceCulture) + End Get + End Property + + ''' + ''' Administrator罔??鐚????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property UnhandledExceptionText11() As String + Get + Return ResourceManager.GetString("UnhandledExceptionText11", resourceCulture) + End Get + End Property + + ''' + ''' Users罔??鐚????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property UnhandledExceptionText12() As String + Get + Return ResourceManager.GetString("UnhandledExceptionText12", resourceCulture) + End Get + End Property + + ''' + ''' ???????ゃ????絎鴻? kiri_feather @ users.sourceforge.jp ?障????????????????????障??????篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property UnhandledExceptionText2() As String + Get + Return ResourceManager.GetString("UnhandledExceptionText2", resourceCulture) + End Get + End Property + + ''' + ''' ????????kiri_feather?障??????????????с?????????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property UnhandledExceptionText3() As String + Get + Return ResourceManager.GetString("UnhandledExceptionText3", resourceCulture) + End Get + End Property + + ''' + ''' ????医?: ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property UnhandledExceptionText4() As String + Get + Return ResourceManager.GetString("UnhandledExceptionText4", resourceCulture) + End Get + End Property + + ''' + ''' ??????????潟? ?激????: {0} ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property UnhandledExceptionText5() As String + Get + Return ResourceManager.GetString("UnhandledExceptionText5", resourceCulture) + End Get + End Property + + ''' + ''' ?演?荐??????帥??? : {0} ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property UnhandledExceptionText6() As String + Get + Return ResourceManager.GetString("UnhandledExceptionText6", resourceCulture) + End Get + End Property + + ''' + ''' Tween.exe????若??с? : {0} ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property UnhandledExceptionText7() As String + Get + Return ResourceManager.GetString("UnhandledExceptionText7", resourceCulture) + End Get + End Property + + ''' + ''' 箴?? {0}: {1} ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property UnhandledExceptionText8() As String + Get + Return ResourceManager.GetString("UnhandledExceptionText8", resourceCulture) + End Get + End Property + + ''' + ''' ????若??榊????????????????????????xe????ゃ?????????? {0} ???????c??????iri_feather @ users.sourceforge.jp?障????????????????????障???1}????????kiri_feather?障??????????????с??????????{1}??????????潟??????????????違?????障?????違????????翫?????????????????丞?篋????????????c??祉?????帥??????????????????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property UnhandledExceptionText9() As String + Get + Return ResourceManager.GetString("UnhandledExceptionText9", resourceCulture) + End Get + End Property + + ''' + ''' Followers???筝?.. ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property UpdateFollowersMenuItem1_ClickText1() As String + Get + Return ResourceManager.GetString("UpdateFollowersMenuItem1_ClickText1", resourceCulture) + End Get + End Property + + ''' + ''' Followers???????種? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property UpdateFollowersMenuItem1_ClickText2() As String + Get + Return ResourceManager.GetString("UpdateFollowersMenuItem1_ClickText2", resourceCulture) + End Get + End Property + + ''' + ''' Followers???絎?? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property UpdateFollowersMenuItem1_ClickText3() As String + Get + Return ResourceManager.GetString("UpdateFollowersMenuItem1_ClickText3", resourceCulture) + End Get + End Property + + ''' + ''' ??? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property UserInfoButtonEdit_ClickText1() As String + Get + Return ResourceManager.GetString("UserInfoButtonEdit_ClickText1", resourceCulture) + End Get + End Property + + ''' + ''' ???????若??贋?筝???祉? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property UserInfoButtonEdit_ClickText2() As String + Get + Return ResourceManager.GetString("UserInfoButtonEdit_ClickText2", resourceCulture) + End Get + End Property + + ''' + ''' ?帥????: ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property VimeoInfoText1() As String + Get + Return ResourceManager.GetString("VimeoInfoText1", resourceCulture) + End Get + End Property + + ''' + ''' ??┸?ユ?: ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property VimeoInfoText2() As String + Get + Return ResourceManager.GetString("VimeoInfoText2", resourceCulture) + End Get + End Property + + ''' + ''' Likes: ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property VimeoInfoText3() As String + Get + Return ResourceManager.GetString("VimeoInfoText3", resourceCulture) + End Get + End Property + + ''' + ''' ????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property VimeoInfoText4() As String + Get + Return ResourceManager.GetString("VimeoInfoText4", resourceCulture) + End Get + End Property + + ''' + ''' ?潟??潟??? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property VimeoInfoText5() As String + Get + Return ResourceManager.GetString("VimeoInfoText5", resourceCulture) + End Get + End Property + + ''' + ''' ??????: ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property VimeoInfoText6() As String + Get + Return ResourceManager.GetString("VimeoInfoText6", resourceCulture) + End Get + End Property + + ''' + ''' <a href="http://twitter.com/" rel="nofollow">web</a> ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property WebSourceString() As String + Get + Return ResourceManager.GetString("WebSourceString", resourceCulture) + End Get + End Property + + ''' + ''' ??? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property Yes() As String + Get + Return ResourceManager.GetString("Yes", resourceCulture) + End Get + End Property + + ''' + ''' ?帥????: ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property YouTubeInfoText1() As String + Get + Return ResourceManager.GetString("YouTubeInfoText1", resourceCulture) + End Get + End Property + + ''' + ''' ??????: ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property YouTubeInfoText2() As String + Get + Return ResourceManager.GetString("YouTubeInfoText2", resourceCulture) + End Get + End Property + + ''' + ''' ??┸?ユ?: ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property YouTubeInfoText3() As String + Get + Return ResourceManager.GetString("YouTubeInfoText3", resourceCulture) + End Get + End Property + + ''' + ''' ????? ???篌若????????若?????冴??????????罎?刈?????? + ''' + Friend ReadOnly Property YouTubeInfoText4() As String + Get + Return ResourceManager.GetString("YouTubeInfoText4", resourceCulture) + End Get + End Property + End Module +End Namespace Added: branches/UserStream/Tween/My Project/Resources.en.resx =================================================================== --- branches/UserStream/Tween/My Project/Resources.en.resx (rev 0) +++ branches/UserStream/Tween/My Project/Resources.en.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,945 @@ +鏤??xml version="1.0" encoding="utf-8"?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + (New Tab) + + + Name + + + Post + + + Date + + + Username + + + Tab ""{0}""??s already exists; please specify other name. + + + Add tab + + + Executable (*.exe)|*.exe|All files (*.*)|*.* + + + Choose the web browser + + + Delete this rules? {0} ??1}??value> + + + Confirm deleting rule + + + Choice the rule. + + + Rule checking + + + Invalid regular expression pattern. + + + Tween Update Check + + + Versioin check failed. Please try again later. + + + Tween Update Check Result + + + New version {0} is available. Update? + + + Downloading updater failed. Try again later. + + + New version is available but download failed. Try again later. + + + New version is not found. Latest version is {0}. Download it? + + + Your Tween is latest; you don't need to update. Version: + + + Latest version: + + + Version check failed + + + Delete all tweets in this tab {0} ? (posts aren't deleted from the server.) + + + Confirm Clearing Tab + + + (Icon fetch failed) + + + (Choice the tweet) + + + Delete selected tweets/messages?{0}WARNING: They are deleted from server too!{0} To remove ID from tab, select [Move ID].{0} To remove tab, select [Delete Tab].{0}{0}To cancel operation, select [Cancel]. + + + Check removing + + + Remove failed + + + Remove succeeded + + + Fetching interval must a value in 0 or 15 to 6000. + + + Fetching interval must a value in 0 or 15 to 6000. + + + Invalid regular expression pattern. + + + No matches found. + + + Find + + + Mark favorite those selected tweets? + + + Check favoring + + + Favoring + + + No fav added + + + Unmark favorite those selected tweets? + + + Check favoring + + + Unfavoring + + + No fav removed + + + Refreshing... + + + Recent refreshed + + + Initial fetch completed + + + DMRcv refreshed + + + DMSnt refreshing... + + + DMSnt refreshed + + + POST completed + + + Mark fav( + + + ) failed: + + + Unmark fav( + + + ) failed: + + + Confirm continue reading + + + Reply refreshing... + + + Recent refreshing... + + + pages + + + DMRcv refreshing... + + + Reply refreshed + + + (New Tab) + + + Tab ""{0}""??s already exists; please specify other name. + + + Add tab + + + Leave in Recent? + + + Moving + + + Make post mark? + + + Marking + + + No information from Twitter. + + + Information from Twitter + + + This configuration file was generated by Tween automatically. Do not modify by hand. + + + Invalid regular expression pattern. + + + No matches found. + + + Find + + + Invalid regular expression pattern. + + + No matches found. + + + Find + + + POST completed + + + Recent refreshing... + + + New + + + tweets + + + Recent refreshing... + + + Reply refreshing... + + + DMRcv refreshing... + + + New + + + tweets + + + Load log + + + Initial loading + + + Remove this tab?{0} + + + Confirm removing tab + + + Save all selected tweets?{0} [Yes]: Save all tweets{0} [No]: Save all SELECTED tweets{0} [Cancel]: Cancel to save.{0}(Save as Tab-Separated-Text) + + + Select save target + + + TSV files (*.tsv)|*.tsv|All files (*.*)|*.* + + + Specify save as... + + + Specify username and password. + + + Invalid username (E-mail address is not allowed in username) + + + Invalid setting value. + + + http://en.wikipedia.org/wiki/{0} + + + http://www.google.com/search?q={0} + + + http://pcod.no-ip.org/yats/search?query={0} + + + http://search.twitter.com/search?q={0} + + + [User: {0}] + + + Make post mark + + + Copy/ + + + [User: (All)] + + + [Body: + + + ] + + + Complex/ + + + Simple/ + + + Regexp/ + + + URL/ + + + Move + + + {0} (Not Read Reply) + + + {0} (Not Read) + + + {0} ({1}) (Reply) + + + {0}/{1} (Not Read/All) + + + [Tab: {0}/{1} All: {2}/{3} (Reply: {4})] [Spd: Pst {5}/ Fav {6}/ TL {7}] [Interval: + + + -] + + + ] + + + Reading page number must be number 1 to 999. + + + Reading page number must be number 1 to 999. + + + Reading page number must be number 1 to 999. + + + Reading page number must be number 1 to 999. + + + Reading page number must be number 1 to 999. + + + Reading page number must be number 1 to 999. + + + Another Tween is running. To run plurally, execute Tween in another folder. + + + Tween + + + (New Tab) + + + Tab ""{0}""??s already exists; please specify other name. + + + Add tab + + + Port number must be integer number. + + + Port number must be number 0 to 65535. + + + Refresh interval must be number 0 or 15 to 6000 + + + Refresh interval must be number 0 or 15 to 6000 + + + DMRcv refreshing... + + + Recent refreshing... + + + Please send this file to kiri_feather @ users.sourceforge.jp. + + + Please tweet to @kiri_feather in Twitter if you can. + + + Environment: + + + Operating System: {0} + + + Common Language Runtime : {0} + + + Tween.exe Version : {0} + + + About {0} + + + Version {0} + + + **** Error Log: {0} **** + + + Error + + + Please send this file to kiri_feather @ users.sourceforge.jp. + + + Please tweet to @kiri_feather in Twitter if you can. + + + Environment: + + + Operating System: {0} + + + Common Language Runtime : {0} + + + Tween.exe Version : {0} + + + Exception {0}: {1} + + + We are sorry but error was happened. A log text was created as {0} in same folder of Tween.exe. Please send this to kiri_feather @ users.sourceforge.jp or{1}tweet to @kiri_feather in Twitter.{1}[OK] to open log file. [Cancel] to continue. + + + Followers refreshing... + + + Followers refresh error: + + + Followers refreshed + + + Your secret key using with Outputz must be fill-in. + + + Getting number of tweet in Api-mode must be 20 to 200. + + + Date + + + Tab ""{0}""??s already exists; please specify other name. + + + Rename tab + + + Administrator authority鐚?/value> + + + Users authority鐚?/value> + + + Fav refreshing... + + + Fav refreshed + + + <<Exclude>> + + + CaseSensitive/ + + + Upper bound : + + + Remain count : + + + Reset time : + + + API Information + + + * Failed to get API information. * + + + Please input user ID. + + + Failed : + + + Done! + + + The length of tweet is over 140 characters. Do you want to cut down automatically and to do post? + + + Over the limit length of tweet + + + Retweet this tweet? + + + Filtered Timeline + + + Your profile info don't taken yet. Please try again after posting the tweet. + + + Will you delete these selecting hashtags? + + + >>> Following + + + >>> NOT Following + + + <<< Followed + + + <<< NOT Followed + + + Relationship + + + Authentication success + + + Authentication failed + + + Authenticated + + + Not authenticated + + + Key in your Username and Password then press [Auth] button. Will you exit application without validating your account? + + + No + + + User Information analyze failed. + + + Yes + + + Failed to update status. + + + Do you retry to update status? + + + Consumption API : {0} / h (Limit : {1} / h) + + + Fetching interval must a value in 0 or 30 to 6000. + + + Fetching interval must a value in 0 or 30 to 6000. + + + Tweets: {0} Following: {1} Followers: {2}({3}) + + + Select a media file to upload + + + Do you want to upload the selected media file? + + + Confirm to upload + + + Please select a service to upload the media file. + + + Media sharing service + + + This tweet isn't changed. Post this tweet as Official Retweet?{0}[Yes:Official Retweet]{0}[No:resume]{0}[Cancel:abort to post] + + + Getting Api Information... + + + : Unblock this user? + + + Confirm unblock + + + Failed to unblock. + + + Unbloked. + + + : Block this user? + + + Confirm block. + + + Failed to block. + + + Success to unblock. + + + Can't add duplicated rule. + + + : Report spam this user? + + + Confirm Sapm Report + + + Failed to report spam. + + + Spam reported. Please confirm the result in web. + + + Select a tab copy to. + + + Select a tab move to. + + + : Unfollow this user? + + + Confirm unfollowing + + + Now getting API informations... + + + Images(*.gif;*.jpg;*.jpeg;*.png)|*.gif;*.jpg;*.jpeg;*.png + + + The icon file size is limited under 700kb. + + + Now changing icon... + + + Caution: Please confirm the icon after next tweet, if error was occured but icon was already updated. + + + Success to chage icon. + + + Invalid datetime format. + + + The timeout seconds must be between 10 to 120. + + + Warning: Haven't copied the tweets of protected users. + + + Invalid datetime format. + + + Now getting the profile... + + + Following... + + + Unfollowing... + + + nums Retweeted. + + + Failed to get retweeted count. + + + Now getting relations... + + + Failed to get latest tweet. + + + DirectMessage + + + Favorites + + + Timeline + + + Lists + + + Reply + + + PublicSearch + + + Distributed Timeline + + + Accept + + + Updating Profile... + + + Delete this Lists? + + + Remove this member from this Lists? + + + Failed to delete this member from this Lists. ({0}) + + + Failed to get members. ({0}) + + + Lists name required. + + + Failed to update Lists informations. ({0}) + + + Failed to get Lists. ({0}) + + + Getting Lists informations. Please wait... + + + : Manage Lists + + + Abort to posting status because @id may be rounded down. + + + http://favstar.fm/ + + + ?帥????: + + + ??┸?ユ?: + + + Likes: + + + ????? + + + ?潟??潟??? + + + ??????: + + + ?帥????: + + + ??????: + + + ??┸?ユ?: + + + ????? + + + 筝?墾??????菴遵????茵????????250篁吟??с???/value> + + + ????肴??違?20鐔?00篁吟?????????????? + + \ No newline at end of file Added: branches/UserStream/Tween/My Project/Resources.resx =================================================================== --- branches/UserStream/Tween/My Project/Resources.resx (rev 0) +++ branches/UserStream/Tween/My Project/Resources.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,1024 @@ +鏤??xml version="1.0" encoding="utf-8"?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + (?域??帥?) + + + ??? + + + ??┸ + + + ????ユ? + + + ????九? + + + ?帥???"{0}""????≪?絖??????????申??????????????????????????????? + + + ?帥?菴遵? + + + + ..\Resources\5b.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\6b.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\5r.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\5y.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + 絎??綵√?????ゃ?(*.exe)|*.exe|??????????ゃ?(*.*)|*.* + + + ?????????絎??????????/value> + + + ???????????????????????????鐚?0} ??1}??value> + + + ???????ょ∈茯?/value> + + + ??????????????????? + + + ???????с???/value> + + + 罩h?茵?憗????鐚?/value> + + + ..\Resources\ChangeLog.txt;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 + + + Tween?贋?腆肴? + + + ?贋????????吾??喝????け????障??????????緇????????綺??荅????????? + + + Tween?贋?腟?? + + + ?違?????若??с? {0} ????????????????贋???????鐚?/value> + + + ?≪?????若??若?????潟??若???け????障??????????緇????????綺??荅????????? + + + ????????????????障????????潟??若???け????障??????????緇????????綺??荅????????? + + + ?違?????若??с?????ゃ?????????{0} ???????????????綣桁?????贋???????鐚?/value> + + + ????????戎???????贋????荀??????障?????????戎??賢Ver鐚?/value> + + + ???Ver鐚?/value> + + + ????吾??潟??с???け??/value> + + + ????帥????荐??????≪???????????с????{0}鐚???若??若????荐?????????????? + + + ?帥?????∝∈茯?/value> + + + (?≪??潟??????с?????障??? + + + (?肴??????????????? + + + ?御???????????肴?(?障???M)????ゃ???????????с????{0}羈???????witter?泣??????????????障?鐚?0}????????D????ゃ??????????ID??Щ?????戎?c????????{0}?????????????翫????????????????篏帥??????????{0}{0}????????賢罩≪???????????c??祉?????帥?????????????? + + + ???腆肴? + + + ???紊掩? + + + ?????? + + + ?贋????????医?鐚??障???5鐔?000鐚??????????????? + + + ?贋????????医?鐚??障???5鐔?000鐚??????????????? + + + 罩h?茵?憗??帥??潟?????c??????? + + + 罎?刈?>散????眼?????若?????ゃ?????????/value> + + + 罎?刈 + + + ?御???????荐??Favorites??申????障?????????????鐚?/value> + + + Fav腆肴? + + + Fav菴遵?筝?.. + + + Fav菴遵???? + + + ?御???????荐??Favorites???????????????????с???? + + + Fav腆肴? + + + Fav???筝?.. + + + Fav?????? + + + ?贋?筝?.. + + + Recent?贋?絎?? + + + 莎桁????莨弱?篋?/value> + + + DMRcv?贋?絎?? + + + DMSnt?贋?筝?.. + + + DMSnt?贋?絎?? + + + POST絎?? + + + Fav菴遵?( + + + ) 紊掩?: + + + Fav???( + + + ) 紊掩?: + + + 茯??莨若?膓??腆肴? + + + Reply?贋?筝?.. + + + Recent?贋?筝?.. + + + pages + + + DMRcv?贋?筝?.. + + + Reply?贋?絎?? + + + (?域??帥?) + + + ?帥???"{0}""????≪?絖??????????申??????????????????????????????? + + + ?帥?菴遵? + + + Recent?????????鐚?0} ?????????罧??{0} ?????????罧????? + + + 腱糸?腆肴? + + + ???????ゃ??障????{0} ??????????ゃ???0} ??????????ゃ???? + + + ?????∈茯?/value> + + + ???荐??????ゃ???Tween ????????????????????????紊??????????????? + + + 罩h?茵?憗??帥??潟?????c??????? + + + 罎?刈?>散????眼?????若?????ゃ?????????/value> + + + 罎?刈 + + + 罩h?茵?憗??帥??潟?????c??????? + + + 罎?刈?>散????眼?????若?????ゃ?????????/value> + + + 罎?刈 + + + ..\Resources\4b.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + POST絎?? + + + Recent?贋?筝?.. + + + ..\Resources\re.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\re2.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\re3.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\re4.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ?亥? + + + 篁?/value> + + + Recent?贋?筝?.. + + + Reply?贋?筝?.. + + + DMRcv?贋?筝?.. + + + ?亥? + + + 篁?/value> + + + ???茯?昭 + + + 莎桁?茯?昭 + + + ????帥?????ゃ???????????с????{0} + + + ?帥?????ょ∈茯?/value> + + + ?御?筝????????荐??篆????????鐚?0}????????????鐚???肴????絖????0}????????????鐚???????????荐???推?絖????0}???????潟????鐚??絖?????????潟???0}鐚??????????????????<???就綣?т?絖???障?鐚?/value> + + + 篆??絲乗院?御? + + + TSV????ゃ?(*.tsv)|*.tsv|??????????ゃ?(*.*)|*.* + + + 篆?????????ゃ???????????????/value> + + + ????吟?????????????????????????? + + + ????吟???????????????????????鐚???若??≪????筝??? + + + 荐???ゃ?茯ゃ?????????? + + + http://ja.wikipedia.org/wiki/{0} + + + http://www.google.com/search?hl=ja&q={0} + + + http://pcod.no-ip.org/yats/search?query={0} + + + http://search.twitter.com/search?q={0} + + + [????駈愁鐔ワ愁{0}] + + + ????????/value> + + + ?潟??若??? + + + [????駈愁鐔ワ愁(???)] + + + [???鐔ワ愁鐔?/value> + + + ] + + + 茲??/ + + + ???/ + + + Regexp/ + + + URL/ + + + 腱糸???? + + + {0}篁?(???鐚? + + + {0}篁?(???) + + + {0} ({1})篁?(???) + + + {0}/{1}篁?(???/膩鋌倶?) + + + [?帥?: {0}/{1} ???: {2}/{3} (菴?拭: {4})] [???: ??{5}/ ??{6}/ 羌?{7}] [???: + + + -] + + + ] + + + 茯??莨若?????御?????医?鐚?鐔?99鐚??????????????? + + + 茯??莨若?????御?????医?鐚?鐔?99鐚??????????????? + + + 茯??莨若?????御?????医?鐚?鐔?99鐚??????????????? + + + 茯??莨若?????御?????医?鐚?鐔?99鐚??????????????? + + + 茯??莨若?????御?????医?鐚?鐔?99鐚??????????????? + + + 茯??莨若?????御?????医?鐚?鐔?99鐚??????????????? + + + Tween?????儀????????????2??儀????????????????????ween.exe???茵??????????? + + + Tween篋??莎桁??????? + + + ..\Resources\3b.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + (?域??帥?) + + + ?帥???"{0}""????≪?絖??????????申??????????????????????????????? + + + ?帥?菴遵? + + + ???????激?????医????絎??????????? + + + ???????激???鐔?5535???絎??????????? + + + ?贋????????医?鐚??障???5鐔?000鐚??????????????? + + + ?贋????????医?鐚??障???5鐔?000鐚??????????????? + + + DMRcv?贋?筝?.. + + + Recent?贋?筝?.. + + + ???????ゃ????絎鴻? kiri_feather @ users.sourceforge.jp ?障????????????????????障???/value> + + + ????????kiri_feather?障??????????????с?????????? + + + ????医?: + + + ??????????潟? ?激????: {0} + + + ?演?荐??????帥??? : {0} + + + Tween.exe????若??с? : {0} + + + {0} ????若??с???? + + + ????吾???{0} + + + **** ????????: {0} **** + + + ????主???/value> + + + ???????ゃ????絎鴻? kiri_feather @ users.sourceforge.jp ?障????????????????????障???/value> + + + ????????kiri_feather?障??????????????с?????????? + + + ????医?: + + + ??????????潟? ?激????: {0} + + + ?演?荐??????帥??? : {0} + + + Tween.exe????若??с? : {0} + + + 箴?? {0}: {1} + + + ????若??榊????????????????????????xe????ゃ?????????? {0} ???????c??????iri_feather @ users.sourceforge.jp?障????????????????????障???1}????????kiri_feather?障??????????????с??????????{1}??????????潟??????????????違?????障?????違????????翫?????????????????丞?篋????????????c??祉?????帥??????????????????? + + + Followers???筝?.. + + + Followers???????種? + + + Followers???絎?? + + + 緇?柑??????????????????? + + + ?≦???????綣???????????/value> + + + ?≦???????綣???????????/value> + + + ?帥????????障???????????わ?10鐔?20鐚??????????????? + + + ????肴??違?20鐔?00篁吟?????????????? + + + Administrator罔??鐚?/value> + + + Users罔??鐚?/value> + + + ?ユ? + + + ?帥???"{0}""????≪?絖????????????眼????????????????????????????? + + + ?帥??????/value> + + + ?≪?絖???????????菴遵??с??障???/value> + + + Fav???筝?.. + + + Fav???絎?? + + + ..\Resources\5g.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\6g.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + <<?ゅ?>> + + + 紊у??阪?/ + + + 筝?? : + + + 罧?? : + + + ???????ユ? : + + + API??? + + + * API?????????け??* + + + id??????????????/value> + + + 紊掩? : + + + 絎??鐚?/value> + + + 140???????????????URL??軒???????ゅサ???絨障????????c???┸??????鐚?/value> + + + ????医?????若???/value> + + + Retweet???????????????鐚?/value> + + + ?帥?????ゃ??????? + + + ?障??????????????若????????????????????腮水????綺??荅????????? + + + ?御????????????ャ??違???????????????????鐚?/value> + + + >>> ????????????????/value> + + + >>> ? ??????????????? + + + <<< ???????????????障? + + + <<< ? ?????????????障???/value> + + + ?????????????≫? + + + 茯?┝?????? + + + 茯?┝?с??障??????? + + + 茯?┝羝?/value> + + + ???荐?/value> + + + ????吟??????????????ュ???????荐若????????潟??若??????????茯?┝??????篋????????????с???? + + + ?????/value> + + + ????吟????茹f?紊掩? + + + ??? + + + ??┸??け????障???/value> + + + ???筝?墾??┸????帥????鐚?/value> + + + ???????倶????紊掩? + + + 羔?音API??: {0} / h (??ぇ : {1} / h) + + + ????肴???????け????障???/value> + + + ??etweet???????障? + + + Retweet????潟???????け????障???/value> + + + ?贋????????医?鐚??障???0鐔?000鐚??????????????? + + + ?贋????????医?鐚??障???0鐔?000鐚??????????????? + + + ???????若????筝???祉? + + + Retweet????潟????筝???祉? + + + ????????????????祉? + + + ????????В?ゃ?????障??祉???/value> + + + ???????倶????筝???祉? + + + ?帥????: + + + ??????: + + + ??┸?ユ?: + + + ????? + + + ?潟??潟??? + + + ?????????: + + + ?肴? {0} ?????? {1} ????????{2}({3}) + + + ?糸?????ゃ?(*.gif;*.jpg;*.jpeg;*.png)|*.gif;*.jpg;*.jpeg;*.png + + + ?泣???00KB?障?????ゃ??括??????ゃ???????????????/value> + + + ?≪??潟?荐??筝???祉? + + + 羈??鐚?witter???罕?????????????????????≪??潟?????眼????????翫??????????罨≦??肴???????腆肴???????? + + + ?≪??潟?????眼??障???? 罨≦??肴???????????障???/value> + + + ID??PI???????水?????????障???D??????荐??????????????????????I????с????腆肴???????? + + + ??? + + + ???????若??贋?筝???祉? + + + ????????В?ゃ??障?????????????鐚?/value> + + + ??????茹i?腆肴? + + + ????若??榊????????????????????????eb?с?腆肴???????? + + + ??????茹i???????????????????????????eb?с?腆肴???????? + + + ??????????障?????????????鐚?/value> + + + ??????腆肴? + + + ????若??榊????????????????????????eb?с?腆肴???????? + + + ????????????????????????????????eb?с?腆肴???????? + + + ??????????鴻???????茵???障?????????????鐚?/value> + + + ?鴻??????∈茯?/value> + + + ????若??榊????????????????????????eb?с?腆肴???????? + + + ?????????????怨???????????????????????????eb?с?腆肴???????? + + + ???????取В?ゃ??障?????????????鐚?/value> + + + ??????茹i?腆肴? + + + 茘??鐚?rotected?肴??????????????障???? + + + ?御?????????0}篁吟?????????????????????????鐚? + + + ????????????????御? + + + ?????Щ????帥??????/value> + + + DirectMessage + + + Favorites + + + ?帥?????ゃ? + + + Lists + + + Reply + + + PublicSearch + + + ?帥?????ゃ??????? + + + API??????筝???祉? + + + API??????筝???祉? + + + ..\Resources\InitialImage.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ??┸????糸??????/value> + + + ?糸????腮帥??障?????????????鐚?/value> + + + ?糸???┸腆肴? + + + ??┸????糸??障????腮水??泣?????????????????????/value> + + + ?糸???┸ + + + ..\Resources\MultiMediaImage.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + 膩?????????????????綣???????腮帥??障???????????с????{0}[???鐚??綣??ф?腮?{0}[?????????綣??ф?腮?{0}[????潟??????┸????? + + + ..\resources\description.txt;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 + + + ???????????????????????????鐚?/value> + + + ???????吟?????鴻?????????????????с???? + + + ?<????????ゃ?紊掩???????鐚?0}鐚?/value> + + + ?<??????????け????障????{0}鐚?/value> + + + ????????????????????/value> + + + ???????宴??????け????障????{0}鐚?/value> + + + ???????宴??????け????障????{0}鐚?/value> + + + ???????宴???????????????????????<??????.. + + + ???????鴻??????/value> + + + ??????????吟??????????????????с??????????腮帥?????潟?????障???/value> + + + http://ja.favstar.fm/ + + + ?帥????: + + + ??┸?ユ?: + + + Likes: + + + ????? + + + ?潟??潟??? + + + ??????: + + + ?帥????: + + + ??????: + + + ??┸?ユ?: + + + ????? + + + 筝?墾??????菴遵????茵????????250篁吟??с???/value> + + + ????肴??違?20鐔?00篁吟?????????????? + + + <a href="http://twitter.com/" rel="nofollow">Keitai Mail</a> + + + <a href="http://twitter.com/" rel="nofollow">web</a> + + \ No newline at end of file Added: branches/UserStream/Tween/My Project/Resources.zh-CHS.resx =================================================================== --- branches/UserStream/Tween/My Project/Resources.zh-CHS.resx (rev 0) +++ branches/UserStream/Tween/My Project/Resources.zh-CHS.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,978 @@ +鏤??xml version="1.0" encoding="utf-8"?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + (?井?膈? + + + ?窮О + + + 羔?? + + + ?狗? + + + 茣??/value> + + + ??? ""{0}"" 綏牙?絖??鐚??????????О + + + ?医???? + + + ???茵??篁?(*.exe)|*.exe|?????散 (*.*)|*.* + + + 莚潔????茹?? + + + 荀???よ?茹????? {0} ??1}??value> + + + 茹?????隋?? + + + ???茹????/value> + + + 罩e?罍??茹?? + + + ???罩e?茵?松綣??/value> + + + Tween?贋?罍?? + + + ?亥?????ュけ茣ャ?莚欠????莚?? + + + Tween?贋?罍??膸?? + + + ??ー?亥??? {0} ???篋??荀???医?鐚?/value> + + + 筝?十?贋???け茣ャ?莚欠????莚?? + + + ?????????篏??筝?十紊沿乾篋??莚欠????莚?? + + + ???ー?亥????綵????????筝?{0}??荀???遺?莉遵?鐚?/value> + + + ???Tween綏牙?????亥????????贋?????????? + + + ??????鐚?/value> + + + ???罍??紊沿乾 + + + 荀??腥?0}???筝????????鐚??????????篌???????????) + + + 羝?????隋?? + + + (??????け茣? + + + (???羔??) + + + 荀???ら?筝????訓?????????DM鐚??鐚?0}羈??????????????箙??絨?witter???腴??羔?????鐚?0}?????Ŭ?絨?D篁??膈上??わ?莚隙戎???腱糸?ID???篏??{0}????????????鐚??篏睡?????ゆ?膈鐘??????0}{0}荀?????????鐚???劫??????????? + + + ???隋?? + + + ???紊沿乾 + + + ?????? + + + ?傑??顔?綽?〇筝????30??000箙????/value> + + + ?傑??顔?綽?〇筝????30??000箙????/value> + + + ???罩e?茵?松綣??/value> + + + ????井?絎???????/value> + + + ?ユ? + + + 荀????賢??????莅遺減Fav鐚??????鐚?/value> + + + Fav罩e?罍?? + + + Fav罩e?羞糸? + + + Fav??兄??/value> + + + 荀????賢???????Fav鐚??????鐚?/value> + + + Fav罩e?罍?? + + + Fav罩e???? + + + Fav?????/value> + + + 罩e??傑?... + + + 絎???傑? + + + ????桁????/value> + + + DM?ユ?綏我???/value> + + + DM???罩e??傑?... + + + DM???綏我???/value> + + + ???絎?? + + + Fav羞糸?( + + + ) 紊沿乾: + + + Fav???( + + + ) 紊沿乾: + + + 膸х鮫隋?? + + + 罩e??傑????... + + + 罩e??傑?... + + + 蕁?/value> + + + DM?ユ?罩e??傑?... + + + ???綏我???/value> + + + (?医産???) + + + ??? ""{0}"" 綏峨????莚傑?絎?????腱違? + + + ?医???? + + + 篆?????菴???????? + + + 罩e?腱糸? + + + 荀?兄???莅医?鐚?/value> + + + 罩e???? + + + 莚ラ?臀??篁句?Tween?????????筝????轡篆????/value> + + + ???罩e?茵?松綣??/value> + + + ????井?絎???????/value> + + + ?ユ? + + + ???罩e?茵?松綣??/value> + + + ????井?絎???????/value> + + + ?ユ? + + + ???絎?? + + + 罩e??傑?... + + + ??/value> + + + 羔?? + + + 罩e??傑?... + + + 罩e??傑????... + + + DM?ユ?罩e??傑?... + + + ??/value> + + + 羔?? + + + ??十?ュ? + + + 罩e??????/value> + + + 隋??荀???よ???????{0} + + + ??????隋?? + + + 荀??絖??筝??膈鞘賢?????????鐚?0}????????????篆?????羔??{0}?????????鐚?Ü?絖??筝????0}???????????????篆??{0}鐚??篆??筝坂札Tab?????????篁駈? + + + ???篆??絲壕院 + + + TSV??散 (*.tsv)|*.tsv|?????散 (*.*)|*.* + + + 莚潔???Ϊ?筝?.. + + + 莚決??ョ??桁??????? + + + ??????膃??荀??鐚????戎??-mail?医?鐚?/value> + + + ???莅丞舟?医???/value> + + + http://zh.wikipedia.org/wiki/{0} + + + http://www.google.com.hk/search?q={0} + + + http://pcod.no-ip.org/yats/search?query={0} + + + http://search.twitter.com/search?q={0} + + + [???: {0}] + + + ???莅?/value> + + + 紊??/ + + + [???: (???)] + + + [羔??: + + + ] + + + 紊??/ + + + ???/ + + + 罩e?/ + + + URL/ + + + 腱糸? + + + {0} (??????) + + + {0} (???) + + + {0} ({1}) (???) + + + {0}/{1} (???/???) + + + [???: {0}/{1} ???: {2}/{3} (???: {4})] [?狗?: ??{5}/ ??{6}/ ??{7}] [?顔?: + + + -] + + + ] + + + 莚糸?ゝ???莅丞舟????99箙????/value> + + + 莚糸?ゝ???莅丞舟????99箙????/value> + + + 莚糸?ゝ???莅丞舟????99箙????/value> + + + 莚糸?ゝ???莅丞舟????99箙????/value> + + + 莚糸?ゝ???莅丞舟????99箙????/value> + + + 莚糸?ゝ???莅丞舟????99箙????/value> + + + ???筝?ween絎??罩e?菴????????膃?筝?ween莚決?茵?Ί?筝??篁九す筝????/value> + + + Tween??????罍?? + + + (?医産???) + + + ??? ""{0}""??群膸鎕??鐚??????????О??/value> + + + ?医???? + + + 腴??垸?蕁私減?贋???/value> + + + 腴??垸Ű?????5535箙????/value> + + + ?傑??顔?綽?〇筝????30??000箙????/value> + + + ?傑??顔?綽?〇筝????30??000箙????/value> + + + DM?ユ?罩e??傑?... + + + 罩e??傑?... + + + 莚桁??莚ユ?篁句? kiri_feather @ users.sourceforge.jp??/value> + + + 絋???剛梢???莚欠? @kiri_feather ?????? + + + 菴?????: + + + ???膤紫?: {0} + + + CLR菴???? {0} + + + Tween.exe???: {0} + + + ?割? {0} + + + ??? {0} + + + **** ????ュ?: {0} **** + + + ??? + + + 莚桁??莚ユ?篁句? kiri_feather @ users.sourceforge.jp??/value> + + + 絋???剛梢???莚欠? @kiri_feather ?????? + + + 菴?????: + + + ???膤紫?: {0} + + + CLR菴??筝? {0} + + + Tween.exe???: {0} + + + 綣?幻 {0}: {1} + + + ?掩?鐚???綣?幻篋??????ュ?綏牙???xe??散?????散紊?{0} ???鐚??????????iri_feather @ users.sourceforge.jp??1}絋????札???鐚????????@kiri_feather鐚?唖莪≪?{1}?鴻???????絨??綣??綽??篁吟?筝??????ュ?莚欠??????????腮??莚欠???????? + + + 罩e??傑??恰絵篋?.. + + + ?恰絵篋阪??育?莚? + + + ?恰絵篋阪群?傑? + + + BalckFav羞糸?( + + + 莚桁?紂?????Outputz紊?柑?????/value> + + + API罔≦?筝?????????????0??00箙????/value> + + + ?狗? + + + ??? ""{0}""??群膸鎕??鐚??????????О??/value> + + + ????????/value> + + + Administrator???鐚?/value> + + + Users???鐚?/value> + + + Fav罩e??傑?... + + + Fav綏峨???/value> + + + <<???>> + + + ?阪?紊у??? + + + 筝??: + + + ???: + + + ??舟?狗?: + + + API篆≧? + + + * ?桁?PI篆≧?紊沿乾 * + + + 莚決??ョ???D??/value> + + + 紊沿乾: + + + 絎??! + + + 莚ユ???群膸顥??140筝??膃??荀??URL膽????サ???羈??鐚?????140絖?札??????? + + + 羔??????水墾莇????? + + + ??ィ罩ゆ???? + + + 菴?擦????雁鎖 + + + ???筝?査篆≧?菴???桁??莚桁??羔??箙???????/value> + + + 荀???ら?筝??Hash Tag??? + + + >>> 絅遵?/value> + + + >>> 筝??絅遵?/value> + + + <<< ?恰絵 + + + <<< ??←?恰絵 + + + ?括鎧 + + + ?糸???? + + + ?糸?紊沿乾 + + + 綏牙?綵?/value> + + + ???綵?/value> + + + 茣?埈????綵?????隋??荀?????臀??莚??鐚?/value> + + + ?ユ? + + + 罩e??傑???刈... + + + ??刈綏我???/value> + + + 罩e????... + + + 筝??羞糸?綏牙?絖???????/value> + + + ??????????贋?綣?value> + + + 莚決??ュ?莇??筝堺????膈??????種?0鐔?20鐚?? + + + ??????????贋?綣?value> + + + ??;罩e??傑?... + + + ??;綏峨???/value> + + + ??/value> + + + ??/value> + + + ???篆≧?茹f?紊沿乾 + + + 篏睡???PI: {0} / h (??ぇ: {1} / h) + + + ??ィ紊沿乾篋?/value> + + + ?喝?莚??罨≦?鐚?/value> + + + ?恰絵????桁?け茣?/value> + + + ???羔???桁?け茣?/value> + + + 罩e?莚糸?肩篋坂拭??? + + + 罩e??恰絵??/value> + + + ???: + + + ????狗?: + + + 筝???ユ?: + + + ????? + + + 莚???? + + + ?区??? + + + 罩e?????恰絵??/value> + + + 罩e?莚糸???????/value> + + + 罩e??桁??羈????? + + + 羔????{0} 絅遵?? {1} ?恰絵??{2}({3}) + + + ?上???散 (*.gif;*.jpg;*.jpeg;*.png)|*.gif;*.jpg;*.jpeg;*.png + + + 莚潔????篏?ご???????篁駈???散??ぇ??松700KB + + + 紊翫?筝??筝?? + + + 羈??鐚??篋?witter??昆???????割戎?榊ー?????ず鐚?ご????綏我??井????莚桁?筝????????隋????/value> + + + 紊翫?篆??絎????????罨≦??????????/value> + + + ID筝?PI Key膸????????荀??ID筝?儀莅丞舟?????????API Key鐚????`莅ゃ? + + + 綺?? + + + 罩e??贋?筝?査篆≧???/value> + + + ????遵?茴?В?ゃ?膸х鮫??? + + + 茹i?絮?順`莅?/value> + + + ????ラ?篋??菴?????Web?劫?隋?????茹i??????/value> + + + 絮?処В?ゅ????莚潔?菴?eb?劫?隋?????茹i??????/value> + + + 絨?←絮?純?膸х鮫??? + + + 絮?順`莅?/value> + + + ????ラ?篋??菴?????Web?劫?隋?????絮?醇???? + + + 絮?遵????莚潔?菴?eb?劫?隋?????絮?醇???? + + + 絨?←絮?遵攻筝??筝堺??顢?垸?絎??筝丈???薩膸??鐚?/value> + + + 筝丈?隋?? + + + ????ラ?篋??菴?????Web?劫?隋?????筝丈??????/value> + + + 筝丈?絎????????Web?劫?隋?????筝丈??????/value> + + + ???羈??茴?????薩膸??鐚?/value> + + + ????恰絵隋?? + + + 茘??鐚???遵??九????Protected)????????? + + + ???茹??荀???九????膈?/value> + + + ???茹??荀?Щ??????膈?/value> + + + 腱?拭 + + + ?区? + + + ?狗?膾?/value> + + + ??; + + + ??? + + + ?????刈 + + + 菴?擦????雁鎖 + + + 荀???よ←??賢??0}?∴????鐚?/value> + + + ???荀??篌???丞? + + + ?????????茴??篌??膸х鮫??? + + + 筝???丞?隋?? + + + 絨?????荀?戎????丞?筝???????/value> + + + 筝???丞? + + + 荀??絎????ィ?劫??????信?壕???T??ィ???{0}[????合?絎????ィ]{0}[???篁????T??ィ]{0}[???鐚?????] + + + 罩e??桁?PI篆≧???/value> + + + 莚ュ?茵??茴???わ?荀?薩膸??鐚?/value> + + + 莚ユ?????桁?篁??茵???わ?荀?薩膸??鐚?/value> + + + ??????紊沿乾鐚?0}鐚?/value> + + + ???莚糸?け茣ワ?{0}鐚?/value> + + + 莚決??ュ?茵??腱?/value> + + + ??;篆≧??贋?紊沿乾鐚?0}鐚?/value> + + + ??;篆≧?莚糸?け茣ワ?{0}鐚?/value> + + + 罩e?莚糸??茵?拭???莚欠???.. + + + ?????;膊∞? + + + 篋咲????莚ユ???/value> + + + Abort to posting status because @id may be rounded down. + + + http://favstar.fm/ + + + ?帥????: + + + ??┸?ユ?: + + + Likes: + + + ????? + + + ?潟??潟??? + + + ??????: + + + ?帥????: + + + ??????: + + + ??┸?ユ?: + + + ????? + + + 筝?墾??????菴遵????茵????????250篁吟??с???/value> + + + ????肴??違?20鐔?00篁吟?????????????? + + \ No newline at end of file Added: branches/UserStream/Tween/My Project/Settings.Designer.vb =================================================================== --- branches/UserStream/Tween/My Project/Settings.Designer.vb (rev 0) +++ branches/UserStream/Tween/My Project/Settings.Designer.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,73 @@ +鏤?------------------------------------------------------------------------------ +' +' ????潟???????????????????????????+' ????帥???????吾???4.0.30319.1 +' +' ???????ゃ??吾?紊?????篁ヤ????羈???т?罩c??????????????????+' ?潟???????????????????紊宴?????????? +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) + +#Region "My.Settings ???篆??罘??" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.Tween.My.MySettings + Get + Return Global.Tween.My.MySettings.Default + End Get + End Property + End Module +End Namespace Added: branches/UserStream/Tween/My Project/Settings.settings =================================================================== --- branches/UserStream/Tween/My Project/Settings.settings (rev 0) +++ branches/UserStream/Tween/My Project/Settings.settings 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,5 @@ +鏤??xml version='1.0' encoding='utf-8'?> + + + + \ No newline at end of file Added: branches/UserStream/Tween/My Project/app.manifest =================================================================== --- branches/UserStream/Tween/My Project/app.manifest (rev 0) +++ branches/UserStream/Tween/My Project/app.manifest 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,48 @@ +鏤??xml version="1.0" encoding="utf-8"?> + + + + + + + + + + + + + + + + + + + + + + Added: branches/UserStream/Tween/MyCommon.vb =================================================================== --- branches/UserStream/Tween/MyCommon.vb (rev 0) +++ branches/UserStream/Tween/MyCommon.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,565 @@ +鏤? Tween - Client of Twitter +' Copyright (c) 2007-2010 kiri_feather (@kiri_feather) +' (c) 2008-2010 Moz (@syo68k) +' (c) 2008-2010 takeshik (@takeshik) +' All rights reserved. +' +' This file is part of Tween. +' +' This program is free software; you can redistribute it and/or modify it +' under the terms of the GNU General Public License as published by the Free +' Software Foundation; either version 3 of the License, or (at your option) +' any later version. +' +' This program is distributed in the hope that it will be useful, but +' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +' for more details. +' +' You should have received a copy of the GNU General Public License along +' with this program. If not, see , or write to +' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, +' Boston, MA 02110-1301, USA. + +Imports System.Text +Imports System.Globalization +Imports System.Security.Principal +Imports System.Reflection +Imports System.Web +Imports System.IO + +Public Module MyCommon + Private ReadOnly LockObj As New Object + Public _endingFlag As Boolean '腟???????+ Public cultureStr As String = Nothing + + Public Enum IconSizes + IconNone = 0 + Icon16 = 1 + Icon24 = 2 + Icon48 = 3 + Icon48_2 = 4 + End Enum + + Public Enum NameBalloonEnum + None + UserID + NickName + End Enum + + Public Enum DispTitleEnum + None + Ver + Post + UnreadRepCount + UnreadAllCount + UnreadAllRepCount + UnreadCountAllCount + OwnStatus + End Enum + + Public Enum LogUnitEnum + Minute + Hour + Day + End Enum + + Public Enum UploadFileType + Invalid + Picture + MultiMedia + End Enum + + Public Enum UrlConverter + TinyUrl + Isgd + Twurl + Bitly + Jmp + '?号? + Nicoms + '綮?? + Unu = -1 + End Enum + + Public Enum OutputzUrlmode + twittercom + twittercomWithUsername + End Enum + + Public Enum HITRESULT + None + Copy + CopyAndMark + Move + Exclude + End Enum + + Public Enum HttpTimeOut + MinValue = 10 + MaxValue = 120 + DefaultValue = 20 + End Enum + + 'Backgroundworker?後???┏?ャ??????????????亥?Enum + Public Enum WORKERTYPE + Timeline '?帥?????ゃ???? + Reply '菴?拭??? + DirectMessegeRcv '??拭DM??? + DirectMessegeSnt '??拭DM??? + PostMessage '?肴?POST + FavAdd 'Fav菴遵? + FavRemove 'Fav??? + Follower 'Follower??????? + OpenUri 'Uri??? + Favorites 'Fav??? + Retweet 'Retweet??? + PublicSearch '???罎?刈 + List 'Lists + ''' + ErrorState '????取;腓冴??帥?緇?????篋?茯?┝????惹????) + End Enum + + Public Structure DEFAULTTAB + Const RECENT As String = "Recent" + Const REPLY As String = "Reply" + Const DM As String = "Direct" + Const FAV As String = "Favorites" + + Private dummy As String + + Private Shadows Function ReferenceEquals() As Object + Return New Object + End Function + Private Shadows Function Equals() As Object + Return New Object + End Function + End Structure + + Public Const Block As Object = Nothing + Public TraceFlag As Boolean = False + +#If DEBUG Then + Public DebugBuild As Boolean = True +#Else + Public DebugBuild As Boolean = False +#End If + + Public Enum ACCOUNT_STATE + Valid + Invalid + Validating + End Enum + + Public Enum REPLY_ICONSTATE + None + StaticIcon + BlinkIcon + End Enum + + Public Sub TraceOut(ByVal Message As String) + TraceOut(TraceFlag, Message) + End Sub + + Public Sub TraceOut(ByVal OutputFlag As Boolean, ByVal Message As String) + SyncLock LockObj + If Not OutputFlag Then Exit Sub + Dim now As DateTime = DateTime.Now + Dim fileName As String = String.Format("TweenTrace-{0:0000}{1:00}{2:00}-{3:00}{4:00}{5:00}.log", now.Year, now.Month, now.Day, now.Hour, now.Minute, now.Second) + + Using writer As IO.StreamWriter = New IO.StreamWriter(fileName) + writer.WriteLine("**** TraceOut: {0} ****", DateTime.Now.ToString()) + writer.WriteLine(My.Resources.TraceOutText1) + writer.WriteLine(My.Resources.TraceOutText2) + writer.WriteLine() + writer.WriteLine(My.Resources.TraceOutText3) + writer.WriteLine(My.Resources.TraceOutText4, Environment.OSVersion.VersionString) + writer.WriteLine(My.Resources.TraceOutText5, Environment.Version.ToString()) + writer.WriteLine(My.Resources.TraceOutText6, fileVersion) + writer.WriteLine(Message) + writer.WriteLine() + End Using + End SyncLock + End Sub + + ' ????弱?絎鴻???????????????+ ' 羈??鐚??腟??????<??????????????若??違?荐???????????????宴??吾??冴???? + ' ????<??祉??吾?罔?????篏??紜?+ ' Data???????c????腟??荐怨?????????若???????茵?? + + Public Function ExceptionOut(ByVal ex As Exception, ByVal buffer As String, _ + Optional ByRef IsTerminatePermission As Boolean = True) As String + Dim buf As New StringBuilder + + buf.AppendFormat(My.Resources.UnhandledExceptionText8, ex.GetType().FullName, ex.Message) + buf.AppendLine() + If ex.Data IsNot Nothing Then + Dim needHeader As Boolean = True + For Each dt As DictionaryEntry In ex.Data + If needHeader Then + buf.AppendLine() + buf.AppendLine("-------Extra Information-------") + needHeader = False + End If + buf.AppendFormat("{0} : {1}", dt.Key, dt.Value) + buf.AppendLine() + If dt.Key.Equals("IsTerminatePermission") Then + IsTerminatePermission = CBool(dt.Value) + End If + Next + If Not needHeader Then + buf.AppendLine("-----End Extra Information-----") + End If + End If + buf.AppendLine(ex.StackTrace) + buf.AppendLine() + + 'InnerException?????????????????+ Dim _ex As Exception = ex.InnerException + Dim nesting As Integer = 0 + While _ex IsNot Nothing + buf.AppendFormat("-----InnerException[{0}]-----" + vbCrLf, nesting) + buf.AppendLine() + buf.AppendFormat(My.Resources.UnhandledExceptionText8, _ex.GetType().FullName, _ex.Message) + buf.AppendLine() + If _ex.Data IsNot Nothing Then + Dim needHeader As Boolean = True + + For Each dt As DictionaryEntry In _ex.Data + If needHeader Then + buf.AppendLine() + buf.AppendLine("-------Extra Information-------") + needHeader = False + End If + buf.AppendFormat("{0} : {1}", dt.Key, dt.Value) + If dt.Key.Equals("IsTerminatePermission") Then + IsTerminatePermission = CBool(dt.Value) + End If + Next + If Not needHeader Then + buf.AppendLine("-----End Extra Information-----") + End If + End If + buf.AppendLine(_ex.StackTrace) + buf.AppendLine() + nesting += 1 + _ex = _ex.InnerException + End While + buffer = buf.ToString() + Return buffer + End Function + + Public Function ExceptionOut(ByVal ex As Exception) As Boolean + SyncLock LockObj + Dim IsTerminatePermission As Boolean = True + Dim now As DateTime = DateTime.Now + Dim fileName As String = String.Format("Tween-{0:0000}{1:00}{2:00}-{3:00}{4:00}{5:00}.log", now.Year, now.Month, now.Day, now.Hour, now.Minute, now.Second) + + Using writer As IO.StreamWriter = New IO.StreamWriter(fileName) + Dim ident As WindowsIdentity = WindowsIdentity.GetCurrent() + Dim princ As New WindowsPrincipal(ident) + + writer.WriteLine(My.Resources.UnhandledExceptionText1, DateTime.Now.ToString()) + writer.WriteLine(My.Resources.UnhandledExceptionText2) + writer.WriteLine(My.Resources.UnhandledExceptionText3) + ' 罔???吾??冴? + writer.WriteLine(My.Resources.UnhandledExceptionText11 + princ.IsInRole(WindowsBuiltInRole.Administrator).ToString) + writer.WriteLine(My.Resources.UnhandledExceptionText12 + princ.IsInRole(WindowsBuiltInRole.User).ToString) + writer.WriteLine() + ' OSVersion,AppVersion?吾??冴? + writer.WriteLine(My.Resources.UnhandledExceptionText4) + writer.WriteLine(My.Resources.UnhandledExceptionText5, Environment.OSVersion.VersionString) + writer.WriteLine(My.Resources.UnhandledExceptionText6, Environment.Version.ToString()) + writer.WriteLine(My.Resources.UnhandledExceptionText7, fileVersion) + + Dim buffer As String = Nothing + writer.Write(ExceptionOut(ex, buffer, IsTerminatePermission)) + writer.Flush() + End Using + + Select Case MessageBox.Show(String.Format(My.Resources.UnhandledExceptionText9, fileName, Environment.NewLine), _ + My.Resources.UnhandledExceptionText10, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Error) + Case DialogResult.Yes + Diagnostics.Process.Start(fileName) + Return False + Case DialogResult.No + Return False + Case DialogResult.Cancel + Return IsTerminatePermission + End Select + End SyncLock + End Function + + ''' + ''' URL????障????????????????絖????xx綵√??с??潟??若??????? + ''' + ''' ???????ゃ????????若???TF-8?障???nicode?ц???????????障???+ ''' + ''' + ''' ????潟????莟<?URL + ''' ???????ゃ??????????UTF-8/%xx綵√??с??潟??若??????????菴???障???/returns> + + Public Function urlEncodeMultibyteChar(ByVal _input As String) As String + Dim uri As Uri = Nothing + Dim sb As StringBuilder = New StringBuilder(256) + Dim result As String = "" + Dim c As Char = "d"c + For Each c In _input + If Convert.ToInt32(c) > 127 Then Exit For + Next + If Convert.ToInt32(c) <= 127 Then Return _input + + Dim input As String = HttpUtility.UrlDecode(_input) +retry: + For Each c In input + If Convert.ToInt32(c) > 255 Then + ' Unicode?????1char????違???????罕??????????? + ' Uri????鴻?New???????????????PathAndQuery??????????????+ If uri Is Nothing Then + uri = New Uri(input) + input = uri.PathAndQuery + sb.Length = 0 + GoTo retry + End If + ElseIf Convert.ToInt32(c) > 127 Then + ' UTF-8?????+ ' Uri????鴻?New???????????????input???Authority???????祉?????????+ If uri Is Nothing Then + uri = New Uri(input) + input = input.Remove(0, uri.GetLeftPart(UriPartial.Authority).Length) + sb.Length = 0 + GoTo retry + Else + sb.Append("%" + Convert.ToInt16(c).ToString("X2").ToUpper()) + End If + Else + sb.Append(c) + End If + Next + + If uri Is Nothing Then + result = sb.ToString() + Else + result = uri.GetLeftPart(UriPartial.Authority) + sb.ToString() + End If + + Return result + End Function + + ''' + ''' URL????<??喝???unycode絮???????? + ''' + ''' ????ゃ????IDN?с???????????障?菴???障???+ ''' ????ゃ????????阪????絖??FULLSTOP(.??002E)??舟????????障???+ ''' + ''' + ''' 絮??絲乗院??RL + ''' IDN????障??????????Punycode????????RL???菴???障???unycode絮?????????若??榊?????翫???othing????????? + + Public Function IDNDecode(ByVal input As String) As String + Dim result As String = "" + Dim IDNConverter As New IdnMapping + + If Not input.Contains("://") Then Return Nothing + + ' ????ゃ????Punycode絮?? + Dim Domain As String + Dim AsciiDomain As String + + Try + Domain = input.Split("/"c)(2) + AsciiDomain = IDNConverter.GetAscii(Domain) + Catch ex As Exception + Return Nothing + End Try + + Return input.Replace("://" + Domain, "://" + AsciiDomain) + End Function + + Public Sub MoveArrayItem(ByVal values() As Integer, ByVal idx_fr As Integer, ByVal idx_to As Integer) + Dim moved_value As Integer = values(idx_fr) + Dim num_moved As Integer = Math.Abs(idx_fr - idx_to) + + If idx_to < idx_fr Then + Array.Copy(values, idx_to, values, _ + idx_to + 1, num_moved) + Else + Array.Copy(values, idx_fr + 1, values, _ + idx_fr, num_moved) + End If + + values(idx_to) = moved_value + End Sub + + Public Function EncryptString(ByVal str As String) As String + If String.IsNullOrEmpty(str) Then Return "" + + '????????????????????+ Dim bytesIn As Byte() = System.Text.Encoding.UTF8.GetBytes(str) + + 'DESCryptoServiceProvider????吾?????????+ Dim des As New System.Security.Cryptography.DESCryptoServiceProvider + + '?掩??????????????帥?羆阪? + '????????????????????? + Dim bytesKey As Byte() = System.Text.Encoding.UTF8.GetBytes("_tween_encrypt_key_") + '?掩??????????????帥?荐?? + des.Key = ResizeBytesArray(bytesKey, des.Key.Length) + des.IV = ResizeBytesArray(bytesKey, des.IV.Length) + + '??垸????????若?????????????MemoryStream + Using msOut As New System.IO.MemoryStream + 'DES??垸?????吾?????????+ Using desdecrypt As System.Security.Cryptography.ICryptoTransform = _ + des.CreateEncryptor() + + '?吾?莨若??????ryptoStream?????+ Using cryptStream As New System.Security.Cryptography.CryptoStream( _ + msOut, desdecrypt, _ + System.Security.Cryptography.CryptoStreamMode.Write) + '?吾?莨若? + cryptStream.Write(bytesIn, 0, bytesIn.Length) + cryptStream.FlushFinalBlock() + '??垸????????若????? + Dim bytesOut As Byte() = msOut.ToArray() + + '?????+ cryptStream.Close() + msOut.Close() + + 'Base64?ф?絖??????眼???????菴?? + Return System.Convert.ToBase64String(bytesOut) + End Using + End Using + End Using + End Function + + Public Function DecryptString(ByVal str As String) As String + If String.IsNullOrEmpty(str) Then Return "" + + 'DESCryptoServiceProvider????吾?????????+ Dim des As New System.Security.Cryptography.DESCryptoServiceProvider + + '?掩??????????????帥?羆阪? + '????????????????????? + Dim bytesKey As Byte() = System.Text.Encoding.UTF8.GetBytes("_tween_encrypt_key_") + '?掩??????????????帥?荐?? + des.Key = ResizeBytesArray(bytesKey, des.Key.Length) + des.IV = ResizeBytesArray(bytesKey, des.IV.Length) + + 'Base64?ф?絖??????ゃ?????????+ Dim bytesIn As Byte() = System.Convert.FromBase64String(str) + '??垸????????若?????粋昭??????MemoryStream + Using msIn As New System.IO.MemoryStream(bytesIn) + 'DES緇?垸?????吾?????????+ Using desdecrypt As System.Security.Cryptography.ICryptoTransform = _ + des.CreateDecryptor() + '茯??莨若??????ryptoStream?????+ Using cryptStreem As New System.Security.Cryptography.CryptoStream( _ + msIn, desdecrypt, _ + System.Security.Cryptography.CryptoStreamMode.Read) + + '緇?垸????????若?????????????treamReader + Using srOut As New System.IO.StreamReader( _ + cryptStreem, System.Text.Encoding.UTF8) + '緇?垸????????若???????? + Dim result As String = srOut.ReadToEnd() + + '?????+ srOut.Close() + cryptStreem.Close() + msIn.Close() + + Return result + End Using + End Using + End Using + End Using + End Function + + Public Function ResizeBytesArray(ByVal bytes() As Byte, _ + ByVal newSize As Integer) As Byte() + Dim newBytes(newSize - 1) As Byte + If bytes.Length <= newSize Then + Dim i As Integer + For i = 0 To bytes.Length - 1 + newBytes(i) = bytes(i) + Next i + Else + Dim pos As Integer = 0 + Dim i As Integer + For i = 0 To bytes.Length - 1 + newBytes(pos) = newBytes(pos) Xor bytes(i) + pos += 1 + If pos >= newBytes.Length Then + pos = 0 + End If + Next i + End If + Return newBytes + End Function + + Public Function IsNT6() As Boolean + 'NT6 kernel??????罎?? + Return Environment.OSVersion.Platform = PlatformID.Win32NT AndAlso Environment.OSVersion.Version.Major = 6 + End Function + + Public Function ReplaceInvalidFilename(ByVal name As String) As String + name = name.Replace("\", "[en]") + name = name.Replace(":", "[c]") + name = name.Replace("/", "[bs]") + name = name.Replace("?", "[q]") + name = name.Replace("*", "[a]") + name = name.Replace("<", "[lt]") + name = name.Replace(">", "[gt]") + name = name.Replace("|", "[p]") + name = name.Replace(ChrW(&H201D), "[wdq]") + name = name.Replace("""", "[dq]") + + Return name + End Function + + _ + Public Enum TabUsageType + Undefined = 0 + Home = 1 'Unique + Mentions = 2 'Unique + DirectMessage = 4 'Unique + Favorites = 8 'Unique + UserDefined = 16 + LocalQuery = 32 'Pin(no save/no save query/distribute/no update(normal update)) + Profile = 64 'Pin(save/no distribute/manual update) + PublicSearch = 128 'Pin(save/no distribute/auto update) + Lists = 256 + 'RTMyTweet + 'RTByOthers + 'RTByMe + End Enum + + Public fileVersion As String + + Public WithEvents TwitterApiInfo As New ApiInformation + + Public Function IsAnimatedGif(ByVal filename As String) As Boolean + Dim img As Image = Nothing + Try + img = Image.FromFile(filename) + If img Is Nothing Then Return False + If img.RawFormat.Guid = Imaging.ImageFormat.Gif.Guid Then + Dim fd As New System.Drawing.Imaging.FrameDimension(img.FrameDimensionsList(0)) + Dim fd_count As Integer = img.GetFrameCount(fd) + If fd_count > 1 Then + Return True + Else + Return False + End If + Else + Return False + End If + Catch ex As Exception + Return False + Finally + If img IsNot Nothing Then img.Dispose() + End Try + End Function +End Module \ No newline at end of file Added: branches/UserStream/Tween/MyLists.Designer.vb =================================================================== --- branches/UserStream/Tween/MyLists.Designer.vb (rev 0) +++ branches/UserStream/Tween/MyLists.Designer.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,112 @@ +鏤?Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ +Partial Class MyLists + Inherits System.Windows.Forms.Form + + '????若?????潟??若??潟????荀с?????若??≪?????????? dispose ????若??若??ゃ??????? + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Windows ????若? ????ゃ??若?綽???с???+ Private components As System.ComponentModel.IContainer + + '?<?: 篁ヤ????????若??c? Windows ????若? ????ゃ??若?綽???с???+ 'Windows ????若? ????ゃ??若?篏睡????紊???с??障??? + '?潟???????c??若?篏帥?????眼?????с??????? + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(MyLists)) + Me.ListsCheckedListBox = New System.Windows.Forms.CheckedListBox() + Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.菴遵?AToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.???DToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem1 = New System.Windows.Forms.ToolStripSeparator() + Me.?贋?RToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ListRefreshButton = New System.Windows.Forms.Button() + Me.CloseButton = New System.Windows.Forms.Button() + Me.ContextMenuStrip1.SuspendLayout() + Me.SuspendLayout() + ' + 'ListsCheckedListBox + ' + resources.ApplyResources(Me.ListsCheckedListBox, "ListsCheckedListBox") + Me.ListsCheckedListBox.CheckOnClick = True + Me.ListsCheckedListBox.ContextMenuStrip = Me.ContextMenuStrip1 + Me.ListsCheckedListBox.FormattingEnabled = True + Me.ListsCheckedListBox.Name = "ListsCheckedListBox" + ' + 'ContextMenuStrip1 + ' + resources.ApplyResources(Me.ContextMenuStrip1, "ContextMenuStrip1") + Me.ContextMenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.菴遵?AToolStripMenuItem, Me.???DToolStripMenuItem, Me.ToolStripMenuItem1, Me.?贋?RToolStripMenuItem}) + Me.ContextMenuStrip1.Name = "ContextMenuStrip1" + ' + '菴遵?AToolStripMenuItem + ' + resources.ApplyResources(Me.菴遵?AToolStripMenuItem, "菴遵?AToolStripMenuItem") + Me.菴遵?AToolStripMenuItem.Name = "菴遵?AToolStripMenuItem" + ' + '???DToolStripMenuItem + ' + resources.ApplyResources(Me.???DToolStripMenuItem, "???DToolStripMenuItem") + Me.???DToolStripMenuItem.Name = "???DToolStripMenuItem" + ' + 'ToolStripMenuItem1 + ' + resources.ApplyResources(Me.ToolStripMenuItem1, "ToolStripMenuItem1") + Me.ToolStripMenuItem1.Name = "ToolStripMenuItem1" + ' + '?贋?RToolStripMenuItem + ' + resources.ApplyResources(Me.?贋?RToolStripMenuItem, "?贋?RToolStripMenuItem") + Me.?贋?RToolStripMenuItem.Name = "?贋?RToolStripMenuItem" + ' + 'ListRefreshButton + ' + resources.ApplyResources(Me.ListRefreshButton, "ListRefreshButton") + Me.ListRefreshButton.Name = "ListRefreshButton" + Me.ListRefreshButton.UseVisualStyleBackColor = True + ' + 'CloseButton + ' + resources.ApplyResources(Me.CloseButton, "CloseButton") + Me.CloseButton.DialogResult = System.Windows.Forms.DialogResult.Cancel + Me.CloseButton.Name = "CloseButton" + Me.CloseButton.UseVisualStyleBackColor = True + ' + 'MyLists + ' + Me.AcceptButton = Me.CloseButton + resources.ApplyResources(Me, "$this") + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.CancelButton = Me.CloseButton + Me.Controls.Add(Me.CloseButton) + Me.Controls.Add(Me.ListRefreshButton) + Me.Controls.Add(Me.ListsCheckedListBox) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow + Me.MaximizeBox = False + Me.MinimizeBox = False + Me.Name = "MyLists" + Me.ShowInTaskbar = False + Me.ContextMenuStrip1.ResumeLayout(False) + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents ListsCheckedListBox As System.Windows.Forms.CheckedListBox + Friend WithEvents ListRefreshButton As System.Windows.Forms.Button + Friend WithEvents ContextMenuStrip1 As System.Windows.Forms.ContextMenuStrip + Friend WithEvents 菴遵?AToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ???DToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem1 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ?贋?RToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents CloseButton As System.Windows.Forms.Button +End Class Added: branches/UserStream/Tween/MyLists.en.resx =================================================================== --- branches/UserStream/Tween/MyLists.en.resx (rev 0) +++ branches/UserStream/Tween/MyLists.en.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,136 @@ +鏤??xml version="1.0" encoding="utf-8"?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 79, 22 + + + &Reload Lists + + + 184, 179 + + + 44, 22 + + + &Close + + \ No newline at end of file Added: branches/UserStream/Tween/MyLists.resx =================================================================== --- branches/UserStream/Tween/MyLists.resx (rev 0) +++ branches/UserStream/Tween/MyLists.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,294 @@ +鏤??xml version="1.0" encoding="utf-8"?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ???DToolStripMenuItem + + + System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 3 + + + + 6, 12 + + + 149, 6 + + + + Bottom, Left + + + $this + + + 111, 76 + + + + 1 + + + 2 + + + 228, 177 + + + System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ??????荀с??贋?(&R) + + + MyLists + + + 152, 22 + + + $this + + + 112, 22 + + + ListsCheckedListBox + + + 0, 179 + + + System.Windows.Forms.CheckedListBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 0 + + + GrowAndShrink + + + $this + + + 228, 201 + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ListRefreshButton + + + CloseButton + + + 2 + + + 菴遵?AToolStripMenuItem + + + 152, 22 + + + ToolStripMenuItem1 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + GrowAndShrink + + + 61, 22 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 152, 22 + + + 1 + + + True + + + 0, 0 + + + ?????&C) + + + Bottom, Right + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + False + + + ?贋?RToolStripMenuItem + + + ContextMenuStrip1 + + + 167, 179 + + + True + + + ???(&D) + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ?贋?(&R) + + + Top, Bottom, Left, Right + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + MyLists + + + 菴遵?(&A) + + + True + + + 17, 17 + + \ No newline at end of file Added: branches/UserStream/Tween/MyLists.vb =================================================================== --- branches/UserStream/Tween/MyLists.vb (rev 0) +++ branches/UserStream/Tween/MyLists.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,181 @@ +鏤?ublic Class MyLists + Private contextUserName As String + Private _tw As Twitter + + Public Sub New(ByVal userName As String, ByVal tw As Twitter) + Me.InitializeComponent() + + Me.contextUserName = userName + Me._tw = tw + + Me.Text = Me.contextUserName + My.Resources.MyLists1 + End Sub + + Private Sub MyLists_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + RemoveHandler Me.ListsCheckedListBox.ItemCheck, AddressOf Me.ListsCheckedListBox_ItemCheck + + Me.ListsCheckedListBox.Items.AddRange(TabInformations.GetInstance.SubscribableLists.FindAll(Function(item) item.Username = Me._tw.Username).ToArray()) + + For i As Integer = 0 To Me.ListsCheckedListBox.Items.Count - 1 + Dim listItem As ListElement = CType(Me.ListsCheckedListBox.Items(i), ListElement) + + Dim listPost As New List(Of PostClass)() + Dim otherPost As New List(Of PostClass)() + + For Each tab As TabClass In TabInformations.GetInstance().Tabs.Values + If tab.TabType = TabUsageType.Lists Then + If listItem.Id = tab.ListInfo.Id Then + listPost.AddRange(tab.Posts.Values) + Else + otherPost.AddRange(tab.Posts.Values) + End If + End If + Next + + '??????腥冴??翫???ィ絎????+ If listPost.Count = 0 Then + Me.ListsCheckedListBox.SetItemCheckState(i, CheckState.Indeterminate) + Continue For + End If + + '??????荅峨?????吟?????鴻?????障???????????鴻?????若??若???????????????? + If listPost.Exists(Function(item) item.Name = contextUserName) Then + Me.ListsCheckedListBox.SetItemChecked(i, True) + Continue For + End If + + Dim listPostUserIDs As New List(Of Long)() + Dim listPostUserNames As New List(Of String)() + Dim listOlderPostCreatedAt As DateTime = DateTime.MaxValue + Dim listNewistPostCreatedAt As DateTime = DateTime.MinValue + + For Each post As PostClass In listPost + If post.Uid > 0 AndAlso Not listPostUserIDs.Contains(post.Uid) Then + listPostUserIDs.Add(post.Uid) + End If + If post.Name IsNot Nothing AndAlso Not listPostUserNames.Contains(post.Name) Then + listPostUserNames.Add(post.Name) + End If + If post.PDate < listOlderPostCreatedAt Then + listOlderPostCreatedAt = post.PDate + End If + If post.PDate > listNewistPostCreatedAt Then + listNewistPostCreatedAt = post.PDate + End If + Next + + '?????賢????若??若?篋堺???istItem.MemberCount篁ヤ??с????荅峨?????若??若??????????????違???????????吟?????障????????????? + If listItem.MemberCount > 0 AndAlso listItem.MemberCount <= listPostUserIDs.Count AndAlso (Not listPostUserNames.Contains(contextUserName)) Then + Me.ListsCheckedListBox.SetItemChecked(i, False) + Continue For + End If + + otherPost.AddRange(TabInformations.GetInstance().Posts().Values) + + '??????荅峨?????吟?????鴻?????障???????????????札紊??????????????筝???????????????鴻???????????翫??????????????吟?????障????????????? + If otherPost.Exists(Function(item) (item.Name = Me.contextUserName) AndAlso (item.PDate > listOlderPostCreatedAt) AndAlso (item.PDate < listNewistPostCreatedAt) AndAlso ((Not item.IsReply) OrElse listPostUserNames.Contains(item.InReplyToUser))) Then + Me.ListsCheckedListBox.SetItemChecked(i, False) + Continue For + End If + + Me.ListsCheckedListBox.SetItemCheckState(i, CheckState.Indeterminate) + Next + + AddHandler Me.ListsCheckedListBox.ItemCheck, AddressOf Me.ListsCheckedListBox_ItemCheck + End Sub + + Private Sub ListRefreshButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListRefreshButton.Click + Dim rslt As String = Me._tw.GetListsApi() + If rslt <> "" Then + MessageBox.Show(String.Format(My.Resources.ListsDeleteFailed, rslt)) + Else + Me.ListsCheckedListBox.Items.Clear() + Me.MyLists_Load(Me, EventArgs.Empty) + End If + End Sub + + Private Sub ListsCheckedListBox_ItemCheck(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ItemCheckEventArgs) Handles ListsCheckedListBox.ItemCheck + Select Case e.CurrentValue + Case CheckState.Indeterminate + Dim listItem As ListElement = CType(Me.ListsCheckedListBox.Items(e.Index), ListElement) + + Dim ret As Boolean + Dim rslt As String = Me._tw.ContainsUserAtList(listItem.Id.ToString(), contextUserName.ToString(), ret) + If rslt <> "" Then + MessageBox.Show(String.Format(My.Resources.ListManageOKButton2, rslt)) + e.NewValue = CheckState.Indeterminate + Else + If ret Then + e.NewValue = CheckState.Checked + Else + e.NewValue = CheckState.Unchecked + End If + End If + Case CheckState.Unchecked + Dim list As ListElement = CType(Me.ListsCheckedListBox.Items(e.Index), ListElement) + Dim rslt As String = Me._tw.AddUserToList(list.Id.ToString(), Me.contextUserName.ToString()) + If rslt <> "" Then + MessageBox.Show(String.Format(My.Resources.ListManageOKButton2, rslt)) + e.NewValue = CheckState.Indeterminate + End If + Case CheckState.Checked + Dim list As ListElement = CType(Me.ListsCheckedListBox.Items(e.Index), ListElement) + Dim rslt As String = Me._tw.RemoveUserToList(list.Id.ToString(), Me.contextUserName.ToString()) + If rslt <> "" Then + MessageBox.Show(String.Format(My.Resources.ListManageOKButton2, rslt)) + e.NewValue = CheckState.Indeterminate + End If + End Select + End Sub + + Private Sub ContextMenuStrip1_Opening(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles ContextMenuStrip1.Opening + e.Cancel = Me.ListsCheckedListBox.SelectedItem Is Nothing + End Sub + + Private Sub 菴遵?AToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 菴遵?AToolStripMenuItem.Click + RemoveHandler Me.ListsCheckedListBox.ItemCheck, AddressOf Me.ListsCheckedListBox_ItemCheck + Me.ListsCheckedListBox.SetItemCheckState(Me.ListsCheckedListBox.SelectedIndex, CheckState.Unchecked) + AddHandler Me.ListsCheckedListBox.ItemCheck, AddressOf Me.ListsCheckedListBox_ItemCheck + Me.ListsCheckedListBox.SetItemCheckState(Me.ListsCheckedListBox.SelectedIndex, CheckState.Checked) + End Sub + + Private Sub ???DToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ???DToolStripMenuItem.Click + RemoveHandler Me.ListsCheckedListBox.ItemCheck, AddressOf Me.ListsCheckedListBox_ItemCheck + Me.ListsCheckedListBox.SetItemCheckState(Me.ListsCheckedListBox.SelectedIndex, CheckState.Checked) + AddHandler Me.ListsCheckedListBox.ItemCheck, AddressOf Me.ListsCheckedListBox_ItemCheck + Me.ListsCheckedListBox.SetItemCheckState(Me.ListsCheckedListBox.SelectedIndex, CheckState.Unchecked) + End Sub + + Private Sub ?贋?RToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ?贋?RToolStripMenuItem.Click + RemoveHandler Me.ListsCheckedListBox.ItemCheck, AddressOf Me.ListsCheckedListBox_ItemCheck + Me.ListsCheckedListBox.SetItemCheckState(Me.ListsCheckedListBox.SelectedIndex, CheckState.Indeterminate) + AddHandler Me.ListsCheckedListBox.ItemCheck, AddressOf Me.ListsCheckedListBox_ItemCheck + Me.ListsCheckedListBox.SetItemCheckState(Me.ListsCheckedListBox.SelectedIndex, CheckState.Checked) + End Sub + + Private Sub ListsCheckedListBox_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListsCheckedListBox.MouseDown + Select Case e.Button + Case MouseButtons.Left + '?????????????????????????御????????????????????倶?????眼???????????с????絲丞? + For index As Integer = 0 To Me.ListsCheckedListBox.Items.Count - 1 + If Me.ListsCheckedListBox.GetItemRectangle(index).Contains(e.Location) Then + Return + End If + Next + Me.ListsCheckedListBox.SelectedItem = Nothing + Case MouseButtons.Right + '?潟?????鴻??<??ャ???????茵????electedItem???????c?????堺??????? + For index As Integer = 0 To Me.ListsCheckedListBox.Items.Count - 1 + If Me.ListsCheckedListBox.GetItemRectangle(index).Contains(e.Location) Then + Me.ListsCheckedListBox.SetSelected(index, True) + Return + End If + Next + Me.ListsCheckedListBox.SelectedItem = Nothing + End Select + End Sub + + Private Sub CloseButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CloseButton.Click + Me.Close() + End Sub +End Class \ No newline at end of file Added: branches/UserStream/Tween/MyLists.zh-CHS.resx =================================================================== --- branches/UserStream/Tween/MyLists.zh-CHS.resx (rev 0) +++ branches/UserStream/Tween/MyLists.zh-CHS.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,160 @@ +鏤??xml version="1.0" encoding="utf-8"?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 113, 22 + + + 羞糸?(&A) + + + 113, 22 + + + ???(&D) + + + 110, 6 + + + 113, 22 + + + ?傑?(&R) + + + 114, 76 + + + 81, 22 + + + ?傑???;(&R) + + + 171, 179 + + + 57, 22 + + + ?渇?(&C) + + \ No newline at end of file Added: branches/UserStream/Tween/OpenURL.Designer.vb =================================================================== --- branches/UserStream/Tween/OpenURL.Designer.vb (rev 0) +++ branches/UserStream/Tween/OpenURL.Designer.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,95 @@ +鏤?ption Strict On + _ +Partial Class OpenURL + Inherits System.Windows.Forms.Form + + '????若?????潟??若??潟????荀с?????若??≪?????????? dispose ????若??若??ゃ??????? + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Windows ????若? ????ゃ??у?荀????? + Private components As System.ComponentModel.IContainer + + '?<?: 篁ヤ????????若??c? Windows ????若? ????ゃ??у?荀????? + 'Windows ????若? ????ゃ???戎???????眼??????? + '?潟???????c???戎?c?紊??????????????? + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(OpenURL)) + Me.TableLayoutPanel2 = New System.Windows.Forms.TableLayoutPanel() + Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel() + Me.OK_Button = New System.Windows.Forms.Button() + Me.Cancel_Button = New System.Windows.Forms.Button() + Me.UrlList = New System.Windows.Forms.ListBox() + Me.TableLayoutPanel2.SuspendLayout() + Me.TableLayoutPanel1.SuspendLayout() + Me.SuspendLayout() + ' + 'TableLayoutPanel2 + ' + resources.ApplyResources(Me.TableLayoutPanel2, "TableLayoutPanel2") + Me.TableLayoutPanel2.Controls.Add(Me.TableLayoutPanel1, 0, 1) + Me.TableLayoutPanel2.Controls.Add(Me.UrlList, 0, 0) + Me.TableLayoutPanel2.Name = "TableLayoutPanel2" + ' + 'TableLayoutPanel1 + ' + resources.ApplyResources(Me.TableLayoutPanel1, "TableLayoutPanel1") + Me.TableLayoutPanel1.Controls.Add(Me.OK_Button, 0, 0) + Me.TableLayoutPanel1.Controls.Add(Me.Cancel_Button, 1, 0) + Me.TableLayoutPanel1.Name = "TableLayoutPanel1" + ' + 'OK_Button + ' + resources.ApplyResources(Me.OK_Button, "OK_Button") + Me.OK_Button.DialogResult = System.Windows.Forms.DialogResult.Cancel + Me.OK_Button.Name = "OK_Button" + ' + 'Cancel_Button + ' + resources.ApplyResources(Me.Cancel_Button, "Cancel_Button") + Me.Cancel_Button.DialogResult = System.Windows.Forms.DialogResult.Cancel + Me.Cancel_Button.Name = "Cancel_Button" + ' + 'UrlList + ' + Me.UrlList.DisplayMember = "Text" + resources.ApplyResources(Me.UrlList, "UrlList") + Me.UrlList.FormattingEnabled = True + Me.UrlList.Name = "UrlList" + Me.UrlList.ValueMember = "Url" + ' + 'OpenURL + ' + Me.AcceptButton = Me.OK_Button + resources.ApplyResources(Me, "$this") + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.CancelButton = Me.Cancel_Button + Me.ControlBox = False + Me.Controls.Add(Me.TableLayoutPanel2) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog + Me.MaximizeBox = False + Me.MinimizeBox = False + Me.Name = "OpenURL" + Me.ShowInTaskbar = False + Me.TopMost = True + Me.TableLayoutPanel2.ResumeLayout(False) + Me.TableLayoutPanel1.ResumeLayout(False) + Me.ResumeLayout(False) + + End Sub + Friend WithEvents TableLayoutPanel2 As System.Windows.Forms.TableLayoutPanel + Friend WithEvents TableLayoutPanel1 As System.Windows.Forms.TableLayoutPanel + Friend WithEvents OK_Button As System.Windows.Forms.Button + Friend WithEvents Cancel_Button As System.Windows.Forms.Button + Friend WithEvents UrlList As System.Windows.Forms.ListBox + +End Class Added: branches/UserStream/Tween/OpenURL.en.resx =================================================================== --- branches/UserStream/Tween/OpenURL.en.resx (rev 0) +++ branches/UserStream/Tween/OpenURL.en.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Cancel + + \ No newline at end of file Added: branches/UserStream/Tween/OpenURL.resx =================================================================== --- branches/UserStream/Tween/OpenURL.resx (rev 0) +++ branches/UserStream/Tween/OpenURL.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,300 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 1 + + + + Bottom, Right + + + 2 + + + None + + + + 3, 3 + + + 67, 21 + + + 0 + + + OK + + + OK_Button + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TableLayoutPanel1 + + + 0 + + + None + + + 76, 3 + + + 67, 21 + + + 1 + + + ????潟???/value> + + + Cancel_Button + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TableLayoutPanel1 + + + 1 + + + 275, 164 + + + 1 + + + 146, 27 + + + 1 + + + TableLayoutPanel1 + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TableLayoutPanel2 + + + 0 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="OK_Button" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="Cancel_Button" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="Percent,50,Percent,50" /><Rows Styles="Percent,50" /></TableLayoutSettings> + + + Fill + + + Disable + + + 12 + + + 3, 3 + + + 418, 148 + + + 0 + + + UrlList + + + System.Windows.Forms.ListBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TableLayoutPanel2 + + + 1 + + + Fill + + + 0, 0 + + + 2 + + + 424, 194 + + + 0 + + + TableLayoutPanel2 + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="TableLayoutPanel1" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="UrlList" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Percent,100,Absolute,40" /></TableLayoutSettings> + + + True + + + 6, 12 + + + 424, 194 + + + Disable + + + 150, 200 + + + CenterParent + + + OpenURL + + + OpenURL + + + System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file Added: branches/UserStream/Tween/OpenURL.vb =================================================================== --- branches/UserStream/Tween/OpenURL.vb (rev 0) +++ branches/UserStream/Tween/OpenURL.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,129 @@ +鏤? Tween - Client of Twitter +' Copyright (c) 2007-2010 kiri_feather (@kiri_feather) +' (c) 2008-2010 Moz (@syo68k) +' (c) 2008-2010 takeshik (@takeshik) +' All rights reserved. +' +' This file is part of Tween. +' +' This program is free software; you can redistribute it and/or modify it +' under the terms of the GNU General Public License as published by the Free +' Software Foundation; either version 3 of the License, or (at your option) +' any later version. +' +' This program is distributed in the hope that it will be useful, but +' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +' for more details. +' +' You should have received a copy of the GNU General Public License along +' with this program. If not, see , or write to +' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, +' Boston, MA 02110-1301, USA. + +Imports System.Windows.Forms +Imports System.Text + +Public Class OpenURL + + Private _selUrl As String + + Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click + If UrlList.SelectedItems.Count = 0 Then + Me.DialogResult = Windows.Forms.DialogResult.Cancel + Else + _selUrl = UrlList.SelectedItem.ToString + Me.DialogResult = System.Windows.Forms.DialogResult.OK + End If + Me.Close() + End Sub + + Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click + Me.DialogResult = System.Windows.Forms.DialogResult.Cancel + Me.Close() + End Sub + + Public Sub ClearUrl() + UrlList.Items.Clear() + End Sub + + Public Sub AddUrl(ByVal openUrlItem As OpenUrlItem) + UrlList.Items.Add(openUrlItem) + End Sub + + Public ReadOnly Property SelectedUrl() As String + Get + If UrlList.SelectedItems.Count = 1 Then + Return _selUrl + Else + Return "" + End If + End Get + End Property + + Private Sub OpenURL_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown + UrlList.Focus() + If UrlList.Items.Count > 0 Then + UrlList.SelectedIndex = 0 + End If + End Sub + + Private Sub UrlList_DoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UrlList.DoubleClick + If UrlList.SelectedItem Is Nothing Then + Exit Sub + End If + + If UrlList.IndexFromPoint(UrlList.PointToClient(Control.MousePosition)) = ListBox.NoMatches Then + Exit Sub + End If + + If UrlList.Items(UrlList.IndexFromPoint(UrlList.PointToClient(Control.MousePosition))) Is Nothing Then + Exit Sub + End If + OK_Button_Click(sender, e) + End Sub + + Private Sub UrlList_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles UrlList.KeyDown + If e.KeyCode = Keys.J AndAlso UrlList.SelectedIndex < UrlList.Items.Count - 1 Then + e.SuppressKeyPress = True + UrlList.SelectedIndex += 1 + End If + If e.KeyCode = Keys.K AndAlso UrlList.SelectedIndex > 0 Then + e.SuppressKeyPress = True + UrlList.SelectedIndex -= 1 + End If + End Sub +End Class + +Public Class OpenUrlItem + Private _url As String + Private _linkText As String + + Public Sub New(ByVal linkText As String, ByVal url As String) + Me._linkText = linkText + Me._url = url + End Sub + + Public ReadOnly Property Text() As String + Get + If Me._linkText.StartsWith("@") OrElse Me._linkText.StartsWith("鐚?) OrElse Me._linkText.StartsWith("#") OrElse Me._linkText.StartsWith("鐚?) Then + Return Me._linkText + End If + If Me._linkText.TrimEnd("/"c) = Me._url.TrimEnd("/"c) Then + Return Me._url + Else + Return Me._linkText + " >>> " + Me.Url + End If + End Get + End Property + + Public ReadOnly Property Url() As String + Get + Return Me._url + End Get + End Property + + Public Overrides Function ToString() As String + Return Me._url + End Function +End Class Added: branches/UserStream/Tween/OpenURL.zh-CHS.resx =================================================================== --- branches/UserStream/Tween/OpenURL.zh-CHS.resx (rev 0) +++ branches/UserStream/Tween/OpenURL.zh-CHS.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 隋?? + + + ??? + + + ???URL + + \ No newline at end of file Added: branches/UserStream/Tween/Outputz.vb =================================================================== --- branches/UserStream/Tween/Outputz.vb (rev 0) +++ branches/UserStream/Tween/Outputz.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,74 @@ +鏤? Tween - Client of Twitter +' Copyright (c) 2007-2010 kiri_feather (@kiri_feather) +' (c) 2008-2010 Moz (@syo68k) +' (c) 2008-2010 takeshik (@takeshik) +' All rights reserved. +' +' This file is part of Tween. +' +' This program is free software; you can redistribute it and/or modify it +' under the terms of the GNU General Public License as published by the Free +' Software Foundation; either version 3 of the License, or (at your option) +' any later version. +' +' This program is distributed in the hope that it will be useful, but +' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +' for more details. +' +' You should have received a copy of the GNU General Public License along +' with this program. If not, see , or write to +' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, +' Boston, MA 02110-1301, USA. + +Imports System.Web +Imports System.Net +Imports System.Collections.Generic + +Public Class Outputz + Private Shared myOuturl As String + Private Shared myApikey As String + + Private Shared state As Boolean + + Public Shared Property OutUrl() As String + Get + Return myOuturl + End Get + Set(ByVal value As String) + myOuturl = value + End Set + End Property + + Public Shared Property Key() As String + Get + Return myApikey + End Get + Set(ByVal value As String) + myApikey = value + End Set + End Property + + Public Shared Property Enabled() As Boolean + Get + Return state + End Get + Set(ByVal value As Boolean) + state = value + End Set + End Property + + Public Function Post(ByVal length As Integer) As Boolean + + If state = False Then Return True + + Dim content As String = "" + Dim output As String = "http://outputz.com/api/post" + Dim param As New Dictionary(Of String, String) + param.Add("key", myApikey) + param.Add("uri", myOuturl) + param.Add("size", length.ToString) + + Return (New HttpVarious).PostData(output, param) + End Function +End Class Added: branches/UserStream/Tween/PictureService.vb =================================================================== --- branches/UserStream/Tween/PictureService.vb (rev 0) +++ branches/UserStream/Tween/PictureService.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,251 @@ +鏤?mports System.IO +Imports System.Net +Imports System.Xml + +Public Class PictureService + Private tw As Twitter + + Public Function Upload(ByRef filePath As String, ByRef message As String, ByVal service As String) As String + Dim file As New FileInfo(filePath) + If Not file.Exists Then Return "Err:File isn't exists." + Dim st As Setting = Setting.Instance + Dim ret As String = "" + Dim upResult As Boolean = False + Select Case service + Case "TwitPic" + ret = UpToTwitPic(file, message, upResult) + Case "img.ly" + ret = UpToimgly(file, message, upResult) + Case "TwitVideo" + ret = UpToTwitVideo(file, message, upResult) + Case "yfrog" + ret = UpToyfrog(file, message, upResult) + End Select + If upResult Then filePath = "" + Return ret + End Function + + Public Function IsValidExtension(ByVal ext As String, ByVal service As String) As Boolean + Dim ret As Boolean = False + Select Case service + Case "TwitPic" + ret = (New TwitPic(tw.AccessToken, tw.AccessTokenSecret)).CheckValidExtension(ext) + Case "img.ly" + ret = (New imgly(tw.AccessToken, tw.AccessTokenSecret)).CheckValidExtension(ext) + Case "TwitVideo" + ret = (New TwitVideo).CheckValidExtension(ext) + Case "yfrog" + ret = (New yfrog(tw.AccessToken, tw.AccessTokenSecret)).CheckValidExtension(ext) + End Select + Return ret + End Function + + Public Function GetFileOpenDialogFilter(ByVal service As String) As String + Dim ret As String = "" + Select Case service + Case "TwitPic" + ret = (New TwitPic(tw.AccessToken, tw.AccessTokenSecret)).GetFileOpenDialogFilter + Case "img.ly" + ret = (New imgly(tw.AccessToken, tw.AccessTokenSecret)).GetFileOpenDialogFilter + Case "TwitVideo" + ret = (New TwitVideo).GetFileOpenDialogFilter + Case "yfrog" + ret = (New yfrog(tw.AccessToken, tw.AccessTokenSecret)).GetFileOpenDialogFilter + End Select + Return ret + End Function + + Public Function GetFileType(ByVal ext As String, ByVal service As String) As UploadFileType + Dim ret As UploadFileType = UploadFileType.Invalid + Select Case service + Case "TwitPic" + ret = (New TwitPic(tw.AccessToken, tw.AccessTokenSecret)).GetFileType(ext) + Case "img.ly" + ret = (New imgly(tw.AccessToken, tw.AccessTokenSecret)).GetFileType(ext) + Case "TwitVideo" + ret = (New TwitVideo).GetFileType(ext) + Case "yfrog" + ret = (New yfrog(tw.AccessToken, tw.AccessTokenSecret)).GetFileType(ext) + End Select + Return ret + End Function + + Public Function IsSupportedFileType(ByVal type As UploadFileType, ByVal service As String) As Boolean + Dim ret As Boolean = False + Select Case service + Case "TwitPic" + ret = (New TwitPic(tw.AccessToken, tw.AccessTokenSecret)).IsSupportedFileType(type) + Case "img.ly" + ret = (New imgly(tw.AccessToken, tw.AccessTokenSecret)).IsSupportedFileType(type) + Case "TwitVideo" + ret = (New TwitVideo).IsSupportedFileType(type) + Case "yfrog" + ret = (New yfrog(tw.AccessToken, tw.AccessTokenSecret)).IsSupportedFileType(type) + End Select + Return ret + End Function + + Public Function GetMaxFileSize(ByVal ext As String, ByVal service As String) As Long + Dim ret As Long = -1 + Select Case service + Case "TwitPic" + ret = (New TwitPic(tw.AccessToken, tw.AccessTokenSecret)).GetMaxFileSize(ext) + Case "img.ly" + ret = (New imgly(tw.AccessToken, tw.AccessTokenSecret)).GetMaxFileSize(ext) + Case "TwitVideo" + ret = (New TwitVideo).GetMaxFileSize(ext) + Case "yfrog" + ret = (New yfrog(tw.AccessToken, tw.AccessTokenSecret)).GetMaxFileSize(ext) + End Select + Return ret + End Function + + Private Function UpToTwitPic(ByVal file As FileInfo, ByRef message As String, ByRef resultUpload As Boolean) As String + Dim content As String = "" + Dim ret As HttpStatusCode + 'TwitPic?吾???┸ + Dim svc As New TwitPic(tw.AccessToken, tw.AccessTokenSecret) + Try + ret = svc.Upload(file, message, content) + Catch ex As Exception + Return "Err:" + ex.Message + End Try + Dim url As String = "" + If ret = HttpStatusCode.OK Then + Dim xd As XmlDocument = New XmlDocument() + Try + xd.LoadXml(content) + 'URL???? + url = xd.SelectSingleNode("/image/url").InnerText + Catch ex As XmlException + Return "Err:" + ex.Message + End Try + Else + Return "Err:" + ret.ToString + End If + '?≪?????若??障??????+ resultUpload = True + 'Twitter?吾???┸ + '??┸?<??祉??吾??????+ If message.Length + url.Length + 1 > 140 Then + message = message.Substring(0, 140 - url.Length - 1) + " " + url + Else + message += " " + url + End If + Return tw.PostStatus(message, 0) + End Function + + Private Function UpToyfrog(ByVal file As FileInfo, ByRef message As String, ByRef resultUpload As Boolean) As String + Dim content As String = "" + Dim ret As HttpStatusCode + 'yfrog?吾???┸ + Dim svc As New yfrog(tw.AccessToken, tw.AccessTokenSecret) + Try + ret = svc.Upload(file, message, content) + Catch ex As Exception + Return "Err:" + ex.Message + End Try + Dim url As String = "" + If ret = HttpStatusCode.OK Then + Dim xd As XmlDocument = New XmlDocument() + Try + xd.LoadXml(content) + 'URL???? + url = xd.SelectSingleNode("/rsp/mediaurl").InnerText + Catch ex As XmlException + Return "Err:" + ex.Message + End Try + Else + Return "Err:" + ret.ToString + End If + '?≪?????若??障??????+ resultUpload = True + 'Twitter?吾???┸ + '??┸?<??祉??吾??????+ If message.Length + url.Length + 1 > 140 Then + message = message.Substring(0, 140 - url.Length - 1) + " " + url + Else + message += " " + url + End If + Return tw.PostStatus(message, 0) + End Function + + Private Function UpToimgly(ByVal file As FileInfo, ByRef message As String, ByRef resultUpload As Boolean) As String + Dim content As String = "" + Dim ret As HttpStatusCode + 'img.ly?吾???┸ + Dim svc As New imgly(tw.AccessToken, tw.AccessTokenSecret) + Try + ret = svc.Upload(file, message, content) + Catch ex As Exception + Return "Err:" + ex.Message + End Try + Dim url As String = "" + If ret = HttpStatusCode.OK Then + Dim xd As XmlDocument = New XmlDocument() + Try + xd.LoadXml(content) + 'URL???? + url = xd.SelectSingleNode("/image/url").InnerText + Catch ex As XmlException + Return "Err:" + ex.Message + End Try + Else + Return "Err:" + ret.ToString + End If + '?≪?????若??障??????+ resultUpload = True + 'Twitter?吾???┸ + '??┸?<??祉??吾??????+ If message.Length + url.Length + 1 > 140 Then + message = message.Substring(0, 140 - url.Length - 1) + " " + url + Else + message += " " + url + End If + Return tw.PostStatus(message, 0) + End Function + + Private Function UpToTwitVideo(ByVal file As FileInfo, ByRef message As String, ByRef resultUpload As Boolean) As String + Dim content As String = "" + Dim ret As HttpStatusCode + 'TwitVideo?吾???┸ + Dim svc As New TwitVideo + Try + ret = svc.Upload(file, message, "", tw.Username, tw.UserIdNo, content) + Catch ex As Exception + Return "Err:" + ex.Message + End Try + Dim url As String = "" + If ret = HttpStatusCode.OK Then + Dim xd As XmlDocument = New XmlDocument() + Try + xd.LoadXml(content) + Dim rslt As String = xd.SelectSingleNode("/rsp/@status").Value + If rslt = "ok" Then + 'URL???? + url = xd.SelectSingleNode("/rsp/mediaurl").InnerText + Else + Return "Err:" + xd.SelectSingleNode("/rsp/err/@msg").Value + End If + Catch ex As XmlException + Return "Err:" + ex.Message + End Try + Else + Return "Err:" + ret.ToString + End If + '?≪?????若??障??????+ resultUpload = True + 'Twitter?吾???┸ + '??┸?<??祉??吾??????+ If message.Length + url.Length + 1 > 140 Then + message = message.Substring(0, 140 - url.Length - 1) + " " + url + Else + message += " " + url + End If + Return tw.PostStatus(message, 0) + End Function + + Public Sub New(ByVal twInstance As Twitter) + tw = twInstance + End Sub +End Class Added: branches/UserStream/Tween/RadixConvert.vb =================================================================== --- branches/UserStream/Tween/RadixConvert.vb (rev 0) +++ branches/UserStream/Tween/RadixConvert.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,441 @@ +Imports System +Imports System.Text + + +Public Class RadixConvert + + ''' + ''' ???????????????? + ''' + Private Sub New() + + End Sub + +#Region "Int16????UInt16????????" + + ''' + ''' 3?36?????????Int16??????????? + ''' + ''' + ''' ?2?8?10?16????Convert.ToInt16????????????? + ''' ????????0x????????????????????? + ''' ????????????????????????????????? + ''' + ''' ????? + ''' ?? + ''' ?? + Public Shared Function ToInt16(ByVal s As String, ByVal radix As Integer) As Short + + Dim digit As ULong = ToUInt64(s, radix) + CheckDigitOverflow(digit, Int16.MaxValue) + Return CType(digit, Short) + + End Function + + ''' + ''' 3?36?????????UInt16??????????? + ''' + ''' + ''' ?2?8?10?16????Convert.ToUInt16????????????? + ''' ????????0x????????????????????? + ''' ????????????????????????????????? + ''' + ''' ????? + ''' ?? + ''' ?? + Public Shared Function ToUInt16(ByVal s As String, ByVal radix As Integer) As UShort + + Dim digit As ULong = ToUInt64(s, radix) + CheckDigitOverflow(digit, UInt16.MaxValue) + Return CType(digit, UShort) + + End Function + + ''' + ''' UInt16?????3?36??????????????? + ''' + ''' + ''' ?2?8?10?16????Convert.ToString????????????? + ''' ??????????????? + ''' + ''' ?? + ''' ?? + ''' ?????true??????ifalse? + ''' ????? + Public Overloads Shared Function ToString(ByVal n As Short, ByVal radix As Integer, ByVal uppercase As Boolean) As String + + Return ToString(CType(n, ULong), radix, uppercase) + + End Function + + ''' + ''' UInt16?????3?36??????????????? + ''' + ''' + ''' ?2?8?10?16????Convert.ToString????????????? + ''' ??????????????? + ''' + ''' ?? + ''' ?? + ''' ?????true??????ifalse? + ''' ????? + Public Overloads Shared Function ToString(ByVal n As UShort, ByVal radix As Integer, ByVal uppercase As Boolean) As String + + Return ToString(CType(n, ULong), radix, uppercase) + + End Function + +#End Region + +#Region "Int32????UInt32????????" + + ''' + ''' 3?36?????????Int32??????????? + ''' + ''' + ''' ?2?8?10?16????Convert.ToInt32????????????? + ''' ????????0x????????????????????? + ''' ????????????????????????????????? + ''' + ''' ????? + ''' ?? + ''' ?? + Public Shared Function ToInt32(ByVal s As String, ByVal radix As Integer) As Integer + + Dim digit As ULong = ToUInt64(s, radix) + CheckDigitOverflow(digit, Int32.MaxValue) + Return CType(digit, Integer) + + End Function + + ''' + ''' 3?36?????????UInt32??????????? + ''' + ''' + ''' ?2?8?10?16????Convert.ToUInt32????????????? + ''' ????????0x????????????????????? + ''' ????????????????????????????????? + ''' + ''' ????? + ''' ?? + ''' ?? + Public Shared Function ToUInt32(ByVal s As String, ByVal radix As Integer) As UInteger + + Dim digit As ULong = ToUInt64(s, radix) + CheckDigitOverflow(digit, UInt32.MaxValue) + Return CType(digit, UInteger) + + End Function + + ''' + ''' UInt32?????3?36??????????????? + ''' + ''' + ''' ?2?8?10?16????Convert.ToString????????????? + ''' ??????????????? + ''' + ''' ?? + ''' ?? + ''' ?????true??????ifalse? + ''' ????? + Public Overloads Shared Function ToString(ByVal n As Integer, ByVal radix As Integer, ByVal uppercase As Boolean) As String + + Return ToString(CType(n, ULong), radix, uppercase) + + End Function + + ''' + ''' UInt32?????3?36??????????????? + ''' + ''' + ''' ?2?8?10?16????Convert.ToString????????????? + ''' ??????????????? + ''' + ''' ?? + ''' ?? + ''' ?????true??????ifalse? + ''' ????? + Public Overloads Shared Function ToString(ByVal n As UInteger, ByVal radix As Integer, ByVal uppercase As Boolean) As String + + Return ToString(CType(n, ULong), radix, uppercase) + + End Function + +#End Region + +#Region "Int64????UInt64????????" + + ''' + ''' 3?36?????????Int64??????????? + ''' + ''' + ''' ?2?8?10?16????Convert.ToInt64????????????? + ''' ????????0x????????????????????? + ''' ????????????????????????????????? + ''' + ''' ????? + ''' ?? + ''' ?? + Public Shared Function ToInt64(ByVal s As String, ByVal radix As Integer) As Long + + Dim digit As ULong = ToUInt64(s, radix) + CheckDigitOverflow(digit, Int64.MaxValue) + Return CType(digit, Long) + + End Function + + ''' + ''' 3?36?????????UInt64??????????? + ''' + ''' + ''' ?2?8?10?16????Convert.ToUInt64????????????? + ''' ????????0x????????????????????? + ''' ????????????????????????????????? + ''' + ''' ????? + ''' ?? + ''' ?? + Public Shared Function ToUInt64(ByVal s As String, ByVal radix As Integer) As ULong + + ' ?????????? + CheckNumberArgument(s) + CheckRadixArgument(radix) + + Dim curValue As ULong = 0 ' ?????? + Dim maxValue As ULong = CType(UInt64.MaxValue / CType(radix, ULong), ULong) ' ????1?????? + + ' ????????????????? + Dim num As Char ' ???????????? + Dim digit As Integer ' ????????? + Dim length As Integer = s.Length + For i As Integer = 0 To length - 1 + num = s(i) + digit = GetDigitFromNumber(num) + CheckDigitOutOfRange(digit, radix) + + ' ??radix??????????????????????????????? + CheckDigitOverflow(curValue, maxValue) + curValue = curValue * CType(radix, ULong) + CType(digit, ULong) + Next + + Return curValue + + End Function + + ''' + ''' UInt64?????3?36??????????????? + ''' + ''' + ''' ?2?8?10?16????Convert.ToString????????????? + ''' ??????????????? + ''' + ''' ?? + ''' ?? + ''' ?????true??????ifalse? + ''' ????? + Public Overloads Shared Function ToString(ByVal n As Long, ByVal radix As Integer, ByVal uppercase As Boolean) As String + + Return ToString(CType(n, ULong), radix, uppercase) + + End Function + + ''' + ''' UInt64?????3?36??????????????? + ''' + ''' + ''' ?2?8?10?16????Convert.ToString????????????? + ''' ??????????????? + ''' + ''' ?? + ''' ?? + ''' ?????true??????ifalse? + ''' ????? + Public Overloads Shared Function ToString(ByVal n As ULong, ByVal radix As Integer, ByVal uppercase As Boolean) As String + + ' ?????????? + CheckRadixArgument(radix) + + ' ????0??????????0???? + If n = 0 Then + Return "0" + End If + + Dim curValue As New StringBuilder(41) ' ????????? + ' ?UInt64.MaxValue????3????????41????? + Dim curDigit As ULong = n ' ?????l + + ' ????????????????? + Dim digit As ULong ' ????????? + Do + ' ??????????????+ digit = curDigit Mod CType(radix, ULong) + ' ??????????フ?? + curDigit = CType(curDigit / CType(radix, ULong), ULong) + + curValue.Insert(0, GetNumberFromDigit(CType(digit, Integer), uppercase)) + Loop While curDigit <> 0 + + Return curValue.ToString() + + End Function + +#End Region + +#Region "Decimal????????" + + ''' + ''' 3?36?????????Decimal??????????? + ''' + ''' + ''' ?2?8?10?16????Convert.ToDecimal????????????? + ''' ????????0x????????????????????? + ''' ????????????????????????????????? + ''' + ''' ????? + ''' ?? + ''' ?? + Public Shared Function ToDecimal(ByVal s As String, ByVal radix As Integer) As Decimal + + ' ?????????? + CheckNumberArgument(s) + CheckRadixArgument(radix) + + Dim curValue As Decimal = 0 ' ?????? + Dim maxValue As Decimal = Decimal.MaxValue / CType(radix, Decimal) ' ????1?????? + + ' ????????????????? + Dim num As Char ' ???????????? + Dim digit As Integer ' ????????? + Dim length As Integer = s.Length + For i As Integer = 0 To length - 1 + num = s(i) + digit = GetDigitFromNumber(num) + CheckDigitOutOfRange(digit, radix) + + ' ??radix??????????????????????????????? + CheckDigitOverflow(curValue, maxValue) + curValue = curValue * CType(radix, Decimal) + CType(digit, Decimal) + Next + + Return curValue + + End Function + + ''' + ''' Decimal?????3?36??????????????? + ''' + ''' + ''' ?2?8?10?16????Convert.ToString????????????? + ''' ??????????????? + ''' + ''' ?? + ''' ?? + ''' ?????true??????ifalse? + ''' ????? + Public Overloads Shared Function ToString(ByVal n As Decimal, ByVal radix As Integer, ByVal uppercase As Boolean) As String + + ' ?????????? + CheckRadixArgument(radix) + + ' ????0??????????0???? + If n = 0 Then + Return "0" + End If + + Dim curValue As New StringBuilder(120) ' ????????? + ' ?Decimal.MaxValue????3????????120????? + Dim curDigit As Decimal = n ' ?????l + + ' ????????????????? + Dim digit As Decimal ' ????????? + Do + ' ??????????????+ digit = curDigit Mod CType(radix, Decimal) + ' ??????????フ?? + curDigit = curDigit / CType(radix, Decimal) + + curValue.Insert(0, GetNumberFromDigit(CType(digit, Integer), uppercase)) + Loop While curDigit <> 0 + + Return curValue.ToString() + + End Function + +#End Region + +#Region "??????????????" + + Private Shared Sub CheckNumberArgument(ByVal s As String) + + If s = Nothing OrElse s = String.Empty Then + Throw New ArgumentException("????????????????") + End If + + End Sub + + Private Shared Sub CheckRadixArgument(ByVal radix As Integer) + + If radix = 2 OrElse radix = 8 OrElse radix = 10 OrElse radix = 16 Then + Throw New ArgumentException("2?8?10?16???System.Convert????????????") + End If + If radix <= 1 OrElse 36 < radix Then + Throw New ArgumentException("3?36??????????????") + End If + + End Sub + + Private Shared Sub CheckDigitOutOfRange(ByVal digit As Integer, ByVal radix As Integer) + + If digit < 0 OrElse radix <= digit Then + Throw New ArgumentOutOfRangeException("?????????") + End If + + End Sub + + Private Shared Sub CheckDigitOverflow(ByVal curValue As ULong, ByVal maxValue As ULong) + + If curValue > maxValue Then + Throw New OverflowException("?????????????") + End If + + End Sub + + Private Shared Sub CheckDigitOverflow(ByVal curValue As Decimal, ByVal maxValue As Decimal) + + If curValue > maxValue Then + Throw New OverflowException("?????????????") + End If + + End Sub + + Private Shared Function GetDigitFromNumber(ByVal num As Char) As Integer + + Dim ascNum As Integer = Asc(num) + If ascNum >= Asc("0") AndAlso ascNum <= Asc("9") Then + Return Asc(num) - Asc("0") + ElseIf ascNum >= Asc("A") AndAlso ascNum <= Asc("Z") Then + Return ascNum - Asc("A") + 10 + ElseIf ascNum >= Asc("a") AndAlso ascNum <= Asc("z") Then + Return ascNum - Asc("a") + 10 + Else + Return -1 + End If + + End Function + + Private Shared Function GetNumberFromDigit(ByVal digit As Integer, ByVal uppercase As Boolean) As Char + + If digit < 10 Then + Return Chr(Asc("0") + digit) + ElseIf uppercase Then + Return Chr(Asc("A") + digit - 10) + Else + Return Chr(Asc("a") + digit - 10) + End If + + End Function + +#End Region + +End Class + Added: branches/UserStream/Tween/Resources/1o.ico =================================================================== (Binary files differ) Property changes on: branches/UserStream/Tween/Resources/1o.ico ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/UserStream/Tween/Resources/2b.ico =================================================================== (Binary files differ) Property changes on: branches/UserStream/Tween/Resources/2b.ico ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/UserStream/Tween/Resources/3b.ico =================================================================== (Binary files differ) Property changes on: branches/UserStream/Tween/Resources/3b.ico ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/UserStream/Tween/Resources/4b.ico =================================================================== (Binary files differ) Property changes on: branches/UserStream/Tween/Resources/4b.ico ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/UserStream/Tween/Resources/4r.ico =================================================================== (Binary files differ) Property changes on: branches/UserStream/Tween/Resources/4r.ico ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/UserStream/Tween/Resources/4y.ico =================================================================== (Binary files differ) Property changes on: branches/UserStream/Tween/Resources/4y.ico ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/UserStream/Tween/Resources/5b.ico =================================================================== (Binary files differ) Property changes on: branches/UserStream/Tween/Resources/5b.ico ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/UserStream/Tween/Resources/5g.ico =================================================================== (Binary files differ) Property changes on: branches/UserStream/Tween/Resources/5g.ico ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/UserStream/Tween/Resources/5o.ico =================================================================== (Binary files differ) Property changes on: branches/UserStream/Tween/Resources/5o.ico ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/UserStream/Tween/Resources/5r.ico =================================================================== (Binary files differ) Property changes on: branches/UserStream/Tween/Resources/5r.ico ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/UserStream/Tween/Resources/5y.ico =================================================================== (Binary files differ) Property changes on: branches/UserStream/Tween/Resources/5y.ico ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/UserStream/Tween/Resources/6b.ico =================================================================== (Binary files differ) Property changes on: branches/UserStream/Tween/Resources/6b.ico ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/UserStream/Tween/Resources/6g.ico =================================================================== (Binary files differ) Property changes on: branches/UserStream/Tween/Resources/6g.ico ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/UserStream/Tween/Resources/6o.ico =================================================================== (Binary files differ) Property changes on: branches/UserStream/Tween/Resources/6o.ico ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/UserStream/Tween/Resources/ChangeLog.txt =================================================================== --- branches/UserStream/Tween/Resources/ChangeLog.txt (rev 0) +++ branches/UserStream/Tween/Resources/ChangeLog.txt 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,358 @@ +鏤炊??医吋罩?+ +==== Ver 0.9.7.0(2010/11/14) + * ??糸????蕭?????茯炊?????c? + * ?????;腓冴?????純?????乗院???膈??茵??????障??榊?????鴻????腟<??????? + * ?f??≪??????┸紊掩?????≪??違?????潟??????????StatusText?????????????????信罩?+ * Protect?肴???T/STOT?潟??取┗????????┃絎??綮?????綣??????∈茯?????荐????申?????+ * Alt+Shift+C?с??若???D?????????????????膩???<??ャ????????障???+ * Source????潟??????????????c??帥??鴻??????????URL罎?刈????с?????ャ????荀??????障?) + * WebBrowser?潟????????????????篋??緇??????????+ * 腱糸?????ゃ???????????御???В?ゃ?????翫?????帥?????合????????帥??c????????????信罩?+ * ObjectDisposedException??儀??????????c????篆?? + * ??軒URL茹f浦?т?紊???榊???????????c????(紊??)篆?? + * ?????????????違??潟????????????RL???茘??紊掩?????????信罩??????医???RL??????膰??罩c???????????????c???? + * ?f??≪??????┸紊掩?????≪??違?????潟??????????StatusText?????????????????信罩?+ * ?鴻??若??鴻??若?API茵?ず????域;腓冴?篏?舟?????????茵????+ * Recent,Mentions????遺賢?????????????c????篆?? + * URL??????????????????翫???????????х軒?с???????篆?? + * Twitter???URL???綽????RL????若??若??若???劻?????????????????守?篆??????若??冴???????????c???? + * ?<??ャ??????????綛俄信罩?+ * Fav??????篋???????????????ゅ???????????c????篆?? + * ???????若??贋????????????????????c????????????信罩?+ * ???????若??贋???け????????ween???荐惹??宴?紕????????????????信罩?+ * ??????????≪??帥???????????眼???+ * ?????????????????????????≪??ч?腱祉????筝???<??ャ?????鴻???????篆?? + * ?糸????????若?CloudFiles,Instagram???綽?+ * pixiv??tml罕??紊?????綽?+ * ???????ゃ??潟?膰??????祉??帥??潟??????祉???????紊?? + * 荅括完茵?ず????祉??喝???ource??;腓冴???????????????????????ゃ??潟????綣????吾??????Web,Keitai Mail?????????) + * API罧??????祉?????с??????????茵?ず???????????(???罧???????気????祉?????с?罧?????) + * Fav?????????菴???肴????????眼?????????+ * ?帥???????????????????????????????????潟???????????<??ャ????絽吾?????????信罩?+ * URL?翫????????ャ??違??????????????????信罩?+ * PublicSearch?????違?紊??????????+ * Ctrl+J/K,SHIFT+J/K?????????????????違?篆?? + * ???????ャ??с??≪??潟???研?激???祉?????????信罩?+ * ???????ャ??с?????????私?臀??筝?????紊?? + * ???綣???????????若???ID????障???????????????????????? + * ?≪??潟????????純?紂??????????+ * ?????????茵?ず???????????;腓冴????????c?????????????膀???ф???堺?????????;腓冴???????紊?? + * ??軒URL茹f浦??┃絎??罩c??????????????????с?????c??????信罩?+ * yfrog?吾??糸???┸???綽?+ * ??????????鴻??∵????DM?????????????????+ * Favorites????違?荐???с??????????????ф?羣????違??????? + * ???????ャ????????綛臥??????? + * BASIC茯?┝?≪?????翫?????????ASIC茯?┝?吾?紊??荐怨????????????????? +==== Ver 0.9.6.0(2010/10/12) + * ???RT??∈茯??????若????絲с??????┸????c??祉?????????????????????+ * ?????????????若????????????拭DM??????茵?ず?蚊??????????紊???????拭DM??????茵?ず?蚊????????????+ * 荐???脂????????API????潟??????????????違???????茵???????信罩?+ * POSTMODE????帥??<??ャ????????若??鴻??肴?罨??????????申???????????????腮水?????鴻??悟Щ??????腮炊?????障?????障???+ * ?肴?罨??????若??鴻?????翫???TRL+SHIFT+????純????筝???с??鴻???Щ??????????????+ * Fav?????????紊???榊???????????c??????信罩?+ * ??拭????若????API????潟??????????????????違?篆?? + * ?肴?荅括完??????????潟?????????????????若????荐??膣違??≪??潟??潟???????????若?腟怨???? + * ??????????若??激??若????????寂?荀с?菴遵???iki???綵???若????????吟?????障???+ * 荅括完茵?ず?????????????????????Home????c????????純????????若??若??ゃ??潟??????????????????ome???????????障??с??????????篁g??????????? + * 荅括完茵?ず???????????????????????;腓冴?箙宴??????????????違?篆?? + * ??????膩??筝?????????潟????????с????????????D?ュ?罨?????????D???荐??絎号??с???┸罨??罕??@,#?ュ?茖??????????+ * ???RT????????????腆肴?????≪??違?Yes???????????????Retweet腆肴?????≪??違??冴????????????+ * ??????膩???脂?????c??推?荀с??鴻??ф┴?鴻??????????????????+ * API罧????;腓冴??ゃ??潟?????眼???仮綺?????????c? + * GDI+箴?????綽?????????≪??<??激???if???腮帥????????糸?茵?ず??itmap????????;腓冴????????眼???┸?糸???????????若??с?gif????冗?篆<??????? + * ????吟???ists?吾?菴遵?????ゃ??с?????????? + * F6??entions??7??M?帥?????違?????????? + * Mentions?帥??т???????紊???若????????????????????ゅ???????????????eply???絽吾??吾?莨若????????????????nformation?≪??潟??ц???????+ * ?鴻??若??鴻??若?????с?Twitter?吾??≪??祉?????若????????若?莎激??c??<???????茵?ず???????????+ * ?九勝?????????腮帥???????箴????儀????????信罩?+ * ???????鴻?????違???????膣域;腓冴??贋???????????c????篆?? + * ???????若??脂??悟??????ゃ????????逸??????????????с??ゃ??潟?紊???????????+ * ?≪??潟???戎????????<?????ゃ?????с????茵??????????+ * ????潟??????????????鴻??若??х???c?????翫????紊??莎激???憠院????????+ * ???????若??脂?????≪??潟?紊??????≪??潟???戎???????ゃ???????????с????綣桁???? + * ????ゃ??潟?Source???絽吾??激????????翫???;腓冴?紕????憠院?????+ * ???????鴻???????緇<????箴????儀?????????????違?篆?? + * ?帥?????ゃ???????????違??潟????紊у?????眼???+ * ?????????API?吾??≪??祉??????serAgent??検????????? + * ????若??若?500膤祉??泣????????若??翫???PI???????違????????????+ * ?蚊??с???C??????????翫?????????????????障????????ャ????????篆?? + * @菴?拭ALL????c????ID??????????c????????????????篆?? + * ?糸????????若???拭????若?莎激???????????<??祉??吾?茵?ず???????????+ * ??拭????若?莎激??c????????????????茵?ず???????????+ * ?糸????????若?plixi.com,ow.ly,vimeo,mypix.jp(shamoji)???綽????+ * ??軒URL絮??????鴻??翫???ctiny.com???????ャ????篏?????????c????篆?? + * t.co??RL絮?????綽?experimental ???????眼????????с?????障?) + * PublicSearch????篁倶???0篁吟???00篁吟?綣??筝?? + * ???????c??????????????若??ュ??????????????c????????????? + * 荐???脂???PI??ぇ?ゅ??????障????????翫?????c????篆?? + * STOT?潟??若?茯??筝???純????????с??劫???? + * ?帥??????????絎???????隈?????????箴????儀????翫?????c????篆?? + * ?肴?荅括完?с????????御??????trl-C??????????<??祉??吾?茵?ず???????遺信罩?+ * URL???????????潟??????ぇ??????????????信罩?+ * ?肴????????????????????潟???????????若?????若??????????ttp://twitter.com/????????????+ * ??????????潟????????ゃ???????????若??吾??潟????????????+ * ?≪??<??激???IF?吾?絲上????篋???糸????????若??≪??潟??????????????鴻?????祉?????宴????????????? + * ?????????????????吾??潟????favstar.fm?後??眼????Tween???????у?篏???????????ja.favstar.fm??????+ * 140??????????翫????絖??????????????@ID,?????ャ???URL?????????????????信罩?+ * u.nu?泣????腟????軸???????若?????????? + * ?糸????????逸???????????翫????????≪????????????┸罨??????若??鴻?????????? + * |?у??障????????????ャ??違????茯?????????障??????信罩?+ * 120腱?????茯??莨若???????篋??????c??翫?綣桁???????????≦?????????? + * ????若?????????????????篁倶????絎?????????????+ * 荐???脂??с?????????????????眼????????翫??????????絖??茵?ず?後????????????c??????信罩?+ * API罧??茵?ず????????????????翫???PI???????≪??違?茵?ず???????????+ * BASIC茯?┝綮????軸???BASIC茯?┝茘??????≪??違?綮????ASIC茯?┝????吾?????潟??御?筝????????+ * 茲?????荐???御?????倶???av??????茵?????????<??祉??吾????????c????篆?? + * 篁???≪????Fav菴遵????????????ween??avorite?帥??ф??違????菴遵???????筝?????篆?? + * ????劫?????若???RL???????肴???????荅括完茵?ず???絽吾?????乗院?????+ * ?????ャ??違??????????PublicSearch?帥????????????????????ャ??違??????ャ??違?????吾??悟??蚊?????????? +==== Ver 0.9.5.0(2010/08/08) + * ?糸???┸????c??祉????????若??鴻????????御?????????? + * ?糸???┸?≪????ESC????с??c??祉???????????????慨???????????? + * 茯??筝???純????????ゃ?????潟??御?tweet????眼??????????┸?脂??????┸?????????罸??茯??筝??????障???????篏睡??????┸?脂?????若?????鴻? + * ?糸???┸?≪????荐?????????ゃ???????????障????????違?篆?? + * ?糸???┸?≪????????ゃ????????ュ???????絖??????鴻????綵√???????箴????????????違?篆?? + * ?糸????????若? http://www.twitpic.com/ ?у??障?TwitPic??RL???綽????+ * ?糸???┸?≪????????ゃ??御?????≪??域;腓坂賢?с???????鐚????????荐怨??????????信罩?+ * ?糸???┸緇????????????????????????????信罩?+ * DirectMessage?帥??х?荐???御????????????????????????????紊???榊?????????信罩?+ * ?糸???┸?≪???????????翫?????糸?????ゃ?罎?┝????c???????篆?? + * ?糸???┸?≪?????糸?????粋昭??????????ゃ?????ゃ???????????ャ??<??祉??吾?茵?ず???????????+ * ?????????????≪??帥????荀颷遵???????紊???????????????篆?? + * ?????????????≪??潟???腱糸??????????????若???;腓冴??水?????絎?????????????????????違?篆?? + * ?????????????≪??潟???腱糸?????????????????若???隈???????????????/腱糸??????????????若?????鴻??吾????????違?篆?? + * ?????????????≪?????恰?筝????倶????緇<??医幻?????????????????信罩?+ * ?糸???┸?≪??????pace?????????茯???c????茵?????????????+ * ?糸???┸?≪??????┸罨?????????ュ???????????????┸????????????????????????????????信罩?+ * ?糸???┸?≪????筝????IF?≪??∞?????腮帥?????????????莎ゃ?????潟?????馹??篆?? + * ??ween??????????ゃ??????;腓冴??????K????潟?????若??鴻?腱祉?????????+ * ?糸???┸?≪????img.ly?吾??≪?????若????綽?+ * ?鴻??若??鴻??若?API罧??茵?ず??????????鴻??若????腱糸????????????????篋???????;腓冴?????????? + * ???????若??脂??????????Tween??????????≪?????????????????????憠院?????+ * ???????若??贋?????c???????羝????PI??????紕??????????信罩?+ * TwitVideo?吾?????≪?????若????綽?+ * ????ゃ????????逸??????????????ゅ???七???????ゃ??泣??冴??若??若??糸??障?????祉??翫????綽???若??鴻????????帥????????????+ * 荅括完茵?ず??trl+Insert????с??潟??若??с?????????? + * ?糸???┸?≪????篏睡?????糸?????若???勲?????? ?障?????祉???????????翫????????糸???;腓冴??????????(thx @pureminami) + * ?糸???┸?≪????????ゃ???┃絎?????????<?????ゃ??????????????????? + * ?糸???┸?≪?????≦?????<???就綣??┃絎????????????ゃ????????≪??????????????????信罩?+ * ???????c???亜??;腓冴??翫??с????????若??脂???;腓冴??????????????ラ??????昭?帥????菴??????????戎?????PI???莢祉??障???? + * Lists?帥???n_reply_to菴純????????c??????eply???荐??Recent?眼?篆?????????????ists?帥??????????Web??????????????信罩?+ * ?ゅ?????????戎????????????????若???Щ????潟??若????箴????????????違?篆?? + * ???????????Щ????潟??弱?????帥???????????若???????????????????????括????緇<?茵???????????????違?篆?? + * 荅括完茵?ず????????????????????trl+Shift+P?х????┸?≪????????帥??с?????????? + * ?肴?荅括完????ゃ??潟??潟?????????????紊??莎激???????????????信罩?+ * 筝???<??祉??梧;荐???鴻?篆?? + * ?糸????????若?YouTube????紙??宴?茵?ず???????????+ * YouTube????祉?????ャ??с?URL???????????祉?????ゃ?????????????絲上???? + * Vista/7?ц?膣域;腓冴?????吟???????????????????????????????????潟??若?????馹??絲上? + * Alt+Shift+????с?????ゃ??????????Alt+Shift+Enter?у??糸?????????????+ * ???綣????膩???ф?腮帥??????????綣??ф?腮帥???????腆肴?????????+ * Ctrl+C?с?STOT?潟??惹??????????篁?????荐??????????????茘??????≪??違??????????????若??????昭?障?????障?筝?????篆?? + * Alt+?????lt+PageUp,PageDown?с??肴?荅括完???????若???????????????+ * ?鴻??若??鴻??若?API罧??茵?ず???臀??紊????? + * URL?御?????≪??違?j,k?????????筝?Щ??????????????+ * ?亥???entions????c??翫?????ゃ?????若??号????????純?菴遵???;腓冴?????????entions????∝?羯??????鴻??????????? + * @茖?????????ャ??域?絎???≪???ぇ??????????c?????????信罩?+ * API罧????PI??ぇ?違?API???????????????????с?????c??翫???;腓冴?筝?????????違?篆?? +==== Ver 0.9.4.0(2010/07/15) + * 茯?┝絎??緇????????荐???????;腓冴???????篆?? + * ????吟?紊????????????惹??宴??????????紊?? + * ?????????????≪??帥?????眼??????????????帥??御??脂?????眼?????????????篆?? + * ???RT????????????罩c?????URL?????????????遺信罩?+ * 荐???脂????????若???PI?????????????????+ * ???篁???純???PI??戎??????????若??御?????翫??????????????帥????茵?ず????違?????????+ * API?∫????鐚???違??????仮綺??筝?+ * ???????肴?????т?紊?????????桁?絲上???????荅括完???????違??阪??????????篁????? + * ???????若??脂??с??≪??潟??肢蟹??? + * ?≪??潟???????箴?????????????????????у?綽????+ * r.sm3.jp????潟??????????篆?? + * bit.ly??.mp?х?膰?????????ゅ??с???軒?泣????????????軒?????????荐怨?????????器?bit.ly->amzn.to絲上?鐚?+ * ?糸??≪?????若????綽?+ * 絲上????????泣??????witPic,TwitVideo?с???+ * ?糸?????ゃ???&D????√劽??純?????若???????Ctrl-Shift-P鐚???糸??≪???? + * Esc??trl-Shift-P?ч?絽吾??若??御??????? + * ?????????????≪??????隈???茵??OK??????腆阪?????翫?????育???????????障??翫?????????信罩?+ * ?≪?????若??????┤????????????????????+ * ?????????????≪???隈????帥?????????????????育????茹i???????紊?? + * Twitter筝?????筝?????篆<???????拭??????http?????????API?????????箴??????若?莎激???????絲上? +==== Ver 0.9.3.0(2010/07/01) + * in_reply_to_status_id???????肴??с?reply????肴?????若?菴純??????????????????[??eply???荐???吾??潟????у??????昭?帥??祉???thx @__park) + * 菴?拭?????????罎?刈?帥?????鴻??帥??????????????c????篆?? + * ???????惹??処申???荐???с??取┃絎???≪??潟?????脂?茵?ず????違????????∵;腓冴????????ュ?罨??????若??鴻??障???+ * ???????恰???PU??戎?c?????馹??篆?? + * Fav/DM/PublicSearch?????с?Twitter???絎?散?違?????靚?????????桁??吾?絲上? + * 400膤祉?????????┸?????????????????????+ * @??????#????????trl+Shift+Space?????????茖??????≪??違??若??冴?????????? + * STOT?潟??若????Protect?肴?????障???????????ゃ???????????????? + * ?娯????????倶?茵?ず?????D茵?ず??????????翫?????c????篆?? + * ?鴻??若???????????障???????????鴻??g???????????翫????????吾??潟??????????????ゅ??帥?????違?緇?????????弱????罩≪?????????? + * ??┸??????茹??????鴻?????鴻??若?????????????茹????????ゃ????ゃ???舟???紊?? + * DM??拭???????若??с??????????????????信罩?+ * ??┸?????."?у??障??????????in_reply_to??????????????????篁ュ???. "鐚?????鐚??????刻??у??障????????????n_reply_to??????????????+ * htn.to,amzn.to,moi.st??RL絮?????綽?+ * ?帥????????ゃ?????ф????????潟?????????????????????信罩?+ * 膩???<??ャ?????遵??>散?ュ??????ublicSearch?帥?篁ュ??с??≦????????????? + * 茯?┝????若??翫????????????;腓冴?????????? + * "Google:"??????????????????????????????膣≪?????純????????с????????????+ * ????潟?????ゃ?????????倶???ween???????c????????鴻??若??鴻??若?羔?????蕁??絲上? + * ?????????????≪??御????????帥???┏?ャ?茵?ず???????????+ * ?????????????≪???????茲???御?????ャ??帥??吾????/腱糸?/?????????????????+ * ?????????????≪??蚊??若??帥????荐??????若???????紊?????????????? + * ?鴻??若??鴻??若?API?域;腓冴????????上?????????;腓冴?????????? + * API膂≧?荐????????API筝???ゃ????????違?????????? + * ?糸????????若????綽???鏄√?????с???????????????+ * ?????ャ??違?????吾??уぇ???絨???????ャ?????宴?????????+ * ?????ャ??違????篁??????鴻??翫????????若??????????????ャ?????????? + * ?ュ?罨????trl+Shift+T篁ュ????羈????????????ャ??違?????帥???????????違??????;腓冴??????????????c??????信罩?+ * ?????????荐?????????????????荐???脂???K?ч???????bit.ly???????潟????????????????罎?┝???????????+ * Ctrl+???????医??с?????????????????с????????????trl+1鐔??у窪腴??????帥???????Ctrl+9?ф?緇?鮎?帥??御???+ * ?純????羈??????帥????????上??御????????肴?????眼????????????? + * ???????若?茵?ず??????Twitter???罕???違????筝??????若??若?罩c??????с????筝????????????????信罩?+ * ???????若??????????????若??≪??????????????主?羈??????????????????????????;腓冴?????????? + * ???????若??脂??с?????吟??≪??潟?茵?ず??eb????若??若??若??????3?73????祉???信罩?+ * ???????若??脂??????????????????В?ゃ??鴻???????茵?????????????????腆肴?????≪??違??冴???? + * ???????若??脂???????????取В?ゃ????腆肴????????????? + * ???????若??脂??ц???????????若???;腓冴??????????????若???隈???????????+ * ???????若??脂??с??ゃ??喝??眼?????????????荐???御??????????????若?茵?ず???????≪??潟???劻?????????witter???罕?????罨≦??肴???????紊??????????????腆肴??с??障???? + * ???????若??脂????????≪??????D??申??+ * ???????若??脂?????ゃ??潟???????????????????紊с??糸????????吟????????????+ * ???????若??脂?????肴????膣≪?????潟?菴遵?????若??若??肴????膣≪????茵?ず?????? + * ???????若??脂??с?茯?┝羝??(Verified)???????????????????????????荐惹??帥?????潟??????????????若?????????????+ * ??????罘????????????若?茵?ず??奨羇祉??????D????ゃ?????ф?絎?????????с??障???+ * ???RT??????荐??STOT?潟??若?????鴻??若???RL?潟??若???????RT???荐?????URL????????????紊?? + * ?≪??潟???????????????ゃ??≪???????茯炊? + * ?肴??違?Followers/Following?違??帥??????;腓冴????????с?????????申???荐???脂?鐚?+ * ?帥?腮????????????с??????????????遺信罩c?????????ists?帥??????????????????????筝?????篆??????障???+ * IDN綵√????膰?RL???荐??膣育??с??????????????????????蕁??篆?? + * ?帥??<??ャ?????с??????????????????????筝????信罩?+ * URL?翫???(>)??RL????障?????潟??????????篆?? + * ?????????吾??潟???鮎??篁ュ?鐚??????????????茵?賢??????????若??阪????????????????????????? + * Retweet????潟???????????????????????????違??鴻??若?茵?ず???????????+ * ?帥????????吾??≪??潟?菴遵??帥?????違?紊????? + * Followers???????????????????障?罘???????????????т信罩?+ * piapro,flickr,pixiv????????吾??眼??潟??????????????若??????????????違?篆?? + * ?糸????????若?????????????????潟????????泣???????絲上??????????絲上?URL????若?????????? + * ????????????????????若???????????ゃ????筝????翫?????若??若???;腓冴?????????? + * ????????????????ャ??с????????????戎????紙??宴?茵?ず????????????????鴻??若?????泣???????筝??腱糸??????????? + * ?糸????????若??ゃ??c??????????綽????+ * PublicSearch???膣≪????????ч?膵??絎????????膣∝????菴???????????????????????罎?刈??????30腱???違???? + * PublicSearch???????????ince_id??????????????? + * 荅括完茵?ず????若??弱??с??????????茵?ず?????????????????????劻????????<??ャ?????閟?????????障???? + * 荅括完茵?ず????若??弱?綏????????????????????????????????????眼???+ * 荅括完茵?ず????若??弱?????ゃ??潟??????????????純???舟??????????若????紊??????????? + * 荅括完茵?ず????若??弱??潟??????????????若??若??肴????膣≪???申???????吟????荐??罎?刈?帥??ц;腓冴??障???+ * 荅括完茵?ず??劻???????????若????????若??若??肴????膣≪???申???????吟????荐??罎?刈?帥??ц;腓冴??障???+ * 荅括完茵?ず??????????????????IE????с??????????篏??????障?????????信罩?+ * 荅括完茵?ず??HIFT+F5????障???HIFT+R??????????翫????絽吾??贋???????篏?????????違?篆??(?<????罩c??? + * ?肴?荅括完?у劻??????????????若??若????????倶??????;腓冴???????@ID???????主?羈?????腆肴????????若????????????∈茯???冴?????????+ * API Proxy?医?筝??xAuth茯?┝??????????桁???信罩o???幻??Auth茯?┝???綵演?????障????鐚?PI?????????茖??箴???????????篏??荐若???????鐚?+ * URL??軒???莟<?????鴻??若?????ャ???ww???紮??????<??潟???????????????+==== Ver 0.9.2.0(2010/05/23) + * Ctrl+P?с??若??若?????c?????≪????????障????????c??????信罩?+ * ??拭????<??祉??吾??違?????????с?????????;腓坂散?違?20篁吟???+ * 荐??????ゃ?茯??莨若????????若??с????荀????+ * ?純????茵?ず??????????c????篆?? + * ???篁???純???????荐??Retweet?????∈茯????申???Web?с?荀??????c?100篋坂札筝??RT?с?腆肴??с??障???00篋榊∈茯?????API??羔?音??????鐚??鐚?50篋冴?RT????????羔?音鐚?+ * ????????軒????若?????????????????????????篆?? + * ??┸紊掩?????肴?絮ユ????????????????????桁?篆?? + * 茵?ず筝???糸????????若????????障??翫????????桁?篆?? + * 荅括完茵?ず????若??若??ゃ??潟???????????с??肴?????????????????????? + * ??拭緇??箴????儀??????????c??????信罩?+ * Tumblr???????ャ???ostType????鋌ュ??????????????弱け?????????PostType??;腓冴?????????? + * ?糸????????若?Tumblr???????ゃ??糸??吾??眼??潟????????ャ??с?????c??????信罩?+ * Pixiv???????若?R-18/R-18G??????????帥???????URL??????茵?ず?<??祉??吾?紊?????????????+ * Retweet???????違?茵?ず罘??菴遵?鐚?????篁???純??<??ャ?鐚?+==== Ver 0.9.1.0(2010/05/19) + * ??????????若???;腓冴?2???????翫????綽??????????????蕁??篆?? +==== Ver 0.9.0.0(2010/05/19) + * ???荐???с?Mentions????育????180腱???????違?40篁吟?????若??с??≪?????鴻?????ц??眼?????????? + * ?肴??????????綺???????????+ * ?糸????????若?Tumblr???綽?posttype=photo??????綽??????障?)???????泣?絲上? + * 莎桁????Followers????????????け????????????茯??莨若???????腟????????茵??????????? + * Twitter???紊?????????????????????≦??????????綣???av羝???ф???????散???膈??緇?柑 + * ????吟????????若??脂?菴遵????????主?羈??茵?ず??????????????茹i?????ゃ????????с??障???PI??羔?音?????? + * ?潟???????????若?????<??ャ????????c???;腓冴?菴遵?????с????????????lt+P??+ * ?肴?荅括完????????;腓咲?????潟???????????若?????肴???????????若?茵?ず???????若???????茹i???????????????+ * ?肴?荅括完???筝?????@ID?潟???????????若?????若??若?????c????腆肴???????????????+ * ??訓膣剛????????泣????????潟???????????寂札紊????ID???????ャ??違?????????????膣域;腓冴??祉????????純?????障???+ * ??????????吾??潟??с?????????????????с??c????URL??;腓冴?????????? + * ??????荐??茵?ず?????????????ユ???ource??;腓冴??障???+ * ?肴????綏援換篁????;腓冴?????у劻??????????????祉??鴻??御???????????????+ * ????吟????????≪??違?茯?┝羝???≪?????????????茵?ず????????+ * ?脂?????????馹??絲上? + * ???????潟????????馹??絲上? + * Alt???2??????????若??鴻?SplitContainer??Щ????桁?篆?? + * ??昆????若??с?????????翫?????c?????????号?紊?? + * ?<??モ????篁???純?????????ャ??育??f??純??≪??祉??с?????????? + * URL??軒??????????鴻?????ャ??????????紊?? + * ?肴??ュ?罨??罧??絖????????????若??拷?腱脂?綺?ャ??帥?鐚?SAA絲上?鐚?+ * Alt+Shift+R,Ctrl+Q???????????????????違?篆?? + * ?糸??泣???????SplitterDistance??奨??????????????????篆?? + * ??┸?????┸絎??????????????紊?????腮水け????<??祉??吾??????????????祉??c??祉?????鴻??????? + * ??┸??????腮粋??吟?????惹???? + * ?泣??若??????RL紊?? + * ?<??ャ???????????若??若??鴻???????????鴻????????綮??????ャ????????若??若??鴻??????????????????????? + * 荐???脂????????????API篏睡??違?膂≧?荐?????茵?ず????????????Lists?帥?????????障???+ * 荅括完茵?ず???荐?????????????????Home??????????????吾??潟??????????????х∈茯???????? + * ?????????ID??????????>散??粂?????ID???罅?札筝??) + * ??軒URL????????????筝?????????ャ???????????c??激???ぇ????糸?????阪?????????????篆?? + * ?????ャ??域В??????????<???????絖??膓???????ャ??違?罩c??顄???с????????c????篆?? + * ?帥??<??ャ????????箴????儀??????篆?? + * ?帥?????ゃ?茹f??т?紊??莎激?????遺信罩?+ * ???莎桁????茯?┝?????┃絎???≪??????????腆肴??<??祉??吾?2??????絽吾?腟???????????篆?? + * ??????????≪???efresh????喝???+ * ?糸????????惹??純?????≦?荐????申??+ * ????吾??潟????腆肴?????≪??違???????????帥?紊?? + * ???罎?刈??ists?帥???av菴遵??糸??ゆ????茯?????????翫?????c????篆?? + * DM??劻?????????????篏??????若?????ゃ????????????????篆?? + * ?????????????若??劫???;腓冴?????????? + * ?????????????????????????с??????????鐚?????????若?????????????????潟??御??????????筝????Щ?? +==== Ver 0.8.9.0(2010/05/03) + * Web?≪????罩?+ * OAuth鐚?Auth鐚??綽??API筝????50?醐????膓????ASIC茯?┝????????с????API??・膓?????????????PI?狗???????????障???+ * Lists絲上???????????????┏蕁??Lists?????+ * home_timeline,mentions,DirectMessage???綣閌?刈??ists????????????Shift-F5,Shift-r鐚??DM??witter???罕???????????????????堺??障???? + * ?糸????????弱?茖??imgur/twitpic/yfrog/tweetphoto /Mobypicture/?阪遣?丈?/??????????????photoshare/img.ly/brightkite/twitgoo/pic.im /youtube/?????????/flickr/pixiv/TwitVideo鐚??????帥???????5腱????? + * pixiv:?糸???-18?帥?????????????????潟??若??若??吾???????????????? + * flickr:photostream???茲????????????????????????????茘?+ * ??????????????????ュ?????≪?腱糸??с?????????? + * 筝??茯???純??刻?zh-CHS鐚?申???????贋?絲乗院紊???ラ?????潟??若????Tween???????????h-CHS??????????????????????????LL??舟?????????? + * ?贋??????5腱????┃絎?????????????????茖?? + * ??賢????喝?ID(sm/nm)????潟?綣泣?????????????茖?? + * 筝?????????若??????????????鋓?? + * ??賢URL???????????違??潟??????????筝?Η?脂??с??潟?????鴻???;腓冴??????????????吟????????ャ??違?????障?茵?ず???膰?RL???膰??緇?検?壕;腓冴???????紊?? + * nico.ms??軒?????????莨若? + * 筝????IF?≪??<??ゃ??潟??????気????????????蕁??絲上? + * PublicSearch?帥????膣≪??潟??????????OR罎?刈???????????????筝?????篆?? + * ??????????峨??眼?荀??????????査???荐???с????????蚊?筝????????????????? + * ?帥????????≪??帥????????????????ゃ????????????;腓冴?????????? + * flickr????????????@?????????URL??????茯???????????????違?篆?? + * ?帥????????≪??潟?????若????????上????????違?@????違?茵?ず???????????+ * 筝????RL??witterID???????????????茯??????翫?????c????篆?? + * ???罎?刈?帥?????潟???????????鴻????罎?刈????????????罎?刈????翫????膣≪??若??????????篆?? + * 絎?????篏????倶?????若??若??潟??若??с??鴻???????????隙??????札筝???????+ * ?帥???????綺??茵???????????????帥???????羔???<??ャ?????鴻? + * ????若??鴻?????肴???rotect?肴???eTweet??rotect?肴?????????┃絎???翫???T?∫??<??ャ?????鴻? + * 荅括完茵?ず????潟???????????若??倶???????ID???????????????????鴻? + * ????若??鴻?????肴????????肴??с???????????<??ャ?????鴻? + * PublicSearch?帥???n_reply_to_status_id??┃絎???????????荐???翫????菴?拭???????帥?????????≦???+ * ???RT?肴??с?????????T???篋冴??????????????≦???+??* ??????荐?????RT?с????????≦???+ * ?≪??潟??糸????????ゃ??≪????5腱??紊?? + * 莎桁???AV?????┃絎???∴????????遺信罩?+ * dlvr.it,bkite.com,youtu.be,ow.ly,p.tl,flic.kr??RL絮?????綽?+ * ???RT??????菴?拭ALL???????????T???篋冴?菴?拭???菴遵???????紊?? + * 茯?┝????若?菴??????????札緇???違???????????障????篆?? + * ProxyAPI絲上???????API??・膓??URL??????臀??????с???????荐??菴遵? + * 1腱?札?????┏??PI?????????????潟?????????? + * ???RT??????QT菴?拭?????n_reply_to??????????遺信罩?+ * ?????????莎桁????????ゃ??????刊????馹??絲上?鐚?ween?吾??激??若??????????????c?荐????????絨??????莎桁??с??障?鐚?+ * ??┸??????URL??軒??????????????RL?????軒???????翫????????遺信罩?+ * URL膈?????????冴??吾????茯炊? + * ???????祉??潟?????主???D????脂???D????眼???????????≪?ID???????????遺信罩?+ * ???茵?ず?????信罩?+ * ????????????篏??????т?紊?????????????+ +??????????贋?絮ユ????????泣????????????????? Added: branches/UserStream/Tween/Resources/Description.txt =================================================================== --- branches/UserStream/Tween/Resources/Description.txt (rev 0) +++ branches/UserStream/Tween/Resources/Description.txt 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,11 @@ +鏤?lient of Twitter. Free software(GPL3) + +Twitter:kiri_feather +Mail:kiri_feather @ users.sourceforge.jp + +Developer:Takeshi KIRIYA(http://www.takeshik.org/) +Developer:moz +Developer:sin_sin(http://twitter.com/sinsinpub) +Developer:anis774(http://d.hatena.ne.jp/anis774/) +Tester:fantasticswallow(http://twitter.com/f_swallow) +Icons:Minami(http://www.pi-kun.com/) \ No newline at end of file Added: branches/UserStream/Tween/Resources/InitialImage.png =================================================================== (Binary files differ) Property changes on: branches/UserStream/Tween/Resources/InitialImage.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/UserStream/Tween/Resources/MultiMediaImage.png =================================================================== (Binary files differ) Property changes on: branches/UserStream/Tween/Resources/MultiMediaImage.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/UserStream/Tween/Resources/re.ico =================================================================== (Binary files differ) Property changes on: branches/UserStream/Tween/Resources/re.ico ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/UserStream/Tween/Resources/re2.ico =================================================================== (Binary files differ) Property changes on: branches/UserStream/Tween/Resources/re2.ico ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/UserStream/Tween/Resources/re3.ico =================================================================== (Binary files differ) Property changes on: branches/UserStream/Tween/Resources/re3.ico ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/UserStream/Tween/Resources/re4.ico =================================================================== (Binary files differ) Property changes on: branches/UserStream/Tween/Resources/re4.ico ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/UserStream/Tween/SearchWord.Designer.vb =================================================================== --- branches/UserStream/Tween/SearchWord.Designer.vb (rev 0) +++ branches/UserStream/Tween/SearchWord.Designer.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,139 @@ +鏤?ption Strict On + _ +Partial Class SearchWord + Inherits System.Windows.Forms.Form + + '????若?????潟??若??潟????荀с?????若??≪?????????? dispose ????若??若??ゃ??????? + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Windows ????若? ????ゃ??у?荀????? + Private components As System.ComponentModel.IContainer + + '?<?: 篁ヤ????????若??c? Windows ????若? ????ゃ??у?荀????? + 'Windows ????若? ????ゃ???戎???????眼??????? + '?潟???????c???戎?c?紊??????????????? + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(SearchWord)) + Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel + Me.OK_Button = New System.Windows.Forms.Button + Me.Cancel_Button = New System.Windows.Forms.Button + Me.SWordText = New System.Windows.Forms.TextBox + Me.Label1 = New System.Windows.Forms.Label + Me.CheckSearchCaseSensitive = New System.Windows.Forms.CheckBox + Me.CheckSearchRegex = New System.Windows.Forms.CheckBox + Me.TableLayoutPanel1.SuspendLayout() + Me.SuspendLayout() + ' + 'TableLayoutPanel1 + ' + Me.TableLayoutPanel1.AccessibleDescription = Nothing + Me.TableLayoutPanel1.AccessibleName = Nothing + resources.ApplyResources(Me.TableLayoutPanel1, "TableLayoutPanel1") + Me.TableLayoutPanel1.BackgroundImage = Nothing + Me.TableLayoutPanel1.Controls.Add(Me.OK_Button, 0, 0) + Me.TableLayoutPanel1.Controls.Add(Me.Cancel_Button, 1, 0) + Me.TableLayoutPanel1.Font = Nothing + Me.TableLayoutPanel1.Name = "TableLayoutPanel1" + ' + 'OK_Button + ' + Me.OK_Button.AccessibleDescription = Nothing + Me.OK_Button.AccessibleName = Nothing + resources.ApplyResources(Me.OK_Button, "OK_Button") + Me.OK_Button.BackgroundImage = Nothing + Me.OK_Button.Font = Nothing + Me.OK_Button.Name = "OK_Button" + ' + 'Cancel_Button + ' + Me.Cancel_Button.AccessibleDescription = Nothing + Me.Cancel_Button.AccessibleName = Nothing + resources.ApplyResources(Me.Cancel_Button, "Cancel_Button") + Me.Cancel_Button.BackgroundImage = Nothing + Me.Cancel_Button.DialogResult = System.Windows.Forms.DialogResult.Cancel + Me.Cancel_Button.Font = Nothing + Me.Cancel_Button.Name = "Cancel_Button" + ' + 'SWordText + ' + Me.SWordText.AccessibleDescription = Nothing + Me.SWordText.AccessibleName = Nothing + resources.ApplyResources(Me.SWordText, "SWordText") + Me.SWordText.BackgroundImage = Nothing + Me.SWordText.Font = Nothing + Me.SWordText.Name = "SWordText" + ' + 'Label1 + ' + Me.Label1.AccessibleDescription = Nothing + Me.Label1.AccessibleName = Nothing + resources.ApplyResources(Me.Label1, "Label1") + Me.Label1.Font = Nothing + Me.Label1.Name = "Label1" + ' + 'CheckSearchCaseSensitive + ' + Me.CheckSearchCaseSensitive.AccessibleDescription = Nothing + Me.CheckSearchCaseSensitive.AccessibleName = Nothing + resources.ApplyResources(Me.CheckSearchCaseSensitive, "CheckSearchCaseSensitive") + Me.CheckSearchCaseSensitive.BackgroundImage = Nothing + Me.CheckSearchCaseSensitive.Font = Nothing + Me.CheckSearchCaseSensitive.Name = "CheckSearchCaseSensitive" + Me.CheckSearchCaseSensitive.UseVisualStyleBackColor = True + ' + 'CheckSearchRegex + ' + Me.CheckSearchRegex.AccessibleDescription = Nothing + Me.CheckSearchRegex.AccessibleName = Nothing + resources.ApplyResources(Me.CheckSearchRegex, "CheckSearchRegex") + Me.CheckSearchRegex.BackgroundImage = Nothing + Me.CheckSearchRegex.Font = Nothing + Me.CheckSearchRegex.Name = "CheckSearchRegex" + Me.CheckSearchRegex.UseVisualStyleBackColor = True + ' + 'SearchWord + ' + Me.AcceptButton = Me.OK_Button + Me.AccessibleDescription = Nothing + Me.AccessibleName = Nothing + resources.ApplyResources(Me, "$this") + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.BackgroundImage = Nothing + Me.CancelButton = Me.Cancel_Button + Me.Controls.Add(Me.CheckSearchRegex) + Me.Controls.Add(Me.CheckSearchCaseSensitive) + Me.Controls.Add(Me.Label1) + Me.Controls.Add(Me.SWordText) + Me.Controls.Add(Me.TableLayoutPanel1) + Me.Font = Nothing + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog + Me.Icon = Nothing + Me.MaximizeBox = False + Me.MinimizeBox = False + Me.Name = "SearchWord" + Me.ShowInTaskbar = False + Me.TopMost = True + Me.TableLayoutPanel1.ResumeLayout(False) + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents TableLayoutPanel1 As System.Windows.Forms.TableLayoutPanel + Friend WithEvents OK_Button As System.Windows.Forms.Button + Friend WithEvents Cancel_Button As System.Windows.Forms.Button + Friend WithEvents SWordText As System.Windows.Forms.TextBox + Friend WithEvents Label1 As System.Windows.Forms.Label + Friend WithEvents CheckSearchCaseSensitive As System.Windows.Forms.CheckBox + Friend WithEvents CheckSearchRegex As System.Windows.Forms.CheckBox + +End Class Added: branches/UserStream/Tween/SearchWord.en.resx =================================================================== --- branches/UserStream/Tween/SearchWord.en.resx (rev 0) +++ branches/UserStream/Tween/SearchWord.en.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,148 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + &Find + + + Close + + + + 78, 12 + + + Fi&nding String: + + + 101, 16 + + + Case Sensitive + + + 153, 16 + + + Use Regular Expressions + + + Search + + \ No newline at end of file Added: branches/UserStream/Tween/SearchWord.resx =================================================================== --- branches/UserStream/Tween/SearchWord.resx (rev 0) +++ branches/UserStream/Tween/SearchWord.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,333 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ?怨ぇ絨????????/value> + + + + 67, 21 + + + SearchWord + + + System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ?????/value> + + + $this + + + TableLayoutPanel1 + + + + 1 + + + TableLayoutPanel1 + + + 67, 21 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 1 + + + 2 + + + 118, 31 + + + 3 + + + 0 + + + SWordText + + + System.Windows.Forms.CheckBox, 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 + + + 1 + + + + None + + + 435, 76 + + + None + + + 2 + + + 12, 9 + + + 0 + + + 罎?刈 + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Cancel_Button + + + True + + + Bottom, Right + + + 罎?刈(&F) + + + 76, 3 + + + 0 + + + 277, 38 + + + CheckSearchCaseSensitive + + + $this + + + 118, 53 + + + 罩h?茵??/value> + + + 72, 16 + + + 118, 6 + + + $this + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="OK_Button" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="Cancel_Button" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="Percent,50,Percent,50" /><Rows Styles="Percent,50" /></TableLayoutSettings> + + + 1 + + + True + + + 146, 27 + + + $this + + + 罎?刈????????&N) + + + 2 + + + 4 + + + 1 + + + Label1 + + + TableLayoutPanel1 + + + $this + + + 117, 16 + + + 302, 19 + + + CenterParent + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + CheckSearchRegex + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 0 + + + 6, 12 + + + 3, 3 + + + 4 + + + 100, 12 + + + True + + + 3 + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + OK_Button + + + True + + \ No newline at end of file Added: branches/UserStream/Tween/SearchWord.vb =================================================================== --- branches/UserStream/Tween/SearchWord.vb (rev 0) +++ branches/UserStream/Tween/SearchWord.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,69 @@ +鏤? Tween - Client of Twitter +' Copyright (c) 2007-2010 kiri_feather (@kiri_feather) +' (c) 2008-2010 Moz (@syo68k) +' (c) 2008-2010 takeshik (@takeshik) +' All rights reserved. +' +' This file is part of Tween. +' +' This program is free software; you can redistribute it and/or modify it +' under the terms of the GNU General Public License as published by the Free +' Software Foundation; either version 3 of the License, or (at your option) +' any later version. +' +' This program is distributed in the hope that it will be useful, but +' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +' for more details. +' +' You should have received a copy of the GNU General Public License along +' with this program. If not, see , or write to +' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, +' Boston, MA 02110-1301, USA. + +Imports System.Windows.Forms + +Public Class SearchWord + + Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click + Me.DialogResult = System.Windows.Forms.DialogResult.OK + Me.Close() + End Sub + + Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click + Me.DialogResult = System.Windows.Forms.DialogResult.Cancel + Me.Close() + End Sub + + Public Property SWord() As String + Get + Return SWordText.Text + End Get + Set(ByVal value As String) + SWordText.Text = value + End Set + End Property + + Public Property CheckCaseSensitive() As Boolean + Get + Return CheckSearchCaseSensitive.Checked + End Get + Set(ByVal value As Boolean) + CheckSearchCaseSensitive.Checked = value + End Set + End Property + + Public Property CheckRegex() As Boolean + Get + Return CheckSearchRegex.Checked + End Get + Set(ByVal value As Boolean) + CheckSearchRegex.Checked = value + End Set + End Property + + Private Sub SearchWord_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown + SWordText.SelectAll() + SWordText.Focus() + End Sub +End Class Added: branches/UserStream/Tween/SearchWord.zh-CHS.resx =================================================================== --- branches/UserStream/Tween/SearchWord.zh-CHS.resx (rev 0) +++ branches/UserStream/Tween/SearchWord.zh-CHS.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,148 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ??刈(&F) + + + ?渇? + + + + 95, 12 + + + 荀??膣∝????(&N) + + + 84, 16 + + + ?阪?紊у???/value> + + + 84, 16 + + + 罩e?茵?松綣?value> + + + ??刈 + + \ No newline at end of file Added: branches/UserStream/Tween/Setting/SettingAtIdList.vb =================================================================== --- branches/UserStream/Tween/Setting/SettingAtIdList.vb (rev 0) +++ branches/UserStream/Tween/Setting/SettingAtIdList.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,49 @@ +鏤? Tween - Client of Twitter +' Copyright (c) 2007-2010 kiri_feather (@kiri_feather) +' (c) 2008-2010 Moz (@syo68k) +' (c) 2008-2010 takeshik (@takeshik) +' All rights reserved. +' +' This file is part of Tween. +' +' This program is free software; you can redistribute it and/or modify it +' under the terms of the GNU General Public License as published by the Free +' Software Foundation; either version 3 of the License, or (at your option) +' any later version. +' +' This program is distributed in the hope that it will be useful, but +' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +' for more details. +' +' You should have received a copy of the GNU General Public License along +' with this program. If not, see , or write to +' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, +' Boston, MA 02110-1301, USA. + + _ +Public Class SettingAtIdList + Inherits SettingBase(Of SettingAtIdList) + +#Region "Setting????劫??? + Public Shared Function Load() As SettingAtIdList + Dim setting As SettingAtIdList = LoadSettings() + Return setting + End Function + + Public Sub Save() + SaveSettings(Me) + End Sub + + Public Sub New() + AtIdList = New List(Of String) + End Sub + + Public Sub New(ByVal ids As List(Of String)) + Me.AtIdList = ids + End Sub + +#End Region + + Public AtIdList As List(Of String) +End Class Added: branches/UserStream/Tween/Setting/SettingBase.vb =================================================================== --- branches/UserStream/Tween/Setting/SettingBase.vb (rev 0) +++ branches/UserStream/Tween/Setting/SettingBase.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,124 @@ +鏤? Tween - Client of Twitter +' Copyright (c) 2007-2010 kiri_feather (@kiri_feather) +' (c) 2008-2010 Moz (@syo68k) +' (c) 2008-2010 takeshik (@takeshik) +' All rights reserved. +' +' This file is part of Tween. +' +' This program is free software; you can redistribute it and/or modify it +' under the terms of the GNU General Public License as published by the Free +' Software Foundation; either version 3 of the License, or (at your option) +' any later version. +' +' This program is distributed in the hope that it will be useful, but +' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +' for more details. +' +' You should have received a copy of the GNU General Public License along +' with this program. If not, see , or write to +' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, +' Boston, MA 02110-1301, USA. +Public MustInherit Class SettingBase(Of T As {Class, New}) + + Private Shared lockObj As New Object + + Protected Shared Function LoadSettings(ByVal FileId As String) As T + Try + SyncLock lockObj + Using fs As New IO.FileStream(GetSettingFilePath(FileId), IO.FileMode.Open) + fs.Position = 0 + Dim xs As New Xml.Serialization.XmlSerializer(GetType(T)) + Dim instance As T = DirectCast(xs.Deserialize(fs), T) + fs.Close() + Return instance + End Using + End SyncLock + Catch ex As System.IO.FileNotFoundException + Return New T() + Catch ex As Exception + Dim backupFile As String = IO.Path.Combine( _ + IO.Path.Combine( _ + My.Application.Info.DirectoryPath, _ + "TweenBackup1st"), _ + GetType(T).Name + FileId + ".xml") + If IO.File.Exists(backupFile) Then + Try + SyncLock lockObj + Using fs As New IO.FileStream(backupFile, IO.FileMode.Open) + fs.Position = 0 + Dim xs As New Xml.Serialization.XmlSerializer(GetType(T)) + Dim instance As T = DirectCast(xs.Deserialize(fs), T) + fs.Close() + MessageBox.Show("File: " + GetSettingFilePath(FileId) + Environment.NewLine + "Use old setting file, because application can't read this setting file.") + Return instance + End Using + End SyncLock + Catch ex2 As Exception + End Try + End If + MessageBox.Show("File: " + GetSettingFilePath(FileId) + Environment.NewLine + "Use default setting, because application can't read this setting file.") + Return New T() + 'ex.Data.Add("FilePath", GetSettingFilePath(FileId)) + 'Dim fi As New IO.FileInfo(GetSettingFilePath(FileId)) + 'ex.Data.Add("FileSize", fi.Length.ToString()) + 'ex.Data.Add("FileData", IO.File.ReadAllText(GetSettingFilePath(FileId))) + 'Throw + End Try + End Function + + Protected Shared Function LoadSettings() As T + Return LoadSettings("") + End Function + + Protected Shared Sub SaveSettings(ByVal Instance As T, ByVal FileId As String) + Dim cnt As Integer = 0 + Dim err As Boolean = False + Dim fileName As String = GetSettingFilePath(FileId) + If Instance Is Nothing Then Exit Sub + Do + err = False + cnt += 1 + Try + SyncLock lockObj + Using fs As New IO.FileStream(fileName, IO.FileMode.Create) + fs.Position = 0 + Dim xs As New Xml.Serialization.XmlSerializer(GetType(T)) + xs.Serialize(fs, Instance) + fs.Flush() + fs.Close() + End Using + Dim fi As New IO.FileInfo(fileName) + If fi.Length = 0 Then + If cnt > 3 Then + Throw New Exception + Exit Sub + End If + Threading.Thread.Sleep(1000) + err = True + End If + End SyncLock + Catch ex As Exception + '罎?┝?????or ?吾?莨若??????+ If cnt > 3 Then + '???????????? + MessageBox.Show("Can't write setting XML.(" + fileName + ")", "Save Settings", MessageBoxButtons.OK) + 'Throw New System.InvalidOperationException("Can't write setting XML.(" + fileName + ")") + Exit Sub + End If + '?????? + Threading.Thread.Sleep(1000) + err = True + End Try + Loop While err + End Sub + + Protected Shared Sub SaveSettings(ByVal Instance As T) + SaveSettings(Instance, "") + End Sub + + Public Shared Function GetSettingFilePath(ByVal FileId As String) As String + Return IO.Path.Combine(My.Application.Info.DirectoryPath, GetType(T).Name + FileId + ".xml") + End Function +End Class Added: branches/UserStream/Tween/Setting/SettingCommon.vb =================================================================== --- branches/UserStream/Tween/Setting/SettingCommon.vb (rev 0) +++ branches/UserStream/Tween/Setting/SettingCommon.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,174 @@ +鏤? Tween - Client of Twitter +' Copyright (c) 2007-2010 kiri_feather (@kiri_feather) +' (c) 2008-2010 Moz (@syo68k) +' (c) 2008-2010 takeshik (@takeshik) +' All rights reserved. +' +' This file is part of Tween. +' +' This program is free software; you can redistribute it and/or modify it +' under the terms of the GNU General Public License as published by the Free +' Software Foundation; either version 3 of the License, or (at your option) +' any later version. +' +' This program is distributed in the hope that it will be useful, but +' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +' for more details. +' +' You should have received a copy of the GNU General Public License along +' with this program. If not, see , or write to +' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, +' Boston, MA 02110-1301, USA. + _ +Public Class SettingCommon + Inherits SettingBase(Of SettingCommon) + +#Region "Setting????劫??? + Public Shared Function Load() As SettingCommon + Return LoadSettings() + End Function + + Public Sub Save() + SaveSettings(Me) + End Sub +#End Region + + Public UserName As String = "" + + _ + Public Password As String = "" + Public Property EncryptPassword() As String + Get + Return Encrypt(Password) + End Get + Set(ByVal value As String) + Password = Decrypt(value) + End Set + End Property + + Public Token As String = "" + _ + Public TokenSecret As String = "" + Public Property EncryptTokenSecret() As String + Get + Return Encrypt(TokenSecret) + End Get + Set(ByVal value As String) + TokenSecret = Decrypt(value) + End Set + End Property + + Private Function Encrypt(ByVal password As String) As String + If String.IsNullOrEmpty(password) Then password = "" + If password.Length > 0 Then + Try + Return EncryptString(password) + Catch ex As Exception + Return "" + End Try + Else + Return "" + End If + End Function + Private Function Decrypt(ByVal password As String) As String + If String.IsNullOrEmpty(password) Then password = "" + If password.Length > 0 Then + Try + password = DecryptString(password) + Catch ex As Exception + password = "" + End Try + End If + Return password + End Function + + Public TabList As New List(Of String) + Public TimelinePeriod As Integer = 90 + Public ReplyPeriod As Integer = 180 + Public DMPeriod As Integer = 600 + Public PubSearchPeriod As Integer = 180 + Public ListsPeriod As Integer = 180 + Public Read As Boolean = True + Public ListLock As Boolean = False + Public IconSize As IconSizes = IconSizes.Icon16 + Public NewAllPop As Boolean = True + Public PlaySound As Boolean = False + Public UnreadManage As Boolean = True + Public OneWayLove As Boolean = True + Public NameBalloon As NameBalloonEnum = NameBalloonEnum.NickName + Public PostCtrlEnter As Boolean = False + Public CountApi As Integer = 60 + Public CountApiReply As Integer = 40 + Public PostAndGet As Boolean = True + Public DispUsername As Boolean = False + Public MinimizeToTray As Boolean = False + Public CloseToExit As Boolean = False + Public DispLatestPost As DispTitleEnum = DispTitleEnum.Post + Public SortOrderLock As Boolean = False + Public TinyUrlResolve As Boolean = True + Public PeriodAdjust As Boolean = True + Public StartupVersion As Boolean = True + Public StartupFollowers As Boolean = True + Public RestrictFavCheck As Boolean = False + Public AlwaysTop As Boolean = False + Public CultureCode As String = "" + Public UrlConvertAuto As Boolean = False + Public Outputz As Boolean = False + Public SortColumn As Integer = 3 + Public SortOrder As Integer = 1 + Public IsMonospace As Boolean = False + Public ReadOldPosts As Boolean = False + Public UseSsl As Boolean = True + Public Language As String = "OS" + Public Nicoms As Boolean = False + Public HashTags As New List(Of String) + Public HashSelected As String = "" + Public HashIsPermanent As Boolean = False + Public HashIsHead As Boolean = False + Public PreviewEnable As Boolean = True + + _ + Public OutputzKey As String = "" + Public Property EncryptOutputzKey() As String + Get + Return Encrypt(OutputzKey) + End Get + Set(ByVal value As String) + OutputzKey = Decrypt(value) + End Set + End Property + + Public OutputzUrlMode As OutputzUrlmode = MyCommon.OutputzUrlmode.twittercom + Public AutoShortUrlFirst As UrlConverter = UrlConverter.Bitly + Public UseUnreadStyle As Boolean = True + Public DateTimeFormat As String = "yyyy/MM/dd H:mm:ss" + Public DefaultTimeOut As Integer = 20 + 'Public ProtectNotInclude As Boolean = True + Public RetweetNoConfirm As Boolean = False + Public LimitBalloon As Boolean = False + Public TabIconDisp As Boolean = True + Public ReplyIconState As REPLY_ICONSTATE = REPLY_ICONSTATE.StaticIcon + Public WideSpaceConvert As Boolean = True + Public ReadOwnPost As Boolean = False + Public GetFav As Boolean = True + Public BilyUser As String = "" + Public BitlyPwd As String = "" + Public ShowGrid As Boolean = False + Public UseAtIdSupplement As Boolean = True + Public UseHashSupplement As Boolean = True + Public TwitterUrl As String = "api.twitter.com" + Public TwitterSearchUrl As String = "search.twitter.com" + Public IsOAuth As Boolean = True + Public HotkeyEnabled As Boolean = False + Public HotkeyModifier As Keys = Keys.None + Public HotkeyKey As Keys = Keys.None + Public HotkeyValue As Integer = 0 + Public BlinkNewMentions As Boolean = False + Public FocusLockToStatusText As Boolean = False + Public UseAdditionalCount As Boolean = False + Public MoreCountApi As Integer = 200 + Public FirstCountApi As Integer = 100 + Public SearchCountApi As Integer = 100 + Public FavoritesCountApi As Integer = 40 +End Class Added: branches/UserStream/Tween/Setting/SettingFollower.vb =================================================================== --- branches/UserStream/Tween/Setting/SettingFollower.vb (rev 0) +++ branches/UserStream/Tween/Setting/SettingFollower.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,49 @@ +鏤? Tween - Client of Twitter +' Copyright (c) 2007-2010 kiri_feather (@kiri_feather) +' (c) 2008-2010 Moz (@syo68k) +' (c) 2008-2010 takeshik (@takeshik) +' All rights reserved. +' +' This file is part of Tween. +' +' This program is free software; you can redistribute it and/or modify it +' under the terms of the GNU General Public License as published by the Free +' Software Foundation; either version 3 of the License, or (at your option) +' any later version. +' +' This program is distributed in the hope that it will be useful, but +' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +' for more details. +' +' You should have received a copy of the GNU General Public License along +' with this program. If not, see , or write to +' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, +' Boston, MA 02110-1301, USA. + _ +Public Class SettingFollower + Inherits SettingBase(Of SettingFollower) + +#Region "Setting????劫??? + Public Shared Function Load() As SettingFollower + Dim setting As SettingFollower = LoadSettings() + Return setting + End Function + + Public Sub Save() + SaveSettings(Me) + End Sub + + Public Sub New() + Follower = New List(Of String) + End Sub + + Public Sub New(ByVal follower As List(Of String)) + Me.Follower = follower + End Sub + +#End Region + + Public Follower As List(Of String) + +End Class Added: branches/UserStream/Tween/Setting/SettingLocal.vb =================================================================== --- branches/UserStream/Tween/Setting/SettingLocal.vb (rev 0) +++ branches/UserStream/Tween/Setting/SettingLocal.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,330 @@ +鏤? Tween - Client of Twitter +' Copyright (c) 2007-2010 kiri_feather (@kiri_feather) +' (c) 2008-2010 Moz (@syo68k) +' (c) 2008-2010 takeshik (@takeshik) +' All rights reserved. +' +' This file is part of Tween. +' +' This program is free software; you can redistribute it and/or modify it +' under the terms of the GNU General Public License as published by the Free +' Software Foundation; either version 3 of the License, or (at your option) +' any later version. +' +' This program is distributed in the hope that it will be useful, but +' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +' for more details. +' +' You should have received a copy of the GNU General Public License along +' with this program. If not, see , or write to +' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, +' Boston, MA 02110-1301, USA. + _ +Public Class SettingLocal + Inherits SettingBase(Of SettingLocal) + +#Region "Setting????劫??? + Public Shared Function Load() As SettingLocal + Return LoadSettings() + End Function + + Public Sub Save() + SaveSettings(Me) + End Sub +#End Region + + Private _fc As New FontConverter + Private _cc As New ColorConverter + + Public FormLocation As New Point(0, 0) + Public SplitterDistance As Integer = 320 + Public FormSize As New Size(436, 476) + Public StatusText As String = "" + Public UseRecommendStatus As Boolean = False + Public Width1 As Integer = 48 + Public Width2 As Integer = 80 + Public Width3 As Integer = 290 + Public Width4 As Integer = 120 + Public Width5 As Integer = 50 + Public Width6 As Integer = 16 + Public Width7 As Integer = 32 + Public Width8 As Integer = 50 + Public DisplayIndex1 As Integer = 2 + Public DisplayIndex2 As Integer = 3 + Public DisplayIndex3 As Integer = 4 + Public DisplayIndex4 As Integer = 5 + Public DisplayIndex5 As Integer = 6 + Public DisplayIndex6 As Integer = 1 + Public DisplayIndex7 As Integer = 0 + Public DisplayIndex8 As Integer = 7 + Public BrowserPath As String = "" + Public ProxyType As HttpConnection.ProxyType = HttpConnection.ProxyType.IE + Public ProxyAddress As String = "127.0.0.1" + Public ProxyPort As Integer = 80 + Public ProxyUser As String = "" + Public StatusMultiline As Boolean = False + Public StatusTextHeight As Integer = 38 + Public PreviewDistance As Integer = -1 + + _ + Public FontUnread As New Font(SystemFonts.DefaultFont, FontStyle.Bold Or FontStyle.Underline) + Public Property FontUnreadStr() As String + Get + Return _fc.ConvertToString(FontUnread) + End Get + Set(ByVal value As String) + FontUnread = DirectCast(_fc.ConvertFromString(value), Font) + End Set + End Property + + _ + Public ColorUnread As Color = System.Drawing.SystemColors.ControlText + Public Property ColorUnreadStr() As String + Get + Return _cc.ConvertToString(ColorUnread) + End Get + Set(ByVal value As String) + ColorUnread = DirectCast(_cc.ConvertFromString(value), Color) + End Set + End Property + + _ + Public FontRead As Font = System.Drawing.SystemFonts.DefaultFont + Public Property FontReadStr() As String + Get + Return _fc.ConvertToString(FontRead) + End Get + Set(ByVal value As String) + FontRead = DirectCast(_fc.ConvertFromString(value), Font) + End Set + End Property + + _ + Public ColorRead As Color = System.Drawing.SystemColors.ControlText + Public Property ColorReadStr() As String + Get + Return _cc.ConvertToString(ColorRead) + End Get + Set(ByVal value As String) + ColorRead = DirectCast(_cc.ConvertFromString(value), Color) + End Set + End Property + + _ + Public ColorFav As Color = Color.FromKnownColor(System.Drawing.KnownColor.Red) + Public Property ColorFavStr() As String + Get + Return _cc.ConvertToString(ColorFav) + End Get + Set(ByVal value As String) + ColorFav = DirectCast(_cc.ConvertFromString(value), Color) + End Set + End Property + + _ + Public ColorOWL As Color = Color.FromKnownColor(System.Drawing.KnownColor.Blue) + Public Property ColorOWLStr() As String + Get + Return _cc.ConvertToString(ColorOWL) + End Get + Set(ByVal value As String) + ColorOWL = DirectCast(_cc.ConvertFromString(value), Color) + End Set + End Property + + _ + Public ColorRetweet As Color = Color.FromKnownColor(System.Drawing.KnownColor.Green) + Public Property ColorRetweetStr() As String + Get + Return _cc.ConvertToString(ColorRetweet) + End Get + Set(ByVal value As String) + ColorRetweet = DirectCast(_cc.ConvertFromString(value), Color) + End Set + End Property + + _ + Public FontDetail As Font = System.Drawing.SystemFonts.DefaultFont + Public Property FontDetailStr() As String + Get + Return _fc.ConvertToString(FontDetail) + End Get + Set(ByVal value As String) + FontDetail = DirectCast(_fc.ConvertFromString(value), Font) + End Set + End Property + + _ + Public ColorSelf As Color = Color.FromKnownColor(System.Drawing.KnownColor.AliceBlue) + Public Property ColorSelfStr() As String + Get + Return _cc.ConvertToString(ColorSelf) + End Get + Set(ByVal value As String) + ColorSelf = DirectCast(_cc.ConvertFromString(value), Color) + End Set + End Property + + _ + Public ColorAtSelf As Color = Color.FromKnownColor(System.Drawing.KnownColor.AntiqueWhite) + Public Property ColorAtSelfStr() As String + Get + Return _cc.ConvertToString(ColorAtSelf) + End Get + Set(ByVal value As String) + ColorAtSelf = DirectCast(_cc.ConvertFromString(value), Color) + End Set + End Property + + _ + Public ColorTarget As Color = Color.FromKnownColor(System.Drawing.KnownColor.LemonChiffon) + Public Property ColorTargetStr() As String + Get + Return _cc.ConvertToString(ColorTarget) + End Get + Set(ByVal value As String) + ColorTarget = DirectCast(_cc.ConvertFromString(value), Color) + End Set + End Property + + _ + Public ColorAtTarget As Color = Color.FromKnownColor(System.Drawing.KnownColor.LavenderBlush) + Public Property ColorAtTargetStr() As String + Get + Return _cc.ConvertToString(ColorAtTarget) + End Get + Set(ByVal value As String) + ColorAtTarget = DirectCast(_cc.ConvertFromString(value), Color) + End Set + End Property + + _ + Public ColorAtFromTarget As Color = Color.FromKnownColor(System.Drawing.KnownColor.Honeydew) + Public Property ColorAtFromTargetStr() As String + Get + Return _cc.ConvertToString(ColorAtFromTarget) + End Get + Set(ByVal value As String) + ColorAtFromTarget = DirectCast(_cc.ConvertFromString(value), Color) + End Set + End Property + + _ + Public ColorAtTo As Color = Color.FromKnownColor(System.Drawing.KnownColor.Pink) + Public Property ColorAtToStr() As String + Get + Return _cc.ConvertToString(ColorAtTo) + End Get + Set(ByVal value As String) + ColorAtTo = DirectCast(_cc.ConvertFromString(value), Color) + End Set + End Property + + _ + Public ColorInputBackcolor As Color = Color.FromKnownColor(System.Drawing.KnownColor.LemonChiffon) + Public Property ColorInputBackcolorStr() As String + Get + Return _cc.ConvertToString(ColorInputBackcolor) + End Get + Set(ByVal value As String) + ColorInputBackcolor = DirectCast(_cc.ConvertFromString(value), Color) + End Set + End Property + + _ + Public ColorInputFont As Color = Color.FromKnownColor(System.Drawing.KnownColor.ControlText) + Public Property ColorInputFontStr() As String + Get + Return _cc.ConvertToString(ColorInputFont) + End Get + Set(ByVal value As String) + ColorInputFont = DirectCast(_cc.ConvertFromString(value), Color) + End Set + End Property + + _ + Public FontInputFont As Font = System.Drawing.SystemFonts.DefaultFont + Public Property FontInputFontStr() As String + Get + Return _fc.ConvertToString(FontInputFont) + End Get + Set(ByVal value As String) + FontInputFont = DirectCast(_fc.ConvertFromString(value), Font) + End Set + End Property + + _ + Public ColorListBackcolor As Color = Color.FromKnownColor(System.Drawing.KnownColor.Window) + Public Property ColorListBackcolorStr() As String + Get + Return _cc.ConvertToString(ColorListBackcolor) + End Get + Set(ByVal value As String) + ColorListBackcolor = DirectCast(_cc.ConvertFromString(value), Color) + End Set + End Property + + _ + Public ColorDetailBackcolor As Color = Color.FromKnownColor(System.Drawing.KnownColor.Window) + Public Property ColorDetailBackcolorStr() As String + Get + Return _cc.ConvertToString(ColorDetailBackcolor) + End Get + Set(ByVal value As String) + ColorDetailBackcolor = DirectCast(_cc.ConvertFromString(value), Color) + End Set + End Property + + _ + Public ColorDetail As Color = Color.FromKnownColor(System.Drawing.KnownColor.ControlText) + Public Property ColorDetailStr() As String + Get + Return _cc.ConvertToString(ColorDetail) + End Get + Set(ByVal value As String) + ColorDetail = DirectCast(_cc.ConvertFromString(value), Color) + End Set + End Property + + _ + Public ColorDetailLink As Color = Color.FromKnownColor(System.Drawing.KnownColor.Blue) + Public Property ColorDetailLinkStr() As String + Get + Return _cc.ConvertToString(ColorDetailLink) + End Get + Set(ByVal value As String) + ColorDetailLink = DirectCast(_cc.ConvertFromString(value), Color) + End Set + End Property + + _ + Public ProxyPassword As String = "" + Public Property EncryptProxyPassword() As String + Get + Dim pwd As String = ProxyPassword + If String.IsNullOrEmpty(pwd) Then pwd = "" + If pwd.Length > 0 Then + Try + Return EncryptString(pwd) + Catch ex As Exception + Return "" + End Try + Else + Return "" + End If + End Get + Set(ByVal value As String) + Dim pwd As String = value + If String.IsNullOrEmpty(pwd) Then pwd = "" + If pwd.Length > 0 Then + Try + pwd = DecryptString(pwd) + Catch ex As Exception + pwd = "" + End Try + End If + ProxyPassword = pwd + End Set + End Property +End Class Added: branches/UserStream/Tween/Setting/SettingTab.vb =================================================================== --- branches/UserStream/Tween/Setting/SettingTab.vb (rev 0) +++ branches/UserStream/Tween/Setting/SettingTab.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,61 @@ +鏤? Tween - Client of Twitter +' Copyright (c) 2007-2010 kiri_feather (@kiri_feather) +' (c) 2008-2010 Moz (@syo68k) +' (c) 2008-2010 takeshik (@takeshik) +' All rights reserved. +' +' This file is part of Tween. +' +' This program is free software; you can redistribute it and/or modify it +' under the terms of the GNU General Public License as published by the Free +' Software Foundation; either version 3 of the License, or (at your option) +' any later version. +' +' This program is distributed in the hope that it will be useful, but +' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +' for more details. +' +' You should have received a copy of the GNU General Public License along +' with this program. If not, see , or write to +' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, +' Boston, MA 02110-1301, USA. + _ +Public Class SettingTab + Inherits SettingBase(Of SettingTab) + +#Region "Setting????劫??? + Public Shared Function Load(ByVal tabName As String) As SettingTab + Dim setting As SettingTab = LoadSettings(tabName) + setting.Tab.TabName = tabName + Return setting + End Function + + Public Sub Save() + SaveSettings(Me, Me.Tab.TabName) + End Sub + + Public Sub New() + Tab = New TabClass + End Sub + + Public Sub New(ByVal TabName As String) + Me.Tab = New TabClass + Tab.TabName = TabName + End Sub + +#End Region + + Public Shared Sub DeleteConfigFile() + For Each file As IO.FileInfo In (New IO.DirectoryInfo(My.Application.Info.DirectoryPath + IO.Path.DirectorySeparatorChar)).GetFiles("SettingTab*.xml") + Try + file.Delete() + Catch ex As Exception + '???罔??????????+ End Try + Next + End Sub + + Public Tab As TabClass + +End Class Added: branches/UserStream/Tween/Setting/SettingTabs.vb =================================================================== --- branches/UserStream/Tween/Setting/SettingTabs.vb (rev 0) +++ branches/UserStream/Tween/Setting/SettingTabs.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,44 @@ +鏤? Tween - Client of Twitter +' Copyright (c) 2007-2010 kiri_feather (@kiri_feather) +' (c) 2008-2010 Moz (@syo68k) +' (c) 2008-2010 takeshik (@takeshik) +' All rights reserved. +' +' This file is part of Tween. +' +' This program is free software; you can redistribute it and/or modify it +' under the terms of the GNU General Public License as published by the Free +' Software Foundation; either version 3 of the License, or (at your option) +' any later version. +' +' This program is distributed in the hope that it will be useful, but +' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +' for more details. +' +' You should have received a copy of the GNU General Public License along +' with this program. If not, see , or write to +' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, +' Boston, MA 02110-1301, USA. + _ +Public Class SettingTabs + Inherits SettingBase(Of SettingTabs) +#Region "Setting????劫??? + Public Shared Function Load() As SettingTabs + Dim setting As SettingTabs = LoadSettings("") + Return setting + End Function + + Public Sub Save() + SaveSettings(Me) + End Sub + + Public Sub New() + Tabs = New List(Of TabClass) + End Sub + +#End Region + + Public Tabs As List(Of TabClass) + +End Class Added: branches/UserStream/Tween/Setting.Designer.vb =================================================================== --- branches/UserStream/Tween/Setting.Designer.vb (rev 0) +++ branches/UserStream/Tween/Setting.Designer.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,2013 @@ +鏤?ption Strict On + _ +Partial Class Setting + Inherits System.Windows.Forms.Form + + '????若?????潟??若??潟????荀с?????若??≪?????????? dispose ????若??若??ゃ??????? + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Windows ????若? ????ゃ??у?荀????? + Private components As System.ComponentModel.IContainer + + '?<?: 篁ヤ????????若??c? Windows ????若? ????ゃ??у?荀????? + 'Windows ????若? ????ゃ???戎???????眼??????? + '?潟???????c???戎?c?紊??????????????? + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Setting)) + Me.Label1 = New System.Windows.Forms.Label() + Me.Label2 = New System.Windows.Forms.Label() + Me.Username = New System.Windows.Forms.TextBox() + Me.Password = New System.Windows.Forms.TextBox() + Me.Save = New System.Windows.Forms.Button() + Me.Cancel = New System.Windows.Forms.Button() + Me.Label3 = New System.Windows.Forms.Label() + Me.TimelinePeriod = New System.Windows.Forms.TextBox() + Me.DMPeriod = New System.Windows.Forms.TextBox() + Me.Label5 = New System.Windows.Forms.Label() + Me.Label9 = New System.Windows.Forms.Label() + Me.StartupReaded = New System.Windows.Forms.CheckBox() + Me.Label11 = New System.Windows.Forms.Label() + Me.Label12 = New System.Windows.Forms.Label() + Me.StatusText = New System.Windows.Forms.TextBox() + Me.PlaySnd = New System.Windows.Forms.CheckBox() + Me.Label14 = New System.Windows.Forms.Label() + Me.Label15 = New System.Windows.Forms.Label() + Me.OneWayLv = New System.Windows.Forms.CheckBox() + Me.Label16 = New System.Windows.Forms.Label() + Me.GroupBox1 = New System.Windows.Forms.GroupBox() + Me.btnRetweet = New System.Windows.Forms.Button() + Me.lblRetweet = New System.Windows.Forms.Label() + Me.Label80 = New System.Windows.Forms.Label() + Me.ButtonBackToDefaultFontColor = New System.Windows.Forms.Button() + Me.btnDetailLink = New System.Windows.Forms.Button() + Me.lblDetailLink = New System.Windows.Forms.Label() + Me.Label18 = New System.Windows.Forms.Label() + Me.btnInputFont = New System.Windows.Forms.Button() + Me.lblInputFont = New System.Windows.Forms.Label() + Me.Label65 = New System.Windows.Forms.Label() + Me.btnInputBackcolor = New System.Windows.Forms.Button() + Me.lblInputBackcolor = New System.Windows.Forms.Label() + Me.Label52 = New System.Windows.Forms.Label() + Me.btnUnread = New System.Windows.Forms.Button() + Me.lblUnread = New System.Windows.Forms.Label() + Me.Label20 = New System.Windows.Forms.Label() + Me.btnAtTo = New System.Windows.Forms.Button() + Me.lblAtTo = New System.Windows.Forms.Label() + Me.Label49 = New System.Windows.Forms.Label() + Me.btnDetailBack = New System.Windows.Forms.Button() + Me.lblDetailBackcolor = New System.Windows.Forms.Label() + Me.Label37 = New System.Windows.Forms.Label() + Me.btnListBack = New System.Windows.Forms.Button() + Me.lblListBackcolor = New System.Windows.Forms.Label() + Me.Label19 = New System.Windows.Forms.Label() + Me.btnAtFromTarget = New System.Windows.Forms.Button() + Me.lblAtFromTarget = New System.Windows.Forms.Label() + Me.Label28 = New System.Windows.Forms.Label() + Me.btnAtTarget = New System.Windows.Forms.Button() + Me.lblAtTarget = New System.Windows.Forms.Label() + Me.Label30 = New System.Windows.Forms.Label() + Me.btnTarget = New System.Windows.Forms.Button() + Me.lblTarget = New System.Windows.Forms.Label() + Me.Label32 = New System.Windows.Forms.Label() + Me.btnAtSelf = New System.Windows.Forms.Button() + Me.lblAtSelf = New System.Windows.Forms.Label() + Me.Label34 = New System.Windows.Forms.Label() + Me.btnSelf = New System.Windows.Forms.Button() + Me.lblSelf = New System.Windows.Forms.Label() + Me.Label36 = New System.Windows.Forms.Label() + Me.btnDetail = New System.Windows.Forms.Button() + Me.lblDetail = New System.Windows.Forms.Label() + Me.Label26 = New System.Windows.Forms.Label() + Me.btnOWL = New System.Windows.Forms.Button() + Me.lblOWL = New System.Windows.Forms.Label() + Me.Label24 = New System.Windows.Forms.Label() + Me.btnFav = New System.Windows.Forms.Button() + Me.lblFav = New System.Windows.Forms.Label() + Me.Label22 = New System.Windows.Forms.Label() + Me.btnListFont = New System.Windows.Forms.Button() + Me.lblListFont = New System.Windows.Forms.Label() + Me.Label61 = New System.Windows.Forms.Label() + Me.FontDialog1 = New System.Windows.Forms.FontDialog() + Me.ColorDialog1 = New System.Windows.Forms.ColorDialog() + Me.cmbNameBalloon = New System.Windows.Forms.ComboBox() + Me.Label10 = New System.Windows.Forms.Label() + Me.CheckUseRecommendStatus = New System.Windows.Forms.CheckBox() + Me.CmbDateTimeFormat = New System.Windows.Forms.ComboBox() + Me.Label23 = New System.Windows.Forms.Label() + Me.CheckBox3 = New System.Windows.Forms.CheckBox() + Me.Label25 = New System.Windows.Forms.Label() + Me.CheckPostCtrlEnter = New System.Windows.Forms.CheckBox() + Me.Label27 = New System.Windows.Forms.Label() + Me.TextBox3 = New System.Windows.Forms.TextBox() + Me.IconSize = New System.Windows.Forms.ComboBox() + Me.Label38 = New System.Windows.Forms.Label() + Me.UReadMng = New System.Windows.Forms.CheckBox() + Me.Label39 = New System.Windows.Forms.Label() + Me.CheckReadOldPosts = New System.Windows.Forms.CheckBox() + Me.Label40 = New System.Windows.Forms.Label() + Me.CheckCloseToExit = New System.Windows.Forms.CheckBox() + Me.Label41 = New System.Windows.Forms.Label() + Me.CheckMinimizeToTray = New System.Windows.Forms.CheckBox() + Me.BrowserPathText = New System.Windows.Forms.TextBox() + Me.Label44 = New System.Windows.Forms.Label() + Me.CheckDispUsername = New System.Windows.Forms.CheckBox() + Me.Label46 = New System.Windows.Forms.Label() + Me.Label45 = New System.Windows.Forms.Label() + Me.ComboDispTitle = New System.Windows.Forms.ComboBox() + Me.Label47 = New System.Windows.Forms.Label() + Me.TabControl1 = New System.Windows.Forms.TabControl() + Me.TabPage1 = New System.Windows.Forms.TabPage() + Me.ButtonApiCalc = New System.Windows.Forms.Button() + Me.LabelPostAndGet = New System.Windows.Forms.Label() + Me.LabelApiUsing = New System.Windows.Forms.Label() + Me.Label33 = New System.Windows.Forms.Label() + Me.ListsPeriod = New System.Windows.Forms.TextBox() + Me.AuthBasicRadio = New System.Windows.Forms.RadioButton() + Me.AuthOAuthRadio = New System.Windows.Forms.RadioButton() + Me.Label6 = New System.Windows.Forms.Label() + Me.AuthClearButton = New System.Windows.Forms.Button() + Me.AuthUserLabel = New System.Windows.Forms.Label() + Me.AuthStateLabel = New System.Windows.Forms.Label() + Me.Label4 = New System.Windows.Forms.Label() + Me.AuthorizeButton = New System.Windows.Forms.Button() + Me.TextCountApiReply = New System.Windows.Forms.TextBox() + Me.Label7 = New System.Windows.Forms.Label() + Me.PubSearchPeriod = New System.Windows.Forms.TextBox() + Me.Label69 = New System.Windows.Forms.Label() + Me.ReplyPeriod = New System.Windows.Forms.TextBox() + Me.CheckPostAndGet = New System.Windows.Forms.CheckBox() + Me.Label67 = New System.Windows.Forms.Label() + Me.TextCountApi = New System.Windows.Forms.TextBox() + Me.Label54 = New System.Windows.Forms.Label() + Me.CheckStartupFollowers = New System.Windows.Forms.CheckBox() + Me.Label51 = New System.Windows.Forms.Label() + Me.CheckStartupVersion = New System.Windows.Forms.CheckBox() + Me.CheckPeriodAdjust = New System.Windows.Forms.CheckBox() + Me.Label74 = New System.Windows.Forms.Label() + Me.chkGetFav = New System.Windows.Forms.CheckBox() + Me.TabPage2 = New System.Windows.Forms.TabPage() + Me.GroupBox3 = New System.Windows.Forms.GroupBox() + Me.HotkeyCheck = New System.Windows.Forms.CheckBox() + Me.HotkeyCode = New System.Windows.Forms.Label() + Me.HotkeyText = New System.Windows.Forms.TextBox() + Me.HotkeyWin = New System.Windows.Forms.CheckBox() + Me.HotkeyAlt = New System.Windows.Forms.CheckBox() + Me.HotkeyShift = New System.Windows.Forms.CheckBox() + Me.HotkeyCtrl = New System.Windows.Forms.CheckBox() + Me.Label82 = New System.Windows.Forms.Label() + Me.CheckHashSupple = New System.Windows.Forms.CheckBox() + Me.Label79 = New System.Windows.Forms.Label() + Me.CheckAtIdSupple = New System.Windows.Forms.CheckBox() + Me.TextBitlyPw = New System.Windows.Forms.TextBox() + Me.Label77 = New System.Windows.Forms.Label() + Me.TextBitlyId = New System.Windows.Forms.TextBox() + Me.Label76 = New System.Windows.Forms.Label() + Me.ComboBoxAutoShortUrlFirst = New System.Windows.Forms.ComboBox() + Me.Label71 = New System.Windows.Forms.Label() + Me.CheckAutoConvertUrl = New System.Windows.Forms.CheckBox() + Me.Label29 = New System.Windows.Forms.Label() + Me.Label57 = New System.Windows.Forms.Label() + Me.Label56 = New System.Windows.Forms.Label() + Me.CheckFavRestrict = New System.Windows.Forms.CheckBox() + Me.CheckTinyURL = New System.Windows.Forms.CheckBox() + Me.Label50 = New System.Windows.Forms.Label() + Me.Button3 = New System.Windows.Forms.Button() + Me.TabPage3 = New System.Windows.Forms.TabPage() + Me.Label35 = New System.Windows.Forms.Label() + Me.CheckPreviewEnable = New System.Windows.Forms.CheckBox() + Me.Label81 = New System.Windows.Forms.Label() + Me.LanguageCombo = New System.Windows.Forms.ComboBox() + Me.Label13 = New System.Windows.Forms.Label() + Me.CheckAlwaysTop = New System.Windows.Forms.CheckBox() + Me.Label58 = New System.Windows.Forms.Label() + Me.Label21 = New System.Windows.Forms.Label() + Me.CheckSortOrderLock = New System.Windows.Forms.CheckBox() + Me.Label78 = New System.Windows.Forms.Label() + Me.CheckShowGrid = New System.Windows.Forms.CheckBox() + Me.Label75 = New System.Windows.Forms.Label() + Me.CheckMonospace = New System.Windows.Forms.CheckBox() + Me.Label73 = New System.Windows.Forms.Label() + Me.chkReadOwnPost = New System.Windows.Forms.CheckBox() + Me.ReplyIconStateCombo = New System.Windows.Forms.ComboBox() + Me.Label72 = New System.Windows.Forms.Label() + Me.Label43 = New System.Windows.Forms.Label() + Me.Label48 = New System.Windows.Forms.Label() + Me.ChkNewMentionsBlink = New System.Windows.Forms.CheckBox() + Me.chkTabIconDisp = New System.Windows.Forms.CheckBox() + Me.Label68 = New System.Windows.Forms.Label() + Me.CheckBalloonLimit = New System.Windows.Forms.CheckBox() + Me.LabelDateTimeFormatApplied = New System.Windows.Forms.Label() + Me.Label62 = New System.Windows.Forms.Label() + Me.Label17 = New System.Windows.Forms.Label() + Me.chkUnreadStyle = New System.Windows.Forms.CheckBox() + Me.TabPage4 = New System.Windows.Forms.TabPage() + Me.TabPage5 = New System.Windows.Forms.TabPage() + Me.CheckEnableBasicAuth = New System.Windows.Forms.CheckBox() + Me.TwitterSearchAPIText = New System.Windows.Forms.TextBox() + Me.Label31 = New System.Windows.Forms.Label() + Me.TwitterAPIText = New System.Windows.Forms.TextBox() + Me.Label8 = New System.Windows.Forms.Label() + Me.CheckUseSsl = New System.Windows.Forms.CheckBox() + Me.Label64 = New System.Windows.Forms.Label() + Me.ConnectionTimeOut = New System.Windows.Forms.TextBox() + Me.Label63 = New System.Windows.Forms.Label() + Me.GroupBox2 = New System.Windows.Forms.GroupBox() + Me.Label55 = New System.Windows.Forms.Label() + Me.TextProxyPassword = New System.Windows.Forms.TextBox() + Me.LabelProxyPassword = New System.Windows.Forms.Label() + Me.TextProxyUser = New System.Windows.Forms.TextBox() + Me.LabelProxyUser = New System.Windows.Forms.Label() + Me.TextProxyPort = New System.Windows.Forms.TextBox() + Me.LabelProxyPort = New System.Windows.Forms.Label() + Me.TextProxyAddress = New System.Windows.Forms.TextBox() + Me.LabelProxyAddress = New System.Windows.Forms.Label() + Me.RadioProxySpecified = New System.Windows.Forms.RadioButton() + Me.RadioProxyIE = New System.Windows.Forms.RadioButton() + Me.RadioProxyNone = New System.Windows.Forms.RadioButton() + Me.TabPage6 = New System.Windows.Forms.TabPage() + Me.FavoritesTextCountApi = New System.Windows.Forms.TextBox() + Me.SearchTextCountApi = New System.Windows.Forms.TextBox() + Me.Label66 = New System.Windows.Forms.Label() + Me.FirstTextCountApi = New System.Windows.Forms.TextBox() + Me.GetMoreTextCountApi = New System.Windows.Forms.TextBox() + Me.Label53 = New System.Windows.Forms.Label() + Me.UseChangeGetCount = New System.Windows.Forms.CheckBox() + Me.CheckNicoms = New System.Windows.Forms.CheckBox() + Me.Label60 = New System.Windows.Forms.Label() + Me.ComboBoxOutputzUrlmode = New System.Windows.Forms.ComboBox() + Me.Label59 = New System.Windows.Forms.Label() + Me.TextBoxOutputzKey = New System.Windows.Forms.TextBox() + Me.CheckOutputz = New System.Windows.Forms.CheckBox() + Me.Label42 = New System.Windows.Forms.Label() + Me.CheckRetweetNoConfirm = New System.Windows.Forms.CheckBox() + Me.GroupBox1.SuspendLayout() + Me.TabControl1.SuspendLayout() + Me.TabPage1.SuspendLayout() + Me.TabPage2.SuspendLayout() + Me.GroupBox3.SuspendLayout() + Me.TabPage3.SuspendLayout() + Me.TabPage4.SuspendLayout() + Me.TabPage5.SuspendLayout() + Me.GroupBox2.SuspendLayout() + Me.TabPage6.SuspendLayout() + Me.SuspendLayout() + ' + 'Label1 + ' + resources.ApplyResources(Me.Label1, "Label1") + Me.Label1.Name = "Label1" + ' + 'Label2 + ' + resources.ApplyResources(Me.Label2, "Label2") + Me.Label2.Name = "Label2" + ' + 'Username + ' + resources.ApplyResources(Me.Username, "Username") + Me.Username.Name = "Username" + ' + 'Password + ' + resources.ApplyResources(Me.Password, "Password") + Me.Password.Name = "Password" + Me.Password.UseSystemPasswordChar = True + ' + 'Save + ' + Me.Save.DialogResult = System.Windows.Forms.DialogResult.OK + resources.ApplyResources(Me.Save, "Save") + Me.Save.Name = "Save" + Me.Save.UseVisualStyleBackColor = True + ' + 'Cancel + ' + Me.Cancel.CausesValidation = False + Me.Cancel.DialogResult = System.Windows.Forms.DialogResult.Cancel + resources.ApplyResources(Me.Cancel, "Cancel") + Me.Cancel.Name = "Cancel" + Me.Cancel.UseVisualStyleBackColor = True + ' + 'Label3 + ' + resources.ApplyResources(Me.Label3, "Label3") + Me.Label3.Name = "Label3" + ' + 'TimelinePeriod + ' + resources.ApplyResources(Me.TimelinePeriod, "TimelinePeriod") + Me.TimelinePeriod.Name = "TimelinePeriod" + ' + 'DMPeriod + ' + resources.ApplyResources(Me.DMPeriod, "DMPeriod") + Me.DMPeriod.Name = "DMPeriod" + ' + 'Label5 + ' + resources.ApplyResources(Me.Label5, "Label5") + Me.Label5.Name = "Label5" + ' + 'Label9 + ' + resources.ApplyResources(Me.Label9, "Label9") + Me.Label9.Name = "Label9" + ' + 'StartupReaded + ' + resources.ApplyResources(Me.StartupReaded, "StartupReaded") + Me.StartupReaded.Name = "StartupReaded" + Me.StartupReaded.UseVisualStyleBackColor = True + ' + 'Label11 + ' + resources.ApplyResources(Me.Label11, "Label11") + Me.Label11.Name = "Label11" + ' + 'Label12 + ' + resources.ApplyResources(Me.Label12, "Label12") + Me.Label12.Name = "Label12" + ' + 'StatusText + ' + resources.ApplyResources(Me.StatusText, "StatusText") + Me.StatusText.Name = "StatusText" + ' + 'PlaySnd + ' + resources.ApplyResources(Me.PlaySnd, "PlaySnd") + Me.PlaySnd.Name = "PlaySnd" + Me.PlaySnd.UseVisualStyleBackColor = True + ' + 'Label14 + ' + resources.ApplyResources(Me.Label14, "Label14") + Me.Label14.Name = "Label14" + ' + 'Label15 + ' + Me.Label15.BackColor = System.Drawing.SystemColors.ActiveCaption + Me.Label15.ForeColor = System.Drawing.SystemColors.ActiveCaptionText + resources.ApplyResources(Me.Label15, "Label15") + Me.Label15.Name = "Label15" + ' + 'OneWayLv + ' + resources.ApplyResources(Me.OneWayLv, "OneWayLv") + Me.OneWayLv.Name = "OneWayLv" + Me.OneWayLv.UseVisualStyleBackColor = True + ' + 'Label16 + ' + resources.ApplyResources(Me.Label16, "Label16") + Me.Label16.Name = "Label16" + ' + 'GroupBox1 + ' + Me.GroupBox1.Controls.Add(Me.btnRetweet) + Me.GroupBox1.Controls.Add(Me.lblRetweet) + Me.GroupBox1.Controls.Add(Me.Label80) + Me.GroupBox1.Controls.Add(Me.ButtonBackToDefaultFontColor) + Me.GroupBox1.Controls.Add(Me.btnDetailLink) + Me.GroupBox1.Controls.Add(Me.lblDetailLink) + Me.GroupBox1.Controls.Add(Me.Label18) + Me.GroupBox1.Controls.Add(Me.btnInputFont) + Me.GroupBox1.Controls.Add(Me.lblInputFont) + Me.GroupBox1.Controls.Add(Me.Label65) + Me.GroupBox1.Controls.Add(Me.btnInputBackcolor) + Me.GroupBox1.Controls.Add(Me.lblInputBackcolor) + Me.GroupBox1.Controls.Add(Me.Label52) + Me.GroupBox1.Controls.Add(Me.btnUnread) + Me.GroupBox1.Controls.Add(Me.lblUnread) + Me.GroupBox1.Controls.Add(Me.Label20) + Me.GroupBox1.Controls.Add(Me.btnAtTo) + Me.GroupBox1.Controls.Add(Me.lblAtTo) + Me.GroupBox1.Controls.Add(Me.Label49) + Me.GroupBox1.Controls.Add(Me.btnDetailBack) + Me.GroupBox1.Controls.Add(Me.lblDetailBackcolor) + Me.GroupBox1.Controls.Add(Me.Label37) + Me.GroupBox1.Controls.Add(Me.btnListBack) + Me.GroupBox1.Controls.Add(Me.lblListBackcolor) + Me.GroupBox1.Controls.Add(Me.Label19) + Me.GroupBox1.Controls.Add(Me.btnAtFromTarget) + Me.GroupBox1.Controls.Add(Me.lblAtFromTarget) + Me.GroupBox1.Controls.Add(Me.Label28) + Me.GroupBox1.Controls.Add(Me.btnAtTarget) + Me.GroupBox1.Controls.Add(Me.lblAtTarget) + Me.GroupBox1.Controls.Add(Me.Label30) + Me.GroupBox1.Controls.Add(Me.btnTarget) + Me.GroupBox1.Controls.Add(Me.lblTarget) + Me.GroupBox1.Controls.Add(Me.Label32) + Me.GroupBox1.Controls.Add(Me.btnAtSelf) + Me.GroupBox1.Controls.Add(Me.lblAtSelf) + Me.GroupBox1.Controls.Add(Me.Label34) + Me.GroupBox1.Controls.Add(Me.btnSelf) + Me.GroupBox1.Controls.Add(Me.lblSelf) + Me.GroupBox1.Controls.Add(Me.Label36) + Me.GroupBox1.Controls.Add(Me.btnDetail) + Me.GroupBox1.Controls.Add(Me.lblDetail) + Me.GroupBox1.Controls.Add(Me.Label26) + Me.GroupBox1.Controls.Add(Me.btnOWL) + Me.GroupBox1.Controls.Add(Me.lblOWL) + Me.GroupBox1.Controls.Add(Me.Label24) + Me.GroupBox1.Controls.Add(Me.btnFav) + Me.GroupBox1.Controls.Add(Me.lblFav) + Me.GroupBox1.Controls.Add(Me.Label22) + Me.GroupBox1.Controls.Add(Me.btnListFont) + Me.GroupBox1.Controls.Add(Me.lblListFont) + Me.GroupBox1.Controls.Add(Me.Label61) + resources.ApplyResources(Me.GroupBox1, "GroupBox1") + Me.GroupBox1.Name = "GroupBox1" + Me.GroupBox1.TabStop = False + ' + 'btnRetweet + ' + resources.ApplyResources(Me.btnRetweet, "btnRetweet") + Me.btnRetweet.Name = "btnRetweet" + Me.btnRetweet.UseVisualStyleBackColor = True + ' + 'lblRetweet + ' + Me.lblRetweet.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + resources.ApplyResources(Me.lblRetweet, "lblRetweet") + Me.lblRetweet.Name = "lblRetweet" + ' + 'Label80 + ' + resources.ApplyResources(Me.Label80, "Label80") + Me.Label80.Name = "Label80" + ' + 'ButtonBackToDefaultFontColor + ' + resources.ApplyResources(Me.ButtonBackToDefaultFontColor, "ButtonBackToDefaultFontColor") + Me.ButtonBackToDefaultFontColor.Name = "ButtonBackToDefaultFontColor" + Me.ButtonBackToDefaultFontColor.UseVisualStyleBackColor = True + ' + 'btnDetailLink + ' + resources.ApplyResources(Me.btnDetailLink, "btnDetailLink") + Me.btnDetailLink.Name = "btnDetailLink" + Me.btnDetailLink.UseVisualStyleBackColor = True + ' + 'lblDetailLink + ' + Me.lblDetailLink.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + resources.ApplyResources(Me.lblDetailLink, "lblDetailLink") + Me.lblDetailLink.Name = "lblDetailLink" + ' + 'Label18 + ' + resources.ApplyResources(Me.Label18, "Label18") + Me.Label18.Name = "Label18" + ' + 'btnInputFont + ' + resources.ApplyResources(Me.btnInputFont, "btnInputFont") + Me.btnInputFont.Name = "btnInputFont" + Me.btnInputFont.UseVisualStyleBackColor = True + ' + 'lblInputFont + ' + Me.lblInputFont.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + resources.ApplyResources(Me.lblInputFont, "lblInputFont") + Me.lblInputFont.Name = "lblInputFont" + ' + 'Label65 + ' + resources.ApplyResources(Me.Label65, "Label65") + Me.Label65.Name = "Label65" + ' + 'btnInputBackcolor + ' + resources.ApplyResources(Me.btnInputBackcolor, "btnInputBackcolor") + Me.btnInputBackcolor.Name = "btnInputBackcolor" + Me.btnInputBackcolor.UseVisualStyleBackColor = True + ' + 'lblInputBackcolor + ' + Me.lblInputBackcolor.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + resources.ApplyResources(Me.lblInputBackcolor, "lblInputBackcolor") + Me.lblInputBackcolor.Name = "lblInputBackcolor" + ' + 'Label52 + ' + resources.ApplyResources(Me.Label52, "Label52") + Me.Label52.Name = "Label52" + ' + 'btnUnread + ' + resources.ApplyResources(Me.btnUnread, "btnUnread") + Me.btnUnread.Name = "btnUnread" + Me.btnUnread.UseVisualStyleBackColor = True + ' + 'lblUnread + ' + Me.lblUnread.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + resources.ApplyResources(Me.lblUnread, "lblUnread") + Me.lblUnread.Name = "lblUnread" + ' + 'Label20 + ' + resources.ApplyResources(Me.Label20, "Label20") + Me.Label20.Name = "Label20" + ' + 'btnAtTo + ' + resources.ApplyResources(Me.btnAtTo, "btnAtTo") + Me.btnAtTo.Name = "btnAtTo" + Me.btnAtTo.UseVisualStyleBackColor = True + ' + 'lblAtTo + ' + Me.lblAtTo.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + resources.ApplyResources(Me.lblAtTo, "lblAtTo") + Me.lblAtTo.Name = "lblAtTo" + ' + 'Label49 + ' + resources.ApplyResources(Me.Label49, "Label49") + Me.Label49.Name = "Label49" + ' + 'btnDetailBack + ' + resources.ApplyResources(Me.btnDetailBack, "btnDetailBack") + Me.btnDetailBack.Name = "btnDetailBack" + Me.btnDetailBack.UseVisualStyleBackColor = True + ' + 'lblDetailBackcolor + ' + Me.lblDetailBackcolor.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + resources.ApplyResources(Me.lblDetailBackcolor, "lblDetailBackcolor") + Me.lblDetailBackcolor.Name = "lblDetailBackcolor" + ' + 'Label37 + ' + resources.ApplyResources(Me.Label37, "Label37") + Me.Label37.Name = "Label37" + ' + 'btnListBack + ' + resources.ApplyResources(Me.btnListBack, "btnListBack") + Me.btnListBack.Name = "btnListBack" + Me.btnListBack.UseVisualStyleBackColor = True + ' + 'lblListBackcolor + ' + Me.lblListBackcolor.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + resources.ApplyResources(Me.lblListBackcolor, "lblListBackcolor") + Me.lblListBackcolor.Name = "lblListBackcolor" + ' + 'Label19 + ' + resources.ApplyResources(Me.Label19, "Label19") + Me.Label19.Name = "Label19" + ' + 'btnAtFromTarget + ' + resources.ApplyResources(Me.btnAtFromTarget, "btnAtFromTarget") + Me.btnAtFromTarget.Name = "btnAtFromTarget" + Me.btnAtFromTarget.UseVisualStyleBackColor = True + ' + 'lblAtFromTarget + ' + Me.lblAtFromTarget.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + resources.ApplyResources(Me.lblAtFromTarget, "lblAtFromTarget") + Me.lblAtFromTarget.Name = "lblAtFromTarget" + ' + 'Label28 + ' + resources.ApplyResources(Me.Label28, "Label28") + Me.Label28.Name = "Label28" + ' + 'btnAtTarget + ' + resources.ApplyResources(Me.btnAtTarget, "btnAtTarget") + Me.btnAtTarget.Name = "btnAtTarget" + Me.btnAtTarget.UseVisualStyleBackColor = True + ' + 'lblAtTarget + ' + Me.lblAtTarget.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + resources.ApplyResources(Me.lblAtTarget, "lblAtTarget") + Me.lblAtTarget.Name = "lblAtTarget" + ' + 'Label30 + ' + resources.ApplyResources(Me.Label30, "Label30") + Me.Label30.Name = "Label30" + ' + 'btnTarget + ' + resources.ApplyResources(Me.btnTarget, "btnTarget") + Me.btnTarget.Name = "btnTarget" + Me.btnTarget.UseVisualStyleBackColor = True + ' + 'lblTarget + ' + Me.lblTarget.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + resources.ApplyResources(Me.lblTarget, "lblTarget") + Me.lblTarget.Name = "lblTarget" + ' + 'Label32 + ' + resources.ApplyResources(Me.Label32, "Label32") + Me.Label32.Name = "Label32" + ' + 'btnAtSelf + ' + resources.ApplyResources(Me.btnAtSelf, "btnAtSelf") + Me.btnAtSelf.Name = "btnAtSelf" + Me.btnAtSelf.UseVisualStyleBackColor = True + ' + 'lblAtSelf + ' + Me.lblAtSelf.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + resources.ApplyResources(Me.lblAtSelf, "lblAtSelf") + Me.lblAtSelf.Name = "lblAtSelf" + ' + 'Label34 + ' + resources.ApplyResources(Me.Label34, "Label34") + Me.Label34.Name = "Label34" + ' + 'btnSelf + ' + resources.ApplyResources(Me.btnSelf, "btnSelf") + Me.btnSelf.Name = "btnSelf" + Me.btnSelf.UseVisualStyleBackColor = True + ' + 'lblSelf + ' + Me.lblSelf.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + resources.ApplyResources(Me.lblSelf, "lblSelf") + Me.lblSelf.Name = "lblSelf" + ' + 'Label36 + ' + resources.ApplyResources(Me.Label36, "Label36") + Me.Label36.Name = "Label36" + ' + 'btnDetail + ' + resources.ApplyResources(Me.btnDetail, "btnDetail") + Me.btnDetail.Name = "btnDetail" + Me.btnDetail.UseVisualStyleBackColor = True + ' + 'lblDetail + ' + Me.lblDetail.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + resources.ApplyResources(Me.lblDetail, "lblDetail") + Me.lblDetail.Name = "lblDetail" + ' + 'Label26 + ' + resources.ApplyResources(Me.Label26, "Label26") + Me.Label26.Name = "Label26" + ' + 'btnOWL + ' + resources.ApplyResources(Me.btnOWL, "btnOWL") + Me.btnOWL.Name = "btnOWL" + Me.btnOWL.UseVisualStyleBackColor = True + ' + 'lblOWL + ' + Me.lblOWL.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + resources.ApplyResources(Me.lblOWL, "lblOWL") + Me.lblOWL.Name = "lblOWL" + ' + 'Label24 + ' + resources.ApplyResources(Me.Label24, "Label24") + Me.Label24.Name = "Label24" + ' + 'btnFav + ' + resources.ApplyResources(Me.btnFav, "btnFav") + Me.btnFav.Name = "btnFav" + Me.btnFav.UseVisualStyleBackColor = True + ' + 'lblFav + ' + Me.lblFav.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + resources.ApplyResources(Me.lblFav, "lblFav") + Me.lblFav.Name = "lblFav" + ' + 'Label22 + ' + resources.ApplyResources(Me.Label22, "Label22") + Me.Label22.Name = "Label22" + ' + 'btnListFont + ' + resources.ApplyResources(Me.btnListFont, "btnListFont") + Me.btnListFont.Name = "btnListFont" + Me.btnListFont.UseVisualStyleBackColor = True + ' + 'lblListFont + ' + Me.lblListFont.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + resources.ApplyResources(Me.lblListFont, "lblListFont") + Me.lblListFont.Name = "lblListFont" + ' + 'Label61 + ' + resources.ApplyResources(Me.Label61, "Label61") + Me.Label61.Name = "Label61" + ' + 'cmbNameBalloon + ' + Me.cmbNameBalloon.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList + Me.cmbNameBalloon.FormattingEnabled = True + Me.cmbNameBalloon.Items.AddRange(New Object() {resources.GetString("cmbNameBalloon.Items"), resources.GetString("cmbNameBalloon.Items1"), resources.GetString("cmbNameBalloon.Items2")}) + resources.ApplyResources(Me.cmbNameBalloon, "cmbNameBalloon") + Me.cmbNameBalloon.Name = "cmbNameBalloon" + ' + 'Label10 + ' + resources.ApplyResources(Me.Label10, "Label10") + Me.Label10.Name = "Label10" + ' + 'CheckUseRecommendStatus + ' + resources.ApplyResources(Me.CheckUseRecommendStatus, "CheckUseRecommendStatus") + Me.CheckUseRecommendStatus.Name = "CheckUseRecommendStatus" + Me.CheckUseRecommendStatus.UseVisualStyleBackColor = True + ' + 'CmbDateTimeFormat + ' + resources.ApplyResources(Me.CmbDateTimeFormat, "CmbDateTimeFormat") + Me.CmbDateTimeFormat.Items.AddRange(New Object() {resources.GetString("CmbDateTimeFormat.Items"), resources.GetString("CmbDateTimeFormat.Items1"), resources.GetString("CmbDateTimeFormat.Items2"), resources.GetString("CmbDateTimeFormat.Items3"), resources.GetString("CmbDateTimeFormat.Items4"), resources.GetString("CmbDateTimeFormat.Items5"), resources.GetString("CmbDateTimeFormat.Items6"), resources.GetString("CmbDateTimeFormat.Items7"), resources.GetString("CmbDateTimeFormat.Items8"), resources.GetString("CmbDateTimeFormat.Items9"), resources.GetString("CmbDateTimeFormat.Items10")}) + Me.CmbDateTimeFormat.Name = "CmbDateTimeFormat" + ' + 'Label23 + ' + resources.ApplyResources(Me.Label23, "Label23") + Me.Label23.Name = "Label23" + ' + 'CheckBox3 + ' + resources.ApplyResources(Me.CheckBox3, "CheckBox3") + Me.CheckBox3.Name = "CheckBox3" + Me.CheckBox3.UseVisualStyleBackColor = True + ' + 'Label25 + ' + resources.ApplyResources(Me.Label25, "Label25") + Me.Label25.Name = "Label25" + ' + 'CheckPostCtrlEnter + ' + resources.ApplyResources(Me.CheckPostCtrlEnter, "CheckPostCtrlEnter") + Me.CheckPostCtrlEnter.Name = "CheckPostCtrlEnter" + Me.CheckPostCtrlEnter.UseVisualStyleBackColor = True + ' + 'Label27 + ' + resources.ApplyResources(Me.Label27, "Label27") + Me.Label27.Name = "Label27" + ' + 'TextBox3 + ' + resources.ApplyResources(Me.TextBox3, "TextBox3") + Me.TextBox3.Name = "TextBox3" + ' + 'IconSize + ' + Me.IconSize.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList + Me.IconSize.FormattingEnabled = True + Me.IconSize.Items.AddRange(New Object() {resources.GetString("IconSize.Items"), resources.GetString("IconSize.Items1"), resources.GetString("IconSize.Items2"), resources.GetString("IconSize.Items3"), resources.GetString("IconSize.Items4")}) + resources.ApplyResources(Me.IconSize, "IconSize") + Me.IconSize.Name = "IconSize" + ' + 'Label38 + ' + resources.ApplyResources(Me.Label38, "Label38") + Me.Label38.Name = "Label38" + ' + 'UReadMng + ' + resources.ApplyResources(Me.UReadMng, "UReadMng") + Me.UReadMng.Name = "UReadMng" + Me.UReadMng.UseVisualStyleBackColor = True + ' + 'Label39 + ' + resources.ApplyResources(Me.Label39, "Label39") + Me.Label39.Name = "Label39" + ' + 'CheckReadOldPosts + ' + resources.ApplyResources(Me.CheckReadOldPosts, "CheckReadOldPosts") + Me.CheckReadOldPosts.Name = "CheckReadOldPosts" + Me.CheckReadOldPosts.UseVisualStyleBackColor = True + ' + 'Label40 + ' + resources.ApplyResources(Me.Label40, "Label40") + Me.Label40.Name = "Label40" + ' + 'CheckCloseToExit + ' + resources.ApplyResources(Me.CheckCloseToExit, "CheckCloseToExit") + Me.CheckCloseToExit.Name = "CheckCloseToExit" + Me.CheckCloseToExit.UseVisualStyleBackColor = True + ' + 'Label41 + ' + resources.ApplyResources(Me.Label41, "Label41") + Me.Label41.Name = "Label41" + ' + 'CheckMinimizeToTray + ' + resources.ApplyResources(Me.CheckMinimizeToTray, "CheckMinimizeToTray") + Me.CheckMinimizeToTray.Name = "CheckMinimizeToTray" + Me.CheckMinimizeToTray.UseVisualStyleBackColor = True + ' + 'BrowserPathText + ' + resources.ApplyResources(Me.BrowserPathText, "BrowserPathText") + Me.BrowserPathText.Name = "BrowserPathText" + ' + 'Label44 + ' + resources.ApplyResources(Me.Label44, "Label44") + Me.Label44.Name = "Label44" + ' + 'CheckDispUsername + ' + resources.ApplyResources(Me.CheckDispUsername, "CheckDispUsername") + Me.CheckDispUsername.Name = "CheckDispUsername" + Me.CheckDispUsername.UseVisualStyleBackColor = True + ' + 'Label46 + ' + resources.ApplyResources(Me.Label46, "Label46") + Me.Label46.Name = "Label46" + ' + 'Label45 + ' + resources.ApplyResources(Me.Label45, "Label45") + Me.Label45.Name = "Label45" + ' + 'ComboDispTitle + ' + Me.ComboDispTitle.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList + Me.ComboDispTitle.FormattingEnabled = True + Me.ComboDispTitle.Items.AddRange(New Object() {resources.GetString("ComboDispTitle.Items"), resources.GetString("ComboDispTitle.Items1"), resources.GetString("ComboDispTitle.Items2"), resources.GetString("ComboDispTitle.Items3"), resources.GetString("ComboDispTitle.Items4"), resources.GetString("ComboDispTitle.Items5"), resources.GetString("ComboDispTitle.Items6"), resources.GetString("ComboDispTitle.Items7")}) + resources.ApplyResources(Me.ComboDispTitle, "ComboDispTitle") + Me.ComboDispTitle.Name = "ComboDispTitle" + ' + 'Label47 + ' + resources.ApplyResources(Me.Label47, "Label47") + Me.Label47.BackColor = System.Drawing.SystemColors.ActiveCaption + Me.Label47.ForeColor = System.Drawing.SystemColors.ActiveCaptionText + Me.Label47.Name = "Label47" + ' + 'TabControl1 + ' + Me.TabControl1.Controls.Add(Me.TabPage1) + Me.TabControl1.Controls.Add(Me.TabPage2) + Me.TabControl1.Controls.Add(Me.TabPage3) + Me.TabControl1.Controls.Add(Me.TabPage4) + Me.TabControl1.Controls.Add(Me.TabPage5) + Me.TabControl1.Controls.Add(Me.TabPage6) + resources.ApplyResources(Me.TabControl1, "TabControl1") + Me.TabControl1.Name = "TabControl1" + Me.TabControl1.SelectedIndex = 0 + ' + 'TabPage1 + ' + Me.TabPage1.Controls.Add(Me.ButtonApiCalc) + Me.TabPage1.Controls.Add(Me.LabelPostAndGet) + Me.TabPage1.Controls.Add(Me.LabelApiUsing) + Me.TabPage1.Controls.Add(Me.Label33) + Me.TabPage1.Controls.Add(Me.ListsPeriod) + Me.TabPage1.Controls.Add(Me.AuthBasicRadio) + Me.TabPage1.Controls.Add(Me.AuthOAuthRadio) + Me.TabPage1.Controls.Add(Me.Label6) + Me.TabPage1.Controls.Add(Me.AuthClearButton) + Me.TabPage1.Controls.Add(Me.AuthUserLabel) + Me.TabPage1.Controls.Add(Me.AuthStateLabel) + Me.TabPage1.Controls.Add(Me.Label4) + Me.TabPage1.Controls.Add(Me.AuthorizeButton) + Me.TabPage1.Controls.Add(Me.TextCountApiReply) + Me.TabPage1.Controls.Add(Me.Label7) + Me.TabPage1.Controls.Add(Me.PubSearchPeriod) + Me.TabPage1.Controls.Add(Me.Label69) + Me.TabPage1.Controls.Add(Me.ReplyPeriod) + Me.TabPage1.Controls.Add(Me.CheckPostAndGet) + Me.TabPage1.Controls.Add(Me.Label67) + Me.TabPage1.Controls.Add(Me.TextCountApi) + Me.TabPage1.Controls.Add(Me.Label54) + Me.TabPage1.Controls.Add(Me.CheckStartupFollowers) + Me.TabPage1.Controls.Add(Me.Label51) + Me.TabPage1.Controls.Add(Me.CheckStartupVersion) + Me.TabPage1.Controls.Add(Me.CheckPeriodAdjust) + Me.TabPage1.Controls.Add(Me.Label1) + Me.TabPage1.Controls.Add(Me.Label2) + Me.TabPage1.Controls.Add(Me.Username) + Me.TabPage1.Controls.Add(Me.Password) + Me.TabPage1.Controls.Add(Me.Label3) + Me.TabPage1.Controls.Add(Me.TimelinePeriod) + Me.TabPage1.Controls.Add(Me.Label5) + Me.TabPage1.Controls.Add(Me.DMPeriod) + Me.TabPage1.Controls.Add(Me.Label9) + Me.TabPage1.Controls.Add(Me.StartupReaded) + Me.TabPage1.Controls.Add(Me.Label74) + Me.TabPage1.Controls.Add(Me.chkGetFav) + resources.ApplyResources(Me.TabPage1, "TabPage1") + Me.TabPage1.Name = "TabPage1" + Me.TabPage1.UseVisualStyleBackColor = True + ' + 'ButtonApiCalc + ' + resources.ApplyResources(Me.ButtonApiCalc, "ButtonApiCalc") + Me.ButtonApiCalc.Name = "ButtonApiCalc" + Me.ButtonApiCalc.UseVisualStyleBackColor = True + ' + 'LabelPostAndGet + ' + resources.ApplyResources(Me.LabelPostAndGet, "LabelPostAndGet") + Me.LabelPostAndGet.Name = "LabelPostAndGet" + ' + 'LabelApiUsing + ' + resources.ApplyResources(Me.LabelApiUsing, "LabelApiUsing") + Me.LabelApiUsing.Name = "LabelApiUsing" + ' + 'Label33 + ' + resources.ApplyResources(Me.Label33, "Label33") + Me.Label33.Name = "Label33" + ' + 'ListsPeriod + ' + resources.ApplyResources(Me.ListsPeriod, "ListsPeriod") + Me.ListsPeriod.Name = "ListsPeriod" + ' + 'AuthBasicRadio + ' + resources.ApplyResources(Me.AuthBasicRadio, "AuthBasicRadio") + Me.AuthBasicRadio.Name = "AuthBasicRadio" + Me.AuthBasicRadio.UseVisualStyleBackColor = True + ' + 'AuthOAuthRadio + ' + resources.ApplyResources(Me.AuthOAuthRadio, "AuthOAuthRadio") + Me.AuthOAuthRadio.Checked = True + Me.AuthOAuthRadio.Name = "AuthOAuthRadio" + Me.AuthOAuthRadio.TabStop = True + Me.AuthOAuthRadio.UseVisualStyleBackColor = True + ' + 'Label6 + ' + resources.ApplyResources(Me.Label6, "Label6") + Me.Label6.Name = "Label6" + ' + 'AuthClearButton + ' + resources.ApplyResources(Me.AuthClearButton, "AuthClearButton") + Me.AuthClearButton.Name = "AuthClearButton" + Me.AuthClearButton.UseVisualStyleBackColor = True + ' + 'AuthUserLabel + ' + Me.AuthUserLabel.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + resources.ApplyResources(Me.AuthUserLabel, "AuthUserLabel") + Me.AuthUserLabel.Name = "AuthUserLabel" + ' + 'AuthStateLabel + ' + Me.AuthStateLabel.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + resources.ApplyResources(Me.AuthStateLabel, "AuthStateLabel") + Me.AuthStateLabel.Name = "AuthStateLabel" + ' + 'Label4 + ' + resources.ApplyResources(Me.Label4, "Label4") + Me.Label4.Name = "Label4" + ' + 'AuthorizeButton + ' + resources.ApplyResources(Me.AuthorizeButton, "AuthorizeButton") + Me.AuthorizeButton.Name = "AuthorizeButton" + Me.AuthorizeButton.UseVisualStyleBackColor = True + ' + 'TextCountApiReply + ' + resources.ApplyResources(Me.TextCountApiReply, "TextCountApiReply") + Me.TextCountApiReply.Name = "TextCountApiReply" + ' + 'Label7 + ' + resources.ApplyResources(Me.Label7, "Label7") + Me.Label7.Name = "Label7" + ' + 'PubSearchPeriod + ' + resources.ApplyResources(Me.PubSearchPeriod, "PubSearchPeriod") + Me.PubSearchPeriod.Name = "PubSearchPeriod" + ' + 'Label69 + ' + resources.ApplyResources(Me.Label69, "Label69") + Me.Label69.Name = "Label69" + ' + 'ReplyPeriod + ' + resources.ApplyResources(Me.ReplyPeriod, "ReplyPeriod") + Me.ReplyPeriod.Name = "ReplyPeriod" + ' + 'CheckPostAndGet + ' + resources.ApplyResources(Me.CheckPostAndGet, "CheckPostAndGet") + Me.CheckPostAndGet.Name = "CheckPostAndGet" + Me.CheckPostAndGet.UseVisualStyleBackColor = True + ' + 'Label67 + ' + resources.ApplyResources(Me.Label67, "Label67") + Me.Label67.Name = "Label67" + ' + 'TextCountApi + ' + resources.ApplyResources(Me.TextCountApi, "TextCountApi") + Me.TextCountApi.Name = "TextCountApi" + ' + 'Label54 + ' + resources.ApplyResources(Me.Label54, "Label54") + Me.Label54.Name = "Label54" + ' + 'CheckStartupFollowers + ' + resources.ApplyResources(Me.CheckStartupFollowers, "CheckStartupFollowers") + Me.CheckStartupFollowers.Name = "CheckStartupFollowers" + Me.CheckStartupFollowers.UseVisualStyleBackColor = True + ' + 'Label51 + ' + resources.ApplyResources(Me.Label51, "Label51") + Me.Label51.Name = "Label51" + ' + 'CheckStartupVersion + ' + resources.ApplyResources(Me.CheckStartupVersion, "CheckStartupVersion") + Me.CheckStartupVersion.Name = "CheckStartupVersion" + Me.CheckStartupVersion.UseVisualStyleBackColor = True + ' + 'CheckPeriodAdjust + ' + resources.ApplyResources(Me.CheckPeriodAdjust, "CheckPeriodAdjust") + Me.CheckPeriodAdjust.Name = "CheckPeriodAdjust" + Me.CheckPeriodAdjust.UseVisualStyleBackColor = True + ' + 'Label74 + ' + resources.ApplyResources(Me.Label74, "Label74") + Me.Label74.Name = "Label74" + ' + 'chkGetFav + ' + resources.ApplyResources(Me.chkGetFav, "chkGetFav") + Me.chkGetFav.Name = "chkGetFav" + Me.chkGetFav.UseVisualStyleBackColor = True + ' + 'TabPage2 + ' + Me.TabPage2.Controls.Add(Me.CheckRetweetNoConfirm) + Me.TabPage2.Controls.Add(Me.Label42) + Me.TabPage2.Controls.Add(Me.GroupBox3) + Me.TabPage2.Controls.Add(Me.Label82) + Me.TabPage2.Controls.Add(Me.CheckHashSupple) + Me.TabPage2.Controls.Add(Me.Label79) + Me.TabPage2.Controls.Add(Me.CheckAtIdSupple) + Me.TabPage2.Controls.Add(Me.TextBitlyPw) + Me.TabPage2.Controls.Add(Me.Label77) + Me.TabPage2.Controls.Add(Me.TextBitlyId) + Me.TabPage2.Controls.Add(Me.Label76) + Me.TabPage2.Controls.Add(Me.ComboBoxAutoShortUrlFirst) + Me.TabPage2.Controls.Add(Me.Label71) + Me.TabPage2.Controls.Add(Me.CheckAutoConvertUrl) + Me.TabPage2.Controls.Add(Me.Label29) + Me.TabPage2.Controls.Add(Me.Label57) + Me.TabPage2.Controls.Add(Me.Label56) + Me.TabPage2.Controls.Add(Me.CheckFavRestrict) + Me.TabPage2.Controls.Add(Me.CheckTinyURL) + Me.TabPage2.Controls.Add(Me.Label50) + Me.TabPage2.Controls.Add(Me.Button3) + Me.TabPage2.Controls.Add(Me.PlaySnd) + Me.TabPage2.Controls.Add(Me.Label14) + Me.TabPage2.Controls.Add(Me.Label15) + Me.TabPage2.Controls.Add(Me.Label38) + Me.TabPage2.Controls.Add(Me.BrowserPathText) + Me.TabPage2.Controls.Add(Me.UReadMng) + Me.TabPage2.Controls.Add(Me.Label44) + Me.TabPage2.Controls.Add(Me.CheckCloseToExit) + Me.TabPage2.Controls.Add(Me.Label40) + Me.TabPage2.Controls.Add(Me.CheckMinimizeToTray) + Me.TabPage2.Controls.Add(Me.Label41) + Me.TabPage2.Controls.Add(Me.Label27) + Me.TabPage2.Controls.Add(Me.Label39) + Me.TabPage2.Controls.Add(Me.CheckPostCtrlEnter) + Me.TabPage2.Controls.Add(Me.CheckReadOldPosts) + Me.TabPage2.Controls.Add(Me.Label12) + Me.TabPage2.Controls.Add(Me.StatusText) + Me.TabPage2.Controls.Add(Me.CheckUseRecommendStatus) + resources.ApplyResources(Me.TabPage2, "TabPage2") + Me.TabPage2.Name = "TabPage2" + Me.TabPage2.UseVisualStyleBackColor = True + ' + 'GroupBox3 + ' + Me.GroupBox3.Controls.Add(Me.HotkeyCheck) + Me.GroupBox3.Controls.Add(Me.HotkeyCode) + Me.GroupBox3.Controls.Add(Me.HotkeyText) + Me.GroupBox3.Controls.Add(Me.HotkeyWin) + Me.GroupBox3.Controls.Add(Me.HotkeyAlt) + Me.GroupBox3.Controls.Add(Me.HotkeyShift) + Me.GroupBox3.Controls.Add(Me.HotkeyCtrl) + resources.ApplyResources(Me.GroupBox3, "GroupBox3") + Me.GroupBox3.Name = "GroupBox3" + Me.GroupBox3.TabStop = False + ' + 'HotkeyCheck + ' + resources.ApplyResources(Me.HotkeyCheck, "HotkeyCheck") + Me.HotkeyCheck.Name = "HotkeyCheck" + Me.HotkeyCheck.UseVisualStyleBackColor = True + ' + 'HotkeyCode + ' + resources.ApplyResources(Me.HotkeyCode, "HotkeyCode") + Me.HotkeyCode.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + Me.HotkeyCode.Name = "HotkeyCode" + ' + 'HotkeyText + ' + resources.ApplyResources(Me.HotkeyText, "HotkeyText") + Me.HotkeyText.Name = "HotkeyText" + Me.HotkeyText.ReadOnly = True + ' + 'HotkeyWin + ' + resources.ApplyResources(Me.HotkeyWin, "HotkeyWin") + Me.HotkeyWin.Name = "HotkeyWin" + Me.HotkeyWin.UseVisualStyleBackColor = True + ' + 'HotkeyAlt + ' + resources.ApplyResources(Me.HotkeyAlt, "HotkeyAlt") + Me.HotkeyAlt.Name = "HotkeyAlt" + Me.HotkeyAlt.UseVisualStyleBackColor = True + ' + 'HotkeyShift + ' + resources.ApplyResources(Me.HotkeyShift, "HotkeyShift") + Me.HotkeyShift.Name = "HotkeyShift" + Me.HotkeyShift.UseVisualStyleBackColor = True + ' + 'HotkeyCtrl + ' + resources.ApplyResources(Me.HotkeyCtrl, "HotkeyCtrl") + Me.HotkeyCtrl.Name = "HotkeyCtrl" + Me.HotkeyCtrl.UseVisualStyleBackColor = True + ' + 'Label82 + ' + resources.ApplyResources(Me.Label82, "Label82") + Me.Label82.Name = "Label82" + ' + 'CheckHashSupple + ' + resources.ApplyResources(Me.CheckHashSupple, "CheckHashSupple") + Me.CheckHashSupple.Name = "CheckHashSupple" + Me.CheckHashSupple.UseVisualStyleBackColor = True + ' + 'Label79 + ' + resources.ApplyResources(Me.Label79, "Label79") + Me.Label79.Name = "Label79" + ' + 'CheckAtIdSupple + ' + resources.ApplyResources(Me.CheckAtIdSupple, "CheckAtIdSupple") + Me.CheckAtIdSupple.Name = "CheckAtIdSupple" + Me.CheckAtIdSupple.UseVisualStyleBackColor = True + ' + 'TextBitlyPw + ' + resources.ApplyResources(Me.TextBitlyPw, "TextBitlyPw") + Me.TextBitlyPw.Name = "TextBitlyPw" + ' + 'Label77 + ' + resources.ApplyResources(Me.Label77, "Label77") + Me.Label77.Name = "Label77" + ' + 'TextBitlyId + ' + resources.ApplyResources(Me.TextBitlyId, "TextBitlyId") + Me.TextBitlyId.Name = "TextBitlyId" + ' + 'Label76 + ' + resources.ApplyResources(Me.Label76, "Label76") + Me.Label76.Name = "Label76" + ' + 'ComboBoxAutoShortUrlFirst + ' + Me.ComboBoxAutoShortUrlFirst.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList + Me.ComboBoxAutoShortUrlFirst.FormattingEnabled = True + Me.ComboBoxAutoShortUrlFirst.Items.AddRange(New Object() {resources.GetString("ComboBoxAutoShortUrlFirst.Items"), resources.GetString("ComboBoxAutoShortUrlFirst.Items1"), resources.GetString("ComboBoxAutoShortUrlFirst.Items2"), resources.GetString("ComboBoxAutoShortUrlFirst.Items3"), resources.GetString("ComboBoxAutoShortUrlFirst.Items4")}) + resources.ApplyResources(Me.ComboBoxAutoShortUrlFirst, "ComboBoxAutoShortUrlFirst") + Me.ComboBoxAutoShortUrlFirst.Name = "ComboBoxAutoShortUrlFirst" + ' + 'Label71 + ' + resources.ApplyResources(Me.Label71, "Label71") + Me.Label71.Name = "Label71" + ' + 'CheckAutoConvertUrl + ' + resources.ApplyResources(Me.CheckAutoConvertUrl, "CheckAutoConvertUrl") + Me.CheckAutoConvertUrl.Name = "CheckAutoConvertUrl" + Me.CheckAutoConvertUrl.UseVisualStyleBackColor = True + ' + 'Label29 + ' + resources.ApplyResources(Me.Label29, "Label29") + Me.Label29.Name = "Label29" + ' + 'Label57 + ' + resources.ApplyResources(Me.Label57, "Label57") + Me.Label57.BackColor = System.Drawing.SystemColors.ActiveCaption + Me.Label57.ForeColor = System.Drawing.SystemColors.ActiveCaptionText + Me.Label57.Name = "Label57" + ' + 'Label56 + ' + resources.ApplyResources(Me.Label56, "Label56") + Me.Label56.Name = "Label56" + ' + 'CheckFavRestrict + ' + resources.ApplyResources(Me.CheckFavRestrict, "CheckFavRestrict") + Me.CheckFavRestrict.Name = "CheckFavRestrict" + Me.CheckFavRestrict.UseVisualStyleBackColor = True + ' + 'CheckTinyURL + ' + resources.ApplyResources(Me.CheckTinyURL, "CheckTinyURL") + Me.CheckTinyURL.Name = "CheckTinyURL" + Me.CheckTinyURL.UseVisualStyleBackColor = True + ' + 'Label50 + ' + resources.ApplyResources(Me.Label50, "Label50") + Me.Label50.Name = "Label50" + ' + 'Button3 + ' + resources.ApplyResources(Me.Button3, "Button3") + Me.Button3.Name = "Button3" + Me.Button3.UseVisualStyleBackColor = True + ' + 'TabPage3 + ' + Me.TabPage3.Controls.Add(Me.Label35) + Me.TabPage3.Controls.Add(Me.CheckPreviewEnable) + Me.TabPage3.Controls.Add(Me.Label81) + Me.TabPage3.Controls.Add(Me.LanguageCombo) + Me.TabPage3.Controls.Add(Me.Label13) + Me.TabPage3.Controls.Add(Me.CheckAlwaysTop) + Me.TabPage3.Controls.Add(Me.Label58) + Me.TabPage3.Controls.Add(Me.Label21) + Me.TabPage3.Controls.Add(Me.CheckSortOrderLock) + Me.TabPage3.Controls.Add(Me.Label78) + Me.TabPage3.Controls.Add(Me.CheckShowGrid) + Me.TabPage3.Controls.Add(Me.Label75) + Me.TabPage3.Controls.Add(Me.CheckMonospace) + Me.TabPage3.Controls.Add(Me.Label73) + Me.TabPage3.Controls.Add(Me.chkReadOwnPost) + Me.TabPage3.Controls.Add(Me.ReplyIconStateCombo) + Me.TabPage3.Controls.Add(Me.Label72) + Me.TabPage3.Controls.Add(Me.Label43) + Me.TabPage3.Controls.Add(Me.Label48) + Me.TabPage3.Controls.Add(Me.ChkNewMentionsBlink) + Me.TabPage3.Controls.Add(Me.chkTabIconDisp) + Me.TabPage3.Controls.Add(Me.Label68) + Me.TabPage3.Controls.Add(Me.CheckBalloonLimit) + Me.TabPage3.Controls.Add(Me.LabelDateTimeFormatApplied) + Me.TabPage3.Controls.Add(Me.Label62) + Me.TabPage3.Controls.Add(Me.Label17) + Me.TabPage3.Controls.Add(Me.chkUnreadStyle) + Me.TabPage3.Controls.Add(Me.Label10) + Me.TabPage3.Controls.Add(Me.ComboDispTitle) + Me.TabPage3.Controls.Add(Me.Label47) + Me.TabPage3.Controls.Add(Me.CmbDateTimeFormat) + Me.TabPage3.Controls.Add(Me.Label45) + Me.TabPage3.Controls.Add(Me.Label23) + Me.TabPage3.Controls.Add(Me.cmbNameBalloon) + Me.TabPage3.Controls.Add(Me.Label46) + Me.TabPage3.Controls.Add(Me.CheckDispUsername) + Me.TabPage3.Controls.Add(Me.Label11) + Me.TabPage3.Controls.Add(Me.Label16) + Me.TabPage3.Controls.Add(Me.OneWayLv) + Me.TabPage3.Controls.Add(Me.Label25) + Me.TabPage3.Controls.Add(Me.IconSize) + Me.TabPage3.Controls.Add(Me.CheckBox3) + Me.TabPage3.Controls.Add(Me.TextBox3) + resources.ApplyResources(Me.TabPage3, "TabPage3") + Me.TabPage3.Name = "TabPage3" + Me.TabPage3.UseVisualStyleBackColor = True + ' + 'Label35 + ' + resources.ApplyResources(Me.Label35, "Label35") + Me.Label35.Name = "Label35" + ' + 'CheckPreviewEnable + ' + resources.ApplyResources(Me.CheckPreviewEnable, "CheckPreviewEnable") + Me.CheckPreviewEnable.Name = "CheckPreviewEnable" + Me.CheckPreviewEnable.UseVisualStyleBackColor = True + ' + 'Label81 + ' + resources.ApplyResources(Me.Label81, "Label81") + Me.Label81.BackColor = System.Drawing.SystemColors.ActiveCaption + Me.Label81.ForeColor = System.Drawing.SystemColors.ActiveCaptionText + Me.Label81.Name = "Label81" + ' + 'LanguageCombo + ' + Me.LanguageCombo.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList + Me.LanguageCombo.FormattingEnabled = True + Me.LanguageCombo.Items.AddRange(New Object() {resources.GetString("LanguageCombo.Items"), resources.GetString("LanguageCombo.Items1"), resources.GetString("LanguageCombo.Items2"), resources.GetString("LanguageCombo.Items3")}) + resources.ApplyResources(Me.LanguageCombo, "LanguageCombo") + Me.LanguageCombo.Name = "LanguageCombo" + ' + 'Label13 + ' + resources.ApplyResources(Me.Label13, "Label13") + Me.Label13.Name = "Label13" + ' + 'CheckAlwaysTop + ' + resources.ApplyResources(Me.CheckAlwaysTop, "CheckAlwaysTop") + Me.CheckAlwaysTop.Name = "CheckAlwaysTop" + Me.CheckAlwaysTop.UseVisualStyleBackColor = True + ' + 'Label58 + ' + resources.ApplyResources(Me.Label58, "Label58") + Me.Label58.Name = "Label58" + ' + 'Label21 + ' + resources.ApplyResources(Me.Label21, "Label21") + Me.Label21.Name = "Label21" + ' + 'CheckSortOrderLock + ' + resources.ApplyResources(Me.CheckSortOrderLock, "CheckSortOrderLock") + Me.CheckSortOrderLock.Name = "CheckSortOrderLock" + Me.CheckSortOrderLock.UseVisualStyleBackColor = True + ' + 'Label78 + ' + resources.ApplyResources(Me.Label78, "Label78") + Me.Label78.Name = "Label78" + ' + 'CheckShowGrid + ' + resources.ApplyResources(Me.CheckShowGrid, "CheckShowGrid") + Me.CheckShowGrid.Name = "CheckShowGrid" + Me.CheckShowGrid.UseVisualStyleBackColor = True + ' + 'Label75 + ' + resources.ApplyResources(Me.Label75, "Label75") + Me.Label75.Name = "Label75" + ' + 'CheckMonospace + ' + resources.ApplyResources(Me.CheckMonospace, "CheckMonospace") + Me.CheckMonospace.Name = "CheckMonospace" + Me.CheckMonospace.UseVisualStyleBackColor = True + ' + 'Label73 + ' + resources.ApplyResources(Me.Label73, "Label73") + Me.Label73.Name = "Label73" + ' + 'chkReadOwnPost + ' + resources.ApplyResources(Me.chkReadOwnPost, "chkReadOwnPost") + Me.chkReadOwnPost.Name = "chkReadOwnPost" + Me.chkReadOwnPost.UseVisualStyleBackColor = True + ' + 'ReplyIconStateCombo + ' + Me.ReplyIconStateCombo.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList + Me.ReplyIconStateCombo.FormattingEnabled = True + Me.ReplyIconStateCombo.Items.AddRange(New Object() {resources.GetString("ReplyIconStateCombo.Items"), resources.GetString("ReplyIconStateCombo.Items1"), resources.GetString("ReplyIconStateCombo.Items2")}) + resources.ApplyResources(Me.ReplyIconStateCombo, "ReplyIconStateCombo") + Me.ReplyIconStateCombo.Name = "ReplyIconStateCombo" + ' + 'Label72 + ' + resources.ApplyResources(Me.Label72, "Label72") + Me.Label72.Name = "Label72" + ' + 'Label43 + ' + resources.ApplyResources(Me.Label43, "Label43") + Me.Label43.Name = "Label43" + ' + 'Label48 + ' + resources.ApplyResources(Me.Label48, "Label48") + Me.Label48.Name = "Label48" + ' + 'ChkNewMentionsBlink + ' + resources.ApplyResources(Me.ChkNewMentionsBlink, "ChkNewMentionsBlink") + Me.ChkNewMentionsBlink.Name = "ChkNewMentionsBlink" + Me.ChkNewMentionsBlink.UseVisualStyleBackColor = True + ' + 'chkTabIconDisp + ' + resources.ApplyResources(Me.chkTabIconDisp, "chkTabIconDisp") + Me.chkTabIconDisp.Name = "chkTabIconDisp" + Me.chkTabIconDisp.UseVisualStyleBackColor = True + ' + 'Label68 + ' + resources.ApplyResources(Me.Label68, "Label68") + Me.Label68.Name = "Label68" + ' + 'CheckBalloonLimit + ' + resources.ApplyResources(Me.CheckBalloonLimit, "CheckBalloonLimit") + Me.CheckBalloonLimit.Name = "CheckBalloonLimit" + Me.CheckBalloonLimit.UseVisualStyleBackColor = True + ' + 'LabelDateTimeFormatApplied + ' + resources.ApplyResources(Me.LabelDateTimeFormatApplied, "LabelDateTimeFormatApplied") + Me.LabelDateTimeFormatApplied.Name = "LabelDateTimeFormatApplied" + ' + 'Label62 + ' + resources.ApplyResources(Me.Label62, "Label62") + Me.Label62.Name = "Label62" + ' + 'Label17 + ' + resources.ApplyResources(Me.Label17, "Label17") + Me.Label17.Name = "Label17" + ' + 'chkUnreadStyle + ' + resources.ApplyResources(Me.chkUnreadStyle, "chkUnreadStyle") + Me.chkUnreadStyle.Name = "chkUnreadStyle" + Me.chkUnreadStyle.UseVisualStyleBackColor = True + ' + 'TabPage4 + ' + Me.TabPage4.Controls.Add(Me.GroupBox1) + resources.ApplyResources(Me.TabPage4, "TabPage4") + Me.TabPage4.Name = "TabPage4" + Me.TabPage4.UseVisualStyleBackColor = True + ' + 'TabPage5 + ' + Me.TabPage5.Controls.Add(Me.CheckEnableBasicAuth) + Me.TabPage5.Controls.Add(Me.TwitterSearchAPIText) + Me.TabPage5.Controls.Add(Me.Label31) + Me.TabPage5.Controls.Add(Me.TwitterAPIText) + Me.TabPage5.Controls.Add(Me.Label8) + Me.TabPage5.Controls.Add(Me.CheckUseSsl) + Me.TabPage5.Controls.Add(Me.Label64) + Me.TabPage5.Controls.Add(Me.ConnectionTimeOut) + Me.TabPage5.Controls.Add(Me.Label63) + Me.TabPage5.Controls.Add(Me.GroupBox2) + resources.ApplyResources(Me.TabPage5, "TabPage5") + Me.TabPage5.Name = "TabPage5" + Me.TabPage5.UseVisualStyleBackColor = True + ' + 'CheckEnableBasicAuth + ' + resources.ApplyResources(Me.CheckEnableBasicAuth, "CheckEnableBasicAuth") + Me.CheckEnableBasicAuth.Name = "CheckEnableBasicAuth" + Me.CheckEnableBasicAuth.UseVisualStyleBackColor = True + ' + 'TwitterSearchAPIText + ' + resources.ApplyResources(Me.TwitterSearchAPIText, "TwitterSearchAPIText") + Me.TwitterSearchAPIText.Name = "TwitterSearchAPIText" + ' + 'Label31 + ' + resources.ApplyResources(Me.Label31, "Label31") + Me.Label31.Name = "Label31" + ' + 'TwitterAPIText + ' + resources.ApplyResources(Me.TwitterAPIText, "TwitterAPIText") + Me.TwitterAPIText.Name = "TwitterAPIText" + ' + 'Label8 + ' + resources.ApplyResources(Me.Label8, "Label8") + Me.Label8.Name = "Label8" + ' + 'CheckUseSsl + ' + resources.ApplyResources(Me.CheckUseSsl, "CheckUseSsl") + Me.CheckUseSsl.Name = "CheckUseSsl" + Me.CheckUseSsl.UseVisualStyleBackColor = True + ' + 'Label64 + ' + resources.ApplyResources(Me.Label64, "Label64") + Me.Label64.BackColor = System.Drawing.SystemColors.ActiveCaption + Me.Label64.ForeColor = System.Drawing.SystemColors.ActiveCaptionText + Me.Label64.Name = "Label64" + ' + 'ConnectionTimeOut + ' + resources.ApplyResources(Me.ConnectionTimeOut, "ConnectionTimeOut") + Me.ConnectionTimeOut.Name = "ConnectionTimeOut" + ' + 'Label63 + ' + resources.ApplyResources(Me.Label63, "Label63") + Me.Label63.Name = "Label63" + ' + 'GroupBox2 + ' + Me.GroupBox2.Controls.Add(Me.Label55) + Me.GroupBox2.Controls.Add(Me.TextProxyPassword) + Me.GroupBox2.Controls.Add(Me.LabelProxyPassword) + Me.GroupBox2.Controls.Add(Me.TextProxyUser) + Me.GroupBox2.Controls.Add(Me.LabelProxyUser) + Me.GroupBox2.Controls.Add(Me.TextProxyPort) + Me.GroupBox2.Controls.Add(Me.LabelProxyPort) + Me.GroupBox2.Controls.Add(Me.TextProxyAddress) + Me.GroupBox2.Controls.Add(Me.LabelProxyAddress) + Me.GroupBox2.Controls.Add(Me.RadioProxySpecified) + Me.GroupBox2.Controls.Add(Me.RadioProxyIE) + Me.GroupBox2.Controls.Add(Me.RadioProxyNone) + resources.ApplyResources(Me.GroupBox2, "GroupBox2") + Me.GroupBox2.Name = "GroupBox2" + Me.GroupBox2.TabStop = False + ' + 'Label55 + ' + resources.ApplyResources(Me.Label55, "Label55") + Me.Label55.BackColor = System.Drawing.SystemColors.ActiveCaption + Me.Label55.ForeColor = System.Drawing.SystemColors.ActiveCaptionText + Me.Label55.Name = "Label55" + ' + 'TextProxyPassword + ' + resources.ApplyResources(Me.TextProxyPassword, "TextProxyPassword") + Me.TextProxyPassword.Name = "TextProxyPassword" + Me.TextProxyPassword.UseSystemPasswordChar = True + ' + 'LabelProxyPassword + ' + resources.ApplyResources(Me.LabelProxyPassword, "LabelProxyPassword") + Me.LabelProxyPassword.Name = "LabelProxyPassword" + ' + 'TextProxyUser + ' + resources.ApplyResources(Me.TextProxyUser, "TextProxyUser") + Me.TextProxyUser.Name = "TextProxyUser" + ' + 'LabelProxyUser + ' + resources.ApplyResources(Me.LabelProxyUser, "LabelProxyUser") + Me.LabelProxyUser.Name = "LabelProxyUser" + ' + 'TextProxyPort + ' + resources.ApplyResources(Me.TextProxyPort, "TextProxyPort") + Me.TextProxyPort.Name = "TextProxyPort" + ' + 'LabelProxyPort + ' + resources.ApplyResources(Me.LabelProxyPort, "LabelProxyPort") + Me.LabelProxyPort.Name = "LabelProxyPort" + ' + 'TextProxyAddress + ' + resources.ApplyResources(Me.TextProxyAddress, "TextProxyAddress") + Me.TextProxyAddress.Name = "TextProxyAddress" + ' + 'LabelProxyAddress + ' + resources.ApplyResources(Me.LabelProxyAddress, "LabelProxyAddress") + Me.LabelProxyAddress.Name = "LabelProxyAddress" + ' + 'RadioProxySpecified + ' + resources.ApplyResources(Me.RadioProxySpecified, "RadioProxySpecified") + Me.RadioProxySpecified.Name = "RadioProxySpecified" + Me.RadioProxySpecified.UseVisualStyleBackColor = True + ' + 'RadioProxyIE + ' + resources.ApplyResources(Me.RadioProxyIE, "RadioProxyIE") + Me.RadioProxyIE.Checked = True + Me.RadioProxyIE.Name = "RadioProxyIE" + Me.RadioProxyIE.TabStop = True + Me.RadioProxyIE.UseVisualStyleBackColor = True + ' + 'RadioProxyNone + ' + resources.ApplyResources(Me.RadioProxyNone, "RadioProxyNone") + Me.RadioProxyNone.Name = "RadioProxyNone" + Me.RadioProxyNone.UseVisualStyleBackColor = True + ' + 'TabPage6 + ' + Me.TabPage6.Controls.Add(Me.FavoritesTextCountApi) + Me.TabPage6.Controls.Add(Me.SearchTextCountApi) + Me.TabPage6.Controls.Add(Me.Label66) + Me.TabPage6.Controls.Add(Me.FirstTextCountApi) + Me.TabPage6.Controls.Add(Me.GetMoreTextCountApi) + Me.TabPage6.Controls.Add(Me.Label53) + Me.TabPage6.Controls.Add(Me.UseChangeGetCount) + Me.TabPage6.Controls.Add(Me.CheckNicoms) + Me.TabPage6.Controls.Add(Me.Label60) + Me.TabPage6.Controls.Add(Me.ComboBoxOutputzUrlmode) + Me.TabPage6.Controls.Add(Me.Label59) + Me.TabPage6.Controls.Add(Me.TextBoxOutputzKey) + Me.TabPage6.Controls.Add(Me.CheckOutputz) + resources.ApplyResources(Me.TabPage6, "TabPage6") + Me.TabPage6.Name = "TabPage6" + Me.TabPage6.UseVisualStyleBackColor = True + ' + 'FavoritesTextCountApi + ' + resources.ApplyResources(Me.FavoritesTextCountApi, "FavoritesTextCountApi") + Me.FavoritesTextCountApi.Name = "FavoritesTextCountApi" + ' + 'SearchTextCountApi + ' + resources.ApplyResources(Me.SearchTextCountApi, "SearchTextCountApi") + Me.SearchTextCountApi.Name = "SearchTextCountApi" + ' + 'Label66 + ' + resources.ApplyResources(Me.Label66, "Label66") + Me.Label66.Name = "Label66" + ' + 'FirstTextCountApi + ' + resources.ApplyResources(Me.FirstTextCountApi, "FirstTextCountApi") + Me.FirstTextCountApi.Name = "FirstTextCountApi" + ' + 'GetMoreTextCountApi + ' + resources.ApplyResources(Me.GetMoreTextCountApi, "GetMoreTextCountApi") + Me.GetMoreTextCountApi.Name = "GetMoreTextCountApi" + ' + 'Label53 + ' + resources.ApplyResources(Me.Label53, "Label53") + Me.Label53.Name = "Label53" + ' + 'UseChangeGetCount + ' + resources.ApplyResources(Me.UseChangeGetCount, "UseChangeGetCount") + Me.UseChangeGetCount.Name = "UseChangeGetCount" + Me.UseChangeGetCount.UseVisualStyleBackColor = True + ' + 'CheckNicoms + ' + resources.ApplyResources(Me.CheckNicoms, "CheckNicoms") + Me.CheckNicoms.Name = "CheckNicoms" + Me.CheckNicoms.UseVisualStyleBackColor = True + ' + 'Label60 + ' + resources.ApplyResources(Me.Label60, "Label60") + Me.Label60.Name = "Label60" + ' + 'ComboBoxOutputzUrlmode + ' + Me.ComboBoxOutputzUrlmode.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList + Me.ComboBoxOutputzUrlmode.FormattingEnabled = True + Me.ComboBoxOutputzUrlmode.Items.AddRange(New Object() {resources.GetString("ComboBoxOutputzUrlmode.Items"), resources.GetString("ComboBoxOutputzUrlmode.Items1")}) + resources.ApplyResources(Me.ComboBoxOutputzUrlmode, "ComboBoxOutputzUrlmode") + Me.ComboBoxOutputzUrlmode.Name = "ComboBoxOutputzUrlmode" + ' + 'Label59 + ' + resources.ApplyResources(Me.Label59, "Label59") + Me.Label59.Name = "Label59" + ' + 'TextBoxOutputzKey + ' + resources.ApplyResources(Me.TextBoxOutputzKey, "TextBoxOutputzKey") + Me.TextBoxOutputzKey.Name = "TextBoxOutputzKey" + ' + 'CheckOutputz + ' + resources.ApplyResources(Me.CheckOutputz, "CheckOutputz") + Me.CheckOutputz.Name = "CheckOutputz" + Me.CheckOutputz.UseVisualStyleBackColor = True + ' + 'Label42 + ' + resources.ApplyResources(Me.Label42, "Label42") + Me.Label42.Name = "Label42" + ' + 'CheckRetweetNoConfirm + ' + resources.ApplyResources(Me.CheckRetweetNoConfirm, "CheckRetweetNoConfirm") + Me.CheckRetweetNoConfirm.Name = "CheckRetweetNoConfirm" + Me.CheckRetweetNoConfirm.UseVisualStyleBackColor = True + ' + 'Setting + ' + Me.AcceptButton = Me.Save + resources.ApplyResources(Me, "$this") + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.CancelButton = Me.Cancel + Me.Controls.Add(Me.TabControl1) + Me.Controls.Add(Me.Cancel) + Me.Controls.Add(Me.Save) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog + Me.MaximizeBox = False + Me.MinimizeBox = False + Me.Name = "Setting" + Me.ShowInTaskbar = False + Me.TopMost = True + Me.GroupBox1.ResumeLayout(False) + Me.GroupBox1.PerformLayout() + Me.TabControl1.ResumeLayout(False) + Me.TabPage1.ResumeLayout(False) + Me.TabPage1.PerformLayout() + Me.TabPage2.ResumeLayout(False) + Me.TabPage2.PerformLayout() + Me.GroupBox3.ResumeLayout(False) + Me.GroupBox3.PerformLayout() + Me.TabPage3.ResumeLayout(False) + Me.TabPage3.PerformLayout() + Me.TabPage4.ResumeLayout(False) + Me.TabPage5.ResumeLayout(False) + Me.TabPage5.PerformLayout() + Me.GroupBox2.ResumeLayout(False) + Me.GroupBox2.PerformLayout() + Me.TabPage6.ResumeLayout(False) + Me.TabPage6.PerformLayout() + Me.ResumeLayout(False) + + End Sub + Friend WithEvents Label1 As System.Windows.Forms.Label + Friend WithEvents Label2 As System.Windows.Forms.Label + Friend WithEvents Username As System.Windows.Forms.TextBox + Friend WithEvents Password As System.Windows.Forms.TextBox + Friend WithEvents Save As System.Windows.Forms.Button + Friend WithEvents Cancel As System.Windows.Forms.Button + Friend WithEvents Label3 As System.Windows.Forms.Label + Friend WithEvents TimelinePeriod As System.Windows.Forms.TextBox + Friend WithEvents DMPeriod As System.Windows.Forms.TextBox + Friend WithEvents Label5 As System.Windows.Forms.Label + Friend WithEvents Label9 As System.Windows.Forms.Label + Friend WithEvents StartupReaded As System.Windows.Forms.CheckBox + Friend WithEvents Label11 As System.Windows.Forms.Label + Friend WithEvents Label12 As System.Windows.Forms.Label + Friend WithEvents StatusText As System.Windows.Forms.TextBox + Friend WithEvents PlaySnd As System.Windows.Forms.CheckBox + Friend WithEvents Label14 As System.Windows.Forms.Label + Friend WithEvents Label15 As System.Windows.Forms.Label + Friend WithEvents OneWayLv As System.Windows.Forms.CheckBox + Friend WithEvents Label16 As System.Windows.Forms.Label + Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox + Friend WithEvents btnDetail As System.Windows.Forms.Button + Friend WithEvents lblDetail As System.Windows.Forms.Label + Friend WithEvents Label26 As System.Windows.Forms.Label + Friend WithEvents btnOWL As System.Windows.Forms.Button + Friend WithEvents lblOWL As System.Windows.Forms.Label + Friend WithEvents Label24 As System.Windows.Forms.Label + Friend WithEvents btnFav As System.Windows.Forms.Button + Friend WithEvents lblFav As System.Windows.Forms.Label + Friend WithEvents Label22 As System.Windows.Forms.Label + Friend WithEvents FontDialog1 As System.Windows.Forms.FontDialog + Friend WithEvents ColorDialog1 As System.Windows.Forms.ColorDialog + Friend WithEvents btnAtFromTarget As System.Windows.Forms.Button + Friend WithEvents lblAtFromTarget As System.Windows.Forms.Label + Friend WithEvents Label28 As System.Windows.Forms.Label + Friend WithEvents btnAtTarget As System.Windows.Forms.Button + Friend WithEvents lblAtTarget As System.Windows.Forms.Label + Friend WithEvents Label30 As System.Windows.Forms.Label + Friend WithEvents btnTarget As System.Windows.Forms.Button + Friend WithEvents lblTarget As System.Windows.Forms.Label + Friend WithEvents Label32 As System.Windows.Forms.Label + Friend WithEvents btnAtSelf As System.Windows.Forms.Button + Friend WithEvents lblAtSelf As System.Windows.Forms.Label + Friend WithEvents Label34 As System.Windows.Forms.Label + Friend WithEvents btnSelf As System.Windows.Forms.Button + Friend WithEvents lblSelf As System.Windows.Forms.Label + Friend WithEvents Label36 As System.Windows.Forms.Label + Friend WithEvents cmbNameBalloon As System.Windows.Forms.ComboBox + Friend WithEvents Label10 As System.Windows.Forms.Label + Friend WithEvents btnListBack As System.Windows.Forms.Button + Friend WithEvents lblListBackcolor As System.Windows.Forms.Label + Friend WithEvents Label19 As System.Windows.Forms.Label + Friend WithEvents CheckUseRecommendStatus As System.Windows.Forms.CheckBox + Friend WithEvents CmbDateTimeFormat As System.Windows.Forms.ComboBox + Friend WithEvents Label23 As System.Windows.Forms.Label + Friend WithEvents CheckBox3 As System.Windows.Forms.CheckBox + Friend WithEvents Label25 As System.Windows.Forms.Label + Friend WithEvents CheckPostCtrlEnter As System.Windows.Forms.CheckBox + Friend WithEvents Label27 As System.Windows.Forms.Label + Friend WithEvents TextBox3 As System.Windows.Forms.TextBox + Friend WithEvents IconSize As System.Windows.Forms.ComboBox + Friend WithEvents btnDetailBack As System.Windows.Forms.Button + Friend WithEvents lblDetailBackcolor As System.Windows.Forms.Label + Friend WithEvents Label37 As System.Windows.Forms.Label + Friend WithEvents Label38 As System.Windows.Forms.Label + Friend WithEvents UReadMng As System.Windows.Forms.CheckBox + Friend WithEvents Label39 As System.Windows.Forms.Label + Friend WithEvents CheckReadOldPosts As System.Windows.Forms.CheckBox + Friend WithEvents Label40 As System.Windows.Forms.Label + Friend WithEvents CheckCloseToExit As System.Windows.Forms.CheckBox + Friend WithEvents Label41 As System.Windows.Forms.Label + Friend WithEvents CheckMinimizeToTray As System.Windows.Forms.CheckBox + Friend WithEvents BrowserPathText As System.Windows.Forms.TextBox + Friend WithEvents Label44 As System.Windows.Forms.Label + Friend WithEvents CheckDispUsername As System.Windows.Forms.CheckBox + Friend WithEvents Label46 As System.Windows.Forms.Label + Friend WithEvents Label45 As System.Windows.Forms.Label + Friend WithEvents ComboDispTitle As System.Windows.Forms.ComboBox + Friend WithEvents Label47 As System.Windows.Forms.Label + Friend WithEvents TabControl1 As System.Windows.Forms.TabControl + Friend WithEvents TabPage1 As System.Windows.Forms.TabPage + Friend WithEvents TabPage2 As System.Windows.Forms.TabPage + Friend WithEvents TabPage3 As System.Windows.Forms.TabPage + Friend WithEvents TabPage4 As System.Windows.Forms.TabPage + Friend WithEvents Button3 As System.Windows.Forms.Button + Friend WithEvents btnAtTo As System.Windows.Forms.Button + Friend WithEvents lblAtTo As System.Windows.Forms.Label + Friend WithEvents Label49 As System.Windows.Forms.Label + Friend WithEvents CheckTinyURL As System.Windows.Forms.CheckBox + Friend WithEvents Label50 As System.Windows.Forms.Label + Friend WithEvents TabPage5 As System.Windows.Forms.TabPage + Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox + Friend WithEvents RadioProxySpecified As System.Windows.Forms.RadioButton + Friend WithEvents RadioProxyIE As System.Windows.Forms.RadioButton + Friend WithEvents RadioProxyNone As System.Windows.Forms.RadioButton + Friend WithEvents TextProxyPort As System.Windows.Forms.TextBox + Friend WithEvents LabelProxyPort As System.Windows.Forms.Label + Friend WithEvents TextProxyAddress As System.Windows.Forms.TextBox + Friend WithEvents LabelProxyAddress As System.Windows.Forms.Label + Friend WithEvents TextProxyPassword As System.Windows.Forms.TextBox + Friend WithEvents LabelProxyPassword As System.Windows.Forms.Label + Friend WithEvents TextProxyUser As System.Windows.Forms.TextBox + Friend WithEvents LabelProxyUser As System.Windows.Forms.Label + Friend WithEvents Label55 As System.Windows.Forms.Label + Friend WithEvents CheckPeriodAdjust As System.Windows.Forms.CheckBox + Friend WithEvents Label51 As System.Windows.Forms.Label + Friend WithEvents CheckStartupVersion As System.Windows.Forms.CheckBox + Friend WithEvents Label54 As System.Windows.Forms.Label + Friend WithEvents CheckStartupFollowers As System.Windows.Forms.CheckBox + Friend WithEvents Label56 As System.Windows.Forms.Label + Friend WithEvents CheckFavRestrict As System.Windows.Forms.CheckBox + Friend WithEvents Label57 As System.Windows.Forms.Label + Friend WithEvents CheckAutoConvertUrl As System.Windows.Forms.CheckBox + Friend WithEvents Label29 As System.Windows.Forms.Label + Friend WithEvents TabPage6 As System.Windows.Forms.TabPage + Friend WithEvents Label59 As System.Windows.Forms.Label + Friend WithEvents TextBoxOutputzKey As System.Windows.Forms.TextBox + Friend WithEvents CheckOutputz As System.Windows.Forms.CheckBox + Friend WithEvents Label60 As System.Windows.Forms.Label + Friend WithEvents ComboBoxOutputzUrlmode As System.Windows.Forms.ComboBox + Friend WithEvents btnListFont As System.Windows.Forms.Button + Friend WithEvents lblListFont As System.Windows.Forms.Label + Friend WithEvents Label61 As System.Windows.Forms.Label + Friend WithEvents btnUnread As System.Windows.Forms.Button + Friend WithEvents lblUnread As System.Windows.Forms.Label + Friend WithEvents Label20 As System.Windows.Forms.Label + Friend WithEvents Label17 As System.Windows.Forms.Label + Friend WithEvents chkUnreadStyle As System.Windows.Forms.CheckBox + Friend WithEvents LabelDateTimeFormatApplied As System.Windows.Forms.Label + Friend WithEvents Label62 As System.Windows.Forms.Label + Friend WithEvents Label63 As System.Windows.Forms.Label + Friend WithEvents Label64 As System.Windows.Forms.Label + Friend WithEvents ConnectionTimeOut As System.Windows.Forms.TextBox + Friend WithEvents btnInputBackcolor As System.Windows.Forms.Button + Friend WithEvents lblInputBackcolor As System.Windows.Forms.Label + Friend WithEvents Label52 As System.Windows.Forms.Label + Friend WithEvents btnInputFont As System.Windows.Forms.Button + Friend WithEvents lblInputFont As System.Windows.Forms.Label + Friend WithEvents Label65 As System.Windows.Forms.Label + Friend WithEvents Label67 As System.Windows.Forms.Label + Friend WithEvents TextCountApi As System.Windows.Forms.TextBox + Friend WithEvents Label68 As System.Windows.Forms.Label + Friend WithEvents CheckBalloonLimit As System.Windows.Forms.CheckBox + Friend WithEvents CheckPostAndGet As System.Windows.Forms.CheckBox + Friend WithEvents Label69 As System.Windows.Forms.Label + Friend WithEvents ReplyPeriod As System.Windows.Forms.TextBox + Friend WithEvents ComboBoxAutoShortUrlFirst As System.Windows.Forms.ComboBox + Friend WithEvents Label71 As System.Windows.Forms.Label + Friend WithEvents Label48 As System.Windows.Forms.Label + Friend WithEvents chkTabIconDisp As System.Windows.Forms.CheckBox + Friend WithEvents ReplyIconStateCombo As System.Windows.Forms.ComboBox + Friend WithEvents Label72 As System.Windows.Forms.Label + Friend WithEvents Label73 As System.Windows.Forms.Label + Friend WithEvents chkReadOwnPost As System.Windows.Forms.CheckBox + Friend WithEvents Label74 As System.Windows.Forms.Label + Friend WithEvents chkGetFav As System.Windows.Forms.CheckBox + Friend WithEvents Label75 As System.Windows.Forms.Label + Friend WithEvents CheckMonospace As System.Windows.Forms.CheckBox + Friend WithEvents CheckUseSsl As System.Windows.Forms.CheckBox + Friend WithEvents Label76 As System.Windows.Forms.Label + Friend WithEvents TextBitlyPw As System.Windows.Forms.TextBox + Friend WithEvents Label77 As System.Windows.Forms.Label + Friend WithEvents TextBitlyId As System.Windows.Forms.TextBox + Friend WithEvents Label78 As System.Windows.Forms.Label + Friend WithEvents CheckShowGrid As System.Windows.Forms.CheckBox + Friend WithEvents Label21 As System.Windows.Forms.Label + Friend WithEvents CheckSortOrderLock As System.Windows.Forms.CheckBox + Friend WithEvents Label79 As System.Windows.Forms.Label + Friend WithEvents CheckAtIdSupple As System.Windows.Forms.CheckBox + Friend WithEvents CheckAlwaysTop As System.Windows.Forms.CheckBox + Friend WithEvents Label58 As System.Windows.Forms.Label + Friend WithEvents btnDetailLink As System.Windows.Forms.Button + Friend WithEvents lblDetailLink As System.Windows.Forms.Label + Friend WithEvents Label18 As System.Windows.Forms.Label + Friend WithEvents ButtonBackToDefaultFontColor As System.Windows.Forms.Button + Friend WithEvents btnRetweet As System.Windows.Forms.Button + Friend WithEvents lblRetweet As System.Windows.Forms.Label + Friend WithEvents Label80 As System.Windows.Forms.Label + Friend WithEvents LanguageCombo As System.Windows.Forms.ComboBox + Friend WithEvents Label13 As System.Windows.Forms.Label + Friend WithEvents Label81 As System.Windows.Forms.Label + Friend WithEvents TextCountApiReply As System.Windows.Forms.TextBox + Friend WithEvents PubSearchPeriod As System.Windows.Forms.TextBox + Friend WithEvents Label7 As System.Windows.Forms.Label + Friend WithEvents CheckNicoms As System.Windows.Forms.CheckBox + Friend WithEvents Label82 As System.Windows.Forms.Label + Friend WithEvents CheckHashSupple As System.Windows.Forms.CheckBox + Friend WithEvents AuthorizeButton As System.Windows.Forms.Button + Friend WithEvents AuthStateLabel As System.Windows.Forms.Label + Friend WithEvents Label4 As System.Windows.Forms.Label + Friend WithEvents AuthUserLabel As System.Windows.Forms.Label + Friend WithEvents AuthClearButton As System.Windows.Forms.Button + Friend WithEvents AuthBasicRadio As System.Windows.Forms.RadioButton + Friend WithEvents AuthOAuthRadio As System.Windows.Forms.RadioButton + Friend WithEvents Label6 As System.Windows.Forms.Label + Friend WithEvents TwitterSearchAPIText As System.Windows.Forms.TextBox + Friend WithEvents Label31 As System.Windows.Forms.Label + Friend WithEvents TwitterAPIText As System.Windows.Forms.TextBox + Friend WithEvents Label8 As System.Windows.Forms.Label + Friend WithEvents Label33 As System.Windows.Forms.Label + Friend WithEvents ListsPeriod As System.Windows.Forms.TextBox + Friend WithEvents Label35 As System.Windows.Forms.Label + Friend WithEvents CheckPreviewEnable As System.Windows.Forms.CheckBox + Friend WithEvents LabelApiUsing As System.Windows.Forms.Label + Friend WithEvents LabelPostAndGet As System.Windows.Forms.Label + Friend WithEvents ButtonApiCalc As System.Windows.Forms.Button + Friend WithEvents GroupBox3 As System.Windows.Forms.GroupBox + Friend WithEvents HotkeyText As System.Windows.Forms.TextBox + Friend WithEvents HotkeyWin As System.Windows.Forms.CheckBox + Friend WithEvents HotkeyAlt As System.Windows.Forms.CheckBox + Friend WithEvents HotkeyShift As System.Windows.Forms.CheckBox + Friend WithEvents HotkeyCtrl As System.Windows.Forms.CheckBox + Friend WithEvents HotkeyCheck As System.Windows.Forms.CheckBox + Friend WithEvents HotkeyCode As System.Windows.Forms.Label + Friend WithEvents Label43 As System.Windows.Forms.Label + Friend WithEvents ChkNewMentionsBlink As System.Windows.Forms.CheckBox + Friend WithEvents UseChangeGetCount As System.Windows.Forms.CheckBox + Friend WithEvents GetMoreTextCountApi As System.Windows.Forms.TextBox + Friend WithEvents Label53 As System.Windows.Forms.Label + Friend WithEvents FirstTextCountApi As System.Windows.Forms.TextBox + Friend WithEvents CheckEnableBasicAuth As System.Windows.Forms.CheckBox + Friend WithEvents SearchTextCountApi As System.Windows.Forms.TextBox + Friend WithEvents Label66 As System.Windows.Forms.Label + Friend WithEvents FavoritesTextCountApi As System.Windows.Forms.TextBox + Friend WithEvents CheckRetweetNoConfirm As System.Windows.Forms.CheckBox + Friend WithEvents Label42 As System.Windows.Forms.Label +End Class Added: branches/UserStream/Tween/Setting.en.resx =================================================================== --- branches/UserStream/Tween/Setting.en.resx (rev 0) +++ branches/UserStream/Tween/Setting.en.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,984 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 56, 12 + + + Username + + + 54, 12 + + + Password + + + Cancel + + + 170, 12 + + + Timeline Fetching Interval (sec.) + + + 144, 12 + + + DM Fetching Interval (sec.) + + + 135, 12 + + + First-time Reading Posts + + + 81, 16 + + + Make Read + + + 162, 12 + + + Icon size in List (16 in default) + + + 38, 12 + + + Footer + + + 58, 16 + + + Enable + + + 42, 12 + + + Sounds + + + Sounds will play when you enable this option and set sound file for each tabs. + + + 58, 16 + + + Enable + + + 145, 12 + + + Colorize One-way following + + + Fore... + + + 96, 22 + + + Back to Default + + + Fore... + + + 119, 12 + + + Details of Tweet(Link) + + + Font... + + + 97, 12 + + + Font of input field + + + Back... + + + 169, 12 + + + Backcolor of focused input field + + + Font&&Fore... + + + 76, 12 + + + Unread Tweet + + + Back... + + + 78, 12 + + + Replied Tweet + + + Back... + + + 110, 12 + + + Backcolor of Details + + + Back... + + + 90, 12 + + + Backcolor of list + + + Back... + + + 114, 12 + + + Replied User's Tweet + + + Back... + + + 137, 12 + + + Replies for Selected User + + + Back... + + + 120, 12 + + + Selected User's Tweet + + + Back... + + + 84, 12 + + + Replies for You + + + Back... + + + 89, 12 + + + Your Own Tweet + + + Font&&Fore... + + + 90, 12 + + + Details of Tweet + + + Fore... + + + 100, 12 + + + One-way following + + + Fore... + + + 53, 12 + + + Favorited + + + Font&&Fore... + + + 94, 12 + + + Font of tweet list + + + Font && Color + + + None + + + User ID + + + Nickname + + + 103, 12 + + + Username in popup + + + 188, 16 + + + Use Recommended [TWNvNNN] + + + 105, 12 + + + Date Format in List + + + 58, 16 + + + Enable + + + 139, 12 + + + Show Icon in Details Pane + + + 152, 16 + + + Enable (instead of Enter) + + + 117, 12 + + + Tweet with Ctrl-Enter + + + None + + + 89, 12 + + + Manage Reading + + + 58, 16 + + + Enable + + + 136, 12 + + + Make Read when updated + + + 58, 16 + + + Enable + + + 136, 12 + + + Exit when Closed Window + + + 58, 16 + + + Enable + + + 118, 12 + + + Iconize when Minimize + + + 58, 16 + + + Enable + + + 88, 12 + + + Path to Browser + + + 58, 16 + + + Enable + + + 141, 12 + + + Show Username in Popups + + + 65, 12 + + + Title format + + + None + + + Program Version + + + Latest your post + + + unread @reply items + + + unread items + + + unread items(unread @reply items) + + + unread items/all items + + + Count of Status/Follow/Follower + + + 115, 12 + + + Apply after restarting + + + Recalculation + + + 358, 12 + + + Because "Post && fetch" is enabled, the API for each post consumed. + + + 150, 12 + + + Lists Fetching Interval (sec) + + + 70, 12 + + + Auth method + + + Clear + + + 65, 12 + + + Auth status + + + Auth + + + 149, 12 + + + Public Search Interval (sec.) + + + 156, 12 + + + Reply Fetching Interval (sec.) + + + 88, 16 + + + Post && fetch + + + 226, 12 + + + Getting number of tweets/mentions in API + + + 131, 12 + + + Get User List in Starting + + + 58, 16 + + + Enable + + + 158, 12 + + + Check for Updates in Starting + + + 58, 16 + + + Enable + + + 150, 16 + + + Enable Auto-Adjustment + + + 106, 12 + + + Get favs in Starting + + + 58, 16 + + + Enable + + + Basic + + + 58, 16 + + + Enable + + + Hotkey + + + 11, 439 + + + 142, 12 + + + Use Input #tag supplement + + + 173, 438 + + + 58, 16 + + + Enable + + + 11, 421 + + + 139, 12 + + + Use Input @ID supplement + + + 173, 420 + + + 58, 16 + + + Enable + + + 149, 12 + + + Primary URLshorten service + + + 160, 16 + + + Execlude protected tweets + + + 144, 12 + + + Clipboard copy or ReTweet + + + 58, 16 + + + Enable + + + 103, 12 + + + Auto shorten URLs + + + + False + + + + NoControl + + + 382, 28 + + + Refetch tweets and verify whether marked favorites. This option causes traffic incleasement. + + + 138, 12 + + + Marking Favorites Strictly + + + 58, 16 + + + Enable + + + 58, 16 + + + Enable + + + 136, 12 + + + Resolve Shortening URLs + + + Open... + + + Behavior + + + 124, 12 + + + Disp Picture Thumbnail + + + 58, 16 + + + Enable + + + 58, 16 + + + Enable + + + 81, 12 + + + Always on Top + + + 101, 12 + + + Lock Sorting Order + + + 58, 16 + + + Enable + + + 57, 12 + + + Show Grid + + + 51, 16 + + + Show + + + 150, 12 + + + Font in Detail Pane鐚?or AA鐚?/value> + + + 81, 16 + + + Monospace + + + 81, 12 + + + Read own post + + + 58, 16 + + + Enable + + + Don't notify + + + Change icon + + + Change icon&blink + + + 188, 12 + + + Tasktray icon with unread mentions + + + 130, 12 + + + Blink with new mentions + + + 90, 12 + + + Show icon in tab + + + 58, 16 + + + Enable + + + 51, 16 + + + Show + + + 148, 12 + + + Limit the condition of popup + + + 193, 16 + + + only at the minimization and icon + + + 162, 12 + + + Unread styles(Font&&Forecolor) + + + 58, 16 + + + Enable + + + View + + + Fonts & Colors + + + 130, 16 + + + Use HTTPS Protocol + + + 371, 12 + + + ??djust Connection timeout if the error of timeout happens frequently. + + + 130, 12 + + + Connection timeout(sec) + + + 320, 12 + + + Keep credential empty if the proxy server don't need to log in + + + 54, 12 + + + Pass&word + + + 56, 12 + + + &Username + + + 26, 12 + + + &Port + + + 62, 12 + + + Pro&xy Host + + + 80, 16 + + + Use Below: + + + 200, 16 + + + Refer Settings of Internet Explorer + + + 73, 16 + + + Don't Use + + + Proxy Server + + + Connection + + + 196, 16 + + + Shorten nicovideo urls by nico.ms + + + 107, 12 + + + URI of your Outputz + + + 86, 12 + + + Your secret key + + + 87, 16 + + + Use Outputz + + + Settings + + + BASIC茯?┝?吾?紊????┗?????/value> + + + ????若??????????????/value> + + + 罨<????????井??????違??????┃絎????/value> + + + Favorites/PublicSearch??????/value> + + \ No newline at end of file Added: branches/UserStream/Tween/Setting.resx =================================================================== --- branches/UserStream/Tween/Setting.resx (rev 0) +++ branches/UserStream/Tween/Setting.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,6324 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + True + + + + 14, 76 + + + 57, 12 + + + 7 + + + ????吟???/value> + + + Label1 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage1 + + + 26 + + + True + + + 14, 97 + + + 52, 12 + + + 9 + + + ????????/value> + + + Label2 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage1 + + + 27 + + + 105, 73 + + + 186, 19 + + + 8 + + + Username + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage1 + + + 28 + + + 105, 94 + + + 186, 19 + + + 10 + + + Password + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage1 + + + 29 + + + 259, 518 + + + 75, 23 + + + 1 + + + OK + + + Save + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 2 + + + 340, 518 + + + 75, 23 + + + 2 + + + ????潟???/value> + + + Cancel + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + + + True + + + 14, 134 + + + 130, 12 + + + 12 + + + ?帥?????ゃ??贋????鐚??鐚?/value> + + + Label3 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage1 + + + 30 + + + 247, 131 + + + 65, 19 + + + 13 + + + TimelinePeriod + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage1 + + + 31 + + + 247, 201 + + + 65, 19 + + + 19 + + + DMPeriod + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage1 + + + 33 + + + True + + + 14, 204 + + + 94, 12 + + + 18 + + + DM?贋????鐚??鐚?/value> + + + Label5 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage1 + + + 32 + + + True + + + 14, 348 + + + 114, 12 + + + 27 + + + 莎桁?????粋昭?帥??鴻? + + + Label9 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage1 + + + 34 + + + True + + + 247, 347 + + + 76, 16 + + + 28 + + + ?∵??????/value> + + + StartupReaded + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage1 + + + 35 + + + True + + + 6, 143 + + + 163, 12 + + + 12 + + + ???????≪??潟??泣??削??????6鐚?/value> + + + Label11 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 36 + + + True + + + 11, 310 + + + 107, 12 + + + 28 + + + ????帥?鐚?????篁??鐚?/value> + + + Label12 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 36 + + + 173, 332 + + + 100, 19 + + + 30 + + + StatusText + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 37 + + + True + + + 173, 6 + + + 67, 16 + + + 1 + + + ?????? + + + PlaySnd + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 21 + + + True + + + 11, 7 + + + 66, 12 + + + 0 + + + ?泣??潟???? + + + Label14 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 22 + + + 11, 25 + + + 276, 30 + + + 2 + + + ?帥??????????荐?????筝???????????????吾?????????????????障???/value> + + + Label15 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 23 + + + True + + + 197, 244 + + + 43, 16 + + + 23 + + + ??? + + + OneWayLv + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 38 + + + True + + + 6, 245 + + + 97, 12 + + + 22 + + + ?????????茵?ず + + + Label16 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 37 + + + True + + + + NoControl + + + 306, 118 + + + 75, 22 + + + 14 + + + ?????/value> + + + btnRetweet + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 0 + + + NoControl + + + 185, 120 + + + 104, 19 + + + 13 + + + This is sample. + + + MiddleLeft + + + lblRetweet + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 1 + + + True + + + NoControl + + + 9, 123 + + + 50, 12 + + + 12 + + + ReTweet + + + Label80 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 2 + + + True + + + NoControl + + + 146, 440 + + + 90, 22 + + + 51 + + + ??????????祉? + + + ButtonBackToDefaultFontColor + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 3 + + + True + + + NoControl + + + 306, 168 + + + 75, 22 + + + 20 + + + ?????/value> + + + btnDetailLink + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 4 + + + NoControl + + + 185, 170 + + + 104, 19 + + + 19 + + + This is sample. + + + MiddleLeft + + + lblDetailLink + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 5 + + + True + + + NoControl + + + 8, 173 + + + 77, 12 + + + 18 + + + ?肴?荅括完?????/value> + + + Label18 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 6 + + + True + + + NoControl + + + 306, 418 + + + 75, 22 + + + 50 + + + ????潟?&&??/value> + + + btnInputFont + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 7 + + + NoControl + + + 185, 420 + + + 104, 19 + + + 49 + + + This is sample. + + + MiddleLeft + + + lblInputFont + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 8 + + + True + + + NoControl + + + 9, 423 + + + 74, 12 + + + 48 + + + ?ュ?罨???????/value> + + + Label65 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 9 + + + True + + + NoControl + + + 306, 393 + + + 75, 22 + + + 47 + + + ?????/value> + + + btnInputBackcolor + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 10 + + + NoControl + + + 185, 395 + + + 104, 19 + + + 46 + + + This is sample. + + + MiddleLeft + + + lblInputBackcolor + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 11 + + + True + + + NoControl + + + 9, 398 + + + 131, 12 + + + 45 + + + ?ュ?罨??????c??????? + + + Label52 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 12 + + + True + + + NoControl + + + 306, 43 + + + 75, 22 + + + 5 + + + ????潟?&&??/value> + + + btnUnread + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 13 + + + NoControl + + + 185, 45 + + + 104, 19 + + + 4 + + + This is sample. + + + MiddleLeft + + + lblUnread + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 14 + + + True + + + NoControl + + + 9, 48 + + + 62, 12 + + + 3 + + + ???????潟? + + + Label20 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 15 + + + True + + + NoControl + + + 306, 343 + + + 75, 22 + + + 41 + + + ?????/value> + + + btnAtTo + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 16 + + + 185, 345 + + + 104, 19 + + + 40 + + + This is sample. + + + MiddleLeft + + + lblAtTo + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 17 + + + True + + + 9, 348 + + + 102, 12 + + + 39 + + + ????肴??????荐?/value> + + + Label49 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 18 + + + True + + + 306, 193 + + + 75, 22 + + + 23 + + + ?????/value> + + + btnDetailBack + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 19 + + + 185, 195 + + + 104, 19 + + + 22 + + + This is sample. + + + MiddleLeft + + + lblDetailBackcolor + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 20 + + + True + + + 9, 198 + + + 89, 12 + + + 21 + + + ?肴?荅括完?????/value> + + + Label37 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 21 + + + True + + + 306, 368 + + + 75, 22 + + + 44 + + + ?????/value> + + + btnListBack + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 22 + + + 185, 370 + + + 104, 19 + + + 43 + + + This is sample. + + + MiddleLeft + + + lblListBackcolor + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 23 + + + True + + + 9, 373 + + + 53, 12 + + + 42 + + + 筝???肴? + + + Label19 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 24 + + + True + + + 306, 318 + + + 75, 22 + + + 38 + + + ?????/value> + + + btnAtFromTarget + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 25 + + + 185, 320 + + + 104, 19 + + + 37 + + + This is sample. + + + MiddleLeft + + + lblAtFromTarget + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 26 + + + True + + + 9, 323 + + + 134, 12 + + + 36 + + + ????肴??????篋冴??肴? + + + Label28 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 27 + + + True + + + 306, 293 + + + 75, 22 + + + 35 + + + ?????/value> + + + btnAtTarget + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 28 + + + 185, 295 + + + 104, 19 + + + 34 + + + This is sample. + + + MiddleLeft + + + lblAtTarget + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 29 + + + True + + + 9, 298 + + + 88, 12 + + + 33 + + + ???篋冴???菴?拭 + + + Label30 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 30 + + + True + + + 306, 268 + + + 75, 22 + + + 32 + + + ?????/value> + + + btnTarget + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 31 + + + 185, 270 + + + 104, 19 + + + 31 + + + This is sample. + + + MiddleLeft + + + lblTarget + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 32 + + + True + + + 9, 273 + + + 70, 12 + + + 30 + + + ???篋冴??肴? + + + Label32 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 33 + + + True + + + 306, 243 + + + 75, 22 + + + 29 + + + ?????/value> + + + btnAtSelf + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 34 + + + 185, 245 + + + 104, 19 + + + 28 + + + This is sample. + + + MiddleLeft + + + lblAtSelf + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 35 + + + True + + + 9, 248 + + + 81, 12 + + + 27 + + + ????吾?@菴?拭 + + + Label34 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 36 + + + True + + + 306, 218 + + + 75, 22 + + + 26 + + + ?????/value> + + + btnSelf + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 37 + + + 185, 220 + + + 104, 19 + + + 25 + + + This is sample. + + + MiddleLeft + + + lblSelf + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 38 + + + True + + + 9, 223 + + + 63, 12 + + + 24 + + + ??????荐?/value> + + + Label36 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 39 + + + True + + + 306, 143 + + + 75, 22 + + + 17 + + + ????潟?&&??/value> + + + btnDetail + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 40 + + + 185, 145 + + + 104, 19 + + + 16 + + + This is sample. + + + MiddleLeft + + + lblDetail + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 41 + + + True + + + 9, 148 + + + 77, 12 + + + 15 + + + ?肴?荅括完??? + + + Label26 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 42 + + + True + + + 306, 93 + + + 75, 22 + + + 11 + + + ?????/value> + + + btnOWL + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 43 + + + 185, 95 + + + 104, 19 + + + 10 + + + This is sample. + + + MiddleLeft + + + lblOWL + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 44 + + + True + + + 9, 98 + + + 63, 12 + + + 9 + + + ??????荐?/value> + + + Label24 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 45 + + + True + + + 306, 68 + + + 75, 22 + + + 8 + + + ?????/value> + + + btnFav + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 46 + + + 185, 70 + + + 104, 19 + + + 7 + + + This is sample. + + + MiddleLeft + + + lblFav + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 47 + + + True + + + 9, 73 + + + 48, 12 + + + 6 + + + Fav?肴? + + + Label22 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 48 + + + True + + + NoControl + + + 306, 18 + + + 75, 22 + + + 2 + + + ????潟?&&??/value> + + + btnListFont + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 49 + + + NoControl + + + 185, 20 + + + 104, 19 + + + 1 + + + This is sample. + + + MiddleLeft + + + lblListFont + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 50 + + + True + + + NoControl + + + 9, 23 + + + 62, 12 + + + 0 + + + ???????????/value> + + + Label61 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox1 + + + 51 + + + 6, 6 + + + 387, 466 + + + 0 + + + ????潟?鐚??荐?? + + + GroupBox1 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage4 + + + 0 + + + 17, 17 + + + 135, 17 + + + ??? + + + ????吟?ID + + + ???????若? + + + 197, 6 + + + 100, 20 + + + 1 + + + cmbNameBalloon + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 33 + + + True + + + 6, 9 + + + 130, 12 + + + 0 + + + ?亥?????若?????若??弱? + + + Label10 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 27 + + + True + + + 173, 310 + + + 195, 16 + + + 29 + + + ??エ????帥???戎?????TWNv???] + + + CheckUseRecommendStatus + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 38 + + + Top, Bottom, Left, Right + + + yyyy/MM/dd H:mm:ss + + + yy/M/d H:mm:ss + + + H:mm:ss yy/M/d + + + M/d H:mm:ss + + + M/d H:mm + + + H:mm:ss M/d + + + H:mm:ss + + + H:mm + + + tt h:mm + + + M/d tt h:mm:ss + + + M/d tt h:mm + + + 197, 102 + + + 170, 20 + + + 9 + + + CmbDateTimeFormat + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 30 + + + True + + + 6, 105 + + + 113, 12 + + + 8 + + + ???????ユ?????若???? + + + Label23 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 32 + + + True + + + False + + + 197, 200 + + + 67, 16 + + + 19 + + + 茵?ず??? + + + CheckBox3 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 41 + + + True + + + False + + + 6, 201 + + + 134, 12 + + + 18 + + + ?肴?荅括完????≪??潟?茵?ず + + + Label25 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 39 + + + True + + + 173, 238 + + + 104, 16 + + + 22 + + + Ctrl+Enter?????/value> + + + CheckPostCtrlEnter + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 34 + + + True + + + 11, 239 + + + 137, 12 + + + 21 + + + POST???鐚????????Enter鐚?/value> + + + Label27 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 32 + + + False + + + 197, 141 + + + 34, 19 + + + 13 + + + TextBox3 + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 42 + + + none + + + 16*16 + + + 24*24 + + + 48*48 + + + 48*48(2Column) + + + 233, 140 + + + 134, 20 + + + 14 + + + IconSize + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 40 + + + True + + + 11, 59 + + + 53, 12 + + + 3 + + + ???膊∞? + + + Label38 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 24 + + + True + + + 173, 58 + + + 43, 16 + + + 4 + + + ??? + + + UReadMng + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 26 + + + True + + + 11, 81 + + + 89, 12 + + + 5 + + + ?亥????茯????? + + + Label39 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 33 + + + True + + + 173, 80 + + + 43, 16 + + + 6 + + + ??? + + + CheckReadOldPosts + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 35 + + + True + + + 11, 103 + + + 100, 12 + + + 7 + + + ?????潟??若??????/value> + + + Label40 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 29 + + + True + + + 173, 102 + + + 67, 16 + + + 8 + + + 腟????? + + + CheckCloseToExit + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 28 + + + True + + + 11, 125 + + + 76, 12 + + + 9 + + + ???????????/value> + + + Label41 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 31 + + + True + + + 173, 124 + + + 90, 16 + + + 10 + + + ?≪??潟??????/value> + + + CheckMinimizeToTray + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 30 + + + 173, 283 + + + 112, 19 + + + 26 + + + BrowserPathText + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 25 + + + True + + + 11, 286 + + + 60, 12 + + + 25 + + + ????????? + + + Label44 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 27 + + + True + + + 197, 32 + + + 109, 16 + + + 3 + + + ????吟????茵?ず + + + CheckDispUsername + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 35 + + + True + + + 6, 33 + + + 122, 12 + + + 2 + + + ?帥???????????若??????/value> + + + Label46 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 34 + + + True + + + 6, 79 + + + 60, 12 + + + 6 + + + ?帥??????? + + + Label45 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 31 + + + 鐚????? + + + ????吾???/value> + + + ????肴? + + + 鐚??茯?? + + + ?????/value> + + + ?????@????? + + + ???茯????荐?? + + + ?肴??????????????????惹? + + + 197, 76 + + + 170, 20 + + + 7 + + + ComboDispTitle + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 28 + + + True + + + 195, 163 + + + 131, 12 + + + 15 + + + ??儀??????????????? + + + Label47 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 29 + + + 133, 310 + + + 132, 23 + + + 26 + + + ???膊?/value> + + + ButtonApiCalc + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage1 + + + 0 + + + True + + + 29, 295 + + + 285, 12 + + + 25 + + + ??┸????????鴻???????腮帥??????PI???莢祉??障???/value> + + + LabelPostAndGet + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage1 + + + 1 + + + True + + + 31, 277 + + + 23, 12 + + + 24 + + + 999 + + + MiddleRight + + + LabelApiUsing + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage1 + + + 2 + + + True + + + NoControl + + + 14, 254 + + + 102, 12 + + + 22 + + + Lists?贋????鐚??鐚?/value> + + + Label33 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage1 + + + 3 + + + 247, 251 + + + 65, 19 + + + 23 + + + ListsPeriod + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage1 + + + 4 + + + True + + + False + + + NoControl + + + 219, 7 + + + 57, 16 + + + 2 + + + BASIC + + + AuthBasicRadio + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage1 + + + 5 + + + True + + + 105, 7 + + + 93, 16 + + + 1 + + + OAuth(xAuth) + + + AuthOAuthRadio + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage1 + + + 6 + + + True + + + NoControl + + + 14, 9 + + + 53, 12 + + + 0 + + + 茯?┝?号? + + + Label6 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage1 + + + 7 + + + NoControl + + + 296, 41 + + + 75, 23 + + + 6 + + + ?????/value> + + + AuthClearButton + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage1 + + + 8 + + + NoControl + + + 104, 45 + + + 149, 14 + + + 5 + + + 茯?┝羝?? + + + AuthUserLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage1 + + + 9 + + + NoControl + + + 104, 31 + + + 112, 14 + + + 4 + + + Not Authenticated + + + AuthStateLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage1 + + + 10 + + + True + + + NoControl + + + 14, 31 + + + 53, 12 + + + 3 + + + 茯?┝?倶? + + + Label4 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage1 + + + 11 + + + 297, 90 + + + 75, 23 + + + 11 + + + 茯?┝??? + + + AuthorizeButton + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage1 + + + 12 + + + 297, 434 + + + 44, 19 + + + 37 + + + TextCountApiReply + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage1 + + + 13 + + + True + + + NoControl + + + 14, 229 + + + 137, 12 + + + 20 + + + Twitter罎?刈?贋????鐚??鐚?/value> + + + Label7 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage1 + + + 14 + + + 247, 226 + + + 65, 19 + + + 21 + + + PubSearchPeriod + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage1 + + + 15 + + + True + + + NoControl + + + 14, 179 + + + 123, 12 + + + 16 + + + Mentions?贋????鐚??鐚?/value> + + + Label69 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage1 + + + 16 + + + 247, 176 + + + 65, 19 + + + 17 + + + ReplyPeriod + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage1 + + + 17 + + + True + + + NoControl + + + 24, 154 + + + 84, 16 + + + 14 + + + ??┸???? + + + CheckPostAndGet + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage1 + + + 18 + + + True + + + NoControl + + + 14, 437 + + + 177, 12 + + + 35 + + + 罔?????篁倶?/Mentions???篁倶? + + + Label67 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage1 + + + 19 + + + 247, 434 + + + 44, 19 + + + 36 + + + TextCountApi + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage1 + + + 20 + + + True + + + 14, 391 + + + 163, 12 + + + 31 + + + 莎桁???????????吟???????? + + + Label54 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage1 + + + 21 + + + True + + + 247, 390 + + + 67, 16 + + + 32 + + + ?????? + + + CheckStartupFollowers + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage1 + + + 22 + + + True + + + 14, 369 + + + 117, 12 + + + 29 + + + 莎桁?????若??с??????? + + + Label51 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage1 + + + 23 + + + True + + + 247, 368 + + + 74, 16 + + + 30 + + + ????????? + + + CheckStartupVersion + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage1 + + + 24 + + + True + + + 241, 154 + + + 91, 16 + + + 15 + + + ???茯炊???? + + + False + + + CheckPeriodAdjust + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage1 + + + 25 + + + True + + + NoControl + + + 14, 413 + + + 84, 12 + + + 33 + + + 莎桁???av??? + + + Label74 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage1 + + + 36 + + + True + + + NoControl + + + 247, 412 + + + 67, 16 + + + 34 + + + ?????? + + + chkGetFav + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage1 + + + 37 + + + 4, 22 + + + 3, 3, 3, 3 + + + 399, 474 + + + 0 + + + ?堺? + + + TabPage1 + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabControl1 + + + 0 + + + True + + + 173, 259 + + + 92, 16 + + + 40 + + + RT腆肴??????/value> + + + CheckRetweetNoConfirm + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 0 + + + True + + + 11, 260 + + + 44, 12 + + + 39 + + + ???RT + + + Label42 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 1 + + + True + + + NoControl + + + 4, 15 + + + 48, 16 + + + 0 + + + ??? + + + HotkeyCheck + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox3 + + + 0 + + + True + + + 340, 16 + + + 13, 14 + + + 6 + + + 0 + + + HotkeyCode + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox3 + + + 1 + + + Disable + + + 257, 13 + + + 77, 19 + + + 5 + + + HotkeyText + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox3 + + + 2 + + + True + + + NoControl + + + 211, 15 + + + 42, 16 + + + 4 + + + Win + + + HotkeyWin + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox3 + + + 3 + + + True + + + NoControl + + + 168, 15 + + + 39, 16 + + + 3 + + + Alt + + + HotkeyAlt + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox3 + + + 4 + + + True + + + NoControl + + + 116, 15 + + + 48, 16 + + + 2 + + + Shift + + + HotkeyShift + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox3 + + + 5 + + + True + + + 69, 15 + + + 43, 16 + + + 1 + + + Ctrl + + + HotkeyCtrl + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox3 + + + 6 + + + 6, 435 + + + 390, 39 + + + 38 + + + ????????/value> + + + GroupBox3 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 2 + + + True + + + NoControl + + + 11, 414 + + + 76, 12 + + + 36 + + + #?帥??ュ?茖?? + + + Label82 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 3 + + + True + + + NoControl + + + 173, 413 + + + 67, 16 + + + 37 + + + 篏睡???? + + + CheckHashSupple + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 4 + + + True + + + NoControl + + + 11, 392 + + + 72, 12 + + + 34 + + + @ID?ュ?茖?? + + + Label79 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 5 + + + True + + + NoControl + + + 173, 391 + + + 67, 16 + + + 35 + + + 篏睡???? + + + CheckAtIdSupple + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 6 + + + 318, 213 + + + 70, 19 + + + 20 + + + TextBitlyPw + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 7 + + + True + + + 270, 216 + + + 42, 12 + + + 19 + + + APIKey + + + Label77 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 8 + + + 194, 213 + + + 70, 19 + + + 18 + + + TextBitlyId + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 9 + + + True + + + 171, 216 + + + 16, 12 + + + 17 + + + ID + + + Label76 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 10 + + + tinyurl + + + is.gd + + + twurl.nl + + + bit.ly + + + j.mp + + + 173, 190 + + + 114, 20 + + + 16 + + + ComboBoxAutoShortUrlFirst + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 11 + + + True + + + NoControl + + + 11, 193 + + + 154, 12 + + + 15 + + + URL?????軒?у??????戎??/value> + + + Label71 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 12 + + + True + + + NoControl + + + 173, 168 + + + 91, 16 + + + 14 + + + ?????軒??? + + + CheckAutoConvertUrl + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 13 + + + True + + + NoControl + + + 11, 169 + + + 121, 12 + + + 13 + + + ?ュ?罨?RL??????膰?/value> + + + Label29 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 14 + + + True + + + 11, 376 + + + 340, 12 + + + 33 + + + ?肴??????????Fav腟?????荐若??障????篆♂??????????Off??エ + + + Label57 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 15 + + + True + + + 11, 358 + + + 103, 12 + + + 31 + + + Fav腟???喝??????? + + + Label56 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 16 + + + True + + + 173, 357 + + + 74, 16 + + + 32 + + + ????????? + + + CheckFavRestrict + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 17 + + + True + + + 173, 146 + + + 67, 16 + + + 12 + + + 茹f浦??? + + + CheckTinyURL + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 18 + + + True + + + 11, 147 + + + 84, 12 + + + 11 + + + ??軒URL??В羆?/value> + + + Label50 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 19 + + + 301, 281 + + + 65, 23 + + + 27 + + + ??? + + + Button3 + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage2 + + + 20 + + + 4, 22 + + + 3, 3, 3, 3 + + + 399, 474 + + + 1 + + + ??? + + + TabPage2 + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabControl1 + + + 1 + + + True + + + NoControl + + + 6, 179 + + + 126, 12 + + + 16 + + + ?糸???????????ゃ?茵?ず + + + Label35 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 0 + + + True + + + NoControl + + + 197, 178 + + + 67, 16 + + + 17 + + + 篏睡???? + + + CheckPreviewEnable + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 1 + + + True + + + NoControl + + + 76, 451 + + + 115, 12 + + + 41 + + + Apply after restarting + + + Label81 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 2 + + + OS Default + + + Japanese + + + English + + + Simplified Chinese + + + 197, 448 + + + 121, 20 + + + 42 + + + LanguageCombo + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 3 + + + True + + + NoControl + + + 6, 451 + + + 53, 12 + + + 40 + + + Language + + + Label13 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 4 + + + True + + + NoControl + + + 197, 426 + + + 112, 16 + + + 39 + + + ????≪?茵?ず??? + + + CheckAlwaysTop + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 5 + + + True + + + NoControl + + + 6, 427 + + + 86, 12 + + + 38 + + + 絽吾?????∵;腓?/value> + + + Label58 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 6 + + + True + + + NoControl + + + 6, 405 + + + 44, 12 + + + 36 + + + ?純???? + + + Label21 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 7 + + + True + + + NoControl + + + 197, 404 + + + 67, 16 + + + 37 + + + ????????/value> + + + CheckSortOrderLock + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 8 + + + True + + + NoControl + + + 6, 383 + + + 73, 12 + + + 34 + + + ?????????膩?/value> + + + Label78 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 9 + + + True + + + NoControl + + + 197, 382 + + + 67, 16 + + + 35 + + + 茵?ず??? + + + CheckShowGrid + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 10 + + + True + + + NoControl + + + 6, 223 + + + 162, 12 + + + 20 + + + ?肴?荅括完茵?ず????潟?鐚?A絲上?鐚?/value> + + + Label75 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 11 + + + True + + + NoControl + + + 197, 222 + + + 171, 16 + + + 21 + + + 膈??鐚????????????桁????鐚?/value> + + + CheckMonospace + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 12 + + + True + + + NoControl + + + 6, 361 + + + 87, 12 + + + 32 + + + ???荐???∵???/value> + + + Label73 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 13 + + + True + + + NoControl + + + 197, 360 + + + 76, 16 + + + 33 + + + ?∵??????/value> + + + chkReadOwnPost + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 14 + + + ?????? + + + ?≪??潟?紊?? + + + ?≪??潟?紊??鐚??羯?/value> + + + 197, 310 + + + 121, 20 + + + 29 + + + ReplyIconStateCombo + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 15 + + + True + + + NoControl + + + 6, 313 + + + 134, 12 + + + 28 + + + ???Mentions????≪??潟? + + + Label72 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 16 + + + True + + + NoControl + + + 6, 337 + + + 135, 12 + + + 30 + + + ?亥?Mentions????∝?羯?/value> + + + Label43 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 17 + + + True + + + NoControl + + + 6, 289 + + + 115, 12 + + + 26 + + + ?帥????茯???ゃ??活;腓?/value> + + + Label48 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 18 + + + True + + + NoControl + + + 197, 336 + + + 67, 16 + + + 31 + + + ?号???? + + + ChkNewMentionsBlink + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 19 + + + True + + + NoControl + + + 197, 288 + + + 67, 16 + + + 27 + + + 茵?ず??? + + + chkTabIconDisp + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 20 + + + True + + + NoControl + + + 6, 55 + + + 92, 12 + + + 4 + + + ????若?茵?ず?狗? + + + Label68 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 21 + + + True + + + NoControl + + + 197, 54 + + + 182, 16 + + + 5 + + + ?脂????????≪??潟?????粋;腓?/value> + + + CheckBalloonLimit + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 22 + + + True + + + 245, 125 + + + 44, 12 + + + 11 + + + Label63 + + + LabelDateTimeFormatApplied + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 23 + + + True + + + 195, 125 + + + 44, 12 + + + 10 + + + Sample: + + + Label62 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 24 + + + True + + + NoControl + + + 6, 267 + + + 158, 12 + + + 24 + + + ????鴻??ゃ?鐚?????????駕???? + + + Label17 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 25 + + + True + + + NoControl + + + 197, 266 + + + 67, 16 + + + 25 + + + ?????? + + + chkUnreadStyle + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 26 + + + 4, 22 + + + 3, 3, 3, 3 + + + 399, 474 + + + 2 + + + 茵?ず + + + TabPage3 + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabControl1 + + + 2 + + + 4, 22 + + + 3, 3, 3, 3 + + + 399, 474 + + + 3 + + + ????潟?鐚?? + + + TabPage4 + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabControl1 + + + 3 + + + True + + + 13, 322 + + + 178, 16 + + + 9 + + + BASIC茯?┝?吾?紊????┗?????/value> + + + CheckEnableBasicAuth + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage5 + + + 0 + + + 252, 293 + + + 125, 19 + + + 8 + + + search.twitter.com + + + TwitterSearchAPIText + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage5 + + + 1 + + + True + + + NoControl + + + 11, 296 + + + 228, 12 + + + 7 + + + Twitter SearchAPI URL (search.twitter.com) + + + Label31 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage5 + + + 2 + + + 252, 268 + + + 125, 19 + + + 6 + + + api.twitter.com + + + TwitterAPIText + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage5 + + + 3 + + + True + + + NoControl + + + 11, 271 + + + 174, 12 + + + 5 + + + Twitter API URL (api.twitter.com) + + + Label8 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage5 + + + 4 + + + True + + + 13, 246 + + + 145, 16 + + + 4 + + + ??拭??TTPS??戎?????/value> + + + CheckUseSsl + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage5 + + + 5 + + + True + + + NoControl + + + 11, 219 + + + 349, 12 + + + 3 + + + ?祉??ゃ??≪?????紫?????翫?????眼?????????????荐????0腱????? + + + Label64 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage5 + + + 6 + + + 234, 186 + + + 100, 19 + + + 2 + + + ConnectionTimeOut + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage5 + + + 7 + + + True + + + 64, 189 + + + 131, 12 + + + 1 + + + ?帥????????障??????腱? + + + Label63 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage5 + + + 8 + + + True + + + 28, 134 + + + 314, 12 + + + 11 + + + ?肢?荐若?筝????????????若?????????????腥冴??????????? + + + Label55 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox2 + + + 0 + + + 274, 103 + + + 96, 19 + + + 10 + + + TextProxyPassword + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox2 + + + 1 + + + True + + + 205, 106 + + + 69, 12 + + + 9 + + + ????????&W) + + + LabelProxyPassword + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox2 + + + 2 + + + 131, 103 + + + 68, 19 + + + 8 + + + TextProxyUser + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox2 + + + 3 + + + True + + + 62, 106 + + + 63, 12 + + + 7 + + + ????九?(&U) + + + LabelProxyUser + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox2 + + + 4 + + + 297, 78 + + + 73, 19 + + + 6 + + + TextProxyPort + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox2 + + + 5 + + + True + + + 243, 81 + + + 48, 12 + + + 5 + + + ?????&P) + + + LabelProxyPort + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox2 + + + 6 + + + 102, 78 + + + 135, 19 + + + 4 + + + TextProxyAddress + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox2 + + + 7 + + + True + + + 38, 81 + + + 58, 12 + + + 3 + + + ??????(&X) + + + LabelProxyAddress + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox2 + + + 8 + + + True + + + 6, 62 + + + 66, 16 + + + 2 + + + ?????? + + + RadioProxySpecified + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox2 + + + 9 + + + True + + + 6, 40 + + + 190, 16 + + + 1 + + + InternetExplorer??┃絎??篏睡???? + + + RadioProxyIE + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox2 + + + 10 + + + True + + + 6, 18 + + + 76, 16 + + + 0 + + + 篏睡??????/value> + + + RadioProxyNone + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox2 + + + 11 + + + 7, 7 + + + 386, 161 + + + 0 + + + ????????┃絎?/value> + + + GroupBox2 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage5 + + + 9 + + + 4, 22 + + + 3, 3, 3, 3 + + + 399, 474 + + + 4 + + + ??拭 + + + TabPage5 + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabControl1 + + + 4 + + + 267, 233 + + + 50, 19 + + + 13 + + + FavoritesTextCountApi + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage6 + + + 0 + + + 324, 234 + + + 58, 19 + + + 12 + + + SearchTextCountApi + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage6 + + + 1 + + + True + + + 13, 234 + + + 171, 12 + + + 11 + + + Favorites/PublicSearch??????/value> + + + Label66 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage6 + + + 2 + + + 324, 209 + + + 58, 19 + + + 10 + + + FirstTextCountApi + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage6 + + + 3 + + + 266, 209 + + + 52, 19 + + + 9 + + + GetMoreTextCountApi + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage6 + + + 4 + + + True + + + 13, 212 + + + 143, 12 + + + 7 + + + ????若??????????????/value> + + + Label53 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage6 + + + 5 + + + True + + + 15, 183 + + + 247, 16 + + + 6 + + + 罨<????????井??????違??????┃絎????/value> + + + UseChangeGetCount + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage6 + + + 6 + + + True + + + NoControl + + + 15, 161 + + + 237, 16 + + + 5 + + + ???????????RL??ico.ms?х?膰?????篆?/value> + + + CheckNicoms + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage6 + + + 7 + + + True + + + 28, 111 + + + 99, 12 + + + 3 + + + ?≪??????????URL + + + Label60 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage6 + + + 8 + + + twitter.com + + + twitter.com/username + + + 197, 108 + + + 168, 20 + + + 4 + + + ComboBoxOutputzUrlmode + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage6 + + + 9 + + + True + + + 28, 65 + + + 63, 12 + + + 1 + + + 緇?柑?????/value> + + + Label59 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage6 + + + 10 + + + 197, 62 + + + 168, 19 + + + 2 + + + TextBoxOutputzKey + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage6 + + + 11 + + + True + + + 15, 28 + + + 115, 16 + + + 0 + + + Outputz???綽????/value> + + + CheckOutputz + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage6 + + + 12 + + + 4, 22 + + + 399, 474 + + + 5 + + + Additional + + + TabPage6 + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabControl1 + + + 5 + + + 12, 12 + + + 407, 500 + + + 0 + + + TabControl1 + + + System.Windows.Forms.TabControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + + + True + + + 40 + + + 6, 12 + + + 431, 553 + + + CenterParent + + + 荐?? + + + FontDialog1 + + + System.Windows.Forms.FontDialog, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ColorDialog1 + + + System.Windows.Forms.ColorDialog, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Setting + + + System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file Added: branches/UserStream/Tween/Setting.vb =================================================================== --- branches/UserStream/Tween/Setting.vb (rev 0) +++ branches/UserStream/Tween/Setting.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,2122 @@ +鏤?mports System.ComponentModel +Imports System.Threading + +' Tween - Client of Twitter +' Copyright (c) 2007-2010 kiri_feather (@kiri_feather) +' (c) 2008-2010 Moz (@syo68k) +' (c) 2008-2010 takeshik (@takeshik) +' All rights reserved. +' +' This file is part of Tween. +' +' This program is free software; you can redistribute it and/or modify it +' under the terms of the GNU General Public License as published by the Free +' Software Foundation; either version 3 of the License, or (at your option) +' any later version. +' +' This program is distributed in the hope that it will be useful, but +' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +' for more details. +' +' You should have received a copy of the GNU General Public License along +' with this program. If not, see , or write to +' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, +' Boston, MA 02110-1301, USA. + +Public Class Setting + Private Shared _instance As New Setting + Private tw As Twitter + 'Private _MyuserID As String + 'Private _Mypassword As String + Private _MytimelinePeriod As Integer + Private _MyDMPeriod As Integer + Private _MyPubSearchPeriod As Integer + Private _MyListsPeriod As Integer + Private _MyLogDays As Integer + Private _MyLogUnit As LogUnitEnum + Private _MyReaded As Boolean + Private _MyIconSize As IconSizes + Private _MyStatusText As String + Private _MyRecommendStatusText As String + Private _MyUnreadManage As Boolean + Private _MyPlaySound As Boolean + Private _MyOneWayLove As Boolean + Private _fntUnread As Font + Private _clUnread As Color + Private _fntReaded As Font + Private _clReaded As Color + Private _clFav As Color + Private _clOWL As Color + Private _clRetweet As Color + Private _fntDetail As Font + Private _clSelf As Color + Private _clAtSelf As Color + Private _clTarget As Color + Private _clAtTarget As Color + Private _clAtFromTarget As Color + Private _clAtTo As Color + Private _clInputBackcolor As Color + Private _clInputFont As Color + Private _fntInputFont As Font + Private _clListBackcolor As Color + Private _clDetailBackcolor As Color + Private _clDetail As Color + Private _clDetailLink As Color + Private _MyNameBalloon As NameBalloonEnum + Private _MyPostCtrlEnter As Boolean + Private _usePostMethod As Boolean + Private _countApi As Integer + Private _countApiReply As Integer + Private _browserpath As String + 'Private _MyCheckReply As Boolean + Private _MyUseRecommendStatus As Boolean + Private _MyDispUsername As Boolean + Private _MyDispLatestPost As DispTitleEnum + Private _MySortOrderLock As Boolean + Private _MyMinimizeToTray As Boolean + Private _MyCloseToExit As Boolean + Private _MyTinyUrlResolve As Boolean + Private _MyProxyType As HttpConnection.ProxyType + Private _MyProxyAddress As String + Private _MyProxyPort As Integer + Private _MyProxyUser As String + Private _MyProxyPassword As String + Private _MyMaxPostNum As Integer + Private _MyPeriodAdjust As Boolean + Private _MyStartupVersion As Boolean + Private _MyStartupFollowers As Boolean + Private _MyRestrictFavCheck As Boolean + Private _MyAlwaysTop As Boolean + Private _MyUrlConvertAuto As Boolean + Private _MyOutputz As Boolean + Private _MyOutputzKey As String + Private _MyOutputzUrlmode As OutputzUrlmode + Private _MyNicoms As Boolean + Private _MyUnreadStyle As Boolean + Private _MyDateTimeFormat As String + Private _MyDefaultTimeOut As Integer + 'Private _MyProtectNotInclude As Boolean + Private _MyLimitBalloon As Boolean + Private _MyPostAndGet As Boolean + Private _MyReplyPeriod As Integer + Private _MyAutoShortUrlFirst As UrlConverter + Private _MyTabIconDisp As Boolean + Private _MyReplyIconState As REPLY_ICONSTATE + Private _MyReadOwnPost As Boolean + Private _MyGetFav As Boolean + Private _MyMonoSpace As Boolean + Private _MyReadOldPosts As Boolean + Private _MyUseSsl As Boolean + Private _MyBitlyId As String + Private _MyBitlyPw As String + Private _MyShowGrid As Boolean + Private _MyUseAtIdSupplement As Boolean + Private _MyUseHashSupplement As Boolean + Private _MyLanguage As String + Private _MyIsOAuth As Boolean + Private _MyTwitterApiUrl As String + Private _MyTwitterSearchApiUrl As String + Private _MyPreviewEnable As Boolean + Private _MoreCountApi As Integer + Private _FirstCountApi As Integer + Private _MyUseAdditonalCount As Boolean + Private _SearchCountApi As Integer + Private _FavoritesCountApi As Integer + Private _MyRetweetNoConfirm As Boolean + + Private _ValidationError As Boolean = False + + Private Sub Save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Save.Click + If TweenMain.IsNetworkAvailable() AndAlso _ + (ComboBoxAutoShortUrlFirst.SelectedIndex = UrlConverter.Bitly OrElse ComboBoxAutoShortUrlFirst.SelectedIndex = UrlConverter.Jmp) AndAlso _ + (Not String.IsNullOrEmpty(TextBitlyId.Text) OrElse Not String.IsNullOrEmpty(TextBitlyPw.Text)) Then + If Not BitlyValidation(TextBitlyId.Text, TextBitlyPw.Text) Then + MessageBox.Show(My.Resources.SettingSave_ClickText1) + _ValidationError = True + TabControl1.SelectTab(1) ' ????帥??????+ TextBitlyId.Focus() + Exit Sub + Else + _ValidationError = False + End If + Else + _ValidationError = False + End If + Try + _MyIsOAuth = AuthOAuthRadio.Checked + _MytimelinePeriod = CType(TimelinePeriod.Text, Integer) + _MyDMPeriod = CType(DMPeriod.Text, Integer) + _MyPubSearchPeriod = CType(PubSearchPeriod.Text, Integer) + _MyListsPeriod = CType(ListsPeriod.Text, Integer) + _MyReplyPeriod = CType(ReplyPeriod.Text, Integer) + _MyMaxPostNum = 125 + + _MyReaded = StartupReaded.Checked + Select Case IconSize.SelectedIndex + Case 0 + _MyIconSize = IconSizes.IconNone + Case 1 + _MyIconSize = IconSizes.Icon16 + Case 2 + _MyIconSize = IconSizes.Icon24 + Case 3 + _MyIconSize = IconSizes.Icon48 + Case 4 + _MyIconSize = IconSizes.Icon48_2 + End Select + _MyStatusText = StatusText.Text + _MyPlaySound = PlaySnd.Checked + _MyUnreadManage = UReadMng.Checked + _MyOneWayLove = OneWayLv.Checked + + _fntUnread = lblUnread.Font '??戎??+ _clUnread = lblUnread.ForeColor + _fntReaded = lblListFont.Font '???????????????篏睡? + _clReaded = lblListFont.ForeColor + _clFav = lblFav.ForeColor + _clOWL = lblOWL.ForeColor + _clRetweet = lblRetweet.ForeColor + _fntDetail = lblDetail.Font + _clSelf = lblSelf.BackColor + _clAtSelf = lblAtSelf.BackColor + _clTarget = lblTarget.BackColor + _clAtTarget = lblAtTarget.BackColor + _clAtFromTarget = lblAtFromTarget.BackColor + _clAtTo = lblAtTo.BackColor + _clInputBackcolor = lblInputBackcolor.BackColor + _clInputFont = lblInputFont.ForeColor + _clListBackcolor = lblListBackcolor.BackColor + _clDetailBackcolor = lblDetailBackcolor.BackColor + _clDetail = lblDetail.ForeColor + _clDetailLink = lblDetailLink.ForeColor + _fntInputFont = lblInputFont.Font + Select Case cmbNameBalloon.SelectedIndex + Case 0 + _MyNameBalloon = NameBalloonEnum.None + Case 1 + _MyNameBalloon = NameBalloonEnum.UserID + Case 2 + _MyNameBalloon = NameBalloonEnum.NickName + End Select + _MyPostCtrlEnter = CheckPostCtrlEnter.Checked + _usePostMethod = False + _countApi = CType(TextCountApi.Text, Integer) + _countApiReply = CType(TextCountApiReply.Text, Integer) + _browserpath = BrowserPathText.Text.Trim + '_MyCheckReply = CheckboxReply.Checked + _MyPostAndGet = CheckPostAndGet.Checked + _MyUseRecommendStatus = CheckUseRecommendStatus.Checked + _MyDispUsername = CheckDispUsername.Checked + _MyCloseToExit = CheckCloseToExit.Checked + _MyMinimizeToTray = CheckMinimizeToTray.Checked + Select Case ComboDispTitle.SelectedIndex + Case 0 'None + _MyDispLatestPost = DispTitleEnum.None + Case 1 'Ver + _MyDispLatestPost = DispTitleEnum.Ver + Case 2 'Post + _MyDispLatestPost = DispTitleEnum.Post + Case 3 'RepCount + _MyDispLatestPost = DispTitleEnum.UnreadRepCount + Case 4 'AllCount + _MyDispLatestPost = DispTitleEnum.UnreadAllCount + Case 5 'Rep+All + _MyDispLatestPost = DispTitleEnum.UnreadAllRepCount + Case 6 'Unread/All + _MyDispLatestPost = DispTitleEnum.UnreadCountAllCount + Case 7 'Count of Status/Follow/Follower + _MyDispLatestPost = DispTitleEnum.OwnStatus + End Select + _MySortOrderLock = CheckSortOrderLock.Checked + _MyTinyUrlResolve = CheckTinyURL.Checked + ShortUrl.IsResolve = _MyTinyUrlResolve + If RadioProxyNone.Checked Then + _MyProxyType = HttpConnection.ProxyType.None + ElseIf RadioProxyIE.Checked Then + _MyProxyType = HttpConnection.ProxyType.IE + Else + _MyProxyType = HttpConnection.ProxyType.Specified + End If + _MyProxyAddress = TextProxyAddress.Text.Trim() + _MyProxyPort = Integer.Parse(TextProxyPort.Text.Trim()) + _MyProxyUser = TextProxyUser.Text.Trim() + _MyProxyPassword = TextProxyPassword.Text.Trim() + _MyPeriodAdjust = CheckPeriodAdjust.Checked + _MyStartupVersion = CheckStartupVersion.Checked + _MyStartupFollowers = CheckStartupFollowers.Checked + _MyRestrictFavCheck = CheckFavRestrict.Checked + _MyAlwaysTop = CheckAlwaysTop.Checked + _MyUrlConvertAuto = CheckAutoConvertUrl.Checked + _MyOutputz = CheckOutputz.Checked + _MyOutputzKey = TextBoxOutputzKey.Text.Trim() + + Select Case ComboBoxOutputzUrlmode.SelectedIndex + Case 0 + _MyOutputzUrlmode = OutputzUrlmode.twittercom + Case 1 + _MyOutputzUrlmode = OutputzUrlmode.twittercomWithUsername + End Select + + _MyNicoms = CheckNicoms.Checked + _MyUnreadStyle = chkUnreadStyle.Checked + _MyDateTimeFormat = CmbDateTimeFormat.Text + _MyDefaultTimeOut = CType(ConnectionTimeOut.Text, Integer) + '_MyProtectNotInclude = CheckProtectNotInclude.Checked + _MyRetweetNoConfirm = CheckRetweetNoConfirm.Checked + _MyLimitBalloon = CheckBalloonLimit.Checked + _MyAutoShortUrlFirst = CType(ComboBoxAutoShortUrlFirst.SelectedIndex, UrlConverter) + _MyTabIconDisp = chkTabIconDisp.Checked + _MyReadOwnPost = chkReadOwnPost.Checked + _MyGetFav = chkGetFav.Checked + _MyMonoSpace = CheckMonospace.Checked + _MyReadOldPosts = CheckReadOldPosts.Checked + _MyUseSsl = CheckUseSsl.Checked + _MyBitlyId = TextBitlyId.Text + _MyBitlyPw = TextBitlyPw.Text + _MyShowGrid = CheckShowGrid.Checked + _MyUseAtIdSupplement = CheckAtIdSupple.Checked + _MyUseHashSupplement = CheckHashSupple.Checked + _MyPreviewEnable = CheckPreviewEnable.Checked + _MyTwitterApiUrl = TwitterAPIText.Text.Trim + _MyTwitterSearchApiUrl = TwitterSearchAPIText.Text.Trim + Select Case ReplyIconStateCombo.SelectedIndex + Case 0 + _MyReplyIconState = REPLY_ICONSTATE.None + Case 1 + _MyReplyIconState = REPLY_ICONSTATE.StaticIcon + Case 2 + _MyReplyIconState = REPLY_ICONSTATE.BlinkIcon + End Select + Select Case LanguageCombo.SelectedIndex + Case 0 + _MyLanguage = "OS" + Case 1 + _MyLanguage = "ja" + Case 2 + _MyLanguage = "en" + Case 3 + _MyLanguage = "zh-CN" + Case Else + _MyLanguage = "en" + End Select + _HotkeyEnabled = Me.HotkeyCheck.Checked + _HotkeyMod = Keys.None + If Me.HotkeyAlt.Checked Then _HotkeyMod = _HotkeyMod Or Keys.Alt + If Me.HotkeyShift.Checked Then _HotkeyMod = _HotkeyMod Or Keys.Shift + If Me.HotkeyCtrl.Checked Then _HotkeyMod = _HotkeyMod Or Keys.Control + If Me.HotkeyWin.Checked Then _HotkeyMod = _HotkeyMod Or Keys.LWin + If IsNumeric(HotkeyCode.Text) Then _HotkeyValue = CInt(HotkeyCode.Text) + _HotkeyKey = DirectCast(HotkeyText.Tag, Keys) + _BlinkNewMentions = ChkNewMentionsBlink.Checked + _MyUseAdditonalCount = UseChangeGetCount.Checked + _MoreCountApi = CType(GetMoreTextCountApi.Text, Integer) + _FirstCountApi = CType(FirstTextCountApi.Text, Integer) + _SearchCountApi = CType(SearchTextCountApi.Text, Integer) + _FavoritesCountApi = CType(FavoritesTextCountApi.Text, Integer) + Catch ex As Exception + MessageBox.Show(My.Resources.Save_ClickText3) + Me.DialogResult = Windows.Forms.DialogResult.Cancel + Exit Sub + End Try + End Sub + + Private Sub Setting_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing + If tw IsNot Nothing AndAlso tw.Username = "" AndAlso e.CloseReason = CloseReason.None Then + If MessageBox.Show(My.Resources.Setting_FormClosing1, "Confirm", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Cancel Then + e.Cancel = True + End If + End If + If _ValidationError Then + e.Cancel = True + End If + End Sub + + Private Sub Setting_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + tw = DirectCast(Me.Owner, TweenMain).TwitterInstance + Dim uname As String = tw.Username + Dim pw As String = tw.Password + Dim tk As String = tw.AccessToken + Dim tks As String = tw.AccessTokenSecret + If Not Me._MyIsOAuth Then + 'BASIC茯?┝????粋;腓?+ Me.AuthStateLabel.Enabled = False + Me.AuthUserLabel.Enabled = False + Me.AuthClearButton.Enabled = False + Me.AuthOAuthRadio.Checked = False + Me.AuthBasicRadio.Checked = True + Me.CheckEnableBasicAuth.Checked = True + Me.AuthBasicRadio.Enabled = True + tw.Initialize(uname, pw) + Else + Me.AuthStateLabel.Enabled = True + Me.AuthUserLabel.Enabled = True + Me.AuthClearButton.Enabled = True + Me.AuthOAuthRadio.Checked = True + Me.AuthBasicRadio.Checked = False + tw.Initialize(tk, tks, uname) + End If + + Username.Text = uname + Password.Text = pw + If tw.Username = "" Then + Me.AuthStateLabel.Text = My.Resources.AuthorizeButton_Click4 + Me.AuthUserLabel.Text = "" + Else + Me.AuthStateLabel.Text = My.Resources.AuthorizeButton_Click3 + Me.AuthUserLabel.Text = tw.Username + End If + + TimelinePeriod.Text = _MytimelinePeriod.ToString() + ReplyPeriod.Text = _MyReplyPeriod.ToString() + DMPeriod.Text = _MyDMPeriod.ToString() + PubSearchPeriod.Text = _MyPubSearchPeriod.ToString() + ListsPeriod.Text = _MyListsPeriod.ToString() + + StartupReaded.Checked = _MyReaded + Select Case _MyIconSize + Case IconSizes.IconNone + IconSize.SelectedIndex = 0 + Case IconSizes.Icon16 + IconSize.SelectedIndex = 1 + Case IconSizes.Icon24 + IconSize.SelectedIndex = 2 + Case IconSizes.Icon48 + IconSize.SelectedIndex = 3 + Case IconSizes.Icon48_2 + IconSize.SelectedIndex = 4 + End Select + StatusText.Text = _MyStatusText + UReadMng.Checked = _MyUnreadManage + If _MyUnreadManage = False Then + StartupReaded.Enabled = False + Else + StartupReaded.Enabled = True + End If + PlaySnd.Checked = _MyPlaySound + OneWayLv.Checked = _MyOneWayLove + + lblListFont.Font = _fntReaded + lblUnread.Font = _fntUnread + lblUnread.ForeColor = _clUnread + lblListFont.ForeColor = _clReaded + lblFav.ForeColor = _clFav + lblOWL.ForeColor = _clOWL + lblRetweet.ForeColor = _clRetweet + lblDetail.Font = _fntDetail + lblSelf.BackColor = _clSelf + lblAtSelf.BackColor = _clAtSelf + lblTarget.BackColor = _clTarget + lblAtTarget.BackColor = _clAtTarget + lblAtFromTarget.BackColor = _clAtFromTarget + lblAtTo.BackColor = _clAtTo + lblInputBackcolor.BackColor = _clInputBackcolor + lblInputFont.ForeColor = _clInputFont + lblInputFont.Font = _fntInputFont + lblListBackcolor.BackColor = _clListBackcolor + lblDetailBackcolor.BackColor = _clDetailBackcolor + lblDetail.ForeColor = _clDetail + lblDetailLink.ForeColor = _clDetailLink + + Select Case _MyNameBalloon + Case NameBalloonEnum.None + cmbNameBalloon.SelectedIndex = 0 + Case NameBalloonEnum.UserID + cmbNameBalloon.SelectedIndex = 1 + Case NameBalloonEnum.NickName + cmbNameBalloon.SelectedIndex = 2 + End Select + + CheckPostCtrlEnter.Checked = _MyPostCtrlEnter + + TextCountApi.Text = _countApi.ToString + TextCountApiReply.Text = _countApiReply.ToString + BrowserPathText.Text = _browserpath + 'CheckboxReply.Checked = _MyCheckReply + CheckPostAndGet.Checked = _MyPostAndGet + CheckUseRecommendStatus.Checked = _MyUseRecommendStatus + CheckDispUsername.Checked = _MyDispUsername + CheckCloseToExit.Checked = _MyCloseToExit + CheckMinimizeToTray.Checked = _MyMinimizeToTray + Select Case _MyDispLatestPost + Case DispTitleEnum.None + ComboDispTitle.SelectedIndex = 0 + Case DispTitleEnum.Ver + ComboDispTitle.SelectedIndex = 1 + Case DispTitleEnum.Post + ComboDispTitle.SelectedIndex = 2 + Case DispTitleEnum.UnreadRepCount + ComboDispTitle.SelectedIndex = 3 + Case DispTitleEnum.UnreadAllCount + ComboDispTitle.SelectedIndex = 4 + Case DispTitleEnum.UnreadAllRepCount + ComboDispTitle.SelectedIndex = 5 + Case DispTitleEnum.UnreadCountAllCount + ComboDispTitle.SelectedIndex = 6 + Case DispTitleEnum.OwnStatus + ComboDispTitle.SelectedIndex = 7 + End Select + CheckSortOrderLock.Checked = _MySortOrderLock + CheckTinyURL.Checked = _MyTinyUrlResolve + Select Case _MyProxyType + Case HttpConnection.ProxyType.None + RadioProxyNone.Checked = True + Case HttpConnection.ProxyType.IE + RadioProxyIE.Checked = True + Case Else + RadioProxySpecified.Checked = True + End Select + Dim chk As Boolean = RadioProxySpecified.Checked + LabelProxyAddress.Enabled = chk + TextProxyAddress.Enabled = chk + LabelProxyPort.Enabled = chk + TextProxyPort.Enabled = chk + LabelProxyUser.Enabled = chk + TextProxyUser.Enabled = chk + LabelProxyPassword.Enabled = chk + TextProxyPassword.Enabled = chk + + TextProxyAddress.Text = _MyProxyAddress + TextProxyPort.Text = _MyProxyPort.ToString + TextProxyUser.Text = _MyProxyUser + TextProxyPassword.Text = _MyProxyPassword + + CheckPeriodAdjust.Checked = _MyPeriodAdjust + CheckStartupVersion.Checked = _MyStartupVersion + CheckStartupFollowers.Checked = _MyStartupFollowers + CheckFavRestrict.Checked = _MyRestrictFavCheck + CheckAlwaysTop.Checked = _MyAlwaysTop + CheckAutoConvertUrl.Checked = _MyUrlConvertAuto + CheckOutputz.Checked = _MyOutputz + TextBoxOutputzKey.Text = _MyOutputzKey + + Select Case _MyOutputzUrlmode + Case OutputzUrlmode.twittercom + ComboBoxOutputzUrlmode.SelectedIndex = 0 + Case OutputzUrlmode.twittercomWithUsername + ComboBoxOutputzUrlmode.SelectedIndex = 1 + End Select + + CheckNicoms.Checked = _MyNicoms + chkUnreadStyle.Checked = _MyUnreadStyle + CmbDateTimeFormat.Text = _MyDateTimeFormat + ConnectionTimeOut.Text = _MyDefaultTimeOut.ToString + 'CheckProtectNotInclude.Checked = _MyProtectNotInclude + CheckRetweetNoConfirm.Checked = _MyRetweetNoConfirm + CheckBalloonLimit.Checked = _MyLimitBalloon + ComboBoxAutoShortUrlFirst.SelectedIndex = _MyAutoShortUrlFirst + chkTabIconDisp.Checked = _MyTabIconDisp + chkReadOwnPost.Checked = _MyReadOwnPost + chkGetFav.Checked = _MyGetFav + CheckMonospace.Checked = _MyMonoSpace + CheckReadOldPosts.Checked = _MyReadOldPosts + CheckUseSsl.Checked = _MyUseSsl + TextBitlyId.Text = _MyBitlyId + TextBitlyPw.Text = _MyBitlyPw + TextBitlyId.Modified = False + TextBitlyPw.Modified = False + CheckShowGrid.Checked = _MyShowGrid + CheckAtIdSupple.Checked = _MyUseAtIdSupplement + CheckHashSupple.Checked = _MyUseHashSupplement + CheckPreviewEnable.Checked = _MyPreviewEnable + TwitterAPIText.Text = _MyTwitterApiUrl + TwitterSearchAPIText.Text = _MyTwitterSearchApiUrl + Select Case _MyReplyIconState + Case REPLY_ICONSTATE.None + ReplyIconStateCombo.SelectedIndex = 0 + Case REPLY_ICONSTATE.StaticIcon + ReplyIconStateCombo.SelectedIndex = 1 + Case REPLY_ICONSTATE.BlinkIcon + ReplyIconStateCombo.SelectedIndex = 2 + End Select + Select Case _MyLanguage + Case "OS" + LanguageCombo.SelectedIndex = 0 + Case "ja" + LanguageCombo.SelectedIndex = 1 + Case "en" + LanguageCombo.SelectedIndex = 2 + Case "zh-CN" + LanguageCombo.SelectedIndex = 3 + Case Else + LanguageCombo.SelectedIndex = 0 + End Select + HotkeyCheck.Checked = _HotkeyEnabled + HotkeyAlt.Checked = ((_HotkeyMod And Keys.Alt) = Keys.Alt) + HotkeyCtrl.Checked = ((_HotkeyMod And Keys.Control) = Keys.Control) + HotkeyShift.Checked = ((_HotkeyMod And Keys.Shift) = Keys.Shift) + HotkeyWin.Checked = ((_HotkeyMod And Keys.LWin) = Keys.LWin) + HotkeyCode.Text = _HotkeyValue.ToString + HotkeyText.Text = _HotkeyKey.ToString + HotkeyText.Tag = _HotkeyKey + HotkeyAlt.Enabled = HotkeyEnabled + HotkeyShift.Enabled = HotkeyEnabled + HotkeyCtrl.Enabled = HotkeyEnabled + HotkeyWin.Enabled = HotkeyEnabled + HotkeyText.Enabled = HotkeyEnabled + HotkeyCode.Enabled = HotkeyEnabled + ChkNewMentionsBlink.Checked = _BlinkNewMentions + + TabControl1.SelectedIndex = 0 + ActiveControl = Username + + CheckOutputz_CheckedChanged(sender, e) + + GetMoreTextCountApi.Text = _MoreCountApi.ToString + FirstTextCountApi.Text = _FirstCountApi.ToString + SearchTextCountApi.Text = _SearchCountApi.ToString + FavoritesTextCountApi.Text = _FavoritesCountApi.ToString + UseChangeGetCount.Checked = _MyUseAdditonalCount + Label53.Enabled = UseChangeGetCount.Checked + Label66.Enabled = UseChangeGetCount.Checked + GetMoreTextCountApi.Enabled = UseChangeGetCount.Checked + FirstTextCountApi.Enabled = UseChangeGetCount.Checked + SearchTextCountApi.Enabled = UseChangeGetCount.Checked + FavoritesTextCountApi.Enabled = UseChangeGetCount.Checked + End Sub + + Private Sub TimelinePeriod_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TimelinePeriod.Validating + Dim prd As Integer + Try + prd = CType(TimelinePeriod.Text, Integer) + Catch ex As Exception + MessageBox.Show(My.Resources.TimelinePeriod_ValidatingText1) + e.Cancel = True + Exit Sub + End Try + + If prd <> 0 AndAlso (prd < 15 OrElse prd > 6000) Then + MessageBox.Show(My.Resources.TimelinePeriod_ValidatingText2) + e.Cancel = True + Exit Sub + End If + CalcApiUsing() + End Sub + + Private Sub ReplyPeriod_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles ReplyPeriod.Validating + Dim prd As Integer + Try + prd = CType(ReplyPeriod.Text, Integer) + Catch ex As Exception + MessageBox.Show(My.Resources.TimelinePeriod_ValidatingText1) + e.Cancel = True + Exit Sub + End Try + + If prd <> 0 AndAlso (prd < 15 OrElse prd > 6000) Then + MessageBox.Show(My.Resources.TimelinePeriod_ValidatingText2) + e.Cancel = True + Exit Sub + End If + CalcApiUsing() + End Sub + + Private Sub DMPeriod_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles DMPeriod.Validating + Dim prd As Integer + Try + prd = CType(DMPeriod.Text, Integer) + Catch ex As Exception + MessageBox.Show(My.Resources.DMPeriod_ValidatingText1) + e.Cancel = True + Exit Sub + End Try + + If prd <> 0 AndAlso (prd < 15 OrElse prd > 6000) Then + MessageBox.Show(My.Resources.DMPeriod_ValidatingText2) + e.Cancel = True + Exit Sub + End If + CalcApiUsing() + End Sub + + Private Sub PubSearchPeriod_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles PubSearchPeriod.Validating + Dim prd As Integer + Try + prd = CType(PubSearchPeriod.Text, Integer) + Catch ex As Exception + MessageBox.Show(My.Resources.PubSearchPeriod_ValidatingText1) + e.Cancel = True + Exit Sub + End Try + + If prd <> 0 AndAlso (prd < 30 OrElse prd > 6000) Then + MessageBox.Show(My.Resources.PubSearchPeriod_ValidatingText2) + e.Cancel = True + End If + End Sub + + Private Sub ListsPeriod_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles ListsPeriod.Validating + Dim prd As Integer + Try + prd = CType(ListsPeriod.Text, Integer) + Catch ex As Exception + MessageBox.Show(My.Resources.DMPeriod_ValidatingText1) + e.Cancel = True + Exit Sub + End Try + + If prd <> 0 AndAlso (prd < 15 OrElse prd > 6000) Then + MessageBox.Show(My.Resources.DMPeriod_ValidatingText2) + e.Cancel = True + Exit Sub + End If + CalcApiUsing() + End Sub + + Private Sub UReadMng_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) + If UReadMng.Checked = True Then + StartupReaded.Enabled = True + Else + StartupReaded.Enabled = False + End If + End Sub + + Private Sub btnFontAndColor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDetail.Click, btnListFont.Click, btnUnread.Click, btnInputFont.Click + Dim Btn As Button = CType(sender, Button) + Dim rtn As DialogResult + + FontDialog1.AllowVerticalFonts = False + FontDialog1.AllowScriptChange = True + FontDialog1.AllowSimulations = True + FontDialog1.AllowVectorFonts = True + FontDialog1.FixedPitchOnly = False + FontDialog1.FontMustExist = True + FontDialog1.ScriptsOnly = False + FontDialog1.ShowApply = False + FontDialog1.ShowEffects = True + FontDialog1.ShowColor = True + + Select Case Btn.Name + Case "btnUnread" + FontDialog1.Color = lblUnread.ForeColor + FontDialog1.Font = lblUnread.Font + Case "btnDetail" + FontDialog1.Color = lblDetail.ForeColor + FontDialog1.Font = lblDetail.Font + Case "btnListFont" + FontDialog1.Color = lblListFont.ForeColor + FontDialog1.Font = lblListFont.Font + Case "btnInputFont" + FontDialog1.Color = lblInputFont.ForeColor + FontDialog1.Font = lblInputFont.Font + End Select + + Try + rtn = FontDialog1.ShowDialog + Catch ex As ArgumentException + MessageBox.Show(ex.Message) + Exit Sub + End Try + + If rtn = Windows.Forms.DialogResult.Cancel Then Exit Sub + + Select Case Btn.Name + Case "btnUnread" + lblUnread.ForeColor = FontDialog1.Color + lblUnread.Font = FontDialog1.Font + Case "btnDetail" + lblDetail.ForeColor = FontDialog1.Color + lblDetail.Font = FontDialog1.Font + Case "btnListFont" + lblListFont.ForeColor = FontDialog1.Color + lblListFont.Font = FontDialog1.Font + Case "btnInputFont" + lblInputFont.ForeColor = FontDialog1.Color + lblInputFont.Font = FontDialog1.Font + End Select + + End Sub + + Private Sub btnColor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSelf.Click, btnAtSelf.Click, btnTarget.Click, btnAtTarget.Click, btnAtFromTarget.Click, btnFav.Click, btnOWL.Click, btnInputBackcolor.Click, btnAtTo.Click, btnListBack.Click, btnDetailBack.Click, btnDetailLink.Click, btnRetweet.Click + Dim Btn As Button = CType(sender, Button) + Dim rtn As DialogResult + + ColorDialog1.AllowFullOpen = True + ColorDialog1.AnyColor = True + ColorDialog1.FullOpen = False + ColorDialog1.SolidColorOnly = False + + Select Case Btn.Name + Case "btnSelf" + ColorDialog1.Color = lblSelf.BackColor + Case "btnAtSelf" + ColorDialog1.Color = lblAtSelf.BackColor + Case "btnTarget" + ColorDialog1.Color = lblTarget.BackColor + Case "btnAtTarget" + ColorDialog1.Color = lblAtTarget.BackColor + Case "btnAtFromTarget" + ColorDialog1.Color = lblAtFromTarget.BackColor + Case "btnFav" + ColorDialog1.Color = lblFav.ForeColor + Case "btnOWL" + ColorDialog1.Color = lblOWL.ForeColor + Case "btnRetweet" + ColorDialog1.Color = lblRetweet.ForeColor + Case "btnInputBackcolor" + ColorDialog1.Color = lblInputBackcolor.BackColor + Case "btnAtTo" + ColorDialog1.Color = lblAtTo.BackColor + Case "btnListBack" + ColorDialog1.Color = lblListBackcolor.BackColor + Case "btnDetailBack" + ColorDialog1.Color = lblDetailBackcolor.BackColor + Case "btnDetailLink" + ColorDialog1.Color = lblDetailLink.ForeColor + End Select + + rtn = ColorDialog1.ShowDialog + + If rtn = Windows.Forms.DialogResult.Cancel Then Exit Sub + + Select Case Btn.Name + Case "btnSelf" + lblSelf.BackColor = ColorDialog1.Color + Case "btnAtSelf" + lblAtSelf.BackColor = ColorDialog1.Color + Case "btnTarget" + lblTarget.BackColor = ColorDialog1.Color + Case "btnAtTarget" + lblAtTarget.BackColor = ColorDialog1.Color + Case "btnAtFromTarget" + lblAtFromTarget.BackColor = ColorDialog1.Color + Case "btnFav" + lblFav.ForeColor = ColorDialog1.Color + Case "btnOWL" + lblOWL.ForeColor = ColorDialog1.Color + Case "btnRetweet" + lblRetweet.ForeColor = ColorDialog1.Color + Case "btnInputBackcolor" + lblInputBackcolor.BackColor = ColorDialog1.Color + Case "btnAtTo" + lblAtTo.BackColor = ColorDialog1.Color + Case "btnListBack" + lblListBackcolor.BackColor = ColorDialog1.Color + Case "btnDetailBack" + lblDetailBackcolor.BackColor = ColorDialog1.Color + Case "btnDetailLink" + lblDetailLink.ForeColor = ColorDialog1.Color + End Select + End Sub + + Public Property TimelinePeriodInt() As Integer + Get + Return _MytimelinePeriod + End Get + Set(ByVal value As Integer) + _MytimelinePeriod = value + End Set + End Property + + Public Property ReplyPeriodInt() As Integer + Get + Return _MyReplyPeriod + End Get + Set(ByVal value As Integer) + _MyReplyPeriod = value + End Set + End Property + + Public Property DMPeriodInt() As Integer + Get + Return _MyDMPeriod + End Get + Set(ByVal value As Integer) + _MyDMPeriod = value + End Set + End Property + + Public Property PubSearchPeriodInt() As Integer + Get + Return _MyPubSearchPeriod + End Get + Set(ByVal value As Integer) + _MyPubSearchPeriod = value + End Set + End Property + + Public Property ListsPeriodInt() As Integer + Get + Return _MyListsPeriod + End Get + Set(ByVal value As Integer) + _MyListsPeriod = value + End Set + End Property + + Public Property Readed() As Boolean + Get + Return _MyReaded + End Get + Set(ByVal value As Boolean) + _MyReaded = value + End Set + End Property + + Public Property IconSz() As IconSizes + Get + Return _MyIconSize + End Get + Set(ByVal value As IconSizes) + _MyIconSize = value + End Set + End Property + + Public Property Status() As String + Get + Return _MyStatusText + End Get + Set(ByVal value As String) + _MyStatusText = value + End Set + End Property + + Public Property UnreadManage() As Boolean + Get + Return _MyUnreadManage + End Get + Set(ByVal value As Boolean) + _MyUnreadManage = value + End Set + End Property + + Public Property PlaySound() As Boolean + Get + Return _MyPlaySound + End Get + Set(ByVal value As Boolean) + _MyPlaySound = value + End Set + End Property + + Public Property OneWayLove() As Boolean + Get + Return _MyOneWayLove + End Get + Set(ByVal value As Boolean) + _MyOneWayLove = value + End Set + End Property + + '''''??戎??+ Public Property FontUnread() As Font + Get + Return _fntUnread + End Get + Set(ByVal value As Font) + _fntUnread = value + '?∴? + End Set + End Property + + Public Property ColorUnread() As Color + Get + Return _clUnread + End Get + Set(ByVal value As Color) + _clUnread = value + End Set + End Property + + '''''???????????????篏睡? + Public Property FontReaded() As Font + Get + Return _fntReaded + End Get + Set(ByVal value As Font) + _fntReaded = value + End Set + End Property + + Public Property ColorReaded() As Color + Get + Return _clReaded + End Get + Set(ByVal value As Color) + _clReaded = value + End Set + End Property + + Public Property ColorFav() As Color + Get + Return _clFav + End Get + Set(ByVal value As Color) + _clFav = value + End Set + End Property + + Public Property ColorOWL() As Color + Get + Return _clOWL + End Get + Set(ByVal value As Color) + _clOWL = value + End Set + End Property + + Public Property ColorRetweet() As Color + Get + Return _clRetweet + End Get + Set(ByVal value As Color) + _clRetweet = value + End Set + End Property + + Public Property FontDetail() As Font + Get + Return _fntDetail + End Get + Set(ByVal value As Font) + _fntDetail = value + End Set + End Property + + Public Property ColorDetail() As Color + Get + Return _clDetail + End Get + Set(ByVal value As Color) + _clDetail = value + End Set + End Property + + Public Property ColorDetailLink() As Color + Get + Return _clDetailLink + End Get + Set(ByVal value As Color) + _clDetailLink = value + End Set + End Property + + Public Property ColorSelf() As Color + Get + Return _clSelf + End Get + Set(ByVal value As Color) + _clSelf = value + End Set + End Property + + Public Property ColorAtSelf() As Color + Get + Return _clAtSelf + End Get + Set(ByVal value As Color) + _clAtSelf = value + End Set + End Property + + Public Property ColorTarget() As Color + Get + Return _clTarget + End Get + Set(ByVal value As Color) + _clTarget = value + End Set + End Property + + Public Property ColorAtTarget() As Color + Get + Return _clAtTarget + End Get + Set(ByVal value As Color) + _clAtTarget = value + End Set + End Property + + Public Property ColorAtFromTarget() As Color + Get + Return _clAtFromTarget + End Get + Set(ByVal value As Color) + _clAtFromTarget = value + End Set + End Property + + Public Property ColorAtTo() As Color + Get + Return _clAtTo + End Get + Set(ByVal value As Color) + _clAtTo = value + End Set + End Property + + Public Property ColorInputBackcolor() As Color + Get + Return _clInputBackcolor + End Get + Set(ByVal value As Color) + _clInputBackcolor = value + End Set + End Property + + Public Property ColorInputFont() As Color + Get + Return _clInputFont + End Get + Set(ByVal value As Color) + _clInputFont = value + End Set + End Property + + Public Property FontInputFont() As Font + Get + Return _fntInputFont + End Get + Set(ByVal value As Font) + _fntInputFont = value + End Set + End Property + + Public Property ColorListBackcolor() As Color + Get + Return _clListBackcolor + End Get + Set(ByVal value As Color) + _clListBackcolor = value + End Set + End Property + + Public Property ColorDetailBackcolor() As Color + Get + Return _clDetailBackcolor + End Get + Set(ByVal value As Color) + _clDetailBackcolor = value + End Set + End Property + + Public Property NameBalloon() As NameBalloonEnum + Get + Return _MyNameBalloon + End Get + Set(ByVal value As NameBalloonEnum) + _MyNameBalloon = value + End Set + End Property + + Public Property PostCtrlEnter() As Boolean + Get + Return _MyPostCtrlEnter + End Get + Set(ByVal value As Boolean) + _MyPostCtrlEnter = value + End Set + End Property + + Public Property CountApi() As Integer + Get + Return _countApi + End Get + Set(ByVal value As Integer) + _countApi = value + End Set + End Property + + Public Property CountApiReply() As Integer + Get + Return _countApiReply + End Get + Set(ByVal value As Integer) + _countApiReply = value + End Set + End Property + + Public Property MoreCountApi() As Integer + Get + Return _MoreCountApi + End Get + Set(ByVal value As Integer) + _MoreCountApi = value + End Set + End Property + + Public Property FirstCountApi() As Integer + Get + Return _FirstCountApi + End Get + Set(ByVal value As Integer) + _FirstCountApi = value + End Set + End Property + + Public Property SearchCountApi() As Integer + Get + Return _SearchCountApi + End Get + Set(ByVal value As Integer) + _SearchCountApi = value + End Set + End Property + + Public Property FavoritesCountApi() As Integer + Get + Return _FavoritesCountApi + End Get + Set(ByVal value As Integer) + _FavoritesCountApi = value + End Set + End Property + + Public Property PostAndGet() As Boolean + Get + Return _MyPostAndGet + End Get + Set(ByVal value As Boolean) + _MyPostAndGet = value + End Set + End Property + + Public Property UseRecommendStatus() As Boolean + Get + Return _MyUseRecommendStatus + End Get + Set(ByVal value As Boolean) + _MyUseRecommendStatus = value + End Set + End Property + + Public Property RecommendStatusText() As String + Get + Return _MyRecommendStatusText + End Get + Set(ByVal value As String) + _MyRecommendStatusText = value + End Set + End Property + + Public Property DispUsername() As Boolean + Get + Return _MyDispUsername + End Get + Set(ByVal value As Boolean) + _MyDispUsername = value + End Set + End Property + + Public Property CloseToExit() As Boolean + Get + Return _MyCloseToExit + End Get + Set(ByVal value As Boolean) + _MyCloseToExit = value + End Set + End Property + + Public Property MinimizeToTray() As Boolean + Get + Return _MyMinimizeToTray + End Get + Set(ByVal value As Boolean) + _MyMinimizeToTray = value + End Set + End Property + + Public Property DispLatestPost() As DispTitleEnum + Get + Return _MyDispLatestPost + End Get + Set(ByVal value As DispTitleEnum) + _MyDispLatestPost = value + End Set + End Property + + Public Property BrowserPath() As String + Get + Return _browserpath + End Get + Set(ByVal value As String) + _browserpath = value + End Set + End Property + + Public Property TinyUrlResolve() As Boolean + Get + Return _MyTinyUrlResolve + End Get + Set(ByVal value As Boolean) + _MyTinyUrlResolve = value + End Set + End Property + + Private Sub CheckUseRecommendStatus_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckUseRecommendStatus.CheckedChanged + If CheckUseRecommendStatus.Checked = True Then + StatusText.Enabled = False + Else + StatusText.Enabled = True + End If + End Sub + + Public Property SortOrderLock() As Boolean + Get + Return _MySortOrderLock + End Get + Set(ByVal value As Boolean) + _MySortOrderLock = value + End Set + End Property + + Public Property SelectedProxyType() As HttpConnection.ProxyType + Get + Return _MyProxyType + End Get + Set(ByVal value As HttpConnection.ProxyType) + _MyProxyType = value + End Set + End Property + + Public Property ProxyAddress() As String + Get + Return _MyProxyAddress + End Get + Set(ByVal value As String) + _MyProxyAddress = value + End Set + End Property + + Public Property ProxyPort() As Integer + Get + Return _MyProxyPort + End Get + Set(ByVal value As Integer) + _MyProxyPort = value + End Set + End Property + + Public Property ProxyUser() As String + Get + Return _MyProxyUser + End Get + Set(ByVal value As String) + _MyProxyUser = value + End Set + End Property + + Public Property ProxyPassword() As String + Get + Return _MyProxyPassword + End Get + Set(ByVal value As String) + _MyProxyPassword = value + End Set + End Property + + Public Property PeriodAdjust() As Boolean + Get + Return _MyPeriodAdjust + End Get + Set(ByVal value As Boolean) + _MyPeriodAdjust = value + End Set + End Property + + Public Property StartupVersion() As Boolean + Get + Return _MyStartupVersion + End Get + Set(ByVal value As Boolean) + _MyStartupVersion = value + End Set + End Property + + Public Property StartupFollowers() As Boolean + Get + Return _MyStartupFollowers + End Get + Set(ByVal value As Boolean) + _MyStartupFollowers = value + End Set + End Property + + Public Property RestrictFavCheck() As Boolean + Get + Return _MyRestrictFavCheck + End Get + Set(ByVal value As Boolean) + _MyRestrictFavCheck = value + End Set + End Property + + Public Property AlwaysTop() As Boolean + Get + Return _MyAlwaysTop + End Get + Set(ByVal value As Boolean) + _MyAlwaysTop = value + End Set + End Property + + Public Property UrlConvertAuto() As Boolean + Get + Return _MyUrlConvertAuto + End Get + Set(ByVal value As Boolean) + _MyUrlConvertAuto = value + End Set + End Property + Public Property OutputzEnabled() As Boolean + Get + Return _MyOutputz + End Get + Set(ByVal value As Boolean) + _MyOutputz = value + End Set + End Property + Public Property OutputzKey() As String + Get + Return _MyOutputzKey + End Get + Set(ByVal value As String) + _MyOutputzKey = value + End Set + End Property + Public Property OutputzUrlmode() As OutputzUrlmode + Get + Return _MyOutputzUrlmode + End Get + Set(ByVal value As OutputzUrlmode) + _MyOutputzUrlmode = value + End Set + End Property + + Public Property Nicoms() As Boolean + Get + Return _MyNicoms + End Get + Set(ByVal value As Boolean) + _MyNicoms = value + End Set + End Property + Public Property AutoShortUrlFirst() As UrlConverter + Get + Return _MyAutoShortUrlFirst + End Get + Set(ByVal value As UrlConverter) + _MyAutoShortUrlFirst = value + End Set + End Property + + Public Property UseUnreadStyle() As Boolean + Get + Return _MyUnreadStyle + End Get + Set(ByVal value As Boolean) + _MyUnreadStyle = value + End Set + End Property + + Public Property DateTimeFormat() As String + Get + Return _MyDateTimeFormat + End Get + Set(ByVal value As String) + _MyDateTimeFormat = value + End Set + End Property + + Public Property DefaultTimeOut() As Integer + Get + Return _MyDefaultTimeOut + End Get + Set(ByVal value As Integer) + _MyDefaultTimeOut = value + End Set + End Property + + 'Public Property ProtectNotInclude() As Boolean + ' Get + ' Return _MyProtectNotInclude + ' End Get + ' Set(ByVal value As Boolean) + ' _MyProtectNotInclude = value + ' End Set + 'End Property + + Public Property RetweetNoConfirm() As Boolean + Get + Return _MyRetweetNoConfirm + End Get + Set(ByVal value As Boolean) + _MyRetweetNoConfirm = value + End Set + End Property + + Public Property TabIconDisp() As Boolean + Get + Return _MyTabIconDisp + End Get + Set(ByVal value As Boolean) + _MyTabIconDisp = value + End Set + End Property + + Public Property ReplyIconState() As REPLY_ICONSTATE + Get + Return _MyReplyIconState + End Get + Set(ByVal value As REPLY_ICONSTATE) + _MyReplyIconState = value + End Set + End Property + + Public Property ReadOwnPost() As Boolean + Get + Return _MyReadOwnPost + End Get + Set(ByVal value As Boolean) + _MyReadOwnPost = value + End Set + End Property + + Public Property GetFav() As Boolean + Get + Return _MyGetFav + End Get + Set(ByVal value As Boolean) + _MyGetFav = value + End Set + End Property + + Public Property IsMonospace() As Boolean + Get + Return _MyMonoSpace + End Get + Set(ByVal value As Boolean) + _MyMonoSpace = value + End Set + End Property + + Public Property ReadOldPosts() As Boolean + Get + Return _MyReadOldPosts + End Get + Set(ByVal value As Boolean) + _MyReadOldPosts = value + End Set + End Property + + Public Property UseSsl() As Boolean + Get + Return _MyUseSsl + End Get + Set(ByVal value As Boolean) + _MyUseSsl = value + End Set + End Property + + Public Property BitlyUser() As String + Get + Return _MyBitlyId + End Get + Set(ByVal value As String) + _MyBitlyId = value + End Set + End Property + + Public Property BitlyPwd() As String + Get + Return _MyBitlyPw + End Get + Set(ByVal value As String) + _MyBitlyPw = value + End Set + End Property + + Public Property ShowGrid() As Boolean + Get + Return _MyShowGrid + End Get + Set(ByVal value As Boolean) + _MyShowGrid = value + End Set + End Property + + Public Property UseAtIdSupplement() As Boolean + Get + Return _MyUseAtIdSupplement + End Get + Set(ByVal value As Boolean) + _MyUseAtIdSupplement = value + End Set + End Property + + Public Property UseHashSupplement() As Boolean + Get + Return _MyUseHashSupplement + End Get + Set(ByVal value As Boolean) + _MyUseHashSupplement = value + End Set + End Property + + Public Property PreviewEnable() As Boolean + Get + Return _MyPreviewEnable + End Get + Set(ByVal value As Boolean) + _MyPreviewEnable = value + End Set + End Property + + Public Property UseAdditionalCount() As Boolean + Get + Return _MyUseAdditonalCount + End Get + Set(ByVal value As Boolean) + _MyUseAdditonalCount = value + End Set + End Property + + Public Property TwitterApiUrl() As String + Get + Return _MyTwitterApiUrl + End Get + Set(ByVal value As String) + _MyTwitterApiUrl = value + End Set + End Property + + Public Property TwitterSearchApiUrl() As String + Get + Return _MyTwitterSearchApiUrl + End Get + Set(ByVal value As String) + _MyTwitterSearchApiUrl = value + End Set + End Property + + Public Property Language() As String + Get + Return _MyLanguage + End Get + Set(ByVal value As String) + _MyLanguage = value + End Set + End Property + + Public Property IsOAuth() As Boolean + Get + Return _MyIsOAuth + End Get + Set(ByVal value As Boolean) + _MyIsOAuth = value + End Set + End Property + + Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click + Dim filedlg As New OpenFileDialog() + + filedlg.Filter = My.Resources.Button3_ClickText1 + filedlg.FilterIndex = 1 + filedlg.Title = My.Resources.Button3_ClickText2 + filedlg.RestoreDirectory = True + + If filedlg.ShowDialog() = Windows.Forms.DialogResult.OK Then + BrowserPathText.Text = filedlg.FileName + End If + End Sub + + Private Sub RadioProxySpecified_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioProxySpecified.CheckedChanged + Dim chk As Boolean = RadioProxySpecified.Checked + LabelProxyAddress.Enabled = chk + TextProxyAddress.Enabled = chk + LabelProxyPort.Enabled = chk + TextProxyPort.Enabled = chk + LabelProxyUser.Enabled = chk + TextProxyUser.Enabled = chk + LabelProxyPassword.Enabled = chk + TextProxyPassword.Enabled = chk + End Sub + + Private Sub TextProxyPort_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TextProxyPort.Validating + Dim port As Integer + If TextProxyPort.Text.Trim() = "" Then TextProxyPort.Text = "0" + If Integer.TryParse(TextProxyPort.Text.Trim(), port) = False Then + MessageBox.Show(My.Resources.TextProxyPort_ValidatingText1) + e.Cancel = True + Exit Sub + End If + If port < 0 Or port > 65535 Then + MessageBox.Show(My.Resources.TextProxyPort_ValidatingText2) + e.Cancel = True + Exit Sub + End If + End Sub + + Private Sub CheckOutputz_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckOutputz.CheckedChanged + If CheckOutputz.Checked = True Then + Label59.Enabled = True + Label60.Enabled = True + TextBoxOutputzKey.Enabled = True + ComboBoxOutputzUrlmode.Enabled = True + Else + Label59.Enabled = False + Label60.Enabled = False + TextBoxOutputzKey.Enabled = False + ComboBoxOutputzUrlmode.Enabled = False + End If + End Sub + + Private Sub TextBoxOutputzKey_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TextBoxOutputzKey.Validating + If CheckOutputz.Checked Then + TextBoxOutputzKey.Text = Trim(TextBoxOutputzKey.Text) + If TextBoxOutputzKey.Text.Length = 0 Then + MessageBox.Show(My.Resources.TextBoxOutputzKey_Validating) + e.Cancel = True + Exit Sub + End If + End If + End Sub + + Private Function CreateDateTimeFormatSample() As Boolean + Try + LabelDateTimeFormatApplied.Text = DateTime.Now.ToString(CmbDateTimeFormat.Text) + Catch ex As FormatException + LabelDateTimeFormatApplied.Text = My.Resources.CreateDateTimeFormatSampleText1 + Return False + End Try + Return True + End Function + + Private Sub CmbDateTimeFormat_TextUpdate(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmbDateTimeFormat.TextUpdate + CreateDateTimeFormatSample() + End Sub + + Private Sub CmbDateTimeFormat_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmbDateTimeFormat.SelectedIndexChanged + CreateDateTimeFormatSample() + End Sub + + Private Sub CmbDateTimeFormat_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles CmbDateTimeFormat.Validating + If Not CreateDateTimeFormatSample() Then + MessageBox.Show(My.Resources.CmbDateTimeFormat_Validating) + e.Cancel = True + End If + End Sub + + Private Sub ConnectionTimeOut_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles ConnectionTimeOut.Validating + Dim tm As Integer + Try + tm = CInt(ConnectionTimeOut.Text) + Catch ex As Exception + MessageBox.Show(My.Resources.ConnectionTimeOut_ValidatingText1) + e.Cancel = True + Exit Sub + End Try + + If tm < HttpTimeOut.MinValue OrElse tm > HttpTimeOut.MaxValue Then + MessageBox.Show(My.Resources.ConnectionTimeOut_ValidatingText1) + e.Cancel = True + End If + End Sub + + Private Sub LabelDateTimeFormatApplied_VisibleChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles LabelDateTimeFormatApplied.VisibleChanged + CreateDateTimeFormatSample() + End Sub + + Private Sub TextCountApi_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TextCountApi.Validating + Dim cnt As Integer + Try + cnt = Integer.Parse(TextCountApi.Text) + Catch ex As Exception + MessageBox.Show(My.Resources.TextCountApi_Validating1) + e.Cancel = True + Exit Sub + End Try + + If cnt < 20 OrElse cnt > 200 Then + MessageBox.Show(My.Resources.TextCountApi_Validating1) + e.Cancel = True + Exit Sub + End If + End Sub + + Private Sub TextCountApiReply_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TextCountApiReply.Validating + Dim cnt As Integer + Try + cnt = Integer.Parse(TextCountApiReply.Text) + Catch ex As Exception + MessageBox.Show(My.Resources.TextCountApi_Validating1) + e.Cancel = True + Exit Sub + End Try + + If cnt < 20 OrElse cnt > 200 Then + MessageBox.Show(My.Resources.TextCountApi_Validating1) + e.Cancel = True + Exit Sub + End If + End Sub + + Public Property LimitBalloon() As Boolean + Get + Return _MyLimitBalloon + End Get + Set(ByVal value As Boolean) + _MyLimitBalloon = value + End Set + End Property + + Private Sub ComboBoxAutoShortUrlFirst_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBoxAutoShortUrlFirst.SelectedIndexChanged + If ComboBoxAutoShortUrlFirst.SelectedIndex = UrlConverter.Bitly OrElse _ + ComboBoxAutoShortUrlFirst.SelectedIndex = UrlConverter.Jmp Then + TextBitlyId.Enabled = True + TextBitlyPw.Enabled = True + Else + TextBitlyId.Enabled = False + TextBitlyPw.Enabled = False + End If + End Sub + + Private Sub ButtonBackToDefaultFontColor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonBackToDefaultFontColor.Click + lblUnread.ForeColor = System.Drawing.SystemColors.ControlText + lblUnread.Font = New Font(SystemFonts.DefaultFont, FontStyle.Bold Or FontStyle.Underline) + + lblListFont.ForeColor = System.Drawing.SystemColors.ControlText + lblListFont.Font = System.Drawing.SystemFonts.DefaultFont + + lblDetail.ForeColor = Color.FromKnownColor(System.Drawing.KnownColor.ControlText) + lblDetail.Font = System.Drawing.SystemFonts.DefaultFont + + lblInputFont.ForeColor = Color.FromKnownColor(System.Drawing.KnownColor.ControlText) + lblInputFont.Font = System.Drawing.SystemFonts.DefaultFont + + lblSelf.BackColor = Color.FromKnownColor(System.Drawing.KnownColor.AliceBlue) + + lblAtSelf.BackColor = Color.FromKnownColor(System.Drawing.KnownColor.AntiqueWhite) + + lblTarget.BackColor = Color.FromKnownColor(System.Drawing.KnownColor.LemonChiffon) + + lblAtTarget.BackColor = Color.FromKnownColor(System.Drawing.KnownColor.LavenderBlush) + + lblAtFromTarget.BackColor = Color.FromKnownColor(System.Drawing.KnownColor.Honeydew) + + lblFav.ForeColor = Color.FromKnownColor(System.Drawing.KnownColor.Red) + + lblOWL.ForeColor = Color.FromKnownColor(System.Drawing.KnownColor.Blue) + + lblInputBackcolor.BackColor = Color.FromKnownColor(System.Drawing.KnownColor.LemonChiffon) + + lblAtTo.BackColor = Color.FromKnownColor(System.Drawing.KnownColor.Pink) + + lblListBackcolor.BackColor = Color.FromKnownColor(System.Drawing.KnownColor.Window) + + lblDetailBackcolor.BackColor = Color.FromKnownColor(System.Drawing.KnownColor.Window) + + lblDetailLink.ForeColor = Color.FromKnownColor(System.Drawing.KnownColor.Blue) + + lblRetweet.ForeColor = Color.FromKnownColor(System.Drawing.KnownColor.Green) + End Sub + + Private Sub AuthorizeButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AuthorizeButton.Click + Dim user As String = Me.Username.Text.Trim + Dim pwd As String = Me.Password.Text.Trim + If String.IsNullOrEmpty(user) OrElse String.IsNullOrEmpty(pwd) Then + MessageBox.Show(My.Resources.Save_ClickText1) + Exit Sub + End If + + '?上???┃絎??絎鴻???拭 + Dim ptype As HttpConnection.ProxyType + If RadioProxyNone.Checked Then + ptype = HttpConnection.ProxyType.None + ElseIf RadioProxyIE.Checked Then + ptype = HttpConnection.ProxyType.IE + Else + ptype = HttpConnection.ProxyType.Specified + End If + Dim padr As String = TextProxyAddress.Text.Trim() + Dim pport As Integer = Integer.Parse(TextProxyPort.Text.Trim()) + Dim pusr As String = TextProxyUser.Text.Trim() + Dim ppw As String = TextProxyPassword.Text.Trim() + + '??拭?阪?????劫???? + HttpConnection.InitializeConnection(20, ptype, padr, pport, pusr, ppw) + HttpTwitter.TwitterUrl = TwitterAPIText.Text.Trim + HttpTwitter.TwitterSearchUrl = TwitterSearchAPIText.Text.Trim + If Me.AuthBasicRadio.Checked Then + tw.Initialize("", "") + Else + tw.Initialize("", "", "") + End If + Dim rslt As String = tw.Authenticate(user, pwd) + If String.IsNullOrEmpty(rslt) Then + MessageBox.Show(My.Resources.AuthorizeButton_Click1, "Authenticate", MessageBoxButtons.OK) + Me.AuthStateLabel.Text = My.Resources.AuthorizeButton_Click3 + Me.AuthUserLabel.Text = tw.Username + Else + MessageBox.Show(My.Resources.AuthorizeButton_Click2 + Environment.NewLine + rslt, "Authenticate", MessageBoxButtons.OK) + Me.AuthStateLabel.Text = My.Resources.AuthorizeButton_Click4 + Me.AuthUserLabel.Text = "" + End If + CalcApiUsing() + End Sub + + Private Sub AuthClearButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AuthClearButton.Click + tw.ClearAuthInfo() + Me.AuthStateLabel.Text = My.Resources.AuthorizeButton_Click4 + Me.AuthUserLabel.Text = "" + CalcApiUsing() + End Sub + + Private Sub AuthOAuthRadio_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AuthOAuthRadio.CheckedChanged + If tw Is Nothing Then Exit Sub + If AuthBasicRadio.Checked Then + 'BASIC茯?┝????粋;腓?+ tw.Initialize("", "") + Me.AuthStateLabel.Enabled = False + Me.AuthUserLabel.Enabled = False + Me.AuthClearButton.Enabled = False + Else + tw.Initialize("", "", "") + Me.AuthStateLabel.Enabled = True + Me.AuthUserLabel.Enabled = True + Me.AuthClearButton.Enabled = True + End If + Me.AuthStateLabel.Text = My.Resources.AuthorizeButton_Click4 + Me.AuthUserLabel.Text = "" + CalcApiUsing() + End Sub + + Private Sub DisplayApiMaxCount() + If TwitterApiInfo.MaxCount > -1 Then + LabelApiUsing.Text = String.Format(My.Resources.SettingAPIUse1, TwitterApiInfo.UsingCount, TwitterApiInfo.MaxCount) + Else + LabelApiUsing.Text = String.Format(My.Resources.SettingAPIUse1, TwitterApiInfo.UsingCount, "???") + End If + End Sub + + Private Sub CalcApiUsing() + Dim UsingApi As Integer = 0 + Dim tmp As Integer + Dim ListsTabNum As Integer = 0 + + Try + ' ???莎桁???????Nothing????????+ ListsTabNum = TabInformations.GetInstance.GetTabsByType(TabUsageType.Lists).Count + Catch ex As Exception + Exit Sub + End Try + + ' Recent荐?? 0????????+ If Integer.TryParse(TimelinePeriod.Text, tmp) Then + If tmp <> 0 Then + UsingApi += 3600 \ tmp + End If + End If + + ' Reply荐?? 0????????+ If Integer.TryParse(ReplyPeriod.Text, tmp) Then + If tmp <> 0 Then + UsingApi += 3600 \ tmp + End If + End If + + ' DM荐?? 0???????????拭筝≧? + If Integer.TryParse(DMPeriod.Text, tmp) Then + If tmp <> 0 Then + UsingApi += (3600 \ tmp) * 2 + End If + End If + + ' Lists?帥?荐?? 0????????+ If Integer.TryParse(ListsPeriod.Text, tmp) Then + If tmp <> 0 Then + UsingApi += (3600 \ tmp) * ListsTabNum + End If + End If + + If tw IsNot Nothing Then + If TwitterApiInfo.MaxCount = -1 Then + If Twitter.AccountState = ACCOUNT_STATE.Valid Then + TwitterApiInfo.UsingCount = UsingApi + Dim proc As New Thread(New Threading.ThreadStart(Sub() + tw.GetInfoApi(Nothing) '???????惹???nfoCount??????????わ?-1鐚?+ If Me.IsHandleCreated Then Invoke(New MethodInvoker(AddressOf DisplayApiMaxCount)) + End Sub)) + proc.Start() + Else + LabelApiUsing.Text = String.Format(My.Resources.SettingAPIUse1, UsingApi, "???") + End If + Else + LabelApiUsing.Text = String.Format(My.Resources.SettingAPIUse1, UsingApi, TwitterApiInfo.MaxCount) + End If + End If + + + LabelPostAndGet.Visible = CheckPostAndGet.Checked + + End Sub + + Private Sub CheckPostAndGet_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckPostAndGet.CheckedChanged + CalcApiUsing() + End Sub + + Private Sub Setting_Shown(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Shown + Do + Thread.Sleep(10) + If Me.Disposing OrElse Me.IsDisposed Then Exit Sub + Loop Until Me.IsHandleCreated + CalcApiUsing() + End Sub + + Private Sub ButtonApiCalc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonApiCalc.Click + CalcApiUsing() + End Sub + + Private Sub New() + + ' ????若??冴?????吟?????у?荀????? + InitializeComponent() + + ' InitializeComponent() ?若??冴?????у??????申????障???+ + End Sub + + Public Shared ReadOnly Property Instance As Setting + Get + Return _instance + End Get + End Property + + Private Function BitlyValidation(ByVal id As String, ByVal apikey As String) As Boolean + If String.IsNullOrEmpty(id) OrElse String.IsNullOrEmpty(apikey) Then + Return False + End If + + Dim req As String = "http://api.bit.ly/v3/validate" + Dim content As String = "" + Dim param As New Dictionary(Of String, String) + + param.Add("login", "tweenapi") + param.Add("apiKey", "R_c5ee0e30bdfff88723c4457cc331886b") + param.Add("x_login", id) + param.Add("x_apiKey", apikey) + param.Add("format", "txt") + + If Not (New HttpVarious).PostData(req, param, content) Then + Return True ' ??拭????若??翫????????????????????c?????????+ ElseIf content.Trim() = "1" Then + Return True ' 罎?┝??? + ElseIf content.Trim() = "0" Then + Return False ' 罎?┝紊掩? API?????D????水???????? + Else + Return True ' 荀鎘??綽??鐚??篆<?????????с?????????????????с???????????????? + End If + End Function + + Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel.Click + _ValidationError = False + End Sub + + Public Property HotkeyEnabled As Boolean + Public Property HotkeyKey As Keys + Public Property HotkeyValue As Integer + Public Property HotkeyMod As Keys + + Private Sub HotkeyText_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles HotkeyText.KeyDown + 'KeyValue?у?絎????? + '茵?ず?????????????????????? + HotkeyText.Text = e.KeyCode.ToString + HotkeyCode.Text = e.KeyValue.ToString + HotkeyText.Tag = e.KeyCode + e.Handled = True + e.SuppressKeyPress = True + End Sub + + Private Sub HotkeyCheck_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HotkeyCheck.CheckedChanged + HotkeyCtrl.Enabled = HotkeyCheck.Checked + HotkeyAlt.Enabled = HotkeyCheck.Checked + HotkeyShift.Enabled = HotkeyCheck.Checked + HotkeyWin.Enabled = HotkeyCheck.Checked + HotkeyText.Enabled = HotkeyCheck.Checked + HotkeyCode.Enabled = HotkeyCheck.Checked + End Sub + + Public Property BlinkNewMentions As Boolean + + Private Sub GetMoreTextCountApi_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles GetMoreTextCountApi.Validating + Dim cnt As Integer + Try + cnt = Integer.Parse(GetMoreTextCountApi.Text) + Catch ex As Exception + MessageBox.Show(My.Resources.TextCountApi_Validating1) + e.Cancel = True + Exit Sub + End Try + + If Not cnt = 0 AndAlso (cnt < 20 OrElse cnt > 200) Then + MessageBox.Show(My.Resources.TextCountApi_Validating1) + e.Cancel = True + Exit Sub + End If + End Sub + + Private Sub UseChangeGetCount_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles UseChangeGetCount.CheckedChanged + GetMoreTextCountApi.Enabled = UseChangeGetCount.Checked + FirstTextCountApi.Enabled = UseChangeGetCount.Checked + Label53.Enabled = UseChangeGetCount.Checked + Label66.Enabled = UseChangeGetCount.Checked + SearchTextCountApi.Enabled = UseChangeGetCount.Checked + FavoritesTextCountApi.Enabled = UseChangeGetCount.Checked + End Sub + + Private Sub FirstTextCountApi_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles FirstTextCountApi.Validating + Dim cnt As Integer + Try + cnt = Integer.Parse(FirstTextCountApi.Text) + Catch ex As Exception + MessageBox.Show(My.Resources.TextCountApi_Validating1) + e.Cancel = True + Exit Sub + End Try + + If Not cnt = 0 AndAlso (cnt < 20 OrElse cnt > 200) Then + MessageBox.Show(My.Resources.TextCountApi_Validating1) + e.Cancel = True + Exit Sub + End If + End Sub + + Private Sub CheckEnableBasicAuth_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckEnableBasicAuth.CheckedChanged + AuthBasicRadio.Enabled = CheckEnableBasicAuth.Checked + End Sub + + Private Sub SearchTextCountApi_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles SearchTextCountApi.Validating + Dim cnt As Integer + Try + cnt = Integer.Parse(SearchTextCountApi.Text) + Catch ex As Exception + MessageBox.Show(My.Resources.TextsearchCountApi_Validating1) + e.Cancel = True + Exit Sub + End Try + + If Not cnt = 0 AndAlso (cnt < 20 OrElse cnt > 100) Then + MessageBox.Show(My.Resources.TextSearchCountApi_Validating1) + e.Cancel = True + Exit Sub + End If + End Sub + + Private Sub FavoritesTextCountApi_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles FavoritesTextCountApi.Validating + Dim cnt As Integer + Try + cnt = Integer.Parse(FavoritesTextCountApi.Text) + Catch ex As Exception + MessageBox.Show(My.Resources.TextCountApi_Validating1) + e.Cancel = True + Exit Sub + End Try + + If Not cnt = 0 AndAlso (cnt < 20 OrElse cnt > 200) Then + MessageBox.Show(My.Resources.TextCountApi_Validating1) + e.Cancel = True + Exit Sub + End If + End Sub +End Class + Added: branches/UserStream/Tween/Setting.zh-CHS.resx =================================================================== --- branches/UserStream/Tween/Setting.zh-CHS.resx (rev 0) +++ branches/UserStream/Tween/Setting.zh-CHS.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,916 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 41, 12 + + + ?????/value> + + + 29, 12 + + + 絲?? + + + 隋?? + + + ??? + + + 101, 12 + + + 羔???贋??顔?(腱? + + + 腱?拭?贋??顔?(腱? + + + 101, 12 + + + ????区????羔?? + + + 72, 16 + + + 臀?減綏画? + + + 173, 12 + + + ??;筝??紊翫??丈?紊у?(藥??16) + + + 101, 12 + + + 羔??????????? + + + 48, 16 + + + ??? + + + 41, 12 + + + ??ず??/value> + + + 307, 13 + + + ???莅丞舟???ず?鰹???????????鐘???々絨沿?茴???障? + + + ??? + + + 113, 12 + + + ????峨???????羈?/value> + + + 絖??????画?臀?/value> + + + ?????/value> + + + 53, 12 + + + ??ィ羔?? + + + ?√?藥????/value> + + + ?????/value> + + + 65, 12 + + + 羔????丈・ + + + 75, 22 + + + 絖??&&蘂?? + + + 65, 12 + + + 莨??罅??篏?/value> + + + 125, 12 + + + 莨??罅??羇紙??????? + + + 75, 22 + + + 絖??&&蘂?? + + + 53, 12 + + + ???絖?? + + + ??賢羔?????????/value> + + + 77, 12 + + + 羔????????/value> + + + ???羔?? + + + ??賢羔????篋榊??九?羔?? + + + @膸??筝?査?????/value> + + + 101, 12 + + + ??賢篋榊??九?羔?? + + + @膸??綏援?羔?? + + + ??訓?????/value> + + + 75, 22 + + + 絖??&&蘂?? + + + 65, 12 + + + 羔?????? + + + ?????/value> + + + 77, 12 + + + ????恰絵羔?? + + + ?????/value> + + + 53, 12 + + + ?区?羔?? + + + 75, 22 + + + 絖??&&蘂?? + + + 53, 12 + + + ??;絖?? + + + ??/value> + + + ???ID + + + ?窮О + + + 137, 12 + + + ?井???????ず????桁? + + + 132, 16 + + + ???篏睡?[TWNv???] + + + 125, 12 + + + ??;筝???ユ??狗??弱? + + + 48, 16 + + + ?丞ず + + + 101, 12 + + + 羔?????ご??丈? + + + 108, 16 + + + 篏睡?Ctrl+Enter + + + 143, 12 + + + ???綽????藥????nter) + + + ???膊∞? + + + ??? + + + 149, 12 + + + ????亥?羔???倶??ゆ???? + + + ??? + + + 101, 12 + + + ?劫?腦??????? + + + ???腮?? + + + 77, 12 + + + 腦???絨??? + + + 膽??筝堺??????/value> + + + 65, 12 + + + 羌頵??莊?? + + + 84, 16 + + + ?丞ず?????/value> + + + 101, 12 + + + ??????貴???ず + + + 41, 12 + + + ?????value> + + + (?? + + + ?????/value> + + + ???筝??羔?? + + + @???莚紙? + + + ?????/value> + + + ?????@???莚紙?) + + + ?紙?莚紙?/?紙???? + + + 羔????絅遵??/?恰絵??/value> + + + 101, 12 + + + ???箙???????? + + + ??? + + + 77, 12 + + + 莨??莨??#Tag + + + 48, 16 + + + ??? + + + 莨??莨??@ID + + + 48, 16 + + + ??? + + + 119, 12 + + + URL???膽??篌??篏睡? + + + 138, 16 + + + 筝????rotect?????/value> + + + 101, 12 + + + 紊????ィ?????? + + + 72, 16 + + + ???膽?? + + + 95, 12 + + + 膽??莨??罅??URL + + + 323, 12 + + + 篌???域????羔???ラ?莚?av膸?????紜??羌??鐚?ィ?????? + + + 125, 12 + + + ???筝ユ?罍???区?膸?? + + + 48, 16 + + + 罍?? + + + 48, 16 + + + 絮?? + + + 95, 12 + + + 紊??膽??臀??URL + + + 羌頵?/value> + + + 茵?減 + + + 77, 12 + + + ?丞ず?丞?蘂?? + + + 48, 16 + + + ??? + + + 65, 12 + + + ????????/value> + + + 48, 16 + + + ??? + + + 65, 12 + + + ?糸??????/value> + + + 77, 12 + + + ???????劫? + + + 48, 16 + + + ?阪? + + + 羔?????茵??膾?/value> + + + 48, 16 + + + ?丞ず + + + 173, 12 + + + 羔??????絖??膈???????AA) + + + 132, 16 + + + ???(???篌?????) + + + 113, 12 + + + ??訓????????群莚?/value> + + + 48, 16 + + + ??? + + + ?????/value> + + + ???蘂????? + + + 蘂?????鐚????/value> + + + 137, 12 + + + ???莚糸?紊??????ュ???/value> + + + 113, 12 + + + ???????句??∫???/value> + + + 113, 12 + + + ???筝??腓堺?莚糸???/value> + + + 48, 16 + + + ??? + + + 48, 16 + + + ??? + + + 77, 12 + + + 羂????ず??? + + + 72, 16 + + + ?????? + + + 161, 12 + + + ???????桁?(絖??????俄?) + + + 48, 16 + + + ??? + + + ?丞ず + + + 絖??筝????/value> + + + ??? + + + ???莅∞? + + + 251, 12 + + + ????傑?羔??????羔???狗?篌????PI?????/value> + + + 101, 12 + + + ??;?贋??顔?(腱? + + + ?糸??号? + + + 羝?? + + + 綏牙?綵?/value> + + + ?糸??倶? + + + ?糸? + + + 101, 12 + + + ??刈?贋??顔?(腱? + + + 101, 12 + + + ????贋??顔?(腱? + + + ??ィ?倶???/value> + + + 143, 12 + + + 藥??莚糸?ィ?????莚糸?? + + + 161, 12 + + + ????区キ??????羈???桁?茵?/value> + + + 48, 16 + + + ?桁?/value> + + + 89, 12 + + + ????句??????/value> + + + 48, 16 + + + 罍?? + + + 72, 16 + + + ???莪?? + + + 89, 12 + + + ????区??????value> + + + 48, 16 + + + ?桁?/value> + + + ??? + + + 143, 21 + + + 215, 12 + + + Search API URL (search.twitter.com) + + + 143, 21 + + + 102, 16 + + + 篏睡?HTTPS??拭 + + + 317, 12 + + + ?糸??育?膵???域??句?莚??莪??筝堺?紊х??若?藥????0腱?? + + + 77, 12 + + + 莇???狗?(腱? + + + 篁g?莅丞舟 + + + 281, 12 + + + ?私撮???????糸?莅よ??駈?莚桁???????????????/value> + + + 47, 12 + + + 絲??(&W) + + + 59, 12 + + + ?????&U) + + + 47, 12 + + + 腴??&P) + + + 47, 12 + + + ?医?(&X) + + + 59, 16 + + + ???箙?/value> + + + 179, 16 + + + 篏睡?InternetExplorer???臀?/value> + + + 59, 16 + + + 筝?戎??/value> + + + 216, 16 + + + 篏睡?nico.ms膽??Niconico?????RL + + + 59, 12 + + + 莨????RL + + + 53, 12 + + + 紊?柑??? + + + 90, 16 + + + 絲劫?Outputz + + + 莅丞舟 + + + BASIC茯?┝?吾?紊????┗?????/value> + + + ????若??????????????/value> + + + 罨<????????井??????違??????┃絎????/value> + + + Favorites/PublicSearch??????/value> + + \ No newline at end of file Added: branches/UserStream/Tween/ShieldIcon.vb =================================================================== --- branches/UserStream/Tween/ShieldIcon.vb (rev 0) +++ branches/UserStream/Tween/ShieldIcon.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,87 @@ +鏤? Tween - Client of Twitter +' Copyright (c) 2007-2010 kiri_feather (@kiri_feather) +' (c) 2008-2010 Moz (@syo68k) +' (c) 2008-2010 takeshik (@takeshik) +' All rights reserved. +' +' This file is part of Tween. +' +' This program is free software; you can redistribute it and/or modify it +' under the terms of the GNU General Public License as published by the Free +' Software Foundation; either version 3 of the License, or (at your option) +' any later version. +' +' This program is distributed in the hope that it will be useful, but +' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +' for more details. +' +' You should have received a copy of the GNU General Public License along +' with this program. If not, see , or write to +' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, +' Boston, MA 02110-1301, USA. + +Imports System.Runtime.InteropServices +Imports System + + +Public Class ShieldIcon + + + _ + Private Structure SHSTOCKICONINFO + Public cbSize As Integer + Public hIcon As IntPtr + Public iSysImageIndex As Integer + Public iIcon As Integer + _ + Public szPath As String + End Structure + + Private Declare Function SHGetStockIconInfo Lib "shell32.dll" (ByVal siid As Integer, ByVal uFlags As UInteger, ByRef psii As SHSTOCKICONINFO) As Integer + + Private Declare Function DestroyIcon Lib "shell32.dll" (ByVal hIcon As IntPtr) As Boolean + + + Const SIID_SHIELD As Integer = 77 + Const SHGFI_ICON As UInteger = &H100 + Const SHGFI_SMALLICON As UInteger = &H1 + + + Private icondata As Image = Nothing + Private sii As SHSTOCKICONINFO + + + Public Sub New() + 'NT6 kernel??????罎?? + If Not IsNT6() Then + icondata = Nothing + Exit Sub + End If + + Try + sii = New SHSTOCKICONINFO + sii.cbSize = Marshal.SizeOf(sii) + sii.hIcon = IntPtr.Zero + SHGetStockIconInfo(SIID_SHIELD, SHGFI_ICON Or SHGFI_SMALLICON, sii) + icondata = Bitmap.FromHicon(sii.hIcon) + Catch ex As Exception + icondata = Nothing + End Try + End Sub + + Public Sub Dispose() + If icondata IsNot Nothing Then + icondata.Dispose() + End If + End Sub + + Public ReadOnly Property Icon() As Image + Get + 'Return icondata + '?激?????≪??潟?????若???????????????????????????? + Return Nothing + End Get + End Property + +End Class Added: branches/UserStream/Tween/ShortUrl.vb =================================================================== --- branches/UserStream/Tween/ShortUrl.vb (rev 0) +++ branches/UserStream/Tween/ShortUrl.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,231 @@ +鏤?mports System.Text.RegularExpressions +Imports System.Web + +Public Class ShortUrl + Private Shared _ShortUrlService() As String = { _ + "http://t.co/", _ + "http://tinyurl.com/", _ + "http://is.gd/", _ + "http://snipurl.com/", _ + "http://snurl.com/", _ + "http://nsfw.in/", _ + "http://qurlyq.com/", _ + "http://dwarfurl.com/", _ + "http://icanhaz.com/", _ + "http://tiny.cc/", _ + "http://urlenco.de/", _ + "http://bit.ly/", _ + "http://piurl.com/", _ + "http://linkbee.com/", _ + "http://traceurl.com/", _ + "http://twurl.nl/", _ + "http://cli.gs/", _ + "http://rubyurl.com/", _ + "http://budurl.com/", _ + "http://ff.im/", _ + "http://twitthis.com/", _ + "http://blip.fm/", _ + "http://tumblr.com/", _ + "http://www.qurl.com/", _ + "http://digg.com/", _ + "http://ustre.am/", _ + "http://pic.gd/", _ + "http://airme.us/", _ + "http://qurl.com/", _ + "http://bctiny.com/", _ + "http://j.mp/", _ + "http://goo.gl/", _ + "http://ow.ly/", _ + "http://bkite.com/", _ + "http://youtu.be/", _ + "http://dlvr.it/", _ + "http://p.tl/", _ + "http://ht.ly/", _ + "http://tl.gd/", _ + "http://htn.to/", _ + "http://amzn.to/", _ + "http://flic.kr/", _ + "http://moi.st/" _ + } + + Private Shared _bitlyId As String = "" + Private Shared _bitlyKey As String = "" + Private Shared _isresolve As Boolean = True + + Private Shared ReadOnly _lockObj As New Object + + Public Shared WriteOnly Property BitlyId() As String + Set(ByVal value As String) + _bitlyId = value + End Set + End Property + + Public Shared WriteOnly Property BitlyKey() As String + Set(ByVal value As String) + _bitlyKey = value + End Set + End Property + + Public Shared Property IsResolve As Boolean + Get + Return _isresolve + End Get + Set(ByVal value As Boolean) + _isresolve = value + End Set + End Property + + Public Shared Function Resolve(ByVal orgData As String) As String + If _isresolve Then + Static urlCache As New Dictionary(Of String, String) + SyncLock _lockObj + If urlCache.Count > 500 Then + urlCache.Clear() '絎??????????? + End If + End SyncLock + + Dim m As MatchCollection = Regex.Matches(orgData, "http://.+?/)(?[^""]+)""", RegexOptions.IgnoreCase) + Dim urlList As New List(Of String) + For Each orgUrlMatch As Match In m + Dim orgUrl As String = orgUrlMatch.Result("${svc}") + Dim orgUrlPath As String = orgUrlMatch.Result("${path}") + If Array.IndexOf(_ShortUrlService, orgUrl) > -1 AndAlso _ + Not urlList.Contains(orgUrl + orgUrlPath) Then + SyncLock _lockObj + urlList.Add(orgUrl + orgUrlPath) + End SyncLock + End If + Next + For Each orgUrl As String In urlList + If urlCache.ContainsKey(orgUrl) Then + Try + orgData = orgData.Replace(" src.Length AndAlso Not src.Contains("?") AndAlso Not src.Contains("#") Then + ' ???????激??????ィ羝??????翫????膰????? + content = src + Exit Select + End If + If Not (New HttpVarious).PostData("http://tinyurl.com/api-create.php?url=" + SrcUrl, Nothing, content) Then + Return "Can't convert" + End If + End If + If Not content.StartsWith("http://tinyurl.com/") Then + Return "Can't convert" + End If + Case UrlConverter.Isgd + If SrcUrl.StartsWith("http") Then + If "http://is.gd/xxxx".Length > src.Length AndAlso Not src.Contains("?") AndAlso Not src.Contains("#") Then + ' ???????激??????ィ羝??????翫????膰????? + content = src + Exit Select + End If + If Not (New HttpVarious).PostData("http://is.gd/api.php?longurl=" + SrcUrl, Nothing, content) Then + Return "Can't convert" + End If + End If + If Not content.StartsWith("http://is.gd/") Then + Return "Can't convert" + End If + Case UrlConverter.Twurl + If SrcUrl.StartsWith("http") Then + If "http://twurl.nl/xxxxxx".Length > src.Length AndAlso Not src.Contains("?") AndAlso Not src.Contains("#") Then + ' ???????激??????ィ羝??????翫????膰????? + content = src + Exit Select + End If + param.Add("link[url]", SrcUrl) + If Not (New HttpVarious).PostData("http://tweetburner.com/links", param, content) Then + Return "Can't convert" + End If + End If + If Not content.StartsWith("http://twurl.nl/") Then + Return "Can't convert" + End If + Case UrlConverter.Bitly, UrlConverter.Jmp + Dim BitlyLogin As String = "tweenapi" + Dim BitlyApiKey As String = "R_c5ee0e30bdfff88723c4457cc331886b" + If _bitlyId <> "" AndAlso BitlyApiKey <> "" Then + BitlyLogin = _bitlyId + BitlyApiKey = _bitlyKey + End If + Const BitlyApiVersion As String = "2.0.1" + If SrcUrl.StartsWith("http") Then + If "http://bit.ly/xxxx".Length > src.Length AndAlso Not src.Contains("?") AndAlso Not src.Contains("#") Then + ' ???????激??????ィ羝??????翫????膰????? + content = src + Exit Select + End If + Dim req As String = "" + If ConverterType = UrlConverter.Bitly Then + req = "http://api.bit.ly/shorten?version=" + Else + req = "http://api.j.mp/shorten?version=" + End If + req += BitlyApiVersion + _ + "&login=" + BitlyLogin + _ + "&apiKey=" + BitlyApiKey + _ + "&longUrl=" + SrcUrl + If BitlyLogin <> "tweenapi" Then req += "&history=1" + If Not (New HttpVarious).PostData(req, Nothing, content) Then + Return "Can't convert" + Else + 'Dim rx As Regex = New Regex("""shortUrl"": ""(?.*?)""") + If Regex.Match(content, """shortUrl"": ""(?.*?)""").Success Then + content = Regex.Match(content, """shortUrl"": ""(?.*?)""").Groups("ShortUrl").Value + End If + End If + End If + End Select + '紊?????????茵???ゅサ + Dim ch As Char() = {ControlChars.Cr, ControlChars.Lf} + content = content.TrimEnd(ch) + If src.Length < content.Length Then content = src ' ?х軒????????????????????х軒???URL?????+ Return content + End Function +End Class Added: branches/UserStream/Tween/ShowUserInfo.Designer.vb =================================================================== --- branches/UserStream/Tween/ShowUserInfo.Designer.vb (rev 0) +++ branches/UserStream/Tween/ShowUserInfo.Designer.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,494 @@ +鏤?Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ +Partial Class ShowUserInfo + Inherits System.Windows.Forms.Form + + '????若?????潟??若??潟????荀с?????若??≪?????????? dispose ????若??若??ゃ??????? + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Windows ????若? ????ゃ??若?綽???с???+ Private components As System.ComponentModel.IContainer + + '?<?: 篁ヤ????????若??c? Windows ????若? ????ゃ??若?綽???с???+ 'Windows ????若? ????ゃ??若?篏睡????紊???с??障??? + '?潟???????c??若?篏帥?????眼?????с??????? + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(ShowUserInfo)) + Me.ButtonClose = New System.Windows.Forms.Button() + Me.Label1 = New System.Windows.Forms.Label() + Me.Label2 = New System.Windows.Forms.Label() + Me.Label3 = New System.Windows.Forms.Label() + Me.Label4 = New System.Windows.Forms.Label() + Me.LinkLabelWeb = New System.Windows.Forms.LinkLabel() + Me.LabelLocation = New System.Windows.Forms.Label() + Me.LabelName = New System.Windows.Forms.Label() + Me.Label5 = New System.Windows.Forms.Label() + Me.Label6 = New System.Windows.Forms.Label() + Me.LinkLabelFollowing = New System.Windows.Forms.LinkLabel() + Me.LinkLabelFollowers = New System.Windows.Forms.LinkLabel() + Me.Label7 = New System.Windows.Forms.Label() + Me.LabelCreatedAt = New System.Windows.Forms.Label() + Me.Label8 = New System.Windows.Forms.Label() + Me.LinkLabelTweet = New System.Windows.Forms.LinkLabel() + Me.Label9 = New System.Windows.Forms.Label() + Me.LinkLabelFav = New System.Windows.Forms.LinkLabel() + Me.ButtonFollow = New System.Windows.Forms.Button() + Me.ButtonUnFollow = New System.Windows.Forms.Button() + Me.LabelIsProtected = New System.Windows.Forms.Label() + Me.LabelIsFollowing = New System.Windows.Forms.Label() + Me.LabelIsFollowed = New System.Windows.Forms.Label() + Me.UserPicture = New System.Windows.Forms.PictureBox() + Me.ContextMenuUserPicture = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.ChangeIconToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.BackgroundWorkerImageLoader = New System.ComponentModel.BackgroundWorker() + Me.LabelScreenName = New System.Windows.Forms.Label() + Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components) + Me.LinkLabel1 = New System.Windows.Forms.LinkLabel() + Me.ContextMenuRecentPostBrowser = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.SelectionCopyToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.SelectAllToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.LabelRecentPost = New System.Windows.Forms.Label() + Me.LabelIsVerified = New System.Windows.Forms.Label() + Me.ButtonSearchPosts = New System.Windows.Forms.Button() + Me.LabelId = New System.Windows.Forms.Label() + Me.Label12 = New System.Windows.Forms.Label() + Me.ButtonEdit = New System.Windows.Forms.Button() + Me.RecentPostBrowser = New System.Windows.Forms.WebBrowser() + Me.DescriptionBrowser = New System.Windows.Forms.WebBrowser() + Me.OpenFileDialogIcon = New System.Windows.Forms.OpenFileDialog() + Me.TextBoxName = New System.Windows.Forms.TextBox() + Me.TextBoxLocation = New System.Windows.Forms.TextBox() + Me.TextBoxWeb = New System.Windows.Forms.TextBox() + Me.TextBoxDescription = New System.Windows.Forms.TextBox() + Me.ButtonBlock = New System.Windows.Forms.Button() + Me.ButtonReportSpam = New System.Windows.Forms.Button() + Me.ButtonBlockDestroy = New System.Windows.Forms.Button() + Me.LinkLabel2 = New System.Windows.Forms.LinkLabel() + CType(Me.UserPicture, System.ComponentModel.ISupportInitialize).BeginInit() + Me.ContextMenuUserPicture.SuspendLayout() + Me.ContextMenuRecentPostBrowser.SuspendLayout() + Me.SuspendLayout() + ' + 'ButtonClose + ' + Me.ButtonClose.DialogResult = System.Windows.Forms.DialogResult.Cancel + resources.ApplyResources(Me.ButtonClose, "ButtonClose") + Me.ButtonClose.Name = "ButtonClose" + Me.ButtonClose.UseVisualStyleBackColor = True + ' + 'Label1 + ' + resources.ApplyResources(Me.Label1, "Label1") + Me.Label1.Name = "Label1" + Me.Label1.UseMnemonic = False + ' + 'Label2 + ' + resources.ApplyResources(Me.Label2, "Label2") + Me.Label2.Name = "Label2" + ' + 'Label3 + ' + resources.ApplyResources(Me.Label3, "Label3") + Me.Label3.Name = "Label3" + ' + 'Label4 + ' + resources.ApplyResources(Me.Label4, "Label4") + Me.Label4.Name = "Label4" + ' + 'LinkLabelWeb + ' + Me.LinkLabelWeb.AutoEllipsis = True + Me.LinkLabelWeb.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + resources.ApplyResources(Me.LinkLabelWeb, "LinkLabelWeb") + Me.LinkLabelWeb.Name = "LinkLabelWeb" + Me.LinkLabelWeb.TabStop = True + Me.LinkLabelWeb.UseMnemonic = False + ' + 'LabelLocation + ' + Me.LabelLocation.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + resources.ApplyResources(Me.LabelLocation, "LabelLocation") + Me.LabelLocation.Name = "LabelLocation" + Me.LabelLocation.UseMnemonic = False + ' + 'LabelName + ' + Me.LabelName.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + resources.ApplyResources(Me.LabelName, "LabelName") + Me.LabelName.Name = "LabelName" + Me.LabelName.UseMnemonic = False + ' + 'Label5 + ' + resources.ApplyResources(Me.Label5, "Label5") + Me.Label5.Name = "Label5" + ' + 'Label6 + ' + resources.ApplyResources(Me.Label6, "Label6") + Me.Label6.Name = "Label6" + ' + 'LinkLabelFollowing + ' + resources.ApplyResources(Me.LinkLabelFollowing, "LinkLabelFollowing") + Me.LinkLabelFollowing.Name = "LinkLabelFollowing" + Me.LinkLabelFollowing.TabStop = True + ' + 'LinkLabelFollowers + ' + resources.ApplyResources(Me.LinkLabelFollowers, "LinkLabelFollowers") + Me.LinkLabelFollowers.Name = "LinkLabelFollowers" + Me.LinkLabelFollowers.TabStop = True + ' + 'Label7 + ' + resources.ApplyResources(Me.Label7, "Label7") + Me.Label7.Name = "Label7" + ' + 'LabelCreatedAt + ' + resources.ApplyResources(Me.LabelCreatedAt, "LabelCreatedAt") + Me.LabelCreatedAt.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + Me.LabelCreatedAt.Name = "LabelCreatedAt" + ' + 'Label8 + ' + resources.ApplyResources(Me.Label8, "Label8") + Me.Label8.Name = "Label8" + ' + 'LinkLabelTweet + ' + resources.ApplyResources(Me.LinkLabelTweet, "LinkLabelTweet") + Me.LinkLabelTweet.Name = "LinkLabelTweet" + Me.LinkLabelTweet.TabStop = True + ' + 'Label9 + ' + resources.ApplyResources(Me.Label9, "Label9") + Me.Label9.Name = "Label9" + ' + 'LinkLabelFav + ' + resources.ApplyResources(Me.LinkLabelFav, "LinkLabelFav") + Me.LinkLabelFav.Name = "LinkLabelFav" + Me.LinkLabelFav.TabStop = True + ' + 'ButtonFollow + ' + resources.ApplyResources(Me.ButtonFollow, "ButtonFollow") + Me.ButtonFollow.Name = "ButtonFollow" + Me.ButtonFollow.UseVisualStyleBackColor = True + ' + 'ButtonUnFollow + ' + resources.ApplyResources(Me.ButtonUnFollow, "ButtonUnFollow") + Me.ButtonUnFollow.Name = "ButtonUnFollow" + Me.ButtonUnFollow.UseVisualStyleBackColor = True + ' + 'LabelIsProtected + ' + resources.ApplyResources(Me.LabelIsProtected, "LabelIsProtected") + Me.LabelIsProtected.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + Me.LabelIsProtected.Name = "LabelIsProtected" + ' + 'LabelIsFollowing + ' + resources.ApplyResources(Me.LabelIsFollowing, "LabelIsFollowing") + Me.LabelIsFollowing.Name = "LabelIsFollowing" + ' + 'LabelIsFollowed + ' + resources.ApplyResources(Me.LabelIsFollowed, "LabelIsFollowed") + Me.LabelIsFollowed.Name = "LabelIsFollowed" + ' + 'UserPicture + ' + Me.UserPicture.BackColor = System.Drawing.Color.White + Me.UserPicture.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.UserPicture.ContextMenuStrip = Me.ContextMenuUserPicture + resources.ApplyResources(Me.UserPicture, "UserPicture") + Me.UserPicture.Name = "UserPicture" + Me.UserPicture.TabStop = False + ' + 'ContextMenuUserPicture + ' + Me.ContextMenuUserPicture.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ChangeIconToolStripMenuItem}) + Me.ContextMenuUserPicture.Name = "ContextMenuStrip2" + resources.ApplyResources(Me.ContextMenuUserPicture, "ContextMenuUserPicture") + ' + 'ChangeIconToolStripMenuItem + ' + Me.ChangeIconToolStripMenuItem.Name = "ChangeIconToolStripMenuItem" + resources.ApplyResources(Me.ChangeIconToolStripMenuItem, "ChangeIconToolStripMenuItem") + ' + 'BackgroundWorkerImageLoader + ' + ' + 'LabelScreenName + ' + Me.LabelScreenName.BackColor = System.Drawing.SystemColors.ButtonHighlight + Me.LabelScreenName.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + resources.ApplyResources(Me.LabelScreenName, "LabelScreenName") + Me.LabelScreenName.Name = "LabelScreenName" + ' + 'ToolTip1 + ' + Me.ToolTip1.ShowAlways = True + ' + 'LinkLabel1 + ' + resources.ApplyResources(Me.LinkLabel1, "LinkLabel1") + Me.LinkLabel1.Name = "LinkLabel1" + Me.LinkLabel1.TabStop = True + ' + 'ContextMenuRecentPostBrowser + ' + Me.ContextMenuRecentPostBrowser.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.SelectionCopyToolStripMenuItem, Me.SelectAllToolStripMenuItem}) + Me.ContextMenuRecentPostBrowser.Name = "ContextMenuStrip1" + resources.ApplyResources(Me.ContextMenuRecentPostBrowser, "ContextMenuRecentPostBrowser") + ' + 'SelectionCopyToolStripMenuItem + ' + Me.SelectionCopyToolStripMenuItem.Name = "SelectionCopyToolStripMenuItem" + resources.ApplyResources(Me.SelectionCopyToolStripMenuItem, "SelectionCopyToolStripMenuItem") + ' + 'SelectAllToolStripMenuItem + ' + Me.SelectAllToolStripMenuItem.Name = "SelectAllToolStripMenuItem" + resources.ApplyResources(Me.SelectAllToolStripMenuItem, "SelectAllToolStripMenuItem") + ' + 'LabelRecentPost + ' + resources.ApplyResources(Me.LabelRecentPost, "LabelRecentPost") + Me.LabelRecentPost.Name = "LabelRecentPost" + ' + 'LabelIsVerified + ' + resources.ApplyResources(Me.LabelIsVerified, "LabelIsVerified") + Me.LabelIsVerified.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + Me.LabelIsVerified.Name = "LabelIsVerified" + ' + 'ButtonSearchPosts + ' + resources.ApplyResources(Me.ButtonSearchPosts, "ButtonSearchPosts") + Me.ButtonSearchPosts.Name = "ButtonSearchPosts" + Me.ButtonSearchPosts.UseVisualStyleBackColor = True + ' + 'LabelId + ' + resources.ApplyResources(Me.LabelId, "LabelId") + Me.LabelId.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + Me.LabelId.Name = "LabelId" + ' + 'Label12 + ' + resources.ApplyResources(Me.Label12, "Label12") + Me.Label12.Name = "Label12" + ' + 'ButtonEdit + ' + resources.ApplyResources(Me.ButtonEdit, "ButtonEdit") + Me.ButtonEdit.Name = "ButtonEdit" + Me.ButtonEdit.UseVisualStyleBackColor = True + ' + 'RecentPostBrowser + ' + Me.RecentPostBrowser.AllowWebBrowserDrop = False + Me.RecentPostBrowser.ContextMenuStrip = Me.ContextMenuRecentPostBrowser + Me.RecentPostBrowser.IsWebBrowserContextMenuEnabled = False + resources.ApplyResources(Me.RecentPostBrowser, "RecentPostBrowser") + Me.RecentPostBrowser.MinimumSize = New System.Drawing.Size(20, 20) + Me.RecentPostBrowser.Name = "RecentPostBrowser" + Me.RecentPostBrowser.TabStop = False + Me.RecentPostBrowser.Url = New System.Uri("about:blank", System.UriKind.Absolute) + Me.RecentPostBrowser.WebBrowserShortcutsEnabled = False + ' + 'DescriptionBrowser + ' + Me.DescriptionBrowser.AllowWebBrowserDrop = False + Me.DescriptionBrowser.ContextMenuStrip = Me.ContextMenuRecentPostBrowser + Me.DescriptionBrowser.IsWebBrowserContextMenuEnabled = False + resources.ApplyResources(Me.DescriptionBrowser, "DescriptionBrowser") + Me.DescriptionBrowser.MinimumSize = New System.Drawing.Size(20, 20) + Me.DescriptionBrowser.Name = "DescriptionBrowser" + Me.DescriptionBrowser.TabStop = False + Me.DescriptionBrowser.Url = New System.Uri("about:blank", System.UriKind.Absolute) + Me.DescriptionBrowser.WebBrowserShortcutsEnabled = False + ' + 'OpenFileDialogIcon + ' + Me.OpenFileDialogIcon.FileName = "OpenFileDialog1" + ' + 'TextBoxName + ' + resources.ApplyResources(Me.TextBoxName, "TextBoxName") + Me.TextBoxName.Name = "TextBoxName" + Me.TextBoxName.TabStop = False + ' + 'TextBoxLocation + ' + resources.ApplyResources(Me.TextBoxLocation, "TextBoxLocation") + Me.TextBoxLocation.Name = "TextBoxLocation" + Me.TextBoxLocation.TabStop = False + ' + 'TextBoxWeb + ' + resources.ApplyResources(Me.TextBoxWeb, "TextBoxWeb") + Me.TextBoxWeb.Name = "TextBoxWeb" + Me.TextBoxWeb.TabStop = False + ' + 'TextBoxDescription + ' + resources.ApplyResources(Me.TextBoxDescription, "TextBoxDescription") + Me.TextBoxDescription.Name = "TextBoxDescription" + Me.TextBoxDescription.TabStop = False + ' + 'ButtonBlock + ' + resources.ApplyResources(Me.ButtonBlock, "ButtonBlock") + Me.ButtonBlock.Name = "ButtonBlock" + Me.ButtonBlock.UseVisualStyleBackColor = True + ' + 'ButtonReportSpam + ' + resources.ApplyResources(Me.ButtonReportSpam, "ButtonReportSpam") + Me.ButtonReportSpam.Name = "ButtonReportSpam" + Me.ButtonReportSpam.UseVisualStyleBackColor = True + ' + 'ButtonBlockDestroy + ' + resources.ApplyResources(Me.ButtonBlockDestroy, "ButtonBlockDestroy") + Me.ButtonBlockDestroy.Name = "ButtonBlockDestroy" + Me.ButtonBlockDestroy.UseVisualStyleBackColor = True + ' + 'LinkLabel2 + ' + resources.ApplyResources(Me.LinkLabel2, "LinkLabel2") + Me.LinkLabel2.Name = "LinkLabel2" + Me.LinkLabel2.TabStop = True + ' + 'ShowUserInfo + ' + Me.AllowDrop = True + resources.ApplyResources(Me, "$this") + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.CancelButton = Me.ButtonClose + Me.Controls.Add(Me.LinkLabel2) + Me.Controls.Add(Me.ButtonBlockDestroy) + Me.Controls.Add(Me.ButtonReportSpam) + Me.Controls.Add(Me.ButtonBlock) + Me.Controls.Add(Me.TextBoxDescription) + Me.Controls.Add(Me.TextBoxWeb) + Me.Controls.Add(Me.ButtonEdit) + Me.Controls.Add(Me.LabelId) + Me.Controls.Add(Me.TextBoxLocation) + Me.Controls.Add(Me.TextBoxName) + Me.Controls.Add(Me.Label12) + Me.Controls.Add(Me.ButtonSearchPosts) + Me.Controls.Add(Me.LinkLabel1) + Me.Controls.Add(Me.RecentPostBrowser) + Me.Controls.Add(Me.UserPicture) + Me.Controls.Add(Me.LabelIsVerified) + Me.Controls.Add(Me.DescriptionBrowser) + Me.Controls.Add(Me.LabelScreenName) + Me.Controls.Add(Me.LabelRecentPost) + Me.Controls.Add(Me.LinkLabelFav) + Me.Controls.Add(Me.Label9) + Me.Controls.Add(Me.LabelIsProtected) + Me.Controls.Add(Me.LabelCreatedAt) + Me.Controls.Add(Me.LinkLabelTweet) + Me.Controls.Add(Me.LabelIsFollowed) + Me.Controls.Add(Me.Label8) + Me.Controls.Add(Me.LabelIsFollowing) + Me.Controls.Add(Me.LinkLabelFollowers) + Me.Controls.Add(Me.ButtonUnFollow) + Me.Controls.Add(Me.LinkLabelFollowing) + Me.Controls.Add(Me.Label6) + Me.Controls.Add(Me.LabelName) + Me.Controls.Add(Me.ButtonFollow) + Me.Controls.Add(Me.Label5) + Me.Controls.Add(Me.Label7) + Me.Controls.Add(Me.Label4) + Me.Controls.Add(Me.LabelLocation) + Me.Controls.Add(Me.LinkLabelWeb) + Me.Controls.Add(Me.Label1) + Me.Controls.Add(Me.Label3) + Me.Controls.Add(Me.Label2) + Me.Controls.Add(Me.ButtonClose) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog + Me.MaximizeBox = False + Me.MinimizeBox = False + Me.Name = "ShowUserInfo" + Me.ShowIcon = False + Me.ShowInTaskbar = False + Me.TopMost = True + CType(Me.UserPicture, System.ComponentModel.ISupportInitialize).EndInit() + Me.ContextMenuUserPicture.ResumeLayout(False) + Me.ContextMenuRecentPostBrowser.ResumeLayout(False) + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents ButtonClose As System.Windows.Forms.Button + Friend WithEvents Label1 As System.Windows.Forms.Label + Friend WithEvents Label2 As System.Windows.Forms.Label + Friend WithEvents Label3 As System.Windows.Forms.Label + Friend WithEvents Label4 As System.Windows.Forms.Label + Friend WithEvents LinkLabelWeb As System.Windows.Forms.LinkLabel + Friend WithEvents LabelLocation As System.Windows.Forms.Label + Friend WithEvents LabelName As System.Windows.Forms.Label + Friend WithEvents Label5 As System.Windows.Forms.Label + Friend WithEvents Label6 As System.Windows.Forms.Label + Friend WithEvents LinkLabelFollowing As System.Windows.Forms.LinkLabel + Friend WithEvents LinkLabelFollowers As System.Windows.Forms.LinkLabel + Friend WithEvents Label7 As System.Windows.Forms.Label + Friend WithEvents LabelCreatedAt As System.Windows.Forms.Label + Friend WithEvents Label8 As System.Windows.Forms.Label + Friend WithEvents LinkLabelTweet As System.Windows.Forms.LinkLabel + Friend WithEvents Label9 As System.Windows.Forms.Label + Friend WithEvents LinkLabelFav As System.Windows.Forms.LinkLabel + Friend WithEvents ButtonFollow As System.Windows.Forms.Button + Friend WithEvents ButtonUnFollow As System.Windows.Forms.Button + Friend WithEvents LabelIsProtected As System.Windows.Forms.Label + Friend WithEvents LabelIsFollowing As System.Windows.Forms.Label + Friend WithEvents LabelIsFollowed As System.Windows.Forms.Label + Friend WithEvents UserPicture As System.Windows.Forms.PictureBox + Friend WithEvents BackgroundWorkerImageLoader As System.ComponentModel.BackgroundWorker + Friend WithEvents LabelScreenName As System.Windows.Forms.Label + Friend WithEvents DescriptionBrowser As System.Windows.Forms.WebBrowser + Friend WithEvents ToolTip1 As System.Windows.Forms.ToolTip + Friend WithEvents ContextMenuRecentPostBrowser As System.Windows.Forms.ContextMenuStrip + Friend WithEvents SelectionCopyToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents SelectAllToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents LabelRecentPost As System.Windows.Forms.Label + Friend WithEvents RecentPostBrowser As System.Windows.Forms.WebBrowser + Friend WithEvents LabelIsVerified As System.Windows.Forms.Label + Friend WithEvents LinkLabel1 As System.Windows.Forms.LinkLabel + Friend WithEvents ButtonSearchPosts As System.Windows.Forms.Button + Friend WithEvents LabelId As System.Windows.Forms.Label + Friend WithEvents Label12 As System.Windows.Forms.Label + Friend WithEvents ButtonEdit As System.Windows.Forms.Button + Friend WithEvents ContextMenuUserPicture As System.Windows.Forms.ContextMenuStrip + Friend WithEvents ChangeIconToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents OpenFileDialogIcon As System.Windows.Forms.OpenFileDialog + Friend WithEvents TextBoxName As System.Windows.Forms.TextBox + Friend WithEvents TextBoxLocation As System.Windows.Forms.TextBox + Friend WithEvents TextBoxWeb As System.Windows.Forms.TextBox + Friend WithEvents TextBoxDescription As System.Windows.Forms.TextBox + Friend WithEvents ButtonBlock As System.Windows.Forms.Button + Friend WithEvents ButtonReportSpam As System.Windows.Forms.Button + Friend WithEvents ButtonBlockDestroy As System.Windows.Forms.Button + Friend WithEvents LinkLabel2 As System.Windows.Forms.LinkLabel +End Class Added: branches/UserStream/Tween/ShowUserInfo.en.resx =================================================================== --- branches/UserStream/Tween/ShowUserInfo.en.resx (rev 0) +++ branches/UserStream/Tween/ShowUserInfo.en.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Close + + + + 34, 12 + + + Name + + + 48, 12 + + + Location + + + 22, 12 + + + Bio + + + 53, 12 + + + Following + + + 54, 12 + + + Followers + + + Created at + + + 79, 12 + + + Tweets(Home) + + + 53, 12 + + + Favorites + + + Follow + + + Unfollow + + + 85, 12 + + + Status鐚?rotect) + + + 131, 48 + + + 130, 22 + + + Copy + + + 130, 22 + + + Select All + + + 64, 12 + + + Latest Post + + + 91, 12 + + + Verified Account + + + + NoControl + + + 's Profile + + \ No newline at end of file Added: branches/UserStream/Tween/ShowUserInfo.resx =================================================================== --- branches/UserStream/Tween/ShowUserInfo.resx (rev 0) +++ branches/UserStream/Tween/ShowUserInfo.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,1416 @@ +鏤??xml version="1.0" encoding="utf-8"?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + NoControl + + + + 497, 431 + + + 75, 23 + + + + 36 + + + ?????/value> + + + ButtonClose + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 43 + + + True + + + NoControl + + + 100, 60 + + + 29, 12 + + + 5 + + + ??? + + + Label1 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 40 + + + True + + + NoControl + + + 100, 82 + + + 41, 12 + + + 7 + + + ?上???/value> + + + Label2 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 42 + + + True + + + NoControl + + + 100, 104 + + + 26, 12 + + + 9 + + + Web + + + Label3 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 41 + + + True + + + NoControl + + + 10, 215 + + + 53, 12 + + + 23 + + + ??訓膣剛? + + + Label4 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 37 + + + NoControl + + + 154, 103 + + + 418, 14 + + + 10 + + + LinkLabelWeb + + + LinkLabelWeb + + + System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 39 + + + NoControl + + + 154, 81 + + + 418, 13 + + + 8 + + + LabelLocation + + + LabelLocation + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 38 + + + NoControl + + + 154, 60 + + + 306, 14 + + + 6 + + + LabelName + + + LabelName + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 33 + + + True + + + NoControl + + + 14, 383 + + + 77, 12 + + + 27 + + + ???????????? + + + Label5 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 35 + + + True + + + NoControl + + + 290, 383 + + + 87, 12 + + + 29 + + + ??????????????/value> + + + Label6 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 32 + + + True + + + NoControl + + + 107, 383 + + + 101, 12 + + + 28 + + + LinkLabelFollowing + + + LinkLabelFollowing + + + System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 31 + + + True + + + NoControl + + + 414, 383 + + + 102, 12 + + + 30 + + + LinkLabelFollowers + + + LinkLabelFollowers + + + System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 29 + + + Top, Right + + + NoControl + + + 452, 8 + + + 120, 12 + + + 1 + + + ?≪????????????/value> + + + TopRight + + + Label7 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 36 + + + Top, Right + + + NoControl + + + 466, 24 + + + 106, 14 + + + 2 + + + LabelCreatedAt + + + TopRight + + + LabelCreatedAt + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 24 + + + True + + + NoControl + + + 14, 408 + + + 83, 12 + + + 31 + + + ?肴??逸??????? + + + Label8 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 27 + + + True + + + NoControl + + + 107, 408 + + + 84, 12 + + + 32 + + + LinkLabelTweet + + + LinkLabelTweet + + + System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 25 + + + True + + + NoControl + + + 290, 407 + + + 56, 12 + + + 33 + + + ????????/value> + + + Label9 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 22 + + + True + + + NoControl + + + 414, 407 + + + 72, 12 + + + 34 + + + LinkLabelFav + + + LinkLabelFav + + + System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 21 + + + NoControl + + + 72, 182 + + + 75, 23 + + + 17 + + + ????????? + + + ButtonFollow + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 34 + + + NoControl + + + 154, 182 + + + 75, 23 + + + 18 + + + ??????茹i? + + + ButtonUnFollow + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 30 + + + Top, Right + + + NoControl + + + 246, 126 + + + 75, 15 + + + 12 + + + LabelIsProtected + + + LabelIsProtected + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 23 + + + True + + + NoControl + + + 145, 156 + + + 84, 12 + + + 15 + + + Getting datas ... + + + LabelIsFollowing + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 28 + + + True + + + NoControl + + + 364, 156 + + + 84, 12 + + + 16 + + + Getting datas ... + + + LabelIsFollowed + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 26 + + + 697, 15 + + + 139, 22 + + + ?≪??潟??????/value> + + + 140, 26 + + + ContextMenuUserPicture + + + System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + NoControl + + + 12, 59 + + + 73, 73 + + + StretchImage + + + 1 + + + UserPicture + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 16 + + + 17, 17 + + + MS UI Gothic, 12pt + + + NoControl + + + 9, 20 + + + 451, 20 + + + 0 + + + ScreenName + + + LabelScreenName + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 19 + + + 230, 17 + + + True + + + NoControl + + + 391, 127 + + + 100, 12 + + + 13 + + + 茯?┝羝??(Verified) + + + LinkLabel1 + + + System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 14 + + + 326, 17 + + + 166, 22 + + + ?御????????潟???/value> + + + 166, 22 + + + ????????/value> + + + 167, 48 + + + ContextMenuRecentPostBrowser + + + System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + NoControl + + + 10, 305 + + + 63, 12 + + + 25 + + + ??????荐?/value> + + + LabelRecentPost + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 20 + + + Top, Right + + + NoControl + + + 497, 126 + + + 75, 15 + + + 14 + + + LabelIsVerified + + + LabelIsVerified + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 17 + + + NoControl + + + 243, 182 + + + 75, 23 + + + 19 + + + ?肴????膣?/value> + + + ButtonSearchPosts + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 13 + + + Top, Right + + + NoControl + + + 466, 60 + + + 106, 14 + + + 4 + + + LabelId + + + TopRight + + + LabelId + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 9 + + + Top, Right + + + NoControl + + + 452, 44 + + + 120, 12 + + + 3 + + + ?≪??????D + + + TopRight + + + Label12 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 12 + + + NoControl + + + 16, 431 + + + 75, 23 + + + 35 + + + 膩?? + + + ButtonEdit + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 8 + + + 82, 303 + + + 490, 65 + + + 26 + + + RecentPostBrowser + + + System.Windows.Forms.WebBrowser, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 15 + + + 82, 211 + + + 490, 73 + + + 24 + + + DescriptionBrowser + + + System.Windows.Forms.WebBrowser, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 18 + + + 547, 15 + + + 34, 163 + + + 16, 19 + + + 37 + + + False + + + TextBoxName + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 11 + + + 34, 188 + + + 16, 19 + + + 38 + + + False + + + TextBoxLocation + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 10 + + + 12, 163 + + + 16, 19 + + + 39 + + + False + + + TextBoxWeb + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 7 + + + 12, 186 + + + 16, 19 + + + 40 + + + False + + + TextBoxDescription + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 6 + + + 416, 182 + + + 75, 23 + + + 21 + + + ?????? + + + ButtonBlock + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 5 + + + 497, 182 + + + 75, 23 + + + 22 + + + ?鴻??????/value> + + + ButtonReportSpam + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 4 + + + 335, 182 + + + 75, 23 + + + 20 + + + ??????茹i? + + + ButtonBlockDestroy + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 3 + + + True + + + 152, 127 + + + 86, 12 + + + 11 + + + ?????Protect) + + + LinkLabel2 + + + System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 2 + + + True + + + 45 + + + 6, 12 + + + 584, 466 + + + CenterParent + + + ????若??惹???/value> + + + ChangeIconToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + BackgroundWorkerImageLoader + + + System.ComponentModel.BackgroundWorker, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolTip1 + + + System.Windows.Forms.ToolTip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SelectionCopyToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SelectAllToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + OpenFileDialogIcon + + + System.Windows.Forms.OpenFileDialog, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ShowUserInfo + + + System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file Added: branches/UserStream/Tween/ShowUserInfo.vb =================================================================== --- branches/UserStream/Tween/ShowUserInfo.vb (rev 0) +++ branches/UserStream/Tween/ShowUserInfo.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,721 @@ +鏤? Tween - Client of Twitter +' Copyright (c) 2007-2010 kiri_feather (@kiri_feather) +' (c) 2008-2010 Moz (@syo68k) +' (c) 2008-2010 takeshik (@takeshik) +' All rights reserved. +' +' This file is part of Tween. +' +' This program is free software; you can redistribute it and/or modify it +' under the terms of the GNU General Public License as published by the Free +' Software Foundation; either version 3 of the License, or (at your option) +' any later version. +' +' This program is distributed in the hope that it will be useful, but +' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +' for more details. +' +' You should have received a copy of the GNU General Public License along +' with this program. If not, see , or write to +' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, +' Boston, MA 02110-1301, USA. + +Imports System.Xml +Imports System.Web +Imports System.Text.RegularExpressions +Imports System.ComponentModel +Imports System.IO + +Public Class ShowUserInfo + + Private userInfoXml As String = "" + Private _info As New UserInfo + Private icondata As Image = Nothing + Private atlist As New Generic.List(Of String) + Private descriptionTxt As String + Private recentPostTxt As String + Private ToolTipWeb As String + + Private Const Mainpath As String = "http://twitter.com/" + Private Const Followingpath As String = "/following" + Private Const Followerspath As String = "/followers" + Private Const Favpath As String = "/favorites" + + Private Home As String + Private Following As String + Private Followers As String + Private Favorites As String + Private MyOwner As TweenMain + Private FriendshipResult As String = "" + + Private Sub InitPath() + Home = Mainpath + _info.ScreenName + Following = Home + Followingpath + Followers = Home + Followerspath + Favorites = Home + Favpath + End Sub + + Private Sub InitTooltip() + ToolTip1.SetToolTip(LinkLabelTweet, Home) + ToolTip1.SetToolTip(LinkLabelFollowing, Following) + ToolTip1.SetToolTip(LinkLabelFollowers, Followers) + ToolTip1.SetToolTip(LinkLabelFav, Favorites) + End Sub + + Private Function AnalizeUserInfo(ByVal xmlData As String) As Boolean + If xmlData Is Nothing Then Return False + Dim xdoc As New XmlDocument + Try + xdoc.LoadXml(xmlData) + Dim nd As String = "/user" + + If xdoc.SelectSingleNode(nd) Is Nothing Then + nd = "/status/user" + End If + + _info.Id = Int64.Parse(xdoc.SelectSingleNode(nd + "/id").InnerText) + _info.Name = xdoc.SelectSingleNode(nd + "/name").InnerText + _info.ScreenName = xdoc.SelectSingleNode(nd + "/screen_name").InnerText + _info.Location = xdoc.SelectSingleNode(nd + "/location").InnerText + _info.Description = xdoc.SelectSingleNode(nd + "/description").InnerText + _info.ImageUrl = New Uri(xdoc.SelectSingleNode(nd + "/profile_image_url").InnerText) + + _info.Url = xdoc.SelectSingleNode(nd + "/url").InnerText + + _info.Protect = Boolean.Parse(xdoc.SelectSingleNode(nd + "/protected").InnerText) + _info.FriendsCount = Integer.Parse(xdoc.SelectSingleNode(nd + "/friends_count").InnerText) + _info.FollowersCount = Integer.Parse(xdoc.SelectSingleNode(nd + "/followers_count").InnerText) + _info.FavoriteCount = Integer.Parse(xdoc.SelectSingleNode(nd + "/favourites_count").InnerText) + _info.CreatedAt = DateTime.ParseExact(xdoc.SelectSingleNode(nd + "/created_at").InnerText, "ddd MMM dd HH:mm:ss zzzz yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo, System.Globalization.DateTimeStyles.None) + _info.StatusesCount = Integer.Parse(xdoc.SelectSingleNode(nd + "/statuses_count").InnerText) + _info.Verified = Boolean.Parse(xdoc.SelectSingleNode(nd + "/verified").InnerText) + + ' ????肴????????????????+ Try + If nd = "/user" Then + _info.RecentPost = xdoc.SelectSingleNode(nd + "/status/text").InnerText + _info.PostCreatedAt = DateTime.ParseExact(xdoc.SelectSingleNode(nd + "/status/created_at").InnerText, "ddd MMM dd HH:mm:ss zzzz yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo, System.Globalization.DateTimeStyles.None) + _info.PostSource = xdoc.SelectSingleNode(nd + "/status/source").InnerText + Else + _info.RecentPost = xdoc.SelectSingleNode("/status/text").InnerText + _info.PostCreatedAt = DateTime.ParseExact(xdoc.SelectSingleNode("/status/created_at").InnerText, "ddd MMM dd HH:mm:ss zzzz yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo, System.Globalization.DateTimeStyles.None) + _info.PostSource = xdoc.SelectSingleNode("/status/source").InnerText + End If + If Not _info.PostSource.Contains("") Then + _info.PostSource += "" + End If + Catch ex As Exception + _info.RecentPost = Nothing + _info.PostCreatedAt = Nothing + _info.PostSource = Nothing + End Try + Catch ex As Exception + Return False + End Try + + Return True + End Function + + Private Sub SetLinklabelWeb(ByVal data As String) + Dim webtext As String + Dim jumpto As String + webtext = MyOwner.TwitterInstance.PreProcessUrl("Dummy") + webtext = ShortUrl.Resolve(webtext) + jumpto = Regex.Match(webtext, ".*?)""").Groups.Item("url").Value + ToolTip1.SetToolTip(LinkLabelWeb, jumpto) + LinkLabelWeb.Tag = jumpto + LinkLabelWeb.Text = data + End Sub + + Private Function MakeDescriptionBrowserText(ByVal data As String) As String + descriptionTxt = MyOwner.createDetailHtml( _ + MyOwner.TwitterInstance.CreateHtmlAnchor(data, atlist)) + Return descriptionTxt + End Function + + Private Sub ShowUserInfo_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed + TweenMain.TopMost = Not TweenMain.TopMost + TweenMain.TopMost = Not TweenMain.TopMost + End Sub + + Private Sub ShowUserInfo_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + MyOwner = DirectCast(Me.Owner, TweenMain) + If Not AnalizeUserInfo(userInfoXml) Then + MessageBox.Show(My.Resources.ShowUserInfo1) + Me.Close() + Exit Sub + End If + + '?≪??潟??????+ BackgroundWorkerImageLoader.RunWorkerAsync() + + InitPath() + InitTooltip() + Me.Text = Me.Text.Insert(0, _info.ScreenName + " ") + LabelId.Text = _info.Id.ToString + LabelScreenName.Text = _info.ScreenName + LabelName.Text = _info.Name + + LabelLocation.Text = _info.Location + + SetLinklabelWeb(_info.Url) + + DescriptionBrowser.Visible = False + MakeDescriptionBrowserText(_info.Description) + + RecentPostBrowser.Visible = False + If _info.RecentPost IsNot Nothing Then + recentPostTxt = MyOwner.createDetailHtml( _ + MyOwner.TwitterInstance.CreateHtmlAnchor(_info.RecentPost, atlist) + _ + " Posted at " + _info.PostCreatedAt.ToString + _ + " via " + _info.PostSource) + End If + + LinkLabelFollowing.Text = _info.FriendsCount.ToString + LinkLabelFollowers.Text = _info.FollowersCount.ToString + LinkLabelFav.Text = _info.FavoriteCount.ToString + LinkLabelTweet.Text = _info.StatusesCount.ToString + + LabelCreatedAt.Text = _info.CreatedAt.ToString + + If _info.Protect Then + LabelIsProtected.Text = My.Resources.Yes + Else + LabelIsProtected.Text = My.Resources.No + End If + + If _info.Verified Then + LabelIsVerified.Text = My.Resources.Yes + Else + LabelIsVerified.Text = My.Resources.No + End If + + If MyOwner.TwitterInstance.Username = _info.ScreenName Then + ButtonEdit.Enabled = True + ChangeIconToolStripMenuItem.Enabled = True + ButtonBlock.Enabled = False + ButtonReportSpam.Enabled = False + ButtonBlockDestroy.Enabled = False + Else + ButtonEdit.Enabled = False + ChangeIconToolStripMenuItem.Enabled = False + ButtonBlock.Enabled = True + ButtonReportSpam.Enabled = True + ButtonBlockDestroy.Enabled = True + End If + End Sub + + Private Sub ButtonClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonClose.Click + Me.Close() + End Sub + + Public WriteOnly Property XmlData() As String + Set(ByVal value As String) + userInfoXml = value + End Set + End Property + + Private Sub LinkLabelWeb_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabelWeb.LinkClicked + If _info.Url IsNot Nothing Then + MyOwner.OpenUriAsync(LinkLabelWeb.Text) + End If + End Sub + + Private Sub LinkLabelFollowing_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabelFollowing.LinkClicked + MyOwner.OpenUriAsync(Following) + End Sub + + Private Sub LinkLabelFollowers_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabelFollowers.LinkClicked + MyOwner.OpenUriAsync(Followers) + End Sub + + Private Sub LinkLabelTweet_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabelTweet.LinkClicked + MyOwner.OpenUriAsync(Home) + End Sub + + Private Sub LinkLabelFav_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabelFav.LinkClicked + MyOwner.OpenUriAsync(Favorites) + End Sub + + Private Sub ButtonFollow_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonFollow.Click + Dim ret As String = MyOwner.TwitterInstance.PostFollowCommand(_info.ScreenName) + If Not String.IsNullOrEmpty(ret) Then + MessageBox.Show(My.Resources.FRMessage2 + ret) + Else + MessageBox.Show(My.Resources.FRMessage3) + LabelIsFollowing.Text = My.Resources.GetFriendshipInfo1 + ButtonFollow.Enabled = False + ButtonUnFollow.Enabled = True + End If + End Sub + + Private Sub ButtonUnFollow_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonUnFollow.Click + If MessageBox.Show(_info.ScreenName + My.Resources.ButtonUnFollow_ClickText1, _ + My.Resources.ButtonUnFollow_ClickText2, _ + MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2) = Windows.Forms.DialogResult.Yes Then + Dim ret As String = MyOwner.TwitterInstance.PostRemoveCommand(_info.ScreenName) + If Not String.IsNullOrEmpty(ret) Then + MessageBox.Show(My.Resources.FRMessage2 + ret) + Else + MessageBox.Show(My.Resources.FRMessage3) + LabelIsFollowing.Text = My.Resources.GetFriendshipInfo2 + ButtonFollow.Enabled = True + ButtonUnFollow.Enabled = False + End If + End If + End Sub + + Private Sub ShowUserInfo_Activated(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Activated + '?脂?????脂??????????????≪??潟??糸??????祉???????蕁??絲上? + If UserPicture.Image IsNot Nothing Then + UserPicture.Invalidate(False) + End If + End Sub + + Private Sub ShowUserInfo_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing + UserPicture.Image = Nothing + If icondata IsNot Nothing Then + icondata.Dispose() + End If + End Sub + + Private Sub BackgroundWorkerImageLoader_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorkerImageLoader.DoWork + Dim name As String = _info.ImageUrl.ToString + icondata = (New HttpVarious).GetImage(name.Replace("_normal", "_bigger")) + If MyOwner.TwitterInstance.Username = _info.ScreenName Then Exit Sub + + _info.isFollowing = False + _info.isFollowed = False + FriendshipResult = MyOwner.TwitterInstance.GetFriendshipInfo(_info.ScreenName, _info.isFollowing, _info.isFollowed) + End Sub + + Private Sub BackgroundWorkerImageLoader_RunWorkerCompleted(ByVal sender As System.Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorkerImageLoader.RunWorkerCompleted + Try + If icondata IsNot Nothing Then + UserPicture.Image = icondata + End If + Catch ex As Exception + UserPicture.Image = Nothing + End Try + + If MyOwner.TwitterInstance.Username = _info.ScreenName Then + ' ????????+ LabelIsFollowing.Text = "" + LabelIsFollowed.Text = "" + ButtonFollow.Enabled = False + ButtonUnFollow.Enabled = False + Else + If FriendshipResult = "" Then + If _info.isFollowing Then + LabelIsFollowing.Text = My.Resources.GetFriendshipInfo1 + Else + LabelIsFollowing.Text = My.Resources.GetFriendshipInfo2 + End If + ButtonFollow.Enabled = Not _info.isFollowing + If _info.isFollowed Then + LabelIsFollowed.Text = My.Resources.GetFriendshipInfo3 + Else + LabelIsFollowed.Text = My.Resources.GetFriendshipInfo4 + End If + ButtonUnFollow.Enabled = _info.isFollowing + Else + MessageBox.Show(FriendshipResult) + ButtonUnFollow.Enabled = False + ButtonFollow.Enabled = False + LabelIsFollowed.Text = My.Resources.GetFriendshipInfo6 + LabelIsFollowing.Text = My.Resources.GetFriendshipInfo6 + End If + End If + + End Sub + + Private Sub ShowUserInfo_Shown(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Shown + DescriptionBrowser.DocumentText = descriptionTxt + DescriptionBrowser.Visible = True + If _info.RecentPost IsNot Nothing Then + RecentPostBrowser.DocumentText = recentPostTxt + RecentPostBrowser.Visible = True + Else + LabelRecentPost.Text = My.Resources.ShowUserInfo2 + End If + ButtonClose.Focus() + End Sub + + Private Sub WebBrowser_Navigating(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserNavigatingEventArgs) Handles DescriptionBrowser.Navigating, RecentPostBrowser.Navigating + If e.Url.AbsoluteUri <> "about:blank" Then + e.Cancel = True + + If e.Url.AbsoluteUri.StartsWith("http://twitter.com/search?q=%23") OrElse _ + e.Url.AbsoluteUri.StartsWith("https://twitter.com/search?q=%23") Then + '?????ャ??違??翫?????帥??ч??? Dim urlStr As String = HttpUtility.UrlDecode(e.Url.AbsoluteUri) + Dim hash As String = urlStr.Substring(urlStr.IndexOf("#")) + MyOwner.HashSupl.AddItem(hash) + MyOwner.HashMgr.AddHashToHistory(hash.Trim, False) + MyOwner.AddNewTabForSearch(hash) + Exit Sub + Else + MyOwner.OpenUriAsync(e.Url.OriginalString) + End If + End If + End Sub + + Private Sub WebBrowser_StatusTextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DescriptionBrowser.StatusTextChanged, RecentPostBrowser.StatusTextChanged + Dim ComponentInstance As WebBrowser = DirectCast(sender, WebBrowser) + If ComponentInstance.StatusText.StartsWith("http") Then + ToolTip1.Show(ComponentInstance.StatusText, Me, PointToClient(MousePosition)) + ElseIf DescriptionBrowser.StatusText = "" Then + ToolTip1.Hide(Me) + End If + End Sub + + Private Sub SelectAllToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SelectAllToolStripMenuItem.Click + Dim sc As WebBrowser = TryCast(ContextMenuRecentPostBrowser.SourceControl, WebBrowser) + If sc IsNot Nothing Then + sc.Document.ExecCommand("SelectAll", False, Nothing) + End If + End Sub + + Private Sub SelectionCopyToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SelectionCopyToolStripMenuItem.Click + Dim sc As WebBrowser = TryCast(ContextMenuRecentPostBrowser.SourceControl, WebBrowser) + If sc IsNot Nothing Then + Dim _selText As String = MyOwner.WebBrowser_GetSelectionText(sc) + If _selText IsNot Nothing Then + Try + Clipboard.SetDataObject(_selText, False, 5, 100) + Catch ex As Exception + MessageBox.Show(ex.Message) + End Try + End If + End If + End Sub + + Private Sub ContextMenuStrip1_Opening(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles ContextMenuRecentPostBrowser.Opening + Dim sc As WebBrowser = TryCast(ContextMenuRecentPostBrowser.SourceControl, WebBrowser) + If sc IsNot Nothing Then + Dim _selText As String = MyOwner.WebBrowser_GetSelectionText(sc) + If _selText Is Nothing Then + SelectionCopyToolStripMenuItem.Enabled = False + Else + SelectionCopyToolStripMenuItem.Enabled = True + End If + End If + End Sub + + Private Sub ShowUserInfo_MouseEnter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.MouseEnter + ToolTip1.Hide(Me) + End Sub + + Private Sub LinkLabel1_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked + MyOwner.OpenUriAsync("http://support.twitter.com/groups/31-twitter-basics/topics/111-features/articles/268350-x8a8d-x8a3c-x6e08-x307f-x30a2-x30ab-x30a6-x30f3-x30c8-x306b-x3064-x3044-x3066") + End Sub + + Private Sub LinkLabel2_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel2.LinkClicked + MyOwner.OpenUriAsync("http://support.twitter.com/groups/31-twitter-basics/topics/107-my-profile-account-settings/articles/243055-x516c-x958b-x3001-x975e-x516c-x958b-x30a2-x30ab-x30a6-x30f3-x30c8-x306b-x3064-x3044-x3066") + End Sub + + Private Sub ButtonSearchPosts_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonSearchPosts.Click + MyOwner.AddNewTabForSearch("from:" + _info.ScreenName) + End Sub + + Private Sub UserPicture_DoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UserPicture.DoubleClick + If UserPicture.Image IsNot Nothing Then + Dim name As String = _info.ImageUrl.ToString + MyOwner.OpenUriAsync(name.Remove(name.LastIndexOf("_normal"), 7)) + End If + End Sub + + Private Sub UserPicture_MouseEnter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UserPicture.MouseEnter + UserPicture.Cursor = Cursors.Hand + End Sub + + Private Sub UserPicture_MouseLeave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UserPicture.MouseLeave + UserPicture.Cursor = Cursors.Default + End Sub + + Private Class UpdateProfileArgs + Public tw As Twitter + Public name As String + Public location As String + Public url As String + Public description As String + End Class + + Private Sub UpdateProfile_Dowork(ByVal sender As Object, ByVal e As DoWorkEventArgs) + Dim arg As UpdateProfileArgs = DirectCast(e.Argument, UpdateProfileArgs) + e.Result = arg.tw.PostUpdateProfile(arg.name, _ + arg.url, _ + arg.location, _ + arg.description) + End Sub + + Private Sub UpddateProfile_RunWorkerCompleted(ByVal sender As Object, ByVal e As RunWorkerCompletedEventArgs) + Dim res As String = DirectCast(e.Result, String) + If res.StartsWith("err:", StringComparison.CurrentCultureIgnoreCase) Then + MessageBox.Show(res) + End If + End Sub + + Private Sub ButtonEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonEdit.Click + Static IsEditing As Boolean = False + Static ButtonEditText As String = "" + + ' ???篁ュ????????c????紊???с???? + If MyOwner.TwitterInstance.Username <> _info.ScreenName Then Exit Sub + + If Not IsEditing Then + ButtonEditText = ButtonEdit.Text + ButtonEdit.Text = My.Resources.UserInfoButtonEdit_ClickText1 + + '綺ф?????????????h┃絎?+ TextBoxName.Location = LabelName.Location + TextBoxName.Height = LabelName.Height + TextBoxName.Width = LabelName.Width + TextBoxName.BackColor = MyOwner.InputBackColor + TextBoxName.MaxLength = 20 + TextBoxName.Text = LabelName.Text + TextBoxName.TabStop = True + TextBoxName.Visible = True + LabelName.Visible = False + + TextBoxLocation.Location = LabelLocation.Location + TextBoxLocation.Height = LabelLocation.Height + TextBoxLocation.Width = LabelLocation.Width + TextBoxLocation.BackColor = MyOwner.InputBackColor + TextBoxLocation.MaxLength = 30 + TextBoxLocation.Text = LabelLocation.Text + TextBoxLocation.TabStop = True + TextBoxLocation.Visible = True + LabelLocation.Visible = False + + TextBoxWeb.Location = LinkLabelWeb.Location + TextBoxWeb.Height = LinkLabelWeb.Height + TextBoxWeb.Width = LinkLabelWeb.Width + TextBoxWeb.BackColor = MyOwner.InputBackColor + TextBoxWeb.MaxLength = 100 + TextBoxWeb.Text = _info.Url + TextBoxWeb.TabStop = True + TextBoxWeb.Visible = True + LinkLabelWeb.Visible = False + + TextBoxDescription.Location = DescriptionBrowser.Location + TextBoxDescription.Height = DescriptionBrowser.Height + TextBoxDescription.Width = DescriptionBrowser.Width + TextBoxDescription.BackColor = MyOwner.InputBackColor + TextBoxDescription.MaxLength = 160 + TextBoxDescription.Text = _info.Description + TextBoxDescription.Multiline = True + TextBoxDescription.ScrollBars = ScrollBars.Vertical + TextBoxDescription.TabStop = True + TextBoxDescription.Visible = True + DescriptionBrowser.Visible = False + + TextBoxName.Focus() + TextBoxName.Select(TextBoxName.Text.Length, 0) + + IsEditing = True + Else + Dim arg As New UpdateProfileArgs + + If TextBoxName.Modified OrElse _ + TextBoxLocation.Modified OrElse _ + TextBoxWeb.Modified OrElse _ + TextBoxDescription.Modified Then + + arg.tw = MyOwner.TwitterInstance + arg.name = TextBoxName.Text.Trim() + arg.url = TextBoxWeb.Text.Trim() + arg.location = TextBoxLocation.Text.Trim() + arg.description = TextBoxDescription.Text.Trim() + + Using dlg As New FormInfo(Me, My.Resources.UserInfoButtonEdit_ClickText2, _ + AddressOf UpdateProfile_Dowork, _ + AddressOf UpddateProfile_RunWorkerCompleted, _ + arg) + dlg.ShowDialog() + If Not String.IsNullOrEmpty(dlg.Result.ToString) Then + Exit Sub + End If + End Using + End If + + + LabelName.Text = TextBoxName.Text + _info.Name = LabelName.Text + TextBoxName.TabStop = False + TextBoxName.Visible = False + LabelName.Visible = True + + LabelLocation.Text = TextBoxLocation.Text + _info.Location = LabelLocation.Text + TextBoxLocation.TabStop = False + TextBoxLocation.Visible = False + LabelLocation.Visible = True + + SetLinklabelWeb(TextBoxWeb.Text) + _info.Url = TextBoxWeb.Text + TextBoxWeb.TabStop = False + TextBoxWeb.Visible = False + LinkLabelWeb.Visible = True + + DescriptionBrowser.DocumentText = MakeDescriptionBrowserText(TextBoxDescription.Text) + _info.Description = TextBoxDescription.Text + TextBoxDescription.TabStop = False + TextBoxDescription.Visible = False + DescriptionBrowser.Visible = True + + ButtonEdit.Text = ButtonEditText + + IsEditing = False + End If + + End Sub + + Class UpdateProfileImageArgs + Public tw As Twitter + Public FileName As String + End Class + + Private Sub UpdateProfileImage_Dowork(ByVal sender As Object, ByVal e As DoWorkEventArgs) + Dim arg As UpdateProfileImageArgs = DirectCast(e.Argument, UpdateProfileImageArgs) + e.Result = arg.tw.PostUpdateProfileImage(arg.FileName) + End Sub + + Private Sub UpdateProfileImage_RunWorkerCompleted(ByVal sender As Object, ByVal e As RunWorkerCompletedEventArgs) + Dim res As String = "" + Dim xdocbuf As String = "" + + If e.Result Is Nothing Then + Exit Sub + End If + + + ' ?≪??潟?????????帥? + ' ????ゃ??≪??潟?????若??若??若?????c?????????/?ゆ??с???? + + res = MyOwner.TwitterInstance.GetUserInfo(_info.ScreenName, xdocbuf) + + Dim xdoc As New XmlDocument + Dim img As Image + Try + xdoc.LoadXml(xdocbuf) + _info.ImageUrl = New Uri(xdoc.SelectSingleNode("/user/profile_image_url").InnerText) + img = (New HttpVarious).GetImage(_info.ImageUrl.ToString) + If img IsNot Nothing Then + UserPicture.Image = img + End If + Catch ex As Exception + + End Try + + End Sub + + Private Sub doChangeIcon(ByVal filename As String) + Dim res As String = "" + Dim arg As New UpdateProfileImageArgs With {.tw = MyOwner.TwitterInstance, .FileName = filename} + + Using dlg As New FormInfo(Me, My.Resources.ChangeIconToolStripMenuItem_ClickText3, _ + AddressOf UpdateProfileImage_Dowork, _ + AddressOf UpdateProfileImage_RunWorkerCompleted, + arg) + dlg.ShowDialog() + res = TryCast(dlg.Result, String) + If Not String.IsNullOrEmpty(res) Then + ' "Err:"??????????若?????若?????c????+ MessageBox.Show(res + vbCrLf + My.Resources.ChangeIconToolStripMenuItem_ClickText4) + Else + MessageBox.Show(My.Resources.ChangeIconToolStripMenuItem_ClickText5) + End If + End Using + End Sub + + + Private Sub ChangeIconToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ChangeIconToolStripMenuItem.Click + OpenFileDialogIcon.Filter = My.Resources.ChangeIconToolStripMenuItem_ClickText1 + OpenFileDialogIcon.Title = My.Resources.ChangeIconToolStripMenuItem_ClickText2 + OpenFileDialogIcon.FileName = "" + + Dim rslt As Windows.Forms.DialogResult = OpenFileDialogIcon.ShowDialog + + If rslt <> Windows.Forms.DialogResult.OK Then + Exit Sub + End If + + Dim fn As String = OpenFileDialogIcon.FileName + If isValidIconFile(New FileInfo(fn)) Then + doChangeIcon(fn) + Else + MessageBox.Show("????吟??≪??潟??????戎??????????<??????) + End If + End Sub + + Private Sub ButtonBlock_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonBlock.Click + If MessageBox.Show(_info.ScreenName + My.Resources.ButtonBlock_ClickText1, _ + My.Resources.ButtonBlock_ClickText2, _ + MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2) = Windows.Forms.DialogResult.Yes Then + Dim res As String = MyOwner.TwitterInstance.PostCreateBlock(_info.ScreenName) + If Not String.IsNullOrEmpty(res) Then + MessageBox.Show(res + Environment.NewLine + My.Resources.ButtonBlock_ClickText3) + Else + MessageBox.Show(My.Resources.ButtonBlock_ClickText4) + End If + End If + End Sub + + Private Sub ButtonReportSpam_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonReportSpam.Click + If MessageBox.Show(_info.ScreenName + My.Resources.ButtonReportSpam_ClickText1, _ + My.Resources.ButtonReportSpam_ClickText2, _ + MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2) = Windows.Forms.DialogResult.Yes Then + Dim res As String = MyOwner.TwitterInstance.PostReportSpam(_info.ScreenName) + If Not String.IsNullOrEmpty(res) Then + MessageBox.Show(res + Environment.NewLine + My.Resources.ButtonReportSpam_ClickText3) + Else + MessageBox.Show(My.Resources.ButtonReportSpam_ClickText4) + End If + End If + End Sub + + Private Sub ButtonBlockDestroy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonBlockDestroy.Click + If MessageBox.Show(_info.ScreenName + My.Resources.ButtonBlockDestroy_ClickText1, _ + My.Resources.ButtonBlockDestroy_ClickText2, _ + MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2) = Windows.Forms.DialogResult.Yes Then + Dim res As String = MyOwner.TwitterInstance.PostDestroyBlock(_info.ScreenName) + If Not String.IsNullOrEmpty(res) Then + MessageBox.Show(res + Environment.NewLine + My.Resources.ButtonBlockDestroy_ClickText3) + Else + MessageBox.Show(My.Resources.ButtonBlockDestroy_ClickText4) + End If + End If + End Sub + + Private Function isValidExtension(ByVal ext As String) As Boolean + Return ext.Equals(".jpg") OrElse ext.Equals(".jpeg") OrElse ext.Equals(".png") OrElse ext.Equals(".gif") + End Function + + Private Function isValidIconFile(ByVal info As FileInfo) As Boolean + Dim ext As String = info.Extension.ToLower + Return isValidExtension(ext) AndAlso info.Length < 700 * 1024 AndAlso Not IsAnimatedGif(info.FullName) + End Function + + Private Sub ShowUserInfo_DragOver(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles MyBase.DragOver + If e.Data.GetDataPresent(DataFormats.FileDrop) Then + Dim filename As String = CType(e.Data.GetData(DataFormats.FileDrop, False), String())(0) + Dim fl As New FileInfo(filename) + + e.Effect = DragDropEffects.None + If isValidIconFile(fl) Then + e.Effect = DragDropEffects.Copy + End If + Else + e.Effect = DragDropEffects.None + End If + End Sub + + Private Sub ShowUserInfo_DragDrop(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles MyBase.DragDrop + If e.Data.GetDataPresent(DataFormats.FileDrop) Then + Dim filename As String = CType(e.Data.GetData(DataFormats.FileDrop, False), String())(0) + doChangeIcon(filename) + End If + End Sub +End Class \ No newline at end of file Added: branches/UserStream/Tween/ShowUserInfo.zh-CHS.resx =================================================================== --- branches/UserStream/Tween/ShowUserInfo.zh-CHS.resx (rev 0) +++ branches/UserStream/Tween/ShowUserInfo.zh-CHS.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,382 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ?渇? + + + + + + ?窮О + + + + + + ?????/value> + + + + + + + 29, 12 + + + 臀?? + + + + + + 29, 12 + + + 膊?? + + + + + + + + + + + + + + + 41, 12 + + + 絅遵?? + + + + + + 41, 12 + + + ?恰絵??/value> + + + + + + + + + + + + 羈???狗? + + + + + + + + + 41, 12 + + + 羔????/value> + + + + + + + + + 41, 12 + + + ?区???/value> + + + + + + + + + ?恰絵 + + + + + + ????恰絵 + + + + + + 95, 12 + + + ?????Protect) + + + + + + + + + 77, 12 + + + 罩e??恰絵罩や査 + + + + + + 77, 12 + + + 罩h←罩や査?恰絵 + + + + + + 122, 22 + + + 篆??紊翫? + + + 123, 26 + + + + + + + + + + + + 101, 12 + + + 綏画?莚?Verified) + + + 158, 22 + + + 紊????賢?????/value> + + + 158, 22 + + + ?????? + + + 159, 48 + + + + + + 53, 12 + + + ???羔?? + + + + + + + + + ?ユ?羔?? + + + + + + + + + ???ID + + + + + + 篆?? + + + + + + + + + + + + + + + + + + + + + + + + 絮??/value> + + + + + + 筝丈? + + + + + + 茹i?絮??/value> + + + + + + ????隙拭??/value> + + + + + \ No newline at end of file Added: branches/UserStream/Tween/StatusDictionary.vb =================================================================== --- branches/UserStream/Tween/StatusDictionary.vb (rev 0) +++ branches/UserStream/Tween/StatusDictionary.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,2612 @@ +鏤? Tween - Client of Twitter +' Copyright (c) 2007-2010 kiri_feather (@kiri_feather) +' (c) 2008-2010 Moz (@syo68k) +' (c) 2008-2010 takeshik (@takeshik) +' All rights reserved. +' +' This file is part of Tween. +' +' This program is free software; you can redistribute it and/or modify it +' under the terms of the GNU General Public License as published by the Free +' Software Foundation; either version 3 of the License, or (at your option) +' any later version. +' +' This program is distributed in the hope that it will be useful, but +' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +' for more details. +' +' You should have received a copy of the GNU General Public License along +' with this program. If not, see , or write to +' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, +' Boston, MA 02110-1301, USA. + +Imports System.Collections.Generic +Imports System.Collections.ObjectModel +Imports Tween.TweenCustomControl +Imports System.Text.RegularExpressions +Imports System.Web.HttpUtility +Imports System.Text + +Public NotInheritable Class PostClass + Private _Nick As String + Private _Data As String + Private _ImageUrl As String + Private _Name As String + Private _PDate As Date + Private _Id As Long + Private _IsFav As Boolean + Private _OrgData As String + Private _IsRead As Boolean + Private _IsReply As Boolean + Private _IsExcludeReply As Boolean + Private _IsProtect As Boolean + Private _IsOWL As Boolean + Private _IsMark As Boolean + Private _InReplyToUser As String + Private _InReplyToId As Long + Private _Source As String + Private _SourceHtml As String + Private _ReplyToList As New List(Of String) + Private _IsMe As Boolean + Private _IsDm As Boolean + Private _statuses As Statuses = Statuses.None + Private _Uid As Long + Private _FilterHit As Boolean + Private _RetweetedBy As String = "" + Private _RetweetedId As Long = 0 + Private _searchTabName As String = "" + + _ + Private Enum Statuses + None = 0 + Protect = 1 + Mark = 2 + Read = 4 + Reply = 8 + End Enum + + Public Sub New(ByVal Nickname As String, _ + ByVal Data As String, _ + ByVal OriginalData As String, _ + ByVal ImageUrl As String, _ + ByVal Name As String, _ + ByVal PDate As Date, _ + ByVal Id As Long, _ + ByVal IsFav As Boolean, _ + ByVal IsRead As Boolean, _ + ByVal IsReply As Boolean, _ + ByVal IsExcludeReply As Boolean, _ + ByVal IsProtect As Boolean, _ + ByVal IsOwl As Boolean, _ + ByVal IsMark As Boolean, _ + ByVal InReplyToUser As String, _ + ByVal InReplyToId As Long, _ + ByVal Source As String, _ + ByVal SourceHtml As String, _ + ByVal ReplyToList As List(Of String), _ + ByVal IsMe As Boolean, _ + ByVal IsDm As Boolean, _ + ByVal Uid As Long, _ + ByVal FilterHit As Boolean, _ + ByVal RetweetedBy As String, _ + ByVal RetweetedId As Long) + _Nick = Nickname + _Data = Data + _ImageUrl = ImageUrl + _Name = Name + _PDate = PDate + _Id = Id + _IsFav = IsFav + _OrgData = OriginalData + _IsRead = IsRead + _IsReply = IsReply + _IsExcludeReply = IsExcludeReply + _IsProtect = IsProtect + _IsOWL = IsOwl + _IsMark = IsMark + _InReplyToUser = InReplyToUser + _InReplyToId = InReplyToId + _Source = Source + _SourceHtml = SourceHtml + _ReplyToList = ReplyToList + _IsMe = IsMe + _IsDm = IsDm + _Uid = Uid + _FilterHit = FilterHit + _RetweetedBy = RetweetedBy + _RetweetedId = RetweetedId + End Sub + + Public Sub New() + End Sub + + Public Property Nickname() As String + Get + Return _Nick + End Get + Set(ByVal value As String) + _Nick = value + End Set + End Property + Public Property Data() As String + Get + Return _Data + End Get + Set(ByVal value As String) + _Data = value + End Set + End Property + Public Property ImageUrl() As String + Get + Return _ImageUrl + End Get + Set(ByVal value As String) + _ImageUrl = value + End Set + End Property + Public Property Name() As String + Get + Return _Name + End Get + Set(ByVal value As String) + _Name = value + End Set + End Property + Public Property PDate() As Date + Get + Return _PDate + End Get + Set(ByVal value As Date) + _PDate = value + End Set + End Property + Public Property Id() As Long + Get + Return _Id + End Get + Set(ByVal value As Long) + _Id = value + End Set + End Property + Public Property IsFav() As Boolean + Get + If Me.RetweetedId > 0 AndAlso TabInformations.GetInstance.RetweetSource(Me.RetweetedId) IsNot Nothing Then + Return TabInformations.GetInstance.RetweetSource(Me.RetweetedId).IsFav + Else + Return _IsFav + End If + End Get + Set(ByVal value As Boolean) + _IsFav = value + If Me.RetweetedId > 0 AndAlso TabInformations.GetInstance.RetweetSource(Me.RetweetedId) IsNot Nothing Then + TabInformations.GetInstance.RetweetSource(Me.RetweetedId).IsFav = value + End If + End Set + End Property + Public Property OriginalData() As String + Get + Return _OrgData + End Get + Set(ByVal value As String) + _OrgData = value + End Set + End Property + Public Property IsRead() As Boolean + Get + Return _IsRead + End Get + Set(ByVal value As Boolean) + If value Then + _statuses = _statuses Or Statuses.Read + Else + _statuses = _statuses And Not Statuses.Read + End If + _IsRead = value + End Set + End Property + Public Property IsReply() As Boolean + Get + Return _IsReply + End Get + Set(ByVal value As Boolean) + _IsReply = value + End Set + End Property + Public Property IsExcludeReply() As Boolean + Get + Return _IsExcludeReply + End Get + Set(ByVal value As Boolean) + _IsExcludeReply = value + End Set + End Property + Public Property IsProtect() As Boolean + Get + Return _IsProtect + End Get + Set(ByVal value As Boolean) + If value Then + _statuses = _statuses Or Statuses.Protect + Else + _statuses = _statuses And Not Statuses.Protect + End If + _IsProtect = value + End Set + End Property + Public Property IsOwl() As Boolean + Get + Return _IsOWL + End Get + Set(ByVal value As Boolean) + _IsOWL = value + End Set + End Property + Public Property IsMark() As Boolean + Get + Return _IsMark + End Get + Set(ByVal value As Boolean) + If value Then + _statuses = _statuses Or Statuses.Mark + Else + _statuses = _statuses And Not Statuses.Mark + End If + _IsMark = value + End Set + End Property + Public Property InReplyToUser() As String + Get + Return _InReplyToUser + End Get + Set(ByVal value As String) + _InReplyToUser = value + End Set + End Property + Public Property InReplyToId() As Long + Get + Return _InReplyToId + End Get + Set(ByVal value As Long) + _InReplyToId = value + End Set + End Property + Public Property Source() As String + Get + Return _Source + End Get + Set(ByVal value As String) + _Source = value + End Set + End Property + Public Property SourceHtml() As String + Get + Return _SourceHtml + End Get + Set(ByVal value As String) + _SourceHtml = value + End Set + End Property + Public Property ReplyToList() As List(Of String) + Get + Return _ReplyToList + End Get + Set(ByVal value As List(Of String)) + _ReplyToList = value + End Set + End Property + Public Property IsMe() As Boolean + Get + Return _IsMe + End Get + Set(ByVal value As Boolean) + _IsMe = value + End Set + End Property + Public Property IsDm() As Boolean + Get + Return _IsDm + End Get + Set(ByVal value As Boolean) + _IsDm = value + End Set + End Property + Public ReadOnly Property StatusIndex() As Integer + Get + Return _statuses + End Get + End Property + Public Property Uid() As Long + Get + Return _Uid + End Get + Set(ByVal value As Long) + _Uid = value + End Set + End Property + Public Property FilterHit() As Boolean + Get + Return _FilterHit + End Get + Set(ByVal value As Boolean) + _FilterHit = value + End Set + End Property + Public Property RetweetedBy() As String + Get + Return _RetweetedBy + End Get + Set(ByVal value As String) + _RetweetedBy = value + End Set + End Property + Public Property RetweetedId() As Long + Get + Return _RetweetedId + End Get + Set(ByVal value As Long) + _RetweetedId = value + End Set + End Property + Public Property RelTabName() As String + Get + Return _searchTabName + End Get + Set(ByVal value As String) + _searchTabName = value + End Set + End Property +End Class + +Public NotInheritable Class TabInformations + '????帥?????宴?Dictionary?т???+ Private _sorter As IdComparerClass + Private _tabs As New Dictionary(Of String, TabClass) + Private _statuses As New Dictionary(Of Long, PostClass) + Private _addedIds As List(Of Long) + Private _retweets As New Dictionary(Of Long, PostClass) + Private _removedTab As TabClass = Nothing + + '?肴???申??+ 'AddPost(茲???? -> DistributePosts -> SubmitUpdate + + '????潟?????с???+ Private _addCount As Integer + Private _soundFile As String + Private _notifyPosts As List(Of PostClass) + Private ReadOnly LockObj As New Object + Private ReadOnly LockUnread As New Object + + Private Shared _instance As TabInformations = New TabInformations + + 'List + Private _lists As New List(Of ListElement) + + Private Sub New() + _sorter = New IdComparerClass() + End Sub + + Public Shared Function GetInstance() As TabInformations + Return _instance 'singleton + End Function + + Public Property SubscribableLists() As List(Of ListElement) + Get + Return _lists + End Get + Set(ByVal value As List(Of ListElement)) + If value IsNot Nothing AndAlso value.Count > 0 Then + For Each tb As TabClass In Me.GetTabsByType(TabUsageType.Lists) + For Each list As ListElement In value + If tb.ListInfo.Id = list.Id Then + tb.ListInfo = list + Exit For + End If + Next + Next + End If + _lists = value + End Set + End Property + + Public Sub AddTab(ByVal TabName As String, ByVal TabType As TabUsageType, ByVal List As ListElement) + _tabs.Add(TabName, New TabClass(TabName, TabType, List)) + _tabs(TabName).Sorter.Mode = _sorter.Mode + _tabs(TabName).Sorter.Order = _sorter.Order + End Sub + + 'Public Sub AddTab(ByVal TabName As String, ByVal Tab As TabClass) + ' _tabs.Add(TabName, Tab) + 'End Sub + + 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 + Dim homeTab As TabClass = GetTabByType(TabUsageType.Home) + Dim dmName As String = GetTabByType(TabUsageType.DirectMessage).TabName + + For idx As Integer = 0 To _tabs(TabName).AllCount - 1 + Dim exist As Boolean = False + Dim Id As Long = _tabs(TabName).GetId(idx) + For Each key As String In _tabs.Keys + If Not key = TabName AndAlso key <> dmName Then + If _tabs(key).Contains(Id) Then + exist = True + Exit For + End If + End If + Next + If Not exist Then homeTab.Add(Id, _statuses(Id).IsRead, False) + Next + End If + If _removedTab IsNot Nothing Then _removedTab = Nothing + _removedTab = _tabs(TabName) + _tabs.Remove(TabName) + End SyncLock + End Sub + + Public Property RemovedTab() As TabClass + Get + Return _removedTab + End Get + Set(ByVal value As TabClass) + _removedTab = value + End Set + End Property + + Public Function ContainsTab(ByVal TabText As String) As Boolean + Return _tabs.ContainsKey(TabText) + End Function + + Public Function ContainsTab(ByVal ts As TabClass) As Boolean + Return _tabs.ContainsValue(ts) + End Function + + Public Property Tabs() As Dictionary(Of String, TabClass) + Get + Return _tabs + End Get + Set(ByVal value As Dictionary(Of String, TabClass)) + _tabs = value + End Set + End Property + + Public ReadOnly Property KeysTab() As Collections.Generic.Dictionary(Of String, TabClass).KeyCollection + Get + Return _tabs.Keys + End Get + End Property + + Public Sub SortPosts() + For Each key As String In _tabs.Keys + _tabs(key).Sort() + Next + End Sub + + Public Property SortOrder() As SortOrder + Get + Return _sorter.Order + End Get + Set(ByVal value As SortOrder) + _sorter.Order = value + For Each key As String In _tabs.Keys + _tabs(key).Sorter.Order = value + Next + End Set + End Property + + Public Property SortMode() As IdComparerClass.ComparerMode + Get + Return _sorter.Mode + End Get + Set(ByVal value As IdComparerClass.ComparerMode) + _sorter.Mode = value + For Each key As String In _tabs.Keys + _tabs(key).Sorter.Mode = value + Next + End Set + End Property + + Public Function ToggleSortOrder(ByVal SortMode As IdComparerClass.ComparerMode) As Windows.Forms.SortOrder + If _sorter.Mode = SortMode Then + If _sorter.Order = Windows.Forms.SortOrder.Ascending Then + _sorter.Order = Windows.Forms.SortOrder.Descending + Else + _sorter.Order = Windows.Forms.SortOrder.Ascending + End If + For Each key As String In _tabs.Keys + _tabs(key).Sorter.Order = _sorter.Order + Next + Else + _sorter.Mode = SortMode + _sorter.Order = Windows.Forms.SortOrder.Ascending + For Each key As String In _tabs.Keys + _tabs(key).Sorter.Mode = SortMode + _tabs(key).Sorter.Order = Windows.Forms.SortOrder.Ascending + Next + End If + Me.SortPosts() + Return _sorter.Order + End Function + + Public ReadOnly Property RetweetSource(ByVal Id As Long) As PostClass + Get + If _retweets.ContainsKey(Id) Then + Return _retweets(Id) + Else + Return Nothing + End If + End Get + End Property + + Public Sub RemoveFavPost(ByVal Id As Long) + SyncLock LockObj + Dim post As PostClass = Nothing + Dim tab As TabClass = Me.GetTabByType(TabUsageType.Favorites) + Dim tn As String = tab.TabName + If _statuses.ContainsKey(Id) Then + post = _statuses(Id) + '????帥????荅峨?ID??? + Dim tType As TabUsageType = tab.TabType + If tab.Contains(Id) Then + If tab.UnreadManage AndAlso Not post.IsRead Then '???膊∞? + SyncLock LockUnread + tab.UnreadCount -= 1 + Me.SetNextUnreadId(Id, tab) + End SyncLock + End If + tab.Remove(Id) + End If + 'Fav?帥????Retweet?肴?????ゃ?????????????筝???Retweet?????+ If tType = TabUsageType.Favorites AndAlso post.RetweetedId > 0 Then + For i As Integer = 0 To tab.AllCount - 1 + Dim rPost As PostClass = Nothing + Try + rPost = Me.Item(tn, i) + Catch ex As ArgumentOutOfRangeException + Exit For + End Try + If rPost.RetweetedId > 0 AndAlso rPost.RetweetedId = post.RetweetedId Then + If tab.UnreadManage AndAlso Not rPost.IsRead Then '???膊∞? + SyncLock LockUnread + tab.UnreadCount -= 1 + Me.SetNextUnreadId(rPost.Id, tab) + End SyncLock + End If + tab.Remove(rPost.Id) + End If + Next + End If + End If + ''TabType=PublicSearch??????Post???絖????abClass??? + 'If tab.Contains(Id) AndAlso _ + ' (tab.TabType = TabUsageType.PublicSearch OrElse tab.TabType = TabUsageType.DirectMessage) Then + ' post = tab.Posts(Id) + ' If tab.UnreadManage AndAlso Not post.IsRead Then '???膊∞? + ' SyncLock LockUnread + ' tab.UnreadCount -= 1 + ' Me.SetNextUnreadId(Id, tab) + ' End SyncLock + ' End If + ' tab.Remove(Id) + 'End If + End SyncLock + End Sub + + Public Sub RemovePost(ByVal Id As Long) + SyncLock LockObj + Dim post As PostClass = Nothing + If _statuses.ContainsKey(Id) Then + post = _statuses(Id) + '?????????綵?D??? + For Each key As String In _tabs.Keys + Dim tab As TabClass = _tabs(key) + If tab.Contains(Id) Then + If tab.UnreadManage AndAlso Not post.IsRead Then '???膊∞? + SyncLock LockUnread + tab.UnreadCount -= 1 + Me.SetNextUnreadId(Id, tab) + End SyncLock + End If + tab.Remove(Id) + End If + Next + _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) _ + AndAlso tb.Contains(Id) Then + post = tb.Posts(Id) + If tb.UnreadManage AndAlso Not post.IsRead Then + SyncLock LockUnread + tb.UnreadCount -= 1 + Me.SetNextUnreadId(Id, tb) + End SyncLock + End If + tb.Remove(Id) + End If + Next + End SyncLock + End Sub + + Public Function GetOldestUnreadId(ByVal TabName As String) As Integer + Dim tb As TabClass = _tabs(TabName) + If tb.OldestUnreadId > -1 AndAlso _ + tb.Contains(tb.OldestUnreadId) AndAlso _ + tb.UnreadCount > 0 Then + '????≪??????+ Dim isRead As Boolean + If tb.TabType <> TabUsageType.PublicSearch AndAlso tb.TabType <> TabUsageType.DirectMessage AndAlso tb.TabType <> TabUsageType.Lists Then + isRead = _statuses(tb.OldestUnreadId).IsRead + Else + isRead = tb.Posts(tb.OldestUnreadId).IsRead + End If + If isRead Then + '?倶?筝?????????茯?而鐚ゃ?絎???∵?鐚?+ SyncLock LockUnread + Me.SetNextUnreadId(-1, tb) '?????「膣?+ End SyncLock + If tb.OldestUnreadId = -1 Then + Return -1 + Else + Return tb.IndexOf(tb.OldestUnreadId) + End If + Else + Return tb.IndexOf(tb.OldestUnreadId) '???腟?君 + End If + Else + '筝?????????????????茯???????????????∝刈 + 'If tb.UnreadCount > 0 Then + If Not tb.UnreadManage Then Return -1 + SyncLock LockUnread + Me.SetNextUnreadId(-1, tb) + End SyncLock + If tb.OldestUnreadId = -1 Then + Return -1 + Else + Return tb.IndexOf(tb.OldestUnreadId) + End If + ' Else + ' Return -1 + 'End If + End If + End Function + + Private Sub SetNextUnreadId(ByVal CurrentId As Long, ByVal Tab As TabClass) + 'CurrentID:篁??茯?????ID(OldestID?????с??? + '????茯??荐????????????∵???????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 + posts = _statuses + Else + posts = Tab.Posts + End If + If Tab.OldestUnreadId > -1 AndAlso _ + posts.ContainsKey(Tab.OldestUnreadId) AndAlso _ + posts.Item(Tab.OldestUnreadId).IsRead AndAlso _ + _sorter.Mode = IdComparerClass.ComparerMode.Id Then '罨<?????∝刈 + If Tab.UnreadCount = 0 Then + '????逸?????ゆ?茯????+ Tab.OldestUnreadId = -1 + ElseIf Tab.OldestUnreadId = CurrentId AndAlso CurrentId > -1 Then + '???D???茯??????帥?????謂?罨<?ID???膓????「膣?+ Dim idx As Integer = Tab.IndexOf(CurrentId) + If idx > -1 Then + '膓??????∝刈 + FindUnreadId(idx, Tab) + Else + '?????「膣?+ FindUnreadId(-1, Tab) + End If + Else + '?????「膣?+ FindUnreadId(-1, Tab) + End If + Else + '?????「膣?+ FindUnreadId(-1, Tab) + End If + Catch ex As Generic.KeyNotFoundException + '?????「膣?+ FindUnreadId(-1, Tab) + End Try + End Sub + + Private Sub FindUnreadId(ByVal StartIdx As Integer, ByVal Tab As TabClass) + If Tab.AllCount = 0 Then + Tab.OldestUnreadId = -1 + Tab.UnreadCount = 0 + Exit Sub + End If + Dim toIdx As Integer = 0 + Dim stp As Integer = 1 + Tab.OldestUnreadId = -1 + If _sorter.Order = Windows.Forms.SortOrder.Ascending Then + If StartIdx = -1 Then + StartIdx = 0 + Else + 'StartIdx += 1 + If StartIdx > Tab.AllCount - 1 Then StartIdx = Tab.AllCount - 1 '綽泣???? + End If + toIdx = Tab.AllCount - 1 + If toIdx < 0 Then toIdx = 0 '綽泣???? + stp = 1 + Else + If StartIdx = -1 Then + StartIdx = Tab.AllCount - 1 + Else + 'StartIdx -= 1 + End If + If StartIdx < 0 Then StartIdx = 0 '綽泣???? + toIdx = 0 + stp = -1 + End If + If Tab.TabType <> TabUsageType.PublicSearch AndAlso Tab.TabType <> TabUsageType.DirectMessage AndAlso Tab.TabType <> TabUsageType.Lists Then + For i As Integer = StartIdx To toIdx Step stp + If Not _statuses(Tab.GetId(i)).IsRead Then + Tab.OldestUnreadId = Tab.GetId(i) + Exit For + End If + Next + Else + For i As Integer = StartIdx To toIdx Step stp + If Not Tab.Posts(Tab.GetId(i)).IsRead Then + Tab.OldestUnreadId = Tab.GetId(i) + Exit For + End If + Next + End If + End Sub + + Public Function DistributePosts() As Integer + SyncLock LockObj + '?祉??ゃ?菴遵?篁倶? + 'If _addedIds Is Nothing Then Return 0 + 'If _addedIds.Count = 0 Then Return 0 + + If _addedIds Is Nothing Then _addedIds = New List(Of Long) + If _notifyPosts Is Nothing Then _notifyPosts = New List(Of PostClass) + Me.Distribute() '?帥???皿??? + Dim retCnt As Integer = _addedIds.Count + _addCount += retCnt + _addedIds.Clear() + _addedIds = Nothing '緇????+ Return retCnt '篁倶? + End SyncLock + End Function + + Public Function SubmitUpdate(ByRef soundFile As String, ByRef notifyPosts As PostClass(), ByRef isMentionIncluded As Boolean) As Integer + '羈???<??潟???????????吟???+ SyncLock LockObj + If _notifyPosts Is Nothing Then + soundFile = "" + notifyPosts = Nothing + Return 0 + 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 + _addCount += tb.GetTemporaryCount + End If + tb.AddSubmit(isMentionIncluded) '???腆阪?鐚???帥?????鐚?+ Next + Me.SortPosts() + + soundFile = _soundFile + _soundFile = "" + notifyPosts = _notifyPosts.ToArray() + _notifyPosts.Clear() + _notifyPosts = Nothing + Dim retCnt As Integer = _addCount + _addCount = 0 + Return retCnt '篁倶?鐚?ndUpdate???????????? + End SyncLock + End Function + + Private Sub Distribute() + '?????????????若??у?????眼?????帥???D菴遵? + '????<??祉??悟????茵?ず綽?????荐???鴻?????????????菴?? + 'notifyPosts = New List(Of PostClass) + Dim homeTab As TabClass = GetTabByType(TabUsageType.Home) + Dim replyTab As TabClass = GetTabByType(TabUsageType.Mentions) + Dim dmTab As TabClass = GetTabByType(TabUsageType.DirectMessage) + Dim favTab As TabClass = GetTabByType(TabUsageType.Favorites) + For Each id As Long In _addedIds + Dim post As PostClass = _statuses(id) + Dim add As Boolean = False '????????申?????? + Dim mv As Boolean = False '腱糸?????逸?Recent菴遵????鐚?+ Dim rslt As HITRESULT = HITRESULT.None + post.IsExcludeReply = False + For Each tn As String In _tabs.Keys + rslt = _tabs(tn).AddFiltered(post) + If rslt <> HITRESULT.None AndAlso rslt <> HITRESULT.Exclude Then + If rslt = HITRESULT.CopyAndMark Then post.IsMark = True '????????+ If rslt = HITRESULT.Move Then + mv = True '腱糸? + post.IsMark = False + End If + If _tabs(tn).Notify Then add = True '?????? + If Not _tabs(tn).SoundFile = "" AndAlso _soundFile = "" Then + _soundFile = _tabs(tn).SoundFile 'wav????ゃ?鐚??荐?????????随? + End If + post.FilterHit = True + Else + If rslt = HITRESULT.Exclude AndAlso _tabs(tn).TabType = TabUsageType.Mentions Then + post.IsExcludeReply = True + End If + post.FilterHit = False + End If + Next + If Not mv Then '腱糸????????c???ecent??申??+ homeTab.Add(post.Id, post.IsRead, True) + If Not homeTab.SoundFile = "" AndAlso _soundFile = "" Then _soundFile = homeTab.SoundFile + If homeTab.Notify Then add = True + End If + If post.IsReply AndAlso Not post.IsExcludeReply Then '?ゅ?????????????Reply???Reply?帥???申??+ replyTab.Add(post.Id, post.IsRead, True) + If Not replyTab.SoundFile = "" Then _soundFile = replyTab.SoundFile + If replyTab.Notify Then add = True + End If + If post.IsFav Then 'Fav羝???肴???????Favorites?帥???申??+ If favTab.Contains(post.Id) Then + '???羝??????????+ '_soundFile = "" + add = False + Else + favTab.Add(post.Id, post.IsRead, True) + If Not String.IsNullOrEmpty(favTab.SoundFile) AndAlso String.IsNullOrEmpty(_soundFile) Then _soundFile = favTab.SoundFile + If favTab.Notify Then add = True + End If + End If + 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.Notify Then + If tb.GetTemporaryCount > 0 Then + For Each post As PostClass In tb.GetTemporaryPosts + Dim exist As Boolean = False + For Each npost As PostClass In _notifyPosts + If npost.Id = post.Id Then + exist = True + Exit For + End If + Next + If Not exist Then _notifyPosts.Add(post) + Next + If tb.SoundFile <> "" Then + If tb.TabType = TabUsageType.DirectMessage OrElse _soundFile = "" Then + _soundFile = tb.SoundFile + End If + End If + End If + End If + End If + Next + End Sub + + Public Sub AddPost(ByVal Item As PostClass) + SyncLock LockObj + If Item.RelTabName = "" Then + If Not Item.IsDm Then + If _statuses.ContainsKey(Item.Id) Then + If Item.IsFav Then + _statuses.Item(Item.Id).IsFav = True + Else + Exit Sub '菴遵?羝?????篏???????+ End If + Else + _statuses.Add(Item.Id, Item) + End If + If Item.RetweetedId > 0 Then + Me.AddRetweet(Item) + End If + If Item.IsFav AndAlso _retweets.ContainsKey(Item.Id) Then + Exit Sub 'Fav羝????etweet???荐??菴遵??????+ End If + If _addedIds Is Nothing Then _addedIds = New List(Of Long) '?帥?菴遵???D?潟?????с?羣?? + _addedIds.Add(Item.Id) + Else + 'DM + Dim tb As TabClass = Me.GetTabByType(TabUsageType.DirectMessage) + If tb.Contains(Item.Id) Then Exit Sub + tb.AddPostToInnerStorage(Item) + End If + Else + '???罎?刈????鴻??????+ Dim tb As TabClass + If Me.Tabs.ContainsKey(Item.RelTabName) Then + tb = Me.Tabs(Item.RelTabName) + Else + Exit Sub + End If + If tb Is Nothing Then Exit Sub + If tb.Contains(Item.Id) Then Exit Sub + 'tb.Add(Item.Id, Item.IsRead, True) + tb.AddPostToInnerStorage(Item) + End If + End SyncLock + End Sub + + Private Sub AddRetweet(ByVal item As PostClass) + If _retweets.ContainsKey(item.RetweetedId) Then Exit Sub + + _retweets.Add( _ + item.RetweetedId, _ + New PostClass( _ + item.Nickname, _ + item.Data, _ + item.OriginalData, _ + item.ImageUrl, _ + item.Name, _ + item.PDate, _ + item.RetweetedId, _ + item.IsFav, _ + item.IsRead, _ + item.IsReply, _ + item.IsExcludeReply, _ + item.IsProtect, _ + item.IsOwl, _ + item.IsMark, _ + item.InReplyToUser, _ + item.InReplyToId, _ + item.Source, _ + item.SourceHtml, _ + item.ReplyToList, _ + item.IsMe, _ + item.IsDm, _ + item.Uid, _ + item.FilterHit, _ + "", _ + 0 _ + ) _ + ) + End Sub + + Public Sub SetRead(ByVal Read As Boolean, ByVal TabName As String, ByVal Index As Integer) + 'Read:True=?∵??吾?False=?????+ Dim tb As TabClass = _tabs(TabName) + + If tb.UnreadManage = False Then Exit Sub '???膊∞???????????亥?篋?+ + 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 + post = _statuses(Id) + Else + post = tb.Posts(Id) + End If + If post.IsRead = Read Then Exit Sub '?倶?紊????????腟?? + + post.IsRead = Read '?????????紊?? + + SyncLock LockUnread + If Read Then + tb.UnreadCount -= 1 + Me.SetNextUnreadId(Id, tb) '罨<?????祉???+ '篁?????????茯?而鐚ゃ??帥?????帥??????+ If tb.TabType = TabUsageType.PublicSearch OrElse tb.TabType = TabUsageType.DirectMessage OrElse tb.TabType = TabUsageType.Lists 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).UnreadCount -= 1 + If _tabs(key).OldestUnreadId = Id Then _tabs(key).OldestUnreadId = -1 + End If + Next + 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 + 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).UnreadCount += 1 + If _tabs(key).OldestUnreadId > Id Then _tabs(key).OldestUnreadId = Id + End If + Next + End If + End SyncLock + End Sub + + Public Sub SetRead() + Dim tb As TabClass = GetTabByType(TabUsageType.Home) + If tb.UnreadManage = False Then Exit Sub + + For i As Integer = 0 To tb.AllCount - 1 + Dim id As Long = tb.GetId(i) + If Not _statuses(id).IsReply AndAlso _ + Not _statuses(id).IsRead AndAlso _ + Not _statuses(id).FilterHit Then + _statuses(id).IsRead = True + Me.SetNextUnreadId(id, tb) '罨<?????祉???+ For Each key As String In _tabs.Keys + If _tabs(key).UnreadManage AndAlso _ + _tabs(key).Contains(id) Then + _tabs(key).UnreadCount -= 1 + If _tabs(key).OldestUnreadId = id Then _tabs(key).OldestUnreadId = -1 + End If + Next + End If + Next + End Sub + + Public ReadOnly Property Item(ByVal ID As Long) As PostClass + 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 _ + tb.Contains(ID) Then + Return tb.Posts(ID) + End If + Next + Return Nothing + End Get + End Property + + 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 + Return _tabs(TabName).Posts(_tabs(TabName).GetId(Index)) + Else + Return _statuses(_tabs(TabName).GetId(Index)) + End If + End Get + End Property + + Public ReadOnly Property Item(ByVal TabName As String, ByVal StartIndex As Integer, ByVal EndIndex As Integer) As PostClass() + 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 + For i As Integer = 0 To length - 1 + posts(i) = _tabs(TabName).Posts(_tabs(TabName).GetId(StartIndex + i)) + Next i + Else + For i As Integer = 0 To length - 1 + posts(i) = _statuses(_tabs(TabName).GetId(StartIndex + i)) + Next i + End If + Return posts + End Get + End Property + + 'Public ReadOnly Property ItemCount() As Integer + ' Get + ' SyncLock LockObj + ' Return _statuses.Count 'DM,???罎?刈????? ' End SyncLock + ' End Get + 'End Property + + Public Function ContainsKey(ByVal Id As Long) As Boolean + 'DM,???罎?刈???絲上? + SyncLock LockObj + Return _statuses.ContainsKey(Id) + End SyncLock + End Function + + Public Function ContainsKey(ByVal Id As Long, ByVal TabName As String) As Boolean + 'DM,???罎?刈???綽?? + SyncLock LockObj + Return _tabs(TabName).Contains(Id) + End SyncLock + End Function + + Public Sub SetUnreadManage(ByVal Manage As Boolean) + If Manage Then + For Each key As String In _tabs.Keys + Dim tb As TabClass = _tabs(key) + If tb.UnreadManage Then + SyncLock LockUnread + 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 + posts = _statuses + Else + posts = tb.Posts + End If + For Each id As Long In tb.BackupIds + If Not posts(id).IsRead Then + cnt += 1 + If oldest > id Then oldest = id + End If + Next + If oldest = Long.MaxValue Then oldest = -1 + tb.OldestUnreadId = oldest + tb.UnreadCount = cnt + End SyncLock + End If + Next + Else + For Each key As String In _tabs.Keys + Dim tb As TabClass = _tabs(key) + If tb.UnreadManage AndAlso tb.UnreadCount > 0 Then + SyncLock LockUnread + tb.UnreadCount = 0 + tb.OldestUnreadId = -1 + End SyncLock + End If + Next + End If + End Sub + + Public Sub RenameTab(ByVal Original As String, ByVal NewName As String) + Dim tb As TabClass = _tabs(Original) + _tabs.Remove(Original) + tb.TabName = NewName + _tabs.Add(NewName, tb) + End Sub + + Public Sub FilterAll() + SyncLock LockObj + Dim tbr As TabClass = GetTabByType(TabUsageType.Home) + Dim replyTab As TabClass = GetTabByType(TabUsageType.Mentions) + For Each key As String In _tabs.Keys + Dim tb As TabClass = _tabs(key) + If tb.FilterModified Then + tb.FilterModified = False + Dim orgIds() As Long = tb.BackupIds() + tb.ClearIDs() + ''''''''''''''???????弱???Ds????帥?????帥????????????d??ecent?梧申??+ ''''''''''''''move???????若????????????ecent???綵?????recent?????? + For Each id As Long In _statuses.Keys + Dim post As PostClass = _statuses.Item(id) + If post.IsDm Then Continue For + Dim rslt As HITRESULT = HITRESULT.None + rslt = tb.AddFiltered(post) + Select Case rslt + Case HITRESULT.CopyAndMark + post.IsMark = True '????????+ post.FilterHit = True + Case HITRESULT.Move + tbr.Remove(post.Id, post.IsRead) + post.IsMark = False + post.FilterHit = True + Case HITRESULT.Copy + post.IsMark = False + post.FilterHit = True + Case HITRESULT.Exclude + If key = replyTab.TabName AndAlso post.IsReply Then post.IsExcludeReply = True + If post.IsFav Then GetTabByType(TabUsageType.Favorites).Add(post.Id, post.IsRead, True) + post.FilterHit = False + Case HITRESULT.None + If key = replyTab.TabName AndAlso post.IsReply Then replyTab.Add(post.Id, post.IsRead, True) + If post.IsFav Then GetTabByType(TabUsageType.Favorites).Add(post.Id, post.IsRead, True) + post.FilterHit = False + End Select + Next + tb.AddSubmit() '???腆阪? + For Each id As Long In orgIds + Dim hit As Boolean = False + For Each tkey As String In _tabs.Keys + If _tabs(tkey).Contains(id) Then + hit = True + Exit For + End If + Next + If Not hit Then tbr.Add(id, _statuses(id).IsRead, False) + Next + End If + Next + Me.SortPosts() + End SyncLock + End Sub + + Public Function GetId(ByVal TabName As String, ByVal IndexCollection As ListView.SelectedIndexCollection) As Long() + If IndexCollection.Count = 0 Then Return Nothing + + Dim tb As TabClass = _tabs(TabName) + Dim Ids(IndexCollection.Count - 1) As Long + For i As Integer = 0 To Ids.Length - 1 + Ids(i) = tb.GetId(IndexCollection(i)) + Next + Return Ids + End Function + + Public Function GetId(ByVal TabName As String, ByVal Index As Integer) As Long + Return _tabs(TabName).GetId(Index) + End Function + + Public Function IndexOf(ByVal TabName As String, ByVal Ids() As Long) As Integer() + If Ids Is Nothing Then Return Nothing + Dim idx(Ids.Length - 1) As Integer + Dim tb As TabClass = _tabs(TabName) + For i As Integer = 0 To Ids.Length - 1 + idx(i) = tb.IndexOf(Ids(i)) + Next + Return idx + End Function + + Public Function IndexOf(ByVal TabName As String, ByVal Id As Long) As Integer + Return _tabs(TabName).IndexOf(Id) + End Function + + Public Sub ClearTabIds(ByVal TabName As String) + '筝????ost?????+ SyncLock LockObj + If _tabs(TabName).TabType <> TabUsageType.PublicSearch AndAlso _tabs(TabName).TabType <> TabUsageType.DirectMessage AndAlso _tabs(TabName).TabType <> TabUsageType.Lists Then + For Each Id As Long In _tabs(TabName).BackupIds + Dim Hit As Boolean = False + For Each tb As TabClass In _tabs.Values + If tb.Contains(Id) Then + Hit = True + Exit For + End If + Next + If Not Hit Then _statuses.Remove(Id) + Next + End If + + '????帥??????? + _tabs(TabName).ClearIDs() + End SyncLock + End Sub + + Public Sub SetTabUnreadManage(ByVal TabName As String, ByVal Manage As Boolean) + Dim tb As TabClass = _tabs(TabName) + SyncLock LockUnread + If Manage Then + 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 + posts = _statuses + Else + posts = tb.Posts + End If + For Each id As Long In tb.BackupIds + If Not posts(id).IsRead Then + cnt += 1 + If oldest > id Then oldest = id + End If + Next + If oldest = Long.MaxValue Then oldest = -1 + tb.OldestUnreadId = oldest + tb.UnreadCount = cnt + Else + tb.OldestUnreadId = -1 + tb.UnreadCount = 0 + End If + End SyncLock + tb.UnreadManage = Manage + End Sub + + Public Sub RefreshOwl(ByVal follower As List(Of Long)) + SyncLock LockObj + If follower.Count > 0 Then + For Each post As PostClass In _statuses.Values + 'If post.Uid = 0 OrElse post.IsDm Then Continue For + If post.IsMe Then + post.IsOwl = False + Else + post.IsOwl = Not follower.Contains(post.Uid) + End If + Next + Else + For Each id As Long In _statuses.Keys + _statuses(id).IsOwl = False + Next + End If + End SyncLock + End Sub + + Public Function GetTabByType(ByVal tabType As TabUsageType) As TabClass + 'Home,Mentions,DM,Fav???ゃ??狗???? + '???篁???帥?????????????????????????????????+ '???????????othing?????+ SyncLock LockObj + For Each tb As TabClass In _tabs.Values + If tb IsNot Nothing AndAlso tb.TabType = tabType Then Return tb + Next + Return Nothing + End SyncLock + End Function + + Public Function GetTabsByType(ByVal tabType As TabUsageType) As List(Of TabClass) + '???????帥???ist?ц???+ '??????????亥???ist?????+ SyncLock LockObj + Dim tbs As New List(Of TabClass) + For Each tb As TabClass In _tabs.Values + If (tabType And tb.TabType) = tb.TabType Then tbs.Add(tb) + Next + Return tbs + End SyncLock + End Function + + Public Function GetTabByName(ByVal tabName As String) As TabClass + SyncLock LockObj + If _tabs.ContainsKey(tabName) Then Return _tabs(tabName) + Return Nothing + End SyncLock + End Function + + ' ?????????????ゅ???? + Public Function IsDefaultTab(ByVal tabName As String) As Boolean + If tabName IsNot Nothing AndAlso _ + _tabs.ContainsKey(tabName) AndAlso _ + (_tabs(tabName).TabType = TabUsageType.Home OrElse _ + _tabs(tabName).TabType = TabUsageType.Mentions OrElse _ + _tabs(tabName).TabType = TabUsageType.DirectMessage OrElse _ + _tabs(tabName).TabType = TabUsageType.Favorites) Then + Return True + Else + Return False + End If + End Function + + Public Function GetUniqueTabName() As String + Dim tabNameTemp As String = "MyTab" + (_tabs.Count + 1).ToString + For i As Integer = 2 To 100 + If _tabs.ContainsKey(tabNameTemp) Then + tabNameTemp = "MyTab" + (_tabs.Count + i).ToString + Else + Exit For + End If + Next + Return tabNameTemp + End Function + + Public ReadOnly Property Posts() As Dictionary(Of Long, PostClass) + Get + Return _statuses + End Get + End Property +End Class + + _ +Public NotInheritable Class TabClass + Private _unreadManage As Boolean = False + Private _notify As Boolean = False + Private _soundFile As String = "" + Private _filters As List(Of FiltersClass) + Private _oldestUnreadItem As Long = -1 'ID + Private _unreadCount As Integer = 0 + Private _ids As List(Of Long) + Private _filterMod As Boolean = False + Private _tmpIds As New List(Of TemporaryId) + Private _tabName As String = "" + Private _tabType As TabUsageType = TabUsageType.Undefined + Private _posts As New Dictionary(Of Long, PostClass) + Private _sorter As New IdComparerClass + Private _oldestId As Long = Long.MaxValue '?ゃ??????????+ Private _sinceId As Long = 0 + + Private ReadOnly _lockObj As New Object + +#Region "罎?刈" + 'Search query + Private _searchLang As String = "" + Private _searchWords As String = "" + + Public Property SearchLang() As String + Get + Return _searchLang + End Get + Set(ByVal value As String) + _sinceId = 0 + _searchLang = value + End Set + End Property + Public Property SearchWords() As String + Get + Return _searchWords + End Get + Set(ByVal value As String) + _sinceId = 0 + _searchWords = value.Trim + End Set + End Property + Public Function GetSearchPage(ByVal count As Integer) As Integer + Return ((_ids.Count \ count) + 1) + End Function + Private _beforeQuery As New Dictionary(Of String, String) + Public Sub SaveQuery(ByVal more As Boolean) + Dim qry As New Dictionary(Of String, String) + If String.IsNullOrEmpty(_searchWords) Then + _beforeQuery = qry + Exit Sub + End If + qry.Add("q", _searchWords) + If Not String.IsNullOrEmpty(_searchLang) Then qry.Add("lang", _searchLang) + _beforeQuery = qry + End Sub + + Public Function IsQueryChanged() As Boolean + Dim qry As New Dictionary(Of String, String) + If Not String.IsNullOrEmpty(_searchWords) Then + qry.Add("q", _searchWords) + If Not String.IsNullOrEmpty(_searchLang) Then qry.Add("lang", _searchLang) + End If + If qry.Count <> _beforeQuery.Count Then Return True + + For Each kvp As KeyValuePair(Of String, String) In qry + If Not _beforeQuery.ContainsKey(kvp.Key) OrElse _beforeQuery(kvp.Key) <> kvp.Value Then + Return True + End If + Next + End Function +#End Region + +#Region "????? + Private _listInfo As ListElement + Public Property ListInfo() As ListElement + Get + Return _listInfo + End Get + Set(ByVal value As ListElement) + _listInfo = value + End Set + End Property +#End Region + + _ + Public Property OldestId() As Long + Get + Return _oldestId + End Get + Set(ByVal value As Long) + _oldestId = value + End Set + End Property + + _ + Public Property SinceId() As Long + Get + Return _sinceId + End Get + Set(ByVal value As Long) + _sinceId = value + End Set + End Property + + _ + Public Property Posts() As Dictionary(Of Long, PostClass) + Get + Return _posts + End Get + Set(ByVal value As Dictionary(Of Long, PostClass)) + _posts = value + End Set + End Property + + 'Public Function SearchedPost(ByVal Id As Long) As PostClass + ' If Not _posts.ContainsKey(Id) Then Return Nothing + ' Return _posts(Id) + 'End Function + + Public Function GetTemporaryPosts() As PostClass() + Dim tempPosts As New List(Of PostClass) + If _tmpIds.Count = 0 Then Return tempPosts.ToArray + For Each tempId As TemporaryId In _tmpIds + tempPosts.Add(_posts(tempId.Id)) + Next + Return tempPosts.ToArray + End Function + + Public Function GetTemporaryCount() As Integer + Return _tmpIds.Count + End Function + + Private Structure TemporaryId + Public Id As Long + Public Read As Boolean + + Public Sub New(ByVal argId As Long, ByVal argRead As Boolean) + Id = argId + Read = argRead + End Sub + End Structure + + Public Sub New() + _filters = New List(Of FiltersClass) + _notify = True + _soundFile = "" + _unreadManage = True + _ids = New List(Of Long) + _oldestUnreadItem = -1 + _tabType = TabUsageType.Undefined + _listInfo = Nothing + End Sub + + Public Sub New(ByVal TabName As String, ByVal TabType As TabUsageType, ByVal list As ListElement) + _tabName = TabName + _filters = New List(Of FiltersClass) + _notify = True + _soundFile = "" + _unreadManage = True + _ids = New List(Of Long) + _oldestUnreadItem = -1 + _tabType = TabType + Me.ListInfo = list + If TabType = TabUsageType.PublicSearch OrElse TabType = TabUsageType.DirectMessage OrElse TabType = TabUsageType.Lists Then + _sorter.posts = _posts + Else + _sorter.posts = TabInformations.GetInstance.Posts + End If + End Sub + + Public Sub Sort() + _ids.Sort(_sorter.CmpMethod) + End Sub + + Public ReadOnly Property Sorter() As IdComparerClass + Get + Return _sorter + End Get + End Property + + '?≧?篁吟?菴遵? + Private Sub Add(ByVal ID As Long, ByVal Read As Boolean) + If Me._ids.Contains(ID) Then Exit Sub + + Me._ids.Add(ID) + + If Not Read AndAlso Me._unreadManage Then + Me._unreadCount += 1 + If Me._oldestUnreadItem = -1 Then + Me._oldestUnreadItem = ID + Else + If ID < Me._oldestUnreadItem Then Me._oldestUnreadItem = ID + End If + End If + End Sub + + Public Sub Add(ByVal ID As Long, ByVal Read As Boolean, ByVal Temporary As Boolean) + If Not Temporary Then + Me.Add(ID, Read) + Else + _tmpIds.Add(New TemporaryId(ID, Read)) + End If + End Sub + + '??????????眼????菴遵? + 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 + + Dim rslt As HITRESULT = HITRESULT.None + '????c??粋?箴¥??????????鐚?+ SyncLock Me._lockObj + For Each ft As FiltersClass In _filters + Select Case ft.IsHit(post) '??????????鴻???????絎?+ Case HITRESULT.None + Case HITRESULT.Copy + If rslt <> HITRESULT.CopyAndMark Then rslt = HITRESULT.Copy + Case HITRESULT.CopyAndMark + rslt = HITRESULT.CopyAndMark + Case HITRESULT.Move + rslt = HITRESULT.Move + Case HITRESULT.Exclude + rslt = HITRESULT.Exclude + Exit For + End Select + Next + End SyncLock + + If rslt <> HITRESULT.None AndAlso rslt <> HITRESULT.Exclude Then + _tmpIds.Add(New TemporaryId(post.Id, post.IsRead)) + End If + + Return rslt '??????????若??冴????茵????? + End Function + + '罎?刈腟????申??+ Public Sub AddPostToInnerStorage(ByVal Post As PostClass) + If _posts.ContainsKey(Post.Id) Then Exit Sub + _posts.Add(Post.Id, Post) + _tmpIds.Add(New TemporaryId(Post.Id, Post.IsRead)) + End Sub + + Public Sub AddSubmit(ByRef isMentionIncluded As Boolean) + If _tmpIds.Count = 0 Then Exit Sub + For Each tId As TemporaryId In _tmpIds + If Me.TabType = TabUsageType.Mentions AndAlso TabInformations.GetInstance.Item(tId.Id).IsReply Then isMentionIncluded = True + Me.Add(tId.Id, tId.Read) + Next + _tmpIds.Clear() + End Sub + + Public Sub AddSubmit() + Dim mention As Boolean + AddSubmit(mention) + End Sub + + 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) + End Sub + + Public Sub Remove(ByVal Id As Long, ByVal Read As Boolean) + If Not Me._ids.Contains(Id) Then Exit Sub + + If Not Read AndAlso Me._unreadManage Then + Me._unreadCount -= 1 + Me._oldestUnreadItem = -1 + 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) + End Sub + + Public Property UnreadManage() As Boolean + Get + Return _unreadManage + End Get + Set(ByVal value As Boolean) + Me._unreadManage = value + If Not value Then + Me._oldestUnreadItem = -1 + Me._unreadCount = 0 + End If + End Set + End Property + + Public Property Notify() As Boolean + Get + Return _notify + End Get + Set(ByVal value As Boolean) + _notify = value + End Set + End Property + + Public Property SoundFile() As String + Get + Return _soundFile + End Get + Set(ByVal value As String) + _soundFile = value + End Set + End Property + + _ + Public Property OldestUnreadId() As Long + Get + Return _oldestUnreadItem + End Get + Set(ByVal value As Long) + _oldestUnreadItem = value + End Set + End Property + + _ + Public Property UnreadCount() As Integer + Get + Return _unreadCount + End Get + Set(ByVal value As Integer) + If value < 0 Then value = 0 + _unreadCount = value + End Set + End Property + + Public ReadOnly Property AllCount() As Integer + Get + Return Me._ids.Count + End Get + End Property + + Public Function GetFilters() As FiltersClass() + SyncLock Me._lockObj + Return _filters.ToArray() + End SyncLock + End Function + + Public Sub RemoveFilter(ByVal filter As FiltersClass) + SyncLock Me._lockObj + _filters.Remove(filter) + _filterMod = True + End SyncLock + End Sub + + Public Function AddFilter(ByVal filter As FiltersClass) As Boolean + SyncLock Me._lockObj + If _filters.Contains(filter) Then Return False + _filters.Add(filter) + _filterMod = True + Return True + End SyncLock + End Function + + Public Sub EditFilter(ByVal original As FiltersClass, ByVal modified As FiltersClass) + original.BodyFilter = modified.BodyFilter + original.NameFilter = modified.NameFilter + original.SearchBoth = modified.SearchBoth + original.SearchUrl = modified.SearchUrl + original.UseRegex = modified.UseRegex + original.CaseSensitive = modified.CaseSensitive + original.IsRt = modified.IsRt + original.Source = modified.Source + original.ExBodyFilter = modified.ExBodyFilter + original.ExNameFilter = modified.ExNameFilter + original.ExSearchBoth = modified.ExSearchBoth + original.ExSearchUrl = modified.ExSearchUrl + original.ExUseRegex = modified.ExUseRegex + original.ExCaseSensitive = modified.ExCaseSensitive + original.IsExRt = modified.IsExRt + original.ExSource = modified.ExSource + original.MoveFrom = modified.MoveFrom + original.SetMark = modified.SetMark + _filterMod = True + End Sub + + _ + Public Property Filters() As List(Of FiltersClass) + Get + SyncLock Me._lockObj + Return _filters + End SyncLock + End Get + Set(ByVal value As List(Of FiltersClass)) + SyncLock Me._lockObj + _filters = value + End SyncLock + End Set + End Property + + Public Property FilterArray() As FiltersClass() + Get + SyncLock Me._lockObj + Return _filters.ToArray + End SyncLock + End Get + Set(ByVal value As FiltersClass()) + SyncLock Me._lockObj + For Each filters As FiltersClass In value + _filters.Add(filters) + Next + End SyncLock + End Set + End Property + Public Function Contains(ByVal ID As Long) As Boolean + Return _ids.Contains(ID) + End Function + + Public Sub ClearIDs() + _ids.Clear() + _tmpIds.Clear() + _unreadCount = 0 + _oldestUnreadItem = -1 + If _posts IsNot Nothing Then + _posts.Clear() + End If + End Sub + + Public Function GetId(ByVal Index As Integer) As Long + Return _ids(Index) + End Function + + Public Function IndexOf(ByVal ID As Long) As Integer + Return _ids.IndexOf(ID) + End Function + + _ + Public Property FilterModified() As Boolean + Get + Return _filterMod + End Get + Set(ByVal value As Boolean) + _filterMod = value + End Set + End Property + + Public Function BackupIds() As Long() + Return _ids.ToArray() + End Function + + Public Property TabName() As String + Get + Return _tabName + End Get + Set(ByVal value As String) + _tabName = value + End Set + End Property + + Public Property TabType() As TabUsageType + Get + Return _tabType + End Get + Set(ByVal value As TabUsageType) + _tabType = value + If _tabType = TabUsageType.PublicSearch OrElse _tabType = TabUsageType.DirectMessage OrElse _tabType = TabUsageType.Lists Then + _sorter.posts = _posts + Else + _sorter.posts = TabInformations.GetInstance.Posts + End If + End Set + End Property + +End Class + + _ +Public NotInheritable Class FiltersClass + Implements System.IEquatable(Of FiltersClass) + Private _name As String = "" + Private _body As New List(Of String) + Private _searchBoth As Boolean = True + Private _searchUrl As Boolean = False + Private _caseSensitive As Boolean = False + Private _useRegex As Boolean = False + Private _isRt As Boolean = False + Private _source As String = "" + Private _exname As String = "" + Private _exbody As New List(Of String) + Private _exsearchBoth As Boolean = True + Private _exsearchUrl As Boolean = False + Private _exuseRegex As Boolean = False + Private _excaseSensitive As Boolean = False + Private _isExRt As Boolean = False + Private _exSource As String = "" + Private _moveFrom As Boolean = False + Private _setMark As Boolean = True + + Public Sub New() + + End Sub + + '??????筝?Η??;腓冴????荐????+ Private Function MakeSummary() As String + Dim fs As New StringBuilder() + If Not String.IsNullOrEmpty(_name) OrElse _body.Count > 0 OrElse _isRt OrElse Not String.IsNullOrEmpty(_source) Then + If _searchBoth Then + If Not String.IsNullOrEmpty(_name) Then + fs.AppendFormat(My.Resources.SetFiltersText1, _name) + Else + fs.Append(My.Resources.SetFiltersText2) + End If + End If + If _body.Count > 0 Then + fs.Append(My.Resources.SetFiltersText3) + For Each bf As String In _body + fs.Append(bf) + fs.Append(" ") + Next + fs.Length -= 1 + fs.Append(My.Resources.SetFiltersText4) + End If + fs.Append("(") + If _searchBoth Then + fs.Append(My.Resources.SetFiltersText5) + Else + fs.Append(My.Resources.SetFiltersText6) + End If + If _useRegex Then + fs.Append(My.Resources.SetFiltersText7) + End If + If _searchUrl Then + fs.Append(My.Resources.SetFiltersText8) + End If + If _caseSensitive Then + fs.Append(My.Resources.SetFiltersText13) + End If + If _isRt Then + fs.Append("RT/") + End If + If Not String.IsNullOrEmpty(_source) Then + fs.AppendFormat("Src??0}/", _source) + End If + fs.Length -= 1 + fs.Append(")") + End If + If Not String.IsNullOrEmpty(_exname) OrElse _exbody.Count > 0 OrElse _isExRt OrElse Not String.IsNullOrEmpty(_exSource) Then + '?ゅ? + fs.Append(My.Resources.SetFiltersText12) + If _exsearchBoth Then + If Not String.IsNullOrEmpty(_exname) Then + fs.AppendFormat(My.Resources.SetFiltersText1, _exname) + Else + fs.Append(My.Resources.SetFiltersText2) + End If + End If + If _exbody.Count > 0 Then + fs.Append(My.Resources.SetFiltersText3) + For Each bf As String In _exbody + fs.Append(bf) + fs.Append(" ") + Next + fs.Length -= 1 + fs.Append(My.Resources.SetFiltersText4) + End If + fs.Append("(") + If _exsearchBoth Then + fs.Append(My.Resources.SetFiltersText5) + Else + fs.Append(My.Resources.SetFiltersText6) + End If + If _exuseRegex Then + fs.Append(My.Resources.SetFiltersText7) + End If + If _exsearchUrl Then + fs.Append(My.Resources.SetFiltersText8) + End If + If _excaseSensitive Then + fs.Append(My.Resources.SetFiltersText13) + End If + If _isExRt Then + fs.Append("RT/") + End If + If Not String.IsNullOrEmpty(_exSource) Then + fs.AppendFormat("Src??0}/", _exSource) + End If + fs.Length -= 1 + fs.Append(")") + End If + + fs.Append("(") + If _moveFrom Then + fs.Append(My.Resources.SetFiltersText9) + Else + fs.Append(My.Resources.SetFiltersText11) + End If + If Not _moveFrom AndAlso _setMark Then + fs.Append(My.Resources.SetFiltersText10) + ElseIf Not _moveFrom Then + fs.Length -= 1 + End If + + fs.Append(")") + + Return fs.ToString() + End Function + + Public Property NameFilter() As String + Get + Return _name + End Get + Set(ByVal value As String) + _name = value + End Set + End Property + + Public Property ExNameFilter() As String + Get + Return _exname + End Get + Set(ByVal value As String) + _exname = value + End Set + End Property + + _ + Public Property BodyFilter() As List(Of String) + Get + Return _body + End Get + Set(ByVal value As List(Of String)) + _body = value + End Set + End Property + + Public Property BodyFilterArray() As String() + Get + Return _body.ToArray + End Get + Set(ByVal value As String()) + _body = New List(Of String) + For Each filter As String In value + _body.Add(filter) + Next + End Set + End Property + + _ + Public Property ExBodyFilter() As List(Of String) + Get + Return _exbody + End Get + Set(ByVal value As List(Of String)) + _exbody = value + End Set + End Property + + Public Property ExBodyFilterArray() As String() + Get + Return _exbody.ToArray + End Get + Set(ByVal value As String()) + _exbody = New List(Of String) + For Each filter As String In value + _exbody.Add(filter) + Next + End Set + End Property + + Public Property SearchBoth() As Boolean + Get + Return _searchBoth + End Get + Set(ByVal value As Boolean) + _searchBoth = value + End Set + End Property + + Public Property ExSearchBoth() As Boolean + Get + Return _exsearchBoth + End Get + Set(ByVal value As Boolean) + _exsearchBoth = value + End Set + End Property + + Public Property MoveFrom() As Boolean + Get + Return _moveFrom + End Get + Set(ByVal value As Boolean) + _moveFrom = value + End Set + End Property + + Public Property SetMark() As Boolean + Get + Return _setMark + End Get + Set(ByVal value As Boolean) + _setMark = value + End Set + End Property + + Public Property SearchUrl() As Boolean + Get + Return _searchUrl + End Get + Set(ByVal value As Boolean) + _searchUrl = value + End Set + End Property + + Public Property ExSearchUrl() As Boolean + Get + Return _exsearchUrl + End Get + Set(ByVal value As Boolean) + _exsearchUrl = value + End Set + End Property + + Public Property CaseSensitive() As Boolean + Get + Return _caseSensitive + End Get + Set(ByVal value As Boolean) + _caseSensitive = value + End Set + End Property + + Public Property ExCaseSensitive() As Boolean + Get + Return _excaseSensitive + End Get + Set(ByVal value As Boolean) + _excaseSensitive = value + End Set + End Property + + Public Property UseRegex() As Boolean + Get + Return _useRegex + End Get + Set(ByVal value As Boolean) + _useRegex = value + End Set + End Property + + Public Property ExUseRegex() As Boolean + Get + Return _exuseRegex + End Get + Set(ByVal value As Boolean) + _exuseRegex = value + End Set + End Property + + Public Property IsRt() As Boolean + Get + Return _isRt + End Get + Set(ByVal value As Boolean) + _isRt = value + End Set + End Property + + Public Property IsExRt() As Boolean + Get + Return _isExRt + End Get + Set(ByVal value As Boolean) + _isExRt = value + End Set + End Property + + Public Property Source() As String + Get + Return _source + End Get + Set(ByVal value As String) + _source = value + End Set + End Property + + Public Property ExSource() As String + Get + Return _exSource + End Get + Set(ByVal value As String) + _exSource = value + End Set + End Property + + Public Overrides Function ToString() As String + Return MakeSummary() + End Function + + Public Function IsHit(ByVal post As PostClass) As HITRESULT + Dim bHit As Boolean = True + Dim tBody As String + Dim tSource As String + If _searchUrl Then + tBody = post.OriginalData + tSource = post.SourceHtml + Else + tBody = post.Data + tSource = post.Source + End If + '罎?刈????激???+ Dim compOpt As System.StringComparison + Dim rgOpt As System.Text.RegularExpressions.RegexOptions + If _caseSensitive Then + compOpt = StringComparison.Ordinal + rgOpt = RegexOptions.None + Else + compOpt = StringComparison.OrdinalIgnoreCase + rgOpt = RegexOptions.IgnoreCase + End If + If _searchBoth Then + If String.IsNullOrEmpty(_name) OrElse + (Not _useRegex AndAlso + (post.Name.Equals(_name, compOpt) OrElse + post.RetweetedBy.Equals(_name, compOpt) + ) + ) OrElse + (_useRegex AndAlso + (Regex.IsMatch(post.Name, _name, rgOpt) OrElse + (Not String.IsNullOrEmpty(post.RetweetedBy) AndAlso Regex.IsMatch(post.RetweetedBy, _name, rgOpt)) + ) + ) Then + For Each fs As String In _body + If _useRegex Then + If Not Regex.IsMatch(tBody, fs, rgOpt) Then bHit = False + Else + If _caseSensitive Then + If Not tBody.Contains(fs) Then bHit = False + Else + If Not tBody.ToLower().Contains(fs.ToLower()) Then bHit = False + End If + End If + If Not bHit Then Exit For + Next + Else + bHit = False + End If + Else + For Each fs As String In _body + If _useRegex Then + If Not (Regex.IsMatch(post.Name, fs, rgOpt) OrElse + (Not String.IsNullOrEmpty(post.RetweetedBy) AndAlso Regex.IsMatch(post.RetweetedBy, fs, rgOpt)) OrElse + Regex.IsMatch(tBody, fs, rgOpt)) Then bHit = False + Else + If _caseSensitive Then + If Not (post.Name.Contains(fs) OrElse _ + post.RetweetedBy.Contains(fs) OrElse _ + tBody.Contains(fs)) Then bHit = False + Else + If Not (post.Name.ToLower().Contains(fs.ToLower()) OrElse _ + post.RetweetedBy.ToLower().Contains(fs.ToLower()) OrElse _ + tBody.ToLower().Contains(fs.ToLower())) Then bHit = False + End If + End If + If Not bHit Then Exit For + Next + End If + If _isRt Then + If post.RetweetedId = 0 Then bHit = False + End If + If Not String.IsNullOrEmpty(_source) Then + If _useRegex Then + If Not Regex.IsMatch(tSource, _source, rgOpt) Then bHit = False + Else + If Not tSource.Equals(_source, compOpt) Then bHit = False + End If + End If + If bHit Then + '?ゅ??ゅ? + If _exsearchUrl Then + tBody = post.OriginalData + tSource = post.SourceHtml + Else + tBody = post.Data + tSource = post.Source + End If + + Dim exFlag As Boolean = False + If Not String.IsNullOrEmpty(_exname) OrElse _exbody.Count > 0 Then + If _excaseSensitive Then + compOpt = StringComparison.Ordinal + rgOpt = RegexOptions.None + Else + compOpt = StringComparison.OrdinalIgnoreCase + rgOpt = RegexOptions.IgnoreCase + End If + If _exsearchBoth Then + If String.IsNullOrEmpty(_exname) OrElse + (Not _exuseRegex AndAlso + (post.Name.Equals(_exname, compOpt) OrElse + post.RetweetedBy.Equals(_exname, compOpt) + ) + ) OrElse + (_exuseRegex AndAlso _ + (Regex.IsMatch(post.Name, _exname, rgOpt) OrElse _ + (Not String.IsNullOrEmpty(post.RetweetedBy) AndAlso Regex.IsMatch(post.RetweetedBy, _exname, rgOpt)) + ) + ) Then + If _exbody.Count > 0 Then + For Each fs As String In _exbody + If _exuseRegex Then + If Regex.IsMatch(tBody, fs, rgOpt) Then exFlag = True + Else + If _excaseSensitive Then + If tBody.Contains(fs) Then exFlag = True + Else + If tBody.ToLower().Contains(fs.ToLower()) Then exFlag = True + End If + End If + If exFlag Then Exit For + Next + Else + exFlag = True + End If + End If + Else + For Each fs As String In _exbody + If _exuseRegex Then + If Regex.IsMatch(post.Name, fs, rgOpt) OrElse + (Not String.IsNullOrEmpty(post.RetweetedBy) AndAlso Regex.IsMatch(post.RetweetedBy, fs, rgOpt)) OrElse + Regex.IsMatch(tBody, fs, rgOpt) Then exFlag = True + Else + If _excaseSensitive Then + If post.Name.Contains(fs) OrElse _ + post.RetweetedBy.Contains(fs) OrElse _ + tBody.Contains(fs) Then exFlag = True + Else + If post.Name.ToLower().Contains(fs.ToLower()) OrElse _ + post.RetweetedBy.ToLower().Contains(fs.ToLower()) OrElse _ + tBody.ToLower().Contains(fs.ToLower()) Then exFlag = True + End If + End If + If exFlag Then Exit For + Next + End If + End If + If _isExRt Then + If post.RetweetedId > 0 Then exFlag = True + End If + If Not String.IsNullOrEmpty(_exSource) Then + If _exuseRegex Then + If Regex.IsMatch(tSource, _exSource, rgOpt) Then exFlag = True + Else + If tSource.Equals(_exSource, compOpt) Then exFlag = True + End If + End If + + If String.IsNullOrEmpty(_name) AndAlso _body.Count = 0 AndAlso Not _isRt AndAlso String.IsNullOrEmpty(_source) Then + bHit = False + End If + If bHit Then + If Not exFlag Then + If _moveFrom Then + Return HITRESULT.Move + Else + If _setMark Then + Return HITRESULT.CopyAndMark + End If + Return HITRESULT.Copy + End If + Else + Return HITRESULT.Exclude + End If + Else + If exFlag Then + Return HITRESULT.Exclude + Else + Return HITRESULT.None + End If + End If + Else + Return HITRESULT.None + End If + End Function + + Public Overloads Function Equals(ByVal other As FiltersClass) As Boolean _ + Implements System.IEquatable(Of Tween.FiltersClass).Equals + + If Me.BodyFilter.Count <> other.BodyFilter.Count Then Return False + If Me.ExBodyFilter.Count <> other.ExBodyFilter.Count Then Return False + For i As Integer = 0 To Me.BodyFilter.Count - 1 + If Me.BodyFilter(i) <> other.BodyFilter(i) Then Return False + Next + For i As Integer = 0 To Me.ExBodyFilter.Count - 1 + If Me.ExBodyFilter(i) <> other.ExBodyFilter(i) Then Return False + Next + + Return (Me.MoveFrom = other.MoveFrom) And _ + (Me.SetMark = other.SetMark) And _ + (Me.NameFilter = other.NameFilter) And _ + (Me.SearchBoth = other.SearchBoth) And _ + (Me.SearchUrl = other.SearchUrl) And _ + (Me.UseRegex = other.UseRegex) And _ + (Me.ExNameFilter = other.ExNameFilter) And _ + (Me.ExSearchBoth = other.ExSearchBoth) And _ + (Me.ExSearchUrl = other.ExSearchUrl) And _ + (Me.ExUseRegex = other.ExUseRegex) And _ + (Me.IsRt = other.IsRt) And _ + (Me.Source = other.Source) And _ + (Me.IsExRt = other.IsExRt) And _ + (Me.ExSource = other.ExSource) + End Function + + Public Function CopyTo(ByVal destination As FiltersClass) As FiltersClass + + If Me.BodyFilter.Count > 0 Then + For Each flt As String In Me.BodyFilter + destination.BodyFilter.Add(String.Copy(flt)) + Next + End If + + If Me.ExBodyFilter.Count > 0 Then + For Each flt As String In Me.ExBodyFilter + destination.ExBodyFilter.Add(String.Copy(flt)) + Next + End If + + destination.MoveFrom = Me.MoveFrom + destination.SetMark = Me.SetMark + destination.NameFilter = Me.NameFilter + destination.SearchBoth = Me.SearchBoth + destination.SearchUrl = Me.SearchUrl + destination.UseRegex = Me.UseRegex + destination.ExNameFilter = Me.ExNameFilter + destination.ExSearchBoth = Me.ExSearchBoth + destination.ExSearchUrl = Me.ExSearchUrl + destination.ExUseRegex = Me.ExUseRegex + destination.IsRt = Me.IsRt + destination.Source = Me.Source + destination.IsExRt = Me.IsExRt + destination.ExSource = Me.ExSource + Return destination + End Function + + Public Overrides Function Equals(ByVal obj As Object) As Boolean + If (obj Is Nothing) OrElse Not (Me.GetType() Is obj.GetType()) Then Return False + Return Me.Equals(CType(obj, FiltersClass)) + End Function + + Public Overrides Function GetHashCode() As Integer + Return Me.MoveFrom.GetHashCode Xor _ + Me.SetMark.GetHashCode Xor _ + Me.BodyFilter.GetHashCode Xor _ + Me.NameFilter.GetHashCode Xor _ + Me.SearchBoth.GetHashCode Xor _ + Me.SearchUrl.GetHashCode Xor _ + Me.UseRegex.GetHashCode Xor _ + Me.ExBodyFilter.GetHashCode Xor _ + Me.ExNameFilter.GetHashCode Xor _ + Me.ExSearchBoth.GetHashCode Xor _ + Me.ExSearchUrl.GetHashCode Xor _ + Me.ExUseRegex.GetHashCode Xor _ + Me.IsRt.GetHashCode Xor _ + Me.Source.GetHashCode Xor _ + Me.IsExRt.GetHashCode Xor _ + Me.ExSource.GetHashCode + End Function +End Class + +'?純????莠?????鐚?D罸????? +Public NotInheritable Class IdComparerClass + Implements IComparer(Of Long) + + ''' + ''' 罸??????号? + ''' + Public Enum ComparerMode + Id + Data + Name + Nickname + Source + End Enum + + Private _order As SortOrder + Private _mode As ComparerMode + Private _statuses As Dictionary(Of Long, PostClass) + Private _CmpMethod As Comparison(Of Long) + + ''' + ''' ????????? Set?????????罸???∽??????????茵?? + ''' + Public Property Order() As SortOrder + Get + Return _order + End Get + Set(ByVal Value As SortOrder) + _order = Value + SetCmpMethod(_mode, _order) + End Set + End Property + + ''' + ''' 筝???帥????羈?Set?????????罸???∽??????????茵?? + ''' + Public Property Mode() As ComparerMode + Get + Return _mode + End Get + Set(ByVal Value As ComparerMode) + _mode = Value + SetCmpMethod(_mode, _order) + End Set + End Property + + ''' + ''' ListViewItemComparer????鴻??潟??鴻?????随?綣??篁????戎??? + ''' + ''' 筝???帥???????/param> + ''' ????????? + ''' 筝???帥????羈?/param> + + Public Sub New() + _order = SortOrder.Ascending + _mode = ComparerMode.Id + SetCmpMethod(_mode, _order) + End Sub + + Public WriteOnly Property posts() As Dictionary(Of Long, PostClass) + Set(ByVal value As Dictionary(Of Long, PostClass)) + _statuses = value + End Set + End Property + + ' ???????純?????若?????若????????????戎??????莠???違??≪?????????+ Public Overloads ReadOnly Property CmpMethod(ByVal _sortmode As ComparerMode, ByVal _sortorder As SortOrder) As Comparison(Of Long) + Get + Dim _method As Comparison(Of Long) = Nothing + If _sortorder = SortOrder.Ascending Then + ' ??? + Select Case _sortmode + Case ComparerMode.Data + _method = AddressOf Compare_ModeData_Ascending + Case ComparerMode.Id + _method = AddressOf Compare_ModeId_Ascending + Case ComparerMode.Name + _method = AddressOf Compare_ModeName_Ascending + Case ComparerMode.Nickname + _method = AddressOf Compare_ModeNickName_Ascending + Case ComparerMode.Source + _method = AddressOf Compare_ModeSource_Ascending + End Select + Else + ' ??? + Select Case _sortmode + Case ComparerMode.Data + _method = AddressOf Compare_ModeData_Descending + Case ComparerMode.Id + _method = AddressOf Compare_ModeId_Descending + Case ComparerMode.Name + _method = AddressOf Compare_ModeName_Descending + Case ComparerMode.Nickname + _method = AddressOf Compare_ModeNickName_Descending + Case ComparerMode.Source + _method = AddressOf Compare_ModeSource_Descending + End Select + End If + Return _method + End Get + End Property + + ' ?純?????若?????若????????????戎??????莠???違??≪?????????+ ' (overload ?上???戎??賢???莠???違??≪????????? + Public Overloads ReadOnly Property CmpMethod() As Comparison(Of Long) + Get + Return _CmpMethod + End Get + End Property + + ' ?純?????若?????若?????????????莠???違??≪????????????+ Private Sub SetCmpMethod(ByVal mode As ComparerMode, ByVal order As SortOrder) + _CmpMethod = Me.CmpMethod(mode, order) + End Sub + + 'x?????絨??????????ゃ??鴻??違?紊с???????????鴻??違? + '?????????????(????????戎??筝??罸???∽?臂ゅ??喝????綵≪??障?罧???????+ Public Function Compare(ByVal x As Long, ByVal y As Long) _ + As Integer Implements IComparer(Of Long).Compare + Return _CmpMethod(x, y) + End Function + + ' 罸??????亥召 ???????鴻??若???D???綺????????+ ' ???罸???????+ Public Function Compare_ModeData_Ascending(ByVal x As Long, ByVal y As Long) As Integer + Dim result As Integer = String.Compare(_statuses.Item(x).Data, _statuses.Item(y).Data) + If result = 0 Then result = x.CompareTo(y) + Return result + End Function + + ' ???罸???????+ Public Function Compare_ModeData_Descending(ByVal x As Long, ByVal y As Long) As Integer + Dim result As Integer = String.Compare(_statuses.Item(y).Data, _statuses.Item(x).Data) + If result = 0 Then result = y.CompareTo(x) + Return result + End Function + + ' ?鴻??若???D罸???????+ Public Function Compare_ModeId_Ascending(ByVal x As Long, ByVal y As Long) As Integer + Return x.CompareTo(y) + End Function + + ' ?鴻??若???D罸???????+ Public Function Compare_ModeId_Descending(ByVal x As Long, ByVal y As Long) As Integer + Return y.CompareTo(x) + End Function + + ' 茵?ず???莠????? + Public Function Compare_ModeName_Ascending(ByVal x As Long, ByVal y As Long) As Integer + Dim result As Integer = String.Compare(_statuses.Item(x).Name, _statuses.Item(y).Name) + If result = 0 Then result = x.CompareTo(y) + Return result + End Function + + ' 茵?ず???莠????? + Public Function Compare_ModeName_Descending(ByVal x As Long, ByVal y As Long) As Integer + Dim result As Integer = String.Compare(_statuses.Item(y).Name, _statuses.Item(x).Name) + If result = 0 Then result = y.CompareTo(x) + Return result + End Function + + ' ????吟????莠????? + Public Function Compare_ModeNickName_Ascending(ByVal x As Long, ByVal y As Long) As Integer + Dim result As Integer = String.Compare(_statuses.Item(x).Nickname, _statuses.Item(y).Nickname) + If result = 0 Then result = x.CompareTo(y) + Return result + End Function + + ' ????吟????莠????? + Public Function Compare_ModeNickName_Descending(ByVal x As Long, ByVal y As Long) As Integer + Dim result As Integer = String.Compare(_statuses.Item(y).Nickname, _statuses.Item(x).Nickname) + If result = 0 Then result = y.CompareTo(x) + Return result + End Function + + ' Source罸???????+ Public Function Compare_ModeSource_Ascending(ByVal x As Long, ByVal y As Long) As Integer + Dim result As Integer = String.Compare(_statuses.Item(x).Source, _statuses.Item(y).Source) + If result = 0 Then result = x.CompareTo(y) + Return result + End Function + + ' Source罸???????+ Public Function Compare_ModeSource_Descending(ByVal x As Long, ByVal y As Long) As Integer + Dim result As Integer = String.Compare(_statuses.Item(y).Source, _statuses.Item(x).Source) + If result = 0 Then result = y.CompareTo(x) + Return result + End Function +End Class Added: branches/UserStream/Tween/TabsDialog.Designer.vb =================================================================== --- branches/UserStream/Tween/TabsDialog.Designer.vb (rev 0) +++ branches/UserStream/Tween/TabsDialog.Designer.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,103 @@ +鏤?ption Strict On + _ +Partial Class TabsDialog + Inherits System.Windows.Forms.Form + + '????若?????潟??若??潟????荀с?????若??≪?????????? dispose ????若??若??ゃ??????? + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Windows ????若? ????ゃ??у?荀????? + Private components As System.ComponentModel.IContainer + + '?<?: 篁ヤ????????若??c? Windows ????若? ????ゃ??у?荀????? + 'Windows ????若? ????ゃ???戎???????眼??????? + '?潟???????c???戎?c?紊??????????????? + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(TabsDialog)) + Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel + Me.OK_Button = New System.Windows.Forms.Button + Me.Cancel_Button = New System.Windows.Forms.Button + Me.TabList = New System.Windows.Forms.ListBox + Me.TableLayoutPanel1.SuspendLayout() + Me.SuspendLayout() + ' + 'TableLayoutPanel1 + ' + Me.TableLayoutPanel1.AccessibleDescription = Nothing + Me.TableLayoutPanel1.AccessibleName = Nothing + resources.ApplyResources(Me.TableLayoutPanel1, "TableLayoutPanel1") + Me.TableLayoutPanel1.BackgroundImage = Nothing + Me.TableLayoutPanel1.Controls.Add(Me.OK_Button, 0, 0) + Me.TableLayoutPanel1.Controls.Add(Me.Cancel_Button, 1, 0) + Me.TableLayoutPanel1.Font = Nothing + Me.TableLayoutPanel1.Name = "TableLayoutPanel1" + ' + 'OK_Button + ' + Me.OK_Button.AccessibleDescription = Nothing + Me.OK_Button.AccessibleName = Nothing + resources.ApplyResources(Me.OK_Button, "OK_Button") + Me.OK_Button.BackgroundImage = Nothing + Me.OK_Button.Font = Nothing + Me.OK_Button.Name = "OK_Button" + ' + 'Cancel_Button + ' + Me.Cancel_Button.AccessibleDescription = Nothing + Me.Cancel_Button.AccessibleName = Nothing + resources.ApplyResources(Me.Cancel_Button, "Cancel_Button") + Me.Cancel_Button.BackgroundImage = Nothing + Me.Cancel_Button.DialogResult = System.Windows.Forms.DialogResult.Cancel + Me.Cancel_Button.Font = Nothing + Me.Cancel_Button.Name = "Cancel_Button" + ' + 'TabList + ' + Me.TabList.AccessibleDescription = Nothing + Me.TabList.AccessibleName = Nothing + resources.ApplyResources(Me.TabList, "TabList") + Me.TabList.BackgroundImage = Nothing + Me.TabList.Font = Nothing + Me.TabList.FormattingEnabled = True + Me.TabList.Items.AddRange(New Object() {resources.GetString("TabList.Items")}) + Me.TabList.Name = "TabList" + ' + 'TabsDialog + ' + Me.AcceptButton = Me.OK_Button + Me.AccessibleDescription = Nothing + Me.AccessibleName = Nothing + resources.ApplyResources(Me, "$this") + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.BackgroundImage = Nothing + Me.CancelButton = Me.Cancel_Button + Me.Controls.Add(Me.TabList) + Me.Controls.Add(Me.TableLayoutPanel1) + Me.Font = Nothing + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog + Me.Icon = Nothing + Me.MaximizeBox = False + Me.MinimizeBox = False + Me.Name = "TabsDialog" + Me.ShowInTaskbar = False + Me.TopMost = True + Me.TableLayoutPanel1.ResumeLayout(False) + Me.ResumeLayout(False) + + End Sub + Friend WithEvents TableLayoutPanel1 As System.Windows.Forms.TableLayoutPanel + Friend WithEvents OK_Button As System.Windows.Forms.Button + Friend WithEvents Cancel_Button As System.Windows.Forms.Button + Friend WithEvents TabList As System.Windows.Forms.ListBox + +End Class Added: branches/UserStream/Tween/TabsDialog.en.resx =================================================================== --- branches/UserStream/Tween/TabsDialog.en.resx (rev 0) +++ branches/UserStream/Tween/TabsDialog.en.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Cancel + + + (New) + + + Select Tab + + \ No newline at end of file Added: branches/UserStream/Tween/TabsDialog.resx =================================================================== --- branches/UserStream/Tween/TabsDialog.resx (rev 0) +++ branches/UserStream/Tween/TabsDialog.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,258 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 67, 21 + + + System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ????潟???/value> + + + + 0 + + + TableLayoutPanel1 + + + TabList + + + TableLayoutPanel1 + + + System.Windows.Forms.ListBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 67, 21 + + + 14, 12 + + + 1 + + + 2 + + + 0 + + + (?域??帥?) + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + None + + + ?帥??御? + + + 12 + + + None + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Cancel_Button + + + Bottom, Right + + + OK + + + 76, 3 + + + 11, 111 + + + 140, 88 + + + 169, 149 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="OK_Button" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="Cancel_Button" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="Percent,50,Percent,50" /><Rows Styles="Percent,50" /></TableLayoutSettings> + + + 1 + + + 0 + + + 146, 27 + + + 1 + + + 1 + + + $this + + + TableLayoutPanel1 + + + $this + + + CenterParent + + + 0 + + + 6, 12 + + + 3, 3 + + + 1 + + + TabsDialog + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + OK_Button + + + True + + \ No newline at end of file Added: branches/UserStream/Tween/TabsDialog.vb =================================================================== --- branches/UserStream/Tween/TabsDialog.vb (rev 0) +++ branches/UserStream/Tween/TabsDialog.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,162 @@ +鏤? Tween - Client of Twitter +' Copyright (c) 2007-2010 kiri_feather (@kiri_feather) +' (c) 2008-2010 Moz (@syo68k) +' (c) 2008-2010 takeshik (@takeshik) +' All rights reserved. +' +' This file is part of Tween. +' +' This program is free software; you can redistribute it and/or modify it +' under the terms of the GNU General Public License as published by the Free +' Software Foundation; either version 3 of the License, or (at your option) +' any later version. +' +' This program is distributed in the hope that it will be useful, but +' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +' for more details. +' +' You should have received a copy of the GNU General Public License along +' with this program. If not, see , or write to +' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, +' Boston, MA 02110-1301, USA. + +Imports System.Windows.Forms +Imports System.Collections.Specialized + +Public Class TabsDialog + + Private _multiSelect As Boolean = False + Private _newtabItem As String = My.Resources.AddNewTabText1 + + Public Sub New() + + ' ????若??冴?????吟?????у?荀????? + InitializeComponent() + + ' InitializeComponent() ?若??冴?????у??????申????障???+ + End Sub + + + Public Sub New(ByVal multiselect As Boolean) + + ' ????若??冴?????吟?????у?荀????? + InitializeComponent() + + ' InitializeComponent() ?若??冴?????у??????申????障???+ + Me.MultiSelect = True + + End Sub + + Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click + Me.DialogResult = System.Windows.Forms.DialogResult.OK + Me.Close() + End Sub + + Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click + Me.DialogResult = System.Windows.Forms.DialogResult.Cancel + Me.Close() + End Sub + + Private Sub TabsDialog_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + If _multiSelect Then + TabList.SelectedIndex = -1 + Else + If TabList.SelectedIndex = -1 Then TabList.SelectedIndex = 0 + End If + End Sub + + Public Sub AddTab(ByVal tabName As String) + For Each obj As String In TabList.Items + If obj = tabName Then Exit Sub + Next + TabList.Items.Add(tabName) + End Sub + + Public Sub RemoveTab(ByVal tabName As String) + For i As Integer = 0 To TabList.Items.Count - 1 + If CType(TabList.Items.Item(i), String) = tabName Then + TabList.Items.RemoveAt(i) + Exit Sub + End If + Next + End Sub + + Public Sub ClearTab() + Dim startidx As Integer = 1 + + If _multiSelect Then + startidx = 0 + End If + For i As Integer = startidx To TabList.Items.Count - 1 + TabList.Items.RemoveAt(0) + Next + End Sub + + Public ReadOnly Property SelectedTabName() As String + Get + If TabList.SelectedIndex = -1 Then + Return "" + Else + Return CStr(TabList.SelectedItem) + End If + End Get + End Property + + Public ReadOnly Property SelectedTabNames() As StringCollection + Get + If TabList.SelectedIndex = -1 Then + Return Nothing + Else + Dim ret As New StringCollection + For Each selitem As Object In TabList.SelectedItems + ret.Add(CStr(selitem)) + Next + Return ret + End If + End Get + End Property + + Public Property MultiSelect() As Boolean + Get + Return _multiSelect + End Get + Set(ByVal value As Boolean) + _multiSelect = value + If value Then + Me.TabList.SelectionMode = SelectionMode.MultiExtended + If Me.TabList.Items(0).ToString = My.Resources.AddNewTabText1 Then + Me.TabList.Items.RemoveAt(0) + End If + Else + Me.TabList.SelectionMode = SelectionMode.One + If Me.TabList.Items(0).ToString <> My.Resources.AddNewTabText1 Then + Me.TabList.Items.Insert(0, My.Resources.AddNewTabText1) + End If + End If + End Set + End Property + + Private Sub TabList_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabList.SelectedIndexChanged + + End Sub + + Private Sub TabList_DoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabList.DoubleClick + If TabList.SelectedItem Is Nothing Then + Exit Sub + End If + + If TabList.IndexFromPoint(TabList.PointToClient(Control.MousePosition)) = ListBox.NoMatches Then + Exit Sub + End If + + Me.DialogResult = System.Windows.Forms.DialogResult.OK + Me.Close() + End Sub + + Private Sub TabsDialog_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown + TabList.Focus() + End Sub +End Class Added: branches/UserStream/Tween/TabsDialog.zh-CHS.resx =================================================================== --- branches/UserStream/Tween/TabsDialog.zh-CHS.resx (rev 0) +++ branches/UserStream/Tween/TabsDialog.zh-CHS.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 隋?? + + + ??? + + + (?医産???) + + + ?????? + + \ No newline at end of file Added: branches/UserStream/Tween/Thumbnail.vb =================================================================== --- branches/UserStream/Tween/Thumbnail.vb (rev 0) +++ branches/UserStream/Tween/Thumbnail.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,2016 @@ +鏤?mports System.Text.RegularExpressions +Imports System.ComponentModel +Imports System.Text +Imports System.Xml + +Public Class Thumbnail + + Private lckPrev As New Object + Private _prev As PreviewData + Private Class PreviewData + Implements IDisposable + + Public statusId As Long + Public urls As List(Of KeyValuePair(Of String, String)) + Public pics As New List(Of KeyValuePair(Of String, Image)) + Public tooltiptext As New List(Of KeyValuePair(Of String, String)) + Public imageCreators As New List(Of KeyValuePair(Of String, ImageCreatorDelegate)) + Public Sub New(ByVal id As Long, ByVal urlList As List(Of KeyValuePair(Of String, String)), ByVal imageCreatorList As List(Of KeyValuePair(Of String, ImageCreatorDelegate))) + statusId = id + urls = urlList + imageCreators = imageCreatorList + End Sub + + Public IsError As Boolean + Public AdditionalErrorMessage As String + + Private disposedValue As Boolean = False ' ???????若??冴?????冴??????+ + ' IDisposable + Protected Overridable Sub Dispose(ByVal disposing As Boolean) + If Not Me.disposedValue Then + If disposing Then + ' TODO: ??ず????若??冴???????????????????若???В?障??障? + End If + + ' TODO: ?掩?????潟??????????若???В?障??障? + For Each pic As KeyValuePair(Of String, Image) In pics + If pic.Value IsNot Nothing Then pic.Value.Dispose() + Next + End If + Me.disposedValue = True + End Sub + +#Region " IDisposable Support " + ' ????潟???????罍???????帥??潟?罩c??鎘???с??????? Visual Basic ????c?菴遵?????障???? + Public Sub Dispose() Implements IDisposable.Dispose + ' ????潟????紊???????????????????若??≪????潟????筝?? Dispose(ByVal disposing As Boolean) ???菴違??障???+ Dispose(True) + GC.SuppressFinalize(Me) + End Sub +#End Region + + End Class + Private Owner As TweenMain + Private Delegate Function UrlCreatorDelegate(ByVal args As GetUrlArgs) As Boolean + Private Delegate Function ImageCreatorDelegate(ByVal args As CreateImageArgs) As Boolean + + Private Class GetUrlArgs + Public url As String + Public imglist As List(Of KeyValuePair(Of String, String)) + End Class + + Private Class CreateImageArgs + Public url As KeyValuePair(Of String, String) + Public pics As List(Of KeyValuePair(Of String, Image)) + Public tooltiptext As List(Of KeyValuePair(Of String, String)) + Public errmsg As String + End Class + + Private Class ThumbnailService + Public Name As String + Public urlCreator As UrlCreatorDelegate + Public imageCreator As ImageCreatorDelegate + + Public Sub New(ByVal name As String, ByVal urlcreator As UrlCreatorDelegate, ByVal imagecreator As ImageCreatorDelegate) + Me.Name = name + Me.urlCreator = urlcreator + Me.imageCreator = imagecreator + End Sub + End Class + + Private ThumbnailServices As ThumbnailService() = { + New ThumbnailService("ImgUr", AddressOf ImgUr_GetUrl, AddressOf ImgUr_CreateImage), _ + New ThumbnailService("DirectLink", AddressOf DirectLink_GetUrl, AddressOf DirectLink_CreateImage), _ + New ThumbnailService("TwitPic", AddressOf TwitPic_GetUrl, AddressOf TwitPic_CreateImage), _ + New ThumbnailService("yfrog", AddressOf yfrog_GetUrl, AddressOf yfrog_CreateImage), _ + New ThumbnailService("Plixi(TweetPhoto)", AddressOf Plixi_GetUrl, AddressOf Plixi_CreateImage), _ + New ThumbnailService("MobyPicture", AddressOf MobyPicture_GetUrl, AddressOf MobyPicture_CreateImage), _ + New ThumbnailService("?阪遣?丈?", AddressOf MovaPic_GetUrl, AddressOf MovaPic_CreateImage), _ + New ThumbnailService("??????????????, AddressOf Hatena_GetUrl, AddressOf Hatena_CreateImage), _ + New ThumbnailService("PhotoShare/bctiny", AddressOf PhotoShare_GetUrl, AddressOf PhotoShare_CreateImage), _ + New ThumbnailService("img.ly", AddressOf imgly_GetUrl, AddressOf imgly_CreateImage), _ + New ThumbnailService("brightkite", AddressOf brightkite_GetUrl, AddressOf brightkite_CreateImage), _ + New ThumbnailService("Twitgoo", AddressOf Twitgoo_GetUrl, AddressOf Twitgoo_CreateImage), _ + New ThumbnailService("youtube", AddressOf youtube_GetUrl, AddressOf youtube_CreateImage), _ + New ThumbnailService("?????????", AddressOf nicovideo_GetUrl, AddressOf nicovideo_CreateImage), _ + New ThumbnailService("Pixiv", AddressOf Pixiv_GetUrl, AddressOf Pixiv_CreateImage), _ + New ThumbnailService("flickr", AddressOf flickr_GetUrl, AddressOf flickr_CreateImage), _ + New ThumbnailService("??????", AddressOf Photozou_GetUrl, AddressOf Photozou_CreateImage), _ + New ThumbnailService("TwitVideo", AddressOf TwitVideo_GetUrl, AddressOf TwitVideo_CreateImage), _ + New ThumbnailService("Piapro", AddressOf Piapro_GetUrl, AddressOf Piapro_CreateImage), _ + New ThumbnailService("Tumblr", AddressOf Tumblr_GetUrl, AddressOf Tumblr_CreateImage), _ + New ThumbnailService("?ゃ??c???????", AddressOf TwipplePhoto_GetUrl, AddressOf TwipplePhoto_CreateImage), _ + New ThumbnailService("mypix/shamoji", AddressOf mypix_GetUrl, AddressOf mypix_CreateImage), _ + New ThumbnailService("ow.ly", AddressOf Owly_GetUrl, AddressOf Owly_CreateImage), _ + New ThumbnailService("vimeo", AddressOf Vimeo_GetUrl, AddressOf Vimeo_CreateImage), _ + New ThumbnailService("cloudfiles", AddressOf CloudFiles_GetUrl, AddressOf CloudFiles_CreateImage), _ + New ThumbnailService("instagram", AddressOf instagram_GetUrl, AddressOf instagram_CreateImage) + } + + Public Sub New(ByVal Owner As TweenMain) + Me.Owner = Owner + + AddHandler Owner.PreviewScrollBar.Scroll, AddressOf PreviewScrollBar_Scroll + AddHandler Owner.PreviewPicture.MouseLeave, AddressOf PreviewPicture_MouseLeave + AddHandler Owner.PreviewPicture.DoubleClick, AddressOf PreviewPicture_DoubleClick + End Sub + + Private ReadOnly Property _curPost As PostClass + Get + Return Owner.CurPost() + End Get + End Property + + Private Function IsDirectLink(ByVal url As String) As Boolean + Return Regex.Match(url, "^http://.*(\.jpg|\.jpeg|\.gif|\.png|\.bmp)$", RegexOptions.IgnoreCase).Success + End Function + + Public Sub thumbnail(ByVal id As Long, ByVal links As List(Of String)) + If Not Owner.IsPreviewEnable Then + Owner.SplitContainer3.Panel2Collapsed = True + Exit Sub + End If + If Not Owner.PreviewPicture.Image Is Nothing Then + Owner.PreviewPicture.Image.Dispose() + Owner.PreviewPicture.Image = Nothing + Owner.SplitContainer3.Panel2Collapsed = True + End If + 'SyncLock lckPrev + ' If _prev IsNot Nothing Then + ' _prev.Dispose() + ' _prev = Nothing + ' End If + 'End SyncLock + + If links.Count = 0 Then + Owner.PreviewScrollBar.Maximum = 0 + Owner.PreviewScrollBar.Enabled = False + Owner.SplitContainer3.Panel2Collapsed = True + Exit Sub + End If + + Dim imglist As New List(Of KeyValuePair(Of String, String)) + Dim dlg As New List(Of KeyValuePair(Of String, ImageCreatorDelegate)) + + For Each url As String In links + For Each svc As ThumbnailService In ThumbnailServices + Dim args As New GetUrlArgs + args.url = url + args.imglist = imglist + If svc.urlCreator(args) Then + ' URL???綽?????????ゃ?篏?????????蚊???????????脂? + dlg.Add(New KeyValuePair(Of String, ImageCreatorDelegate)(url, svc.imageCreator)) + Exit For + End If + Next + Next + + If imglist.Count = 0 Then + Owner.PreviewScrollBar.Maximum = 0 + Owner.PreviewScrollBar.Enabled = False + Owner.SplitContainer3.Panel2Collapsed = True + Exit Sub + End If + + ThumbnailProgressChanged(0) + Dim bgw As BackgroundWorker + bgw = New BackgroundWorker() + AddHandler bgw.DoWork, AddressOf bgw_DoWork + AddHandler bgw.RunWorkerCompleted, AddressOf bgw_Completed + bgw.RunWorkerAsync(New PreviewData(id, imglist, dlg)) + + End Sub + + Private Sub ThumbnailProgressChanged(ByVal ProgressPercentage As Integer, Optional ByVal AddMsg As String = "") + If ProgressPercentage = 0 Then '??? + Owner.SetStatusLabel("Thumbnail generating...") + ElseIf ProgressPercentage = 100 Then '罩e幻腟?? + Owner.SetStatusLabel("Thumbnail generated.") + Else ' ?????+ If String.IsNullOrEmpty(AddMsg) Then + Owner.SetStatusLabel("can't get Thumbnail.") + Else + Owner.SetStatusLabel("can't get Thumbnail.(" + AddMsg + ")") + End If + End If + End Sub + + Private Sub bgw_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) + Dim arg As PreviewData = DirectCast(e.Argument, PreviewData) + Dim worker As BackgroundWorker = DirectCast(sender, BackgroundWorker) + arg.AdditionalErrorMessage = "" + + For Each url As KeyValuePair(Of String, String) In arg.urls + For Each svc As ThumbnailService In ThumbnailServices + Dim args As New CreateImageArgs + args.url = url + args.pics = arg.pics + args.tooltiptext = arg.tooltiptext + args.errmsg = "" + If arg.imageCreators.Item(arg.urls.IndexOf(url)).Value(args) Then + Exit For + Else + arg.AdditionalErrorMessage = args.errmsg + arg.IsError = True + End If + Exit For + Next + Next + + If arg.pics.Count = 0 Then + arg.IsError = True + Else + arg.IsError = False + End If + e.Result = arg + End Sub + + Private Sub bgw_Completed(ByVal sender As System.Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) + Dim prv As PreviewData = TryCast(e.Result, PreviewData) + If prv Is Nothing OrElse prv.IsError Then + Owner.PreviewScrollBar.Maximum = 0 + Owner.PreviewScrollBar.Enabled = False + Owner.SplitContainer3.Panel2Collapsed = True + If prv IsNot Nothing AndAlso Not String.IsNullOrEmpty(prv.AdditionalErrorMessage) Then + ThumbnailProgressChanged(-1, prv.AdditionalErrorMessage) + Else + ThumbnailProgressChanged(-1) + End If + Exit Sub + End If + SyncLock lckPrev + If prv IsNot Nothing AndAlso _curPost IsNot Nothing AndAlso prv.statusId = _curPost.Id Then + _prev = prv + Owner.SplitContainer3.Panel2Collapsed = False + Owner.PreviewScrollBar.Maximum = _prev.pics.Count - 1 + If Owner.PreviewScrollBar.Maximum > 0 Then + Owner.PreviewScrollBar.Enabled = True + Else + Owner.PreviewScrollBar.Enabled = False + End If + Owner.PreviewScrollBar.Value = 0 + Owner.PreviewPicture.Image = _prev.pics(0).Value + If Not String.IsNullOrEmpty(_prev.tooltiptext(0).Value) Then + Owner.ToolTip1.SetToolTip(Owner.PreviewPicture, _prev.tooltiptext(0).Value) + Else + Owner.ToolTip1.SetToolTip(Owner.PreviewPicture, "") + End If + ElseIf _curPost Is Nothing OrElse (_prev IsNot Nothing AndAlso _curPost.Id <> _prev.statusId) Then + Owner.PreviewScrollBar.Maximum = 0 + Owner.PreviewScrollBar.Enabled = False + Owner.SplitContainer3.Panel2Collapsed = True + End If + End SyncLock + ThumbnailProgressChanged(100) + End Sub + + Public Sub ScrollThumbnail(ByVal forward As Boolean) + If forward Then + Owner.PreviewScrollBar.Value = Math.Min(Owner.PreviewScrollBar.Value + 1, Owner.PreviewScrollBar.Maximum) + PreviewScrollBar_Scroll(Owner.PreviewScrollBar, New ScrollEventArgs(ScrollEventType.SmallIncrement, Owner.PreviewScrollBar.Value)) + Else + Owner.PreviewScrollBar.Value = Math.Max(Owner.PreviewScrollBar.Value - 1, Owner.PreviewScrollBar.Minimum) + PreviewScrollBar_Scroll(Owner.PreviewScrollBar, New ScrollEventArgs(ScrollEventType.SmallDecrement, Owner.PreviewScrollBar.Value)) + End If + End Sub + + Private Sub PreviewScrollBar_Scroll(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ScrollEventArgs) + SyncLock lckPrev + If _prev IsNot Nothing AndAlso _curPost IsNot Nothing AndAlso _prev.statusId = _curPost.Id Then + If _prev.pics.Count > e.NewValue Then + Owner.PreviewPicture.Image = _prev.pics(e.NewValue).Value + If Not String.IsNullOrEmpty(_prev.tooltiptext(e.NewValue).Value) Then + Owner.ToolTip1.Hide(Owner.PreviewPicture) + Owner.ToolTip1.SetToolTip(Owner.PreviewPicture, _prev.tooltiptext(e.NewValue).Value) + Else + Owner.ToolTip1.SetToolTip(Owner.PreviewPicture, "") + Owner.ToolTip1.Hide(Owner.PreviewPicture) + End If + End If + End If + End SyncLock + End Sub + + Private Sub PreviewPicture_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) + Owner.ToolTip1.Hide(Owner.PreviewPicture) + End Sub + Private Sub PreviewPicture_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) + OpenPicture() + End Sub + Public Sub OpenPicture() + If _prev IsNot Nothing Then + If Owner.PreviewScrollBar.Value < _prev.pics.Count Then + Owner.OpenUriAsync(_prev.pics(Owner.PreviewScrollBar.Value).Key) + End If + End If + End Sub + +#Region "??????" +#If 0 Then + ''' + ''' URL茹f?????若??冴?????泣?????????L篏??????蚊???+ ''' + ''' Class GetUrlArgs + ''' args.url URL?????+ ''' args.imglist 茹f?????????????????????RL???????ゃ?URL??就?т??????eyValuePair + ''' + ''' ???????翫?True,紊掩??????alse + ''' args.imglist????若??冴?????т戎????????mglist???????丈検?????/remarks> + + Private Function ServiceName_GetUrl(ByVal args As GetUrlArgs) As Boolean + ' TODO URL?ゅ???????菴?+ Dim mc As Match = Regex.Match(args.url, "^http://imgur\.com/(\w+)\.jpg$", RegexOptions.IgnoreCase) + If mc.Success Then + ' TODO ???????泣??????RL??????imglist.Add??? + args.imglist.Add(New KeyValuePair(Of String, String)(args.url, mc.Result("http://i.imgur.com/${1}l.jpg"))) + Return True + Else + Return False + End If + End Function + + ''' + ''' BackgroundWorker????若??冴?????泣????????鋎??????蚊???+ ''' + ''' Class CreateImageArgs + ''' url As KeyValuePair(Of String, String) ??RL???????ゃ?URL??eyValuePair + ''' pics As List(Of KeyValuePair(Of String, Image)) ??RL???????ゃ??糸???eyValuePair + ''' tooltiptext As List(Of KeyValuePair(Of String, String)) ??RL????若?????????????KeyValuePair + ''' errmsg As String ?????け?????????????<??祉???+ ''' + ''' ?泣????????鋎??????????????True,紊掩?????翫???alse + ''' ???紊掩?????翫???rgs.errmsg????????;???絖?????????????/returns> + ''' + Private Function ServiceName_CreateImage(ByVal args As CreateImageArgs) As Boolean + ' TODO: ?泣????????顄??莨若???????菴違??障? + Dim img As Image = (New HttpVarious).GetImage(args.url.Value, args.url.Key, 10000, args.errmsg) + If img Is Nothing Then + Return False + End If + ' ???????翫???RL???綽??????????若??????????????脂? + args.pics.Add(New KeyValuePair(Of String, Image)(args.url.Key, img)) + args.tooltiptext.Add(New KeyValuePair(Of String, String)(args.url.Key, "")) + Return True + End Function +#End If +#End Region + +#Region "ImgUr" + ''' + ''' URL茹f?????若??冴?????泣?????????L篏??????蚊???+ ''' + ''' Class GetUrlArgs + ''' args.url URL?????+ ''' args.imglist 茹f?????????????????????RL???????ゃ?URL??就?т??????eyValuePair + ''' + ''' ???????翫?True,紊掩??????alse + ''' args.imglist????若??冴?????т戎????????mglist???????丈検?????/remarks> + + Private Function ImgUr_GetUrl(ByVal args As GetUrlArgs) As Boolean + Dim mc As Match = Regex.Match(args.url, "^http://imgur\.com/(\w+)\.jpg$", RegexOptions.IgnoreCase) + If mc.Success Then + args.imglist.Add(New KeyValuePair(Of String, String)(args.url, mc.Result("http://i.imgur.com/${1}l.jpg"))) + Return True + Else + Return False + End If + End Function + + ''' + ''' BackgroundWorker????若??冴?????泣????????鋎??????蚊???+ ''' + ''' Class CreateImageArgs + ''' url As KeyValuePair(Of String, String) ??RL???????ゃ?URL??eyValuePair + ''' pics As List(Of KeyValuePair(Of String, Image)) ??RL???????ゃ??糸???eyValuePair + ''' tooltiptext As List(Of KeyValuePair(Of String, String)) ??RL????若?????????????KeyValuePair + ''' errmsg As String ?????け?????????????<??祉???+ ''' + ''' ?泣????????鋎??????????????True,紊掩?????翫???alse + ''' ???紊掩?????翫???rgs.errmsg????????;???絖?????????????/returns> + ''' + + Private Function ImgUr_CreateImage(ByVal args As CreateImageArgs) As Boolean + Dim img As Image = (New HttpVarious).GetImage(args.url.Value, args.url.Key, 10000, args.errmsg) + If img Is Nothing Then + Return False + End If + args.pics.Add(New KeyValuePair(Of String, Image)(args.url.Key, img)) + args.tooltiptext.Add(New KeyValuePair(Of String, String)(args.url.Key, "")) + Return True + End Function +#End Region + +#Region "?糸??眼??潟?" + Private Function DirectLink_GetUrl(ByVal args As GetUrlArgs) As Boolean + '?糸??≦宍絖??腟????RL鐚???????? + If IsDirectLink(args.url) Then + args.imglist.Add(New KeyValuePair(Of String, String)(args.url, args.url)) + Return True + Else + Return False + End If + End Function + ''' + ''' BackgroundWorker????若??冴?????泣????????鋎??????蚊???+ ''' + ''' Class CreateImageArgs + ''' url As KeyValuePair(Of String, String) ??RL???????ゃ?URL??eyValuePair + ''' pics As List(Of KeyValuePair(Of String, Image)) ??RL???????ゃ??糸???eyValuePair + ''' tooltiptext As List(Of KeyValuePair(Of String, String)) ??RL????若?????????????KeyValuePair + ''' errmsg As String ?????け?????????????<??祉???+ ''' + ''' ?泣????????鋎??????????????True,紊掩?????翫???alse + ''' ???紊掩?????翫???rgs.errmsg????????;???絖?????????????/returns> + ''' + + Private Function DirectLink_CreateImage(ByVal args As CreateImageArgs) As Boolean + Dim img As Image = (New HttpVarious).GetImage(args.url.Value, args.url.Key, 10000, args.errmsg) + If img Is Nothing Then Return False + args.pics.Add(New KeyValuePair(Of String, Image)(args.url.Key, img)) + args.tooltiptext.Add(New KeyValuePair(Of String, String)(args.url.Key, "")) + Return True + End Function +#End Region + +#Region "TwitPic" + ''' + ''' URL茹f?????若??冴?????泣?????????L篏??????蚊???+ ''' + ''' Class GetUrlArgs + ''' args.url URL?????+ ''' args.imglist 茹f?????????????????????RL???????ゃ?URL??就?т??????eyValuePair + ''' + ''' ???????翫?True,紊掩??????alse + ''' args.imglist????若??冴?????т戎????????mglist???????丈検?????/remarks> + + Private Function TwitPic_GetUrl(ByVal args As GetUrlArgs) As Boolean + ' TODO URL?ゅ???????菴?+ Dim mc As Match = Regex.Match(args.url, "^http://(www\.)?twitpic\.com/(?\w+)(/full/?)?$", RegexOptions.IgnoreCase) + If mc.Success Then + ' TODO ???????泣??????RL??????imglist.Add??? + args.imglist.Add(New KeyValuePair(Of String, String)(args.url, mc.Result("http://twitpic.com/show/thumb/${photoId}"))) + Return True + Else + Return False + End If + End Function + + ''' + ''' BackgroundWorker????若??冴?????泣????????鋎??????蚊???+ ''' + ''' Class CreateImageArgs + ''' url As KeyValuePair(Of String, String) ??RL???????ゃ?URL??eyValuePair + ''' pics As List(Of KeyValuePair(Of String, Image)) ??RL???????ゃ??糸???eyValuePair + ''' tooltiptext As List(Of KeyValuePair(Of String, String)) ??RL????若?????????????KeyValuePair + ''' errmsg As String ?????け?????????????<??祉???+ ''' + ''' ?泣????????鋎??????????????True,紊掩?????翫???alse + ''' ???紊掩?????翫???rgs.errmsg????????;???絖?????????????/returns> + ''' + Private Function TwitPic_CreateImage(ByVal args As CreateImageArgs) As Boolean + ' TODO: ?泣????????顄??莨若???????菴違??障? + Dim img As Image = (New HttpVarious).GetImage(args.url.Value, args.url.Key, 10000, args.errmsg) + If img Is Nothing Then + Return False + End If + ' ???????翫???RL???綽??????????若??????????????脂? + args.pics.Add(New KeyValuePair(Of String, Image)(args.url.Key, img)) + args.tooltiptext.Add(New KeyValuePair(Of String, String)(args.url.Key, "")) + Return True + End Function + +#End Region + +#Region "yfrog" + ''' + ''' URL茹f?????若??冴?????泣?????????L篏??????蚊???+ ''' + ''' Class GetUrlArgs + ''' args.url URL?????+ ''' args.imglist 茹f?????????????????????RL???????ゃ?URL??就?т??????eyValuePair + ''' + ''' ???????翫?True,紊掩??????alse + ''' args.imglist????若??冴?????т戎????????mglist???????丈検?????/remarks> + + Private Function yfrog_GetUrl(ByVal args As GetUrlArgs) As Boolean + ' TODO URL?ゅ???????菴?+ Dim mc As Match = Regex.Match(args.url, "^http://yfrog\.com/(\w+)$", RegexOptions.IgnoreCase) + If mc.Success Then + ' TODO ???????泣??????RL??????imglist.Add??? + args.imglist.Add(New KeyValuePair(Of String, String)(args.url, args.url + ".th.jpg")) + Return True + Else + Return False + End If + End Function + + ''' + ''' BackgroundWorker????若??冴?????泣????????鋎??????蚊???+ ''' + ''' Class CreateImageArgs + ''' url As KeyValuePair(Of String, String) ??RL???????ゃ?URL??eyValuePair + ''' pics As List(Of KeyValuePair(Of String, Image)) ??RL???????ゃ??糸???eyValuePair + ''' tooltiptext As List(Of KeyValuePair(Of String, String)) ??RL????若?????????????KeyValuePair + ''' errmsg As String ?????け?????????????<??祉???+ ''' + ''' ?泣????????鋎??????????????True,紊掩?????翫???alse + ''' ???紊掩?????翫???rgs.errmsg????????;???絖?????????????/returns> + ''' + Private Function yfrog_CreateImage(ByVal args As CreateImageArgs) As Boolean + ' TODO: ?泣????????顄??莨若???????菴違??障? + Dim img As Image = (New HttpVarious).GetImage(args.url.Value, args.url.Key, 10000, args.errmsg) + If img Is Nothing Then + Return False + End If + ' ???????翫???RL???綽??????????若??????????????脂? + args.pics.Add(New KeyValuePair(Of String, Image)(args.url.Key, img)) + args.tooltiptext.Add(New KeyValuePair(Of String, String)(args.url.Key, "")) + Return True + End Function + +#End Region + +#Region "Plixi(TweetPhoto)" + ''' + ''' URL茹f?????若??冴?????泣?????????L篏??????蚊???+ ''' + ''' Class GetUrlArgs + ''' args.url URL?????+ ''' args.imglist 茹f?????????????????????RL???????ゃ?URL??就?т??????eyValuePair + ''' + ''' ???????翫?True,紊掩??????alse + ''' args.imglist????若??冴?????т戎????????mglist???????丈検?????/remarks> + + Private Function Plixi_GetUrl(ByVal args As GetUrlArgs) As Boolean + ' TODO URL?ゅ???????菴?+ Dim mc As Match = Regex.Match(args.url, "^(http://tweetphoto\.com/[0-9]+|http://pic\.gd/[a-z0-9]+|http://plixi\.com/p/[0-9]+)$", RegexOptions.IgnoreCase) + If mc.Success Then + ' TODO ???????泣??????RL??????imglist.Add??? + Const comp As String = "http://api.plixi.com/api/tpapi.svc/imagefromurl?size=thumbnail&url=" + args.imglist.Add(New KeyValuePair(Of String, String)(args.url, comp + args.url)) + Return True + Else + Return False + End If + End Function + + ''' + ''' BackgroundWorker????若??冴?????泣????????鋎??????蚊???+ ''' + ''' Class CreateImageArgs + ''' url As KeyValuePair(Of String, String) ??RL???????ゃ?URL??eyValuePair + ''' pics As List(Of KeyValuePair(Of String, Image)) ??RL???????ゃ??糸???eyValuePair + ''' tooltiptext As List(Of KeyValuePair(Of String, String)) ??RL????若?????????????KeyValuePair + ''' errmsg As String ?????け?????????????<??祉???+ ''' + ''' ?泣????????鋎??????????????True,紊掩?????翫???alse + ''' ???紊掩?????翫???rgs.errmsg????????;???絖?????????????/returns> + ''' + Private Function Plixi_CreateImage(ByVal args As CreateImageArgs) As Boolean + ' TODO: ?泣????????顄??莨若???????菴違??障? + Dim img As Image = (New HttpVarious).GetImage(args.url.Value, args.url.Key, 10000, args.errmsg) + If img Is Nothing Then + Return False + End If + ' ???????翫???RL???綽??????????若??????????????脂? + args.pics.Add(New KeyValuePair(Of String, Image)(args.url.Key, img)) + args.tooltiptext.Add(New KeyValuePair(Of String, String)(args.url.Key, "")) + Return True + End Function + +#End Region + +#Region "MobyPicture" + ''' + ''' URL茹f?????若??冴?????泣?????????L篏??????蚊???+ ''' + ''' Class GetUrlArgs + ''' args.url URL?????+ ''' args.imglist 茹f?????????????????????RL???????ゃ?URL??就?т??????eyValuePair + ''' + ''' ???????翫?True,紊掩??????alse + ''' args.imglist????若??冴?????т戎????????mglist???????丈検?????/remarks> + + Private Function MobyPicture_GetUrl(ByVal args As GetUrlArgs) As Boolean + ' TODO URL?ゅ???????菴?+ Dim mc As Match = Regex.Match(args.url, "^http://moby\.to/(\w+)$", RegexOptions.IgnoreCase) + If mc.Success Then + ' TODO ???????泣??????RL??????imglist.Add??? + args.imglist.Add(New KeyValuePair(Of String, String)(args.url, mc.Result("http://mobypicture.com/?${1}:small"))) + Return True + Else + Return False + End If + End Function + + ''' + ''' BackgroundWorker????若??冴?????泣????????鋎??????蚊???+ ''' + ''' Class CreateImageArgs + ''' url As KeyValuePair(Of String, String) ??RL???????ゃ?URL??eyValuePair + ''' pics As List(Of KeyValuePair(Of String, Image)) ??RL???????ゃ??糸???eyValuePair + ''' tooltiptext As List(Of KeyValuePair(Of String, String)) ??RL????若?????????????KeyValuePair + ''' errmsg As String ?????け?????????????<??祉???+ ''' + ''' ?泣????????鋎??????????????True,紊掩?????翫???alse + ''' ???紊掩?????翫???rgs.errmsg????????;???絖?????????????/returns> + ''' + Private Function MobyPicture_CreateImage(ByVal args As CreateImageArgs) As Boolean + ' TODO: ?泣????????顄??莨若???????菴違??障? + Dim img As Image = (New HttpVarious).GetImage(args.url.Value, args.url.Key, 10000, args.errmsg) + If img Is Nothing Then + Return False + End If + ' ???????翫???RL???綽??????????若??????????????脂? + args.pics.Add(New KeyValuePair(Of String, Image)(args.url.Key, img)) + args.tooltiptext.Add(New KeyValuePair(Of String, String)(args.url.Key, "")) + Return True + End Function + +#End Region + +#Region "?阪遣?丈?" + ''' + ''' URL茹f?????若??冴?????泣?????????L篏??????蚊???+ ''' + ''' Class GetUrlArgs + ''' args.url URL?????+ ''' args.imglist 茹f?????????????????????RL???????ゃ?URL??就?т??????eyValuePair + ''' + ''' ???????翫?True,紊掩??????alse + ''' args.imglist????若??冴?????т戎????????mglist???????丈検?????/remarks> + + Private Function MovaPic_GetUrl(ByVal args As GetUrlArgs) As Boolean + ' TODO URL?ゅ???????菴?+ Dim mc As Match = Regex.Match(args.url, "^http://movapic\.com/pic/(\w+)$", RegexOptions.IgnoreCase) + If mc.Success Then + ' TODO ???????泣??????RL??????imglist.Add??? + args.imglist.Add(New KeyValuePair(Of String, String)(args.url, mc.Result("http://image.movapic.com/pic/s_${1}.jpeg"))) + Return True + Else + Return False + End If + End Function + + ''' + ''' BackgroundWorker????若??冴?????泣????????鋎??????蚊???+ ''' + ''' Class CreateImageArgs + ''' url As KeyValuePair(Of String, String) ??RL???????ゃ?URL??eyValuePair + ''' pics As List(Of KeyValuePair(Of String, Image)) ??RL???????ゃ??糸???eyValuePair + ''' tooltiptext As List(Of KeyValuePair(Of String, String)) ??RL????若?????????????KeyValuePair + ''' errmsg As String ?????け?????????????<??祉???+ ''' + ''' ?泣????????鋎??????????????True,紊掩?????翫???alse + ''' ???紊掩?????翫???rgs.errmsg????????;???絖?????????????/returns> + ''' + Private Function MovaPic_CreateImage(ByVal args As CreateImageArgs) As Boolean + ' TODO: ?泣????????顄??莨若???????菴違??障? + Dim img As Image = (New HttpVarious).GetImage(args.url.Value, args.url.Key, 10000, args.errmsg) + If img Is Nothing Then + Return False + End If + ' ???????翫???RL???綽??????????若??????????????脂? + args.pics.Add(New KeyValuePair(Of String, Image)(args.url.Key, img)) + args.tooltiptext.Add(New KeyValuePair(Of String, String)(args.url.Key, "")) + Return True + End Function + +#End Region + +#Region "?????????????? + ''' + ''' URL茹f?????若??冴?????泣?????????L篏??????蚊???+ ''' + ''' Class GetUrlArgs + ''' args.url URL?????+ ''' args.imglist 茹f?????????????????????RL???????ゃ?URL??就?т??????eyValuePair + ''' + ''' ???????翫?True,紊掩??????alse + ''' args.imglist????若??冴?????т戎????????mglist???????丈検?????/remarks> + + Private Function Hatena_GetUrl(ByVal args As GetUrlArgs) As Boolean + ' TODO URL?ゅ???????菴?+ Dim mc As Match = Regex.Match(args.url, "^http://f\.hatena\.ne\.jp/(([a-z])[a-z0-9_-]{1,30}[a-z0-9])/((\d{8})\d+)$", RegexOptions.IgnoreCase) + If mc.Success Then + ' TODO ???????泣??????RL??????imglist.Add??? + args.imglist.Add(New KeyValuePair(Of String, String)(args.url, mc.Result("http://img.f.hatena.ne.jp/images/fotolife/${2}/${1}/${4}/${3}_120.jpg"))) + Return True + Else + Return False + End If + End Function + + ''' + ''' BackgroundWorker????若??冴?????泣????????鋎??????蚊???+ ''' + ''' Class CreateImageArgs + ''' url As KeyValuePair(Of String, String) ??RL???????ゃ?URL??eyValuePair + ''' pics As List(Of KeyValuePair(Of String, Image)) ??RL???????ゃ??糸???eyValuePair + ''' tooltiptext As List(Of KeyValuePair(Of String, String)) ??RL????若?????????????KeyValuePair + ''' errmsg As String ?????け?????????????<??祉???+ ''' + ''' ?泣????????鋎??????????????True,紊掩?????翫???alse + ''' ???紊掩?????翫???rgs.errmsg????????;???絖?????????????/returns> + ''' + Private Function Hatena_CreateImage(ByVal args As CreateImageArgs) As Boolean + ' TODO: ?泣????????顄??莨若???????菴違??障? + Dim img As Image = (New HttpVarious).GetImage(args.url.Value, args.url.Key, 10000, args.errmsg) + If img Is Nothing Then + Return False + End If + ' ???????翫???RL???綽??????????若??????????????脂? + args.pics.Add(New KeyValuePair(Of String, Image)(args.url.Key, img)) + args.tooltiptext.Add(New KeyValuePair(Of String, String)(args.url.Key, "")) + Return True + End Function + +#End Region + +#Region "PhotoShare" + ''' + ''' URL茹f?????若??冴?????泣?????????L篏??????蚊???+ ''' + ''' Class GetUrlArgs + ''' args.url URL?????+ ''' args.imglist 茹f?????????????????????RL???????ゃ?URL??就?т??????eyValuePair + ''' + ''' ???????翫?True,紊掩??????alse + ''' args.imglist????若??冴?????т戎????????mglist???????丈検?????/remarks> + + Private Function PhotoShare_GetUrl(ByVal args As GetUrlArgs) As Boolean + ' TODO URL?ゅ???????菴?+ Dim mc As Match = Regex.Match(args.url, "^http://(?:www\.)?bcphotoshare\.com/photos/\d+/(\d+)$", RegexOptions.IgnoreCase) + If mc.Success Then + ' TODO ???????泣??????RL??????imglist.Add??? + args.imglist.Add(New KeyValuePair(Of String, String)(args.url, mc.Result("http://images.bcphotoshare.com/storages/${1}/thumb180.jpg"))) + Return True + End If + ' ??軒URL + mc = Regex.Match(args.url, "^http://bctiny\.com/p(\w+)$", RegexOptions.IgnoreCase) + If mc.Success Then + Try + args.imglist.Add(New KeyValuePair(Of String, String)(args.url, "http://images.bcphotoshare.com/storages/" + RadixConvert.ToInt32(mc.Result("${1}"), 36).ToString + "/thumb180.jpg")) + Return True + Catch ex As ArgumentOutOfRangeException + End Try + End If + Return False + End Function + + ''' + ''' BackgroundWorker????若??冴?????泣????????鋎??????蚊???+ ''' + ''' Class CreateImageArgs + ''' url As KeyValuePair(Of String, String) ??RL???????ゃ?URL??eyValuePair + ''' pics As List(Of KeyValuePair(Of String, Image)) ??RL???????ゃ??糸???eyValuePair + ''' tooltiptext As List(Of KeyValuePair(Of String, String)) ??RL????若?????????????KeyValuePair + ''' errmsg As String ?????け?????????????<??祉???+ ''' + ''' ?泣????????鋎??????????????True,紊掩?????翫???alse + ''' ???紊掩?????翫???rgs.errmsg????????;???絖?????????????/returns> + ''' + Private Function PhotoShare_CreateImage(ByVal args As CreateImageArgs) As Boolean + ' TODO: ?泣????????顄??莨若???????菴違??障? + Dim img As Image = (New HttpVarious).GetImage(args.url.Value, args.url.Key, 10000, args.errmsg) + If img Is Nothing Then + Return False + End If + ' ???????翫???RL???綽??????????若??????????????脂? + args.pics.Add(New KeyValuePair(Of String, Image)(args.url.Key, img)) + args.tooltiptext.Add(New KeyValuePair(Of String, String)(args.url.Key, "")) + Return True + End Function + +#End Region + +#Region "img.ly" + ''' + ''' URL茹f?????若??冴?????泣?????????L篏??????蚊???+ ''' + ''' Class GetUrlArgs + ''' args.url URL?????+ ''' args.imglist 茹f?????????????????????RL???????ゃ?URL??就?т??????eyValuePair + ''' + ''' ???????翫?True,紊掩??????alse + ''' args.imglist????若??冴?????т戎????????mglist???????丈検?????/remarks> + + Private Function imgly_GetUrl(ByVal args As GetUrlArgs) As Boolean + ' TODO URL?ゅ???????菴?+ Dim mc As Match = Regex.Match(args.url, "^http://img\.ly/(\w+)$", RegexOptions.IgnoreCase) + If mc.Success Then + ' TODO ???????泣??????RL??????imglist.Add??? + args.imglist.Add(New KeyValuePair(Of String, String)(args.url, mc.Result("http://img.ly/show/thumb/${1}"))) + Return True + Else + Return False + End If + End Function + + ''' + ''' BackgroundWorker????若??冴?????泣????????鋎??????蚊???+ ''' + ''' Class CreateImageArgs + ''' url As KeyValuePair(Of String, String) ??RL???????ゃ?URL??eyValuePair + ''' pics As List(Of KeyValuePair(Of String, Image)) ??RL???????ゃ??糸???eyValuePair + ''' tooltiptext As List(Of KeyValuePair(Of String, String)) ??RL????若?????????????KeyValuePair + ''' errmsg As String ?????け?????????????<??祉???+ ''' + ''' ?泣????????鋎??????????????True,紊掩?????翫???alse + ''' ???紊掩?????翫???rgs.errmsg????????;???絖?????????????/returns> + ''' + Private Function imgly_CreateImage(ByVal args As CreateImageArgs) As Boolean + ' TODO: ?泣????????顄??莨若???????菴違??障? + Dim img As Image = (New HttpVarious).GetImage(args.url.Value, args.url.Key, 10000, args.errmsg) + If img Is Nothing Then + Return False + End If + ' ???????翫???RL???綽??????????若??????????????脂? + args.pics.Add(New KeyValuePair(Of String, Image)(args.url.Key, img)) + args.tooltiptext.Add(New KeyValuePair(Of String, String)(args.url.Key, "")) + Return True + End Function + +#End Region + +#Region "brightkite" + ''' + ''' URL茹f?????若??冴?????泣?????????L篏??????蚊???+ ''' + ''' Class GetUrlArgs + ''' args.url URL?????+ ''' args.imglist 茹f?????????????????????RL???????ゃ?URL??就?т??????eyValuePair + ''' + ''' ???????翫?True,紊掩??????alse + ''' args.imglist????若??冴?????т戎????????mglist???????丈検?????/remarks> + + Private Function brightkite_GetUrl(ByVal args As GetUrlArgs) As Boolean + ' TODO URL?ゅ???????菴?+ Dim mc As Match = Regex.Match(args.url, "^http://brightkite\.com/objects/((\w{2})(\w{2})\w+)$", RegexOptions.IgnoreCase) + If mc.Success Then + ' TODO ???????泣??????RL??????imglist.Add??? + args.imglist.Add(New KeyValuePair(Of String, String)(args.url, mc.Result("http://cdn.brightkite.com/${2}/${3}/${1}-feed.jpg"))) + Return True + Else + Return False + End If + End Function + + ''' + ''' BackgroundWorker????若??冴?????泣????????鋎??????蚊???+ ''' + ''' Class CreateImageArgs + ''' url As KeyValuePair(Of String, String) ??RL???????ゃ?URL??eyValuePair + ''' pics As List(Of KeyValuePair(Of String, Image)) ??RL???????ゃ??糸???eyValuePair + ''' tooltiptext As List(Of KeyValuePair(Of String, String)) ??RL????若?????????????KeyValuePair + ''' errmsg As String ?????け?????????????<??祉???+ ''' + ''' ?泣????????鋎??????????????True,紊掩?????翫???alse + ''' ???紊掩?????翫???rgs.errmsg????????;???絖?????????????/returns> + ''' + Private Function brightkite_CreateImage(ByVal args As CreateImageArgs) As Boolean + ' TODO: ?泣????????顄??莨若???????菴違??障? + Dim img As Image = (New HttpVarious).GetImage(args.url.Value, args.url.Key, 10000, args.errmsg) + If img Is Nothing Then + Return False + End If + ' ???????翫???RL???綽??????????若??????????????脂? + args.pics.Add(New KeyValuePair(Of String, Image)(args.url.Key, img)) + args.tooltiptext.Add(New KeyValuePair(Of String, String)(args.url.Key, "")) + Return True + End Function + +#End Region + +#Region "Twitgoo" + ''' + ''' URL茹f?????若??冴?????泣?????????L篏??????蚊???+ ''' + ''' Class GetUrlArgs + ''' args.url URL?????+ ''' args.imglist 茹f?????????????????????RL???????ゃ?URL??就?т??????eyValuePair + ''' + ''' ???????翫?True,紊掩??????alse + ''' args.imglist????若??冴?????т戎????????mglist???????丈検?????/remarks> + + Private Function Twitgoo_GetUrl(ByVal args As GetUrlArgs) As Boolean + ' TODO URL?ゅ???????菴?+ Dim mc As Match = Regex.Match(args.url, "^http://twitgoo\.com/(\w+)$", RegexOptions.IgnoreCase) + If mc.Success Then + ' TODO ???????泣??????RL??????imglist.Add??? + args.imglist.Add(New KeyValuePair(Of String, String)(args.url, mc.Result("http://twitgoo.com/${1}/mini"))) + Return True + Else + Return False + End If + End Function + + ''' + ''' BackgroundWorker????若??冴?????泣????????鋎??????蚊???+ ''' + ''' Class CreateImageArgs + ''' url As KeyValuePair(Of String, String) ??RL???????ゃ?URL??eyValuePair + ''' pics As List(Of KeyValuePair(Of String, Image)) ??RL???????ゃ??糸???eyValuePair + ''' tooltiptext As List(Of KeyValuePair(Of String, String)) ??RL????若?????????????KeyValuePair + ''' errmsg As String ?????け?????????????<??祉???+ ''' + ''' ?泣????????鋎??????????????True,紊掩?????翫???alse + ''' ???紊掩?????翫???rgs.errmsg????????;???絖?????????????/returns> + ''' + Private Function Twitgoo_CreateImage(ByVal args As CreateImageArgs) As Boolean + ' TODO: ?泣????????顄??莨若???????菴違??障? + Dim img As Image = (New HttpVarious).GetImage(args.url.Value, args.url.Key, 10000, args.errmsg) + If img Is Nothing Then + Return False + End If + ' ???????翫???RL???綽??????????若??????????????脂? + args.pics.Add(New KeyValuePair(Of String, Image)(args.url.Key, img)) + args.tooltiptext.Add(New KeyValuePair(Of String, String)(args.url.Key, "")) + Return True + End Function + +#End Region + +#Region "youtube" + ''' + ''' URL茹f?????若??冴?????泣?????????L篏??????蚊???+ ''' + ''' Class GetUrlArgs + ''' args.url URL?????+ ''' args.imglist 茹f?????????????????????RL???????ゃ?URL??就?т??????eyValuePair + ''' + ''' ???????翫?True,紊掩??????alse + ''' args.imglist????若??冴?????т戎????????mglist???????丈検?????/remarks> + + Private Function youtube_GetUrl(ByVal args As GetUrlArgs) As Boolean + ' TODO URL?ゅ???????菴?+ Dim mc As Match = Regex.Match(args.url, "^http://www\.youtube\.com/watch\?v=([\w\-]+)", RegexOptions.IgnoreCase) + If mc.Success Then + ' TODO ???????泣??????RL??????imglist.Add??? + args.imglist.Add(New KeyValuePair(Of String, String)(args.url, mc.Result("http://i.ytimg.com/vi/${1}/default.jpg"))) + Return True + End If + mc = Regex.Match(args.url, "^http://youtu\.be/([\w\-]+)", RegexOptions.IgnoreCase) + If mc.Success Then + ' TODO ???????泣??????RL??????imglist.Add??? + args.imglist.Add(New KeyValuePair(Of String, String)(args.url, mc.Result("http://i.ytimg.com/vi/${1}/default.jpg"))) + Return True + End If + Return False + End Function + + ''' + ''' BackgroundWorker????若??冴?????泣????????鋎??????蚊???+ ''' + ''' Class CreateImageArgs + ''' url As KeyValuePair(Of String, String) ??RL???????ゃ?URL??eyValuePair + ''' pics As List(Of KeyValuePair(Of String, Image)) ??RL???????ゃ??糸???eyValuePair + ''' tooltiptext As List(Of KeyValuePair(Of String, String)) ??RL????若?????????????KeyValuePair + ''' errmsg As String ?????け?????????????<??祉???+ ''' + ''' ?泣????????鋎??????????????True,紊掩?????翫???alse + ''' ???紊掩?????翫???rgs.errmsg????????;???絖?????????????/returns> + ''' + Private Function youtube_CreateImage(ByVal args As CreateImageArgs) As Boolean + ' TODO: ?泣????????顄??莨若???????菴違??障? + ' ??? + ' http://code.google.com/intl/ja/apis/youtube/2.0/developers_guide_protocol_video_entries.html + ' ????????? ????? Data API ????????- ???????紙??宴???? - YouTube ??API ????若? - Google Code + ' http://code.google.com/intl/ja/apis/youtube/2.0/developers_guide_protocol_understanding_video_feeds.html#Understanding_Feeds_and_Entries + ' ????????? ????? Data API ????????- ???????c???????????????? - YouTube ??API ????若? - Google Code + Dim http As New HttpVarious + Dim videourl As String = (New HttpVarious).GetRedirectTo(args.url.Key) + Dim mc As Match = Regex.Match(videourl, "^http://(?:(www\.youtube\.com)|(youtu\.be))/(watch\?v=)?(?([\w\-]+))", RegexOptions.IgnoreCase) + If videourl.StartsWith("http://www.youtube.com/index?ytsession=") Then + videourl = args.url.Key + mc = Regex.Match(videourl, "^http://(?:(www\.youtube\.com)|(youtu\.be))/(watch\?v=)?(?([\w\-]+))", RegexOptions.IgnoreCase) + End If + If mc.Success Then + Dim apiurl As String = "http://gdata.youtube.com/feeds/api/videos/" + mc.Groups("videoid").Value + Dim imgurl As String = args.url.Value + Dim src As String = "" + If (New HttpVarious).GetData(apiurl, Nothing, src, 5000) Then + Dim sb As New StringBuilder + Dim xdoc As New XmlDocument + Try + xdoc.LoadXml(src) + Dim nsmgr As New XmlNamespaceManager(xdoc.NameTable) + nsmgr.AddNamespace("root", "http://www.w3.org/2005/Atom") + nsmgr.AddNamespace("app", "http://purl.org/atom/app#") + nsmgr.AddNamespace("media", "http://search.yahoo.com/mrss/") + + Dim xentryNode As XmlNode = xdoc.DocumentElement.SelectSingleNode("/root:entry/media:group", nsmgr) + Dim xentry As XmlElement = CType(xentryNode, XmlElement) + Dim tmp As String = "" + Try + tmp = xentry.Item("media:title").InnerText + If Not String.IsNullOrEmpty(tmp) Then + sb.Append(My.Resources.YouTubeInfoText1) + sb.Append(tmp) + sb.AppendLine() + End If + Catch ex As Exception + End Try + + Try + Dim sec As Integer = 0 + If Integer.TryParse(xentry.Item("yt:duration").Attributes("seconds").Value, sec) Then + sb.Append(My.Resources.YouTubeInfoText2) + sb.AppendFormat("{0:d}:{1:d2}", sec \ 60, sec Mod 60) + sb.AppendLine() + End If + Catch ex As Exception + End Try + + Try + Dim tmpdate As New DateTime + xentry = CType(xdoc.DocumentElement.SelectSingleNode("/root:entry", nsmgr), XmlElement) + If DateTime.TryParse(xentry.Item("published").InnerText, tmpdate) Then + sb.Append(My.Resources.YouTubeInfoText3) + sb.Append(tmpdate) + sb.AppendLine() + End If + Catch ex As Exception + End Try + + Try + Dim count As Integer = 0 + xentry = CType(xdoc.DocumentElement.SelectSingleNode("/root:entry", nsmgr), XmlElement) + tmp = xentry.Item("yt:statistics").Attributes("viewCount").Value + If Integer.TryParse(tmp, count) Then + sb.Append(My.Resources.YouTubeInfoText4) + sb.Append(tmp) + sb.AppendLine() + End If + Catch ex As Exception + End Try + + Try + xentry = CType(xdoc.DocumentElement.SelectSingleNode("/root:entry/app:control", nsmgr), XmlElement) + If xentry IsNot Nothing Then + sb.Append(xentry.Item("yt:state").Attributes("name").Value) + sb.Append(":") + sb.Append(xentry.Item("yt:state").InnerText) + sb.AppendLine() + End If + Catch ex As Exception + End Try + + mc = Regex.Match(videourl, "^http://www\.youtube\.com/watch\?v=([\w\-]+)", RegexOptions.IgnoreCase) + If mc.Success Then + imgurl = mc.Result("http://i.ytimg.com/vi/${1}/default.jpg") + End If + mc = Regex.Match(videourl, "^http://youtu\.be/([\w\-]+)", RegexOptions.IgnoreCase) + If mc.Success Then + imgurl = mc.Result("http://i.ytimg.com/vi/${1}/default.jpg") + End If + + Catch ex As Exception + + End Try + + If Not String.IsNullOrEmpty(imgurl) Then + Dim _img As Image = http.GetImage(imgurl, videourl, 10000, args.errmsg) + If _img Is Nothing Then Return False + args.pics.Add(New KeyValuePair(Of String, Image)(args.url.Key, _img)) + args.tooltiptext.Add(New KeyValuePair(Of String, String)(args.url.Key, sb.ToString.Trim())) + Return True + End If + End If + + End If + Return False + End Function + +#End Region + +#Region "?????????" + ''' + ''' URL茹f?????若??冴?????泣?????????L篏??????蚊???+ ''' + ''' Class GetUrlArgs + ''' args.url URL?????+ ''' args.imglist 茹f?????????????????????RL???????ゃ?URL??就?т??????eyValuePair + ''' + ''' ???????翫?True,紊掩??????alse + ''' args.imglist????若??冴?????т戎????????mglist???????丈検?????/remarks> + + Private Function nicovideo_GetUrl(ByVal args As GetUrlArgs) As Boolean + ' TODO URL?ゅ???????菴?+ Dim mc As Match = Regex.Match(args.url, "^http://(?:(www|ext)\.nicovideo\.jp/watch|nico\.ms)/(?:sm|nm)?([0-9]+)(\?.+)?$", RegexOptions.IgnoreCase) + If mc.Success Then + ' TODO ???????泣??????RL??????imglist.Add??? + args.imglist.Add(New KeyValuePair(Of String, String)(args.url, mc.Value)) + Return True + Else + Return False + End If + End Function + + ''' + ''' BackgroundWorker????若??冴?????泣????????鋎??????蚊???+ ''' + ''' Class CreateImageArgs + ''' url As KeyValuePair(Of String, String) ??RL???????ゃ?URL??eyValuePair + ''' pics As List(Of KeyValuePair(Of String, Image)) ??RL???????ゃ??糸???eyValuePair + ''' tooltiptext As List(Of KeyValuePair(Of String, String)) ??RL????若?????????????KeyValuePair + ''' errmsg As String ?????け?????????????<??祉???+ ''' + ''' ?泣????????鋎??????????????True,紊掩?????翫???alse + ''' ???紊掩?????翫???rgs.errmsg????????;???絖?????????????/returns> + ''' + Private Function nicovideo_CreateImage(ByVal args As CreateImageArgs) As Boolean + ' TODO: ?泣????????顄??莨若???????菴違??障? + Dim http As New HttpVarious + Dim mc As Match = Regex.Match(args.url.Value, "^http://(?:(www|ext)\.nicovideo\.jp/watch|nico\.ms)/(?(?:sm|nm)?([0-9]+))(\?.+)?$", RegexOptions.IgnoreCase) + Dim apiurl As String = "http://www.nicovideo.jp/api/getthumbinfo/" + mc.Groups("id").Value + Dim src As String = "" + Dim imgurl As String = "" + Dim headers As New Dictionary(Of String, String) + headers.Add("User-Agent", "Tween/" + fileVersion) + If (New HttpVarious).GetData(apiurl, headers, src, 0, args.errmsg) Then + Dim sb As New StringBuilder + Dim xdoc As New XmlDocument + Try + xdoc.LoadXml(src) + Dim status As String = xdoc.SelectSingleNode("/nicovideo_thumb_response").Attributes("status").Value + If status = "ok" Then + imgurl = xdoc.SelectSingleNode("/nicovideo_thumb_response/thumb/thumbnail_url").InnerText + + '?????????????紙??宴??祉??????+ Dim tmp As String + + Try + tmp = xdoc.SelectSingleNode("/nicovideo_thumb_response/thumb/title").InnerText + If Not String.IsNullOrEmpty(tmp) Then + sb.Append(My.Resources.NiconicoInfoText1) + sb.Append(tmp) + sb.AppendLine() + End If + Catch ex As Exception + + End Try + + Try + tmp = xdoc.SelectSingleNode("/nicovideo_thumb_response/thumb/length").InnerText + If Not String.IsNullOrEmpty(tmp) Then + sb.Append(My.Resources.NiconicoInfoText2) + sb.Append(tmp) + sb.AppendLine() + End If + Catch ex As Exception + + End Try + + Try + Dim tm As New DateTime + tmp = xdoc.SelectSingleNode("/nicovideo_thumb_response/thumb/first_retrieve").InnerText + If DateTime.TryParse(tmp, tm) Then + sb.Append(My.Resources.NiconicoInfoText3) + sb.Append(tm.ToString) + sb.AppendLine() + End If + Catch ex As Exception + + End Try + + Try + tmp = xdoc.SelectSingleNode("/nicovideo_thumb_response/thumb/view_counter").InnerText + If Not String.IsNullOrEmpty(tmp) Then + sb.Append(My.Resources.NiconicoInfoText4) + sb.Append(tmp) + sb.AppendLine() + End If + Catch ex As Exception + + End Try + + Try + tmp = xdoc.SelectSingleNode("/nicovideo_thumb_response/thumb/comment_num").InnerText + If Not String.IsNullOrEmpty(tmp) Then + sb.Append(My.Resources.NiconicoInfoText5) + sb.Append(tmp) + sb.AppendLine() + End If + Catch ex As Exception + + End Try + Try + tmp = xdoc.SelectSingleNode("/nicovideo_thumb_response/thumb/mylist_counter").InnerText + If Not String.IsNullOrEmpty(tmp) Then + sb.Append(My.Resources.NiconicoInfoText6) + sb.Append(tmp) + sb.AppendLine() + End If + Catch ex As Exception + + End Try + + ElseIf status = "fail" Then + Dim errcode As String = xdoc.SelectSingleNode("/nicovideo_thumb_response/error/code").InnerText + args.errmsg = errcode + imgurl = "" + Else + args.errmsg = "UnknownResponse" + imgurl = "" + End If + + Catch ex As Exception + imgurl = "" + args.errmsg = "Invalid XML" + End Try + + If Not String.IsNullOrEmpty(imgurl) Then + Dim _img As Image = http.GetImage(imgurl, args.url.Key, 0, args.errmsg) + If _img Is Nothing Then Return False + args.pics.Add(New KeyValuePair(Of String, Image)(args.url.Key, _img)) + args.tooltiptext.Add(New KeyValuePair(Of String, String)(args.url.Key, sb.ToString.Trim())) + Return True + End If + End If + Return False + End Function + +#End Region + +#Region "Pixiv" + ''' + ''' URL茹f?????若??冴?????泣?????????L篏??????蚊???+ ''' + ''' Class GetUrlArgs + ''' args.url URL?????+ ''' args.imglist 茹f?????????????????????RL???????ゃ?URL??就?т??????eyValuePair + ''' + ''' ???????翫?True,紊掩??????alse + ''' args.imglist????若??冴?????т戎????????mglist???????丈検?????/remarks> + + Private Function Pixiv_GetUrl(ByVal args As GetUrlArgs) As Boolean + '???: http://tail.s68.xrea.com/blog/2009/02/pixivflash.html Pixiv??????lash????у??????号????:????純??????+ '????吟?????????????http://www.pixiv.net/member_illust.php?mode=medium&illust_id=[ID??? + '????違??潟??若??弱?????糸??????http://www.pixiv.net/index.php?mode=medium&illust_id=[ID??? + '?泣??????RL http://img[?泣???????.pixiv.net/img/[????吟???/[?泣??????D]_s.[?≦宍絖? + '?泣??????RL????????吾?????冴???+ ' TODO URL?ゅ???????菴?+ Dim mc As Match = Regex.Match(args.url, "^http://www\.pixiv\.net/(member_illust|index)\.php\?mode=(medium|big)&(amp;)?illust_id=(?[0-9]+)(&(amp;)?tag=(?.+)?)*$", RegexOptions.IgnoreCase) + If mc.Success Then + ' TODO ???????泣??????RL??????imglist.Add??? + args.imglist.Add(New KeyValuePair(Of String, String)(args.url.Replace("amp;", ""), mc.Value)) + Return True + Else + Return False + End If + End Function + + ''' + ''' BackgroundWorker????若??冴?????泣????????鋎??????蚊???+ ''' + ''' Class CreateImageArgs + ''' url As KeyValuePair(Of String, String) ??RL???????ゃ?URL??eyValuePair + ''' pics As List(Of KeyValuePair(Of String, Image)) ??RL???????ゃ??糸???eyValuePair + ''' tooltiptext As List(Of KeyValuePair(Of String, String)) ??RL????若?????????????KeyValuePair + ''' errmsg As String ?????け?????????????<??祉???+ ''' + ''' ?泣????????鋎??????????????True,紊掩?????翫???alse + ''' ???紊掩?????翫???rgs.errmsg????????;???絖?????????????/returns> + ''' + Private Function Pixiv_CreateImage(ByVal args As CreateImageArgs) As Boolean + ' TODO: ?泣????????顄??莨若???????菴違??障? + Dim src As String = "" + 'illustID????c???? + Dim mc As Match = Regex.Match(args.url.Key, "^http://www\.pixiv\.net/(member_illust|index)\.php\?mode=(medium|big)&(amp;)?illust_id=(?[0-9]+)(&(amp;)?tag=(?.+)?)*$", RegexOptions.IgnoreCase) + If mc.Groups("tag").Value = "R-18" OrElse mc.Groups("tag").Value = "R-18G" Then + args.errmsg = "NotSupported" + Return False + Else + Dim http As New HttpVarious + If http.GetData(Regex.Replace(mc.Groups(0).Value, "amp;", ""), Nothing, src, 0, args.errmsg) Then + Dim _mc As Match = Regex.Match(src, mc.Result("http://img([0-9]+)\.pixiv\.net/img/.+/${illustId}_[ms]\.([a-zA-Z]+)")) + If _mc.Success Then + Dim _img As Image = http.GetImage(_mc.Value, args.url.Key, 0, args.errmsg) + If _img Is Nothing Then Return False + args.pics.Add(New KeyValuePair(Of String, Image)(args.url.Key, _img)) + args.tooltiptext.Add(New KeyValuePair(Of String, String)(args.url.Key, "")) + Return True + ElseIf Regex.Match(src, "????ゃ??????????/span>").Success Then + args.errmsg = "NotSupported" + Else + args.errmsg = "Pattern NotFound" + End If + End If + End If + Return False + End Function + +#End Region + +#Region "flickr" + ''' + ''' URL茹f?????若??冴?????泣?????????L篏??????蚊???+ ''' + ''' Class GetUrlArgs + ''' args.url URL?????+ ''' args.imglist 茹f?????????????????????RL???????ゃ?URL??就?т??????eyValuePair + ''' + ''' ???????翫?True,紊掩??????alse + ''' args.imglist????若??冴?????т戎????????mglist???????丈検?????/remarks> + + Private Function flickr_GetUrl(ByVal args As GetUrlArgs) As Boolean + ' TODO URL?ゅ???????菴?+ Dim mc As Match = Regex.Match(args.url, "^http://www.flickr.com/", RegexOptions.IgnoreCase) + If mc.Success Then + ' TODO ???????泣??????RL??????imglist.Add??? + args.imglist.Add(New KeyValuePair(Of String, String)(args.url, mc.Value)) + Return True + Else + Return False + End If + End Function + + ''' + ''' BackgroundWorker????若??冴?????泣????????鋎??????蚊???+ ''' + ''' Class CreateImageArgs + ''' url As KeyValuePair(Of String, String) ??RL???????ゃ?URL??eyValuePair + ''' pics As List(Of KeyValuePair(Of String, Image)) ??RL???????ゃ??糸???eyValuePair + ''' tooltiptext As List(Of KeyValuePair(Of String, String)) ??RL????若?????????????KeyValuePair + ''' errmsg As String ?????け?????????????<??祉???+ ''' + ''' ?泣????????鋎??????????????True,紊掩?????翫???alse + ''' ???紊掩?????翫???rgs.errmsg????????;???絖?????????????/returns> + ''' + Private Function flickr_CreateImage(ByVal args As CreateImageArgs) As Boolean + ' TODO: ?泣????????顄??莨若???????菴違??障? + '???: http://tanarky.blogspot.com/2010/03/flickr-urlunavailable.html ?≪?????激?????吾??? flickr ?????L篁?????????障???Unavailable?糸?) + '?糸?URL篁????ttp://farm{farm}.static.flickr.com/{server}/{id}_{secret}_{size}.{extension} + 'photostream???茲??????????????????筝?????茯?????????????? + '(篋?????????????筝??????糸?????若??若??ゃ??鰹? + + Dim src As String = "" + Dim mc As Match = Regex.Match(args.url.Key, "^http://www.flickr.com/", RegexOptions.IgnoreCase) + Dim http As New HttpVarious + If http.GetData(args.url.Key, Nothing, src, 0, args.errmsg) Then + Dim _mc As MatchCollection = Regex.Matches(src, mc.Result("http://farm[0-9]+\.static\.flickr\.com/[0-9]+/.+?\.([a-zA-Z]+)")) + '篋??篁ヤ????????c??????????筝????? 筝???????????????吟??≪??潟???????????c? + If _mc.Count > 1 Then + Dim _img As Image = http.GetImage(_mc.Item(1).Value, args.url.Key, 0, args.errmsg) + If _img Is Nothing Then Return False + args.pics.Add(New KeyValuePair(Of String, Image)(args.url.Key, _img)) + args.tooltiptext.Add(New KeyValuePair(Of String, String)(args.url.Key, "")) + Return True + Else + args.errmsg = "Pattern NotFound" + End If + End If + Return False + End Function + +#End Region + +#Region "??????" + ''' + ''' URL茹f?????若??冴?????泣?????????L篏??????蚊???+ ''' + ''' Class GetUrlArgs + ''' args.url URL?????+ ''' args.imglist 茹f?????????????????????RL???????ゃ?URL??就?т??????eyValuePair + ''' + ''' ???????翫?True,紊掩??????alse + ''' args.imglist????若??冴?????т戎????????mglist???????丈検?????/remarks> + + Private Function Photozou_GetUrl(ByVal args As GetUrlArgs) As Boolean + ' TODO URL?ゅ???????菴?+ Dim mc As Match = Regex.Match(args.url, "^http://photozou\.jp/photo/show/(?[0-9]+)/(?[0-9]+)", RegexOptions.IgnoreCase) + If mc.Success Then + ' TODO ???????泣??????RL??????imglist.Add??? + args.imglist.Add(New KeyValuePair(Of String, String)(args.url, mc.Value)) + Return True + Else + Return False + End If + End Function + + ''' + ''' BackgroundWorker????若??冴?????泣????????鋎??????蚊???+ ''' + ''' Class CreateImageArgs + ''' url As KeyValuePair(Of String, String) ??RL???????ゃ?URL??eyValuePair + ''' pics As List(Of KeyValuePair(Of String, Image)) ??RL???????ゃ??糸???eyValuePair + ''' tooltiptext As List(Of KeyValuePair(Of String, String)) ??RL????若?????????????KeyValuePair + ''' errmsg As String ?????け?????????????<??祉???+ ''' + ''' ?泣????????鋎??????????????True,紊掩?????翫???alse + ''' ???紊掩?????翫???rgs.errmsg????????;???絖?????????????/returns> + ''' + Private Function Photozou_CreateImage(ByVal args As CreateImageArgs) As Boolean + ' TODO: ?泣????????顄??莨若???????菴違??障? + Dim http As New HttpVarious + Dim mc As Match = Regex.Match(args.url.Key, "^http://photozou\.jp/photo/show/(?[0-9]+)/(?[0-9]+)", RegexOptions.IgnoreCase) + If mc.Success Then + Dim src As String = "" + Dim show_info As String = mc.Result("http://api.photozou.jp/rest/photo_info?photo_id=${photoId}") + If http.GetData(show_info, Nothing, src, 0, args.errmsg) Then + Dim xdoc As New XmlDocument + Dim thumbnail_url As String = "" + Try + xdoc.LoadXml(src) + thumbnail_url = xdoc.SelectSingleNode("/rsp/info/photo/thumbnail_image_url").InnerText + Catch ex As Exception + args.errmsg = ex.Message + thumbnail_url = "" + End Try + If String.IsNullOrEmpty(thumbnail_url) Then Return False + Dim _img As Image = http.GetImage(thumbnail_url, args.url.Key) + If _img Is Nothing Then Return False + args.pics.Add(New KeyValuePair(Of String, Image)(args.url.Key, _img)) + args.tooltiptext.Add(New KeyValuePair(Of String, String)(args.url.Key, "")) + Return True + End If + End If + Return False + End Function + +#End Region + +#Region "TwitVideo" + ''' + ''' URL茹f?????若??冴?????泣?????????L篏??????蚊???+ ''' + ''' Class GetUrlArgs + ''' args.url URL?????+ ''' args.imglist 茹f?????????????????????RL???????ゃ?URL??就?т??????eyValuePair + ''' + ''' ???????翫?True,紊掩??????alse + ''' args.imglist????若??冴?????т戎????????mglist???????丈検?????/remarks> + + Private Function TwitVideo_GetUrl(ByVal args As GetUrlArgs) As Boolean + ' TODO URL?ゅ???????菴?+ Dim mc As Match = Regex.Match(args.url, "^http://twitvideo\.jp/(\w+)$", RegexOptions.IgnoreCase) + If mc.Success Then + ' TODO ???????泣??????RL??????imglist.Add??? + args.imglist.Add(New KeyValuePair(Of String, String)(args.url, mc.Result("http://twitvideo.jp/img/thumb/${1}"))) + Return True + Else + Return False + End If + End Function + + ''' + ''' BackgroundWorker????若??冴?????泣????????鋎??????蚊???+ ''' + ''' Class CreateImageArgs + ''' url As KeyValuePair(Of String, String) ??RL???????ゃ?URL??eyValuePair + ''' pics As List(Of KeyValuePair(Of String, Image)) ??RL???????ゃ??糸???eyValuePair + ''' tooltiptext As List(Of KeyValuePair(Of String, String)) ??RL????若?????????????KeyValuePair + ''' errmsg As String ?????け?????????????<??祉???+ ''' + ''' ?泣????????鋎??????????????True,紊掩?????翫???alse + ''' ???紊掩?????翫???rgs.errmsg????????;???絖?????????????/returns> + ''' + Private Function TwitVideo_CreateImage(ByVal args As CreateImageArgs) As Boolean + ' TODO: ?泣????????顄??莨若???????菴違??障? + Dim img As Image = (New HttpVarious).GetImage(args.url.Value, args.url.Key, 0, args.errmsg) + If img Is Nothing Then + Return False + End If + ' ???????翫???RL???綽??????????若??????????????脂? + args.pics.Add(New KeyValuePair(Of String, Image)(args.url.Key, img)) + args.tooltiptext.Add(New KeyValuePair(Of String, String)(args.url.Key, "")) + Return True + End Function + +#End Region + +#Region "Piapro" + ''' + ''' URL茹f?????若??冴?????泣?????????L篏??????蚊???+ ''' + ''' Class GetUrlArgs + ''' args.url URL?????+ ''' args.imglist 茹f?????????????????????RL???????ゃ?URL??就?т??????eyValuePair + ''' + ''' ???????翫?True,紊掩??????alse + ''' args.imglist????若??冴?????т戎????????mglist???????丈検?????/remarks> + + Private Function Piapro_GetUrl(ByVal args As GetUrlArgs) As Boolean + ' TODO URL?ゅ???????菴?+ Dim mc As Match = Regex.Match(args.url, "^http://piapro\.jp/content/(?[0-9a-z]+)", RegexOptions.IgnoreCase) + If mc.Success Then + ' TODO ???????泣??????RL??????imglist.Add??? + args.imglist.Add(New KeyValuePair(Of String, String)(args.url, mc.Value)) + Return True + Else + Return False + End If + End Function + + ''' + ''' BackgroundWorker????若??冴?????泣????????鋎??????蚊???+ ''' + ''' Class CreateImageArgs + ''' url As KeyValuePair(Of String, String) ??RL???????ゃ?URL??eyValuePair + ''' pics As List(Of KeyValuePair(Of String, Image)) ??RL???????ゃ??糸???eyValuePair + ''' tooltiptext As List(Of KeyValuePair(Of String, String)) ??RL????若?????????????KeyValuePair + ''' errmsg As String ?????け?????????????<??祉???+ ''' + ''' ?泣????????鋎??????????????True,紊掩?????翫???alse + ''' ???紊掩?????翫???rgs.errmsg????????;???絖?????????????/returns> + ''' + Private Function Piapro_CreateImage(ByVal args As CreateImageArgs) As Boolean + ' TODO: ?泣????????顄??莨若???????菴違??障? + Dim http As New HttpVarious + Dim mc As Match = Regex.Match(args.url.Key, "^http://piapro\.jp/content/(?[0-9a-z]+)", RegexOptions.IgnoreCase) + If mc.Success Then + Dim src As String = "" + If http.GetData(args.url.Key, Nothing, src, 0, args.errmsg) Then + Dim _mc As Match = Regex.Match(src, mc.Result("http://c1\.piapro\.jp/timg/${contentId}_\d{14}_\d{4}_\d{4}\.(jpg|png|gif)")) + If _mc.Success Then + '???????120x120???????ゃ???????紊??鐚???с?URL??舟??????????????吾????莨若????????糸???00x500 + Dim r As New System.Text.RegularExpressions.Regex("_\d{4}_\d{4}") + Dim min_img_url As String = r.Replace(_mc.Value, "_0120_0120") + Dim _img As Image = http.GetImage(min_img_url, args.url.Key, 0, args.errmsg) + If _img Is Nothing Then Return False + args.pics.Add(New KeyValuePair(Of String, Image)(args.url.Key, _img)) + args.tooltiptext.Add(New KeyValuePair(Of String, String)(args.url.Key, "")) + Return True + Else + args.errmsg = "Pattern NotFound" + End If + End If + End If + Return False + End Function + +#End Region + +#Region "Tumblr" + ''' + ''' URL茹f?????若??冴?????泣?????????L篏??????蚊???+ ''' + ''' Class GetUrlArgs + ''' args.url URL?????+ ''' args.imglist 茹f?????????????????????RL???????ゃ?URL??就?т??????eyValuePair + ''' + ''' ???????翫?True,紊掩??????alse + ''' args.imglist????若??冴?????т戎????????mglist???????丈検?????/remarks> + + Private Function Tumblr_GetUrl(ByVal args As GetUrlArgs) As Boolean + ' TODO URL?ゅ???????菴?+ Dim mc As Match = Regex.Match(args.url, "^http://.+\.tumblr\.com/.+/?", RegexOptions.IgnoreCase) + If mc.Success Then + ' TODO ???????泣??????RL??????imglist.Add??? + args.imglist.Add(New KeyValuePair(Of String, String)(args.url, mc.Value)) + Return True + Else + Return False + End If + End Function + + ''' + ''' BackgroundWorker????若??冴?????泣????????鋎??????蚊???+ ''' + ''' Class CreateImageArgs + ''' url As KeyValuePair(Of String, String) ??RL???????ゃ?URL??eyValuePair + ''' pics As List(Of KeyValuePair(Of String, Image)) ??RL???????ゃ??糸???eyValuePair + ''' tooltiptext As List(Of KeyValuePair(Of String, String)) ??RL????若?????????????KeyValuePair + ''' errmsg As String ?????け?????????????<??祉???+ ''' + ''' ?泣????????鋎??????????????True,紊掩?????翫???alse + ''' ???紊掩?????翫???rgs.errmsg????????;???絖?????????????/returns> + ''' + Private Function Tumblr_CreateImage(ByVal args As CreateImageArgs) As Boolean + ' TODO: ?泣????????顄??莨若???????菴違??障? + Dim http As New HttpVarious + Dim TargetUrl As String = http.GetRedirectTo(args.url.Key) + Dim mc As Match = Regex.Match(TargetUrl, "(?http://.+?\.tumblr\.com/)post/(?[0-9]+)(/(?.+?)/)?", RegexOptions.IgnoreCase) + Dim apiurl As String = mc.Groups("base").Value + "api/read?id=" + mc.Groups("postID").Value + Dim src As String = "" + Dim imgurl As String = Nothing + If http.GetData(apiurl, Nothing, src, 0, args.errmsg) Then + Dim xdoc As New XmlDocument + Try + xdoc.LoadXml(src) + + Dim type As String = xdoc.SelectSingleNode("/tumblr/posts/post").Attributes("type").Value + If type = "photo" Then + imgurl = xdoc.SelectSingleNode("/tumblr/posts/post/photo-url").InnerText + Else + args.errmsg = "PostType:" + type + imgurl = "" + End If + Catch ex As Exception + imgurl = "" + End Try + + If Not String.IsNullOrEmpty(imgurl) Then + Dim _img As Image = http.GetImage(imgurl, args.url.Key, 0, args.errmsg) + If _img Is Nothing Then Return False + args.pics.Add(New KeyValuePair(Of String, Image)(args.url.Key, _img)) + args.tooltiptext.Add(New KeyValuePair(Of String, String)(args.url.Key, "")) + Return True + End If + End If + Return False + End Function + +#End Region + +#Region "?ゃ??c???????" + ''' + ''' URL茹f?????若??冴?????泣?????????L篏??????蚊???+ ''' + ''' Class GetUrlArgs + ''' args.url URL?????+ ''' args.imglist 茹f?????????????????????RL???????ゃ?URL??就?т??????eyValuePair + ''' + ''' ???????翫?True,紊掩??????alse + ''' args.imglist????若??冴?????т戎????????mglist???????丈検?????/remarks> + + Private Function TwipplePhoto_GetUrl(ByVal args As GetUrlArgs) As Boolean + ' TODO URL?ゅ???????菴?+ Dim mc As Match = Regex.Match(args.url, "^http://p\.twipple\.jp/(?[0-9a-z]+)", RegexOptions.IgnoreCase) + If mc.Success Then + ' TODO ???????泣??????RL??????imglist.Add??? + args.imglist.Add(New KeyValuePair(Of String, String)(args.url, mc.Value)) + Return True + Else + Return False + End If + End Function + + ''' + ''' BackgroundWorker????若??冴?????泣????????鋎??????蚊???+ ''' + ''' Class CreateImageArgs + ''' url As KeyValuePair(Of String, String) ??RL???????ゃ?URL??eyValuePair + ''' pics As List(Of KeyValuePair(Of String, Image)) ??RL???????ゃ??糸???eyValuePair + ''' tooltiptext As List(Of KeyValuePair(Of String, String)) ??RL????若?????????????KeyValuePair + ''' errmsg As String ?????け?????????????<??祉???+ ''' + ''' ?泣????????鋎??????????????True,紊掩?????翫???alse + ''' ???紊掩?????翫???rgs.errmsg????????;???絖?????????????/returns> + ''' + Private Function TwipplePhoto_CreateImage(ByVal args As CreateImageArgs) As Boolean + ' TODO: ?泣????????顄??莨若???????菴違??障? + Dim http As New HttpVarious + Dim mc As Match = Regex.Match(args.url.Key, "^http://p.twipple.jp/(?[0-9a-z]+)", RegexOptions.IgnoreCase) + If mc.Success Then + Dim src As String = "" + If http.GetData(args.url.Key, Nothing, src, 0, args.errmsg) Then + Dim thumbnail_url As String = "" + Dim ContentId As String = mc.Groups("contentId").Value + Dim DataDir As New StringBuilder + + ' DataDir篏?? + DataDir.Append("data") + For i As Integer = 0 To ContentId.Length - 1 + DataDir.Append("/") + DataDir.Append(ContentId.Chars(i)) + Next + + ' ?泣??????RL?遵? + thumbnail_url = Regex.Match(src, "http://p\.twipple\.jp/" + DataDir.ToString() + "_s\.([a-zA-Z]+)").Value + + If String.IsNullOrEmpty(thumbnail_url) Then Return False + Dim _img As Image = http.GetImage(thumbnail_url, args.url.Key, 0, args.errmsg) + If _img Is Nothing Then Return False + args.pics.Add(New KeyValuePair(Of String, Image)(args.url.Key, _img)) + args.tooltiptext.Add(New KeyValuePair(Of String, String)(args.url.Key, "")) + Return True + End If + End If + Return False + End Function + +#End Region + +#Region "mypix/shamoji" + ''' + ''' URL茹f?????若??冴?????泣?????????L篏??????蚊???+ ''' + ''' Class GetUrlArgs + ''' args.url URL?????+ ''' args.imglist 茹f?????????????????????RL???????ゃ?URL??就?т??????eyValuePair + ''' + ''' ???????翫?True,紊掩??????alse + ''' args.imglist????若??冴?????т戎????????mglist???????丈検?????/remarks> + + Private Function mypix_GetUrl(ByVal args As GetUrlArgs) As Boolean + ' TODO URL?ゅ???????菴?+ Dim mc As Match = Regex.Match(args.url, "^http://(www\.mypix\.jp|www\.shamoji\.info)/app\.php/picture/(?[0-9a-z]+)", RegexOptions.IgnoreCase) + If mc.Success Then + ' TODO ???????泣??????RL??????imglist.Add??? + args.imglist.Add(New KeyValuePair(Of String, String)(args.url, mc.Value + "/thumb.jpg")) + Return True + Else + Return False + End If + End Function + + ''' + ''' BackgroundWorker????若??冴?????泣????????鋎??????蚊???+ ''' + ''' Class CreateImageArgs + ''' url As KeyValuePair(Of String, String) ??RL???????ゃ?URL??eyValuePair + ''' pics As List(Of KeyValuePair(Of String, Image)) ??RL???????ゃ??糸???eyValuePair + ''' tooltiptext As List(Of KeyValuePair(Of String, String)) ??RL????若?????????????KeyValuePair + ''' errmsg As String ?????け?????????????<??祉???+ ''' + ''' ?泣????????鋎??????????????True,紊掩?????翫???alse + ''' ???紊掩?????翫???rgs.errmsg????????;???絖?????????????/returns> + ''' + Private Function mypix_CreateImage(ByVal args As CreateImageArgs) As Boolean + ' TODO: ?泣????????顄??莨若???????菴違??障? + Dim img As Image = (New HttpVarious).GetImage(args.url.Value, args.url.Key, 0, args.errmsg) + If img Is Nothing Then + Return False + End If + ' ???????翫???RL???綽??????????若??????????????脂? + args.pics.Add(New KeyValuePair(Of String, Image)(args.url.Key, img)) + args.tooltiptext.Add(New KeyValuePair(Of String, String)(args.url.Key, "")) + Return True + End Function + +#End Region + +#Region "ow.ly" + ''' + ''' URL茹f?????若??冴?????泣?????????L篏??????蚊???+ ''' + ''' Class GetUrlArgs + ''' args.url URL?????+ ''' args.imglist 茹f?????????????????????RL???????ゃ?URL??就?т??????eyValuePair + ''' + ''' ???????翫?True,紊掩??????alse + ''' args.imglist????若??冴?????т戎????????mglist???????丈検?????/remarks> + + Private Function Owly_GetUrl(ByVal args As GetUrlArgs) As Boolean + ' TODO URL?ゅ???????菴?+ Dim mc As Match = Regex.Match(args.url, "^http://ow\.ly/i/(\w+)$", RegexOptions.IgnoreCase) + If mc.Success Then + ' TODO ???????泣??????RL??????imglist.Add??? + args.imglist.Add(New KeyValuePair(Of String, String)(args.url, mc.Result("http://static.ow.ly/photos/thumb/${1}.jpg"))) + Return True + Else + Return False + End If + End Function + + ''' + ''' BackgroundWorker????若??冴?????泣????????鋎??????蚊???+ ''' + ''' Class CreateImageArgs + ''' url As KeyValuePair(Of String, String) ??RL???????ゃ?URL??eyValuePair + ''' pics As List(Of KeyValuePair(Of String, Image)) ??RL???????ゃ??糸???eyValuePair + ''' tooltiptext As List(Of KeyValuePair(Of String, String)) ??RL????若?????????????KeyValuePair + ''' errmsg As String ?????け?????????????<??祉???+ ''' + ''' ?泣????????鋎??????????????True,紊掩?????翫???alse + ''' ???紊掩?????翫???rgs.errmsg????????;???絖?????????????/returns> + ''' + Private Function Owly_CreateImage(ByVal args As CreateImageArgs) As Boolean + ' TODO: ?泣????????顄??莨若???????菴違??障? + Dim img As Image = (New HttpVarious).GetImage(args.url.Value, args.url.Key, 0, args.errmsg) + If img Is Nothing Then + Return False + End If + ' ???????翫???RL???綽??????????若??????????????脂? + args.pics.Add(New KeyValuePair(Of String, Image)(args.url.Key, img)) + args.tooltiptext.Add(New KeyValuePair(Of String, String)(args.url.Key, "")) + Return True + End Function + +#End Region + +#Region "vimeo" + ''' + ''' URL茹f?????若??冴?????泣?????????L篏??????蚊???+ ''' + ''' Class GetUrlArgs + ''' args.url URL?????+ ''' args.imglist 茹f?????????????????????RL???????ゃ?URL??就?т??????eyValuePair + ''' + ''' ???????翫?True,紊掩??????alse + ''' args.imglist????若??冴?????т戎????????mglist???????丈検?????/remarks> + + Private Function Vimeo_GetUrl(ByVal args As GetUrlArgs) As Boolean + ' TODO URL?ゅ???????菴?+ Dim mc As Match = Regex.Match(args.url, "^http://vimeo\.com/[0-9]+", RegexOptions.IgnoreCase) + If mc.Success Then + ' TODO ???????泣??????RL??????imglist.Add??? + args.imglist.Add(New KeyValuePair(Of String, String)(args.url, mc.Value)) + Return True + Else + Return False + End If + End Function + + ''' + ''' BackgroundWorker????若??冴?????泣????????鋎??????蚊???+ ''' + ''' Class CreateImageArgs + ''' url As KeyValuePair(Of String, String) ??RL???????ゃ?URL??eyValuePair + ''' pics As List(Of KeyValuePair(Of String, Image)) ??RL???????ゃ??糸???eyValuePair + ''' tooltiptext As List(Of KeyValuePair(Of String, String)) ??RL????若?????????????KeyValuePair + ''' errmsg As String ?????け?????????????<??祉???+ ''' + ''' ?泣????????鋎??????????????True,紊掩?????翫???alse + ''' ???紊掩?????翫???rgs.errmsg????????;???絖?????????????/returns> + ''' + Private Function Vimeo_CreateImage(ByVal args As CreateImageArgs) As Boolean + ' TODO: ?泣????????顄??莨若???????菴違??障? + Dim http As New HttpVarious + Dim mc As Match = Regex.Match(args.url.Key, "http://vimeo\.com/(?[0-9]+)", RegexOptions.IgnoreCase) + Dim apiurl As String = "http://vimeo.com/api/v2/video/" + mc.Groups("postID").Value + ".xml" + Dim src As String = "" + Dim imgurl As String = Nothing + If http.GetData(apiurl, Nothing, src, 0, args.errmsg) Then + Dim xdoc As New XmlDocument + Dim sb As New StringBuilder + Try + xdoc.LoadXml(src) + Try + Dim tmp As String = xdoc.SelectSingleNode("videos/video/title").InnerText + If Not String.IsNullOrEmpty(tmp) Then + sb.Append(My.Resources.VimeoInfoText1) + sb.Append(tmp) + sb.AppendLine() + End If + Catch ex As Exception + End Try + Try + Dim tmpdate As New DateTime + If DateTime.TryParse(xdoc.SelectSingleNode("videos/video/upload_date").InnerText, tmpdate) Then + sb.Append(My.Resources.VimeoInfoText2) + sb.Append(tmpdate) + sb.AppendLine() + End If + Catch ex As Exception + End Try + Try + Dim tmp As String = xdoc.SelectSingleNode("videos/video/stats_number_of_likes").InnerText + If Not String.IsNullOrEmpty(tmp) Then + sb.Append(My.Resources.VimeoInfoText3) + sb.Append(tmp) + sb.AppendLine() + End If + Catch ex As Exception + End Try + Try + Dim tmp As String = xdoc.SelectSingleNode("videos/video/stats_number_of_plays").InnerText + If Not String.IsNullOrEmpty(tmp) Then + sb.Append(My.Resources.VimeoInfoText4) + sb.Append(tmp) + sb.AppendLine() + End If + Catch ex As Exception + End Try + Try + Dim tmp As String = xdoc.SelectSingleNode("videos/video/stats_number_of_comments").InnerText + If Not String.IsNullOrEmpty(tmp) Then + sb.Append(My.Resources.VimeoInfoText5) + sb.Append(tmp) + sb.AppendLine() + End If + Catch ex As Exception + End Try + Try + Dim sec As Integer = 0 + If Integer.TryParse(xdoc.SelectSingleNode("videos/video/duration").InnerText, sec) Then + sb.Append(My.Resources.VimeoInfoText6) + sb.AppendFormat("{0:d}:{1:d2}", sec \ 60, sec Mod 60) + sb.AppendLine() + End If + Catch ex As Exception + End Try + Try + Dim tmp As String = xdoc.SelectSingleNode("videos/video/thumbnail_medium").InnerText + If Not String.IsNullOrEmpty(tmp) Then + imgurl = tmp + End If + Catch ex As Exception + End Try + Catch ex As Exception + imgurl = "" + End Try + + If Not String.IsNullOrEmpty(imgurl) Then + Dim _img As Image = http.GetImage(imgurl, args.url.Key, 0, args.errmsg) + If _img Is Nothing Then Return False + args.pics.Add(New KeyValuePair(Of String, Image)(args.url.Key, _img)) + args.tooltiptext.Add(New KeyValuePair(Of String, String)(args.url.Key, sb.ToString.Trim())) + Return True + End If + End If + Return False + End Function + +#End Region + +#Region "cloudfiles" + ''' + ''' URL茹f?????若??冴?????泣?????????L篏??????蚊???+ ''' + ''' Class GetUrlArgs + ''' args.url URL?????+ ''' args.imglist 茹f?????????????????????RL???????ゃ?URL??就?т??????eyValuePair + ''' + ''' ???????翫?True,紊掩??????alse + ''' args.imglist????若??冴?????т戎????????mglist???????丈検?????/remarks> + + Private Function CloudFiles_GetUrl(ByVal args As GetUrlArgs) As Boolean + ' TODO URL?ゅ???????菴?+ Dim mc As Match = Regex.Match(args.url, "^http://c[0-9]+\.cdn[0-9]+\.cloudfiles\.rackspacecloud\.com/[a-z_0-9]+", RegexOptions.IgnoreCase) + If mc.Success Then + ' TODO ???????泣??????RL??????imglist.Add??? + args.imglist.Add(New KeyValuePair(Of String, String)(args.url, mc.Value)) + Return True + Else + Return False + End If + End Function + + ''' + ''' BackgroundWorker????若??冴?????泣????????鋎??????蚊???+ ''' + ''' Class CreateImageArgs + ''' url As KeyValuePair(Of String, String) ??RL???????ゃ?URL??eyValuePair + ''' pics As List(Of KeyValuePair(Of String, Image)) ??RL???????ゃ??糸???eyValuePair + ''' tooltiptext As List(Of KeyValuePair(Of String, String)) ??RL????若?????????????KeyValuePair + ''' errmsg As String ?????け?????????????<??祉???+ ''' + ''' ?泣????????鋎??????????????True,紊掩?????翫???alse + ''' ???紊掩?????翫???rgs.errmsg????????;???絖?????????????/returns> + ''' + Private Function CloudFiles_CreateImage(ByVal args As CreateImageArgs) As Boolean + ' TODO: ?泣????????顄??莨若???????菴違??障? + Dim img As Image = (New HttpVarious).GetImage(args.url.Value, args.url.Key, 0, args.errmsg) + If img Is Nothing Then + Return False + End If + ' ???????翫???RL???綽??????????若??????????????脂? + args.pics.Add(New KeyValuePair(Of String, Image)(args.url.Key, img)) + args.tooltiptext.Add(New KeyValuePair(Of String, String)(args.url.Key, "")) + Return True + End Function +#End Region + +#Region "Instagram" + ''' + ''' URL茹f?????若??冴?????泣?????????L篏??????蚊???+ ''' + ''' Class GetUrlArgs + ''' args.url URL?????+ ''' args.imglist 茹f?????????????????????RL???????ゃ?URL??就?т??????eyValuePair + ''' + ''' ???????翫?True,紊掩??????alse + ''' args.imglist????若??冴?????т戎????????mglist???????丈検?????/remarks> + + Private Function instagram_GetUrl(ByVal args As GetUrlArgs) As Boolean + ' TODO URL?ゅ???????菴?+ Dim mc As Match = Regex.Match(args.url, "^http://instagr.am/p/.+/", RegexOptions.IgnoreCase) + If mc.Success Then + ' TODO ???????泣??????RL??????imglist.Add??? + args.imglist.Add(New KeyValuePair(Of String, String)(args.url, mc.Value)) + Return True + Else + Return False + End If + End Function + + ''' + ''' BackgroundWorker????若??冴?????泣????????鋎??????蚊???+ ''' + ''' Class CreateImageArgs + ''' url As KeyValuePair(Of String, String) ??RL???????ゃ?URL??eyValuePair + ''' pics As List(Of KeyValuePair(Of String, Image)) ??RL???????ゃ??糸???eyValuePair + ''' tooltiptext As List(Of KeyValuePair(Of String, String)) ??RL????若?????????????KeyValuePair + ''' errmsg As String ?????け?????????????<??祉???+ ''' + ''' ?泣????????鋎??????????????True,紊掩?????翫???alse + ''' ???紊掩?????翫???rgs.errmsg????????;???絖?????????????/returns> + ''' + Private Function instagram_CreateImage(ByVal args As CreateImageArgs) As Boolean + ' TODO: ?泣????????顄??莨若???????菴違??障? + + Dim src As String = "" + Dim http As New HttpVarious + If http.GetData(args.url.Key, Nothing, src, 0, args.errmsg) Then + Dim mc As Match = Regex.Match(src, ".+)""/>") + '篋??篁ヤ????????c??????????筝????? 筝???????????????吟??≪??潟???????????c? + If mc.success Then + Dim _img As Image = http.GetImage(mc.Groups("url").Value, args.url.Key, 0, args.errmsg) + If _img Is Nothing Then Return False + args.pics.Add(New KeyValuePair(Of String, Image)(args.url.Key, _img)) + args.tooltiptext.Add(New KeyValuePair(Of String, String)(args.url.Key, "")) + Return True + Else + args.errmsg = "Pattern NotFound" + End If + End If + Return False + End Function + +#End Region + +End Class \ No newline at end of file Added: branches/UserStream/Tween/ToolStripAPIGauge.vb =================================================================== --- branches/UserStream/Tween/ToolStripAPIGauge.vb (rev 0) +++ branches/UserStream/Tween/ToolStripAPIGauge.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,129 @@ +鏤?mports System +Imports System.Drawing +Imports System.Windows.Forms + +Public Class ToolStripAPIGauge + Inherits ToolStripControlHost + + Private originalSize As Size + + Public Sub New() + MyBase.New(New Control()) + Me.AutoToolTip = True + AddHandler Me.Control.Paint, AddressOf Draw + AddHandler Me.Control.TextChanged, AddressOf Control_TextChanged + AddHandler Me.Control.SizeChanged, AddressOf Control_SizeChanged + End Sub + + Private _gaugeHeight As Integer + Public Property GaugeHeight As Integer + Set(ByVal value As Integer) + Me._gaugeHeight = value + If Not Me.Control.IsDisposed Then Me.Control.Refresh() + End Set + Get + Return _gaugeHeight + End Get + End Property + + Private _maxCount As Integer = 350 + Public Property MaxCount As Integer + Set(ByVal value As Integer) + Me._maxCount = value + If Not Me.Control.IsDisposed Then + Me.SetText(Me._remainCount, Me._maxCount) + Me.Control.Refresh() + End If + End Set + Get + Return Me._maxCount + End Get + End Property + + Private _remainCount As Integer + Public Property RemainCount As Integer + Set(ByVal value As Integer) + Me._remainCount = value + If Not Me.Control.IsDisposed Then + Me.SetText(Me._remainCount, Me._maxCount) + Me.Control.Refresh() + End If + End Set + Get + Return Me._remainCount + End Get + End Property + + Private _resetTime As DateTime + Public Property ResetTime As DateTime + Set(ByVal value As DateTime) + Me._resetTime = value + If Not Me.Control.IsDisposed Then + Me.SetText(Me._remainCount, Me._maxCount) + Me.Control.Refresh() + End If + End Set + Get + Return Me._resetTime + End Get + End Property + + Private Sub Draw(ByVal sender As Object, ByVal e As PaintEventArgs) + Dim minute As Double = (Me.ResetTime - DateTime.Now).TotalMinutes + Dim apiGaugeBounds As New Rectangle(0, _ + CType((Me.Control.Height - (Me._gaugeHeight * 2)) / 2, Integer), _ + CType(Me.Control.Width * (Me.RemainCount / Me._maxCount), Integer), _ + Me._gaugeHeight) + Dim timeGaugeBounds As New Rectangle(0, _ + apiGaugeBounds.Top + Me._gaugeHeight, _ + CType(Me.Control.Width * (minute / 60), Integer), _ + Me._gaugeHeight) + e.Graphics.FillRectangle(Brushes.LightBlue, apiGaugeBounds) + e.Graphics.FillRectangle(Brushes.LightPink, timeGaugeBounds) + e.Graphics.DrawString(Me.Control.Text, Me.Control.Font, SystemBrushes.ControlText, 0, CType(timeGaugeBounds.Top - (Me.Control.Font.Height / 2), Single)) + End Sub + + Private Sub Control_TextChanged(ByVal sender As Object, ByVal e As EventArgs) + RemoveHandler Me.Control.SizeChanged, AddressOf Me.Control_SizeChanged + Using g As Graphics = Me.Control.CreateGraphics() + Me.Control.Size = New Size(CType(Math.Max(g.MeasureString(Me.Control.Text, Me.Control.Font).Width, Me.originalSize.Width), Integer), _ + Me.Control.Size.Height) + End Using + AddHandler Me.Control.SizeChanged, AddressOf Me.Control_SizeChanged + End Sub + + Private Sub Control_SizeChanged(ByVal sender As Object, ByVal e As EventArgs) + Me.originalSize = Me.Control.Size + End Sub + + Private Sub SetText(ByVal remain As Integer, ByVal max As Integer) + Dim textFormat As String = "API {0}/{1}" + Dim toolTipTextFormat As String = _ + "API rest {0}/{1}" + Environment.NewLine + _ + "(reset after {2} minutes)" + + If Me._remainCount > -1 AndAlso Me._maxCount > -1 Then + ' 罩e幻 + Me.Control.Text = String.Format(textFormat, Me._remainCount, Me._maxCount) + ElseIf Me.RemainCount > -1 Then + ' uppercount筝?? + Me.Control.Text = String.Format(textFormat, Me._remainCount, "???") + ElseIf Me._maxCount < -1 Then + ' remaincount筝?? + Me.Control.Text = String.Format(textFormat, "???", Me._maxCount) + Else + ' 筝≧????筝?? + Me.Control.Text = String.Format(textFormat, "???", "???") + End If + + Dim minute As Double = Math.Ceiling((Me.ResetTime - DateTime.Now).TotalMinutes) + Dim minuteText As String + If minute >= 0 Then + minuteText = minute.ToString() + Else + minuteText = "???" + End If + + Me.ToolTipText = String.Format(toolTipTextFormat, Me._remainCount, Me._maxCount, minuteText) + End Sub +End Class \ No newline at end of file Added: branches/UserStream/Tween/ToolStripLabelHistory.vb =================================================================== --- branches/UserStream/Tween/ToolStripLabelHistory.vb (rev 0) +++ branches/UserStream/Tween/ToolStripLabelHistory.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,122 @@ +鏤? Tween - Client of Twitter +' Copyright (c) 2007-2010 kiri_feather (@kiri_feather) +' (c) 2008-2010 Moz (@syo68k) +' (c) 2008-2010 takeshik (@takeshik) +' All rights reserved. +' +' This file is part of Tween. +' +' This program is free software; you can redistribute it and/or modify it +' under the terms of the GNU General Public License as published by the Free +' Software Foundation; either version 3 of the License, or (at your option) +' any later version. +' +' This program is distributed in the hope that it will be useful, but +' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +' for more details. +' +' You should have received a copy of the GNU General Public License along +' with this program. If not, see , or write to +' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, +' Boston, MA 02110-1301, USA. + +Imports System.Text + +Namespace TweenCustomControl + + Public NotInheritable Class ToolStripLabelHistory + Inherits ToolStripStatusLabel + + Public Enum LogLevel + Lowest = 0 + Debug = 16 + Info = 32 + Notice = 64 + Warn = 128 + Err = 192 + Fatal = 255 + Highest = 256 + End Enum + + Public Class LogEntry + Private ReadOnly _logLevel As LogLevel + + Private ReadOnly _timestamp As DateTime + + Private ReadOnly _summary As String + + Private ReadOnly _detail As String + + Public ReadOnly Property LogLevel() As LogLevel + Get + Return _logLevel + End Get + End Property + + Public ReadOnly Property Timestamp() As DateTime + Get + Return _timestamp + End Get + End Property + + Public ReadOnly Property Summary() As String + Get + Return _summary + End Get + End Property + + Public ReadOnly Property Detail() As String + Get + Return _detail + End Get + End Property + + Public Sub New(ByVal logLevel As LogLevel, ByVal timestamp As DateTime, ByVal summary As String, ByVal detail As String) + _logLevel = logLevel + _timestamp = timestamp + _summary = summary + _detail = detail + End Sub + + Public Sub New(ByVal timestamp As DateTime, ByVal summary As String) + Me.New(LogLevel.Debug, timestamp, summary, summary) + End Sub + + Public Overrides Function ToString() As String + Return Timestamp.ToString("T") + ": " + Summary + End Function + End Class + + Private _logs As LinkedList(Of LogEntry) + + Private Const MAXCNT As Integer = 20 + + Public Overrides Property Text() As String + Get + Return MyBase.Text + End Get + Set(ByVal value As String) + _logs.AddLast(New LogEntry(DateTime.Now, value)) + Do While _logs.Count > MAXCNT + _logs.RemoveFirst() + Loop + MyBase.Text = value + End Set + End Property + + Public ReadOnly Property TextHistory() As String + Get + Dim sb As StringBuilder = New StringBuilder() + For Each e As LogEntry In _logs + sb.AppendLine(e.ToString()) + Next + Return sb.ToString() + End Get + End Property + + Public Sub New() + _logs = New LinkedList(Of LogEntry)() + End Sub + End Class +End Namespace Added: branches/UserStream/Tween/Tween.Designer.vb =================================================================== --- branches/UserStream/Tween/Tween.Designer.vb (rev 0) +++ branches/UserStream/Tween/Tween.Designer.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,1978 @@ +鏤?ption Strict On + _ +Partial Class TweenMain + Inherits System.Windows.Forms.Form + + '????若?????潟??若??潟????荀с?????若??≪?????????? dispose ????若??若??ゃ??????? + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Windows ????若? ????ゃ??у?荀????? + Private components As System.ComponentModel.IContainer + + '?<?: 篁ヤ????????若??c? Windows ????若? ????ゃ??у?荀????? + 'Windows ????若? ????ゃ???戎???????眼??????? + '?潟???????c???戎?c?紊??????????????? + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(TweenMain)) + Me.ToolStripContainer1 = New System.Windows.Forms.ToolStripContainer() + Me.StatusStrip1 = New System.Windows.Forms.StatusStrip() + Me.StatusLabelUrl = New System.Windows.Forms.ToolStripStatusLabel() + Me.StatusLabel = New Tween.TweenCustomControl.ToolStripLabelHistory() + Me.ToolStripStatusLabel1 = New System.Windows.Forms.ToolStripStatusLabel() + Me.HashStripSplitButton = New System.Windows.Forms.ToolStripSplitButton() + Me.ContextMenuPostMode = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.ToolStripMenuItemUrlMultibyteSplit = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItemApiCommandEvasion = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItemUrlAutoShorten = New System.Windows.Forms.ToolStripMenuItem() + Me.IdeographicSpaceToSpaceToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.MultiLineMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripFocusLockMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator35 = New System.Windows.Forms.ToolStripSeparator() + Me.ImageSelectMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator8 = New System.Windows.Forms.ToolStripSeparator() + Me.HashToggleMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.HashManageMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.SplitContainer1 = New System.Windows.Forms.SplitContainer() + Me.TimelinePanel = New System.Windows.Forms.Panel() + Me.ListTab = New System.Windows.Forms.TabControl() + Me.ContextMenuTabProperty = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.AddTabMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.TabRenameMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator20 = New System.Windows.Forms.ToolStripSeparator() + Me.UreadManageMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.NotifyDispMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.SoundFileComboBox = New System.Windows.Forms.ToolStripComboBox() + Me.ToolStripSeparator18 = New System.Windows.Forms.ToolStripSeparator() + Me.FilterEditMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator19 = New System.Windows.Forms.ToolStripSeparator() + Me.ClearTabMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator11 = New System.Windows.Forms.ToolStripSeparator() + Me.DeleteTabMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.TabImage = New System.Windows.Forms.ImageList(Me.components) + Me.ImageSelectionPanel = New System.Windows.Forms.Panel() + Me.ImageSelectedPicture = New System.Windows.Forms.PictureBox() + Me.ImagePathPanel = New System.Windows.Forms.Panel() + Me.ImagefilePathText = New System.Windows.Forms.TextBox() + Me.FilePickButton = New System.Windows.Forms.Button() + Me.Label2 = New System.Windows.Forms.Label() + Me.ImageServiceCombo = New System.Windows.Forms.ComboBox() + Me.ImageCancelButton = New System.Windows.Forms.Button() + Me.Label1 = New System.Windows.Forms.Label() + Me.ProfilePanel = New System.Windows.Forms.Panel() + Me.SplitContainer3 = New System.Windows.Forms.SplitContainer() + Me.SplitContainer2 = New System.Windows.Forms.SplitContainer() + Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel() + Me.UserPicture = New System.Windows.Forms.PictureBox() + Me.ContextMenuUserPicture = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.FollowToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.UnFollowToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ShowFriendShipToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ListManageUserContextToolStripMenuItem3 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator37 = New System.Windows.Forms.ToolStripSeparator() + Me.ShowUserStatusToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.SearchPostsDetailNameToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem1 = New System.Windows.Forms.ToolStripSeparator() + Me.IconNameToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.SaveIconPictureToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.NameLabel = New System.Windows.Forms.Label() + Me.PostBrowser = New System.Windows.Forms.WebBrowser() + Me.ContextMenuPostBrowser = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.SelectionSearchContextMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.SearchGoogleContextMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.SearchWikipediaContextMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.SearchYatsContextMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.SearchPublicSearchContextMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.CurrentTabToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator13 = New System.Windows.Forms.ToolStripSeparator() + Me.SelectionCopyContextMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.UrlCopyContextMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.SelectionAllContextMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator5 = New System.Windows.Forms.ToolStripSeparator() + Me.FollowContextMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.RemoveContextMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.FriendshipContextMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.FriendshipAllMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator36 = New System.Windows.Forms.ToolStripSeparator() + Me.ShowUserStatusContextMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.SearchPostsDetailToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator32 = New System.Windows.Forms.ToolStripSeparator() + Me.IdFilterAddMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ListManageUserContextToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator33 = New System.Windows.Forms.ToolStripSeparator() + Me.UseHashtagMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.DateTimeLabel = New System.Windows.Forms.Label() + Me.SourceLinkLabel = New System.Windows.Forms.LinkLabel() + Me.StatusText = New System.Windows.Forms.TextBox() + Me.lblLen = New System.Windows.Forms.Label() + Me.PostButton = New System.Windows.Forms.Button() + Me.PreviewPicture = New System.Windows.Forms.PictureBox() + Me.PreviewScrollBar = New System.Windows.Forms.VScrollBar() + Me.MenuStrip1 = New System.Windows.Forms.MenuStrip() + Me.MenuItemFile = New System.Windows.Forms.ToolStripMenuItem() + Me.SettingFileMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator21 = New System.Windows.Forms.ToolStripSeparator() + Me.SaveFileMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator23 = New System.Windows.Forms.ToolStripSeparator() + Me.NotifyFileMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.PlaySoundFileMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.LockListFileMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator24 = New System.Windows.Forms.ToolStripSeparator() + Me.EndFileMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.MenuItemEdit = New System.Windows.Forms.ToolStripMenuItem() + Me.UndoRemoveTabMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator12 = New System.Windows.Forms.ToolStripSeparator() + Me.CopySTOTMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.CopyURLMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.CopyUserIdStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator6 = New System.Windows.Forms.ToolStripSeparator() + Me.MenuItemSubSearch = New System.Windows.Forms.ToolStripMenuItem() + Me.MenuItemSearchNext = New System.Windows.Forms.ToolStripMenuItem() + Me.MenuItemSearchPrev = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator22 = New System.Windows.Forms.ToolStripSeparator() + Me.PublicSearchQueryMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.MenuItemOperate = New System.Windows.Forms.ToolStripMenuItem() + Me.ReplyOpMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ReplyAllOpMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.DmOpMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.RtOpMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.RtUnOpMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.QtOpMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator25 = New System.Windows.Forms.ToolStripSeparator() + Me.FavOpMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.UnFavOpMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ShowProfMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.OpenOpMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.OpenHomeOpMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.OpenFavOpMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.OpenStatusOpMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.OpenRepSourceOpMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.OpenFavotterOpMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.OpenUrlOpMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.OpenRterHomeMenuItem = New System.Windows.Forms.ToolStripMenuItem() + 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.ToolStripSeparator26 = New System.Windows.Forms.ToolStripSeparator() + Me.ChangeReadOpMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ReadOpMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.UnreadOpMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.JumpReadOpMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator27 = New System.Windows.Forms.ToolStripSeparator() + Me.SelAllOpMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.DelOpMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.RefreshOpMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.RefreshPrevOpMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.MenuItemTab = New System.Windows.Forms.ToolStripMenuItem() + Me.CreateTbMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.RenameTbMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator28 = New System.Windows.Forms.ToolStripSeparator() + Me.UnreadMngTbMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.NotifyTbMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.SoundFileTbComboBox = New System.Windows.Forms.ToolStripComboBox() + Me.ToolStripSeparator29 = New System.Windows.Forms.ToolStripSeparator() + Me.EditRuleTbMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator30 = New System.Windows.Forms.ToolStripSeparator() + Me.ClearTbMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator31 = New System.Windows.Forms.ToolStripSeparator() + Me.DeleteTbMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.MenuItemCommand = New System.Windows.Forms.ToolStripMenuItem() + Me.TinyUrlConvertToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.UrlConvertAutoToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.UrlUndoToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.TinyURLToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.IsgdToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.TwurlnlToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.BitlyToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.JmpStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.UpdateFollowersMenuItem1 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator() + Me.FollowCommandMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.RemoveCommandMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.FriendshipMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator3 = New System.Windows.Forms.ToolStripSeparator() + Me.OwnStatusMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.UserStatusToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator34 = New System.Windows.Forms.ToolStripSeparator() + Me.HashToggleToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.HashManageToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.RtCountMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ListManageToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.MenuItemHelp = New System.Windows.Forms.ToolStripMenuItem() + Me.MatomeMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ShortcutKeyListMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator16 = New System.Windows.Forms.ToolStripSeparator() + Me.VerUpMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator14 = New System.Windows.Forms.ToolStripSeparator() + Me.ApiInfoMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator7 = New System.Windows.Forms.ToolStripSeparator() + Me.AboutMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.DebugModeToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.DumpPostClassToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.TraceOutToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ContextMenuOperate = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.ReplyStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ReplyAllStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.DMStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ReTweetOriginalStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ReTweetStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.QuoteStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator() + Me.FavAddToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.FavRemoveToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ShowProfileMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem6 = New System.Windows.Forms.ToolStripMenuItem() + Me.MoveToHomeToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.MoveToFavToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.StatusOpenMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.RepliedStatusOpenMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.FavorareMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.OpenURLMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.MoveToRTHomeMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem7 = New System.Windows.Forms.ToolStripMenuItem() + Me.TabMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.IDRuleMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ListManageUserContextToolStripMenuItem2 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator4 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripMenuItem11 = New System.Windows.Forms.ToolStripMenuItem() + Me.ReadedStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.UnreadStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.JumpUnreadMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator10 = New System.Windows.Forms.ToolStripSeparator() + Me.SelectAllMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.DeleteStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.RefreshStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.RefreshMoreStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ContextMenuFile = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.SettingStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator9 = New System.Windows.Forms.ToolStripSeparator() + Me.SaveLogMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator17 = New System.Windows.Forms.ToolStripSeparator() + Me.NewPostPopMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.PlaySoundMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ListLockMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator15 = New System.Windows.Forms.ToolStripSeparator() + Me.EndToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.NotifyIcon1 = New System.Windows.Forms.NotifyIcon(Me.components) + Me.SaveFileDialog1 = New System.Windows.Forms.SaveFileDialog() + 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.ToolStripContainer1.BottomToolStripPanel.SuspendLayout() + Me.ToolStripContainer1.ContentPanel.SuspendLayout() + Me.ToolStripContainer1.TopToolStripPanel.SuspendLayout() + Me.ToolStripContainer1.SuspendLayout() + Me.StatusStrip1.SuspendLayout() + Me.ContextMenuPostMode.SuspendLayout() + Me.SplitContainer1.Panel1.SuspendLayout() + Me.SplitContainer1.Panel2.SuspendLayout() + Me.SplitContainer1.SuspendLayout() + Me.TimelinePanel.SuspendLayout() + Me.ContextMenuTabProperty.SuspendLayout() + Me.ImageSelectionPanel.SuspendLayout() + CType(Me.ImageSelectedPicture, System.ComponentModel.ISupportInitialize).BeginInit() + Me.ImagePathPanel.SuspendLayout() + Me.SplitContainer3.Panel1.SuspendLayout() + Me.SplitContainer3.Panel2.SuspendLayout() + Me.SplitContainer3.SuspendLayout() + Me.SplitContainer2.Panel1.SuspendLayout() + Me.SplitContainer2.Panel2.SuspendLayout() + Me.SplitContainer2.SuspendLayout() + Me.TableLayoutPanel1.SuspendLayout() + CType(Me.UserPicture, System.ComponentModel.ISupportInitialize).BeginInit() + Me.ContextMenuUserPicture.SuspendLayout() + Me.ContextMenuPostBrowser.SuspendLayout() + CType(Me.PreviewPicture, System.ComponentModel.ISupportInitialize).BeginInit() + Me.MenuStrip1.SuspendLayout() + Me.ContextMenuOperate.SuspendLayout() + Me.ContextMenuFile.SuspendLayout() + Me.SuspendLayout() + ' + 'ToolStripContainer1 + ' + ' + 'ToolStripContainer1.BottomToolStripPanel + ' + Me.ToolStripContainer1.BottomToolStripPanel.Controls.Add(Me.StatusStrip1) + ' + 'ToolStripContainer1.ContentPanel + ' + Me.ToolStripContainer1.ContentPanel.Controls.Add(Me.SplitContainer1) + resources.ApplyResources(Me.ToolStripContainer1.ContentPanel, "ToolStripContainer1.ContentPanel") + resources.ApplyResources(Me.ToolStripContainer1, "ToolStripContainer1") + Me.ToolStripContainer1.LeftToolStripPanelVisible = False + Me.ToolStripContainer1.Name = "ToolStripContainer1" + Me.ToolStripContainer1.RightToolStripPanelVisible = False + ' + 'ToolStripContainer1.TopToolStripPanel + ' + Me.ToolStripContainer1.TopToolStripPanel.Controls.Add(Me.MenuStrip1) + ' + 'StatusStrip1 + ' + resources.ApplyResources(Me.StatusStrip1, "StatusStrip1") + Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.StatusLabelUrl, Me.StatusLabel, Me.ToolStripStatusLabel1, Me.HashStripSplitButton}) + Me.StatusStrip1.Name = "StatusStrip1" + Me.StatusStrip1.ShowItemToolTips = True + ' + 'StatusLabelUrl + ' + resources.ApplyResources(Me.StatusLabelUrl, "StatusLabelUrl") + Me.StatusLabelUrl.AutoToolTip = True + Me.StatusLabelUrl.BorderSides = System.Windows.Forms.ToolStripStatusLabelBorderSides.Right + Me.StatusLabelUrl.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text + Me.StatusLabelUrl.Name = "StatusLabelUrl" + Me.StatusLabelUrl.Spring = True + ' + 'StatusLabel + ' + Me.StatusLabel.BorderSides = System.Windows.Forms.ToolStripStatusLabelBorderSides.Right + Me.StatusLabel.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text + Me.StatusLabel.DoubleClickEnabled = True + Me.StatusLabel.Name = "StatusLabel" + resources.ApplyResources(Me.StatusLabel, "StatusLabel") + ' + 'ToolStripStatusLabel1 + ' + resources.ApplyResources(Me.ToolStripStatusLabel1, "ToolStripStatusLabel1") + Me.ToolStripStatusLabel1.BorderSides = System.Windows.Forms.ToolStripStatusLabelBorderSides.Right + Me.ToolStripStatusLabel1.Name = "ToolStripStatusLabel1" + ' + 'HashStripSplitButton + ' + Me.HashStripSplitButton.AutoToolTip = False + Me.HashStripSplitButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text + Me.HashStripSplitButton.DropDown = Me.ContextMenuPostMode + Me.HashStripSplitButton.DropDownButtonWidth = 13 + Me.HashStripSplitButton.Name = "HashStripSplitButton" + resources.ApplyResources(Me.HashStripSplitButton, "HashStripSplitButton") + ' + 'ContextMenuPostMode + ' + 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 + ' + Me.ToolStripMenuItemUrlMultibyteSplit.CheckOnClick = True + Me.ToolStripMenuItemUrlMultibyteSplit.Name = "ToolStripMenuItemUrlMultibyteSplit" + resources.ApplyResources(Me.ToolStripMenuItemUrlMultibyteSplit, "ToolStripMenuItemUrlMultibyteSplit") + ' + 'ToolStripMenuItemApiCommandEvasion + ' + Me.ToolStripMenuItemApiCommandEvasion.Checked = True + Me.ToolStripMenuItemApiCommandEvasion.CheckOnClick = True + Me.ToolStripMenuItemApiCommandEvasion.CheckState = System.Windows.Forms.CheckState.Checked + Me.ToolStripMenuItemApiCommandEvasion.Name = "ToolStripMenuItemApiCommandEvasion" + resources.ApplyResources(Me.ToolStripMenuItemApiCommandEvasion, "ToolStripMenuItemApiCommandEvasion") + ' + 'ToolStripMenuItemUrlAutoShorten + ' + Me.ToolStripMenuItemUrlAutoShorten.CheckOnClick = True + Me.ToolStripMenuItemUrlAutoShorten.Name = "ToolStripMenuItemUrlAutoShorten" + resources.ApplyResources(Me.ToolStripMenuItemUrlAutoShorten, "ToolStripMenuItemUrlAutoShorten") + ' + 'IdeographicSpaceToSpaceToolStripMenuItem + ' + Me.IdeographicSpaceToSpaceToolStripMenuItem.Checked = True + Me.IdeographicSpaceToSpaceToolStripMenuItem.CheckOnClick = True + Me.IdeographicSpaceToSpaceToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked + Me.IdeographicSpaceToSpaceToolStripMenuItem.Name = "IdeographicSpaceToSpaceToolStripMenuItem" + resources.ApplyResources(Me.IdeographicSpaceToSpaceToolStripMenuItem, "IdeographicSpaceToSpaceToolStripMenuItem") + ' + 'MultiLineMenuItem + ' + Me.MultiLineMenuItem.CheckOnClick = True + Me.MultiLineMenuItem.Name = "MultiLineMenuItem" + resources.ApplyResources(Me.MultiLineMenuItem, "MultiLineMenuItem") + ' + 'ToolStripFocusLockMenuItem + ' + Me.ToolStripFocusLockMenuItem.CheckOnClick = True + Me.ToolStripFocusLockMenuItem.Name = "ToolStripFocusLockMenuItem" + resources.ApplyResources(Me.ToolStripFocusLockMenuItem, "ToolStripFocusLockMenuItem") + ' + 'ToolStripSeparator35 + ' + Me.ToolStripSeparator35.Name = "ToolStripSeparator35" + resources.ApplyResources(Me.ToolStripSeparator35, "ToolStripSeparator35") + ' + 'ImageSelectMenuItem + ' + Me.ImageSelectMenuItem.Name = "ImageSelectMenuItem" + resources.ApplyResources(Me.ImageSelectMenuItem, "ImageSelectMenuItem") + ' + 'ToolStripSeparator8 + ' + Me.ToolStripSeparator8.Name = "ToolStripSeparator8" + resources.ApplyResources(Me.ToolStripSeparator8, "ToolStripSeparator8") + ' + 'HashToggleMenuItem + ' + Me.HashToggleMenuItem.CheckOnClick = True + Me.HashToggleMenuItem.Name = "HashToggleMenuItem" + resources.ApplyResources(Me.HashToggleMenuItem, "HashToggleMenuItem") + ' + 'HashManageMenuItem + ' + Me.HashManageMenuItem.Name = "HashManageMenuItem" + resources.ApplyResources(Me.HashManageMenuItem, "HashManageMenuItem") + ' + 'SplitContainer1 + ' + Me.SplitContainer1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + resources.ApplyResources(Me.SplitContainer1, "SplitContainer1") + Me.SplitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel2 + Me.SplitContainer1.Name = "SplitContainer1" + ' + 'SplitContainer1.Panel1 + ' + Me.SplitContainer1.Panel1.Controls.Add(Me.TimelinePanel) + Me.SplitContainer1.Panel1.Controls.Add(Me.ImageSelectionPanel) + Me.SplitContainer1.Panel1.Controls.Add(Me.ProfilePanel) + ' + 'SplitContainer1.Panel2 + ' + Me.SplitContainer1.Panel2.Controls.Add(Me.SplitContainer3) + Me.SplitContainer1.TabStop = False + ' + 'TimelinePanel + ' + Me.TimelinePanel.Controls.Add(Me.ListTab) + resources.ApplyResources(Me.TimelinePanel, "TimelinePanel") + Me.TimelinePanel.Name = "TimelinePanel" + ' + 'ListTab + ' + resources.ApplyResources(Me.ListTab, "ListTab") + Me.ListTab.AllowDrop = True + Me.ListTab.ContextMenuStrip = Me.ContextMenuTabProperty + Me.ListTab.ImageList = Me.TabImage + Me.ListTab.Multiline = True + Me.ListTab.Name = "ListTab" + Me.ListTab.SelectedIndex = 0 + Me.ListTab.TabStop = False + ' + 'ContextMenuTabProperty + ' + Me.ContextMenuTabProperty.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.AddTabMenuItem, Me.TabRenameMenuItem, Me.ToolStripSeparator20, Me.UreadManageMenuItem, Me.NotifyDispMenuItem, Me.SoundFileComboBox, Me.ToolStripSeparator18, Me.FilterEditMenuItem, Me.ToolStripSeparator19, Me.ClearTabMenuItem, Me.ToolStripSeparator11, Me.DeleteTabMenuItem}) + Me.ContextMenuTabProperty.Name = "ContextMenuStrip3" + Me.ContextMenuTabProperty.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional + resources.ApplyResources(Me.ContextMenuTabProperty, "ContextMenuTabProperty") + ' + 'AddTabMenuItem + ' + Me.AddTabMenuItem.Name = "AddTabMenuItem" + resources.ApplyResources(Me.AddTabMenuItem, "AddTabMenuItem") + ' + 'TabRenameMenuItem + ' + Me.TabRenameMenuItem.Name = "TabRenameMenuItem" + resources.ApplyResources(Me.TabRenameMenuItem, "TabRenameMenuItem") + ' + 'ToolStripSeparator20 + ' + Me.ToolStripSeparator20.Name = "ToolStripSeparator20" + resources.ApplyResources(Me.ToolStripSeparator20, "ToolStripSeparator20") + ' + 'UreadManageMenuItem + ' + Me.UreadManageMenuItem.CheckOnClick = True + Me.UreadManageMenuItem.Name = "UreadManageMenuItem" + resources.ApplyResources(Me.UreadManageMenuItem, "UreadManageMenuItem") + ' + 'NotifyDispMenuItem + ' + Me.NotifyDispMenuItem.CheckOnClick = True + Me.NotifyDispMenuItem.Name = "NotifyDispMenuItem" + resources.ApplyResources(Me.NotifyDispMenuItem, "NotifyDispMenuItem") + ' + 'SoundFileComboBox + ' + Me.SoundFileComboBox.AutoToolTip = True + Me.SoundFileComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList + Me.SoundFileComboBox.Name = "SoundFileComboBox" + resources.ApplyResources(Me.SoundFileComboBox, "SoundFileComboBox") + ' + 'ToolStripSeparator18 + ' + Me.ToolStripSeparator18.Name = "ToolStripSeparator18" + resources.ApplyResources(Me.ToolStripSeparator18, "ToolStripSeparator18") + ' + 'FilterEditMenuItem + ' + Me.FilterEditMenuItem.Name = "FilterEditMenuItem" + resources.ApplyResources(Me.FilterEditMenuItem, "FilterEditMenuItem") + ' + 'ToolStripSeparator19 + ' + Me.ToolStripSeparator19.Name = "ToolStripSeparator19" + resources.ApplyResources(Me.ToolStripSeparator19, "ToolStripSeparator19") + ' + 'ClearTabMenuItem + ' + Me.ClearTabMenuItem.Name = "ClearTabMenuItem" + resources.ApplyResources(Me.ClearTabMenuItem, "ClearTabMenuItem") + ' + 'ToolStripSeparator11 + ' + Me.ToolStripSeparator11.Name = "ToolStripSeparator11" + resources.ApplyResources(Me.ToolStripSeparator11, "ToolStripSeparator11") + ' + 'DeleteTabMenuItem + ' + Me.DeleteTabMenuItem.Name = "DeleteTabMenuItem" + resources.ApplyResources(Me.DeleteTabMenuItem, "DeleteTabMenuItem") + ' + 'TabImage + ' + Me.TabImage.ColorDepth = System.Windows.Forms.ColorDepth.Depth32Bit + resources.ApplyResources(Me.TabImage, "TabImage") + Me.TabImage.TransparentColor = System.Drawing.Color.Transparent + ' + 'ImageSelectionPanel + ' + resources.ApplyResources(Me.ImageSelectionPanel, "ImageSelectionPanel") + Me.ImageSelectionPanel.Controls.Add(Me.ImageSelectedPicture) + Me.ImageSelectionPanel.Controls.Add(Me.ImagePathPanel) + Me.ImageSelectionPanel.Name = "ImageSelectionPanel" + ' + 'ImageSelectedPicture + ' + resources.ApplyResources(Me.ImageSelectedPicture, "ImageSelectedPicture") + Me.ImageSelectedPicture.Image = Global.Tween.My.Resources.Resources.InitialImage + Me.ImageSelectedPicture.InitialImage = Global.Tween.My.Resources.Resources.InitialImage + Me.ImageSelectedPicture.Name = "ImageSelectedPicture" + Me.ImageSelectedPicture.TabStop = False + ' + 'ImagePathPanel + ' + Me.ImagePathPanel.Controls.Add(Me.ImagefilePathText) + Me.ImagePathPanel.Controls.Add(Me.FilePickButton) + Me.ImagePathPanel.Controls.Add(Me.Label2) + Me.ImagePathPanel.Controls.Add(Me.ImageServiceCombo) + Me.ImagePathPanel.Controls.Add(Me.ImageCancelButton) + Me.ImagePathPanel.Controls.Add(Me.Label1) + resources.ApplyResources(Me.ImagePathPanel, "ImagePathPanel") + Me.ImagePathPanel.Name = "ImagePathPanel" + ' + 'ImagefilePathText + ' + resources.ApplyResources(Me.ImagefilePathText, "ImagefilePathText") + Me.ImagefilePathText.Name = "ImagefilePathText" + ' + 'FilePickButton + ' + resources.ApplyResources(Me.FilePickButton, "FilePickButton") + Me.FilePickButton.Name = "FilePickButton" + Me.FilePickButton.UseVisualStyleBackColor = True + ' + 'Label2 + ' + resources.ApplyResources(Me.Label2, "Label2") + Me.Label2.Name = "Label2" + ' + 'ImageServiceCombo + ' + resources.ApplyResources(Me.ImageServiceCombo, "ImageServiceCombo") + Me.ImageServiceCombo.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList + Me.ImageServiceCombo.FormattingEnabled = True + Me.ImageServiceCombo.Items.AddRange(New Object() {resources.GetString("ImageServiceCombo.Items"), resources.GetString("ImageServiceCombo.Items1")}) + Me.ImageServiceCombo.Name = "ImageServiceCombo" + ' + 'ImageCancelButton + ' + resources.ApplyResources(Me.ImageCancelButton, "ImageCancelButton") + Me.ImageCancelButton.Name = "ImageCancelButton" + Me.ImageCancelButton.UseVisualStyleBackColor = True + ' + 'Label1 + ' + resources.ApplyResources(Me.Label1, "Label1") + Me.Label1.Name = "Label1" + ' + 'ProfilePanel + ' + resources.ApplyResources(Me.ProfilePanel, "ProfilePanel") + Me.ProfilePanel.Name = "ProfilePanel" + ' + 'SplitContainer3 + ' + resources.ApplyResources(Me.SplitContainer3, "SplitContainer3") + Me.SplitContainer3.Name = "SplitContainer3" + ' + 'SplitContainer3.Panel1 + ' + Me.SplitContainer3.Panel1.Controls.Add(Me.SplitContainer2) + ' + 'SplitContainer3.Panel2 + ' + Me.SplitContainer3.Panel2.Controls.Add(Me.PreviewPicture) + Me.SplitContainer3.Panel2.Controls.Add(Me.PreviewScrollBar) + Me.SplitContainer3.Panel2Collapsed = True + Me.SplitContainer3.TabStop = False + ' + 'SplitContainer2 + ' + resources.ApplyResources(Me.SplitContainer2, "SplitContainer2") + Me.SplitContainer2.FixedPanel = System.Windows.Forms.FixedPanel.Panel2 + Me.SplitContainer2.MinimumSize = New System.Drawing.Size(0, 22) + Me.SplitContainer2.Name = "SplitContainer2" + ' + 'SplitContainer2.Panel1 + ' + Me.SplitContainer2.Panel1.Controls.Add(Me.TableLayoutPanel1) + ' + 'SplitContainer2.Panel2 + ' + Me.SplitContainer2.Panel2.Controls.Add(Me.StatusText) + Me.SplitContainer2.Panel2.Controls.Add(Me.lblLen) + Me.SplitContainer2.Panel2.Controls.Add(Me.PostButton) + Me.SplitContainer2.TabStop = False + ' + 'TableLayoutPanel1 + ' + resources.ApplyResources(Me.TableLayoutPanel1, "TableLayoutPanel1") + Me.TableLayoutPanel1.Controls.Add(Me.UserPicture, 0, 0) + Me.TableLayoutPanel1.Controls.Add(Me.NameLabel, 1, 0) + Me.TableLayoutPanel1.Controls.Add(Me.PostBrowser, 1, 1) + Me.TableLayoutPanel1.Controls.Add(Me.DateTimeLabel, 2, 0) + Me.TableLayoutPanel1.Controls.Add(Me.SourceLinkLabel, 3, 0) + Me.TableLayoutPanel1.Name = "TableLayoutPanel1" + ' + 'UserPicture + ' + Me.UserPicture.BackColor = System.Drawing.Color.White + Me.UserPicture.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.UserPicture.ContextMenuStrip = Me.ContextMenuUserPicture + resources.ApplyResources(Me.UserPicture, "UserPicture") + Me.UserPicture.Name = "UserPicture" + Me.TableLayoutPanel1.SetRowSpan(Me.UserPicture, 2) + Me.UserPicture.TabStop = False + ' + 'ContextMenuUserPicture + ' + Me.ContextMenuUserPicture.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.FollowToolStripMenuItem, Me.UnFollowToolStripMenuItem, Me.ShowFriendShipToolStripMenuItem, Me.ListManageUserContextToolStripMenuItem3, Me.ToolStripSeparator37, Me.ShowUserStatusToolStripMenuItem, Me.SearchPostsDetailNameToolStripMenuItem, Me.ToolStripMenuItem1, Me.IconNameToolStripMenuItem, Me.SaveIconPictureToolStripMenuItem}) + Me.ContextMenuUserPicture.Name = "ContextMenuStrip3" + Me.ContextMenuUserPicture.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional + resources.ApplyResources(Me.ContextMenuUserPicture, "ContextMenuUserPicture") + ' + 'FollowToolStripMenuItem + ' + Me.FollowToolStripMenuItem.Name = "FollowToolStripMenuItem" + resources.ApplyResources(Me.FollowToolStripMenuItem, "FollowToolStripMenuItem") + ' + 'UnFollowToolStripMenuItem + ' + Me.UnFollowToolStripMenuItem.Name = "UnFollowToolStripMenuItem" + resources.ApplyResources(Me.UnFollowToolStripMenuItem, "UnFollowToolStripMenuItem") + ' + 'ShowFriendShipToolStripMenuItem + ' + Me.ShowFriendShipToolStripMenuItem.Name = "ShowFriendShipToolStripMenuItem" + resources.ApplyResources(Me.ShowFriendShipToolStripMenuItem, "ShowFriendShipToolStripMenuItem") + ' + 'ListManageUserContextToolStripMenuItem3 + ' + Me.ListManageUserContextToolStripMenuItem3.Name = "ListManageUserContextToolStripMenuItem3" + resources.ApplyResources(Me.ListManageUserContextToolStripMenuItem3, "ListManageUserContextToolStripMenuItem3") + ' + 'ToolStripSeparator37 + ' + Me.ToolStripSeparator37.Name = "ToolStripSeparator37" + resources.ApplyResources(Me.ToolStripSeparator37, "ToolStripSeparator37") + ' + 'ShowUserStatusToolStripMenuItem + ' + Me.ShowUserStatusToolStripMenuItem.Name = "ShowUserStatusToolStripMenuItem" + resources.ApplyResources(Me.ShowUserStatusToolStripMenuItem, "ShowUserStatusToolStripMenuItem") + ' + 'SearchPostsDetailNameToolStripMenuItem + ' + Me.SearchPostsDetailNameToolStripMenuItem.Name = "SearchPostsDetailNameToolStripMenuItem" + resources.ApplyResources(Me.SearchPostsDetailNameToolStripMenuItem, "SearchPostsDetailNameToolStripMenuItem") + ' + 'ToolStripMenuItem1 + ' + Me.ToolStripMenuItem1.Name = "ToolStripMenuItem1" + resources.ApplyResources(Me.ToolStripMenuItem1, "ToolStripMenuItem1") + ' + 'IconNameToolStripMenuItem + ' + Me.IconNameToolStripMenuItem.Name = "IconNameToolStripMenuItem" + resources.ApplyResources(Me.IconNameToolStripMenuItem, "IconNameToolStripMenuItem") + ' + 'SaveIconPictureToolStripMenuItem + ' + Me.SaveIconPictureToolStripMenuItem.Name = "SaveIconPictureToolStripMenuItem" + resources.ApplyResources(Me.SaveIconPictureToolStripMenuItem, "SaveIconPictureToolStripMenuItem") + ' + 'NameLabel + ' + Me.NameLabel.AutoEllipsis = True + resources.ApplyResources(Me.NameLabel, "NameLabel") + Me.NameLabel.Name = "NameLabel" + Me.NameLabel.UseMnemonic = False + ' + 'PostBrowser + ' + Me.PostBrowser.AllowWebBrowserDrop = False + Me.TableLayoutPanel1.SetColumnSpan(Me.PostBrowser, 3) + Me.PostBrowser.ContextMenuStrip = Me.ContextMenuPostBrowser + resources.ApplyResources(Me.PostBrowser, "PostBrowser") + Me.PostBrowser.IsWebBrowserContextMenuEnabled = False + Me.PostBrowser.MinimumSize = New System.Drawing.Size(20, 20) + Me.PostBrowser.Name = "PostBrowser" + Me.PostBrowser.TabStop = False + Me.PostBrowser.WebBrowserShortcutsEnabled = False + ' + 'ContextMenuPostBrowser + ' + Me.ContextMenuPostBrowser.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.SelectionSearchContextMenuItem, Me.ToolStripSeparator13, Me.SelectionCopyContextMenuItem, Me.UrlCopyContextMenuItem, Me.SelectionAllContextMenuItem, Me.ToolStripSeparator5, Me.FollowContextMenuItem, Me.RemoveContextMenuItem, Me.FriendshipContextMenuItem, Me.FriendshipAllMenuItem, Me.ToolStripSeparator36, Me.ShowUserStatusContextMenuItem, Me.SearchPostsDetailToolStripMenuItem, Me.ToolStripSeparator32, Me.IdFilterAddMenuItem, Me.ListManageUserContextToolStripMenuItem, Me.ToolStripSeparator33, Me.UseHashtagMenuItem}) + Me.ContextMenuPostBrowser.Name = "ContextMenuStrip4" + resources.ApplyResources(Me.ContextMenuPostBrowser, "ContextMenuPostBrowser") + ' + 'SelectionSearchContextMenuItem + ' + Me.SelectionSearchContextMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.SearchGoogleContextMenuItem, Me.SearchWikipediaContextMenuItem, Me.SearchYatsContextMenuItem, Me.SearchPublicSearchContextMenuItem, Me.CurrentTabToolStripMenuItem}) + Me.SelectionSearchContextMenuItem.Name = "SelectionSearchContextMenuItem" + resources.ApplyResources(Me.SelectionSearchContextMenuItem, "SelectionSearchContextMenuItem") + ' + 'SearchGoogleContextMenuItem + ' + Me.SearchGoogleContextMenuItem.Name = "SearchGoogleContextMenuItem" + resources.ApplyResources(Me.SearchGoogleContextMenuItem, "SearchGoogleContextMenuItem") + ' + 'SearchWikipediaContextMenuItem + ' + Me.SearchWikipediaContextMenuItem.Name = "SearchWikipediaContextMenuItem" + resources.ApplyResources(Me.SearchWikipediaContextMenuItem, "SearchWikipediaContextMenuItem") + ' + 'SearchYatsContextMenuItem + ' + Me.SearchYatsContextMenuItem.Name = "SearchYatsContextMenuItem" + resources.ApplyResources(Me.SearchYatsContextMenuItem, "SearchYatsContextMenuItem") + ' + 'SearchPublicSearchContextMenuItem + ' + Me.SearchPublicSearchContextMenuItem.Name = "SearchPublicSearchContextMenuItem" + resources.ApplyResources(Me.SearchPublicSearchContextMenuItem, "SearchPublicSearchContextMenuItem") + ' + 'CurrentTabToolStripMenuItem + ' + Me.CurrentTabToolStripMenuItem.Name = "CurrentTabToolStripMenuItem" + resources.ApplyResources(Me.CurrentTabToolStripMenuItem, "CurrentTabToolStripMenuItem") + ' + 'ToolStripSeparator13 + ' + Me.ToolStripSeparator13.Name = "ToolStripSeparator13" + resources.ApplyResources(Me.ToolStripSeparator13, "ToolStripSeparator13") + ' + 'SelectionCopyContextMenuItem + ' + Me.SelectionCopyContextMenuItem.Name = "SelectionCopyContextMenuItem" + resources.ApplyResources(Me.SelectionCopyContextMenuItem, "SelectionCopyContextMenuItem") + ' + 'UrlCopyContextMenuItem + ' + resources.ApplyResources(Me.UrlCopyContextMenuItem, "UrlCopyContextMenuItem") + Me.UrlCopyContextMenuItem.Name = "UrlCopyContextMenuItem" + ' + 'SelectionAllContextMenuItem + ' + Me.SelectionAllContextMenuItem.Name = "SelectionAllContextMenuItem" + resources.ApplyResources(Me.SelectionAllContextMenuItem, "SelectionAllContextMenuItem") + ' + 'ToolStripSeparator5 + ' + Me.ToolStripSeparator5.Name = "ToolStripSeparator5" + resources.ApplyResources(Me.ToolStripSeparator5, "ToolStripSeparator5") + ' + 'FollowContextMenuItem + ' + Me.FollowContextMenuItem.Name = "FollowContextMenuItem" + resources.ApplyResources(Me.FollowContextMenuItem, "FollowContextMenuItem") + ' + 'RemoveContextMenuItem + ' + Me.RemoveContextMenuItem.Name = "RemoveContextMenuItem" + resources.ApplyResources(Me.RemoveContextMenuItem, "RemoveContextMenuItem") + ' + 'FriendshipContextMenuItem + ' + Me.FriendshipContextMenuItem.Name = "FriendshipContextMenuItem" + resources.ApplyResources(Me.FriendshipContextMenuItem, "FriendshipContextMenuItem") + ' + 'FriendshipAllMenuItem + ' + Me.FriendshipAllMenuItem.Name = "FriendshipAllMenuItem" + resources.ApplyResources(Me.FriendshipAllMenuItem, "FriendshipAllMenuItem") + ' + 'ToolStripSeparator36 + ' + Me.ToolStripSeparator36.Name = "ToolStripSeparator36" + resources.ApplyResources(Me.ToolStripSeparator36, "ToolStripSeparator36") + ' + 'ShowUserStatusContextMenuItem + ' + Me.ShowUserStatusContextMenuItem.Name = "ShowUserStatusContextMenuItem" + resources.ApplyResources(Me.ShowUserStatusContextMenuItem, "ShowUserStatusContextMenuItem") + ' + 'SearchPostsDetailToolStripMenuItem + ' + Me.SearchPostsDetailToolStripMenuItem.Name = "SearchPostsDetailToolStripMenuItem" + resources.ApplyResources(Me.SearchPostsDetailToolStripMenuItem, "SearchPostsDetailToolStripMenuItem") + ' + 'ToolStripSeparator32 + ' + Me.ToolStripSeparator32.Name = "ToolStripSeparator32" + resources.ApplyResources(Me.ToolStripSeparator32, "ToolStripSeparator32") + ' + 'IdFilterAddMenuItem + ' + Me.IdFilterAddMenuItem.Name = "IdFilterAddMenuItem" + resources.ApplyResources(Me.IdFilterAddMenuItem, "IdFilterAddMenuItem") + ' + 'ListManageUserContextToolStripMenuItem + ' + Me.ListManageUserContextToolStripMenuItem.Name = "ListManageUserContextToolStripMenuItem" + resources.ApplyResources(Me.ListManageUserContextToolStripMenuItem, "ListManageUserContextToolStripMenuItem") + ' + 'ToolStripSeparator33 + ' + Me.ToolStripSeparator33.Name = "ToolStripSeparator33" + resources.ApplyResources(Me.ToolStripSeparator33, "ToolStripSeparator33") + ' + 'UseHashtagMenuItem + ' + Me.UseHashtagMenuItem.Name = "UseHashtagMenuItem" + resources.ApplyResources(Me.UseHashtagMenuItem, "UseHashtagMenuItem") + ' + 'DateTimeLabel + ' + resources.ApplyResources(Me.DateTimeLabel, "DateTimeLabel") + Me.DateTimeLabel.AutoEllipsis = True + Me.DateTimeLabel.Name = "DateTimeLabel" + ' + 'SourceLinkLabel + ' + resources.ApplyResources(Me.SourceLinkLabel, "SourceLinkLabel") + Me.SourceLinkLabel.AutoEllipsis = True + Me.SourceLinkLabel.MaximumSize = New System.Drawing.Size(130, 0) + Me.SourceLinkLabel.Name = "SourceLinkLabel" + Me.SourceLinkLabel.TabStop = True + ' + 'StatusText + ' + resources.ApplyResources(Me.StatusText, "StatusText") + Me.StatusText.Name = "StatusText" + ' + 'lblLen + ' + resources.ApplyResources(Me.lblLen, "lblLen") + Me.lblLen.Name = "lblLen" + ' + 'PostButton + ' + resources.ApplyResources(Me.PostButton, "PostButton") + Me.PostButton.Name = "PostButton" + Me.PostButton.TabStop = False + Me.PostButton.UseVisualStyleBackColor = True + ' + 'PreviewPicture + ' + resources.ApplyResources(Me.PreviewPicture, "PreviewPicture") + Me.PreviewPicture.Name = "PreviewPicture" + Me.PreviewPicture.TabStop = False + ' + 'PreviewScrollBar + ' + resources.ApplyResources(Me.PreviewScrollBar, "PreviewScrollBar") + Me.PreviewScrollBar.LargeChange = 1 + Me.PreviewScrollBar.Maximum = 0 + Me.PreviewScrollBar.Name = "PreviewScrollBar" + ' + 'MenuStrip1 + ' + resources.ApplyResources(Me.MenuStrip1, "MenuStrip1") + Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.MenuItemFile, Me.MenuItemEdit, Me.MenuItemOperate, Me.MenuItemTab, Me.MenuItemCommand, Me.MenuItemHelp}) + Me.MenuStrip1.Name = "MenuStrip1" + Me.MenuStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional + ' + 'MenuItemFile + ' + Me.MenuItemFile.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.SettingFileMenuItem, Me.ToolStripSeparator21, Me.SaveFileMenuItem, Me.ToolStripSeparator23, Me.NotifyFileMenuItem, Me.PlaySoundFileMenuItem, Me.LockListFileMenuItem, Me.ToolStripSeparator24, Me.EndFileMenuItem}) + Me.MenuItemFile.Name = "MenuItemFile" + resources.ApplyResources(Me.MenuItemFile, "MenuItemFile") + ' + 'SettingFileMenuItem + ' + Me.SettingFileMenuItem.Name = "SettingFileMenuItem" + resources.ApplyResources(Me.SettingFileMenuItem, "SettingFileMenuItem") + ' + 'ToolStripSeparator21 + ' + Me.ToolStripSeparator21.Name = "ToolStripSeparator21" + resources.ApplyResources(Me.ToolStripSeparator21, "ToolStripSeparator21") + ' + 'SaveFileMenuItem + ' + Me.SaveFileMenuItem.Name = "SaveFileMenuItem" + resources.ApplyResources(Me.SaveFileMenuItem, "SaveFileMenuItem") + ' + 'ToolStripSeparator23 + ' + Me.ToolStripSeparator23.Name = "ToolStripSeparator23" + resources.ApplyResources(Me.ToolStripSeparator23, "ToolStripSeparator23") + ' + 'NotifyFileMenuItem + ' + Me.NotifyFileMenuItem.CheckOnClick = True + Me.NotifyFileMenuItem.Name = "NotifyFileMenuItem" + resources.ApplyResources(Me.NotifyFileMenuItem, "NotifyFileMenuItem") + ' + 'PlaySoundFileMenuItem + ' + Me.PlaySoundFileMenuItem.CheckOnClick = True + Me.PlaySoundFileMenuItem.Name = "PlaySoundFileMenuItem" + resources.ApplyResources(Me.PlaySoundFileMenuItem, "PlaySoundFileMenuItem") + ' + 'LockListFileMenuItem + ' + Me.LockListFileMenuItem.CheckOnClick = True + Me.LockListFileMenuItem.Name = "LockListFileMenuItem" + resources.ApplyResources(Me.LockListFileMenuItem, "LockListFileMenuItem") + ' + 'ToolStripSeparator24 + ' + Me.ToolStripSeparator24.Name = "ToolStripSeparator24" + resources.ApplyResources(Me.ToolStripSeparator24, "ToolStripSeparator24") + ' + 'EndFileMenuItem + ' + Me.EndFileMenuItem.Name = "EndFileMenuItem" + resources.ApplyResources(Me.EndFileMenuItem, "EndFileMenuItem") + ' + 'MenuItemEdit + ' + Me.MenuItemEdit.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.UndoRemoveTabMenuItem, Me.ToolStripSeparator12, Me.CopySTOTMenuItem, Me.CopyURLMenuItem, Me.CopyUserIdStripMenuItem, Me.ToolStripSeparator6, Me.MenuItemSubSearch, Me.MenuItemSearchNext, Me.MenuItemSearchPrev, Me.ToolStripSeparator22, Me.PublicSearchQueryMenuItem}) + Me.MenuItemEdit.Name = "MenuItemEdit" + resources.ApplyResources(Me.MenuItemEdit, "MenuItemEdit") + ' + 'UndoRemoveTabMenuItem + ' + Me.UndoRemoveTabMenuItem.Name = "UndoRemoveTabMenuItem" + resources.ApplyResources(Me.UndoRemoveTabMenuItem, "UndoRemoveTabMenuItem") + ' + 'ToolStripSeparator12 + ' + Me.ToolStripSeparator12.Name = "ToolStripSeparator12" + resources.ApplyResources(Me.ToolStripSeparator12, "ToolStripSeparator12") + ' + 'CopySTOTMenuItem + ' + Me.CopySTOTMenuItem.Name = "CopySTOTMenuItem" + resources.ApplyResources(Me.CopySTOTMenuItem, "CopySTOTMenuItem") + ' + 'CopyURLMenuItem + ' + Me.CopyURLMenuItem.Name = "CopyURLMenuItem" + resources.ApplyResources(Me.CopyURLMenuItem, "CopyURLMenuItem") + ' + 'CopyUserIdStripMenuItem + ' + Me.CopyUserIdStripMenuItem.Name = "CopyUserIdStripMenuItem" + resources.ApplyResources(Me.CopyUserIdStripMenuItem, "CopyUserIdStripMenuItem") + ' + 'ToolStripSeparator6 + ' + Me.ToolStripSeparator6.Name = "ToolStripSeparator6" + resources.ApplyResources(Me.ToolStripSeparator6, "ToolStripSeparator6") + ' + 'MenuItemSubSearch + ' + Me.MenuItemSubSearch.Name = "MenuItemSubSearch" + resources.ApplyResources(Me.MenuItemSubSearch, "MenuItemSubSearch") + ' + 'MenuItemSearchNext + ' + Me.MenuItemSearchNext.Name = "MenuItemSearchNext" + resources.ApplyResources(Me.MenuItemSearchNext, "MenuItemSearchNext") + ' + 'MenuItemSearchPrev + ' + Me.MenuItemSearchPrev.Name = "MenuItemSearchPrev" + resources.ApplyResources(Me.MenuItemSearchPrev, "MenuItemSearchPrev") + ' + 'ToolStripSeparator22 + ' + Me.ToolStripSeparator22.Name = "ToolStripSeparator22" + resources.ApplyResources(Me.ToolStripSeparator22, "ToolStripSeparator22") + ' + 'PublicSearchQueryMenuItem + ' + Me.PublicSearchQueryMenuItem.Name = "PublicSearchQueryMenuItem" + resources.ApplyResources(Me.PublicSearchQueryMenuItem, "PublicSearchQueryMenuItem") + ' + '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.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.Name = "MenuItemOperate" + resources.ApplyResources(Me.MenuItemOperate, "MenuItemOperate") + ' + 'ReplyOpMenuItem + ' + Me.ReplyOpMenuItem.Name = "ReplyOpMenuItem" + resources.ApplyResources(Me.ReplyOpMenuItem, "ReplyOpMenuItem") + ' + 'ReplyAllOpMenuItem + ' + Me.ReplyAllOpMenuItem.Name = "ReplyAllOpMenuItem" + resources.ApplyResources(Me.ReplyAllOpMenuItem, "ReplyAllOpMenuItem") + ' + 'DmOpMenuItem + ' + Me.DmOpMenuItem.Name = "DmOpMenuItem" + resources.ApplyResources(Me.DmOpMenuItem, "DmOpMenuItem") + ' + 'RtOpMenuItem + ' + Me.RtOpMenuItem.Name = "RtOpMenuItem" + resources.ApplyResources(Me.RtOpMenuItem, "RtOpMenuItem") + ' + 'RtUnOpMenuItem + ' + Me.RtUnOpMenuItem.Name = "RtUnOpMenuItem" + resources.ApplyResources(Me.RtUnOpMenuItem, "RtUnOpMenuItem") + ' + 'QtOpMenuItem + ' + Me.QtOpMenuItem.Name = "QtOpMenuItem" + resources.ApplyResources(Me.QtOpMenuItem, "QtOpMenuItem") + ' + 'ToolStripSeparator25 + ' + Me.ToolStripSeparator25.Name = "ToolStripSeparator25" + resources.ApplyResources(Me.ToolStripSeparator25, "ToolStripSeparator25") + ' + 'FavOpMenuItem + ' + Me.FavOpMenuItem.Name = "FavOpMenuItem" + resources.ApplyResources(Me.FavOpMenuItem, "FavOpMenuItem") + ' + 'UnFavOpMenuItem + ' + Me.UnFavOpMenuItem.Name = "UnFavOpMenuItem" + resources.ApplyResources(Me.UnFavOpMenuItem, "UnFavOpMenuItem") + ' + 'ShowProfMenuItem + ' + Me.ShowProfMenuItem.Name = "ShowProfMenuItem" + resources.ApplyResources(Me.ShowProfMenuItem, "ShowProfMenuItem") + ' + 'OpenOpMenuItem + ' + Me.OpenOpMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.OpenHomeOpMenuItem, Me.OpenFavOpMenuItem, Me.OpenStatusOpMenuItem, Me.OpenRepSourceOpMenuItem, Me.OpenFavotterOpMenuItem, Me.OpenUrlOpMenuItem, Me.OpenRterHomeMenuItem}) + Me.OpenOpMenuItem.Name = "OpenOpMenuItem" + resources.ApplyResources(Me.OpenOpMenuItem, "OpenOpMenuItem") + ' + 'OpenHomeOpMenuItem + ' + Me.OpenHomeOpMenuItem.Name = "OpenHomeOpMenuItem" + resources.ApplyResources(Me.OpenHomeOpMenuItem, "OpenHomeOpMenuItem") + ' + 'OpenFavOpMenuItem + ' + Me.OpenFavOpMenuItem.Name = "OpenFavOpMenuItem" + resources.ApplyResources(Me.OpenFavOpMenuItem, "OpenFavOpMenuItem") + ' + 'OpenStatusOpMenuItem + ' + Me.OpenStatusOpMenuItem.Name = "OpenStatusOpMenuItem" + resources.ApplyResources(Me.OpenStatusOpMenuItem, "OpenStatusOpMenuItem") + ' + 'OpenRepSourceOpMenuItem + ' + Me.OpenRepSourceOpMenuItem.Name = "OpenRepSourceOpMenuItem" + resources.ApplyResources(Me.OpenRepSourceOpMenuItem, "OpenRepSourceOpMenuItem") + ' + 'OpenFavotterOpMenuItem + ' + Me.OpenFavotterOpMenuItem.Name = "OpenFavotterOpMenuItem" + resources.ApplyResources(Me.OpenFavotterOpMenuItem, "OpenFavotterOpMenuItem") + ' + 'OpenUrlOpMenuItem + ' + Me.OpenUrlOpMenuItem.Name = "OpenUrlOpMenuItem" + resources.ApplyResources(Me.OpenUrlOpMenuItem, "OpenUrlOpMenuItem") + ' + 'OpenRterHomeMenuItem + ' + Me.OpenRterHomeMenuItem.Name = "OpenRterHomeMenuItem" + resources.ApplyResources(Me.OpenRterHomeMenuItem, "OpenRterHomeMenuItem") + ' + 'CreateRuleOpMenuItem + ' + Me.CreateRuleOpMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.CreateTabRuleOpMenuItem, Me.CreateIdRuleOpMenuItem}) + Me.CreateRuleOpMenuItem.Name = "CreateRuleOpMenuItem" + resources.ApplyResources(Me.CreateRuleOpMenuItem, "CreateRuleOpMenuItem") + ' + 'CreateTabRuleOpMenuItem + ' + Me.CreateTabRuleOpMenuItem.Name = "CreateTabRuleOpMenuItem" + resources.ApplyResources(Me.CreateTabRuleOpMenuItem, "CreateTabRuleOpMenuItem") + ' + 'CreateIdRuleOpMenuItem + ' + Me.CreateIdRuleOpMenuItem.Name = "CreateIdRuleOpMenuItem" + resources.ApplyResources(Me.CreateIdRuleOpMenuItem, "CreateIdRuleOpMenuItem") + ' + 'ToolStripMenuItem9 + ' + Me.ToolStripMenuItem9.Name = "ToolStripMenuItem9" + resources.ApplyResources(Me.ToolStripMenuItem9, "ToolStripMenuItem9") + ' + 'ToolStripSeparator26 + ' + Me.ToolStripSeparator26.Name = "ToolStripSeparator26" + resources.ApplyResources(Me.ToolStripSeparator26, "ToolStripSeparator26") + ' + 'ChangeReadOpMenuItem + ' + Me.ChangeReadOpMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ReadOpMenuItem, Me.UnreadOpMenuItem}) + Me.ChangeReadOpMenuItem.Name = "ChangeReadOpMenuItem" + resources.ApplyResources(Me.ChangeReadOpMenuItem, "ChangeReadOpMenuItem") + ' + 'ReadOpMenuItem + ' + Me.ReadOpMenuItem.Name = "ReadOpMenuItem" + resources.ApplyResources(Me.ReadOpMenuItem, "ReadOpMenuItem") + ' + 'UnreadOpMenuItem + ' + Me.UnreadOpMenuItem.Name = "UnreadOpMenuItem" + resources.ApplyResources(Me.UnreadOpMenuItem, "UnreadOpMenuItem") + ' + 'JumpReadOpMenuItem + ' + Me.JumpReadOpMenuItem.Name = "JumpReadOpMenuItem" + resources.ApplyResources(Me.JumpReadOpMenuItem, "JumpReadOpMenuItem") + ' + 'ToolStripSeparator27 + ' + Me.ToolStripSeparator27.Name = "ToolStripSeparator27" + resources.ApplyResources(Me.ToolStripSeparator27, "ToolStripSeparator27") + ' + 'SelAllOpMenuItem + ' + Me.SelAllOpMenuItem.Name = "SelAllOpMenuItem" + resources.ApplyResources(Me.SelAllOpMenuItem, "SelAllOpMenuItem") + ' + 'DelOpMenuItem + ' + Me.DelOpMenuItem.Name = "DelOpMenuItem" + resources.ApplyResources(Me.DelOpMenuItem, "DelOpMenuItem") + ' + 'RefreshOpMenuItem + ' + Me.RefreshOpMenuItem.Name = "RefreshOpMenuItem" + resources.ApplyResources(Me.RefreshOpMenuItem, "RefreshOpMenuItem") + ' + 'RefreshPrevOpMenuItem + ' + Me.RefreshPrevOpMenuItem.Name = "RefreshPrevOpMenuItem" + resources.ApplyResources(Me.RefreshPrevOpMenuItem, "RefreshPrevOpMenuItem") + ' + 'MenuItemTab + ' + Me.MenuItemTab.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.CreateTbMenuItem, Me.RenameTbMenuItem, Me.ToolStripSeparator28, Me.UnreadMngTbMenuItem, Me.NotifyTbMenuItem, Me.SoundFileTbComboBox, Me.ToolStripSeparator29, Me.EditRuleTbMenuItem, Me.ToolStripSeparator30, Me.ClearTbMenuItem, Me.ToolStripSeparator31, Me.DeleteTbMenuItem}) + Me.MenuItemTab.Name = "MenuItemTab" + resources.ApplyResources(Me.MenuItemTab, "MenuItemTab") + ' + 'CreateTbMenuItem + ' + Me.CreateTbMenuItem.Name = "CreateTbMenuItem" + resources.ApplyResources(Me.CreateTbMenuItem, "CreateTbMenuItem") + ' + 'RenameTbMenuItem + ' + Me.RenameTbMenuItem.Name = "RenameTbMenuItem" + resources.ApplyResources(Me.RenameTbMenuItem, "RenameTbMenuItem") + ' + 'ToolStripSeparator28 + ' + Me.ToolStripSeparator28.Name = "ToolStripSeparator28" + resources.ApplyResources(Me.ToolStripSeparator28, "ToolStripSeparator28") + ' + 'UnreadMngTbMenuItem + ' + Me.UnreadMngTbMenuItem.CheckOnClick = True + Me.UnreadMngTbMenuItem.Name = "UnreadMngTbMenuItem" + resources.ApplyResources(Me.UnreadMngTbMenuItem, "UnreadMngTbMenuItem") + ' + 'NotifyTbMenuItem + ' + Me.NotifyTbMenuItem.CheckOnClick = True + Me.NotifyTbMenuItem.Name = "NotifyTbMenuItem" + resources.ApplyResources(Me.NotifyTbMenuItem, "NotifyTbMenuItem") + ' + 'SoundFileTbComboBox + ' + Me.SoundFileTbComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList + Me.SoundFileTbComboBox.Name = "SoundFileTbComboBox" + resources.ApplyResources(Me.SoundFileTbComboBox, "SoundFileTbComboBox") + ' + 'ToolStripSeparator29 + ' + Me.ToolStripSeparator29.Name = "ToolStripSeparator29" + resources.ApplyResources(Me.ToolStripSeparator29, "ToolStripSeparator29") + ' + 'EditRuleTbMenuItem + ' + Me.EditRuleTbMenuItem.Name = "EditRuleTbMenuItem" + resources.ApplyResources(Me.EditRuleTbMenuItem, "EditRuleTbMenuItem") + ' + 'ToolStripSeparator30 + ' + Me.ToolStripSeparator30.Name = "ToolStripSeparator30" + resources.ApplyResources(Me.ToolStripSeparator30, "ToolStripSeparator30") + ' + 'ClearTbMenuItem + ' + Me.ClearTbMenuItem.Name = "ClearTbMenuItem" + resources.ApplyResources(Me.ClearTbMenuItem, "ClearTbMenuItem") + ' + 'ToolStripSeparator31 + ' + Me.ToolStripSeparator31.Name = "ToolStripSeparator31" + resources.ApplyResources(Me.ToolStripSeparator31, "ToolStripSeparator31") + ' + 'DeleteTbMenuItem + ' + Me.DeleteTbMenuItem.Name = "DeleteTbMenuItem" + resources.ApplyResources(Me.DeleteTbMenuItem, "DeleteTbMenuItem") + ' + 'MenuItemCommand + ' + Me.MenuItemCommand.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TinyUrlConvertToolStripMenuItem, Me.UpdateFollowersMenuItem1, Me.ToolStripSeparator1, Me.FollowCommandMenuItem, Me.RemoveCommandMenuItem, Me.FriendshipMenuItem, Me.ToolStripSeparator3, Me.OwnStatusMenuItem, Me.UserStatusToolStripMenuItem, Me.ToolStripSeparator34, Me.HashToggleToolStripMenuItem, Me.HashManageToolStripMenuItem, Me.RtCountMenuItem, Me.ListManageToolStripMenuItem}) + Me.MenuItemCommand.Name = "MenuItemCommand" + resources.ApplyResources(Me.MenuItemCommand, "MenuItemCommand") + ' + 'TinyUrlConvertToolStripMenuItem + ' + Me.TinyUrlConvertToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.UrlConvertAutoToolStripMenuItem, Me.UrlUndoToolStripMenuItem, Me.TinyURLToolStripMenuItem, Me.IsgdToolStripMenuItem, Me.TwurlnlToolStripMenuItem, Me.BitlyToolStripMenuItem, Me.JmpStripMenuItem}) + Me.TinyUrlConvertToolStripMenuItem.Name = "TinyUrlConvertToolStripMenuItem" + resources.ApplyResources(Me.TinyUrlConvertToolStripMenuItem, "TinyUrlConvertToolStripMenuItem") + ' + 'UrlConvertAutoToolStripMenuItem + ' + Me.UrlConvertAutoToolStripMenuItem.Name = "UrlConvertAutoToolStripMenuItem" + resources.ApplyResources(Me.UrlConvertAutoToolStripMenuItem, "UrlConvertAutoToolStripMenuItem") + ' + 'UrlUndoToolStripMenuItem + ' + resources.ApplyResources(Me.UrlUndoToolStripMenuItem, "UrlUndoToolStripMenuItem") + Me.UrlUndoToolStripMenuItem.Name = "UrlUndoToolStripMenuItem" + ' + 'TinyURLToolStripMenuItem + ' + Me.TinyURLToolStripMenuItem.Name = "TinyURLToolStripMenuItem" + resources.ApplyResources(Me.TinyURLToolStripMenuItem, "TinyURLToolStripMenuItem") + ' + 'IsgdToolStripMenuItem + ' + Me.IsgdToolStripMenuItem.Name = "IsgdToolStripMenuItem" + resources.ApplyResources(Me.IsgdToolStripMenuItem, "IsgdToolStripMenuItem") + ' + 'TwurlnlToolStripMenuItem + ' + Me.TwurlnlToolStripMenuItem.Name = "TwurlnlToolStripMenuItem" + resources.ApplyResources(Me.TwurlnlToolStripMenuItem, "TwurlnlToolStripMenuItem") + ' + 'BitlyToolStripMenuItem + ' + Me.BitlyToolStripMenuItem.Name = "BitlyToolStripMenuItem" + resources.ApplyResources(Me.BitlyToolStripMenuItem, "BitlyToolStripMenuItem") + ' + 'JmpStripMenuItem + ' + Me.JmpStripMenuItem.Name = "JmpStripMenuItem" + resources.ApplyResources(Me.JmpStripMenuItem, "JmpStripMenuItem") + ' + 'UpdateFollowersMenuItem1 + ' + Me.UpdateFollowersMenuItem1.Name = "UpdateFollowersMenuItem1" + resources.ApplyResources(Me.UpdateFollowersMenuItem1, "UpdateFollowersMenuItem1") + ' + 'ToolStripSeparator1 + ' + Me.ToolStripSeparator1.Name = "ToolStripSeparator1" + resources.ApplyResources(Me.ToolStripSeparator1, "ToolStripSeparator1") + ' + 'FollowCommandMenuItem + ' + Me.FollowCommandMenuItem.Name = "FollowCommandMenuItem" + resources.ApplyResources(Me.FollowCommandMenuItem, "FollowCommandMenuItem") + ' + 'RemoveCommandMenuItem + ' + Me.RemoveCommandMenuItem.Name = "RemoveCommandMenuItem" + resources.ApplyResources(Me.RemoveCommandMenuItem, "RemoveCommandMenuItem") + ' + 'FriendshipMenuItem + ' + Me.FriendshipMenuItem.Name = "FriendshipMenuItem" + resources.ApplyResources(Me.FriendshipMenuItem, "FriendshipMenuItem") + ' + 'ToolStripSeparator3 + ' + Me.ToolStripSeparator3.Name = "ToolStripSeparator3" + resources.ApplyResources(Me.ToolStripSeparator3, "ToolStripSeparator3") + ' + 'OwnStatusMenuItem + ' + Me.OwnStatusMenuItem.Name = "OwnStatusMenuItem" + resources.ApplyResources(Me.OwnStatusMenuItem, "OwnStatusMenuItem") + ' + 'UserStatusToolStripMenuItem + ' + Me.UserStatusToolStripMenuItem.Name = "UserStatusToolStripMenuItem" + resources.ApplyResources(Me.UserStatusToolStripMenuItem, "UserStatusToolStripMenuItem") + ' + 'ToolStripSeparator34 + ' + Me.ToolStripSeparator34.Name = "ToolStripSeparator34" + resources.ApplyResources(Me.ToolStripSeparator34, "ToolStripSeparator34") + ' + 'HashToggleToolStripMenuItem + ' + Me.HashToggleToolStripMenuItem.CheckOnClick = True + Me.HashToggleToolStripMenuItem.Name = "HashToggleToolStripMenuItem" + resources.ApplyResources(Me.HashToggleToolStripMenuItem, "HashToggleToolStripMenuItem") + ' + 'HashManageToolStripMenuItem + ' + Me.HashManageToolStripMenuItem.Name = "HashManageToolStripMenuItem" + resources.ApplyResources(Me.HashManageToolStripMenuItem, "HashManageToolStripMenuItem") + ' + 'RtCountMenuItem + ' + Me.RtCountMenuItem.Name = "RtCountMenuItem" + resources.ApplyResources(Me.RtCountMenuItem, "RtCountMenuItem") + ' + 'ListManageToolStripMenuItem + ' + Me.ListManageToolStripMenuItem.Name = "ListManageToolStripMenuItem" + resources.ApplyResources(Me.ListManageToolStripMenuItem, "ListManageToolStripMenuItem") + ' + 'MenuItemHelp + ' + Me.MenuItemHelp.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.MatomeMenuItem, Me.ShortcutKeyListMenuItem, Me.ToolStripSeparator16, Me.VerUpMenuItem, Me.ToolStripSeparator14, Me.ApiInfoMenuItem, Me.ToolStripSeparator7, Me.AboutMenuItem, Me.DebugModeToolStripMenuItem}) + Me.MenuItemHelp.Name = "MenuItemHelp" + resources.ApplyResources(Me.MenuItemHelp, "MenuItemHelp") + ' + 'MatomeMenuItem + ' + Me.MatomeMenuItem.Name = "MatomeMenuItem" + resources.ApplyResources(Me.MatomeMenuItem, "MatomeMenuItem") + ' + 'ShortcutKeyListMenuItem + ' + Me.ShortcutKeyListMenuItem.Name = "ShortcutKeyListMenuItem" + resources.ApplyResources(Me.ShortcutKeyListMenuItem, "ShortcutKeyListMenuItem") + ' + 'ToolStripSeparator16 + ' + Me.ToolStripSeparator16.Name = "ToolStripSeparator16" + resources.ApplyResources(Me.ToolStripSeparator16, "ToolStripSeparator16") + ' + 'VerUpMenuItem + ' + Me.VerUpMenuItem.Name = "VerUpMenuItem" + resources.ApplyResources(Me.VerUpMenuItem, "VerUpMenuItem") + ' + 'ToolStripSeparator14 + ' + Me.ToolStripSeparator14.Name = "ToolStripSeparator14" + resources.ApplyResources(Me.ToolStripSeparator14, "ToolStripSeparator14") + ' + 'ApiInfoMenuItem + ' + Me.ApiInfoMenuItem.Name = "ApiInfoMenuItem" + resources.ApplyResources(Me.ApiInfoMenuItem, "ApiInfoMenuItem") + ' + 'ToolStripSeparator7 + ' + Me.ToolStripSeparator7.Name = "ToolStripSeparator7" + resources.ApplyResources(Me.ToolStripSeparator7, "ToolStripSeparator7") + ' + 'AboutMenuItem + ' + Me.AboutMenuItem.Name = "AboutMenuItem" + resources.ApplyResources(Me.AboutMenuItem, "AboutMenuItem") + ' + 'DebugModeToolStripMenuItem + ' + Me.DebugModeToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DumpPostClassToolStripMenuItem, Me.TraceOutToolStripMenuItem}) + Me.DebugModeToolStripMenuItem.Name = "DebugModeToolStripMenuItem" + resources.ApplyResources(Me.DebugModeToolStripMenuItem, "DebugModeToolStripMenuItem") + ' + 'DumpPostClassToolStripMenuItem + ' + Me.DumpPostClassToolStripMenuItem.CheckOnClick = True + Me.DumpPostClassToolStripMenuItem.Name = "DumpPostClassToolStripMenuItem" + resources.ApplyResources(Me.DumpPostClassToolStripMenuItem, "DumpPostClassToolStripMenuItem") + ' + 'TraceOutToolStripMenuItem + ' + Me.TraceOutToolStripMenuItem.CheckOnClick = True + Me.TraceOutToolStripMenuItem.Name = "TraceOutToolStripMenuItem" + resources.ApplyResources(Me.TraceOutToolStripMenuItem, "TraceOutToolStripMenuItem") + ' + 'ContextMenuOperate + ' + Me.ContextMenuOperate.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ReplyStripMenuItem, Me.ReplyAllStripMenuItem, Me.DMStripMenuItem, Me.ReTweetOriginalStripMenuItem, Me.ReTweetStripMenuItem, Me.QuoteStripMenuItem, 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.Name = "ContextMenuStrip2" + Me.ContextMenuOperate.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional + resources.ApplyResources(Me.ContextMenuOperate, "ContextMenuOperate") + ' + 'ReplyStripMenuItem + ' + Me.ReplyStripMenuItem.Name = "ReplyStripMenuItem" + resources.ApplyResources(Me.ReplyStripMenuItem, "ReplyStripMenuItem") + ' + 'ReplyAllStripMenuItem + ' + Me.ReplyAllStripMenuItem.Name = "ReplyAllStripMenuItem" + resources.ApplyResources(Me.ReplyAllStripMenuItem, "ReplyAllStripMenuItem") + ' + 'DMStripMenuItem + ' + Me.DMStripMenuItem.Name = "DMStripMenuItem" + resources.ApplyResources(Me.DMStripMenuItem, "DMStripMenuItem") + ' + 'ReTweetOriginalStripMenuItem + ' + Me.ReTweetOriginalStripMenuItem.Name = "ReTweetOriginalStripMenuItem" + resources.ApplyResources(Me.ReTweetOriginalStripMenuItem, "ReTweetOriginalStripMenuItem") + ' + 'ReTweetStripMenuItem + ' + Me.ReTweetStripMenuItem.Name = "ReTweetStripMenuItem" + resources.ApplyResources(Me.ReTweetStripMenuItem, "ReTweetStripMenuItem") + ' + 'QuoteStripMenuItem + ' + Me.QuoteStripMenuItem.Name = "QuoteStripMenuItem" + resources.ApplyResources(Me.QuoteStripMenuItem, "QuoteStripMenuItem") + ' + 'ToolStripSeparator2 + ' + Me.ToolStripSeparator2.Name = "ToolStripSeparator2" + resources.ApplyResources(Me.ToolStripSeparator2, "ToolStripSeparator2") + ' + 'FavAddToolStripMenuItem + ' + Me.FavAddToolStripMenuItem.Name = "FavAddToolStripMenuItem" + resources.ApplyResources(Me.FavAddToolStripMenuItem, "FavAddToolStripMenuItem") + ' + 'FavRemoveToolStripMenuItem + ' + Me.FavRemoveToolStripMenuItem.Name = "FavRemoveToolStripMenuItem" + resources.ApplyResources(Me.FavRemoveToolStripMenuItem, "FavRemoveToolStripMenuItem") + ' + 'ShowProfileMenuItem + ' + Me.ShowProfileMenuItem.Name = "ShowProfileMenuItem" + resources.ApplyResources(Me.ShowProfileMenuItem, "ShowProfileMenuItem") + ' + 'ToolStripMenuItem6 + ' + Me.ToolStripMenuItem6.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.MoveToHomeToolStripMenuItem, Me.MoveToFavToolStripMenuItem, Me.StatusOpenMenuItem, Me.RepliedStatusOpenMenuItem, Me.FavorareMenuItem, Me.OpenURLMenuItem, Me.MoveToRTHomeMenuItem}) + Me.ToolStripMenuItem6.Name = "ToolStripMenuItem6" + resources.ApplyResources(Me.ToolStripMenuItem6, "ToolStripMenuItem6") + ' + 'MoveToHomeToolStripMenuItem + ' + Me.MoveToHomeToolStripMenuItem.Name = "MoveToHomeToolStripMenuItem" + resources.ApplyResources(Me.MoveToHomeToolStripMenuItem, "MoveToHomeToolStripMenuItem") + ' + 'MoveToFavToolStripMenuItem + ' + Me.MoveToFavToolStripMenuItem.Name = "MoveToFavToolStripMenuItem" + resources.ApplyResources(Me.MoveToFavToolStripMenuItem, "MoveToFavToolStripMenuItem") + ' + 'StatusOpenMenuItem + ' + Me.StatusOpenMenuItem.Name = "StatusOpenMenuItem" + resources.ApplyResources(Me.StatusOpenMenuItem, "StatusOpenMenuItem") + ' + 'RepliedStatusOpenMenuItem + ' + Me.RepliedStatusOpenMenuItem.Name = "RepliedStatusOpenMenuItem" + resources.ApplyResources(Me.RepliedStatusOpenMenuItem, "RepliedStatusOpenMenuItem") + ' + 'FavorareMenuItem + ' + Me.FavorareMenuItem.Name = "FavorareMenuItem" + resources.ApplyResources(Me.FavorareMenuItem, "FavorareMenuItem") + ' + 'OpenURLMenuItem + ' + Me.OpenURLMenuItem.Name = "OpenURLMenuItem" + resources.ApplyResources(Me.OpenURLMenuItem, "OpenURLMenuItem") + ' + 'MoveToRTHomeMenuItem + ' + Me.MoveToRTHomeMenuItem.Name = "MoveToRTHomeMenuItem" + resources.ApplyResources(Me.MoveToRTHomeMenuItem, "MoveToRTHomeMenuItem") + ' + 'ToolStripMenuItem7 + ' + Me.ToolStripMenuItem7.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TabMenuItem, Me.IDRuleMenuItem}) + Me.ToolStripMenuItem7.Name = "ToolStripMenuItem7" + resources.ApplyResources(Me.ToolStripMenuItem7, "ToolStripMenuItem7") + ' + 'TabMenuItem + ' + Me.TabMenuItem.Name = "TabMenuItem" + resources.ApplyResources(Me.TabMenuItem, "TabMenuItem") + ' + 'IDRuleMenuItem + ' + Me.IDRuleMenuItem.Name = "IDRuleMenuItem" + resources.ApplyResources(Me.IDRuleMenuItem, "IDRuleMenuItem") + ' + 'ListManageUserContextToolStripMenuItem2 + ' + Me.ListManageUserContextToolStripMenuItem2.Name = "ListManageUserContextToolStripMenuItem2" + resources.ApplyResources(Me.ListManageUserContextToolStripMenuItem2, "ListManageUserContextToolStripMenuItem2") + ' + 'ToolStripSeparator4 + ' + Me.ToolStripSeparator4.Name = "ToolStripSeparator4" + resources.ApplyResources(Me.ToolStripSeparator4, "ToolStripSeparator4") + ' + 'ToolStripMenuItem11 + ' + Me.ToolStripMenuItem11.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ReadedStripMenuItem, Me.UnreadStripMenuItem}) + Me.ToolStripMenuItem11.Name = "ToolStripMenuItem11" + resources.ApplyResources(Me.ToolStripMenuItem11, "ToolStripMenuItem11") + ' + 'ReadedStripMenuItem + ' + Me.ReadedStripMenuItem.Name = "ReadedStripMenuItem" + resources.ApplyResources(Me.ReadedStripMenuItem, "ReadedStripMenuItem") + ' + 'UnreadStripMenuItem + ' + Me.UnreadStripMenuItem.Name = "UnreadStripMenuItem" + resources.ApplyResources(Me.UnreadStripMenuItem, "UnreadStripMenuItem") + ' + 'JumpUnreadMenuItem + ' + Me.JumpUnreadMenuItem.Name = "JumpUnreadMenuItem" + resources.ApplyResources(Me.JumpUnreadMenuItem, "JumpUnreadMenuItem") + ' + 'ToolStripSeparator10 + ' + Me.ToolStripSeparator10.Name = "ToolStripSeparator10" + resources.ApplyResources(Me.ToolStripSeparator10, "ToolStripSeparator10") + ' + 'SelectAllMenuItem + ' + Me.SelectAllMenuItem.Name = "SelectAllMenuItem" + resources.ApplyResources(Me.SelectAllMenuItem, "SelectAllMenuItem") + ' + 'DeleteStripMenuItem + ' + Me.DeleteStripMenuItem.Name = "DeleteStripMenuItem" + resources.ApplyResources(Me.DeleteStripMenuItem, "DeleteStripMenuItem") + ' + 'RefreshStripMenuItem + ' + Me.RefreshStripMenuItem.Name = "RefreshStripMenuItem" + resources.ApplyResources(Me.RefreshStripMenuItem, "RefreshStripMenuItem") + ' + 'RefreshMoreStripMenuItem + ' + Me.RefreshMoreStripMenuItem.Name = "RefreshMoreStripMenuItem" + resources.ApplyResources(Me.RefreshMoreStripMenuItem, "RefreshMoreStripMenuItem") + ' + 'ContextMenuFile + ' + Me.ContextMenuFile.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.SettingStripMenuItem, Me.ToolStripSeparator9, Me.SaveLogMenuItem, Me.ToolStripSeparator17, Me.NewPostPopMenuItem, Me.PlaySoundMenuItem, Me.ListLockMenuItem, Me.ToolStripSeparator15, Me.EndToolStripMenuItem}) + Me.ContextMenuFile.Name = "ContextMenuStrip1" + Me.ContextMenuFile.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional + Me.ContextMenuFile.ShowCheckMargin = True + Me.ContextMenuFile.ShowImageMargin = False + resources.ApplyResources(Me.ContextMenuFile, "ContextMenuFile") + ' + 'SettingStripMenuItem + ' + Me.SettingStripMenuItem.Name = "SettingStripMenuItem" + resources.ApplyResources(Me.SettingStripMenuItem, "SettingStripMenuItem") + ' + 'ToolStripSeparator9 + ' + Me.ToolStripSeparator9.Name = "ToolStripSeparator9" + resources.ApplyResources(Me.ToolStripSeparator9, "ToolStripSeparator9") + ' + 'SaveLogMenuItem + ' + Me.SaveLogMenuItem.Name = "SaveLogMenuItem" + resources.ApplyResources(Me.SaveLogMenuItem, "SaveLogMenuItem") + ' + 'ToolStripSeparator17 + ' + Me.ToolStripSeparator17.Name = "ToolStripSeparator17" + resources.ApplyResources(Me.ToolStripSeparator17, "ToolStripSeparator17") + ' + 'NewPostPopMenuItem + ' + Me.NewPostPopMenuItem.CheckOnClick = True + Me.NewPostPopMenuItem.Name = "NewPostPopMenuItem" + resources.ApplyResources(Me.NewPostPopMenuItem, "NewPostPopMenuItem") + ' + 'PlaySoundMenuItem + ' + Me.PlaySoundMenuItem.CheckOnClick = True + Me.PlaySoundMenuItem.Name = "PlaySoundMenuItem" + resources.ApplyResources(Me.PlaySoundMenuItem, "PlaySoundMenuItem") + ' + 'ListLockMenuItem + ' + Me.ListLockMenuItem.CheckOnClick = True + Me.ListLockMenuItem.Name = "ListLockMenuItem" + resources.ApplyResources(Me.ListLockMenuItem, "ListLockMenuItem") + ' + 'ToolStripSeparator15 + ' + Me.ToolStripSeparator15.Name = "ToolStripSeparator15" + resources.ApplyResources(Me.ToolStripSeparator15, "ToolStripSeparator15") + ' + 'EndToolStripMenuItem + ' + Me.EndToolStripMenuItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text + Me.EndToolStripMenuItem.Name = "EndToolStripMenuItem" + resources.ApplyResources(Me.EndToolStripMenuItem, "EndToolStripMenuItem") + ' + 'NotifyIcon1 + ' + Me.NotifyIcon1.ContextMenuStrip = Me.ContextMenuFile + resources.ApplyResources(Me.NotifyIcon1, "NotifyIcon1") + ' + 'TimerRefreshIcon + ' + Me.TimerRefreshIcon.Interval = 50 + ' + 'OpenFileDialog1 + ' + Me.OpenFileDialog1.FileName = "OpenFileDialog1" + ' + 'TweenMain + ' + Me.AllowDrop = True + resources.ApplyResources(Me, "$this") + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.BackColor = System.Drawing.SystemColors.Control + Me.Controls.Add(Me.ToolStripContainer1) + Me.Name = "TweenMain" + Me.ToolStripContainer1.BottomToolStripPanel.ResumeLayout(False) + Me.ToolStripContainer1.BottomToolStripPanel.PerformLayout() + Me.ToolStripContainer1.ContentPanel.ResumeLayout(False) + Me.ToolStripContainer1.TopToolStripPanel.ResumeLayout(False) + Me.ToolStripContainer1.TopToolStripPanel.PerformLayout() + Me.ToolStripContainer1.ResumeLayout(False) + Me.ToolStripContainer1.PerformLayout() + Me.StatusStrip1.ResumeLayout(False) + Me.StatusStrip1.PerformLayout() + Me.ContextMenuPostMode.ResumeLayout(False) + Me.SplitContainer1.Panel1.ResumeLayout(False) + Me.SplitContainer1.Panel2.ResumeLayout(False) + Me.SplitContainer1.ResumeLayout(False) + Me.TimelinePanel.ResumeLayout(False) + Me.ContextMenuTabProperty.ResumeLayout(False) + Me.ImageSelectionPanel.ResumeLayout(False) + CType(Me.ImageSelectedPicture, System.ComponentModel.ISupportInitialize).EndInit() + Me.ImagePathPanel.ResumeLayout(False) + Me.ImagePathPanel.PerformLayout() + Me.SplitContainer3.Panel1.ResumeLayout(False) + Me.SplitContainer3.Panel2.ResumeLayout(False) + Me.SplitContainer3.ResumeLayout(False) + Me.SplitContainer2.Panel1.ResumeLayout(False) + Me.SplitContainer2.Panel2.ResumeLayout(False) + Me.SplitContainer2.Panel2.PerformLayout() + Me.SplitContainer2.ResumeLayout(False) + Me.TableLayoutPanel1.ResumeLayout(False) + Me.TableLayoutPanel1.PerformLayout() + CType(Me.UserPicture, System.ComponentModel.ISupportInitialize).EndInit() + Me.ContextMenuUserPicture.ResumeLayout(False) + Me.ContextMenuPostBrowser.ResumeLayout(False) + CType(Me.PreviewPicture, System.ComponentModel.ISupportInitialize).EndInit() + Me.MenuStrip1.ResumeLayout(False) + Me.MenuStrip1.PerformLayout() + Me.ContextMenuOperate.ResumeLayout(False) + Me.ContextMenuFile.ResumeLayout(False) + Me.ResumeLayout(False) + + End Sub + Friend WithEvents NotifyIcon1 As System.Windows.Forms.NotifyIcon + Friend WithEvents ContextMenuFile As System.Windows.Forms.ContextMenuStrip + Friend WithEvents EndToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ContextMenuOperate As System.Windows.Forms.ContextMenuStrip + Friend WithEvents ToolStripSeparator2 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents DMStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents DeleteStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents RefreshStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents SettingStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator9 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents TabImage As System.Windows.Forms.ImageList + Friend WithEvents NewPostPopMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ListLockMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents JumpUnreadMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator15 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripSeparator4 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents SaveLogMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator17 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents SaveFileDialog1 As System.Windows.Forms.SaveFileDialog + Friend WithEvents TimerRefreshIcon As System.Windows.Forms.Timer + Friend WithEvents ContextMenuTabProperty As System.Windows.Forms.ContextMenuStrip + Friend WithEvents UreadManageMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents NotifyDispMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents SoundFileComboBox As System.Windows.Forms.ToolStripComboBox + Friend WithEvents ToolStripSeparator18 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents DeleteTabMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents FilterEditMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator19 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents AddTabMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator20 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripSeparator10 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents SelectAllMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ClearTabMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator11 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents PlaySoundMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents OpenFileDialog1 As System.Windows.Forms.OpenFileDialog + Friend WithEvents ContextMenuUserPicture As System.Windows.Forms.ContextMenuStrip + Friend WithEvents IconNameToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem1 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents SaveIconPictureToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripContainer1 As System.Windows.Forms.ToolStripContainer + Friend WithEvents SplitContainer1 As System.Windows.Forms.SplitContainer + Friend WithEvents ListTab As System.Windows.Forms.TabControl + Friend WithEvents MenuItemTab As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents MenuItemOperate As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents StatusStrip1 As System.Windows.Forms.StatusStrip + Friend WithEvents StatusLabelUrl As System.Windows.Forms.ToolStripStatusLabel + Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip + Friend WithEvents MenuItemFile As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents MenuItemEdit As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents CopySTOTMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents CopyURLMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator6 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents MenuItemSubSearch As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents MenuItemSearchNext As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents MenuItemSearchPrev As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents MenuItemCommand As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents MenuItemHelp As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents MatomeMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator16 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents VerUpMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator14 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripSeparator7 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents AboutMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents SplitContainer2 As System.Windows.Forms.SplitContainer + Friend WithEvents TableLayoutPanel1 As System.Windows.Forms.TableLayoutPanel + Friend WithEvents UserPicture As System.Windows.Forms.PictureBox + Friend WithEvents NameLabel As System.Windows.Forms.Label + Friend WithEvents DateTimeLabel As System.Windows.Forms.Label + Friend WithEvents StatusText As System.Windows.Forms.TextBox + Friend WithEvents lblLen As System.Windows.Forms.Label + Friend WithEvents PostButton As System.Windows.Forms.Button + Friend WithEvents TinyUrlConvertToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents UpdateFollowersMenuItem1 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents TinyURLToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents IsgdToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents UrlConvertAutoToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents UrlUndoToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ContextMenuPostBrowser As System.Windows.Forms.ContextMenuStrip + Friend WithEvents SelectionSearchContextMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator13 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents SelectionCopyContextMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents SelectionAllContextMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents SearchWikipediaContextMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents SearchGoogleContextMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents SearchYatsContextMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents SearchPublicSearchContextMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents CurrentTabToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents UrlCopyContextMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem6 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents MoveToHomeToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents MoveToFavToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents StatusOpenMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents RepliedStatusOpenMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents FavorareMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents OpenURLMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem7 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents TabMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents IDRuleMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem11 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ReadedStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents UnreadStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ReplyStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ReplyAllStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents FavAddToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents FavRemoveToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ReTweetStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ContextMenuPostMode As System.Windows.Forms.ContextMenuStrip + Friend WithEvents ToolStripMenuItemUrlMultibyteSplit As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItemApiCommandEvasion As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItemUrlAutoShorten As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents DebugModeToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents DumpPostClassToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents TraceOutToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents TwurlnlToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents TabRenameMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents BitlyToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ApiInfoMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents IdeographicSpaceToSpaceToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents FollowCommandMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents RemoveCommandMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents FriendshipMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator1 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripSeparator3 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents OwnStatusMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ReTweetOriginalStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator5 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents FollowContextMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents RemoveContextMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents FriendshipContextMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents JmpStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents QuoteStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents RefreshMoreStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents UndoRemoveTabMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator12 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents MoveToRTHomeMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents IdFilterAddMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator22 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents PublicSearchQueryMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents UseHashtagMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents StatusLabel As Tween.TweenCustomControl.ToolStripLabelHistory + Friend WithEvents HashStripSplitButton As System.Windows.Forms.ToolStripSplitButton + Friend WithEvents HashToggleMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator8 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents HashManageMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents MultiLineMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents SettingFileMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator21 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents SaveFileMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator23 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents NotifyFileMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents PlaySoundFileMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents LockListFileMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator24 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents EndFileMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ReplyOpMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ReplyAllOpMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents DmOpMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents RtOpMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents RtUnOpMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents QtOpMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator25 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents FavOpMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents UnFavOpMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents OpenOpMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents CreateRuleOpMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator26 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ChangeReadOpMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents JumpReadOpMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator27 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents SelAllOpMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents DelOpMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents RefreshOpMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents RefreshPrevOpMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents OpenHomeOpMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents OpenFavOpMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents OpenStatusOpMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents OpenRepSourceOpMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents OpenFavotterOpMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents OpenUrlOpMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents OpenRterHomeMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents CreateTabRuleOpMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents CreateIdRuleOpMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ReadOpMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents UnreadOpMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents CreateTbMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents RenameTbMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents UnreadMngTbMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents NotifyTbMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents EditRuleTbMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ClearTbMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents DeleteTbMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents SoundFileTbComboBox As System.Windows.Forms.ToolStripComboBox + Friend WithEvents ToolStripSeparator28 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripSeparator29 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripSeparator30 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripSeparator31 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripSeparator32 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripSeparator33 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents PostBrowser As System.Windows.Forms.WebBrowser + Friend WithEvents SplitContainer3 As System.Windows.Forms.SplitContainer + Friend WithEvents PreviewPicture As System.Windows.Forms.PictureBox + Friend WithEvents PreviewScrollBar As System.Windows.Forms.VScrollBar + Friend WithEvents ToolTip1 As System.Windows.Forms.ToolTip + Friend WithEvents FollowToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents UnFollowToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ShowFriendShipToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ShowUserStatusToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ShowUserStatusContextMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ShowProfileMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ShowProfMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator34 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents HashToggleToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents HashManageToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents RtCountMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents SearchPostsDetailToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents SearchPostsDetailNameToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents TimelinePanel As System.Windows.Forms.Panel + Friend WithEvents ProfilePanel As System.Windows.Forms.Panel + Friend WithEvents Label2 As System.Windows.Forms.Label + Friend WithEvents FilePickButton As System.Windows.Forms.Button + Friend WithEvents ImagefilePathText As System.Windows.Forms.TextBox + Friend WithEvents Label1 As System.Windows.Forms.Label + Friend WithEvents ImageSelectedPicture As System.Windows.Forms.PictureBox + Friend WithEvents ImageSelectionPanel As System.Windows.Forms.Panel + Friend WithEvents ImagePathPanel As System.Windows.Forms.Panel + Friend WithEvents ImageServiceCombo As System.Windows.Forms.ComboBox + Friend WithEvents ImageSelectMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator35 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents FriendshipAllMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator36 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents UserStatusToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ImageCancelButton As System.Windows.Forms.Button + Friend WithEvents ToolStripFocusLockMenuItem As System.Windows.Forms.ToolStripMenuItem + 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 ListManageUserContextToolStripMenuItem2 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ListManageUserContextToolStripMenuItem3 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ListManageToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents SourceLinkLabel As System.Windows.Forms.LinkLabel + Friend WithEvents ToolStripStatusLabel1 As System.Windows.Forms.ToolStripStatusLabel + Friend WithEvents CopyUserIdStripMenuItem As System.Windows.Forms.ToolStripMenuItem + +End Class Added: branches/UserStream/Tween/Tween.en.resx =================================================================== --- branches/UserStream/Tween/Tween.en.resx (rev 0) +++ branches/UserStream/Tween/Tween.en.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,1228 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 370, 22 + + + &Separation of multibyte character string from URL + + + 370, 22 + + + The &collision with API command is evaded + + + 370, 22 + + + &URL is automatically shortened + + + 370, 22 + + + &Convert IdeographicSpace to Space + + + 370, 22 + + + Input field is &Multiline + + + 370, 22 + + + Left focus in input box after posting + + + 367, 6 + + + 370, 22 + + + &Pick a media file + + + 367, 6 + + + 370, 22 + + + &Toggle Hashtag + + + 370, 22 + + + Hashtag &Manager + + + 371, 214 + + + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAghJREFUOE+lk/tL + U3EYxs8/EppdVSQwSrwikpQKhj+EaAjKaqQNhhdwKMNk4A1RFKMI0YVBROyXgZdUzEqTrZhTh9dCloiX + KAdDEFEfz/PC/JogBh74cuCc83ye570cDee8NOrrehb+ObXdc7C89MHcNgVjkwf5td9w3zKB9NIxJJd8 + RKJxAPEGp1gfAfb2D3Da2dndRyC4i82tHfjXt7G4EkTk3Wf/B/AuBcQ5zfwFzrE1Edv7/Liebj0bQGeK + 3bN/0fpuSWIT+Mq5jGt3qhWANZ+MH4pNZ4ozKsYRV+jAhO8P2t7/0AFVCsCGHQccr5mx6Uwxo3+a/C0N + v5pWqQDsdgjAiPfKx+W49Oismc/oTPGgewPWzllcSS1TAI6KgHl/UIQ9H37BMbqK6Kx6tOjx2TCeDsdP + 9H5dQ8XzGVxOMSsA50xxbo1bxJOLAbzu96PyhQ838+wS/e3wCjRNk/dPW7y4lGRSAC5Jge073ugvGZd3 + m30ejxo9Mr4bOe2o1+subZ8WiKHBg4jEYgXgqOgYEvNjU6sX2To44XGfAMLjDEgxfUbSkyGBXIw3KgDX + c8C1Ls6smTU+sLr0tR1BbG4XojJsetctEjsmu1l2gMCjVeZuMzIP62NJfEZxdGadiDm20P1C7EOE3S5S + AM6Zu81Ok84loYCjYrfpzJoZm84Uh90qVIDz/NGH0AEgNQb7UmkAAAAASUVORK5CYII= + + + + + + + + + + 208, 22 + + + Create &New Tab... + + + 208, 22 + + + Rename Tab + + + 205, 6 + + + 208, 22 + + + Manage Reading (&U) + + + 208, 22 + + + &Enable Alert Popup (&Q) + + + Select a wav file. + + + 205, 6 + + + 208, 22 + + + Edit &Filtering Rules... + + + 205, 6 + + + 208, 22 + + + Clear Posts in This Tab + + + 205, 6 + + + 208, 22 + + + &Delete This Tab + + + 209, 212 + + + + + + + + + + + + + + + + + + + + + Service + + + + + + + + + + + + FilePath + + + + + + + + + + + + + + + + + + 186, 22 + + + &Follow + + + 186, 22 + + + &Unfollow + + + 186, 22 + + + Friendship &Relation + + + 186, 22 + + + Add to &Lists + + + 183, 6 + + + 186, 22 + + + User &Profile + + + 186, 22 + + + Search this user + + + 183, 6 + + + 186, 22 + + + 186, 22 + + + Save &Icon... + + + 187, 192 + + + + + + + + + + + + + + + 285, 22 + + + &Google + + + 285, 22 + + + &Wikipedia + + + 285, 22 + + + Twitter Search &YATS + + + 285, 22 + + + Twitter &Search (search.twitter.com) + + + 285, 22 + + + Current Tab(&Local) + + + 264, 22 + + + &Search for Selected String From + + + 261, 6 + + + 264, 22 + + + &Copy + + + 264, 22 + + + Copy &URL + + + 264, 22 + + + Select &All + + + 261, 6 + + + 264, 22 + + + &Follow + + + 264, 22 + + + &Unfollow + + + 264, 22 + + + Friendship &Relation + + + 264, 22 + + + &All User Friendship in this Tweet + + + 261, 6 + + + 264, 22 + + + User &Profile + + + 264, 22 + + + Search this user(&F) + + + 261, 6 + + + 264, 22 + + + Filter by &Id ... + + + 264, 22 + + + Add to &Lists + + + 261, 6 + + + 264, 22 + + + Use this &Hashtag + + + 265, 320 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 211, 22 + + + Settings(&O)... + + + 208, 6 + + + 211, 22 + + + &Save to text file + + + 208, 6 + + + 211, 22 + + + Enable Aleart popup(&Q) + + + 211, 22 + + + Enable Sounds + + + 211, 22 + + + Stick &List + + + 208, 6 + + + 211, 22 + + + E&xit + + + 40, 22 + + + &File + + + 271, 22 + + + Undo remove tab + + + 268, 6 + + + 271, 22 + + + &Copy (STOT-style) + + + 271, 22 + + + Copy (&Status URL) + + + 268, 6 + + + 271, 22 + + + &Find... + + + 271, 22 + + + Find Ne&xt + + + 271, 22 + + + Find &Previous + + + 268, 6 + + + 271, 22 + + + Input search &Query + + + 42, 22 + + + &Edit + + + @&Reply + + + @R&eply All + + + Send D&M + + + Favorite(&S) + + + Unfavorite(&V) + + + User &Profile + + + 261, 22 + + + &Home + + + 261, 22 + + + Favorites(&G) + + + 261, 22 + + + Status(&O) + + + 261, 22 + + + Reply to(&I) + + + 261, 22 + + + Favotter(&P) + + + 261, 22 + + + Reffered &Urls + + + 261, 22 + + + &Retweeter Home + + + &Open as ... + + + 172, 22 + + + Filter by Post(&N) + + + 172, 22 + + + Filter by &ID + + + Make &Filter as ... + + + Add to &Lists + + + 263, 22 + + + Make read(&B) + + + 263, 22 + + + Make not read(&U) + + + Change Unread state ... + + + Jump next to read tweet + + + Select &All + + + &Delete your tweet/DM + + + Refresh(&U) + + + Get More(&I)... + + + 77, 22 + + + &Operation + + + 213, 22 + + + Create &New Tab... + + + 213, 22 + + + &Rename Tab... + + + 210, 6 + + + 213, 22 + + + Manage Reading(&U) + + + 213, 22 + + + Enable Aleart Popup(&Q) + + + 210, 6 + + + 213, 22 + + + Edit &Filterling rules... + + + 210, 6 + + + 213, 22 + + + &Clear posts in this tab + + + 210, 6 + + + 213, 22 + + + &Delete this tab + + + 41, 22 + + + &Tab + + + 189, 22 + + + Auto Select + + + 189, 22 + + + Undo + + + 189, 22 + + + 189, 22 + + + 189, 22 + + + 189, 22 + + + 189, 22 + + + 189, 22 + + + 250, 22 + + + &Shorten URL + + + 250, 22 + + + Fetch User List + + + 247, 6 + + + 250, 22 + + + &Follow + + + 250, 22 + + + U&nfollow + + + 250, 22 + + + S&how Friendship + + + 247, 6 + + + 250, 22 + + + Show your profile + + + 250, 22 + + + Show Profile selected user + + + 247, 6 + + + 250, 22 + + + &Toggle Hashtag + + + 250, 22 + + + &Hashtag Manager + + + 250, 22 + + + Retweeted &Count that tweet + + + 250, 22 + + + Edit Lists + + + 80, 22 + + + &Command + + + Open Tween &Help Site + + + Shortcut keys + + + Check for Updates (&G) + + + API Information + + + &About Tween... + + + 46, 22 + + + &Help + + + + + + + + + 214, 22 + + + @ &Reply + + + 214, 22 + + + @ Reply ALL + + + 214, 22 + + + Send D&M + + + 214, 22 + + + RT OriginalPost + + + 214, 22 + + + 214, 22 + + + 211, 6 + + + 214, 22 + + + Mark &Favorite + + + 214, 22 + + + Unmark Favorite + + + 214, 22 + + + User &Profile + + + 210, 22 + + + Open &Home page + + + 210, 22 + + + Open Favorites (&G) + + + 210, 22 + + + &Open Status + + + 210, 22 + + + Open Repl&ied Status + + + 210, 22 + + + Open Favotter (&P) + + + 210, 22 + + + Open Reffered &URL + + + 210, 22 + + + Open &Retweeter Home + + + 214, 22 + + + Open as ... + + + 188, 22 + + + Filter by Post (&N)... + + + 188, 22 + + + Filter by ID... + + + 214, 22 + + + Make filter as ... + + + 214, 22 + + + Add to &Lists + + + 211, 6 + + + 165, 22 + + + Make Read (&B) + + + 165, 22 + + + Make Not Read + + + 214, 22 + + + Change unread state + + + 214, 22 + + + Jump Next to read post + + + 211, 6 + + + 214, 22 + + + Select &All + + + 214, 22 + + + &Delete + + + 214, 22 + + + &Update + + + 214, 22 + + + GetMore + + + 215, 418 + + + + + + 208, 22 + + + Settings (&O)... + + + 205, 6 + + + 208, 22 + + + &Save... + + + 205, 6 + + + 208, 22 + + + Enable Alert Popup (&Q) + + + 208, 22 + + + Enable Sounds + + + 208, 22 + + + Stick &List + + + 205, 6 + + + 208, 22 + + + E&xit + + + 209, 154 + + + + + + + + \ No newline at end of file Added: branches/UserStream/Tween/Tween.resx =================================================================== --- branches/UserStream/Tween/Tween.resx (rev 0) +++ branches/UserStream/Tween/Tween.resx 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,3753 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + None + + + + False + + + + 318, 22 + + + ToolStripStatusLabel1 + + + MiddleLeft + + + 71, 22 + + + Starting... + + + Starting... + + + False + + + 2, 22 + + + 263, 17 + + + 280, 22 + + + URL??????茹??絖??????????/value> + + + 280, 22 + + + API?潟??潟?????帥???/value> + + + 280, 22 + + + ??????URL???膰????/value> + + + 280, 22 + + + ????鴻??若????茹??????鴻???? + + + Ctrl+Y + + + 280, 22 + + + ?肴?罨???域??ュ?(&M) + + + 280, 22 + + + ????若??鴻??肴?罨??????????/value> + + + 277, 6 + + + Ctrl+Shift+P + + + 280, 22 + + + ??┸?糸??御?(&P) + + + 277, 6 + + + Ctrl+Shift+T + + + 280, 22 + + + ?????ャ??域??????/value> + + + Ctrl+T + + + 280, 22 + + + ?????ャ??域┃絎?/value> + + + 281, 214 + + + ContextMenuPostMode + + + System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 51, 25 + + + #[-] + + + 0, 0 + + + 457, 27 + + + 0 + + + StatusStrip1 + + + StatusStrip1 + + + System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripContainer1.BottomToolStripPanel + + + 0 + + + ToolStripContainer1.BottomToolStripPanel + + + System.Windows.Forms.ToolStripPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripContainer1 + + + 4 + + + Fill + + + 0, 0 + + + Horizontal + + + Bottom + + + 130, 99 + + + 226, 22 + + + ?帥?篏??(&N)... + + + 226, 22 + + + ?帥????紊??(&R) + + + 223, 6 + + + 226, 22 + + + ???膊∞?(&U) + + + 226, 22 + + + ?亥????茵?ず(&Q) + + + 121, 26 + + + ??????wav????ゃ????絎??????????/value> + + + 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 + + + System.Windows.Forms.TabControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TimelinePanel + + + 0 + + + Fill + + + 0, 0 + + + 453, 164 + + + 0 + + + TimelinePanel + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SplitContainer1.Panel1 + + + 0 + + + True + + + 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 + + + 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 + + + ... + + + FilePickButton + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ImagePathPanel + + + 1 + + + Right + + + Off + + + 240, 3 + + + 57, 22 + + + 3 + + + ??┸??/value> + + + MiddleRight + + + Label2 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ImagePathPanel + + + 2 + + + Right + + + TwitPic + + + TwitVideo + + + 297, 3 + + + 97, 20 + + + 4 + + + ImageServiceCombo + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ImagePathPanel + + + 3 + + + Right + + + Off + + + 394, 3 + + + 56, 22 + + + 5 + + + Cancel + + + ImageCancelButton + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ImagePathPanel + + + 4 + + + Left + + + Off + + + 3, 3 + + + 54, 22 + + + 0 + + + ????ゃ? + + + MiddleLeft + + + 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 + + + 0, 0 + + + 453, 164 + + + 1 + + + False + + + ImageSelectionPanel + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SplitContainer1.Panel1 + + + 1 + + + Fill + + + 0, 0 + + + 453, 164 + + + 2 + + + False + + + ProfilePanel + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SplitContainer1.Panel1 + + + 2 + + + SplitContainer1.Panel1 + + + System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SplitContainer1 + + + 0 + + + Fill + + + 0, 0 + + + Fill + + + 0, 0 + + + Horizontal + + + 4 + + + 635, 58 + + + 238, 22 + + + ?????????(&F) + + + 238, 22 + + + ??????茹i?(&N) + + + 238, 22 + + + ?娯????????倶?茵?ず(&H) + + + 238, 22 + + + ????????&L) + + + 235, 6 + + + 238, 22 + + + ???????若?茵?ず(&P) + + + 238, 22 + + + ???????吟????荐??罎?刈(&S) + + + 235, 6 + + + 238, 22 + + + IconName + + + 238, 22 + + + 篆??(&I)... + + + 239, 192 + + + ContextMenuUserPicture + + + System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Off + + + 3, 3 + + + 50, 50 + + + Zoom + + + 5 + + + UserPicture + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TableLayoutPanel1 + + + 0 + + + True + + + Fill + + + MS UI Gothic, 9pt, style=Bold + + + Off + + + 59, 3 + + + 3, 3, 3, 0 + + + 206, 14 + + + 0 + + + LblName + + + MiddleLeft + + + NameLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TableLayoutPanel1 + + + 1 + + + 480, 17 + + + 180, 22 + + + Google(&G) + + + 180, 22 + + + Wikipedia(&W) + + + 180, 22 + + + Twitter罎?刈(&Y) + + + 180, 22 + + + Twitter Search(&S) + + + 180, 22 + + + ?上??????&L) + + + 238, 22 + + + ?御???????罎?刈(&S) + + + 235, 6 + + + 238, 22 + + + ?御????????潟???&C) + + + False + + + 238, 22 + + + URL??????(&U) + + + 238, 22 + + + ????????&A) + + + 235, 6 + + + 238, 22 + + + ?????????(&F) + + + 238, 22 + + + ??????茹i?(&N) + + + 238, 22 + + + ?娯????????倶?茵?ず(&R) + + + 238, 22 + + + ????若??若????????倶?(&A) + + + 235, 6 + + + 238, 22 + + + ???????若?茵?ず(&P) + + + 238, 22 + + + ???????吟????荐??罎?刈(&F) + + + 235, 6 + + + 238, 22 + + + ID???????????&I) + + + 238, 22 + + + ????????&L) + + + 235, 6 + + + 238, 22 + + + ?????ャ??違??阪?(&H) + + + 239, 320 + + + ContextMenuPostBrowser + + + System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Fill + + + 59, 20 + + + 391, 76 + + + 6 + + + PostBrowser + + + System.Windows.Forms.WebBrowser, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TableLayoutPanel1 + + + 2 + + + Top, Bottom, Right + + + True + + + Off + + + 347, 3 + + + 3, 3, 3, 0 + + + 38, 14 + + + 1 + + + Label1 + + + MiddleRight + + + DateTimeLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TableLayoutPanel1 + + + 3 + + + Top, Bottom, Left, Right + + + True + + + Off + + + 391, 3 + + + 3, 3, 3, 0 + + + 59, 14 + + + 7 + + + LinkLabel1 + + + MiddleRight + + + SourceLinkLabel + + + System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TableLayoutPanel1 + + + 4 + + + Fill + + + 0, 0 + + + 2 + + + 453, 99 + + + 1 + + + TableLayoutPanel1 + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SplitContainer2.Panel1 + + + 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> + + + SplitContainer2.Panel1 + + + System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SplitContainer2 + + + 0 + + + 0 + + + Fill + + + 0, 0 + + + 365, 19 + + + 1 + + + StatusText + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SplitContainer2.Panel2 + + + 0 + + + Right + + + Off + + + 365, 0 + + + 44, 25 + + + 0 + + + 999 + + + MiddleCenter + + + lblLen + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SplitContainer2.Panel2 + + + 1 + + + Right + + + Off + + + 409, 0 + + + 44, 25 + + + 2 + + + Post + + + PostButton + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SplitContainer2.Panel2 + + + 2 + + + SplitContainer2.Panel2 + + + System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SplitContainer2 + + + 1 + + + 19 + + + 453, 126 + + + 99 + + + 2 + + + 1 + + + SplitContainer2 + + + System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SplitContainer3.Panel1 + + + 0 + + + SplitContainer3.Panel1 + + + System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SplitContainer3 + + + 0 + + + Fill + + + Off + + + 0, 0 + + + 77, 126 + + + Zoom + + + 1 + + + PreviewPicture + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SplitContainer3.Panel2 + + + 0 + + + Right + + + Off + + + 77, 0 + + + 17, 126 + + + 0 + + + PreviewScrollBar + + + System.Windows.Forms.VScrollBar, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SplitContainer3.Panel2 + + + 1 + + + SplitContainer3.Panel2 + + + System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SplitContainer3 + + + 1 + + + 453, 126 + + + 355 + + + 2 + + + SplitContainer3 + + + System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SplitContainer1.Panel2 + + + 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 + + + 189, 22 + + + 荐??(&O) + + + 186, 6 + + + 189, 22 + + + ????ゃ?篆??(&S) + + + 186, 6 + + + 189, 22 + + + ?亥????(&Q) + + + 189, 22 + + + ?泣??潟????(&P) + + + 189, 22 + + + ?亥?????鴻??阪?(&L) + + + 186, 6 + + + 189, 22 + + + 腟??(&X) + + + 85, 22 + + + ????ゃ?(&F) + + + 259, 22 + + + ?帥???????? + + + 256, 6 + + + 259, 22 + + + ?潟??種?STOT綵√?????鴻?鐚?&C) + + + 259, 22 + + + ?潟??種??鴻??若???RL鐚?&S) + + + 259, 22 + + + ?潟??種?????吟?ID鐚?&A) + + + 256, 6 + + + Ctrl+F + + + 259, 22 + + + 罎?刈(&F)... + + + F3 + + + 259, 22 + + + 罨<?罎?刈(&X) + + + Shift+F3 + + + 259, 22 + + + ???罎?刈(&P) + + + 256, 6 + + + Ctrl+Shift+F + + + 259, 22 + + + ?遵??>散?ュ?(&Q) + + + 61, 22 + + + 膩??(&E) + + + Ctrl+R + + + 267, 22 + + + 鐚??篆?&R) + + + Ctrl+Shift+R + + + 267, 22 + + + 鐚??篆?LL(&E) + + + Ctrl+M + + + 267, 22 + + + DM??拭(&M) + + + Alt+R + + + 267, 22 + + + Re&tweet + + + Alt+Shift+R + + + 267, 22 + + + Retweet(U&nofficial) + + + Ctrl+Q + + + 267, 22 + + + &Quote + + + 264, 6 + + + Ctrl+S + + + 267, 22 + + + Fav菴遵?(&F) + + + Ctrl+Shift+S + + + 267, 22 + + + Fav???(&V) + + + + + + Alt+P + + + 267, 22 + + + ???????若?茵?ず + + + Ctrl+H + + + 315, 22 + + + ?????????(&H) + + + Ctrl+G + + + 315, 22 + + + Fav?????amp;G) + + + Ctrl+O + + + 315, 22 + + + ?鴻??若??鴻????(&O) + + + Ctrl+I + + + 315, 22 + + + 菴?拭???????帥??????amp;I) + + + Ctrl+Shift+O + + + 315, 22 + + + ?泣??若???????(&P) + + + Ctrl+E + + + 315, 22 + + + ?肴???RL?????amp;U) + + + Ctrl+Shift+H + + + 315, 22 + + + RT???篋冴??????????(&R) + + + 267, 22 + + + ???(&O) + + + 227, 22 + + + ?帥???????????????&N) + + + 227, 22 + + + ID??????????????&I) + + + 267, 22 + + + ??????????????&C) + + + 267, 22 + + + ????????&L) + + + 264, 6 + + + Ctrl+B + + + 239, 22 + + + ?∵??????&B) + + + Ctrl+Shift+B + + + 239, 22 + + + ????????&U) + + + 267, 22 + + + ????倶?紊??(&H) + + + 267, 22 + + + ????吾??c???&J) + + + 264, 6 + + + Ctrl+A + + + 267, 22 + + + ????御?(&A) + + + Ctrl+D + + + 267, 22 + + + ???(&D) + + + F5 + + + 267, 22 + + + ?贋?(&U) + + + Shift+F5 + + + 267, 22 + + + ????若?????(&I) + + + 63, 22 + + + ???(&O) + + + 226, 22 + + + ?帥?篏??(&N)... + + + 226, 22 + + + ?帥??????&R) + + + 223, 6 + + + 226, 22 + + + ???膊∞?(&U) + + + 226, 22 + + + ?亥????茵?ず(&Q) + + + 121, 26 + + + 223, 6 + + + 226, 22 + + + ???????????隈??&F)... + + + 223, 6 + + + 226, 22 + + + ????帥????荐???????&C) + + + 223, 6 + + + Ctrl+W + + + 226, 22 + + + ?帥????(&D) + + + 62, 22 + + + ?帥?(&T) + + + Ctrl+L + + + 242, 22 + + + ??軒?泣????????御? + + + False + + + 242, 22 + + + ????祉? + + + 242, 22 + + + TinyURL + + + 242, 22 + + + is.gd + + + 242, 22 + + + twurl.nl + + + 242, 22 + + + bit.ly + + + 242, 22 + + + j.mp + + + 280, 22 + + + ?ュ?罨??URL???膰????/value> + + + 280, 22 + + + ???????若??若??鴻???? + + + 277, 6 + + + 280, 22 + + + ?????????(&F) + + + 280, 22 + + + ??????茹i?(&N) + + + 280, 22 + + + ?娯????????倶?茵?ず(&H) + + + 277, 6 + + + 280, 22 + + + ???????c???亜??;腓?/value> + + + 280, 22 + + + ???????若?茵?ず + + + 277, 6 + + + Ctrl+Shift+T + + + 280, 22 + + + ?????ャ??域??????/value> + + + Ctrl+T + + + 280, 22 + + + ?????ャ??域┃絎?/value> + + + 280, 22 + + + ????肴???etweet?????∈茯?/value> + + + 280, 22 + + + ?????隈??/value> + + + 98, 22 + + + ???篁????&C) + + + F1 + + + 227, 22 + + + Tween?障?????ゃ?(&H) + + + 227, 22 + + + ?激??若????????寂?荀?/value> + + + 224, 6 + + + 227, 22 + + + ?????????(&G) + + + 224, 6 + + + 227, 22 + + + API??? + + + 224, 6 + + + 227, 22 + + + Tween??????(&A)... + + + 179, 22 + + + PostClass????潟? + + + 179, 22 + + + TraceOut?阪? + + + 227, 22 + + + ???????≪???/value> + + + 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 + + + System.Windows.Forms.ToolStripContainer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 6 + + + 443, 58 + + + 202, 22 + + + @菴?拭(&R) + + + 202, 22 + + + @菴?拭ALL(&E) + + + 202, 22 + + + DM??拭(&M) + + + 202, 22 + + + Re&tweet + + + 202, 22 + + + Retweet(U&nofficial) + + + 202, 22 + + + &Quote + + + 199, 6 + + + 202, 22 + + + Fav菴遵?(&F) + + + 202, 22 + + + Fav???(&V) + + + 202, 22 + + + ???????若?茵?ず + + + 230, 22 + + + ?????????(&H) + + + 230, 22 + + + Fav?????amp;G) + + + 230, 22 + + + ?鴻??若??鴻????(&O) + + + 230, 22 + + + 菴?拭???????帥??????amp;I) + + + 230, 22 + + + ?泣??若???????(&P) + + + 230, 22 + + + ?肴???RL?????amp;U) + + + 230, 22 + + + RT???篋冴??????????(&R) + + + 202, 22 + + + ???(&O) + + + 239, 22 + + + ?帥???????????????&N)... + + + 239, 22 + + + ID??????????????.. + + + 202, 22 + + + ??????????????&C) + + + 202, 22 + + + ????????&L) + + + 199, 6 + + + 154, 22 + + + ?∵??????&B) + + + 154, 22 + + + ????????/value> + + + 202, 22 + + + ????倶?紊??(&H) + + + 202, 22 + + + ????吾??c???&J) + + + 199, 6 + + + 202, 22 + + + ????御?(&A) + + + 202, 22 + + + ???(&D) + + + 202, 22 + + + ?贋?(&U) + + + 202, 22 + + + ????若?????(&I) + + + 203, 418 + + + ContextMenuOperate + + + System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 276, 58 + + + 189, 22 + + + 荐??(&O)... + + + 186, 6 + + + 189, 22 + + + ????ゃ?篆??(&S)... + + + 186, 6 + + + 189, 22 + + + ?亥????(&Q) + + + 189, 22 + + + ?泣??潟????(&P) + + + 189, 22 + + + ?亥?????鴻??阪?(&L) + + + 186, 6 + + + False + + + 189, 22 + + + 腟??(&X) + + + 190, 154 + + + ContextMenuFile + + + System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 155, 58 + + + Tween + + + 335, 99 + + + 597, 98 + + + 463, 98 + + + 750, 95 + + + True + + + 63 + + + 6, 12 + + + 457, 353 + + + Off + + + Manual + + + Tween + + + StatusLabelUrl + + + System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + StatusLabel + + + Tween.TweenCustomControl.ToolStripLabelHistory, Tween, Version=0.1.0.0, Culture=neutral, PublicKeyToken=null + + + ToolStripStatusLabel1 + + + System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + HashStripSplitButton + + + System.Windows.Forms.ToolStripSplitButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripMenuItemUrlMultibyteSplit + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripMenuItemApiCommandEvasion + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripMenuItemUrlAutoShorten + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + IdeographicSpaceToSpaceToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + MultiLineMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripFocusLockMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator35 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ImageSelectMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator8 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + HashToggleMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + HashManageMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + AddTabMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabRenameMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator20 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + UreadManageMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + NotifyDispMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SoundFileComboBox + + + System.Windows.Forms.ToolStripComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator18 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + FilterEditMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator19 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ClearTabMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator11 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + DeleteTabMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabImage + + + System.Windows.Forms.ImageList, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + FollowToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + UnFollowToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ShowFriendShipToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ListManageUserContextToolStripMenuItem3 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator37 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ShowUserStatusToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SearchPostsDetailNameToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripMenuItem1 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + IconNameToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SaveIconPictureToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SelectionSearchContextMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SearchGoogleContextMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SearchWikipediaContextMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SearchYatsContextMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SearchPublicSearchContextMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + CurrentTabToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator13 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SelectionCopyContextMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + UrlCopyContextMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SelectionAllContextMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator5 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + FollowContextMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + RemoveContextMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + FriendshipContextMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + FriendshipAllMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator36 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ShowUserStatusContextMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SearchPostsDetailToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator32 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + IdFilterAddMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ListManageUserContextToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator33 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + UseHashtagMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + MenuItemFile + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SettingFileMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator21 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SaveFileMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator23 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + NotifyFileMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + PlaySoundFileMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + LockListFileMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator24 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + EndFileMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + MenuItemEdit + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + UndoRemoveTabMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator12 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + CopySTOTMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + CopyURLMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + CopyUserIdStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator6 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + MenuItemSubSearch + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + MenuItemSearchNext + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + MenuItemSearchPrev + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator22 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + PublicSearchQueryMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + MenuItemOperate + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ReplyOpMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ReplyAllOpMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + DmOpMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + RtOpMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + RtUnOpMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + QtOpMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator25 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + FavOpMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + UnFavOpMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ShowProfMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + OpenOpMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + OpenHomeOpMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + OpenFavOpMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + OpenStatusOpMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + OpenRepSourceOpMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + OpenFavotterOpMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + OpenUrlOpMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + OpenRterHomeMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + CreateRuleOpMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + CreateTabRuleOpMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + CreateIdRuleOpMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripMenuItem9 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator26 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ChangeReadOpMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ReadOpMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + UnreadOpMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + JumpReadOpMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator27 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SelAllOpMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + DelOpMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + RefreshOpMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + RefreshPrevOpMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + MenuItemTab + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + CreateTbMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + RenameTbMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator28 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + UnreadMngTbMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + NotifyTbMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SoundFileTbComboBox + + + System.Windows.Forms.ToolStripComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator29 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + EditRuleTbMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator30 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ClearTbMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator31 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + DeleteTbMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + MenuItemCommand + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TinyUrlConvertToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + UrlConvertAutoToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + UrlUndoToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TinyURLToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + IsgdToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TwurlnlToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + BitlyToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + JmpStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + UpdateFollowersMenuItem1 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator1 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + FollowCommandMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + RemoveCommandMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + FriendshipMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator3 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + OwnStatusMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + UserStatusToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator34 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + HashToggleToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + HashManageToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + RtCountMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ListManageToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + MenuItemHelp + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + MatomeMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ShortcutKeyListMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator16 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + VerUpMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator14 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ApiInfoMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator7 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + AboutMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + DebugModeToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + DumpPostClassToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TraceOutToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ReplyStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ReplyAllStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + DMStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ReTweetOriginalStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ReTweetStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + QuoteStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator2 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + FavAddToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + FavRemoveToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ShowProfileMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripMenuItem6 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + MoveToHomeToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + MoveToFavToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + StatusOpenMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + RepliedStatusOpenMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + FavorareMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + OpenURLMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + MoveToRTHomeMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripMenuItem7 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + IDRuleMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ListManageUserContextToolStripMenuItem2 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator4 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripMenuItem11 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ReadedStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + UnreadStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + JumpUnreadMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator10 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SelectAllMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + DeleteStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + RefreshStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + RefreshMoreStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SettingStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator9 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SaveLogMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator17 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + NewPostPopMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + PlaySoundMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ListLockMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator15 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + EndToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + NotifyIcon1 + + + System.Windows.Forms.NotifyIcon, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SaveFileDialog1 + + + System.Windows.Forms.SaveFileDialog, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TimerRefreshIcon + + + System.Windows.Forms.Timer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + OpenFileDialog1 + + + System.Windows.Forms.OpenFileDialog, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolTip1 + + + System.Windows.Forms.ToolTip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TweenMain + + + System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file Added: branches/UserStream/Tween/Tween.vb =================================================================== --- branches/UserStream/Tween/Tween.vb (rev 0) +++ branches/UserStream/Tween/Tween.vb 2010-11-14 17:03:11 UTC (rev 1074) @@ -0,0 +1,9548 @@ +鏤? Tween - Client of Twitter +' Copyright (c) 2007-2010 kiri_feather (@kiri_feather) +' (c) 2008-2010 Moz (@syo68k) +' (c) 2008-2010 takeshik (@takeshik) +' All rights reserved. +' +' This file is part of Tween. +' +' This program is free software; you can redistribute it and/or modify it +' under the terms of the GNU General Public License as published by the Free +' Software Foundation; either version 3 of the License, or (at your option) +' any later version. +' +' This program is distributed in the hope that it will be useful, but +' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +' for more details. +' +' You should have received a copy of the GNU General Public License along +' with this program. If not, see , or write to +' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, +' Boston, MA 02110-1301, USA. + +'?潟????????潟??潟? +'"c:\Program Files\Microsoft.NET\SDK\v2.0\Bin\sgen.exe" /f /a:"$(TargetPath)" +'"C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\sgen.exe" /f /a:"$(TargetPath)" + + +Imports System +Imports System.Text +Imports System.Text.RegularExpressions +Imports Tween.TweenCustomControl +Imports System.IO +Imports System.Web +Imports System.Reflection +Imports System.ComponentModel +Imports System.Diagnostics +Imports Microsoft.Win32 +Imports System.Xml +Imports System.Timers +Imports System.Threading + +Public Class TweenMain + + '??┏荐?? + Private _mySize As Size '?脂??泣???+ Private _myLoc As Point '?脂?篏?舟 + Private _mySpDis As Integer '?阪????臀?+ Private _mySpDis2 As Integer '?肴?罨?????篏?舟 + Private _mySpDis3 As Integer '???????弱????篏?舟 + Private _iconSz As Integer '?≪??潟??泣??削??上???6??4??8??腮??????ョ??ユ?絖??絎????????羈??24x24??????26???絎??????????S?眼????膤祉?????????????罕?? + Private _iconCol As Boolean '1??;腓冴???rue鐚?8?泣??冴????鐚?+ + '?????????蕁?+ Private _initial As Boolean 'True:莎桁??????賢 + Private _initialLayout As Boolean = True + Private _ignoreConfigSave As Boolean 'True:莎桁??????賢 + Private _tabDrag As Boolean '?帥???????筝?????鐚?oDragDrop???茵????????絎??鐚?+ Private _rclickTabName As String '?潟????????????????鐚?ab?潟?????若?罘??筝?恭絲上?鐚?+ Private ReadOnly _syncObject As New Object() '?????? + Private Const detailHtmlFormatMono1 As String = "
"
+    Private Const detailHtmlFormatMono7 As String = "
" + Private Const detailHtmlFormat1 As String = "