ui: context menus and the title-bar menus on the kit's menu surface (#1465)
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 50/100
- Issue 类型
- 功能
- 描述清晰度
- 描述清楚
- 活跃度
- 活跃
- 领域
- desktop-dev, frontend
调研方向
Start with querya_menu_surface.dart and compare the existing MenuAnchor surface with the four listed areas: features/connections, querya_window_title_bar.dart, erd_table_menu.dart, erd_group_menu.dart, and grid_cell_actions.dart. Then inspect the existing menu tests and their ValueKeys. Done means all listed menus use the kit, the shadcn guard passes, and the required keyboard and widget-test acceptance criteria are met.
由索引模型根据 Issue 内容生成。
描述
Part of #1465 (step 4a).
Problem
Right-click menus and the window menu bar are shadcn widgets while every other menu (dropdowns, split and menu buttons) is the kit's MenuAnchor surface (querya_menu_surface.dart, queryaMenuItems). Uses on dev (2026-10-18): MenuButton 114, ContextMenu 15, MenuDivider 15, MenuItem 13, showContextMenuBuilder 1, Menubar 1.
Where:
- connection tree context menus (
features/connections, ~45 entries: Postgres / MySQL / SQLite / Mongo / Redis / extension trees, folders, sidebar) - window title bar menus File / Edit / View / Connection / Help (
querya_window_title_bar.dart,Menubar+ 30 entries) - ERD card and group menus (
erd_table_menu.dart,erd_group_menu.dart, ~24) - result grid cell menu (
grid_cell_actions.dart,showContextMenuBuilder, ~15)
The two menu styles look and behave differently (padding, hover, keyboard, submenu arrow), so the same app has two kinds of menus.
Change
QueryaContextMenu(wraps a child, opens on secondary tap / long press / context-menu key at the pointer) and a menu entry model with submenu, divider, shortcut hint and disabled state, all on the kit's menu surface.QueryaMenuBarfor the title bar on the same surface (keyboard: Alt / F10 opens, arrows move between menus).- Migrate the four areas above, one PR each if it gets big; keep every
ValueKeythe tests use. - Guard: no
ContextMenu,MenuButton,MenuDivider,MenuItem,Menubar,showContextMenuBuilderfrom shadcn inlib/.
Acceptance
- All context menus and the menu bar use the kit; the guard passes.
- Keyboard: menus open with the context-menu key / Shift+F10, arrows and Esc work, submenus open with Right.
- Widget tests for open / select / submenu / Esc; existing menu tests pass with their keys.
- 主要语言
- Dart
- 星标
- 23
- 派生
- 1
- 平均合并
- 31 分钟
- 30 天内合并 PR
- 570
环境准备
在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
QueryaHub/Querya-Desktop 的其他 Issue
-
enhancement ui
难度 2/5 1-3 小时 新手友好度 78/100
QueryaHub/Querya-Desktop#1689 ·
维护者通常 1 天内回复
-
ui(dialogs): make destructive query and DML preview dialogs adaptive and prevent table name overflow未关闭bug frontend
难度 2/5 1-3 小时 新手友好度 82/100
QueryaHub/Querya-Desktop#1642 ·
维护者通常 1 天内回复
-
bug error-handling settings
难度 1/5 1-3 小时 新手友好度 78/100
QueryaHub/Querya-Desktop#1637 ·
维护者通常 1 天内回复
-
enhancement
难度 1/5 1 小时以内 新手友好度 88/100
QueryaHub/Querya-Desktop#1636 ·
维护者通常 1 天内回复
-
enhancement marketplace
难度 2/5 1-3 小时 新手友好度 78/100
QueryaHub/Querya-Desktop#1635 ·
维护者通常 1 天内回复
查看 QueryaHub/Querya-Desktop 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 82/100
维护者通常 1 天内回复
-
good-first-issue P3
难度 2/5 1-3 小时 新手友好度 88/100
flutter/dart-intellij-third-party#758 ·
维护者通常 1 天内回复
-
Bug: Incorrect location coordinates on logged Sound Meter data可能已有人在做 @Jashan32 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复
-
area/archive bug
难度 2/5 1-3 小时 新手友好度 76/100
DarkFlippers/qUnleashed#374 ·
维护者通常 1 天内回复
-
agent:in-progress agent:ready feature P2 · 中 区域: 悬浮窗
难度 2/5 1-3 小时 新手友好度 85/100
ASDW51/DanmuFloat#178 ·
维护者通常 1 天内回复