OSDN Git Service

プリセット修理が可能なときは左上にもタイマーを表示する
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Sat, 12 Dec 2015 05:13:52 +0000 (14:13 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Sun, 13 Dec 2015 15:12:55 +0000 (00:12 +0900)
KancolleSniffer/MainForm.Designer.cs
KancolleSniffer/MainForm.cs

index 3fe566b..f77f957 100644 (file)
@@ -165,6 +165,7 @@ namespace KancolleSniffer
             this.labelFuelSq4 = new System.Windows.Forms.Label();\r
             this.toolTipAchievement = new System.Windows.Forms.ToolTip(this.components);\r
             this.labelAkashiRepair = new System.Windows.Forms.Label();\r
+            this.labelPresetAkashiTimer = new System.Windows.Forms.Label();\r
             this.panelHeadquarters.SuspendLayout();\r
             this.panelShipInfo.SuspendLayout();\r
             this.panelBattleInfo.SuspendLayout();\r
@@ -301,6 +302,7 @@ namespace KancolleSniffer
             // panelShipInfo\r
             // \r
             this.panelShipInfo.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;\r
+            this.panelShipInfo.Controls.Add(this.labelPresetAkashiTimer);\r
             this.panelShipInfo.Controls.Add(this.labelGuide);\r
             this.panelShipInfo.Controls.Add(this.panelCombinedFleet);\r
             this.panelShipInfo.Controls.Add(this.panelBattleInfo);\r
@@ -1261,6 +1263,13 @@ namespace KancolleSniffer
             this.labelAkashiRepair.TabIndex = 54;\r
             this.labelAkashiRepair.Text = "修理";\r
             // \r
+            // labelPresetAkashiTimer\r
+            // \r
+            this.labelPresetAkashiTimer.Location = new System.Drawing.Point(2, 3);\r
+            this.labelPresetAkashiTimer.Name = "labelPresetAkashiTimer";\r
+            this.labelPresetAkashiTimer.Size = new System.Drawing.Size(31, 12);\r
+            this.labelPresetAkashiTimer.TabIndex = 55;\r
+            // \r
             // MainForm\r
             // \r
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);\r
@@ -1452,6 +1461,7 @@ namespace KancolleSniffer
         private System.Windows.Forms.Label labelGuide;\r
         private System.Windows.Forms.Panel panelCombinedFleet;\r
         private System.Windows.Forms.Label labelAkashiRepair;\r
+        private System.Windows.Forms.Label labelPresetAkashiTimer;\r
     }\r
 }\r
 \r
index 5d5bb96..76b4225 100644 (file)
@@ -84,6 +84,7 @@ namespace KancolleSniffer
                 _ndockFinishTimeMode = !_ndockFinishTimeMode;\r
                 UpdateTimers();\r
             });\r
+            labelPresetAkashiTimer.BackColor = ShipLabels.ColumnColors[1];\r
             _shipListForm = new ShipListForm(_sniffer, _config) {Owner = this};\r
             _noticeQueue = new NoticeQueue(Ring);\r
         }\r
@@ -305,7 +306,8 @@ namespace KancolleSniffer
             _sniffer.Item.MarginShips = _config.MarginShips;\r
             _sniffer.Item.MarginEquips = _config.MarginEquips;\r
             _sniffer.Achievement.ResetHours = _config.ResetHours;\r
-            labelAkashiRepair.Visible = labelAkashiRepairTimer.Visible = _config.UsePresetAkashi;\r
+            labelAkashiRepair.Visible = labelAkashiRepairTimer.Visible =\r
+                labelPresetAkashiTimer.Visible = _config.UsePresetAkashi;\r
         }\r
 \r
         public void ApplyDebugLogSetting()\r
@@ -768,16 +770,31 @@ namespace KancolleSniffer
 \r
         private void UpdateAkashiTimer()\r
         {\r
+            if (_config.UsePresetAkashi)\r
+                UpdatePresetAkashiTimer();\r
+            _shipLabels.SetAkashiTimer(_sniffer.GetShipStatuses(_currentFleet),\r
+                _sniffer.AkashiTimer.GetTimers(_currentFleet));\r
+            NotifyAkashiTimer();\r
+        }\r
+\r
+        private void UpdatePresetAkashiTimer()\r
+        {\r
             var akashi = _sniffer.AkashiTimer;\r
             var span = akashi.PresetDeckTimer;\r
-            if (_config.UsePresetAkashi)\r
+            var color = span == TimeSpan.Zero && akashi.CheckPresetReparing() ? Color.Red : DefaultForeColor;\r
+            var text = span == TimeSpan.MinValue ? "" : span.ToString(@"mm\:ss");\r
+            labelAkashiRepairTimer.ForeColor = color;\r
+            labelAkashiRepairTimer.Text = text;\r
+            if (akashi.CheckPresetReparing() && !akashi.CheckReparing(_currentFleet))\r
             {\r
-                labelAkashiRepairTimer.ForeColor =\r
-                    span == TimeSpan.Zero && akashi.CheckPresetReparing() ? Color.Red : DefaultForeColor;\r
-                labelAkashiRepairTimer.Text = span == TimeSpan.MinValue ? "" : span.ToString(@"mm\:ss");\r
+                labelPresetAkashiTimer.ForeColor = color;\r
+                labelPresetAkashiTimer.Text = text;\r
+            }\r
+            else\r
+            {\r
+                labelPresetAkashiTimer.ForeColor = DefaultForeColor;\r
+                labelPresetAkashiTimer.Text = "";\r
             }\r
-            _shipLabels.SetAkashiTimer(_sniffer.GetShipStatuses(_currentFleet), akashi.GetTimers(_currentFleet));\r
-            NotifyAkashiTimer();\r
         }\r
 \r
         private void UpdateDamagedShipList()\r