Files
leocad/common/lc_imagedialog.ui
T
Leonardo Zide 554c1d28a7 Add contextual help to Array and Save Image dialogs
Explain array counts, offsets, rotations, image dimensions, file naming,
and step ranges with translated tooltips and contextual help. Give both
dialogs a standard Help button and dialog-scoped F1 support that falls back
from the focused control through its parent groups to the overview.

Link image field labels to their buddies and share tooltip and field help
text. Add accessible names for unlabeled controls. Document the writing and
maintenance conventions, with concise guidance in the existing AGENTS.md.

Refresh all eight language catalogs while preserving existing translations
and review status. The 62 new help and accessibility strings remain
unfinished pending translation.

Validation: Qt 6.10 debug build; runtime checks for seven F1 routes, Help,
Escape, dialog state, spin-box focus, and five label buddies with matching
help; visual layout inspection; catalog coverage for all 2,118 active source
messages and existing translation preservation; git diff --check.
2026-10-22 15:14:11 -07:00

326 lines
11 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>lcImageDialog</class>
<widget class="QDialog" name="lcImageDialog">
<property name="whatsThis">
<string>&lt;p&gt;&lt;b&gt;Save Image&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Save images of the active model using the current view. Choose a destination file, image dimensions, and the steps to include.&lt;/p&gt;&lt;p&gt;Saving one step produces one image. Saving several steps produces a separate numbered image for each step.&lt;/p&gt;</string>
</property>
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>545</width>
<height>180</height>
</rect>
</property>
<property name="windowTitle">
<string>Save Image</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLabel" name="label">
<property name="toolTip">
<string>Path and file name for the exported image.</string>
</property>
<property name="whatsThis">
<string>&lt;p&gt;&lt;b&gt;File Name&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Choose an output folder, file name, and image extension, such as .png, .jpg, or .bmp.&lt;/p&gt;&lt;p&gt;When saving several steps, the step number is added before the extension. For example, 'model.png' becomes 'model01.png', 'model02.png', and so on.&lt;/p&gt;</string>
</property>
<property name="text">
<string>File Name:</string>
</property>
<property name="buddy">
<cstring>fileName</cstring>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="fileName">
<property name="toolTip">
<string>Path and file name for the exported image.</string>
</property>
<property name="whatsThis">
<string>&lt;p&gt;&lt;b&gt;File Name&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Choose an output folder, file name, and image extension, such as .png, .jpg, or .bmp.&lt;/p&gt;&lt;p&gt;When saving several steps, the step number is added before the extension. For example, 'model.png' becomes 'model01.png', 'model02.png', and so on.&lt;/p&gt;</string>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="fileNameBrowse">
<property name="toolTip">
<string>Choose the image file and format.</string>
</property>
<property name="whatsThis">
<string>&lt;p&gt;&lt;b&gt;File Name&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Choose an output folder, file name, and image extension, such as .png, .jpg, or .bmp.&lt;/p&gt;&lt;p&gt;When saving several steps, the step number is added before the extension. For example, 'model.png' becomes 'model01.png', 'model02.png', and so on.&lt;/p&gt;</string>
</property>
<property name="accessibleName">
<string>Choose Image File</string>
</property>
<property name="text">
<string>...</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QGroupBox" name="groupBox">
<property name="whatsThis">
<string>&lt;p&gt;&lt;b&gt;Dimensions&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Set the exported image width and height in pixels. Each value must be between 1 and 32768. Larger images use more memory and may exceed the graphics hardware limits.&lt;/p&gt;</string>
</property>
<property name="title">
<string>Dimensions</string>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<widget class="QLabel" name="label_3">
<property name="toolTip">
<string>Width of the saved image, in pixels (1 to 32768).</string>
</property>
<property name="text">
<string>Width:</string>
</property>
<property name="buddy">
<cstring>width</cstring>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="width">
<property name="toolTip">
<string>Width of the saved image, in pixels (1 to 32768).</string>
</property>
<property name="minimumSize">
<size>
<width>75</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>75</width>
<height>16777215</height>
</size>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_4">
<property name="toolTip">
<string>Height of the saved image, in pixels (1 to 32768).</string>
</property>
<property name="text">
<string>Height:</string>
</property>
<property name="buddy">
<cstring>height</cstring>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="height">
<property name="toolTip">
<string>Height of the saved image, in pixels (1 to 32768).</string>
</property>
<property name="minimumSize">
<size>
<width>75</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>75</width>
<height>16777215</height>
</size>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_2">
<property name="whatsThis">
<string>&lt;p&gt;&lt;b&gt;Step Range&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Choose All Steps, Current Step, or Custom Range. The From and To fields are used only for Custom Range. Both endpoints are included, and To may equal From to save just one step.&lt;/p&gt;</string>
</property>
<property name="title">
<string>Step Range</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QRadioButton" name="rangeAll">
<property name="toolTip">
<string>Save an image for every step in the active model.</string>
</property>
<property name="text">
<string>All Steps</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="rangeCurrent">
<property name="toolTip">
<string>Save only the current step.</string>
</property>
<property name="text">
<string>Current Step</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QRadioButton" name="rangeCustom">
<property name="toolTip">
<string>Save the steps between From and To, including both endpoints.</string>
</property>
<property name="text">
<string>Custom Range</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_2">
<property name="toolTip">
<string>First step to save when Custom Range is selected.</string>
</property>
<property name="buddy">
<cstring>firstStep</cstring>
</property>
<property name="text">
<string>From:</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="firstStep">
<property name="toolTip">
<string>First step to save when Custom Range is selected.</string>
</property>
<property name="accessibleName">
<string>First Step</string>
</property>
<property name="minimumSize">
<size>
<width>75</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>75</width>
<height>16777215</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_7">
<property name="toolTip">
<string>Last step to save when Custom Range is selected.</string>
</property>
<property name="buddy">
<cstring>lastStep</cstring>
</property>
<property name="text">
<string>To:</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lastStep">
<property name="toolTip">
<string>Last step to save when Custom Range is selected.</string>
</property>
<property name="accessibleName">
<string>Last Step</string>
</property>
<property name="minimumSize">
<size>
<width>75</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>75</width>
<height>16777215</height>
</size>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
</layout>
</item>
</layout>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
</layout>
</widget>
<tabstops>
<tabstop>fileName</tabstop>
<tabstop>fileNameBrowse</tabstop>
<tabstop>width</tabstop>
<tabstop>height</tabstop>
<tabstop>rangeAll</tabstop>
<tabstop>rangeCurrent</tabstop>
<tabstop>rangeCustom</tabstop>
<tabstop>firstStep</tabstop>
<tabstop>lastStep</tabstop>
<tabstop>buttonBox</tabstop>
</tabstops>
<resources/>
<connections>
<connection>
<sender>buttonBox</sender>
<signal>accepted()</signal>
<receiver>lcImageDialog</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>222</x>
<y>225</y>
</hint>
<hint type="destinationlabel">
<x>157</x>
<y>239</y>
</hint>
</hints>
</connection>
<connection>
<sender>buttonBox</sender>
<signal>rejected()</signal>
<receiver>lcImageDialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>290</x>
<y>231</y>
</hint>
<hint type="destinationlabel">
<x>286</x>
<y>239</y>
</hint>
</hints>
</connection>
</connections>
</ui>