private readonly Config _config = new Config();\r
private readonly ConfigDialog _configDialog;\r
private readonly ProxyManager _proxyManager;\r
- private readonly ToolTip _toolTip = new ToolTip {ShowAlways = true};\r
+ private readonly ToolTip _toolTipQuest = new ToolTip {ShowAlways = true};\r
+ private readonly ToolTip _tooltipCopy = new ToolTip {AutomaticDelay = 0};\r
private int _currentFleet;\r
private bool _combinedFleet;\r
private readonly Label[] _labelCheckFleets;\r
private DateTime _prev, _now;\r
\r
private readonly ErrorDialog _errorDialog = new ErrorDialog();\r
- private readonly KancolleDb _kancolleDb = new KancolleDb();\r
private readonly ErrorLog _errorLog;\r
\r
public MainForm()\r
\r
private void HttpProxy_AfterSessionComplete(HttpProxy.Session session)\r
{\r
- Invoke(new Action<HttpProxy.Session>(ProcessRequest), session);\r
+ BeginInvoke(new Action<HttpProxy.Session>(ProcessRequest), session);\r
}\r
\r
private void ProcessRequest(HttpProxy.Session session)\r
WriteDebugLog(url, request, response);\r
return;\r
}\r
- if (_config.KancolleDb.On)\r
- _kancolleDb.Send(url, request, response);\r
response = UnescapeString(response.Remove(0, "svdata=".Length));\r
WriteDebugLog(url, request, response);\r
ProcessRequestMain(url, request, response);\r
if (_errorDialog.ShowDialog(this,\r
"艦これに仕様変更があったか、受信内容が壊れています。",\r
_errorLog.GenerateErrorLog(url, request, response, e.ToString())) == DialogResult.Abort)\r
- Application.Exit();\r
+ Exit();\r
}\r
catch (LogIOException e)\r
{\r
// ReSharper disable once PossibleNullReferenceException\r
if (_errorDialog.ShowDialog(this, e.Message, e.InnerException.ToString()) == DialogResult.Abort)\r
- Application.Exit();\r
+ Exit();\r
}\r
catch (BattleResultError)\r
{\r
if (_errorDialog.ShowDialog(this, "戦闘結果の計算に誤りがあります。",\r
_errorLog.GenerateBattleErrorLog()) == DialogResult.Abort)\r
- Application.Exit();\r
+ Exit();\r
}\r
catch (Exception e)\r
{\r
if (_errorDialog.ShowDialog(this, "エラーが発生しました。",\r
_errorLog.GenerateErrorLog(url, request, response, e.ToString())) == DialogResult.Abort)\r
- Application.Exit();\r
+ Exit();\r
}\r
}\r
\r
+ private void Exit()\r
+ {\r
+ _proxyManager.Shutdown();\r
+ Environment.Exit(1);\r
+ }\r
+\r
private void WriteDebugLog(string url, string request, string response)\r
{\r
if (_debugLogFile != null)\r
ApplyDebugLogSetting();\r
ApplyLogSetting();\r
ApplyProxySetting();\r
- if (_config.KancolleDb.On)\r
- _kancolleDb.Start(_config.KancolleDb.Token);\r
CheckVersionUp((current, latest) =>\r
{\r
if (double.Parse(latest) <= double.Parse(current))\r
_config.ShowHpInPercent = _shipLabels.ShowHpInPercent;\r
_config.ShipList.Visible = _listForm.Visible && _listForm.WindowState == FormWindowState.Normal;\r
_config.Save();\r
+ _sniffer.SaveState();\r
_proxyManager.Shutdown();\r
- _kancolleDb.Stop();\r
}\r
\r
private void MainForm_Resize(object sender, EventArgs e)\r
foreach (var control in new Control[]\r
{\r
this, _listForm, labelLogin, linkLabelGuide,\r
- _configDialog, contextMenuStripMain, _errorDialog\r
+ _configDialog, _configDialog.NotificationConfigDialog,\r
+ contextMenuStripMain, _errorDialog\r
})\r
{\r
control.Font = new Font(control.Font.FontFamily, control.Font.Size * _config.Zoom / 100);\r
_sniffer.Achievement.ResetHours = _config.ResetHours;\r
labelAkashiRepair.Visible = labelAkashiRepairTimer.Visible =\r
labelPresetAkashiTimer.Visible = _config.UsePresetAkashi;\r
- if (_config.KancolleDb.On)\r
- _kancolleDb.Start(_config.KancolleDb.Token);\r
}\r
\r
public void ApplyDebugLogSetting()\r
category[i].BackColor = quests[i].Color;\r
name[i].Text = quests[i].Name;\r
progress[i].Text = $"{quests[i].Progress:D}%";\r
+ _toolTipQuest.SetToolTip(name[i], quests[i].ToToolTip());\r
var c = quests[i].Count;\r
if (c.Id == 0)\r
{\r
count[i].Text = "";\r
count[i].ForeColor = Color.Black;\r
- _toolTip.SetToolTip(count[i], "");\r
+ _toolTipQuest.SetToolTip(count[i], "");\r
continue;\r
}\r
count[i].Text = " " + c;\r
count[i].ForeColor = c.Cleared ? CUDColor.Green : Color.Black;\r
- _toolTip.SetToolTip(count[i], c.ToToolTip());\r
+ _toolTipQuest.SetToolTip(count[i], c.ToToolTip());\r
}\r
else\r
{\r
category[i].BackColor = DefaultBackColor;\r
name[i].Text = count[i].Text = progress[i].Text = "";\r
- _toolTip.SetToolTip(count[i], "");\r
+ _toolTipQuest.SetToolTip(name[i], "");\r
+ _toolTipQuest.SetToolTip(count[i], "");\r
}\r
}\r
}\r
UpdateQuestList();\r
}\r
\r
+ private void labelClearQuest_MouseDown(object sender, MouseEventArgs e)\r
+ {\r
+ labelClearQuest.BackColor = _activeButtonColor;\r
+ }\r
+\r
+ private void labelClearQuest_MouseUp(object sender, MouseEventArgs e)\r
+ {\r
+ labelClearQuest.BackColor = DefaultBackColor;\r
+ }\r
+\r
+ private void labelQuest_DoubleClick(object sender, EventArgs e)\r
+ {\r
+ var label = (Label)sender;\r
+ Clipboard.SetText(label.Text);\r
+ _tooltipCopy.Active = true;\r
+ _tooltipCopy.Show("コピーしました。", label);\r
+ Task.Run(async () =>\r
+ {\r
+ await Task.Delay(1000);\r
+ _tooltipCopy.Active = false;\r
+ });\r
+ }\r
+\r
private void CaptureToolStripMenuItem_Click(object sender, EventArgs e)\r
{\r
try\r