OSDN Git Service

HPのパーセント表示を再起動後も維持する
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Thu, 7 Dec 2017 14:31:58 +0000 (23:31 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Fri, 8 Dec 2017 12:51:54 +0000 (21:51 +0900)
KancolleSniffer/Config.cs
KancolleSniffer/ListForm.cs
KancolleSniffer/MainForm.cs
KancolleSniffer/ShipLabels.cs
KancolleSniffer/ShipListPanel.cs

index d5c8f3a..45fe25e 100644 (file)
@@ -43,6 +43,7 @@ namespace KancolleSniffer
         public Point Location { get; set; }\r
         public Size Size { get; set; }\r
         public bool ShipType { get; set; }\r
+        public bool ShowHpInPercent { get; set; }\r
         public ListForm.SortOrder SortOrder { get; set; } = ListForm.SortOrder.ExpToNext;\r
         public List<List<int>> ShipGroup { get; set; }\r
 \r
@@ -146,7 +147,8 @@ namespace KancolleSniffer
         public bool ExitSilently { get; set; }\r
         public int Zoom { get; set; } = 100;\r
         public bool SaveLocationPerMachine { get; set; }\r
-        public List<LocationPerMachine> LocationList { get; set; }= new List<LocationPerMachine>();\r
+        public List<LocationPerMachine> LocationList { get; set; } = new List<LocationPerMachine>();\r
+        public bool ShowHpInPercent { get; set; }\r
         public bool FlashWindow { get; set; } = true;\r
         public bool ShowBaloonTip { get; set; }\r
         public bool PlaySound { get; set; } = true;\r
index ca46d3e..682c021 100644 (file)
@@ -142,6 +142,8 @@ namespace KancolleSniffer
             MaximumSize = new Size(Width, int.MaxValue);\r
             var config = _config.ShipList;\r
             checkBoxShipType.Checked = config.ShipType;\r
+            if (config.ShowHpInPercent)\r
+                shipListPanel.ToggleHpPercent();\r
             ActiveControl = shipListPanel;\r
             for (var i = 0; i < ShipListPanel.GroupCount; i++)\r
             {\r
@@ -164,6 +166,7 @@ namespace KancolleSniffer
             if (!Visible)\r
                 return;\r
             var config = _config.ShipList;\r
+            config.ShowHpInPercent = shipListPanel.ShowHpInPercent;\r
             var all = _sniffer.ShipList.Select(s => s.Id).ToArray();\r
             config.ShipGroup.Clear();\r
             for (var i = 0; i < ShipListPanel.GroupCount; i++)\r
index f88cb99..9313ec5 100644 (file)
@@ -212,6 +212,8 @@ namespace KancolleSniffer
             RestoreLocation();\r
             if (_config.HideOnMinimized && WindowState == FormWindowState.Minimized)\r
                 ShowInTaskbar = false;\r
+            if (_config.ShowHpInPercent)\r
+                _shipLabels.ToggleHpPercent();\r
             ApplyConfig();\r
             ApplyDebugLogSetting();\r
             ApplyLogSetting();\r
@@ -236,6 +238,7 @@ namespace KancolleSniffer
             e.Cancel = false;\r
             _sniffer.FlashLog();\r
             _config.Location = (WindowState == FormWindowState.Normal ? Bounds : RestoreBounds).Location;\r
+            _config.ShowHpInPercent = _shipLabels.ShowHpInPercent;\r
             _config.Save();\r
             _proxyManager.Shutdown();\r
             _kancolleDb.Stop();\r
index 925c29e..c16c343 100644 (file)
@@ -46,6 +46,7 @@ namespace KancolleSniffer
         private readonly ShipLabel[][] _ndockLabels = new ShipLabel[DockInfo.DockCount][];\r
         public static Color[] ColumnColors = {SystemColors.Control, Color.FromArgb(255, 250, 250, 250)};\r
         private readonly List<ShipLabel> _hpLables = new List<ShipLabel>();\r
+        public bool ShowHpInPercent { get; private set; }\r
 \r
         public void CreateShipLabels(Control parent, EventHandler onClick)\r
         {\r
@@ -112,14 +113,17 @@ namespace KancolleSniffer
             }\r
             _hpLables.AddRange(shipLabels.Select(labels => labels[0]));\r
             headings[0].Cursor = Cursors.Hand;\r
-            headings[0].Click += (sender, ev) =>\r
-            {\r
-                foreach (var label in _hpLables)\r
-                    label.ToggleHpPercent();\r
-            };\r
+            headings[0].Click += (sender, ev) => ToggleHpPercent();\r
             parent.ResumeLayout();\r
         }\r
 \r
+        public void ToggleHpPercent()\r
+        {\r
+            ShowHpInPercent = !ShowHpInPercent;\r
+            foreach (var label in _hpLables)\r
+                label.ToggleHpPercent();\r
+        }\r
+\r
         public void SetShipLabels(ShipStatus[] statuses)\r
         {\r
             SetShipLabels(statuses, statuses.Length == 7 ? _shipLabels7 : _shiplabels);\r
index 8c80516..a612c8e 100644 (file)
@@ -36,6 +36,7 @@ namespace KancolleSniffer
         private readonly List<Panel> _repairPanelList = new List<Panel>();\r
         private readonly List<ShipLabel> _hpLabels = new List<ShipLabel>();\r
         private string _mode;\r
+        public bool ShowHpInPercent { get; private set; }\r
 \r
         public const int GroupCount = 4;\r
         public HashSet<int>[] GroupSettings { get; } = new HashSet<int>[GroupCount];\r
@@ -490,6 +491,7 @@ namespace KancolleSniffer
 \r
         public void ToggleHpPercent()\r
         {\r
+            ShowHpInPercent = !ShowHpInPercent;\r
             foreach (var label in _hpLabels)\r
                 label.ToggleHpPercent();\r
         }\r