OSDN Git Service

MyCommon.IsKeyDownメソッドの引数の形式を変更
authorKimura Youichi <kim.upsilon@bucyou.net>
Thu, 14 Dec 2023 17:09:08 +0000 (02:09 +0900)
committerKimura Youichi <kim.upsilon@bucyou.net>
Thu, 14 Dec 2023 19:02:40 +0000 (04:02 +0900)
OpenTween.Tests/MyCommonTest.cs
OpenTween/MyCommon.cs
OpenTween/Tween.cs

index 1261d47..8ebb2a1 100644 (file)
@@ -157,14 +157,14 @@ namespace OpenTween
             => Assert.Equal(expected, MyCommon.IsValidEmail(email));
 
         [Theory]
-        [InlineData(Keys.Shift, new[] { Keys.Shift }, true)]
-        [InlineData(Keys.Shift, new[] { Keys.Control }, false)]
-        [InlineData(Keys.Control | Keys.Alt, new[] { Keys.Control }, true)]
-        [InlineData(Keys.Control | Keys.Alt, new[] { Keys.Alt }, true)]
-        [InlineData(Keys.Control | Keys.Alt, new[] { Keys.Control, Keys.Alt }, true)]
-        [InlineData(Keys.Control | Keys.Alt, new[] { Keys.Shift }, false)]
-        public void IsKeyDownTest(Keys modifierKeys, Keys[] checkKeys, bool expected)
-            => Assert.Equal(expected, MyCommon.IsKeyDownInternal(modifierKeys, checkKeys));
+        [InlineData(Keys.Shift, Keys.Shift, true)]
+        [InlineData(Keys.Shift, Keys.Control, false)]
+        [InlineData(Keys.Control | Keys.Alt, Keys.Control, true)]
+        [InlineData(Keys.Control | Keys.Alt, Keys.Alt, true)]
+        [InlineData(Keys.Control | Keys.Alt, Keys.Control | Keys.Alt, true)]
+        [InlineData(Keys.Control | Keys.Alt, Keys.Shift, false)]
+        public void IsKeyDownTest(Keys modifierKeys, Keys checkKeys, bool expected)
+            => Assert.Equal(expected, MyCommon.IsKeyDown(modifierKeys, checkKeys));
 
         [Fact]
         public void GetAssemblyNameTest()
index e6b1f3d..0732c2e 100644 (file)
@@ -757,20 +757,11 @@ namespace OpenTween
         /// </summary>
         /// <param name="keys">状態を調べるキー</param>
         /// <returns><paramref name="keys"/> で指定された修飾キーがすべて押されている状態であれば true。それ以外であれば false。</returns>
-        public static bool IsKeyDown(params Keys[] keys)
-            => MyCommon.IsKeyDownInternal(Control.ModifierKeys, keys);
+        public static bool IsKeyDown(Keys keys)
+            => MyCommon.IsKeyDown(Control.ModifierKeys, keys);
 
-        internal static bool IsKeyDownInternal(Keys modifierKeys, Keys[] targetKeys)
-        {
-            foreach (var key in targetKeys)
-            {
-                if ((modifierKeys & key) != key)
-                {
-                    return false;
-                }
-            }
-            return true;
-        }
+        public static bool IsKeyDown(Keys modifierKeys, Keys targetKeys)
+            => (modifierKeys & targetKeys) == targetKeys;
 
         /// <summary>
         /// アプリケーションのアセンブリ名を取得します。
index 8ae352b..00cef7a 100644 (file)
@@ -8188,7 +8188,7 @@ namespace OpenTween
 
         private void MenuItemHelp_DropDownOpening(object sender, EventArgs e)
         {
-            if (MyCommon.DebugBuild || MyCommon.IsKeyDown(Keys.CapsLock, Keys.Control, Keys.Shift))
+            if (MyCommon.DebugBuild || MyCommon.IsKeyDown(Keys.CapsLock | Keys.Control | Keys.Shift))
                 this.DebugModeToolStripMenuItem.Visible = true;
             else
                 this.DebugModeToolStripMenuItem.Visible = false;