ux(button): show the label as a tooltip when QueryaButton truncates it
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 78/100
- Issue-Typ
- Bug
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Aktiv
- Bereich
- accessibility, frontend
Rechercherichtung
Beginne in querya_button.dart bei der Beschriftungsanordnung und der Tooltip-Logik, die etwa in den Zeilen 375 und 513 erwähnt werden. Verwende LayoutBuilder und TextPainter, um zu prüfen, ob die einzelne Zeile die verfügbare Breite der Beschriftung überschreitet. Explizite Tooltips sollen dabei erhalten bleiben und Buttons, die nur aus einem Icon bestehen, übersprungen werden. Füge Tests für eine abgeschnittene Beschriftung, eine passende Beschriftung und explizite Tooltips hinzu oder aktualisiere sie. Fertig ist es, wenn nur die abgeschnittene Beschriftung ihren vollständigen Text als Tooltip erhält.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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.
- Vorherrschende Sprache
- Dart
- Sterne
- 23
- Forks
- 1
- Ø Merge
- 31 Min.
- Gemergte PRs (30 T.)
- 570
Entwicklungsumgebung
Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus QueryaHub/Querya-Desktop
-
ui(dialogs): make destructive query and DML preview dialogs adaptive and prevent table name overflowOffenbug frontend
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
QueryaHub/Querya-Desktop#1642 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug error-handling settings
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 78/100
QueryaHub/Querya-Desktop#1637 ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
QueryaHub/Querya-Desktop#1636 ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement marketplace
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
QueryaHub/Querya-Desktop#1635 ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement P3
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 79/100
QueryaHub/Querya-Desktop#1595 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in QueryaHub/Querya-Desktop
Ähnliche Issues
-
enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 64/100
0niel/university-app#617 ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
linagora/tmail-flutter#5010 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 65/100
chriskelly/wish-together#36 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
AppFlowy-IO/AppFlowy#9075 ·
-
[web] Semantics `lang` attribute uses `Locale.toString()`, producing invalid tags like `es_US`Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag