OSDN Git Service

終了するか聞く前に一覧ウィンドウが閉じてしまうのを防ぐ
[kancollesniffer/KancolleSniffer.git] / KancolleSniffer / ListForm.cs
index 7b23478..757ac1e 100644 (file)
@@ -31,7 +31,11 @@ namespace KancolleSniffer
         {\r
             None,\r
             Cond,\r
+            CondAscend = Cond,\r
+            CondDescend,\r
             ExpToNext,\r
+            ExpToNextAscend = ExpToNext,\r
+            ExpToNextDescend,\r
             Repair\r
         }\r
 \r
@@ -96,14 +100,22 @@ namespace KancolleSniffer
                     labelHeaderCond.Text = "cond";\r
                     labelHeaderExp.Text = "Exp";\r
                     break;\r
-                case SortOrder.Cond:\r
+                case SortOrder.CondAscend:\r
                     labelHeaderCond.Text = "cond▴";\r
                     labelHeaderExp.Text = "Exp";\r
                     break;\r
-                case SortOrder.ExpToNext:\r
+                case SortOrder.CondDescend:\r
+                    labelHeaderCond.Text = "cond▾";\r
+                    labelHeaderExp.Text = "Exp";\r
+                    break;\r
+                case SortOrder.ExpToNextAscend:\r
                     labelHeaderCond.Text = "cond";\r
                     labelHeaderExp.Text = "Exp▴";\r
                     break;\r
+                case SortOrder.ExpToNextDescend:\r
+                    labelHeaderCond.Text = "cond";\r
+                    labelHeaderExp.Text = "Exp▾";\r
+                    break;\r
             }\r
         }\r
 \r
@@ -163,7 +175,8 @@ namespace KancolleSniffer
             var bounds = WindowState == FormWindowState.Normal ? Bounds : RestoreBounds;\r
             config.Location = bounds.Location;\r
             config.Size = bounds.Size;\r
-            Hide();\r
+            if (e.CloseReason != CloseReason.FormOwnerClosing)\r
+                Hide();\r
         }\r
 \r
         public void ShowShip(int id)\r
@@ -228,7 +241,7 @@ namespace KancolleSniffer
             }\r
             else\r
             {\r
-                ActiveControl = shipListPanel.ScrollBar;\r
+                ActiveControl = shipListPanel;\r
             }\r
         }\r
 \r
@@ -249,15 +262,37 @@ namespace KancolleSniffer
 \r
         private void labelHeaderCond_Click(object sender, EventArgs e)\r
         {\r
-            _config.ShipList.SortOrder = _config.ShipList.SortOrder == SortOrder.Cond ? SortOrder.None : SortOrder.Cond;\r
+            var sl = _config.ShipList;\r
+            switch (sl.SortOrder)\r
+            {\r
+                case SortOrder.CondAscend:\r
+                    sl.SortOrder = SortOrder.CondDescend;\r
+                    break;\r
+                case SortOrder.CondDescend:\r
+                    sl.SortOrder = SortOrder.None;\r
+                    break;\r
+                default:\r
+                    sl.SortOrder = SortOrder.CondAscend;\r
+                    break;\r
+            }\r
             UpdateList();\r
         }\r
 \r
         private void labelHeaderExp_Click(object sender, EventArgs e)\r
         {\r
-            _config.ShipList.SortOrder = _config.ShipList.SortOrder == SortOrder.ExpToNext\r
-                ? SortOrder.None\r
-                : SortOrder.ExpToNext;\r
+            var sl = _config.ShipList;\r
+            switch (sl.SortOrder)\r
+            {\r
+                case SortOrder.ExpToNextAscend:\r
+                    sl.SortOrder = SortOrder.ExpToNextDescend;\r
+                    break;\r
+                case SortOrder.ExpToNextDescend:\r
+                    sl.SortOrder = SortOrder.None;\r
+                    break;\r
+                default:\r
+                    sl.SortOrder = SortOrder.ExpToNextAscend;\r
+                    break;\r
+            }\r
             UpdateList();\r
         }\r
 \r