public Sniffer Sniffer { get; } = new Sniffer();\r
public Config Config { get; } = new Config();\r
\r
+ public interface INotifySubmitter\r
+ {\r
+ void Flash();\r
+ void Enqueue(string key, string subject);\r
+ }\r
+\r
+ public class Context\r
+ {\r
+ public Sniffer Sniffer { get; }\r
+ public Config Config { get; }\r
+ public INotifySubmitter Submitter { get; }\r
+ public Func<DateTime> GetNow { get; }\r
+\r
+ public Context(Sniffer sniffer, Config config, INotifySubmitter submitter, Func<DateTime> getNow)\r
+ {\r
+ Sniffer = sniffer;\r
+ Config = config;\r
+ Submitter = submitter;\r
+ GetNow = getNow;\r
+ }\r
+ }\r
+\r
public MainForm()\r
{\r
InitializeComponent();\r
panelRepairList.CreateLabels(panelRepairList_Click);\r
ndockPanel.SetClickHandler(labelNDock_Click);\r
missionPanel.SetClickHandler(labelMission_Click);\r
+ SetContextToView();\r
PerformZoom();\r
}\r
\r
+ private void SetContextToView()\r
+ {\r
+ var context = new Context(Sniffer, Config, new NotifySubmitter(_notificationManager), () => _now);\r
+ hqPanel.Context = context;\r
+ }\r
+\r
private void SetScaleFactorOfDpiScaling()\r
{\r
var autoScaleDimensions = new SizeF(6f, 12f); // AutoScaleDimensionの初期値\r
{\r
_numberAndHistory = new NumberAndHistory(new NumberAndHistoryLabels\r
{\r
- NumOfShips = labelNumOfShips,\r
- NumOfEquips = labelNumOfEquips,\r
- NumOfBuckets = labelNumOfBuckets,\r
- BucketHistory = labelBucketHistory,\r
- Achievement = labelAchievement,\r
FuelHistory = labelFuelHistory,\r
BulletHistory = labelBulletHistory,\r
SteelHistory = labelSteelHistory,\r
{\r
if (update == Sniffer.Update.Start)\r
{\r
- labelLogin.Visible = false;\r
+ hqPanel.Login.Visible = false;\r
linkLabelGuide.Visible = false;\r
_started = true;\r
_notificationManager.StopAllRepeat();\r
var prev = CurrentAutoScaleDimensions;\r
foreach (var control in new Control[]\r
{\r
- this, labelLogin, linkLabelGuide,\r
+ this, linkLabelGuide, hqPanel.Login,\r
_configDialog, _configDialog.NotificationConfigDialog,\r
contextMenuStripMain, _errorDialog\r
})\r
if (TopMost != Config.TopMost)\r
TopMost = _listFormGroup.TopMost = Config.TopMost;\r
Sniffer.ShipCounter.Margin = Config.MarginShips;\r
- _numberAndHistory.UpdateNumOfShips();\r
Sniffer.ItemCounter.Margin = Config.MarginEquips;\r
- _numberAndHistory.UpdateNumOfEquips();\r
+ hqPanel.Update();\r
Sniffer.Achievement.ResetHours = Config.ResetHours;\r
labelAkashiRepair.Visible = labelAkashiRepairTimer.Visible =\r
labelPresetAkashiTimer.Visible = Config.UsePresetAkashi;\r
}\r
if (_playLog == null || _configDialog.Visible)\r
{\r
- labelPlayLog.Visible = false;\r
+ hqPanel.PlayLog.Visible = false;\r
return;\r
}\r
PlayLog();\r
{\r
if (!_playLog.MoveNext() || _playLog.Current == null)\r
{\r
- labelPlayLog.Visible = false;\r
+ hqPanel.PlayLog.Visible = false;\r
return;\r
}\r
} while (!_playLog.Current.StartsWith(s));\r
lines.Add(_playLog.Current.Substring(s.Length));\r
}\r
- labelPlayLog.Visible = !labelPlayLog.Visible;\r
+ hqPanel.PlayLog.Visible = !hqPanel.PlayLog.Visible;\r
ProcessRequestMain(lines[0], lines[1], lines[2]);\r
}\r
\r
\r
private void UpdateItemInfo()\r
{\r
+ hqPanel.Update();\r
_numberAndHistory.Update();\r
if (_listFormGroup.Visible)\r
_listFormGroup.UpdateList();\r
SetPreNotification(key, fleet, subject);\r
}\r
\r
- private void SetTimerColor(Label label, AlarmTimer timer, DateTime now)\r
- {\r
- label.ForeColor = timer.IsFinished(now) ? CUDColors.Red : Color.Black;\r
- }\r
-\r
private void UpdateCondTimers()\r
{\r
DateTime timer;\r
});\r
}\r
\r
- private void labelBucketHistoryButton_Click(object sender, EventArgs e)\r
- {\r
- if (labelBucketHistory.Visible)\r
- {\r
- labelBucketHistory.Visible = false;\r
- labelBucketHistoryButton.BackColor = DefaultBackColor;\r
- }\r
- else\r
- {\r
- labelBucketHistory.Visible = true;\r
- labelBucketHistory.BringToFront();\r
- labelBucketHistoryButton.BackColor = CustomColors.ActiveButtonColor;\r
- }\r
- }\r
-\r
- private void labelBucketHistory_Click(object sender, EventArgs e)\r
- {\r
- labelBucketHistory.Visible = false;\r
- labelBucketHistoryButton.BackColor = DefaultBackColor;\r
- }\r
-\r
private void labelMaterialHistoryButton_Click(object sender, EventArgs e)\r
{\r
if (panelMaterialHistory.Visible)\r