View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0017948 | Scribus | User Interface | public | 2026-08-27 13:18 | 2026-09-01 09:08 |
| Reporter | qirat | Assigned To | |||
| Priority | normal | Severity | minor | Reproducibility | N/A |
| Status | new | Resolution | open | ||
| Platform | Linux | OS | Fedora Workstation | OS Version | 44 |
| Product Version | 1.7.4.svn | ||||
| Summary | 0017948: [patch] Typography Preferences UI Polish | ||||
| Description | #UI changes - Replaces loose bold headings/dividers with proper group boxes. - Uses a compact two-column layout: - Left: Subscript, Superscript, Small Caps - Right: Underline, Strikeout, Automatic Line Spacing - Uses FormWidget for compact controls with small centered labels. - Tightens spacing and removes unnecessary fixed separators/spacers. - Keeps Optical Margins unchanged. - Mnemonics added to group titles. | ||||
| Additional Information | #Files touched - scribus/ui/preferences/prefs_typographybase.ui Behaviour - No preference defaults changed. - No typography calculations or document behavior changed. - UI-only, very low risk. | ||||
| Tags | #please_test | ||||
| Attached Files | typography-preferences-layout-v1.2.patch (30,996 bytes)
Index: scribus/ui/preferences/prefs_typographybase.ui
===================================================================
--- scribus/ui/preferences/prefs_typographybase.ui (revision 27785)
+++ scribus/ui/preferences/prefs_typographybase.ui (working copy)
@@ -52,46 +52,59 @@
<attribute name="title">
<string>Typography</string>
</attribute>
- <layout class="QVBoxLayout" name="verticalLayout">
+ <layout class="QHBoxLayout" name="typographyLayout">
+ <property name="spacing">
+ <number>12</number>
+ </property>
<item>
- <layout class="QHBoxLayout" name="horizontalLayout_4">
- <item>
- <layout class="QVBoxLayout" name="verticalLayout_5">
- <item>
- <widget class="QLabel" name="label_2">
- <property name="font">
- <font>
- <bold>true</bold>
- </font>
- </property>
- <property name="text">
- <string>Subscript</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="Line" name="line_3">
- <property name="orientation">
- <enum>Qt::Orientation::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QFormLayout" name="formLayout_3">
- <property name="fieldGrowthPolicy">
- <enum>QFormLayout::FieldGrowthPolicy::FieldsStayAtSizeHint</enum>
- </property>
- <property name="formAlignment">
- <set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
- </property>
- <item row="0" column="0">
- <widget class="QLabel" name="label_5">
- <property name="text">
- <string>Displacement:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
+ <widget class="QWidget" name="leftTypographyWidget" native="true">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <layout class="QVBoxLayout" name="leftTypographyLayout">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>8</number>
+ </property>
+ <item>
+ <widget class="QGroupBox" name="subscriptGroupBox">
+ <property name="title">
+ <string>&Subscript</string>
+ </property>
+ <layout class="QHBoxLayout" name="subscriptLayout">
+ <item>
+ <widget class="FormWidget" name="subscriptDisplacementFormWidget">
+ <property name="label" stdset="0">
+ <string>Displacement</string>
+ </property>
+ <layout class="QHBoxLayout" name="subscriptDisplacementLayout">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item>
<widget class="QSpinBox" name="subscriptDisplacementSpinBox">
<property name="suffix">
<string> %</string>
@@ -101,7 +114,28 @@
</property>
</widget>
</item>
- <item row="1" column="1">
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="FormWidget" name="subscriptScalingFormWidget">
+ <property name="label" stdset="0">
+ <string>Scaling</string>
+ </property>
+ <layout class="QHBoxLayout" name="subscriptScalingLayout">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item>
<widget class="QSpinBox" name="subscriptScalingSpinBox">
<property name="suffix">
<string> %</string>
@@ -114,66 +148,50 @@
</property>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_6">
- <property name="text">
- <string>Scaling:</string>
- </property>
- </widget>
- </item>
</layout>
- </item>
- <item>
- <spacer name="verticalSpacer">
- <property name="orientation">
- <enum>Qt::Orientation::Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Policy::Fixed</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QLabel" name="label_3">
- <property name="font">
- <font>
- <bold>true</bold>
- </font>
- </property>
- <property name="text">
- <string>Superscript</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="Line" name="line_2">
- <property name="orientation">
- <enum>Qt::Orientation::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QFormLayout" name="formLayout_2">
- <property name="fieldGrowthPolicy">
- <enum>QFormLayout::FieldGrowthPolicy::FieldsStayAtSizeHint</enum>
- </property>
- <property name="formAlignment">
- <set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
- </property>
- <item row="0" column="0">
- <widget class="QLabel" name="label_7">
- <property name="text">
- <string>Displacement:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
+ </widget>
+ </item>
+ <item>
+ <spacer name="subscriptGroupBoxSpacer">
+ <property name="orientation">
+ <enum>Qt::Orientation::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="superscriptGroupBox">
+ <property name="title">
+ <string>Su&perscript</string>
+ </property>
+ <layout class="QHBoxLayout" name="superscriptLayout">
+ <item>
+ <widget class="FormWidget" name="superscriptDisplacementFormWidget">
+ <property name="label" stdset="0">
+ <string>Displacement</string>
+ </property>
+ <layout class="QHBoxLayout" name="superscriptDisplacementLayout">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item>
<widget class="QSpinBox" name="superscriptDisplacementSpinBox">
<property name="suffix">
<string> %</string>
@@ -183,14 +201,28 @@
</property>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_8">
- <property name="text">
- <string>Scaling:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="FormWidget" name="superscriptScalingFormWidget">
+ <property name="label" stdset="0">
+ <string>Scaling</string>
+ </property>
+ <layout class="QHBoxLayout" name="superscriptScalingLayout">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item>
<widget class="QSpinBox" name="superscriptScalingSpinBox">
<property name="suffix">
<string> %</string>
@@ -204,58 +236,49 @@
</widget>
</item>
</layout>
- </item>
- <item>
- <spacer name="verticalSpacer_2">
- <property name="orientation">
- <enum>Qt::Orientation::Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Policy::Fixed</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QLabel" name="label_14">
- <property name="font">
- <font>
- <bold>true</bold>
- </font>
- </property>
- <property name="text">
- <string>Small Caps</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="Line" name="line_5">
- <property name="orientation">
- <enum>Qt::Orientation::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QFormLayout" name="formLayout_5">
- <property name="fieldGrowthPolicy">
- <enum>QFormLayout::FieldGrowthPolicy::FieldsStayAtSizeHint</enum>
- </property>
- <property name="formAlignment">
- <set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
- </property>
- <item row="0" column="0">
- <widget class="QLabel" name="label_15">
- <property name="text">
- <string>Scaling:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
+ </widget>
+ </item>
+ <item>
+ <spacer name="superscriptGroupBoxSpacer">
+ <property name="orientation">
+ <enum>Qt::Orientation::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="smallCapsGroupBox">
+ <property name="title">
+ <string>Small &Caps</string>
+ </property>
+ <layout class="QHBoxLayout" name="smallCapsLayout">
+ <item>
+ <widget class="FormWidget" name="smallCapsScalingFormWidget">
+ <property name="label" stdset="0">
+ <string>Scaling</string>
+ </property>
+ <layout class="QHBoxLayout" name="smallCapsScalingLayout">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item>
<widget class="QSpinBox" name="smallcapsScalingSpinBox">
<property name="suffix">
<string> %</string>
@@ -266,70 +289,90 @@
</widget>
</item>
</layout>
- </item>
- </layout>
- </item>
- <item>
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Orientation::Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Policy::Fixed</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>9</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <layout class="QVBoxLayout" name="verticalLayout_3">
- <item>
- <widget class="QLabel" name="label_4">
- <property name="font">
- <font>
- <bold>true</bold>
- </font>
- </property>
- <property name="text">
- <string>Underline</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="Line" name="line_1">
- <property name="orientation">
- <enum>Qt::Orientation::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QFormLayout" name="formLayout_1">
- <property name="fieldGrowthPolicy">
- <enum>QFormLayout::FieldGrowthPolicy::FieldsStayAtSizeHint</enum>
- </property>
- <property name="formAlignment">
- <set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
- </property>
- <item row="0" column="0">
- <widget class="QLabel" name="label_9">
- <property name="text">
- <string>Displacement:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_10">
- <property name="text">
- <string>Line Width:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QDoubleSpinBox" name="underlineLineWidthSpinBox">
+ </widget>
+ </item>
+ <item>
+ <spacer name="smallCapsGroupBoxSpacer">
+ <property name="orientation">
+ <enum>Qt::Orientation::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <spacer name="leftTypographyVerticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Orientation::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QWidget" name="rightTypographyWidget" native="true">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <layout class="QVBoxLayout" name="rightTypographyLayout">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>8</number>
+ </property>
+ <item>
+ <widget class="QGroupBox" name="underlineGroupBox">
+ <property name="title">
+ <string>&Underline</string>
+ </property>
+ <layout class="QHBoxLayout" name="underlineLayout">
+ <item>
+ <widget class="FormWidget" name="underlineDisplacementFormWidget">
+ <property name="label" stdset="0">
+ <string>Displacement</string>
+ </property>
+ <layout class="QHBoxLayout" name="underlineDisplacementLayout">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QDoubleSpinBox" name="underlineDisplacementSpinBox">
<property name="wrapping">
<bool>true</bool>
</property>
@@ -347,8 +390,29 @@
</property>
</widget>
</item>
- <item row="0" column="1">
- <widget class="QDoubleSpinBox" name="underlineDisplacementSpinBox">
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="FormWidget" name="underlineLineWidthFormWidget">
+ <property name="label" stdset="0">
+ <string>Line Width</string>
+ </property>
+ <layout class="QHBoxLayout" name="underlineLineWidthLayout">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QDoubleSpinBox" name="underlineLineWidthSpinBox">
<property name="wrapping">
<bool>true</bool>
</property>
@@ -367,58 +431,49 @@
</widget>
</item>
</layout>
- </item>
- <item>
- <spacer name="verticalSpacer_4">
- <property name="orientation">
- <enum>Qt::Orientation::Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Policy::Fixed</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QLabel" name="label_11">
- <property name="font">
- <font>
- <bold>true</bold>
- </font>
- </property>
- <property name="text">
- <string>Strikeout</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="Line" name="line_4">
- <property name="orientation">
- <enum>Qt::Orientation::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QFormLayout" name="formLayout_4">
- <property name="fieldGrowthPolicy">
- <enum>QFormLayout::FieldGrowthPolicy::FieldsStayAtSizeHint</enum>
- </property>
- <property name="formAlignment">
- <set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
- </property>
- <item row="0" column="0">
- <widget class="QLabel" name="label_12">
- <property name="text">
- <string>Displacement:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
+ </widget>
+ </item>
+ <item>
+ <spacer name="underlineGroupBoxSpacer">
+ <property name="orientation">
+ <enum>Qt::Orientation::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="strikeoutGroupBox">
+ <property name="title">
+ <string>Stri&keout</string>
+ </property>
+ <layout class="QHBoxLayout" name="strikeoutLayout">
+ <item>
+ <widget class="FormWidget" name="strikeoutDisplacementFormWidget">
+ <property name="label" stdset="0">
+ <string>Displacement</string>
+ </property>
+ <layout class="QHBoxLayout" name="strikeoutDisplacementLayout">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item>
<widget class="QDoubleSpinBox" name="strikeoutDisplacementSpinBox">
<property name="wrapping">
<bool>true</bool>
@@ -437,14 +492,28 @@
</property>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_13">
- <property name="text">
- <string>Line Width:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="FormWidget" name="strikeoutLineWidthFormWidget">
+ <property name="label" stdset="0">
+ <string>Line Width</string>
+ </property>
+ <layout class="QHBoxLayout" name="strikeoutLineWidthLayout">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item>
<widget class="QDoubleSpinBox" name="strikeoutLineWidthSpinBox">
<property name="wrapping">
<bool>true</bool>
@@ -464,58 +533,49 @@
</widget>
</item>
</layout>
- </item>
- <item>
- <spacer name="verticalSpacer_6">
- <property name="orientation">
- <enum>Qt::Orientation::Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Policy::Fixed</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QLabel" name="label_17">
- <property name="font">
- <font>
- <bold>true</bold>
- </font>
- </property>
- <property name="text">
- <string>Automatic Line Spacing</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="Line" name="line_6">
- <property name="orientation">
- <enum>Qt::Orientation::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QFormLayout" name="formLayout_6">
- <property name="fieldGrowthPolicy">
- <enum>QFormLayout::FieldGrowthPolicy::FieldsStayAtSizeHint</enum>
- </property>
- <property name="formAlignment">
- <set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
- </property>
- <item row="0" column="0">
- <widget class="QLabel" name="label_19">
- <property name="text">
- <string>Line Spacing:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
+ </widget>
+ </item>
+ <item>
+ <spacer name="strikeoutGroupBoxSpacer">
+ <property name="orientation">
+ <enum>Qt::Orientation::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="automaticLineSpacingGroupBox">
+ <property name="title">
+ <string>&Automatic Line Spacing</string>
+ </property>
+ <layout class="QHBoxLayout" name="automaticLineSpacingLayout">
+ <item>
+ <widget class="FormWidget" name="automaticLineSpacingFormWidget">
+ <property name="label" stdset="0">
+ <string>Line Spacing</string>
+ </property>
+ <layout class="QHBoxLayout" name="automaticLineSpacingValueLayout">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item>
<widget class="QSpinBox" name="automaticLineSpacingSpinBox">
<property name="suffix">
<string> %</string>
@@ -529,20 +589,49 @@
</widget>
</item>
</layout>
- </item>
- </layout>
- </item>
- </layout>
+ </widget>
+ </item>
+ <item>
+ <spacer name="automaticLineSpacingGroupBoxSpacer">
+ <property name="orientation">
+ <enum>Qt::Orientation::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <spacer name="rightTypographyVerticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Orientation::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
</item>
<item>
- <spacer name="verticalSpacer_3">
+ <spacer name="typographyHorizontalSpacer">
<property name="orientation">
- <enum>Qt::Orientation::Vertical</enum>
+ <enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
- <width>20</width>
- <height>34</height>
+ <width>0</width>
+ <height>20</height>
</size>
</property>
</spacer>
@@ -580,6 +669,12 @@
</widget>
<customwidgets>
<customwidget>
+ <class>FormWidget</class>
+ <extends>QWidget</extends>
+ <header>ui/widgets/form_widget.h</header>
+ <container>1</container>
+ </customwidget>
+ <customwidget>
<class>OpticalMarginEditor</class>
<extends>QWidget</extends>
<header>ui/opticalmargineditor.h</header>
| ||||
| Patch | Yes | ||||
|
|
With things that later come to light when you commented on one such post, here is the revised version v1.8: - Consolidates Typography and Optical margins into one scrollable preferences page. - Uses balanced two-column typography groups with Optical margins full-width below. - Improves Optical margins workflow with clearer Add Rule, code-point feedback and tooltips. - Adds sentence-case headings, mnemonics, revised TAB order, and accessibility names. - Preserves existing preference data and behaviour; changes focus on layout, navigation and clarity. typography-preferences-layout-v1.8.patch (44,784 bytes)
Index: scribus/ui/preferences/prefs_typographybase.ui
===================================================================
--- scribus/ui/preferences/prefs_typographybase.ui (revision 27785)
+++ scribus/ui/preferences/prefs_typographybase.ui (working copy)
@@ -44,54 +44,97 @@
</widget>
</item>
<item>
- <widget class="QTabWidget" name="tabWidget">
- <property name="currentIndex">
- <number>0</number>
+ <widget class="QScrollArea" name="typographyScrollArea">
+ <property name="frameShape">
+ <enum>QFrame::Shape::NoFrame</enum>
</property>
- <widget class="QWidget" name="tabTypography">
- <attribute name="title">
- <string>Typography</string>
- </attribute>
- <layout class="QVBoxLayout" name="verticalLayout">
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="typographyScrollContents">
+ <layout class="QVBoxLayout" name="typographyContentLayout" stretch="0,1">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>6</number>
+ </property>
+ <property name="rightMargin">
+ <number>6</number>
+ </property>
+ <property name="bottomMargin">
+ <number>6</number>
+ </property>
+ <property name="spacing">
+ <number>12</number>
+ </property>
<item>
- <layout class="QHBoxLayout" name="horizontalLayout_4">
- <item>
- <layout class="QVBoxLayout" name="verticalLayout_5">
- <item>
- <widget class="QLabel" name="label_2">
- <property name="font">
- <font>
- <bold>true</bold>
- </font>
- </property>
- <property name="text">
- <string>Subscript</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="Line" name="line_3">
- <property name="orientation">
- <enum>Qt::Orientation::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QFormLayout" name="formLayout_3">
- <property name="fieldGrowthPolicy">
- <enum>QFormLayout::FieldGrowthPolicy::FieldsStayAtSizeHint</enum>
- </property>
- <property name="formAlignment">
- <set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
- </property>
- <item row="0" column="0">
- <widget class="QLabel" name="label_5">
- <property name="text">
- <string>Displacement:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
+ <widget class="QWidget" name="typographyControlsWidget" native="true">
+ <layout class="QHBoxLayout" name="typographyLayout" stretch="1,1">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>12</number>
+ </property>
+ <item>
+ <widget class="QWidget" name="leftTypographyWidget" native="true">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <layout class="QVBoxLayout" name="leftTypographyLayout">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>8</number>
+ </property>
+ <item>
+ <widget class="QGroupBox" name="subscriptGroupBox">
+ <property name="title">
+ <string>&Subscript</string>
+ </property>
+ <layout class="QHBoxLayout" name="subscriptLayout">
+ <item>
+ <widget class="FormWidget" name="subscriptDisplacementFormWidget">
+ <property name="label" stdset="0">
+ <string>Displacement</string>
+ </property>
+ <layout class="QHBoxLayout" name="subscriptDisplacementLayout">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item>
<widget class="QSpinBox" name="subscriptDisplacementSpinBox">
<property name="suffix">
<string> %</string>
@@ -101,7 +144,28 @@
</property>
</widget>
</item>
- <item row="1" column="1">
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="FormWidget" name="subscriptScalingFormWidget">
+ <property name="label" stdset="0">
+ <string>Scaling</string>
+ </property>
+ <layout class="QHBoxLayout" name="subscriptScalingLayout">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item>
<widget class="QSpinBox" name="subscriptScalingSpinBox">
<property name="suffix">
<string> %</string>
@@ -114,66 +178,50 @@
</property>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_6">
- <property name="text">
- <string>Scaling:</string>
- </property>
- </widget>
- </item>
</layout>
- </item>
- <item>
- <spacer name="verticalSpacer">
- <property name="orientation">
- <enum>Qt::Orientation::Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Policy::Fixed</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QLabel" name="label_3">
- <property name="font">
- <font>
- <bold>true</bold>
- </font>
- </property>
- <property name="text">
- <string>Superscript</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="Line" name="line_2">
- <property name="orientation">
- <enum>Qt::Orientation::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QFormLayout" name="formLayout_2">
- <property name="fieldGrowthPolicy">
- <enum>QFormLayout::FieldGrowthPolicy::FieldsStayAtSizeHint</enum>
- </property>
- <property name="formAlignment">
- <set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
- </property>
- <item row="0" column="0">
- <widget class="QLabel" name="label_7">
- <property name="text">
- <string>Displacement:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
+ </widget>
+ </item>
+ <item>
+ <spacer name="subscriptGroupBoxSpacer">
+ <property name="orientation">
+ <enum>Qt::Orientation::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="superscriptGroupBox">
+ <property name="title">
+ <string>Su&perscript</string>
+ </property>
+ <layout class="QHBoxLayout" name="superscriptLayout">
+ <item>
+ <widget class="FormWidget" name="superscriptDisplacementFormWidget">
+ <property name="label" stdset="0">
+ <string>Displacement</string>
+ </property>
+ <layout class="QHBoxLayout" name="superscriptDisplacementLayout">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item>
<widget class="QSpinBox" name="superscriptDisplacementSpinBox">
<property name="suffix">
<string> %</string>
@@ -183,14 +231,28 @@
</property>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_8">
- <property name="text">
- <string>Scaling:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="FormWidget" name="superscriptScalingFormWidget">
+ <property name="label" stdset="0">
+ <string>Scaling</string>
+ </property>
+ <layout class="QHBoxLayout" name="superscriptScalingLayout">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item>
<widget class="QSpinBox" name="superscriptScalingSpinBox">
<property name="suffix">
<string> %</string>
@@ -204,58 +266,49 @@
</widget>
</item>
</layout>
- </item>
- <item>
- <spacer name="verticalSpacer_2">
- <property name="orientation">
- <enum>Qt::Orientation::Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Policy::Fixed</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QLabel" name="label_14">
- <property name="font">
- <font>
- <bold>true</bold>
- </font>
- </property>
- <property name="text">
- <string>Small Caps</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="Line" name="line_5">
- <property name="orientation">
- <enum>Qt::Orientation::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QFormLayout" name="formLayout_5">
- <property name="fieldGrowthPolicy">
- <enum>QFormLayout::FieldGrowthPolicy::FieldsStayAtSizeHint</enum>
- </property>
- <property name="formAlignment">
- <set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
- </property>
- <item row="0" column="0">
- <widget class="QLabel" name="label_15">
- <property name="text">
- <string>Scaling:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
+ </widget>
+ </item>
+ <item>
+ <spacer name="superscriptGroupBoxSpacer">
+ <property name="orientation">
+ <enum>Qt::Orientation::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="smallCapsGroupBox">
+ <property name="title">
+ <string>Small &caps</string>
+ </property>
+ <layout class="QHBoxLayout" name="smallCapsLayout">
+ <item>
+ <widget class="FormWidget" name="smallCapsScalingFormWidget">
+ <property name="label" stdset="0">
+ <string>Scaling</string>
+ </property>
+ <layout class="QHBoxLayout" name="smallCapsScalingLayout">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item>
<widget class="QSpinBox" name="smallcapsScalingSpinBox">
<property name="suffix">
<string> %</string>
@@ -266,70 +319,77 @@
</widget>
</item>
</layout>
- </item>
- </layout>
- </item>
- <item>
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Orientation::Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Policy::Fixed</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>9</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <layout class="QVBoxLayout" name="verticalLayout_3">
- <item>
- <widget class="QLabel" name="label_4">
- <property name="font">
- <font>
- <bold>true</bold>
- </font>
- </property>
- <property name="text">
- <string>Underline</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="Line" name="line_1">
- <property name="orientation">
- <enum>Qt::Orientation::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QFormLayout" name="formLayout_1">
- <property name="fieldGrowthPolicy">
- <enum>QFormLayout::FieldGrowthPolicy::FieldsStayAtSizeHint</enum>
- </property>
- <property name="formAlignment">
- <set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
- </property>
- <item row="0" column="0">
- <widget class="QLabel" name="label_9">
- <property name="text">
- <string>Displacement:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_10">
- <property name="text">
- <string>Line Width:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QDoubleSpinBox" name="underlineLineWidthSpinBox">
+ </widget>
+ </item>
+ <item>
+ <spacer name="smallCapsGroupBoxSpacer">
+ <property name="orientation">
+ <enum>Qt::Orientation::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QWidget" name="rightTypographyWidget" native="true">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <layout class="QVBoxLayout" name="rightTypographyLayout">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>8</number>
+ </property>
+ <item>
+ <widget class="QGroupBox" name="underlineGroupBox">
+ <property name="title">
+ <string>&Underline</string>
+ </property>
+ <layout class="QHBoxLayout" name="underlineLayout">
+ <item>
+ <widget class="FormWidget" name="underlineDisplacementFormWidget">
+ <property name="label" stdset="0">
+ <string>Displacement</string>
+ </property>
+ <layout class="QHBoxLayout" name="underlineDisplacementLayout">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QDoubleSpinBox" name="underlineDisplacementSpinBox">
<property name="wrapping">
<bool>true</bool>
</property>
@@ -347,8 +407,29 @@
</property>
</widget>
</item>
- <item row="0" column="1">
- <widget class="QDoubleSpinBox" name="underlineDisplacementSpinBox">
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="FormWidget" name="underlineLineWidthFormWidget">
+ <property name="label" stdset="0">
+ <string>Line Width</string>
+ </property>
+ <layout class="QHBoxLayout" name="underlineLineWidthLayout">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QDoubleSpinBox" name="underlineLineWidthSpinBox">
<property name="wrapping">
<bool>true</bool>
</property>
@@ -367,58 +448,49 @@
</widget>
</item>
</layout>
- </item>
- <item>
- <spacer name="verticalSpacer_4">
- <property name="orientation">
- <enum>Qt::Orientation::Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Policy::Fixed</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QLabel" name="label_11">
- <property name="font">
- <font>
- <bold>true</bold>
- </font>
- </property>
- <property name="text">
- <string>Strikeout</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="Line" name="line_4">
- <property name="orientation">
- <enum>Qt::Orientation::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QFormLayout" name="formLayout_4">
- <property name="fieldGrowthPolicy">
- <enum>QFormLayout::FieldGrowthPolicy::FieldsStayAtSizeHint</enum>
- </property>
- <property name="formAlignment">
- <set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
- </property>
- <item row="0" column="0">
- <widget class="QLabel" name="label_12">
- <property name="text">
- <string>Displacement:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
+ </widget>
+ </item>
+ <item>
+ <spacer name="underlineGroupBoxSpacer">
+ <property name="orientation">
+ <enum>Qt::Orientation::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="strikeoutGroupBox">
+ <property name="title">
+ <string>Stri&keout</string>
+ </property>
+ <layout class="QHBoxLayout" name="strikeoutLayout">
+ <item>
+ <widget class="FormWidget" name="strikeoutDisplacementFormWidget">
+ <property name="label" stdset="0">
+ <string>Displacement</string>
+ </property>
+ <layout class="QHBoxLayout" name="strikeoutDisplacementLayout">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item>
<widget class="QDoubleSpinBox" name="strikeoutDisplacementSpinBox">
<property name="wrapping">
<bool>true</bool>
@@ -437,14 +509,28 @@
</property>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_13">
- <property name="text">
- <string>Line Width:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="FormWidget" name="strikeoutLineWidthFormWidget">
+ <property name="label" stdset="0">
+ <string>Line Width</string>
+ </property>
+ <layout class="QHBoxLayout" name="strikeoutLineWidthLayout">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item>
<widget class="QDoubleSpinBox" name="strikeoutLineWidthSpinBox">
<property name="wrapping">
<bool>true</bool>
@@ -464,58 +550,49 @@
</widget>
</item>
</layout>
- </item>
- <item>
- <spacer name="verticalSpacer_6">
- <property name="orientation">
- <enum>Qt::Orientation::Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Policy::Fixed</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QLabel" name="label_17">
- <property name="font">
- <font>
- <bold>true</bold>
- </font>
- </property>
- <property name="text">
- <string>Automatic Line Spacing</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="Line" name="line_6">
- <property name="orientation">
- <enum>Qt::Orientation::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QFormLayout" name="formLayout_6">
- <property name="fieldGrowthPolicy">
- <enum>QFormLayout::FieldGrowthPolicy::FieldsStayAtSizeHint</enum>
- </property>
- <property name="formAlignment">
- <set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
- </property>
- <item row="0" column="0">
- <widget class="QLabel" name="label_19">
- <property name="text">
- <string>Line Spacing:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
+ </widget>
+ </item>
+ <item>
+ <spacer name="strikeoutGroupBoxSpacer">
+ <property name="orientation">
+ <enum>Qt::Orientation::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="automaticLineSpacingGroupBox">
+ <property name="title">
+ <string>&Automatic line spacing</string>
+ </property>
+ <layout class="QHBoxLayout" name="automaticLineSpacingLayout">
+ <item>
+ <widget class="FormWidget" name="automaticLineSpacingFormWidget">
+ <property name="label" stdset="0">
+ <string>Line Spacing</string>
+ </property>
+ <layout class="QHBoxLayout" name="automaticLineSpacingValueLayout">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item>
<widget class="QSpinBox" name="automaticLineSpacingSpinBox">
<property name="suffix">
<string> %</string>
@@ -529,31 +606,36 @@
</widget>
</item>
</layout>
- </item>
- </layout>
- </item>
- </layout>
+ </widget>
+ </item>
+ <item>
+ <spacer name="automaticLineSpacingGroupBoxSpacer">
+ <property name="orientation">
+ <enum>Qt::Orientation::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
</item>
- <item>
- <spacer name="verticalSpacer_3">
- <property name="orientation">
- <enum>Qt::Orientation::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>34</height>
- </size>
- </property>
- </spacer>
+ </layout>
+ </widget>
</item>
</layout>
</widget>
- <widget class="QWidget" name="tabOpticalMargins">
- <attribute name="title">
- <string>Optical Margins</string>
- </attribute>
- <layout class="QGridLayout" name="gridLayout">
+ </item>
+ <item>
+ <widget class="QGroupBox" name="opticalMarginsGroupBox">
+ <property name="title">
+ <string>Optical &margins</string>
+ </property>
+ <layout class="QGridLayout" name="opticalMarginsLayout">
<property name="leftMargin">
<number>8</number>
</property>
@@ -574,12 +656,21 @@
</item>
</layout>
</widget>
+ </item>
+ </layout>
+ </widget>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
+ <class>FormWidget</class>
+ <extends>QWidget</extends>
+ <header>ui/widgets/form_widget.h</header>
+ <container>1</container>
+ </customwidget>
+ <customwidget>
<class>OpticalMarginEditor</class>
<extends>QWidget</extends>
<header>ui/opticalmargineditor.h</header>
@@ -589,13 +680,13 @@
<tabstops>
<tabstop>subscriptDisplacementSpinBox</tabstop>
<tabstop>subscriptScalingSpinBox</tabstop>
- <tabstop>superscriptDisplacementSpinBox</tabstop>
- <tabstop>superscriptScalingSpinBox</tabstop>
- <tabstop>smallcapsScalingSpinBox</tabstop>
<tabstop>underlineDisplacementSpinBox</tabstop>
<tabstop>underlineLineWidthSpinBox</tabstop>
+ <tabstop>superscriptDisplacementSpinBox</tabstop>
+ <tabstop>superscriptScalingSpinBox</tabstop>
<tabstop>strikeoutDisplacementSpinBox</tabstop>
<tabstop>strikeoutLineWidthSpinBox</tabstop>
+ <tabstop>smallcapsScalingSpinBox</tabstop>
<tabstop>automaticLineSpacingSpinBox</tabstop>
</tabstops>
<resources/>
Index: scribus/ui/preferences/prefs_typography.cpp
===================================================================
--- scribus/ui/preferences/prefs_typography.cpp (revision 27785)
+++ scribus/ui/preferences/prefs_typography.cpp (working copy)
@@ -35,16 +35,16 @@
strikeoutDisplacementSpinBox->setSpecialValueText(autoText);
strikeoutLineWidthSpinBox->setSpecialValueText(autoText);
- subscriptDisplacementSpinBox->setToolTip( tr( "Displacement below the baseline of the normal font on a line" ) );
- subscriptScalingSpinBox->setToolTip( tr( "Relative size of the subscript compared to the normal font" ) );
- superscriptDisplacementSpinBox->setToolTip( tr( "Displacement above the baseline of the font on a line" ) );
- superscriptScalingSpinBox->setToolTip( tr( "Relative size of the superscript compared to the normal font" ) );
- underlineDisplacementSpinBox->setToolTip( tr( "Displacement below the baseline of the normal font expressed as a percentage of the fonts descender" ) );
- underlineLineWidthSpinBox->setToolTip( tr( "Line width expressed as a percentage of the font size" ) );
- strikeoutDisplacementSpinBox->setToolTip( tr( "Displacement above the baseline of the normal font expressed as a percentage of the fonts ascender" ) );
- strikeoutLineWidthSpinBox->setToolTip( tr( "Line width expressed as a percentage of the font size" ) );
- smallcapsScalingSpinBox->setToolTip( tr( "Relative size of the small caps font compared to the normal font" ) );
- automaticLineSpacingSpinBox->setToolTip( tr( "Percentage increase over the font size for the line spacing" ) );
+ subscriptDisplacementSpinBox->setToolTip( tr( "Position subscript below the baseline" ) );
+ subscriptScalingSpinBox->setToolTip( tr( "Size subscript relative to normal text" ) );
+ superscriptDisplacementSpinBox->setToolTip( tr( "Position superscript above the baseline" ) );
+ superscriptScalingSpinBox->setToolTip( tr( "Size superscript relative to normal text" ) );
+ underlineDisplacementSpinBox->setToolTip( tr( "Position as % of font descender; Auto uses font metrics" ) );
+ underlineLineWidthSpinBox->setToolTip( tr( "Width as % of font size; Auto uses font metrics" ) );
+ strikeoutDisplacementSpinBox->setToolTip( tr( "Position as % of font ascender; Auto uses font metrics" ) );
+ strikeoutLineWidthSpinBox->setToolTip( tr( "Width as % of font size; Auto uses font metrics" ) );
+ smallcapsScalingSpinBox->setToolTip( tr( "Size small caps relative to normal text" ) );
+ automaticLineSpacingSpinBox->setToolTip( tr( "Line spacing as a percentage of font size" ) );
}
void Prefs_Typography::updateParagraphStyles(QString removedID, QString newID)
Index: scribus/ui/opticalmargineditor.ui
===================================================================
--- scribus/ui/opticalmargineditor.ui (revision 27785)
+++ scribus/ui/opticalmargineditor.ui (working copy)
@@ -44,14 +44,17 @@
<item>
<widget class="QComboBox" name="comboSets">
<property name="toolTip">
- <string>Current selected rule set</string>
+ <string>Select a rule set</string>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="buttonResetSet">
+ <property name="accessibleName">
+ <string>Restore selected rule set</string>
+ </property>
<property name="toolTip">
- <string>Reset current set to default values.</string>
+ <string>Restore selected rule set to defaults</string>
</property>
<property name="text">
<string/>
@@ -60,8 +63,11 @@
</item>
<item>
<widget class="QToolButton" name="buttonAddNewSet">
+ <property name="accessibleName">
+ <string>Create custom rule set</string>
+ </property>
<property name="toolTip">
- <string>Add new rule set</string>
+ <string>Create a custom rule set</string>
</property>
<property name="text">
<string/>
@@ -70,8 +76,11 @@
</item>
<item>
<widget class="QToolButton" name="buttonRemoveSet">
+ <property name="accessibleName">
+ <string>Delete selected rule set</string>
+ </property>
<property name="toolTip">
- <string>Remove current selected rule set</string>
+ <string>Delete selected rule set</string>
</property>
<property name="text">
<string/>
@@ -79,19 +88,6 @@
</widget>
</item>
<item>
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Orientation::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>16</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>Sets:</string>
@@ -100,8 +96,11 @@
</item>
<item>
<widget class="QToolButton" name="buttonResetAllSets">
+ <property name="accessibleName">
+ <string>Restore default rule sets</string>
+ </property>
<property name="toolTip">
- <string>Load default rule sets. Replaces current rule sets</string>
+ <string>Replace all rule sets with defaults</string>
</property>
<property name="text">
<string/>
@@ -110,47 +109,71 @@
</item>
<item>
<widget class="QToolButton" name="buttonLoadMissingDefaults">
+ <property name="accessibleName">
+ <string>Add missing default rule sets</string>
+ </property>
<property name="toolTip">
- <string>Add missing default sets to current sets.</string>
+ <string>Add missing default rule sets</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
- </layout>
- </item>
- <item>
- <widget class="QTableWidget" name="tableWidget"/>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_3">
+ <item>
+ <spacer name="addRuleSpacer">
+ <property name="orientation">
+ <enum>Qt::Orientation::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Policy::Fixed</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>12</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
<item>
<widget class="QToolButton" name="buttonAddNewRow">
<property name="toolTip">
- <string>Add a new rule</string>
+ <string>Add an empty row for a custom rule</string>
</property>
<property name="text">
- <string/>
+ <string>Add Rule</string>
+ </property>
+ <property name="toolButtonStyle">
+ <enum>Qt::ToolButtonStyle::ToolButtonTextBesideIcon</enum>
</property>
</widget>
</item>
- </layout>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_2" stretch="0,1">
- <property name="spacing">
- <number>4</number>
- </property>
<item>
- <widget class="QLabel" name="labelUnicode">
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Orientation::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>16</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QLabel" name="labelCodePoint">
<property name="text">
- <string>Unicode:</string>
+ <string>Select a character to view code point</string>
</property>
</widget>
</item>
<item>
- <widget class="QLabel" name="labelUnicodePreview">
+ <widget class="QLabel" name="labelCodePointPreview">
+ <property name="visible">
+ <bool>false</bool>
+ </property>
<property name="text">
<string/>
</property>
@@ -158,15 +181,20 @@
</item>
</layout>
</item>
+ <item>
+ <widget class="QTableWidget" name="tableWidget"/>
+ </item>
</layout>
</widget>
<tabstops>
<tabstop>comboSets</tabstop>
+ <tabstop>buttonResetSet</tabstop>
<tabstop>buttonAddNewSet</tabstop>
<tabstop>buttonRemoveSet</tabstop>
<tabstop>buttonResetAllSets</tabstop>
- <tabstop>tableWidget</tabstop>
+ <tabstop>buttonLoadMissingDefaults</tabstop>
<tabstop>buttonAddNewRow</tabstop>
+ <tabstop>tableWidget</tabstop>
</tabstops>
<resources/>
<connections/>
Index: scribus/ui/opticalmargineditor.cpp
===================================================================
--- scribus/ui/opticalmargineditor.cpp (revision 27785)
+++ scribus/ui/opticalmargineditor.cpp (working copy)
@@ -78,6 +78,8 @@
spinL->setMinimum(0.0);
spinL->setMaximum(100.0);
spinL->setNewUnit(unit);
+ spinL->setAccessibleName(tr("Left optical margin"));
+ spinL->setToolTip(tr("Amount to hang characters into the left margin"));
if (unit == SC_PERCENT)
{
spinL->setDecimals(0);
@@ -93,6 +95,8 @@
spinR->setMinimum(0.0);
spinR->setMaximum(100.0);
spinR->setNewUnit(unit);
+ spinR->setAccessibleName(tr("Right optical margin"));
+ spinR->setToolTip(tr("Amount to hang characters into the right margin"));
if (unit == SC_PERCENT)
{
spinR->setDecimals(0);
@@ -110,11 +114,15 @@
comboUnit->addItem("mm", scUnit::SC_MM);
comboUnit->addItem("in", scUnit::SC_IN);
comboUnit->setCurrentIndex(comboUnit->findData(unit));
+ comboUnit->setAccessibleName(tr("Optical margin unit"));
+ comboUnit->setToolTip(tr("Unit for the left and right values"));
connect(comboUnit, SIGNAL(currentIndexChanged(int)), this, SLOT(updateUnit()));
QLineEdit *lineStr = new QLineEdit();
lineStr->setText(s);
lineStr->setMinimumWidth(50);
+ lineStr->setAccessibleName(tr("Rule characters"));
+ lineStr->setToolTip(tr("Characters affected by this rule"));
connect(lineStr, SIGNAL(textChanged(QString)), this, SLOT(updateMarginRules()));
connect(lineStr, SIGNAL(selectionChanged()), this, SLOT(updatePreview()));
@@ -122,6 +130,8 @@
buttonRemove->setText("");
buttonRemove->setIconSize(QSize(16, 16));
buttonRemove->setIcon(im.loadIcon("delete"));
+ buttonRemove->setAccessibleName(tr("Remove rule"));
+ buttonRemove->setToolTip(tr("Remove this rule"));
buttonRemove->adjustSize();
connect(buttonRemove, SIGNAL(clicked()), this, SLOT(removeCurrentRow()));
@@ -150,6 +160,9 @@
{
tableWidget->clearContents();
tableWidget->setRowCount(0);
+ labelCodePoint->setText(tr("Select a character to view code point"));
+ labelCodePointPreview->clear();
+ labelCodePointPreview->setVisible(false);
if (m_sets.isEmpty())
qWarning() << Q_FUNC_INFO << "Empty optical margin sets.";
@@ -387,14 +400,18 @@
return;
QString str = lineEdit->selectedText();
+ const bool hasSelection = !str.isEmpty();
+ labelCodePointPreview->setVisible(hasSelection);
- if (str.length() < 1)
+ if (!hasSelection)
{
- labelUnicodePreview->setText("");
+ labelCodePoint->setText(tr("Select a character to view code point"));
+ labelCodePointPreview->clear();
return;
}
- labelUnicodePreview->setText(stringToUnicode(str[str.length() - 1]));
+ labelCodePoint->setText(tr("Code point:"));
+ labelCodePointPreview->setText(stringToUnicode(str[str.length() - 1]));
}
void OpticalMarginEditor::updateUnit()
@@ -446,6 +463,8 @@
retranslateUi(this);
tableWidget->setHorizontalHeaderLabels(QStringList {tr("Left"), tr("Right"), tr("Unit"), tr("Characters"), ""});
+ if (labelCodePointPreview->isVisible())
+ labelCodePoint->setText(tr("Code point:"));
updateSetSelector();
}
|
|
|
|
|
|
I am hoping two columns for the first part here would be ok since they are wide/empty enough to feel visually less cluttered. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2026-08-27 13:18 | qirat | New Issue | |
| 2026-08-27 13:18 | qirat | File Added: typography-prefs-ui-current.png | |
| 2026-08-27 13:18 | qirat | File Added: typography-prefs-ui-proposed.png | |
| 2026-08-27 13:18 | qirat | File Added: typography-preferences-layout-v1.2.patch | |
| 2026-08-27 13:18 | qirat | Tag Attached: #please_test | |
| 2026-09-01 09:05 | qirat | Note Added: 0054389 | |
| 2026-09-01 09:05 | qirat | File Added: typography-preferences-layout-v1.8.patch | |
| 2026-09-01 09:07 | qirat | Note Added: 0054390 | |
| 2026-09-01 09:07 | qirat | File Added: typography-prefs-ui-PROPOSED-v1.8.png | |
| 2026-09-01 09:08 | qirat | Note Added: 0054391 |