OSDN Git Service

任務名をダブルクリックでクリップボードにコピーする
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Mon, 12 Feb 2018 11:24:26 +0000 (20:24 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Mon, 12 Feb 2018 12:27:30 +0000 (21:27 +0900)
KancolleSniffer/MainForm.Designer.cs
KancolleSniffer/MainForm.cs

index 7fd0633..4417612 100644 (file)
@@ -960,6 +960,7 @@ namespace KancolleSniffer
             this.labelQuest6.Name = "labelQuest6";\r
             this.labelQuest6.Size = new System.Drawing.Size(193, 12);\r
             this.labelQuest6.TabIndex = 10;\r
+            this.labelQuest6.DoubleClick += new System.EventHandler(this.labelQuest_DoubleClick);\r
             // \r
             // labelProgress5\r
             // \r
@@ -1007,6 +1008,7 @@ namespace KancolleSniffer
             this.labelQuest5.Name = "labelQuest5";\r
             this.labelQuest5.Size = new System.Drawing.Size(193, 12);\r
             this.labelQuest5.TabIndex = 4;\r
+            this.labelQuest5.DoubleClick += new System.EventHandler(this.labelQuest_DoubleClick);\r
             // \r
             // labelQuest4\r
             // \r
@@ -1014,6 +1016,7 @@ namespace KancolleSniffer
             this.labelQuest4.Name = "labelQuest4";\r
             this.labelQuest4.Size = new System.Drawing.Size(193, 12);\r
             this.labelQuest4.TabIndex = 3;\r
+            this.labelQuest4.DoubleClick += new System.EventHandler(this.labelQuest_DoubleClick);\r
             // \r
             // labelQuest3\r
             // \r
@@ -1021,6 +1024,7 @@ namespace KancolleSniffer
             this.labelQuest3.Name = "labelQuest3";\r
             this.labelQuest3.Size = new System.Drawing.Size(193, 12);\r
             this.labelQuest3.TabIndex = 2;\r
+            this.labelQuest3.DoubleClick += new System.EventHandler(this.labelQuest_DoubleClick);\r
             // \r
             // labelQuest2\r
             // \r
@@ -1028,6 +1032,7 @@ namespace KancolleSniffer
             this.labelQuest2.Name = "labelQuest2";\r
             this.labelQuest2.Size = new System.Drawing.Size(193, 12);\r
             this.labelQuest2.TabIndex = 1;\r
+            this.labelQuest2.DoubleClick += new System.EventHandler(this.labelQuest_DoubleClick);\r
             // \r
             // labelQuest1\r
             // \r
@@ -1035,6 +1040,7 @@ namespace KancolleSniffer
             this.labelQuest1.Name = "labelQuest1";\r
             this.labelQuest1.Size = new System.Drawing.Size(193, 12);\r
             this.labelQuest1.TabIndex = 0;\r
+            this.labelQuest1.DoubleClick += new System.EventHandler(this.labelQuest_DoubleClick);\r
             // \r
             // notifyIconMain\r
             // \r
index bc4606a..ac6b9fc 100644 (file)
@@ -36,7 +36,8 @@ namespace KancolleSniffer
         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
@@ -939,24 +940,24 @@ namespace KancolleSniffer
                     category[i].BackColor = quests[i].Color;\r
                     name[i].Text = quests[i].Name;\r
                     progress[i].Text = $"{quests[i].Progress:D}%";\r
-                    _toolTip.SetToolTip(name[i], quests[i].Detail);\r
+                    _toolTipQuest.SetToolTip(name[i], quests[i].Detail);\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(count[i], "");\r
                 }\r
             }\r
         }\r
@@ -1166,6 +1167,19 @@ namespace KancolleSniffer
             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