From cabb20db4509ec70618101c27d3cdeb980e5b2ca Mon Sep 17 00:00:00 2001 From: Panos <25664832+mechpanos@users.noreply.github.com> Date: Wed, 9 Sep 2026 13:19:06 +0300 Subject: [PATCH] Put the rest of the selection settings on the Options card MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- locales/ar-SA/opencadstudio.ftl | 12 +++- locales/bg-BG/opencadstudio.ftl | 12 +++- locales/cs-CZ/opencadstudio.ftl | 12 +++- locales/de-DE/opencadstudio.ftl | 12 +++- locales/el-GR/opencadstudio.ftl | 12 +++- locales/en-US/opencadstudio.ftl | 12 +++- locales/es-ES/opencadstudio.ftl | 12 +++- locales/fi-FI/opencadstudio.ftl | 12 +++- locales/fr-FR/opencadstudio.ftl | 12 +++- locales/hi-IN/opencadstudio.ftl | 12 +++- locales/hu-HU/opencadstudio.ftl | 12 +++- locales/it-IT/opencadstudio.ftl | 12 +++- locales/ja-JP/opencadstudio.ftl | 12 +++- locales/ko-KR/opencadstudio.ftl | 12 +++- locales/nl-NL/opencadstudio.ftl | 12 +++- locales/pl-PL/opencadstudio.ftl | 12 +++- locales/pt-BR/opencadstudio.ftl | 12 +++- locales/ru-RU/opencadstudio.ftl | 12 +++- locales/tr-TR/opencadstudio.ftl | 12 +++- locales/zh-CN/opencadstudio.ftl | 12 +++- locales/zh-TW/opencadstudio.ftl | 12 +++- src/app/commands/mod.rs | 5 ++ src/app/commands/styleprops.rs | 20 +++++- src/app/commands/view.rs | 8 +++ src/app/config.rs | 6 +- src/app/mod.rs | 18 +++++ src/app/properties.rs | 81 +++++++++++++++++++--- src/app/settings.rs | 11 +++ src/app/update/file.rs | 2 + src/app/update/mod.rs | 82 ++++++++++++++++++++++ src/app/view/modal.rs | 7 +- src/locale_catalog.rs | 12 +++- src/ui/window/options.rs | 118 +++++++++++++++++++++++++++++++- 33 files changed, 585 insertions(+), 37 deletions(-) diff --git a/locales/ar-SA/opencadstudio.ftl b/locales/ar-SA/opencadstudio.ftl index 0a39768ce..1604201d4 100644 --- a/locales/ar-SA/opencadstudio.ftl +++ b/locales/ar-SA/opencadstudio.ftl @@ -1388,6 +1388,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). @@ -1666,7 +1676,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 .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 قيمة محدودة أكبر من الصفر. diff --git a/locales/bg-BG/opencadstudio.ftl b/locales/bg-BG/opencadstudio.ftl index 6e7a791ec..0f895c0da 100644 --- a/locales/bg-BG/opencadstudio.ftl +++ b/locales/bg-BG/opencadstudio.ftl @@ -1375,6 +1375,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). @@ -1653,7 +1663,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 .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 изисква крайна стойност, по-голяма от нула. diff --git a/locales/cs-CZ/opencadstudio.ftl b/locales/cs-CZ/opencadstudio.ftl index fe39582e9..4acd2e288 100644 --- a/locales/cs-CZ/opencadstudio.ftl +++ b/locales/cs-CZ/opencadstudio.ftl @@ -1375,6 +1375,16 @@ common = .pick-box-size = { common.pickbox }: { common.size } .controls-both-the-visible-selection-box-and-the-click-aperture = Ovládá viditelný výběrový rámeček i oblast kliknutí. .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 = Zobrazit oblast výběru průhlednou výplní (SELECTIONAREA) .selection-area-opacity = { common.selection }: { properties.opacity } .transparency-of-the-window-and-crossing-selection-areas-selectionareaopacity = Průhlednost oblastí výběru oknem a křížením (SELECTIONAREAOPACITY). @@ -1653,7 +1663,7 @@ common = .layerstate-no-saved-states-use-layerstate-save-name = LAYERSTATE: žádné uložené stavy. Použijte LAYERSTATE SAVE . .usage-color-bylayer-byblock-1-255-red-yellow-green-cyan-blue-magenta-white = Použití: COLOR .usage-chprop-prop-val-props-layer-color-linetype-ltscale = Použití: 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 vyžaduje konečnou hodnotu větší nebo rovnou nule. .setvar-donutod-requires-a-finite-value-greater-than-zero = SETVAR: DONUTOD vyžaduje konečnou hodnotu větší než nula. diff --git a/locales/de-DE/opencadstudio.ftl b/locales/de-DE/opencadstudio.ftl index e3f676f6a..5856adc57 100644 --- a/locales/de-DE/opencadstudio.ftl +++ b/locales/de-DE/opencadstudio.ftl @@ -1376,6 +1376,16 @@ common = .pick-box-size = { common.pickbox }: { common.size } .controls-both-the-visible-selection-box-and-the-click-aperture = Steuert sowohl das sichtbare Auswahlkästchen als auch den Klickbereich. .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 = Auswahlbereich mit transparenter Füllung anzeigen (SELECTIONAREA) .selection-area-opacity = { common.selection }: { properties.opacity } .transparency-of-the-window-and-crossing-selection-areas-selectionareaopacity = Transparenz der Fenster- und Kreuzen-Auswahlbereiche (SELECTIONAREAOPACITY). @@ -1654,7 +1664,7 @@ common = .layerstate-no-saved-states-use-layerstate-save-name = LAYERSTATE: Keine gespeicherten Zustände. LAYERSTATE SAVE verwenden. .usage-color-bylayer-byblock-1-255-red-yellow-green-cyan-blue-magenta-white = Aufruf: COLOR .usage-chprop-prop-val-props-layer-color-linetype-ltscale = Aufruf: 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 muss endlich und größer oder gleich null sein. .setvar-donutod-requires-a-finite-value-greater-than-zero = SETVAR: DONUTOD muss endlich und größer als null sein. diff --git a/locales/el-GR/opencadstudio.ftl b/locales/el-GR/opencadstudio.ftl index 5dba873a3..96d170fd6 100644 --- a/locales/el-GR/opencadstudio.ftl +++ b/locales/el-GR/opencadstudio.ftl @@ -1377,6 +1377,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 = Τρόποι επιλογής + .use-shift-to-add-to-selection-pickadd = Χρήση Shift για προσθήκη στην επιλογή (PICKADD) + .press-and-drag-draws-a-rectangle-instead-of-a-lasso-pickdrag = Το πάτημα-και-σύρσιμο σχεδιάζει ορθογώνιο αντί για λάσο (PICKDRAG) + .show-selection-effect-selectioneffect = Εμφάνιση εφέ επιλογής (SELECTIONEFFECT) + .preview-selection-when-no-command-is-active = Προεπισκόπηση επιλογής όταν δεν εκτελείται εντολή + .preview-selection-during-a-command = Προεπισκόπηση επιλογής κατά την εκτέλεση εντολής + .highlights-the-object-under-the-cursor-before-it-is-picked-selectionpreview = Τονίζει το αντικείμενο κάτω από τον δείκτη πριν επιλεγεί (SELECTIONPREVIEW). + .object-limit-for-grips = Όριο αντικειμένων για λαβές + .unlimited = Χωρίς όριο + .past-this-many-selected-objects-no-grips-are-drawn-0-removes-the-limit-gripobjlimit = Πάνω από τόσα επιλεγμένα αντικείμενα δεν σχεδιάζονται λαβές· το 0 αναιρεί το όριο (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). @@ -1655,7 +1665,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 .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 απαιτεί πεπερασμένη τιμή μεγαλύτερη του μηδενός. diff --git a/locales/en-US/opencadstudio.ftl b/locales/en-US/opencadstudio.ftl index 1536065db..0a4d99304 100644 --- a/locales/en-US/opencadstudio.ftl +++ b/locales/en-US/opencadstudio.ftl @@ -1377,6 +1377,16 @@ common = .pick-box-size = Pick box size .controls-both-the-visible-selection-box-and-the-click-aperture = Controls both the visible selection box and the click aperture. .visual-effect-settings = Visual Effect 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 = Indicate selection area with transparent fill (SELECTIONAREA) .selection-area-opacity = Selection area opacity .transparency-of-the-window-and-crossing-selection-areas-selectionareaopacity = Transparency of the window and crossing selection areas (SELECTIONAREAOPACITY). @@ -1656,7 +1666,7 @@ common = .layerstate-no-saved-states-use-layerstate-save-name = LAYERSTATE: no saved states. Use LAYERSTATE SAVE . .usage-color-bylayer-byblock-1-255-red-yellow-green-cyan-blue-magenta-white = Usage: COLOR .usage-chprop-prop-val-props-layer-color-linetype-ltscale = Usage: CHPROP (props: 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 (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 (read-only) .setvar-dimcontinuemode-requires-0-or-1 = SETVAR: DIMCONTINUEMODE requires 0 or 1. .setvar-donutid-requires-a-finite-value-greater-than-or-equal-to-zero = SETVAR: DONUTID requires a finite value greater than or equal to zero. .setvar-donutod-requires-a-finite-value-greater-than-zero = SETVAR: DONUTOD requires a finite value greater than zero. diff --git a/locales/es-ES/opencadstudio.ftl b/locales/es-ES/opencadstudio.ftl index 097d983ba..b2d53e150 100644 --- a/locales/es-ES/opencadstudio.ftl +++ b/locales/es-ES/opencadstudio.ftl @@ -1376,6 +1376,16 @@ common = .pick-box-size = { common.pickbox }: { common.size } .controls-both-the-visible-selection-box-and-the-click-aperture = Controla tanto el cuadro de selección visible como el área de clic. .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 = Indicar el área de selección con relleno transparente (SELECTIONAREA) .selection-area-opacity = { common.selection }: { properties.opacity } .transparency-of-the-window-and-crossing-selection-areas-selectionareaopacity = Transparencia de las áreas de selección por ventana y captura (SELECTIONAREAOPACITY). @@ -1654,7 +1664,7 @@ common = .layerstate-no-saved-states-use-layerstate-save-name = LAYERSTATE: no hay estados guardados. Use LAYERSTATE SAVE . .usage-color-bylayer-byblock-1-255-red-yellow-green-cyan-blue-magenta-white = Uso: COLOR .usage-chprop-prop-val-props-layer-color-linetype-ltscale = Uso: 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 debe ser un valor finito mayor o igual que cero. .setvar-donutod-requires-a-finite-value-greater-than-zero = SETVAR: DONUTOD debe ser un valor finito mayor que cero. diff --git a/locales/fi-FI/opencadstudio.ftl b/locales/fi-FI/opencadstudio.ftl index a3c76dc17..22f1e56c9 100644 --- a/locales/fi-FI/opencadstudio.ftl +++ b/locales/fi-FI/opencadstudio.ftl @@ -1375,6 +1375,16 @@ common = .pick-box-size = { common.pickbox }: { common.size } .controls-both-the-visible-selection-box-and-the-click-aperture = Säätää sekä näkyvää valintaruutua että napsautusaluetta. .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 = Näytä valinta-alue läpinäkyvällä täytöllä (SELECTIONAREA) .selection-area-opacity = { common.selection }: { properties.opacity } .transparency-of-the-window-and-crossing-selection-areas-selectionareaopacity = Ikkuna- ja leikkausvalinnan alueiden läpinäkyvyys (SELECTIONAREAOPACITY). @@ -1653,7 +1663,7 @@ common = .layerstate-no-saved-states-use-layerstate-save-name = LAYERSTATE: ei tallennettuja tiloja. Käytä LAYERSTATE SAVE . .usage-color-bylayer-byblock-1-255-red-yellow-green-cyan-blue-magenta-white = Käyttö: COLOR .usage-chprop-prop-val-props-layer-color-linetype-ltscale = Käyttö: 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 vaatii äärellisen arvon, joka on vähintään nolla. .setvar-donutod-requires-a-finite-value-greater-than-zero = SETVAR: DONUTOD vaatii äärellisen arvon, joka on suurempi kuin nolla. diff --git a/locales/fr-FR/opencadstudio.ftl b/locales/fr-FR/opencadstudio.ftl index 3e0fa73e0..1e87ded3d 100644 --- a/locales/fr-FR/opencadstudio.ftl +++ b/locales/fr-FR/opencadstudio.ftl @@ -1376,6 +1376,16 @@ common = .pick-box-size = { common.pickbox }: { common.size } .controls-both-the-visible-selection-box-and-the-click-aperture = Contrôle à la fois la case de sélection visible et la zone de clic. .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 = Indiquer la zone de sélection par un remplissage transparent (SELECTIONAREA) .selection-area-opacity = { common.selection }: { properties.opacity } .transparency-of-the-window-and-crossing-selection-areas-selectionareaopacity = Transparence des zones de sélection par fenêtre et par capture (SELECTIONAREAOPACITY). @@ -1654,7 +1664,7 @@ common = .layerstate-no-saved-states-use-layerstate-save-name = LAYERSTATE : aucun état enregistré. Utilisez LAYERSTATE SAVE . .usage-color-bylayer-byblock-1-255-red-yellow-green-cyan-blue-magenta-white = Utilisation : COLOR .usage-chprop-prop-val-props-layer-color-linetype-ltscale = Utilisation : 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 doit être une valeur finie supérieure ou égale à zéro. .setvar-donutod-requires-a-finite-value-greater-than-zero = SETVAR : DONUTOD doit être une valeur finie supérieure à zéro. diff --git a/locales/hi-IN/opencadstudio.ftl b/locales/hi-IN/opencadstudio.ftl index ef77a707c..e7283a977 100644 --- a/locales/hi-IN/opencadstudio.ftl +++ b/locales/hi-IN/opencadstudio.ftl @@ -1364,6 +1364,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)। @@ -1642,7 +1652,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 .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 के लिए शून्य से बड़ा परिमित मान आवश्यक है। diff --git a/locales/hu-HU/opencadstudio.ftl b/locales/hu-HU/opencadstudio.ftl index f1d65d13b..5d19e487d 100644 --- a/locales/hu-HU/opencadstudio.ftl +++ b/locales/hu-HU/opencadstudio.ftl @@ -1375,6 +1375,16 @@ common = .pick-box-size = { common.pickbox }: { common.size } .controls-both-the-visible-selection-box-and-the-click-aperture = A látható kijelölőnégyzetet és a kattintási területet is szabályozza. .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 = Kijelölési terület jelzése átlátszó kitöltéssel (SELECTIONAREA) .selection-area-opacity = { common.selection }: { properties.opacity } .transparency-of-the-window-and-crossing-selection-areas-selectionareaopacity = Az ablakos és metsző kijelölési területek átlátszósága (SELECTIONAREAOPACITY). @@ -1653,7 +1663,7 @@ common = .layerstate-no-saved-states-use-layerstate-save-name = LAYERSTATE: nincs mentett állapot. Használja a LAYERSTATE SAVE parancsot. .usage-color-bylayer-byblock-1-255-red-yellow-green-cyan-blue-magenta-white = Használat: COLOR .usage-chprop-prop-val-props-layer-color-linetype-ltscale = Használat: 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: a DONUTID véges, nullánál nem kisebb értéket igényel. .setvar-donutod-requires-a-finite-value-greater-than-zero = SETVAR: a DONUTOD véges, nullánál nagyobb értéket igényel. diff --git a/locales/it-IT/opencadstudio.ftl b/locales/it-IT/opencadstudio.ftl index 581b0a6ec..dac9c6288 100644 --- a/locales/it-IT/opencadstudio.ftl +++ b/locales/it-IT/opencadstudio.ftl @@ -1375,6 +1375,16 @@ common = .pick-box-size = { common.pickbox }: { common.size } .controls-both-the-visible-selection-box-and-the-click-aperture = Controlla sia il riquadro di selezione visibile sia l’area di clic. .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 = Indica l’area di selezione con riempimento trasparente (SELECTIONAREA) .selection-area-opacity = { common.selection }: { properties.opacity } .transparency-of-the-window-and-crossing-selection-areas-selectionareaopacity = Trasparenza delle aree di selezione finestra e intersezione (SELECTIONAREAOPACITY). @@ -1653,7 +1663,7 @@ common = .layerstate-no-saved-states-use-layerstate-save-name = LAYERSTATE: nessuno stato salvato. Usa LAYERSTATE SAVE . .usage-color-bylayer-byblock-1-255-red-yellow-green-cyan-blue-magenta-white = Uso: COLOR .usage-chprop-prop-val-props-layer-color-linetype-ltscale = Uso: 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 richiede un valore finito maggiore o uguale a zero. .setvar-donutod-requires-a-finite-value-greater-than-zero = SETVAR: DONUTOD richiede un valore finito maggiore di zero. diff --git a/locales/ja-JP/opencadstudio.ftl b/locales/ja-JP/opencadstudio.ftl index f43975364..cac897c5b 100644 --- a/locales/ja-JP/opencadstudio.ftl +++ b/locales/ja-JP/opencadstudio.ftl @@ -1366,6 +1366,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)。 @@ -1644,7 +1654,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 .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には0以上の有限の値が必要です。 .setvar-donutod-requires-a-finite-value-greater-than-zero = SETVAR: DONUTODには0より大きい有限の値が必要です。 diff --git a/locales/ko-KR/opencadstudio.ftl b/locales/ko-KR/opencadstudio.ftl index f3f85d334..e7a5363c2 100644 --- a/locales/ko-KR/opencadstudio.ftl +++ b/locales/ko-KR/opencadstudio.ftl @@ -1375,6 +1375,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). @@ -1653,7 +1663,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 .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에는 0 이상의 유한한 값이 필요합니다. .setvar-donutod-requires-a-finite-value-greater-than-zero = SETVAR: DONUTOD에는 0보다 큰 유한한 값이 필요합니다. diff --git a/locales/nl-NL/opencadstudio.ftl b/locales/nl-NL/opencadstudio.ftl index ce817e236..0e57412f6 100644 --- a/locales/nl-NL/opencadstudio.ftl +++ b/locales/nl-NL/opencadstudio.ftl @@ -1374,6 +1374,16 @@ common = .pick-box-size = { common.pickbox }: { common.size } .controls-both-the-visible-selection-box-and-the-click-aperture = Bepaalt zowel het zichtbare selectievak als het klikgebied. .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 = Selectiegebied met transparante vulling tonen (SELECTIONAREA) .selection-area-opacity = { common.selection }: { properties.opacity } .transparency-of-the-window-and-crossing-selection-areas-selectionareaopacity = Transparantie van venster- en kruisselectiegebieden (SELECTIONAREAOPACITY). @@ -1652,7 +1662,7 @@ common = .layerstate-no-saved-states-use-layerstate-save-name = LAYERSTATE: geen opgeslagen toestanden. Gebruik LAYERSTATE SAVE . .usage-color-bylayer-byblock-1-255-red-yellow-green-cyan-blue-magenta-white = Gebruik: COLOR .usage-chprop-prop-val-props-layer-color-linetype-ltscale = Gebruik: 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 vereist een eindige waarde groter dan of gelijk aan nul. .setvar-donutod-requires-a-finite-value-greater-than-zero = SETVAR: DONUTOD vereist een eindige waarde groter dan nul. diff --git a/locales/pl-PL/opencadstudio.ftl b/locales/pl-PL/opencadstudio.ftl index 370f2eca9..6af6672b4 100644 --- a/locales/pl-PL/opencadstudio.ftl +++ b/locales/pl-PL/opencadstudio.ftl @@ -1375,6 +1375,16 @@ common = .pick-box-size = { common.pickbox }: { common.size } .controls-both-the-visible-selection-box-and-the-click-aperture = Steruje widocznym polem wyboru oraz obszarem kliknięcia. .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 = Oznacz obszar wyboru przezroczystym wypełnieniem (SELECTIONAREA) .selection-area-opacity = { common.selection }: { properties.opacity } .transparency-of-the-window-and-crossing-selection-areas-selectionareaopacity = Przezroczystość obszarów wyboru oknem i przecięciem (SELECTIONAREAOPACITY). @@ -1653,7 +1663,7 @@ common = .layerstate-no-saved-states-use-layerstate-save-name = LAYERSTATE: brak zapisanych stanów. Użyj LAYERSTATE SAVE . .usage-color-bylayer-byblock-1-255-red-yellow-green-cyan-blue-magenta-white = Użycie: COLOR .usage-chprop-prop-val-props-layer-color-linetype-ltscale = Użycie: 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 wymaga skończonej wartości większej lub równej zero. .setvar-donutod-requires-a-finite-value-greater-than-zero = SETVAR: DONUTOD wymaga skończonej wartości większej od zera. diff --git a/locales/pt-BR/opencadstudio.ftl b/locales/pt-BR/opencadstudio.ftl index 2e938bf5e..12d4b2414 100644 --- a/locales/pt-BR/opencadstudio.ftl +++ b/locales/pt-BR/opencadstudio.ftl @@ -1376,6 +1376,16 @@ common = .pick-box-size = { common.pickbox }: { common.size } .controls-both-the-visible-selection-box-and-the-click-aperture = Controla tanto a caixa de seleção visível quanto a área de clique. .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 = Indicar a área de seleção com preenchimento transparente (SELECTIONAREA) .selection-area-opacity = { common.selection }: { properties.opacity } .transparency-of-the-window-and-crossing-selection-areas-selectionareaopacity = Transparência das áreas de seleção por janela e cruzamento (SELECTIONAREAOPACITY). @@ -1654,7 +1664,7 @@ common = .layerstate-no-saved-states-use-layerstate-save-name = LAYERSTATE: nenhum estado salvo. Use LAYERSTATE SAVE . .usage-color-bylayer-byblock-1-255-red-yellow-green-cyan-blue-magenta-white = Uso: COLOR .usage-chprop-prop-val-props-layer-color-linetype-ltscale = Uso: 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 deve ser um valor finito maior ou igual a zero. .setvar-donutod-requires-a-finite-value-greater-than-zero = SETVAR: DONUTOD deve ser um valor finito maior que zero. diff --git a/locales/ru-RU/opencadstudio.ftl b/locales/ru-RU/opencadstudio.ftl index f7615b132..643aef258 100644 --- a/locales/ru-RU/opencadstudio.ftl +++ b/locales/ru-RU/opencadstudio.ftl @@ -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 .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 требует конечное значение больше нуля. diff --git a/locales/tr-TR/opencadstudio.ftl b/locales/tr-TR/opencadstudio.ftl index 7e042e70d..d354c6d38 100644 --- a/locales/tr-TR/opencadstudio.ftl +++ b/locales/tr-TR/opencadstudio.ftl @@ -1362,6 +1362,16 @@ common = .pick-box-size = { common.pickbox }: { common.size } .controls-both-the-visible-selection-box-and-the-click-aperture = Hem görünür seçim kutusunu hem de tıklama alanını denetler. .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 = Seçim alanını saydam dolguyla göster (SELECTIONAREA) .selection-area-opacity = { common.selection }: { properties.opacity } .transparency-of-the-window-and-crossing-selection-areas-selectionareaopacity = Pencere ve kesişen seçim alanlarının saydamlığı (SELECTIONAREAOPACITY). @@ -1640,7 +1650,7 @@ common = .layerstate-no-saved-states-use-layerstate-save-name = LAYERSTATE: kayıtlı durum yok. LAYERSTATE SAVE kullanın. .usage-color-bylayer-byblock-1-255-red-yellow-green-cyan-blue-magenta-white = Kullanım: COLOR .usage-chprop-prop-val-props-layer-color-linetype-ltscale = Kullanım: 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 sonlu ve sıfırdan büyük veya eşit olmalıdır. .setvar-donutod-requires-a-finite-value-greater-than-zero = SETVAR: DONUTOD sonlu ve sıfırdan büyük olmalıdır. diff --git a/locales/zh-CN/opencadstudio.ftl b/locales/zh-CN/opencadstudio.ftl index 324259609..17934b539 100644 --- a/locales/zh-CN/opencadstudio.ftl +++ b/locales/zh-CN/opencadstudio.ftl @@ -1363,6 +1363,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)。 @@ -1641,7 +1651,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 .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 必须为大于零的有限值。 diff --git a/locales/zh-TW/opencadstudio.ftl b/locales/zh-TW/opencadstudio.ftl index 340ca3c9f..6420d8184 100644 --- a/locales/zh-TW/opencadstudio.ftl +++ b/locales/zh-TW/opencadstudio.ftl @@ -1375,6 +1375,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)。 @@ -1653,7 +1663,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 .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 必須為大於零的有限值。 diff --git a/src/app/commands/mod.rs b/src/app/commands/mod.rs index b69daec39..6b6344926 100644 --- a/src/app/commands/mod.rs +++ b/src/app/commands/mod.rs @@ -294,6 +294,10 @@ pub fn start_allowed(cmd: &str) -> bool { | "ALIASEDIT" | "CUILOAD" | "CUIIMPORT" + // The start page already offers Options as a button, so the + // command that opens the same dialog belongs here too. + | "OPTIONS" + | "OP" ) } @@ -548,6 +552,7 @@ inventory::submit!(crate::command::CommandRegistration { "GRIPCOLOR", "GRIPHOT", "GRIPHOVER", + "GRIPOBJLIMIT", // Reset selected entities' overrides to follow their layer. "SETBYLAYER", // Remove duplicate objects; set drawing base point; audit integrity; diff --git a/src/app/commands/styleprops.rs b/src/app/commands/styleprops.rs index e01267fbc..95e67b889 100644 --- a/src/app/commands/styleprops.rs +++ b/src/app/commands/styleprops.rs @@ -918,6 +918,7 @@ impl OpenCADStudio { | "GRIPCOLOR" | "GRIPHOT" | "GRIPHOVER" + | "GRIPOBJLIMIT" ) => { return self.dispatch_styleprops(&format!("SETVAR {cmd}"), i); @@ -940,7 +941,7 @@ impl OpenCADStudio { let value = it.next().map(|s| s.trim().to_string()); if name.is_empty() || name == "?" { self.command_line.push_info( - crate::t!("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 (read-only)").as_ref(), + crate::t!("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 (read-only)").as_ref(), ); } else { if matches!(name.as_str(), "SHOWHIST" | "SOLIDHIST") { @@ -1444,6 +1445,22 @@ impl OpenCADStudio { }, None => Ok((format!("GRIPSIZE = {}", self.model_space.grip_size), false)), }, + "GRIPOBJLIMIT" => match &value { + Some(v) => match v.parse::() { + Ok(limit @ 0..=32767) => { + self.grip_object_limit = limit; + Ok((format!("GRIPOBJLIMIT = {limit}"), true)) + } + _ => Err( + "SETVAR: integer from 0 to 32767 required (0 = no limit)." + .into(), + ), + }, + None => Ok(( + format!("GRIPOBJLIMIT = {}", self.grip_object_limit), + false, + )), + }, "GRIPCOLOR" => match &value { Some(v) => match v.parse::() { Ok(color) => { @@ -2126,6 +2143,7 @@ impl OpenCADStudio { | "GRIPCOLOR" | "GRIPHOT" | "GRIPHOVER" + | "GRIPOBJLIMIT" ) { self.persist_settings_if_changed(); } else { diff --git a/src/app/commands/view.rs b/src/app/commands/view.rs index a181b677b..8d4966c23 100644 --- a/src/app/commands/view.rs +++ b/src/app/commands/view.rs @@ -245,6 +245,14 @@ impl OpenCADStudio { return Some(Task::done(Message::ShortcutsPanelOpen)); } + // ── OPTIONS / OP — the preferences dialog ────────────────────── + // Both names were registered for autocomplete but never dispatched, + // so typing either one answered "Unknown command" and the dialog + // could only be reached from the button on the start page. + "OPTIONS" | "OP" => { + return Some(Task::done(Message::OptionsOpen)); + } + // CUIEXPORT — write the keyboard-shortcut customizations // (the drawing-independent CUI data) to a plain "KEY COMMAND" file. "CUIEXPORT" => { diff --git a/src/app/config.rs b/src/app/config.rs index 5edcab58e..2f4db3459 100644 --- a/src/app/config.rs +++ b/src/app/config.rs @@ -270,7 +270,11 @@ pub struct ModelSpaceThemeConfig { pub selection_highlight_color: u8, /// SELECTIONEFFECT: whether selected objects glow with solid highlight (true) or dash (false). pub selection_effect: bool, - /// SELECTIONPREVIEW: rollover/hover highlight mode (0 = off, 1 = in cmd, 2 = idle, 3 = both). + /// SELECTIONPREVIEW: rollover/hover highlight mode, as a bitmask — + /// 1 = preview while no command is running, 2 = preview during a command, + /// 3 = both, 0 = off. The bits are read that way round in + /// `update::viewport` (`& 1` at the idle pick, `& 2` inside a command), and + /// that is also AutoCAD's order; this comment used to state the reverse. pub selection_preview: u8, /// GRIPSIZE: grip marker half-size in pixels (1–25, default 5). pub grip_size: u8, diff --git a/src/app/mod.rs b/src/app/mod.rs index 057ddd875..ac81504c2 100644 --- a/src/app/mod.rs +++ b/src/app/mod.rs @@ -500,6 +500,9 @@ pub(super) struct OpenCADStudio { cursor_size: i32, /// Selection-box size setting (PICKBOX, 0..=50). pick_box: i32, + /// Selected-object count past which grips stop being generated + /// (GRIPOBJLIMIT, 0..=32767; 0 = no limit). + grip_object_limit: i32, /// Drawing viewport cursor style (CURSORTYPE). cursor_type: settings::CursorType, /// Explicit crosshair colour; `None` retains automatic contrast. @@ -1977,6 +1980,20 @@ pub enum Message { GripHotChanged(u8), /// Change Hover/Warm Grip color ACI index (0 = Theme Primary Strong, 1..=255 = ACI, GRIPHOVER). GripHoverChanged(u8), + /// Change the selected-object count past which grips stop being drawn + /// (0..=32767, 0 = no limit, GRIPOBJLIMIT). + GripObjectLimitChanged(i32), + /// Toggle the solid selection highlight (SELECTIONEFFECT). + SelectionEffectToggled(bool), + /// Toggle rollover preview while no command is running (SELECTIONPREVIEW bit 1). + SelectionPreviewIdleToggled(bool), + /// Toggle rollover preview during a command (SELECTIONPREVIEW bit 2). + SelectionPreviewCommandToggled(bool), + /// Toggle "use Shift to add to selection" — the checkbox reads the way + /// AutoCAD words it, so it carries the *inverse* of PICKADD. + ShiftToAddToggled(bool), + /// Toggle press-and-drag drawing a rectangle instead of a lasso (PICKDRAG). + PickDragRectToggled(bool), /// Restore Model Space display/canvas appearance to defaults. RestoreModelSpaceDisplayDefaults, /// Restore Selection visual effect settings to defaults. @@ -3369,6 +3386,7 @@ impl OpenCADStudio { zoom_factor: 60, cursor_size: 5, pick_box: 3, + grip_object_limit: settings::DEFAULT_GRIP_OBJECT_LIMIT, cursor_type: settings::CursorType::Crosshair, crosshair_color: None, crosshair_color_input: String::new(), diff --git a/src/app/properties.rs b/src/app/properties.rs index c2df6d4b3..af18c56c6 100644 --- a/src/app/properties.rs +++ b/src/app/properties.rs @@ -2508,11 +2508,10 @@ handles={handles_ms:.1} panel={:.1} ribbon={ribbon_ms:.1} tail={:.1} selected={} } /// Rebuild the cached selected_grips from the current entity selection. - /// Selections larger than this get no grips, matching AutoCAD's - /// `GRIPOBJLIMIT` default. The DWG header does not carry the variable, so - /// the default stands in for it. - const GRIP_OBJECT_LIMIT: usize = 100; - + /// + /// Selections past `GRIPOBJLIMIT` get no grips at all. That used to be a + /// constant here; it is now [`crate::app::settings::UserSettings::grip_object_limit`], + /// reachable from Options and from the sysvar of the same name. pub(super) fn refresh_selected_grips(&mut self) { let i = self.active_tab; let locked_active_grip = self.tabs[i].active_grip.as_ref().is_some_and(|grip| { @@ -2551,7 +2550,11 @@ handles={handles_ms:.1} panel={:.1} ribbon={ribbon_ms:.1} tail={:.1} selected={} // consumers all iterate the list, so they simply find nothing, and // grip editing is unavailable for a selection far past the size // where dragging one is a sensible thing to do. - let selected = if selected.len() > Self::GRIP_OBJECT_LIMIT { + // + // The limit is `GRIPOBJLIMIT`, and 0 means no limit — which is why + // this cannot be a bare `>` against the stored value. + let limit = self.grip_object_limit; + let selected = if limit > 0 && selected.len() > limit as usize { Vec::new() } else { selected @@ -4155,9 +4158,12 @@ mod grip_limit_tests { use acadrust::entities::{EntityType, Line}; use acadrust::types::Vector3; - let select_n = |n: usize| -> usize { + let select_n = |n: usize, limit: Option| -> usize { let mut app = OpenCADStudio::new_for_test(); app.automation_op(r#"{"op":"new"}"#); + if let Some(limit) = limit { + app.grip_object_limit = limit; + } let i = app.active_tab; let handles: Vec<_> = (0..n) .map(|k| { @@ -4178,15 +4184,72 @@ mod grip_limit_tests { }; assert!( - select_n(OpenCADStudio::GRIP_OBJECT_LIMIT) > 0, + select_n(crate::app::settings::DEFAULT_GRIP_OBJECT_LIMIT as usize, None) > 0, "a selection at the limit must still show its grips", ); assert_eq!( - select_n(OpenCADStudio::GRIP_OBJECT_LIMIT + 1), + select_n(crate::app::settings::DEFAULT_GRIP_OBJECT_LIMIT as usize + 1, None), 0, "one past the limit must show none at all", ); } + + /// The Options card writes these four straight onto the app and relies on + /// the snapshot/restore pair to carry them across a restart. Three of them + /// had no UI until now and so no reason for anyone to notice if the pair + /// missed one. + #[test] + fn the_selection_settings_survive_a_save_and_load() { + let mut app = OpenCADStudio::new_for_test(); + app.pick_add = false; + app.pick_drag_rect = true; + app.pick_box = 11; + app.grip_object_limit = 0; + + let saved = app.current_settings(); + let mut restored = OpenCADStudio::new_for_test(); + restored.apply_settings(&saved); + + assert!(!restored.pick_add); + assert!(restored.pick_drag_rect); + assert_eq!(restored.pick_box, 11); + assert_eq!( + restored.grip_object_limit, 0, + "zero is a real value here, not an unset field", + ); + } + + /// `GRIPOBJLIMIT 0` means no limit, and the old comparison — a bare `>` + /// against the stored number — could not express that: zero would have + /// suppressed every grip instead of allowing all of them. + #[test] + fn a_limit_of_zero_means_no_limit() { + use acadrust::entities::{EntityType, Line}; + use acadrust::types::Vector3; + + let mut app = OpenCADStudio::new_for_test(); + app.automation_op(r#"{"op":"new"}"#); + app.grip_object_limit = 0; + let i = app.active_tab; + let over = crate::app::settings::DEFAULT_GRIP_OBJECT_LIMIT as usize * 3; + let handles: Vec<_> = (0..over) + .map(|k| { + let x = k as f64; + app.tabs[i].scene.add_entity(EntityType::Line(Line::from_points( + Vector3::new(x, 0.0, 0.0), + Vector3::new(x + 1.0, 1.0, 0.0), + ))) + }) + .collect(); + for handle in handles { + app.tabs[i].scene.select_entity(handle, false); + } + app.refresh_selected_grips(); + assert!( + app.tabs[i].selected_grips.len() > 0, + "zero must read as unlimited, not as a limit of none", + ); + } } #[cfg(test)] diff --git a/src/app/settings.rs b/src/app/settings.rs index a9ca0cb55..68b10c577 100644 --- a/src/app/settings.rs +++ b/src/app/settings.rs @@ -145,6 +145,12 @@ pub(crate) fn snaps_from_osmode(osmode: i32) -> (Vec, bool) { (modes, osmode & OSMODE_SUPPRESS == 0) } +/// GRIPOBJLIMIT default: past this many selected objects, no grips are drawn. +/// +/// AutoCAD's own default, and the value the limit was hardcoded to when it +/// arrived with the selection work. +pub const DEFAULT_GRIP_OBJECT_LIMIT: i32 = 100; + /// The "settings" section of the consolidated config ([`crate::app::config`]). /// Field defaults mirror the app's in-code defaults so a missing key restores /// the value the app boots with. @@ -160,6 +166,10 @@ pub struct UserSettings { pub cursor_size: i32, /// PICKBOX: normalized visible-box and click-aperture size. pub pick_box: i32, + /// GRIPOBJLIMIT: past this many selected objects, no grips are drawn at + /// all. 0 means no limit. Registry-style app preference, as in AutoCAD — + /// the DWG header carries no slot for it. + pub grip_object_limit: i32, /// CURSORTYPE: crosshair or the platform pointer over the drawing. pub cursor_type: CursorType, /// Explicit crosshair RGB. `None` keeps automatic background contrast. @@ -307,6 +317,7 @@ impl Default for UserSettings { zoom_factor: 60, cursor_size: 5, pick_box: 3, + grip_object_limit: DEFAULT_GRIP_OBJECT_LIMIT, cursor_type: CursorType::Crosshair, crosshair_color: None, lineweight_display_scale: 100, diff --git a/src/app/update/file.rs b/src/app/update/file.rs index bc7768031..db641354e 100644 --- a/src/app/update/file.rs +++ b/src/app/update/file.rs @@ -365,6 +365,7 @@ impl OpenCADStudio { zoom_factor: self.zoom_factor, cursor_size: self.cursor_size, pick_box: self.pick_box, + grip_object_limit: self.grip_object_limit, cursor_type: self.cursor_type, crosshair_color: self.crosshair_color, lineweight_display_scale: self.lineweight_display_scale, @@ -418,6 +419,7 @@ impl OpenCADStudio { self.zoom_factor = s.zoom_factor.clamp(3, 100); self.cursor_size = s.cursor_size.clamp(1, 100); self.pick_box = s.pick_box.clamp(0, 50); + self.grip_object_limit = s.grip_object_limit.clamp(0, 32767); self.cursor_type = s.cursor_type; self.crosshair_color = s.crosshair_color; self.crosshair_color_input = s diff --git a/src/app/update/mod.rs b/src/app/update/mod.rs index a76158d93..a53365e63 100644 --- a/src/app/update/mod.rs +++ b/src/app/update/mod.rs @@ -6103,6 +6103,50 @@ impl OpenCADStudio { Task::none() } + Message::GripObjectLimitChanged(limit) => { + self.grip_object_limit = limit.clamp(0, 32767); + self.persist_settings_if_changed(); + Task::none() + } + + Message::SelectionEffectToggled(enabled) => { + self.model_space.selection_effect = enabled; + self.sync_model_space_theme(false); + self.persist_settings_if_changed(); + Task::none() + } + + // SELECTIONPREVIEW is a bitmask and the two checkboxes own one bit + // each: 1 = rollover while idle, 2 = rollover during a command. + Message::SelectionPreviewIdleToggled(enabled) => { + self.model_space.selection_preview = + set_preview_bit(self.model_space.selection_preview, 1, enabled); + self.persist_settings_if_changed(); + Task::none() + } + + Message::SelectionPreviewCommandToggled(enabled) => { + self.model_space.selection_preview = + set_preview_bit(self.model_space.selection_preview, 2, enabled); + self.persist_settings_if_changed(); + Task::none() + } + + // The checkbox is worded as AutoCAD words it — "use Shift to add" + // — which is the opposite of PICKADD, so it is inverted here rather + // than leaving a reader to work that out from the field name. + Message::ShiftToAddToggled(shift_to_add) => { + self.pick_add = !shift_to_add; + self.persist_settings_if_changed(); + Task::none() + } + + Message::PickDragRectToggled(rectangle) => { + self.pick_drag_rect = rectangle; + self.persist_settings_if_changed(); + Task::none() + } + Message::RestoreSelectionVisualDefaults => { self.model_space.selection_area = true; self.model_space.selection_opacity = 12; @@ -6115,6 +6159,10 @@ impl OpenCADStudio { self.model_space.grip_color = 0; self.model_space.grip_hot = 0; self.model_space.grip_hover = 0; + // The button restores the *visual* defaults, which is why the + // grip limit is here and PICKADD / PICKDRAG are not — those are + // how selection behaves, not how it looks. + self.grip_object_limit = crate::app::settings::DEFAULT_GRIP_OBJECT_LIMIT; self.sync_model_space_theme(false); self.persist_settings_if_changed(); Task::none() @@ -8627,3 +8675,37 @@ mod free_text_entry_tests { assert_eq!(app.text_entry_mode(), TextEntryMode::Command); } } + +/// Set or clear one bit of `SELECTIONPREVIEW`. +/// +/// The variable is a bitmask — 1 = rollover while no command is running, +/// 2 = rollover during a command — and the Options card gives each bit its own +/// checkbox. Worth a named function rather than two inline `|` / `& !` +/// expressions: the config comment used to describe these bits the wrong way +/// round, so the one place that names them is the place to be careful. +fn set_preview_bit(current: u8, bit: u8, enabled: bool) -> u8 { + if enabled { + current | bit + } else { + current & !bit + } +} + +#[cfg(test)] +mod selection_preview_bit_tests { + use super::set_preview_bit; + + #[test] + fn each_checkbox_owns_its_own_bit() { + // Both on, then clear the idle bit: the in-command bit must survive. + assert_eq!(set_preview_bit(3, 1, false), 2); + assert_eq!(set_preview_bit(3, 2, false), 1); + // Setting a bit that is already set changes nothing. + assert_eq!(set_preview_bit(3, 1, true), 3); + // From off, each bit turns on alone. + assert_eq!(set_preview_bit(0, 1, true), 1); + assert_eq!(set_preview_bit(0, 2, true), 2); + // Clearing both reaches 0, which is SELECTIONPREVIEW off. + assert_eq!(set_preview_bit(set_preview_bit(3, 1, false), 2, false), 0); + } +} diff --git a/src/app/view/modal.rs b/src/app/view/modal.rs index 799058559..cc8122bcc 100644 --- a/src/app/view/modal.rs +++ b/src/app/view/modal.rs @@ -186,7 +186,12 @@ impl OpenCADStudio { self.language, self.options_tab, self.cursor_size, - self.pick_box, + crate::ui::window::options::SelectionPrefs { + pick_box: self.pick_box, + pick_add: self.pick_add, + pick_drag_rect: self.pick_drag_rect, + grip_object_limit: self.grip_object_limit, + }, self.cursor_type, self.crosshair_color, &self.crosshair_color_input, diff --git a/src/locale_catalog.rs b/src/locale_catalog.rs index de350e331..1e09a7e20 100644 --- a/src/locale_catalog.rs +++ b/src/locale_catalog.rs @@ -4120,6 +4120,16 @@ pub(super) fn message_attribute(source: &str) -> Option<(&'static str, &'static "Pick box size" => Some(("common", "pick-box-size")), "Controls both the visible selection box and the click aperture." => Some(("common", "controls-both-the-visible-selection-box-and-the-click-aperture")), "Visual Effect Settings" => Some(("common", "visual-effect-settings")), + "Selection Modes" => Some(("common", "selection-modes")), + "Use Shift to add to selection (PICKADD)" => Some(("common", "use-shift-to-add-to-selection-pickadd")), + "Press and drag draws a rectangle instead of a lasso (PICKDRAG)" => Some(("common", "press-and-drag-draws-a-rectangle-instead-of-a-lasso-pickdrag")), + "Show selection effect (SELECTIONEFFECT)" => Some(("common", "show-selection-effect-selectioneffect")), + "Preview selection when no command is active" => Some(("common", "preview-selection-when-no-command-is-active")), + "Preview selection during a command" => Some(("common", "preview-selection-during-a-command")), + "Highlights the object under the cursor before it is picked (SELECTIONPREVIEW)." => Some(("common", "highlights-the-object-under-the-cursor-before-it-is-picked-selectionpreview")), + "Object limit for grips" => Some(("common", "object-limit-for-grips")), + "Unlimited" => Some(("common", "unlimited")), + "Past this many selected objects no grips are drawn; 0 removes the limit (GRIPOBJLIMIT)." => Some(("common", "past-this-many-selected-objects-no-grips-are-drawn-0-removes-the-limit-gripobjlimit")), "Indicate selection area with transparent fill (SELECTIONAREA)" => Some(("common", "indicate-selection-area-with-transparent-fill-selectionarea")), "Selection area opacity" => Some(("common", "selection-area-opacity")), "Transparency of the window and crossing selection areas (SELECTIONAREAOPACITY)." => Some(("common", "transparency-of-the-window-and-crossing-selection-areas-selectionareaopacity")), @@ -4406,7 +4416,7 @@ pub(super) fn message_attribute(source: &str) -> Option<(&'static str, &'static "LAYERSTATE: no saved states. Use LAYERSTATE SAVE ." => Some(("common", "layerstate-no-saved-states-use-layerstate-save-name")), "Usage: COLOR " => Some(("common", "usage-color-bylayer-byblock-1-255-red-yellow-green-cyan-blue-magenta-white")), "Usage: CHPROP (props: LAYER COLOR LINETYPE LTSCALE)" => Some(("common", "usage-chprop-prop-val-props-layer-color-linetype-ltscale")), - "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 (read-only)" => Some(("common", "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 (read-only)" => Some(("common", "setvar-ltscale-celtscale-pdmode-pdsize-textsize-orthomode-fillmode-mirrtext-fram")), "SETVAR: DIMCONTINUEMODE requires 0 or 1." => Some(("common", "setvar-dimcontinuemode-requires-0-or-1")), "SETVAR: DONUTID requires a finite value greater than or equal to zero." => Some(("common", "setvar-donutid-requires-a-finite-value-greater-than-or-equal-to-zero")), "SETVAR: DONUTOD requires a finite value greater than zero." => Some(("common", "setvar-donutod-requires-a-finite-value-greater-than-zero")), diff --git a/src/ui/window/options.rs b/src/ui/window/options.rs index 4a8d3f3b5..79c99170c 100644 --- a/src/ui/window/options.rs +++ b/src/ui/window/options.rs @@ -15,6 +15,24 @@ pub enum OptionsTab { Selection, } +/// The Selection-card settings that live on `UserSettings` rather than on the +/// model-space theme. +/// +/// Gathered into one value instead of four more positional parameters: the +/// function already takes seventeen, and `pick_add` / `pick_drag_rect` are two +/// adjacent `bool`s that would swap silently at the call site. +#[derive(Clone, Copy)] +pub struct SelectionPrefs { + /// PICKBOX, 0..=50. + pub pick_box: i32, + /// PICKADD: true = a click adds to the selection. + pub pick_add: bool, + /// PICKDRAG: true = press-drag draws a rectangle instead of a lasso. + pub pick_drag_rect: bool, + /// GRIPOBJLIMIT, 0..=32767; 0 = no limit. + pub grip_object_limit: i32, +} + #[derive(Clone, Debug, PartialEq, Eq)] struct Labelled { value: T, @@ -36,7 +54,7 @@ pub fn view_window<'a>( language: crate::i18n::Language, active_tab: OptionsTab, cursor_size: i32, - pick_box: i32, + selection: SelectionPrefs, cursor_type: CursorType, crosshair_color: Option<[u8; 3]>, crosshair_color_input: &'a str, @@ -544,10 +562,12 @@ pub fn view_window<'a>( Space::new().height(10), row![ text(crate::t!("Pick box size")).size(12).width(140), - slider(0..=50, pick_box.clamp(0, 50), Message::PickBoxChanged) + slider(0..=50, selection.pick_box.clamp(0, 50), Message::PickBoxChanged) .step(1) .width(Fill), - text(pick_box.clamp(0, 50).to_string()).size(11).width(44), + text(selection.pick_box.clamp(0, 50).to_string()) + .size(11) + .width(44), ] .spacing(10) .align_y(iced::Center), @@ -558,6 +578,31 @@ pub fn view_window<'a>( .size(11) .width(sizing.width), Space::new().height(24), + text(crate::t!("Selection Modes")).size(15), + Space::new().height(10), + row![ + // Worded the way AutoCAD words it, which is the inverse of PICKADD: + // ticked means a plain click replaces the selection and Shift adds. + iced::widget::checkbox(!selection.pick_add) + .on_toggle(Message::ShiftToAddToggled) + .size(15), + text(crate::t!("Use Shift to add to selection (PICKADD)")).size(12), + ] + .spacing(8) + .align_y(iced::Center), + Space::new().height(10), + row![ + iced::widget::checkbox(selection.pick_drag_rect) + .on_toggle(Message::PickDragRectToggled) + .size(15), + text(crate::t!( + "Press and drag draws a rectangle instead of a lasso (PICKDRAG)" + )) + .size(12), + ] + .spacing(8) + .align_y(iced::Center), + Space::new().height(24), row![ text(crate::t!("Visual Effect Settings")).size(15), Space::new().width(Fill), @@ -626,6 +671,15 @@ pub fn view_window<'a>( .spacing(10) .align_y(iced::Center), Space::new().height(10), + row![ + iced::widget::checkbox(model_space.selection_effect) + .on_toggle(Message::SelectionEffectToggled) + .size(15), + text(crate::t!("Show selection effect (SELECTIONEFFECT)")).size(12), + ] + .spacing(8) + .align_y(iced::Center), + Space::new().height(10), row![ text(crate::t!("Selection highlight color")).size(12).width(140), iced::widget::pick_list( @@ -639,6 +693,34 @@ pub fn view_window<'a>( .spacing(10) .align_y(iced::Center), Space::new().height(24), + text(crate::t!("Preview")).size(15), + Space::new().height(10), + row![ + // SELECTIONPREVIEW is a bitmask; bit 1 is the idle rollover and + // bit 2 the one that runs while a command is gathering objects. + iced::widget::checkbox(model_space.selection_preview & 1 != 0) + .on_toggle(Message::SelectionPreviewIdleToggled) + .size(15), + text(crate::t!("Preview selection when no command is active")).size(12), + ] + .spacing(8) + .align_y(iced::Center), + Space::new().height(10), + row![ + iced::widget::checkbox(model_space.selection_preview & 2 != 0) + .on_toggle(Message::SelectionPreviewCommandToggled) + .size(15), + text(crate::t!("Preview selection during a command")).size(12), + ] + .spacing(8) + .align_y(iced::Center), + Space::new().height(6), + text(crate::t!( + "Highlights the object under the cursor before it is picked (SELECTIONPREVIEW)." + )) + .size(11) + .width(sizing.width), + Space::new().height(24), text(crate::t!("Grip Settings")).size(15), Space::new().height(10), row![ @@ -657,6 +739,36 @@ pub fn view_window<'a>( .spacing(10) .align_y(iced::Center), Space::new().height(10), + row![ + text(crate::t!("Object limit for grips")).size(12).width(140), + // The slider covers the range where the setting is worth changing; + // the sysvar accepts AutoCAD's full 0..=32767, so a larger value + // set from the command line parks the handle at the end while the + // read-out keeps showing the real number. + slider( + 0..=1000, + selection.grip_object_limit.clamp(0, 1000), + Message::GripObjectLimitChanged, + ) + .step(1) + .width(Fill), + text(if selection.grip_object_limit == 0 { + crate::t!("Unlimited").into_owned() + } else { + selection.grip_object_limit.to_string() + }) + .size(11) + .width(44), + ] + .spacing(10) + .align_y(iced::Center), + Space::new().height(6), + text(crate::t!( + "Past this many selected objects no grips are drawn; 0 removes the limit (GRIPOBJLIMIT)." + )) + .size(11) + .width(sizing.width), + Space::new().height(10), row![ text(crate::t!("Unselected grip color")).size(12).width(140), iced::widget::pick_list(