forked from 1b-agent/opencadstudio-upstream
Put the rest of the selection settings on the Options card
Options → Selection already carried the pick box, the selection-area effect and the grip visuals. Four settings behind it were finished, persisted and reachable only by typing a system variable, and one more was a constant. **Four that only needed a widget.** `SELECTIONEFFECT`, `SELECTIONPREVIEW`, `PICKADD` and `PICKDRAG` are all wired end to end already. `SELECTIONEFFECT` was the odd one: the card's own "Restore Defaults" button resets it, so it could be turned off by a button and only turned back on from the command line. `SELECTIONPREVIEW` is a bitmask and gets one checkbox per bit, which is why `set_preview_bit` exists rather than two inline expressions — the bits are the thing this change is most able to get backwards. The `PICKADD` checkbox is worded as AutoCAD words it, "use Shift to add to selection", which is the *inverse* of the stored flag. That inversion is commented at both ends; it reads as a bug otherwise. **`GRIPOBJLIMIT`.** The limit past which a selection gets no grips arrived with the selection work as a hardcoded 100, matching AutoCAD's default. It is now a setting, a slider and a system variable, following `PICKBOX`'s path exactly. AutoCAD's 0 means "no limit", which the old `>` comparison could not express, so the read now guards on it — with a test, because zero is the one value that would otherwise suppress every grip instead of allowing all of them. The slider covers 0..=1000, where every useful value lives; the sysvar takes AutoCAD's full 0..=32767, and a larger value set from the command line parks the handle at the end while the read-out keeps showing the real number. **`SelectionPrefs`** replaces the `pick_box` parameter rather than adding three more. `view_window` already took seventeen positional arguments, and `pick_add` / `pick_drag_rect` are two adjacent `bool`s that would swap silently at the call site. **Two fixes found on the way.** `OPTIONS` and `OP` were registered for autocomplete but never dispatched, so typing either answered "Unknown command" and the dialog could only be opened from the start page. And the `SELECTIONPREVIEW` doc comment had its bits the wrong way round — the code reads `& 1` for the idle rollover and `& 2` for the in-command one, as AutoCAD does — which would have put the two new checkboxes' labels backwards. **Not done, deliberately.** `PICKFIRST` and `PICKAUTO` exist but are always on, with no variable. `PICKSTYLE` is stored in the header and read by nobody — group expansion decides from the group's own `selectable` flag — so an "object grouping" checkbox would control nothing. Associative-hatch selection does not exist as a selection behaviour. Each needs a behaviour change rather than an exposure. Of the ten new strings, en-US and el-GR are translated; the other nineteen locales carry the English text. Composing them from existing keys, the way el-GR composes the neighbouring labels, only works for one of the ten — there is no existing key for "limit", "unlimited", "shift", "rectangle" or "lasso", and "Grips: Objects" as the label of a numeric limit would be worse than an untranslated string. Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
1 parent
f9cacaec2b
commit
cabb20db45
33 files changed
+585
-37
No files matched your search
@@ -1379,6 +1379,16 @@ common =
|
||||
.pick-box-size = { common.pickbox }: { common.size }
|
||||
.controls-both-the-visible-selection-box-and-the-click-aperture = Управляет видимым прицелом выбора и областью щелчка.
|
||||
.visual-effect-settings = { common.visual-effects } · { properties.settings }
|
||||
.selection-modes = Selection Modes
|
||||
.use-shift-to-add-to-selection-pickadd = Use Shift to add to selection (PICKADD)
|
||||
.press-and-drag-draws-a-rectangle-instead-of-a-lasso-pickdrag = Press and drag draws a rectangle instead of a lasso (PICKDRAG)
|
||||
.show-selection-effect-selectioneffect = Show selection effect (SELECTIONEFFECT)
|
||||
.preview-selection-when-no-command-is-active = Preview selection when no command is active
|
||||
.preview-selection-during-a-command = Preview selection during a command
|
||||
.highlights-the-object-under-the-cursor-before-it-is-picked-selectionpreview = Highlights the object under the cursor before it is picked (SELECTIONPREVIEW).
|
||||
.object-limit-for-grips = Object limit for grips
|
||||
.unlimited = Unlimited
|
||||
.past-this-many-selected-objects-no-grips-are-drawn-0-removes-the-limit-gripobjlimit = Past this many selected objects no grips are drawn; 0 removes the limit (GRIPOBJLIMIT).
|
||||
.indicate-selection-area-with-transparent-fill-selectionarea = Показывать область выбора прозрачной заливкой (SELECTIONAREA)
|
||||
.selection-area-opacity = { common.selection }: { properties.opacity }
|
||||
.transparency-of-the-window-and-crossing-selection-areas-selectionareaopacity = Прозрачность областей выбора рамкой и секущей рамкой (SELECTIONAREAOPACITY).
|
||||
@@ -1657,7 +1667,7 @@ common =
|
||||
.layerstate-no-saved-states-use-layerstate-save-name = LAYERSTATE: нет сохранённых состояний. Используйте LAYERSTATE SAVE <имя>.
|
||||
.usage-color-bylayer-byblock-1-255-red-yellow-green-cyan-blue-magenta-white = Использование: COLOR <ByLayer|ByBlock|1-255|red|yellow|green|cyan|blue|magenta|white>
|
||||
.usage-chprop-prop-val-props-layer-color-linetype-ltscale = Использование: CHPROP <{ common.property }> <{ common.value }> ({ common.property }: LAYER COLOR LINETYPE LTSCALE)
|
||||
.setvar-ltscale-celtscale-pdmode-pdsize-textsize-orthomode-fillmode-mirrtext-fram = SETVAR: LTSCALE CELTSCALE PDMODE PDSIZE TEXTSIZE ORTHOMODE FILLMODE MIRRTEXT FRAME IMAGEFRAME PDFFRAME WIPEOUTFRAME XCLIPFRAME POINTCLOUDCLIPFRAME ZOOMWHEEL ZOOMFACTOR CURSORSIZE PICKBOX CURSORTYPE SNAPANG TEXTFILL CLIPROMPTLINES COMMANDLINEFADETIME ATTREQ ATTDIA DIMASSOC DIMCONTINUEMODE ANGBASE ANGDIR SKETCHINC SKPOLY SKTOLERANCE DONUTID DONUTOD CENTEREXE CENTERLAYER CENTERLTYPE CENTERLTSCALE CENTERLTYPEFILE CENTERCROSSSIZE CENTERCROSSGAP CENTERMARKEXE COLORTHEME SELECTIONAREA SELECTIONAREAOPACITY SELECTIONEFFECT SELECTIONEFFECTCOLOR WINDOWSAREACOLOR CROSSINGAREACOLOR SELECTIONPREVIEW GRIPSIZE GRIPCOLOR GRIPHOT GRIPHOVER | CLAYER CELTYPE TEXTSTYLE ({ common.read-only })
|
||||
.setvar-ltscale-celtscale-pdmode-pdsize-textsize-orthomode-fillmode-mirrtext-fram = SETVAR: LTSCALE CELTSCALE PDMODE PDSIZE TEXTSIZE ORTHOMODE FILLMODE MIRRTEXT FRAME IMAGEFRAME PDFFRAME WIPEOUTFRAME XCLIPFRAME POINTCLOUDCLIPFRAME ZOOMWHEEL ZOOMFACTOR CURSORSIZE PICKBOX CURSORTYPE SNAPANG TEXTFILL CLIPROMPTLINES COMMANDLINEFADETIME ATTREQ ATTDIA DIMASSOC DIMCONTINUEMODE ANGBASE ANGDIR SKETCHINC SKPOLY SKTOLERANCE DONUTID DONUTOD CENTEREXE CENTERLAYER CENTERLTYPE CENTERLTSCALE CENTERLTYPEFILE CENTERCROSSSIZE CENTERCROSSGAP CENTERMARKEXE COLORTHEME SELECTIONAREA SELECTIONAREAOPACITY SELECTIONEFFECT SELECTIONEFFECTCOLOR WINDOWSAREACOLOR CROSSINGAREACOLOR SELECTIONPREVIEW GRIPSIZE GRIPCOLOR GRIPHOT GRIPHOVER GRIPOBJLIMIT | CLAYER CELTYPE TEXTSTYLE ({ common.read-only })
|
||||
.setvar-dimcontinuemode-requires-0-or-1 = SETVAR: DIMCONTINUEMODE = 0 / 1.
|
||||
.setvar-donutid-requires-a-finite-value-greater-than-or-equal-to-zero = SETVAR: DONUTID требует конечное значение, большее или равное нулю.
|
||||
.setvar-donutod-requires-a-finite-value-greater-than-zero = SETVAR: DONUTOD требует конечное значение больше нуля.
|
||||
|
||||
Reference in new issue
Block a user