From 9e4d8bd6d86372cb57bd11402b82f7b01a94110f Mon Sep 17 00:00:00 2001 From: ispyisail Date: Mon, 28 Sep 2026 06:24:43 +1300 Subject: [PATCH] drawing_faster: shortcut-bar tooltips, rotate vs orient texts, text angle dialog (pending #1084) --- drawing_faster.md | 53 ++++++++++++++++++++++-- images/drawing-orient-texts-dialog.png | Bin 0 -> 5934 bytes images/drawing-shortcut-bar-tooltip.png | Bin 0 -> 5295 bytes 3 files changed, 50 insertions(+), 3 deletions(-) create mode 100644 images/drawing-orient-texts-dialog.png create mode 100644 images/drawing-shortcut-bar-tooltip.png diff --git a/drawing_faster.md b/drawing_faster.md index 8154713..51e6558 100644 --- a/drawing_faster.md +++ b/drawing_faster.md @@ -17,7 +17,9 @@ and were built as a series of small pull requests, one per feature. > **Status: merged.** Every feature on this page is in QElectroTech's > master branch (the last pull requests merged on 27 September 2026), so it is -> in current development builds. +> in current development builds. One later change is still pending: the +> longer button tooltips and the text angle dialog in §5 and §7 +> ([PR #1084](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1084)). | § | Feature | How you reach it | Pull request | |---|---|---|---| @@ -164,8 +166,49 @@ top**, chosen for what is selected — the same idea as SolidWorks' S key. ![The shortcut bar with a symbol selected: rotate, orient texts, edit, copy, cut, delete](https://raw.githubusercontent.com/wiki/qelectrotech/qelectrotech-source-mirror/images/drawing-shortcut-bar-selection.png) -Each button runs **the same command as the menu** — hover it for the name. -Escape closes the bar without doing anything. +Each button runs **the same command as the menu**. Escape closes the bar +without doing anything. + +### What a button does + +> **Status: pending.** This part describes +> [PR #1084](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1084), +> not yet merged. Until it lands, a tooltip shows only the command's name +> (and its shortcut, on this bar). This notice will be removed once it does. + +Hover a button for its tooltip: the command's name, its keyboard shortcut if +it has one, and on a second line what it does — the same sentence the status +bar shows for that command in the menus. + +![Tooltip over the orient-texts button: "Orienter les textes (Ctrl+Space)" over "Pivote les textes sélectionnés à un angle précis"](https://raw.githubusercontent.com/wiki/qelectrotech/qelectrotech-source-mirror/images/drawing-shortcut-bar-tooltip.png) + +### Rotate or orient texts? + +The first two buttons for a selection are easy to confuse: + +| Button | Menu name | What it turns | How far | +|---|---|---|---| +| Rotate | *Pivoter* (Space) | the selected symbols, pictures and texts, each in place | 90° per click | +| Orient texts | *Orienter les textes* (Ctrl+Space) | only the selected **texts** and text groups — free texts, symbol texts, wire texts | to an exact angle you type | + +*Orienter les textes* is greyed out unless at least one text or text group is +selected: selecting a symbol does not select its texts. Click the text itself +(Ctrl+click to add more), then press the button. A dialog asks for the angle: +type it, or click one of the eight handles around the circle, then **OK**. + +> **Status: pending.** This part describes +> [PR #1084](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1084), +> not yet merged. Until it lands, the dialog always opens at 0°. This notice +> will be removed once it does. + +The dialog opens at the angle the selected texts already have, so turning a +vertical text by a few degrees means changing 90 to, say, 85 — not typing the +whole angle again. If the selected texts are at different angles it opens at +0°. The angle you enter replaces each text's angle; it is not added to it. + +![The text angle dialog opened on a text already at 90°: the spin box shows 90.00° and the preview text is vertical](https://raw.githubusercontent.com/wiki/qelectrotech/qelectrotech-source-mirror/images/drawing-orient-texts-dialog.png) + +Like every edit, orienting texts can be undone with Ctrl+Z. ### Choosing the commands @@ -264,6 +307,10 @@ customising one customises the other. ![A step selected, with rotate, orient texts, edit, copy, cut and delete buttons beside it](https://raw.githubusercontent.com/wiki/qelectrotech/qelectrotech-source-mirror/images/drawing-context-toolbar.png) +Hover a button for what it does, as on the shortcut bar (§5) +([PR #1084](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1084), +pending; until then the tooltip is only the command's name). + It fades as the mouse moves away and disappears beyond about 200 pixels, or at the next key press. It does **not** appear after dragging something, while placing a symbol or running a drawing tool, or on a read-only folio. diff --git a/images/drawing-orient-texts-dialog.png b/images/drawing-orient-texts-dialog.png new file mode 100644 index 0000000000000000000000000000000000000000..68aac9b44bf12bffbe2eb5d19e316d6c9dcc34f5 GIT binary patch literal 5934 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 literal 0 HcmV?d00001 diff --git a/images/drawing-shortcut-bar-tooltip.png b/images/drawing-shortcut-bar-tooltip.png new file mode 100644 index 0000000000000000000000000000000000000000..c09bbeea4423ca41847c32be1c8d1185db38bb5f GIT binary patch literal 5295 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 Bom&6^ literal 0 HcmV?d00001