==== Ver 0.8.9.3(2010/05/**)
* Alt+Shift+R,Ctrl+Qが効かない場合があったバグを修正
* Replyタブの初期設定での更新間隔を180秒に。バージョンアップの方は手動で調整してください。
+ * ユーザー情報ダイアログで自己紹介の部分をhtml化して表示するようにした。サムネイルと右クリックメニュー以外は、@IDやハッシュタグのリンク化など、詳細表示とほぼ同等の機能があります。
==== Ver 0.8.9.2(2010/05/09)
* 言及先の抽出ができていなかったバグを修正
* ユーザー情報ダイアログで、アイコンの元画像サイズを考慮していなかったのを修正
Me.LinkLabelWeb = New System.Windows.Forms.LinkLabel()
Me.LabelLocation = New System.Windows.Forms.Label()
Me.LabelName = New System.Windows.Forms.Label()
- Me.LabelDescription = 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.UserPicture = New System.Windows.Forms.PictureBox()
Me.BackgroundWorkerImageLoader = New System.ComponentModel.BackgroundWorker()
Me.LabelScreenName = New System.Windows.Forms.Label()
+ Me.DescriptionBrowser = New System.Windows.Forms.WebBrowser()
CType(Me.UserPicture, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
Me.LabelName.Name = "LabelName"
Me.LabelName.UseMnemonic = False
'
- 'LabelDescription
- '
- resources.ApplyResources(Me.LabelDescription, "LabelDescription")
- Me.LabelDescription.Name = "LabelDescription"
- Me.LabelDescription.UseMnemonic = False
- '
'Label5
'
resources.ApplyResources(Me.Label5, "Label5")
resources.ApplyResources(Me.LabelScreenName, "LabelScreenName")
Me.LabelScreenName.Name = "LabelScreenName"
'
+ 'DescriptionBrowser
+ '
+ Me.DescriptionBrowser.AllowWebBrowserDrop = False
+ Me.DescriptionBrowser.IsWebBrowserContextMenuEnabled = False
+ resources.ApplyResources(Me.DescriptionBrowser, "DescriptionBrowser")
+ Me.DescriptionBrowser.MinimumSize = New System.Drawing.Size(20, 20)
+ Me.DescriptionBrowser.Name = "DescriptionBrowser"
+ Me.DescriptionBrowser.Url = New System.Uri("", System.UriKind.Relative)
+ Me.DescriptionBrowser.WebBrowserShortcutsEnabled = False
+ '
'ShowUserInfo
'
resources.ApplyResources(Me, "$this")
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.Controls.Add(Me.DescriptionBrowser)
Me.Controls.Add(Me.LabelScreenName)
Me.Controls.Add(Me.UserPicture)
Me.Controls.Add(Me.LabelIsFollowed)
Me.Controls.Add(Me.LinkLabelFollowing)
Me.Controls.Add(Me.Label6)
Me.Controls.Add(Me.Label5)
- Me.Controls.Add(Me.LabelDescription)
Me.Controls.Add(Me.LabelName)
Me.Controls.Add(Me.LabelLocation)
Me.Controls.Add(Me.LinkLabelWeb)
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 LabelDescription 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 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
End Class
<data name=">>LabelName.ZOrder" xml:space="preserve">
<value>19</value>
</data>
- <data name="LabelDescription.Location" type="System.Drawing.Point, System.Drawing">
- <value>71, 203</value>
- </data>
- <data name="LabelDescription.Size" type="System.Drawing.Size, System.Drawing">
- <value>328, 134</value>
- </data>
- <data name="LabelDescription.TabIndex" type="System.Int32, mscorlib">
- <value>9</value>
- </data>
- <data name="LabelDescription.Text" xml:space="preserve">
- <value>LabelDescription</value>
- </data>
- <data name=">>LabelDescription.Name" xml:space="preserve">
- <value>LabelDescription</value>
- </data>
- <data name=">>LabelDescription.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name=">>LabelDescription.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name=">>LabelDescription.ZOrder" xml:space="preserve">
- <value>18</value>
- </data>
<data name="Label5.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<value>$this</value>
</data>
<data name=">>Label5.ZOrder" xml:space="preserve">
- <value>17</value>
+ <value>18</value>
</data>
<data name="Label6.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
<value>$this</value>
</data>
<data name=">>Label6.ZOrder" xml:space="preserve">
- <value>16</value>
+ <value>17</value>
</data>
<data name="LinkLabelFollowing.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
<value>$this</value>
</data>
<data name=">>LinkLabelFollowing.ZOrder" xml:space="preserve">
- <value>15</value>
+ <value>16</value>
</data>
<data name="LinkLabelFollowers.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
<value>$this</value>
</data>
<data name=">>LinkLabelFollowers.ZOrder" xml:space="preserve">
- <value>14</value>
+ <value>15</value>
</data>
<data name="Label7.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
<value>$this</value>
</data>
<data name=">>Label7.ZOrder" xml:space="preserve">
- <value>13</value>
+ <value>14</value>
</data>
<data name="LabelCreatedAt.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
<value>$this</value>
</data>
<data name=">>LabelCreatedAt.ZOrder" xml:space="preserve">
- <value>12</value>
+ <value>13</value>
</data>
<data name="Label8.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
<value>$this</value>
</data>
<data name=">>Label8.ZOrder" xml:space="preserve">
- <value>11</value>
+ <value>12</value>
</data>
<data name="LinkLabelTweet.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
<value>$this</value>
</data>
<data name=">>LinkLabelTweet.ZOrder" xml:space="preserve">
- <value>10</value>
+ <value>11</value>
</data>
<data name="Label9.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
<value>$this</value>
</data>
<data name=">>Label9.ZOrder" xml:space="preserve">
- <value>9</value>
+ <value>10</value>
</data>
<data name="LinkLabelFav.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
<value>$this</value>
</data>
<data name=">>LinkLabelFav.ZOrder" xml:space="preserve">
- <value>8</value>
+ <value>9</value>
</data>
<data name="ButtonFollow.Location" type="System.Drawing.Point, System.Drawing">
<value>16, 489</value>
<value>$this</value>
</data>
<data name=">>ButtonFollow.ZOrder" xml:space="preserve">
- <value>7</value>
+ <value>8</value>
</data>
<data name="ButtonUnFollow.Location" type="System.Drawing.Point, System.Drawing">
<value>116, 489</value>
<value>$this</value>
</data>
<data name=">>ButtonUnFollow.ZOrder" xml:space="preserve">
- <value>6</value>
+ <value>7</value>
</data>
<data name="Label10.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
<value>$this</value>
</data>
<data name=">>Label10.ZOrder" xml:space="preserve">
- <value>5</value>
+ <value>6</value>
</data>
<data name="LabelIsProtected.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
<value>$this</value>
</data>
<data name=">>LabelIsProtected.ZOrder" xml:space="preserve">
- <value>4</value>
+ <value>5</value>
</data>
<data name="LabelIsFollowing.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
<value>$this</value>
</data>
<data name=">>LabelIsFollowing.ZOrder" xml:space="preserve">
- <value>3</value>
+ <value>4</value>
</data>
<data name="LabelIsFollowed.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
<value>$this</value>
</data>
<data name=">>LabelIsFollowed.ZOrder" xml:space="preserve">
- <value>2</value>
+ <value>3</value>
</data>
<data name="UserPicture.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 24</value>
<value>$this</value>
</data>
<data name=">>UserPicture.ZOrder" xml:space="preserve">
- <value>1</value>
+ <value>2</value>
</data>
<metadata name="BackgroundWorkerImageLoader.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
<value>$this</value>
</data>
<data name=">>LabelScreenName.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="DescriptionBrowser.Location" type="System.Drawing.Point, System.Drawing">
+ <value>66, 202</value>
+ </data>
+ <data name="DescriptionBrowser.Size" type="System.Drawing.Size, System.Drawing">
+ <value>341, 123</value>
+ </data>
+ <data name="DescriptionBrowser.TabIndex" type="System.Int32, mscorlib">
+ <value>27</value>
+ </data>
+ <data name=">>DescriptionBrowser.Name" xml:space="preserve">
+ <value>DescriptionBrowser</value>
+ </data>
+ <data name=">>DescriptionBrowser.Type" xml:space="preserve">
+ <value>System.Windows.Forms.WebBrowser, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>DescriptionBrowser.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>DescriptionBrowser.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
' Boston, MA 02110-1301, USA.
Imports System.Xml
+Imports System.Web
Public Class ShowUserInfo
Private userInfoXml As String = ""
Private _info As UserInfo
Private icondata As Image = Nothing
+ Private atlist As New Generic.List(Of String)
+ Dim dTxt As String
Private Structure UserInfo
Dim Name As String
LabelLocation.Text = _info.Location
LinkLabelWeb.Text = _info.Url
- LabelDescription.Text = _info.Description
+ 'LabelDescription.Text = _info.Description
+
+ DescriptionBrowser.Visible = False
+ dTxt = TweenMain.createDetailHtml( _
+ TweenMain.TwitterInstance.CreateHtmlAnchor(_info.Description, atlist))
LinkLabelFollowing.Text = _info.FriendsCount.ToString
LinkLabelFollowers.Text = _info.FollowersCount.ToString
UserPicture.Image = Nothing
End Try
End Sub
+
+ Private Sub ShowUserInfo_Shown(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Shown
+ DescriptionBrowser.DocumentText = dTxt
+ DescriptionBrowser.Visible = True
+ End Sub
+
+ Private Sub DescriptionBrowser_Navigating(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserNavigatingEventArgs) Handles DescriptionBrowser.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("#"))
+ TweenMain.AddNewTabForSearch(hash)
+ Exit Sub
+ Else
+ TweenMain.OpenUriAsync(e.Url.OriginalString)
+ End If
+ End If
+ End Sub
End Class
\ No newline at end of file
End If
End Sub
- Private Sub AddNewTabForSearch(ByVal searchWord As String)
+ Public Sub AddNewTabForSearch(ByVal searchWord As String)
'同一検索条件のタブが既に存在すれば、そのタブアクティブにして終了
For Each tb As TabClass In _statuses.GetTabsByType(TabUsageType.PublicSearch)
If tb.SearchWords = searchWord AndAlso tb.SearchLang = "" Then
If Not SettingDialog.TabIconDisp Then ListTab.Refresh()
End Sub
+ Public Function createDetailHtml(ByVal orgdata As String) As String
+ Return detailHtmlFormatHeader + orgdata + detailHtmlFormatFooter
+ End Function
+
Private Sub DispSelectedPost()
If _curList.SelectedIndices.Count = 0 OrElse _curPost Is Nothing Then Exit Sub
- Dim dTxt As String = detailHtmlFormatHeader + _curPost.OriginalData + detailHtmlFormatFooter
+ Dim dTxt As String = createDetailHtml(_curPost.OriginalData)
If _statuses.Tabs(_curTab.Text).TabType = TabUsageType.DirectMessage AndAlso _curPost.IsOwl Then
NameLabel.Text = "DM TO -> "
ElseIf _statuses.Tabs(_curTab.Text).TabType = TabUsageType.DirectMessage Then
End Function
- Private Function CreateHtmlAnchor(ByVal Text As String, ByVal AtList As List(Of String)) As String
+ Public Function CreateHtmlAnchor(ByVal Text As String, ByVal AtList As List(Of String)) As String
'Dim retStr As String = HttpUtility.HtmlEncode(Text) '要検証(デコードされて取得されるので再エンコード)
'Dim retStr As String = HttpUtility.HtmlDecode(Text)
Dim retStr As String = ""