ux(button): show the label as a tooltip when QueryaButton truncates it
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 78/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
調査の方向性
querya_button.dart の、375 行目と 513 行目付近で示されているラベルのレイアウトと tooltip のロジックから始めます。LayoutBuilder と TextPainter を使い、1 行のテキストがラベルに使用できる幅を超えるか確認します。明示的に指定された tooltip は維持し、アイコンのみのボタンは対象外にします。ラベルが切り詰められる場合、ラベルが幅に収まる場合、明示的な tooltip がある場合のテストを追加または更新します。切り詰められたラベルだけが全文を tooltip として受け取れば完了です。
索引モデルが issue の本文から書いたものです。
説明
From a review of the component library, checked against dev.
Problem
QueryaButton draws its label with maxLines: 1 and TextOverflow.ellipsis (querya_button.dart, ~line 375). The tooltip is only shown when tooltip is set or the button is icon-only (~line 513). A label cut short by a narrow toolbar or a long translation therefore cannot be read by hovering.
Not this
Do not simply fall back to label as the tooltip: every button would then show "Save" over "Save" on hover.
Change
- Show the label as the tooltip only when it is actually truncated: lay the text out with a
TextPainter(maxLines: 1, the button's text style, the width the label gets) and checkdidExceedMaxLines, in aLayoutBuilder. An explicittooltipstill wins. - Check that a button which fits shows no tooltip, and that one which does not shows the full label.
Acceptance
- Narrow
QueryaButtonwith a long label shows the full label as a tooltip on hover. - A button that fits shows no tooltip of its own.
- The extra layout pass is not paid by buttons with an explicit tooltip, or by icon-only buttons.
Considered in the same review and left out
AppToastkeeps its overlay in statics (app_toast.dart:_entry,_overlay). The review wanted anAppToastScopefor multi-window use; the app has one window (bitsdojo_windowonly restyles it), so there is no problem to solve today.QueryaTabStripannouncing a tab change: each tab is aSemantics(button, selected)with its ownFocus, and arrow keys move focus, so a screen reader reads the selected tab already. An extraSemanticsService.announcewould read it twice.
- 主要言語
- Dart
- スター
- 23
- フォーク
- 1
- 平均マージ
- 31分
- マージ済み PR(30日)
- 570
環境構築
このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
QueryaHub/Querya-Desktop のほかの issue
-
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 日以内に返信
-
enhancement P3
難易度 2/5 1〜3時間 初心者へのやさしさ 79/100
QueryaHub/Querya-Desktop#1595 ·
メンテナーはふだん 1 日以内に返信
QueryaHub/Querya-Desktop の issue をすべて見る
似ている issue
-
agent:in-progress agent:ready feature P2 · 中 区域: 悬浮窗
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
ASDW51/DanmuFloat#178 ·
メンテナーはふだん 1 日以内に返信
-
Missing workoutsオープンenhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 67/100
InlitX/GymMane#237 · コメント 1 件 ·
メンテナーはふだん 5 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
AppFlowy-IO/AppFlowy#9077 ·
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
Abhinivesh2729/Thinai#41 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 64/100
0niel/university-app#617 ·
メンテナーはふだん 1 日以内に返信