[Tween-svn] [1298] タブ削除時に前回のタブを選択するように変更

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2011年 1月 1日 (土) 08:24:34 JST


Revision: 1298
          http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1298
Author:   anis774
Date:     2011-01-01 08:24:34 +0900 (Sat, 01 Jan 2011)

Log Message:
-----------
タブ削除時に前回のタブを選択するように変更

Modified Paths:
--------------
    trunk/Tween/StatusDictionary.vb
    trunk/Tween/Tween.vb


-------------- next part --------------
Modified: trunk/Tween/StatusDictionary.vb
===================================================================
--- trunk/Tween/StatusDictionary.vb	2010-12-31 23:24:32 UTC (rev 1297)
+++ trunk/Tween/StatusDictionary.vb	2010-12-31 23:24:34 UTC (rev 1298)
@@ -1637,9 +1637,6 @@
 #End Region
 
     <Xml.Serialization.XmlIgnore()> _
-    Public Property BackToTab() As TabClass
-
-    <Xml.Serialization.XmlIgnore()> _
     Public Property RelationTargetPost() As PostClass
 
     <Xml.Serialization.XmlIgnore()> _

Modified: trunk/Tween/Tween.vb
===================================================================
--- trunk/Tween/Tween.vb	2010-12-31 23:24:32 UTC (rev 1297)
+++ trunk/Tween/Tween.vb	2010-12-31 23:24:34 UTC (rev 1298)
@@ -57,6 +57,7 @@
     Private _initialLayout As Boolean = True
     Private _ignoreConfigSave As Boolean         'True:起動時処理中
     Private _tabDrag As Boolean           'タブドラッグ中フラグ(DoDragDropを実行するかの判定用)
+    Private _beforeSelectedTab As TabPage 'タブが削除されたときに前回選択されていたときのタブを選択する為に保持
     Private _tabMouseDownPoint As Point
     Private _rclickTabName As String      '右クリックしたタブの名前(Tabコントロール機能不足対応)
     Private ReadOnly _syncObject As New Object()    'ロック用
@@ -3643,6 +3644,9 @@
 
         _tabPage.SuspendLayout()
 
+        If Me.ListTab.SelectedTab Is Me.ListTab.TabPages(idx) Then
+            Me.ListTab.SelectedTab = If(Me._beforeSelectedTab, Me.ListTab.TabPages(0))
+        End If
         Me.ListTab.Controls.Remove(_tabPage)
 
         Dim pnl As Control = Nothing
@@ -3714,6 +3718,7 @@
                 lst.VirtualListSize = _statuses.Tabs(tp.Text).AllCount
             End If
         Next
+
         Return True
     End Function
 
@@ -3721,6 +3726,7 @@
         _itemCache = Nothing
         _itemCacheIndex = -1
         _postCache = Nothing
+        _beforeSelectedTab = e.TabPage
     End Sub
 
     Private Sub ListTab_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListTab.MouseMove
@@ -4901,19 +4907,6 @@
             ElseIf e.KeyCode = Keys.Escape Then
                 If ListTab.SelectedTab IsNot Nothing AndAlso _statuses.Tabs(ListTab.SelectedTab.Text).TabType = TabUsageType.Related Then
                     Dim relTp As TabPage = ListTab.SelectedTab
-                    Dim backToTab As TabClass = _statuses.Tabs(relTp.Text).BackToTab
-                    If backToTab IsNot Nothing Then
-                        Try
-                            For Each tp As TabPage In ListTab.TabPages
-                                If tp.Text = backToTab.TabName Then
-                                    ListTab.SelectTab(tp)
-                                    Exit For
-                                End If
-                            Next
-                        Catch ex As Exception
-
-                        End Try
-                    End If
                     RemoveSpecifiedTab(relTp.Text, False)
                     SaveConfigsTabs()
                 End If
@@ -10075,7 +10068,6 @@
 
             Dim tb As TabClass = _statuses.GetTabByType(TabUsageType.Related)
             tb.RelationTargetPost = _curPost
-            tb.BackToTab = backToTab
             Me.ClearTab(tb.TabName, False)
             For i As Integer = 0 To ListTab.TabPages.Count - 1
                 If tb.TabName = ListTab.TabPages(i).Text Then



Tween-svn メーリングリストの案内
Back to archive index