浏览代码

WindowServer: Allow checking checkable entries in a menu using space

networkException 3 年之前
父节点
当前提交
e2df145e14
共有 1 个文件被更改,包括 11 次插入0 次删除
  1. 11 0
      Userland/Services/WindowServer/MenuManager.cpp

+ 11 - 0
Userland/Services/WindowServer/MenuManager.cpp

@@ -137,6 +137,17 @@ void MenuManager::event(Core::Event& event)
                     m_current_menu->open_hovered_item(key_event.modifiers() & KeyModifier::Mod_Ctrl);
                     m_current_menu->open_hovered_item(key_event.modifiers() & KeyModifier::Mod_Ctrl);
                 return;
                 return;
             }
             }
+
+            if (key_event.key() == Key_Space) {
+                auto* hovered_item = m_current_menu->hovered_item();
+                if (!hovered_item || !hovered_item->is_enabled())
+                    return;
+                if (!hovered_item->is_checkable())
+                    return;
+
+                m_current_menu->open_hovered_item(true);
+            }
+
             m_current_menu->dispatch_event(event);
             m_current_menu->dispatch_event(event);
         }
         }
     }
     }