View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0017961 | Scribus | User Interface | public | 2026-09-01 06:35 | 2026-09-07 11:51 |
| 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 | 0017961: [patch] Guide Manager UI polish | ||||
| Description | - Reorganizes Guide Manager into two clearer work-flows: Manual Guides and Rows & Columns; removes the former Misc tab. - Moves document-wide actions into a persistent footer: Lock Guides, Clear Page Guides, and Clear All Guides. - Renames manual sections to Horizontal Guides / Vertical Guides and replaces wide Add/Delete buttons with compact existing Scribus icon buttons beside each guide list. - Makes manual guide rows use the full list width and displays the current unit suffix directly with each guide value; `unitChange()` no longer adds units to the group-box titles. - Refines Rows & Columns into matching horizontal/vertical panels with: - icon-based Relative to selectors for Page, Margins, and Selection; - compact Number controls; - optional Gap controls with row/column-specific tooltips. - Reuses existing Scribus icons via `IconManager`; no new artwork is added. - Clarifies page-wide actions as Copy Guides to All Pages for manual guides and Apply Settings to All Pages for generated guides. - Reduces dialogue width and visual chrome while preserving the existing guide models, tab semantics, generation logic, copy/delete behaviour, and document state handling. - Removes per-control Alt shortcuts/mnemonics where normal Tab navigation is sufficient, keeping navigation mnemonics at the higher-level tab/group scope. - C++ changes are limited to icon setup, persistent-footer enable state, and unit display handling; guide-generation and storage logic remain unchanged. | ||||
| Additional Information | +Screenshots showing proposed UI | ||||
| Tags | #please_test | ||||
| Attached Files | guidemanager-ui-v1.93.patch (37,352 bytes)
Index: scribus/ui/guidemanager.ui
===================================================================
--- scribus/ui/guidemanager.ui (revision 27810)
+++ scribus/ui/guidemanager.ui (working copy)
@@ -8,7 +8,7 @@
<rect>
<x>0</x>
<y>0</y>
- <width>428</width>
+ <width>340</width>
<height>368</height>
</rect>
</property>
@@ -35,7 +35,7 @@
</property>
<widget class="QWidget" name="standardPage">
<attribute name="title">
- <string>&Single</string>
+ <string>&Manual Guides</string>
</attribute>
<layout class="QGridLayout">
<property name="leftMargin">
@@ -55,10 +55,13 @@
<item>
<widget class="QGroupBox" name="horizontalGroupBox">
<property name="title">
- <string>Horizontals</string>
+ <string>&Horizontal Guides</string>
</property>
<layout class="QGridLayout">
- <item row="0" column="0" colspan="2">
+ <property name="horizontalSpacing">
+ <number>5</number>
+ </property>
+ <item row="0" column="0">
<widget class="GuidesView" name="horizontalView">
<property name="alternatingRowColors">
<bool>true</bool>
@@ -66,33 +69,37 @@
<property name="selectionBehavior">
<enum>QAbstractItemView::SelectRows</enum>
</property>
+ <attribute name="horizontalHeaderStretchLastSection">
+ <bool>true</bool>
+ </attribute>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QPushButton" name="addHorButton">
- <property name="toolTip">
- <string>Add a new horizontal guide</string>
- </property>
- <property name="text">
- <string>&Add</string>
- </property>
- <property name="shortcut">
- <string>Alt+A</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QPushButton" name="delHorButton">
- <property name="toolTip">
- <string>Delete the selected horizontal guide</string>
- </property>
- <property name="text">
- <string>D&elete</string>
- </property>
- <property name="shortcut">
- <string>Alt+E</string>
- </property>
- </widget>
+ <item row="0" column="1" alignment="Qt::AlignTop">
+ <layout class="QVBoxLayout" name="horizontalGuideActionsLayout">
+ <property name="spacing">
+ <number>5</number>
+ </property>
+ <item>
+ <widget class="QToolButton" name="addHorButton">
+ <property name="toolTip">
+ <string>Add a new horizontal guide</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="delHorButton">
+ <property name="toolTip">
+ <string>Delete the selected horizontal guide</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ </layout>
</item>
</layout>
</widget>
@@ -100,10 +107,13 @@
<item>
<widget class="QGroupBox" name="verticalGroupBox">
<property name="title">
- <string>Verticals</string>
+ <string>&Vertical Guides</string>
</property>
<layout class="QGridLayout">
- <item row="0" column="0" colspan="2">
+ <property name="horizontalSpacing">
+ <number>5</number>
+ </property>
+ <item row="0" column="0">
<widget class="GuidesView" name="verticalView">
<property name="alternatingRowColors">
<bool>true</bool>
@@ -111,70 +121,81 @@
<property name="selectionBehavior">
<enum>QAbstractItemView::SelectRows</enum>
</property>
+ <attribute name="horizontalHeaderStretchLastSection">
+ <bool>true</bool>
+ </attribute>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QPushButton" name="addVerButton">
- <property name="toolTip">
- <string>Add a new vertical guide</string>
- </property>
- <property name="text">
- <string>A&dd</string>
- </property>
- <property name="shortcut">
- <string>Alt+D</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QPushButton" name="delVerButton">
- <property name="toolTip">
- <string>Delete the selected vertical guide</string>
- </property>
- <property name="text">
- <string>De&lete</string>
- </property>
- <property name="shortcut">
- <string>Alt+L</string>
- </property>
- </widget>
+ <item row="0" column="1" alignment="Qt::AlignTop">
+ <layout class="QVBoxLayout" name="verticalGuideActionsLayout">
+ <property name="spacing">
+ <number>5</number>
+ </property>
+ <item>
+ <widget class="QToolButton" name="addVerButton">
+ <property name="toolTip">
+ <string>Add a new vertical guide</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="delVerButton">
+ <property name="toolTip">
+ <string>Delete the selected vertical guide</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ </layout>
</item>
</layout>
</widget>
</item>
</layout>
</item>
- <item row="1" column="0">
- <widget class="QCheckBox" name="lockCheck">
- <property name="toolTip">
- <string>Lock the guides</string>
- </property>
- <property name="text">
- <string>&Lock Guides</string>
- </property>
- <property name="shortcut">
- <string>Alt+L</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QPushButton" name="applyToAllStdButton">
- <property name="toolTip">
- <string>Apply to all pages</string>
+ <item row="1" column="0" colspan="2">
+ <layout class="QHBoxLayout" name="applyStdLayout">
+ <property name="topMargin">
+ <number>8</number>
</property>
- <property name="text">
- <string>Appl&y to All Pages</string>
- </property>
- <property name="shortcut">
- <string>Alt+Y</string>
- </property>
- </widget>
+ <item>
+ <spacer name="horizontalSpacerCopyLeft">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="applyToAllStdButton">
+ <property name="toolTip">
+ <string>Replace the manual guides on all other pages with the manual guides from the current page</string>
+ </property>
+ <property name="text">
+ <string>Copy Guides to All Pages</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="autoPage">
<attribute name="title">
- <string>&Column/Row</string>
+ <string>&Rows && Columns</string>
</attribute>
<layout class="QGridLayout">
<property name="leftMargin">
@@ -189,299 +210,384 @@
<property name="bottomMargin">
<number>9</number>
</property>
- <item row="2" column="0" colspan="2">
- <widget class="QPushButton" name="applyToAllAutoButton">
- <property name="toolTip">
- <string>Apply the shown guides to all pages in the document</string>
- </property>
- <property name="text">
- <string>Appl&y to All Pages</string>
- </property>
- <property name="shortcut">
- <string>Alt+Y</string>
- </property>
- </widget>
- </item>
<item row="0" column="0">
<widget class="QGroupBox" name="horizontalAutoGroup">
<property name="title">
- <string>Horizontals</string>
+ <string>&Horizontal Guides</string>
</property>
<layout class="QGridLayout">
+ <property name="horizontalSpacing">
+ <number>20</number>
+ </property>
+ <property name="verticalSpacing">
+ <number>8</number>
+ </property>
<item row="0" column="0">
- <widget class="QLabel" name="textLabel1">
- <property name="text">
- <string>&Number:</string>
- </property>
- <property name="wordWrap">
- <bool>false</bool>
- </property>
- <property name="buddy">
- <cstring>horizontalAutoCountSpin</cstring>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="ScrSpinBox" name="horizontalAutoCountSpin">
- <property name="toolTip">
- <string>Number of horizontal guides to create</string>
- </property>
- <property name="suffix">
- <string/>
- </property>
- <property name="minimum">
- <number>0</number>
- </property>
- <property name="value">
- <number>0</number>
- </property>
- </widget>
- </item>
- <item row="1" column="0" colspan="2">
- <widget class="QCheckBox" name="horizontalAutoGapCheck">
- <property name="toolTip">
- <string>Create rows with guides, with an additional gap between the rows</string>
- </property>
- <property name="text">
- <string>U&se Gap:</string>
- </property>
- <property name="shortcut">
- <string>Alt+S</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0" colspan="2">
- <widget class="ScrSpinBox" name="horizontalAutoGapSpin"/>
- </item>
- <item row="3" column="0" colspan="2">
- <widget class="QGroupBox" name="groupBox">
- <property name="title">
- <string>Refer to</string>
- </property>
- <layout class="QGridLayout">
- <item row="0" column="0">
- <widget class="QRadioButton" name="horizontalPageAutoButton">
+ <widget class="FormWidget" name="horizontalRelativeForm">
+ <property name="label" stdset="0">
+ <string>Relative to</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalRelativeButtonsLayout">
+ <property name="spacing">
+ <number>5</number>
+ </property>
+ <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="QToolButton" name="horizontalPageAutoButton">
<property name="toolTip">
- <string>Create the selected number of horizontal guides relative to the current page</string>
+ <string>Relative to page</string>
</property>
<property name="text">
- <string>&Page</string>
+ <string/>
</property>
- <property name="shortcut">
- <string>Alt+P</string>
+ <property name="checkable">
+ <bool>true</bool>
</property>
<property name="checked">
<bool>true</bool>
</property>
+ <property name="autoExclusive">
+ <bool>true</bool>
+ </property>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QRadioButton" name="horizontalMarginsAutoButton">
+ <item>
+ <widget class="QToolButton" name="horizontalMarginsAutoButton">
<property name="toolTip">
- <string>Create the selected number of horizontal guides relative to the current page's margins</string>
+ <string>Relative to margins</string>
</property>
<property name="text">
- <string>M&argins</string>
+ <string/>
</property>
- <property name="shortcut">
- <string>Alt+A</string>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="autoExclusive">
+ <bool>true</bool>
</property>
</widget>
</item>
- <item row="2" column="0">
- <widget class="QRadioButton" name="horizontalSelectionAutoButton">
+ <item>
+ <widget class="QToolButton" name="horizontalSelectionAutoButton">
<property name="toolTip">
- <string>Create the selected number of horizontal guides relative to the current selection of items</string>
+ <string>Relative to selection</string>
</property>
<property name="text">
- <string>S&election</string>
+ <string/>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
</property>
- <property name="shortcut">
- <string>Alt+E</string>
+ <property name="autoExclusive">
+ <bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
- </layout>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QGroupBox" name="verticalAutoGroup">
- <property name="title">
- <string>Verticals</string>
- </property>
- <layout class="QGridLayout">
- <item row="0" column="0">
- <widget class="QLabel" name="textLabel1_2">
- <property name="text">
- <string>Nu&mber:</string>
- </property>
- <property name="wordWrap">
- <bool>false</bool>
- </property>
- <property name="buddy">
- <cstring>verticalAutoCountSpin</cstring>
- </property>
+ <item row="0" column="1">
+ <widget class="FormWidget" name="horizontalNumberForm">
+ <property name="label" stdset="0">
+ <string>Number</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalNumberLayout">
+ <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="ScrSpinBox" name="horizontalAutoCountSpin">
+ <property name="minimumSize">
+ <size>
+ <width>100</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>100</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Number of horizontal guides to create</string>
+ </property>
+ <property name="suffix">
+ <string/>
+ </property>
+ <property name="minimum">
+ <number>0</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
</widget>
</item>
- <item row="0" column="1">
- <widget class="ScrSpinBox" name="verticalAutoCountSpin">
+ <item row="1" column="0">
+ <widget class="QCheckBox" name="horizontalAutoGapCheck">
<property name="toolTip">
- <string>Number of vertical guides to create</string>
- </property>
- <property name="suffix">
- <string/>
- </property>
- <property name="minimum">
- <number>0</number>
+ <string>Set the gap between adjacent generated rows</string>
</property>
- <property name="value">
- <number>0</number>
+ <property name="text">
+ <string>Gap:</string>
</property>
</widget>
</item>
- <item row="1" column="0" colspan="2">
- <widget class="QCheckBox" name="verticalAutoGapCheck">
- <property name="toolTip">
- <string>Create columns with guides, with an additional gap between the columns</string>
+ <item row="1" column="1">
+ <widget class="ScrSpinBox" name="horizontalAutoGapSpin">
+ <property name="minimumSize">
+ <size>
+ <width>100</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>100</width>
+ <height>16777215</height>
+ </size>
</property>
- <property name="text">
- <string>Use &Gap:</string>
- </property>
- <property name="shortcut">
- <string>Alt+G</string>
+ <property name="toolTip">
+ <string>Set the gap between adjacent generated rows</string>
</property>
</widget>
</item>
- <item row="2" column="0" colspan="2">
- <widget class="ScrSpinBox" name="verticalAutoGapSpin"/>
- </item>
- <item row="3" column="0" colspan="2">
- <widget class="QGroupBox" name="groupBox_2">
- <property name="title">
- <string>Refer to</string>
- </property>
- <layout class="QGridLayout">
- <item row="0" column="0">
- <widget class="QRadioButton" name="verticalPageAutoButton">
+ </layout>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QGroupBox" name="verticalAutoGroup">
+ <property name="title">
+ <string>&Vertical Guides</string>
+ </property>
+ <layout class="QGridLayout">
+ <property name="horizontalSpacing">
+ <number>20</number>
+ </property>
+ <property name="verticalSpacing">
+ <number>8</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="FormWidget" name="verticalRelativeForm">
+ <property name="label" stdset="0">
+ <string>Relative to</string>
+ </property>
+ <layout class="QHBoxLayout" name="verticalRelativeButtonsLayout">
+ <property name="spacing">
+ <number>5</number>
+ </property>
+ <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="QToolButton" name="verticalPageAutoButton">
<property name="toolTip">
- <string>Create the selected number of vertical guides relative to the current page</string>
+ <string>Relative to page</string>
</property>
<property name="text">
- <string>&Page</string>
+ <string/>
</property>
- <property name="shortcut">
- <string>Alt+P</string>
+ <property name="checkable">
+ <bool>true</bool>
</property>
<property name="checked">
<bool>true</bool>
</property>
+ <property name="autoExclusive">
+ <bool>true</bool>
+ </property>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QRadioButton" name="verticalMarginsAutoButton">
+ <item>
+ <widget class="QToolButton" name="verticalMarginsAutoButton">
<property name="toolTip">
- <string>Create the selected number of vertical guides relative to the current page's margins</string>
+ <string>Relative to margins</string>
</property>
<property name="text">
- <string>M&argins</string>
+ <string/>
</property>
- <property name="shortcut">
- <string>Alt+A</string>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="autoExclusive">
+ <bool>true</bool>
</property>
</widget>
</item>
- <item row="2" column="0">
- <widget class="QRadioButton" name="verticalSelectionAutoButton">
+ <item>
+ <widget class="QToolButton" name="verticalSelectionAutoButton">
<property name="toolTip">
- <string>Create the selected number of vertical guides relative to the current selection of items</string>
+ <string>Relative to selection</string>
</property>
<property name="text">
- <string>S&election</string>
+ <string/>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
</property>
- <property name="shortcut">
- <string>Alt+E</string>
+ <property name="autoExclusive">
+ <bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
+ <item row="0" column="1">
+ <widget class="FormWidget" name="verticalNumberForm">
+ <property name="label" stdset="0">
+ <string>Number</string>
+ </property>
+ <layout class="QHBoxLayout" name="verticalNumberLayout">
+ <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="ScrSpinBox" name="verticalAutoCountSpin">
+ <property name="minimumSize">
+ <size>
+ <width>100</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>100</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Number of vertical guides to create</string>
+ </property>
+ <property name="suffix">
+ <string/>
+ </property>
+ <property name="minimum">
+ <number>0</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QCheckBox" name="verticalAutoGapCheck">
+ <property name="toolTip">
+ <string>Set the gap between adjacent generated columns</string>
+ </property>
+ <property name="text">
+ <string>Gap:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="ScrSpinBox" name="verticalAutoGapSpin">
+ <property name="minimumSize">
+ <size>
+ <width>100</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>100</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Set the gap between adjacent generated columns</string>
+ </property>
+ </widget>
+ </item>
</layout>
</widget>
</item>
- <item row="1" column="0">
- <spacer name="verticalSpacer">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
+ <item row="1" column="0" colspan="2">
+ <layout class="QHBoxLayout" name="applyAutoLayout">
+ <property name="topMargin">
+ <number>8</number>
</property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>0</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="miscPage">
- <attribute name="title">
- <string>&Misc</string>
- </attribute>
- <layout class="QGridLayout">
- <property name="leftMargin">
- <number>9</number>
- </property>
- <property name="topMargin">
- <number>9</number>
- </property>
- <property name="rightMargin">
- <number>9</number>
- </property>
- <property name="bottomMargin">
- <number>9</number>
- </property>
- <item row="0" column="0">
- <widget class="QPushButton" name="deletePageButton">
- <property name="toolTip">
- <string>Delete all guides from the current page</string>
- </property>
- <property name="text">
- <string>Delete Guides from Current &Page</string>
- </property>
- <property name="shortcut">
- <string>Alt+P</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QPushButton" name="deleteAllGuides">
- <property name="toolTip">
- <string>Delete all guides from the current document</string>
- </property>
- <property name="text">
- <string>Delete Guides from &All Pages</string>
- </property>
- <property name="shortcut">
- <string>Alt+A</string>
- </property>
- </widget>
+ <item>
+ <spacer name="horizontalSpacerApplyLeft">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="applyToAllAutoButton">
+ <property name="toolTip">
+ <string>Apply the current row and column guide settings to all pages in the document</string>
+ </property>
+ <property name="text">
+ <string>Apply Settings to All Pages</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
</item>
- <item row="2" column="0">
- <spacer>
+ <item row="2" column="0" colspan="2">
+ <spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
- <property name="sizeType">
- <enum>QSizePolicy::Expanding</enum>
- </property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
- <height>40</height>
+ <height>0</height>
</size>
</property>
</spacer>
@@ -490,10 +596,80 @@
</widget>
</widget>
</item>
+ <item row="1" column="0">
+ <widget class="QWidget" name="globalGuideControls">
+ <layout class="QHBoxLayout">
+ <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="QCheckBox" name="lockCheck">
+ <property name="toolTip">
+ <string>Lock the guides</string>
+ </property>
+ <property name="text">
+ <string>Lock Guides</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacerGlobal">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="deletePageButton">
+ <property name="toolTip">
+ <string>Delete all guides from the current page</string>
+ </property>
+ <property name="text">
+ <string>Clear Page Guides</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="deleteAllGuides">
+ <property name="toolTip">
+ <string>Delete all guides from the current document</string>
+ </property>
+ <property name="text">
+ <string>Clear All Guides</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </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>ScrSpinBox</class>
<extends>QDoubleSpinBox</extends>
<header location="global">ui/scrspinbox.h</header>
Index: scribus/ui/guidemanager.cpp
===================================================================
--- scribus/ui/guidemanager.cpp (revision 27810)
+++ scribus/ui/guidemanager.cpp (working copy)
@@ -27,6 +27,7 @@
#include "guidemanager.h"
#include "guidesdelegate.h"
#include "guidesmodel.h"
+#include "iconmanager.h"
#include "scpage.h"
#include "scribuscore.h"
#include "scribusdoc.h"
@@ -41,6 +42,7 @@
{
setupUi(this);
tabWidget->setEnabled(false);
+ globalGuideControls->setEnabled(false);
horizontalAutoGapSpin->setMinimum(0.0);
horizontalAutoGapSpin->setMaximum(10000.0);
verticalAutoGapSpin->setMinimum(0.0);
@@ -48,6 +50,18 @@
horizontalAutoCountSpin->setDecimals(0);
verticalAutoCountSpin->setDecimals(0);
+ IconManager& im = IconManager::instance();
+ addHorButton->setIcon(im.loadIcon("list-add"));
+ delHorButton->setIcon(im.loadIcon("edit-delete"));
+ addVerButton->setIcon(im.loadIcon("list-add"));
+ delVerButton->setIcon(im.loadIcon("edit-delete"));
+ horizontalPageAutoButton->setIcon(im.loadIcon("align-to-page"));
+ horizontalMarginsAutoButton->setIcon(im.loadIcon("align-to-margin"));
+ horizontalSelectionAutoButton->setIcon(im.loadIcon("align-to-last-selection"));
+ verticalPageAutoButton->setIcon(im.loadIcon("align-to-page"));
+ verticalMarginsAutoButton->setIcon(im.loadIcon("align-to-margin"));
+ verticalSelectionAutoButton->setIcon(im.loadIcon("align-to-last-selection"));
+
// MVC
horizontalModel = new GuidesModel(this);
verticalModel = new GuidesModel(this);
@@ -122,6 +136,7 @@
if (!m_doc)
currentPage = nullptr;
tabWidget->setEnabled(doc != nullptr);
+ globalGuideControls->setEnabled(doc != nullptr);
}
void GuideManager::setVisible(bool visible)
@@ -243,20 +258,14 @@
if (!m_doc)
return;
- // a little bit magic to get Verticals (unit) into group boxes
- horizontalGroupBox->setTitle(horizontalGroupBox->title().remove(" ("+suffix.trimmed()+")"));
- verticalGroupBox->setTitle(verticalGroupBox->title().remove(" ("+suffix.trimmed()+")"));
docUnitIndex = m_doc->unitIndex();
int docUnitDecimals = unitGetPrecisionFromIndex(docUnitIndex);
QSignalBlocker horizontalAutoGapSpinBlock(horizontalAutoGapSpin);
QSignalBlocker verticalAutoGapSpinBlock(verticalAutoGapSpin);
- suffix = unitGetSuffixFromIndex(docUnitIndex);
horizontalAutoGapSpin->setNewUnit(docUnitIndex);
verticalAutoGapSpin->setNewUnit(docUnitIndex);
- horizontalGroupBox->setTitle(horizontalGroupBox->title() + " ("+suffix.trimmed()+")");
- verticalGroupBox->setTitle(verticalGroupBox->title() + " ("+suffix.trimmed()+")");
// models display
horizontalModel->unitChange(docUnitIndex, docUnitDecimals, m_doc->rulerYoffset);
verticalModel->unitChange(docUnitIndex, docUnitDecimals, m_doc->rulerXoffset);
Index: scribus/ui/guidemanager.h
===================================================================
--- scribus/ui/guidemanager.h (revision 27810)
+++ scribus/ui/guidemanager.h (working copy)
@@ -92,9 +92,6 @@
//! \brief Document measurements and metrics
int docUnitIndex { 0 };
- //! \brief suffix of the unit [mm, ...]
- QString suffix;
-
/*! \brief Copy guides from currentPage to all remaining.
All gudes are deleted before copying.
\param t a type to clear and copy.*/
Index: scribus/guidesmodel.cpp
===================================================================
--- scribus/guidesmodel.cpp (revision 27810)
+++ scribus/guidesmodel.cpp (working copy)
@@ -43,7 +43,7 @@
return QVariant(l.toString(pts2value(m_values.at(index.row()) - m_rule,
m_docUnitIndex), 'f',
m_docUnitDecimals)
- );
+ + unitGetSuffixFromIndex(m_docUnitIndex));
}
if (role == Qt::EditRole)
return pts2value(m_values.at(index.row()) - m_rule, m_docUnitIndex);
| ||||
| Patch | Yes | ||||
|
|
there is no need for the ‚lock guides‘ checkbox in ‚rows & columns‘ mode. (could be grayed out or removed) |
|
|
Thanks, @utnik. Removed. guidemanager-ui-v1.94.patch (38,055 bytes)
Index: scribus/ui/guidemanager.ui
===================================================================
--- scribus/ui/guidemanager.ui (revision 27810)
+++ scribus/ui/guidemanager.ui (working copy)
@@ -8,7 +8,7 @@
<rect>
<x>0</x>
<y>0</y>
- <width>428</width>
+ <width>340</width>
<height>368</height>
</rect>
</property>
@@ -35,7 +35,7 @@
</property>
<widget class="QWidget" name="standardPage">
<attribute name="title">
- <string>&Single</string>
+ <string>&Manual Guides</string>
</attribute>
<layout class="QGridLayout">
<property name="leftMargin">
@@ -55,10 +55,13 @@
<item>
<widget class="QGroupBox" name="horizontalGroupBox">
<property name="title">
- <string>Horizontals</string>
+ <string>&Horizontal Guides</string>
</property>
<layout class="QGridLayout">
- <item row="0" column="0" colspan="2">
+ <property name="horizontalSpacing">
+ <number>5</number>
+ </property>
+ <item row="0" column="0">
<widget class="GuidesView" name="horizontalView">
<property name="alternatingRowColors">
<bool>true</bool>
@@ -66,33 +69,37 @@
<property name="selectionBehavior">
<enum>QAbstractItemView::SelectRows</enum>
</property>
+ <attribute name="horizontalHeaderStretchLastSection">
+ <bool>true</bool>
+ </attribute>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QPushButton" name="addHorButton">
- <property name="toolTip">
- <string>Add a new horizontal guide</string>
+ <item row="0" column="1" alignment="Qt::AlignTop">
+ <layout class="QVBoxLayout" name="horizontalGuideActionsLayout">
+ <property name="spacing">
+ <number>5</number>
</property>
- <property name="text">
- <string>&Add</string>
- </property>
- <property name="shortcut">
- <string>Alt+A</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QPushButton" name="delHorButton">
- <property name="toolTip">
- <string>Delete the selected horizontal guide</string>
- </property>
- <property name="text">
- <string>D&elete</string>
- </property>
- <property name="shortcut">
- <string>Alt+E</string>
- </property>
- </widget>
+ <item>
+ <widget class="QToolButton" name="addHorButton">
+ <property name="toolTip">
+ <string>Add a new horizontal guide</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="delHorButton">
+ <property name="toolTip">
+ <string>Delete the selected horizontal guide</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ </layout>
</item>
</layout>
</widget>
@@ -100,10 +107,13 @@
<item>
<widget class="QGroupBox" name="verticalGroupBox">
<property name="title">
- <string>Verticals</string>
+ <string>&Vertical Guides</string>
</property>
<layout class="QGridLayout">
- <item row="0" column="0" colspan="2">
+ <property name="horizontalSpacing">
+ <number>5</number>
+ </property>
+ <item row="0" column="0">
<widget class="GuidesView" name="verticalView">
<property name="alternatingRowColors">
<bool>true</bool>
@@ -111,70 +121,91 @@
<property name="selectionBehavior">
<enum>QAbstractItemView::SelectRows</enum>
</property>
+ <attribute name="horizontalHeaderStretchLastSection">
+ <bool>true</bool>
+ </attribute>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QPushButton" name="addVerButton">
- <property name="toolTip">
- <string>Add a new vertical guide</string>
+ <item row="0" column="1" alignment="Qt::AlignTop">
+ <layout class="QVBoxLayout" name="verticalGuideActionsLayout">
+ <property name="spacing">
+ <number>5</number>
</property>
- <property name="text">
- <string>A&dd</string>
- </property>
- <property name="shortcut">
- <string>Alt+D</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QPushButton" name="delVerButton">
- <property name="toolTip">
- <string>Delete the selected vertical guide</string>
- </property>
- <property name="text">
- <string>De&lete</string>
- </property>
- <property name="shortcut">
- <string>Alt+L</string>
- </property>
- </widget>
+ <item>
+ <widget class="QToolButton" name="addVerButton">
+ <property name="toolTip">
+ <string>Add a new vertical guide</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="delVerButton">
+ <property name="toolTip">
+ <string>Delete the selected vertical guide</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ </layout>
</item>
</layout>
</widget>
</item>
</layout>
</item>
- <item row="1" column="0">
- <widget class="QCheckBox" name="lockCheck">
- <property name="toolTip">
- <string>Lock the guides</string>
+ <item row="1" column="0" colspan="2">
+ <layout class="QHBoxLayout" name="applyStdLayout">
+ <property name="topMargin">
+ <number>8</number>
</property>
- <property name="text">
- <string>&Lock Guides</string>
- </property>
- <property name="shortcut">
- <string>Alt+L</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QPushButton" name="applyToAllStdButton">
- <property name="toolTip">
- <string>Apply to all pages</string>
- </property>
- <property name="text">
- <string>Appl&y to All Pages</string>
- </property>
- <property name="shortcut">
- <string>Alt+Y</string>
- </property>
- </widget>
+ <item>
+ <widget class="QCheckBox" name="lockCheck">
+ <property name="toolTip">
+ <string>Lock the guides</string>
+ </property>
+ <property name="text">
+ <string>Lock Guides</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacerCopyLeft">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="applyToAllStdButton">
+ <property name="toolTip">
+ <string>Replace the manual guides on all other pages with the manual guides from the current page</string>
+ </property>
+ <property name="text">
+ <string>Copy Guides to All Pages</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="autoPage">
<attribute name="title">
- <string>&Column/Row</string>
+ <string>&Rows && Columns</string>
</attribute>
<layout class="QGridLayout">
<property name="leftMargin">
@@ -189,119 +220,169 @@
<property name="bottomMargin">
<number>9</number>
</property>
- <item row="2" column="0" colspan="2">
- <widget class="QPushButton" name="applyToAllAutoButton">
- <property name="toolTip">
- <string>Apply the shown guides to all pages in the document</string>
- </property>
- <property name="text">
- <string>Appl&y to All Pages</string>
- </property>
- <property name="shortcut">
- <string>Alt+Y</string>
- </property>
- </widget>
- </item>
<item row="0" column="0">
<widget class="QGroupBox" name="horizontalAutoGroup">
<property name="title">
- <string>Horizontals</string>
+ <string>&Horizontal Guides</string>
</property>
<layout class="QGridLayout">
+ <property name="horizontalSpacing">
+ <number>20</number>
+ </property>
+ <property name="verticalSpacing">
+ <number>8</number>
+ </property>
<item row="0" column="0">
- <widget class="QLabel" name="textLabel1">
- <property name="text">
- <string>&Number:</string>
- </property>
- <property name="wordWrap">
- <bool>false</bool>
- </property>
- <property name="buddy">
- <cstring>horizontalAutoCountSpin</cstring>
- </property>
+ <widget class="FormWidget" name="horizontalRelativeForm">
+ <property name="label" stdset="0">
+ <string>Relative to</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalRelativeButtonsLayout">
+ <property name="spacing">
+ <number>5</number>
+ </property>
+ <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="QToolButton" name="horizontalPageAutoButton">
+ <property name="toolTip">
+ <string>Relative to page</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="autoExclusive">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="horizontalMarginsAutoButton">
+ <property name="toolTip">
+ <string>Relative to margins</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="autoExclusive">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="horizontalSelectionAutoButton">
+ <property name="toolTip">
+ <string>Relative to selection</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="autoExclusive">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
</widget>
</item>
<item row="0" column="1">
- <widget class="ScrSpinBox" name="horizontalAutoCountSpin">
- <property name="toolTip">
- <string>Number of horizontal guides to create</string>
- </property>
- <property name="suffix">
- <string/>
- </property>
- <property name="minimum">
- <number>0</number>
- </property>
- <property name="value">
- <number>0</number>
- </property>
- </widget>
- </item>
- <item row="1" column="0" colspan="2">
+ <widget class="FormWidget" name="horizontalNumberForm">
+ <property name="label" stdset="0">
+ <string>Number</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalNumberLayout">
+ <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="ScrSpinBox" name="horizontalAutoCountSpin">
+ <property name="minimumSize">
+ <size>
+ <width>100</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>100</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Number of horizontal guides to create</string>
+ </property>
+ <property name="suffix">
+ <string/>
+ </property>
+ <property name="minimum">
+ <number>0</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="1" column="0">
<widget class="QCheckBox" name="horizontalAutoGapCheck">
<property name="toolTip">
- <string>Create rows with guides, with an additional gap between the rows</string>
+ <string>Set the gap between adjacent generated rows</string>
</property>
<property name="text">
- <string>U&se Gap:</string>
- </property>
- <property name="shortcut">
- <string>Alt+S</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0" colspan="2">
- <widget class="ScrSpinBox" name="horizontalAutoGapSpin"/>
- </item>
- <item row="3" column="0" colspan="2">
- <widget class="QGroupBox" name="groupBox">
- <property name="title">
- <string>Refer to</string>
- </property>
- <layout class="QGridLayout">
- <item row="0" column="0">
- <widget class="QRadioButton" name="horizontalPageAutoButton">
- <property name="toolTip">
- <string>Create the selected number of horizontal guides relative to the current page</string>
- </property>
- <property name="text">
- <string>&Page</string>
- </property>
- <property name="shortcut">
- <string>Alt+P</string>
- </property>
- <property name="checked">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QRadioButton" name="horizontalMarginsAutoButton">
- <property name="toolTip">
- <string>Create the selected number of horizontal guides relative to the current page's margins</string>
- </property>
- <property name="text">
- <string>M&argins</string>
- </property>
- <property name="shortcut">
- <string>Alt+A</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QRadioButton" name="horizontalSelectionAutoButton">
- <property name="toolTip">
- <string>Create the selected number of horizontal guides relative to the current selection of items</string>
- </property>
- <property name="text">
- <string>S&election</string>
- </property>
- <property name="shortcut">
- <string>Alt+E</string>
- </property>
- </widget>
- </item>
- </layout>
+ <string>Gap:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="ScrSpinBox" name="horizontalAutoGapSpin">
+ <property name="minimumSize">
+ <size>
+ <width>100</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>100</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Set the gap between adjacent generated rows</string>
+ </property>
</widget>
</item>
</layout>
@@ -310,109 +391,205 @@
<item row="0" column="1">
<widget class="QGroupBox" name="verticalAutoGroup">
<property name="title">
- <string>Verticals</string>
+ <string>&Vertical Guides</string>
</property>
<layout class="QGridLayout">
+ <property name="horizontalSpacing">
+ <number>20</number>
+ </property>
+ <property name="verticalSpacing">
+ <number>8</number>
+ </property>
<item row="0" column="0">
- <widget class="QLabel" name="textLabel1_2">
- <property name="text">
- <string>Nu&mber:</string>
- </property>
- <property name="wordWrap">
- <bool>false</bool>
- </property>
- <property name="buddy">
- <cstring>verticalAutoCountSpin</cstring>
- </property>
+ <widget class="FormWidget" name="verticalRelativeForm">
+ <property name="label" stdset="0">
+ <string>Relative to</string>
+ </property>
+ <layout class="QHBoxLayout" name="verticalRelativeButtonsLayout">
+ <property name="spacing">
+ <number>5</number>
+ </property>
+ <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="QToolButton" name="verticalPageAutoButton">
+ <property name="toolTip">
+ <string>Relative to page</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="autoExclusive">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="verticalMarginsAutoButton">
+ <property name="toolTip">
+ <string>Relative to margins</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="autoExclusive">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="verticalSelectionAutoButton">
+ <property name="toolTip">
+ <string>Relative to selection</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="autoExclusive">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
</widget>
</item>
<item row="0" column="1">
- <widget class="ScrSpinBox" name="verticalAutoCountSpin">
- <property name="toolTip">
- <string>Number of vertical guides to create</string>
- </property>
- <property name="suffix">
- <string/>
- </property>
- <property name="minimum">
- <number>0</number>
- </property>
- <property name="value">
- <number>0</number>
- </property>
- </widget>
- </item>
- <item row="1" column="0" colspan="2">
+ <widget class="FormWidget" name="verticalNumberForm">
+ <property name="label" stdset="0">
+ <string>Number</string>
+ </property>
+ <layout class="QHBoxLayout" name="verticalNumberLayout">
+ <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="ScrSpinBox" name="verticalAutoCountSpin">
+ <property name="minimumSize">
+ <size>
+ <width>100</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>100</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Number of vertical guides to create</string>
+ </property>
+ <property name="suffix">
+ <string/>
+ </property>
+ <property name="minimum">
+ <number>0</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="1" column="0">
<widget class="QCheckBox" name="verticalAutoGapCheck">
<property name="toolTip">
- <string>Create columns with guides, with an additional gap between the columns</string>
+ <string>Set the gap between adjacent generated columns</string>
</property>
<property name="text">
- <string>Use &Gap:</string>
- </property>
- <property name="shortcut">
- <string>Alt+G</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0" colspan="2">
- <widget class="ScrSpinBox" name="verticalAutoGapSpin"/>
- </item>
- <item row="3" column="0" colspan="2">
- <widget class="QGroupBox" name="groupBox_2">
- <property name="title">
- <string>Refer to</string>
- </property>
- <layout class="QGridLayout">
- <item row="0" column="0">
- <widget class="QRadioButton" name="verticalPageAutoButton">
- <property name="toolTip">
- <string>Create the selected number of vertical guides relative to the current page</string>
- </property>
- <property name="text">
- <string>&Page</string>
- </property>
- <property name="shortcut">
- <string>Alt+P</string>
- </property>
- <property name="checked">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QRadioButton" name="verticalMarginsAutoButton">
- <property name="toolTip">
- <string>Create the selected number of vertical guides relative to the current page's margins</string>
- </property>
- <property name="text">
- <string>M&argins</string>
- </property>
- <property name="shortcut">
- <string>Alt+A</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QRadioButton" name="verticalSelectionAutoButton">
- <property name="toolTip">
- <string>Create the selected number of vertical guides relative to the current selection of items</string>
- </property>
- <property name="text">
- <string>S&election</string>
- </property>
- <property name="shortcut">
- <string>Alt+E</string>
- </property>
- </widget>
- </item>
- </layout>
+ <string>Gap:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="ScrSpinBox" name="verticalAutoGapSpin">
+ <property name="minimumSize">
+ <size>
+ <width>100</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>100</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Set the gap between adjacent generated columns</string>
+ </property>
</widget>
</item>
</layout>
</widget>
</item>
- <item row="1" column="0">
+ <item row="1" column="0" colspan="2">
+ <layout class="QHBoxLayout" name="applyAutoLayout">
+ <property name="topMargin">
+ <number>8</number>
+ </property>
+ <item>
+ <spacer name="horizontalSpacerApplyLeft">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="applyToAllAutoButton">
+ <property name="toolTip">
+ <string>Apply the current row and column guide settings to all pages in the document</string>
+ </property>
+ <property name="text">
+ <string>Apply Settings to All Pages</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="2" column="0" colspan="2">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
@@ -427,72 +604,71 @@
</item>
</layout>
</widget>
- <widget class="QWidget" name="miscPage">
- <attribute name="title">
- <string>&Misc</string>
- </attribute>
- <layout class="QGridLayout">
- <property name="leftMargin">
- <number>9</number>
- </property>
- <property name="topMargin">
- <number>9</number>
- </property>
- <property name="rightMargin">
- <number>9</number>
- </property>
- <property name="bottomMargin">
- <number>9</number>
- </property>
- <item row="0" column="0">
- <widget class="QPushButton" name="deletePageButton">
- <property name="toolTip">
- <string>Delete all guides from the current page</string>
- </property>
- <property name="text">
- <string>Delete Guides from Current &Page</string>
- </property>
- <property name="shortcut">
- <string>Alt+P</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QPushButton" name="deleteAllGuides">
- <property name="toolTip">
- <string>Delete all guides from the current document</string>
- </property>
- <property name="text">
- <string>Delete Guides from &All Pages</string>
- </property>
- <property name="shortcut">
- <string>Alt+A</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <spacer>
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Expanding</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </widget>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QWidget" name="globalGuideControls">
+ <layout class="QHBoxLayout">
+ <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>
+ <spacer name="horizontalSpacerGlobal">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="deletePageButton">
+ <property name="toolTip">
+ <string>Delete all guides from the current page</string>
+ </property>
+ <property name="text">
+ <string>Clear Page Guides</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="deleteAllGuides">
+ <property name="toolTip">
+ <string>Delete all guides from the current document</string>
+ </property>
+ <property name="text">
+ <string>Clear All Guides</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
</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>ScrSpinBox</class>
<extends>QDoubleSpinBox</extends>
Index: scribus/ui/guidemanager.cpp
===================================================================
--- scribus/ui/guidemanager.cpp (revision 27810)
+++ scribus/ui/guidemanager.cpp (working copy)
@@ -27,6 +27,7 @@
#include "guidemanager.h"
#include "guidesdelegate.h"
#include "guidesmodel.h"
+#include "iconmanager.h"
#include "scpage.h"
#include "scribuscore.h"
#include "scribusdoc.h"
@@ -41,12 +42,25 @@
{
setupUi(this);
tabWidget->setEnabled(false);
+ globalGuideControls->setEnabled(false);
horizontalAutoGapSpin->setMinimum(0.0);
horizontalAutoGapSpin->setMaximum(10000.0);
verticalAutoGapSpin->setMinimum(0.0);
verticalAutoGapSpin->setMaximum(10000.0);
horizontalAutoCountSpin->setDecimals(0);
verticalAutoCountSpin->setDecimals(0);
+
+ IconManager& im = IconManager::instance();
+ addHorButton->setIcon(im.loadIcon("list-add"));
+ delHorButton->setIcon(im.loadIcon("edit-delete"));
+ addVerButton->setIcon(im.loadIcon("list-add"));
+ delVerButton->setIcon(im.loadIcon("edit-delete"));
+ horizontalPageAutoButton->setIcon(im.loadIcon("align-to-page"));
+ horizontalMarginsAutoButton->setIcon(im.loadIcon("align-to-margin"));
+ horizontalSelectionAutoButton->setIcon(im.loadIcon("align-to-last-selection"));
+ verticalPageAutoButton->setIcon(im.loadIcon("align-to-page"));
+ verticalMarginsAutoButton->setIcon(im.loadIcon("align-to-margin"));
+ verticalSelectionAutoButton->setIcon(im.loadIcon("align-to-last-selection"));
// MVC
horizontalModel = new GuidesModel(this);
@@ -122,6 +136,7 @@
if (!m_doc)
currentPage = nullptr;
tabWidget->setEnabled(doc != nullptr);
+ globalGuideControls->setEnabled(doc != nullptr);
}
void GuideManager::setVisible(bool visible)
@@ -243,20 +258,14 @@
if (!m_doc)
return;
- // a little bit magic to get Verticals (unit) into group boxes
- horizontalGroupBox->setTitle(horizontalGroupBox->title().remove(" ("+suffix.trimmed()+")"));
- verticalGroupBox->setTitle(verticalGroupBox->title().remove(" ("+suffix.trimmed()+")"));
docUnitIndex = m_doc->unitIndex();
int docUnitDecimals = unitGetPrecisionFromIndex(docUnitIndex);
QSignalBlocker horizontalAutoGapSpinBlock(horizontalAutoGapSpin);
QSignalBlocker verticalAutoGapSpinBlock(verticalAutoGapSpin);
- suffix = unitGetSuffixFromIndex(docUnitIndex);
horizontalAutoGapSpin->setNewUnit(docUnitIndex);
verticalAutoGapSpin->setNewUnit(docUnitIndex);
- horizontalGroupBox->setTitle(horizontalGroupBox->title() + " ("+suffix.trimmed()+")");
- verticalGroupBox->setTitle(verticalGroupBox->title() + " ("+suffix.trimmed()+")");
// models display
horizontalModel->unitChange(docUnitIndex, docUnitDecimals, m_doc->rulerYoffset);
verticalModel->unitChange(docUnitIndex, docUnitDecimals, m_doc->rulerXoffset);
Index: scribus/ui/guidemanager.h
===================================================================
--- scribus/ui/guidemanager.h (revision 27810)
+++ scribus/ui/guidemanager.h (working copy)
@@ -92,9 +92,6 @@
//! \brief Document measurements and metrics
int docUnitIndex { 0 };
- //! \brief suffix of the unit [mm, ...]
- QString suffix;
-
/*! \brief Copy guides from currentPage to all remaining.
All gudes are deleted before copying.
\param t a type to clear and copy.*/
Index: scribus/guidesmodel.cpp
===================================================================
--- scribus/guidesmodel.cpp (revision 27810)
+++ scribus/guidesmodel.cpp (working copy)
@@ -43,7 +43,7 @@
return QVariant(l.toString(pts2value(m_values.at(index.row()) - m_rule,
m_docUnitIndex), 'f',
m_docUnitDecimals)
- );
+ + unitGetSuffixFromIndex(m_docUnitIndex));
}
if (role == Qt::EditRole)
return pts2value(m_values.at(index.row()) - m_rule, m_docUnitIndex);
|
|
|
A little more polish. guidemanager-ui-v1.95.patch (37,874 bytes)
Index: scribus/ui/guidemanager.ui
===================================================================
--- scribus/ui/guidemanager.ui (revision 27816)
+++ scribus/ui/guidemanager.ui (working copy)
@@ -8,7 +8,7 @@
<rect>
<x>0</x>
<y>0</y>
- <width>428</width>
+ <width>340</width>
<height>368</height>
</rect>
</property>
@@ -35,7 +35,7 @@
</property>
<widget class="QWidget" name="standardPage">
<attribute name="title">
- <string>&Single</string>
+ <string>&Manual Guides</string>
</attribute>
<layout class="QGridLayout">
<property name="leftMargin">
@@ -55,10 +55,13 @@
<item>
<widget class="QGroupBox" name="horizontalGroupBox">
<property name="title">
- <string>Horizontals</string>
+ <string>&Horizontal Guides</string>
</property>
<layout class="QGridLayout">
- <item row="0" column="0" colspan="2">
+ <property name="horizontalSpacing">
+ <number>5</number>
+ </property>
+ <item row="0" column="0">
<widget class="GuidesView" name="horizontalView">
<property name="alternatingRowColors">
<bool>true</bool>
@@ -66,33 +69,37 @@
<property name="selectionBehavior">
<enum>QAbstractItemView::SelectRows</enum>
</property>
+ <attribute name="horizontalHeaderStretchLastSection">
+ <bool>true</bool>
+ </attribute>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QPushButton" name="addHorButton">
- <property name="toolTip">
- <string>Add a new horizontal guide</string>
- </property>
- <property name="text">
- <string>&Add</string>
- </property>
- <property name="shortcut">
- <string>Alt+A</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QPushButton" name="delHorButton">
- <property name="toolTip">
- <string>Delete the selected horizontal guide</string>
- </property>
- <property name="text">
- <string>D&elete</string>
- </property>
- <property name="shortcut">
- <string>Alt+E</string>
- </property>
- </widget>
+ <item row="0" column="1" alignment="Qt::AlignTop">
+ <layout class="QVBoxLayout" name="horizontalGuideActionsLayout">
+ <property name="spacing">
+ <number>5</number>
+ </property>
+ <item>
+ <widget class="QToolButton" name="addHorButton">
+ <property name="toolTip">
+ <string>Add a new horizontal guide</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="delHorButton">
+ <property name="toolTip">
+ <string>Delete the selected horizontal guide</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ </layout>
</item>
</layout>
</widget>
@@ -100,10 +107,13 @@
<item>
<widget class="QGroupBox" name="verticalGroupBox">
<property name="title">
- <string>Verticals</string>
+ <string>&Vertical Guides</string>
</property>
<layout class="QGridLayout">
- <item row="0" column="0" colspan="2">
+ <property name="horizontalSpacing">
+ <number>5</number>
+ </property>
+ <item row="0" column="0">
<widget class="GuidesView" name="verticalView">
<property name="alternatingRowColors">
<bool>true</bool>
@@ -111,70 +121,91 @@
<property name="selectionBehavior">
<enum>QAbstractItemView::SelectRows</enum>
</property>
+ <attribute name="horizontalHeaderStretchLastSection">
+ <bool>true</bool>
+ </attribute>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QPushButton" name="addVerButton">
- <property name="toolTip">
- <string>Add a new vertical guide</string>
- </property>
- <property name="text">
- <string>A&dd</string>
- </property>
- <property name="shortcut">
- <string>Alt+D</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QPushButton" name="delVerButton">
- <property name="toolTip">
- <string>Delete the selected vertical guide</string>
- </property>
- <property name="text">
- <string>De&lete</string>
- </property>
- <property name="shortcut">
- <string>Alt+L</string>
- </property>
- </widget>
+ <item row="0" column="1" alignment="Qt::AlignTop">
+ <layout class="QVBoxLayout" name="verticalGuideActionsLayout">
+ <property name="spacing">
+ <number>5</number>
+ </property>
+ <item>
+ <widget class="QToolButton" name="addVerButton">
+ <property name="toolTip">
+ <string>Add a new vertical guide</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="delVerButton">
+ <property name="toolTip">
+ <string>Delete the selected vertical guide</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ </layout>
</item>
</layout>
</widget>
</item>
</layout>
</item>
- <item row="1" column="0">
- <widget class="QCheckBox" name="lockCheck">
- <property name="toolTip">
- <string>Lock the guides</string>
- </property>
- <property name="text">
- <string>&Lock Guides</string>
- </property>
- <property name="shortcut">
- <string>Alt+L</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QPushButton" name="applyToAllStdButton">
- <property name="toolTip">
- <string>Apply to all pages</string>
+ <item row="1" column="0" colspan="2">
+ <layout class="QHBoxLayout" name="applyStdLayout">
+ <property name="topMargin">
+ <number>8</number>
</property>
- <property name="text">
- <string>Appl&y to All Pages</string>
- </property>
- <property name="shortcut">
- <string>Alt+Y</string>
- </property>
- </widget>
+ <item>
+ <widget class="QCheckBox" name="lockCheck">
+ <property name="toolTip">
+ <string>Lock the guides</string>
+ </property>
+ <property name="text">
+ <string>Lock Guides</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacerCopyLeft">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="applyToAllStdButton">
+ <property name="toolTip">
+ <string>Replace the manual guides on all other pages with the manual guides from the current page</string>
+ </property>
+ <property name="text">
+ <string>Copy Guides to All Pages</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="autoPage">
<attribute name="title">
- <string>&Column/Row</string>
+ <string>&Rows && Columns</string>
</attribute>
<layout class="QGridLayout">
<property name="leftMargin">
@@ -189,299 +220,396 @@
<property name="bottomMargin">
<number>9</number>
</property>
- <item row="2" column="0" colspan="2">
- <widget class="QPushButton" name="applyToAllAutoButton">
- <property name="toolTip">
- <string>Apply the shown guides to all pages in the document</string>
- </property>
- <property name="text">
- <string>Appl&y to All Pages</string>
- </property>
- <property name="shortcut">
- <string>Alt+Y</string>
- </property>
- </widget>
- </item>
<item row="0" column="0">
<widget class="QGroupBox" name="horizontalAutoGroup">
<property name="title">
- <string>Horizontals</string>
+ <string>&Horizontal Guides</string>
</property>
<layout class="QGridLayout">
+ <property name="horizontalSpacing">
+ <number>20</number>
+ </property>
+ <property name="verticalSpacing">
+ <number>8</number>
+ </property>
<item row="0" column="0">
- <widget class="QLabel" name="textLabel1">
- <property name="text">
- <string>&Number:</string>
- </property>
- <property name="wordWrap">
- <bool>false</bool>
- </property>
- <property name="buddy">
- <cstring>horizontalAutoCountSpin</cstring>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="ScrSpinBox" name="horizontalAutoCountSpin">
- <property name="toolTip">
- <string>Number of horizontal guides to create</string>
- </property>
- <property name="suffix">
- <string/>
- </property>
- <property name="minimum">
- <number>0</number>
- </property>
- <property name="value">
- <number>0</number>
- </property>
- </widget>
- </item>
- <item row="1" column="0" colspan="2">
- <widget class="QCheckBox" name="horizontalAutoGapCheck">
- <property name="toolTip">
- <string>Create rows with guides, with an additional gap between the rows</string>
- </property>
- <property name="text">
- <string>U&se Gap:</string>
- </property>
- <property name="shortcut">
- <string>Alt+S</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0" colspan="2">
- <widget class="ScrSpinBox" name="horizontalAutoGapSpin"/>
- </item>
- <item row="3" column="0" colspan="2">
- <widget class="QGroupBox" name="groupBox">
- <property name="title">
- <string>Refer to</string>
- </property>
- <layout class="QGridLayout">
- <item row="0" column="0">
- <widget class="QRadioButton" name="horizontalPageAutoButton">
+ <widget class="FormWidget" name="horizontalRelativeForm">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Maximum" vsizetype="Minimum">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="label" stdset="0">
+ <string>Relative to</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalRelativeButtonsLayout">
+ <property name="spacing">
+ <number>5</number>
+ </property>
+ <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="QToolButton" name="horizontalPageAutoButton">
<property name="toolTip">
- <string>Create the selected number of horizontal guides relative to the current page</string>
+ <string>Relative to page</string>
</property>
<property name="text">
- <string>&Page</string>
+ <string/>
</property>
- <property name="shortcut">
- <string>Alt+P</string>
+ <property name="checkable">
+ <bool>true</bool>
</property>
<property name="checked">
<bool>true</bool>
</property>
+ <property name="autoExclusive">
+ <bool>true</bool>
+ </property>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QRadioButton" name="horizontalMarginsAutoButton">
+ <item>
+ <widget class="QToolButton" name="horizontalMarginsAutoButton">
<property name="toolTip">
- <string>Create the selected number of horizontal guides relative to the current page's margins</string>
+ <string>Relative to margins</string>
</property>
<property name="text">
- <string>M&argins</string>
+ <string/>
</property>
- <property name="shortcut">
- <string>Alt+A</string>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="autoExclusive">
+ <bool>true</bool>
</property>
</widget>
</item>
- <item row="2" column="0">
- <widget class="QRadioButton" name="horizontalSelectionAutoButton">
+ <item>
+ <widget class="QToolButton" name="horizontalSelectionAutoButton">
<property name="toolTip">
- <string>Create the selected number of horizontal guides relative to the current selection of items</string>
+ <string>Relative to selection</string>
</property>
<property name="text">
- <string>S&election</string>
+ <string/>
</property>
- <property name="shortcut">
- <string>Alt+E</string>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="autoExclusive">
+ <bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
- </layout>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QGroupBox" name="verticalAutoGroup">
- <property name="title">
- <string>Verticals</string>
- </property>
- <layout class="QGridLayout">
- <item row="0" column="0">
- <widget class="QLabel" name="textLabel1_2">
- <property name="text">
- <string>Nu&mber:</string>
- </property>
- <property name="wordWrap">
- <bool>false</bool>
- </property>
- <property name="buddy">
- <cstring>verticalAutoCountSpin</cstring>
- </property>
+ <item row="0" column="1">
+ <widget class="FormWidget" name="horizontalNumberForm">
+ <property name="label" stdset="0">
+ <string>Number</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalNumberLayout">
+ <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="ScrSpinBox" name="horizontalAutoCountSpin">
+ <property name="minimumSize">
+ <size>
+ <width>100</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>100</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Number of horizontal guides to create</string>
+ </property>
+ <property name="suffix">
+ <string/>
+ </property>
+ <property name="minimum">
+ <number>0</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
</widget>
</item>
- <item row="0" column="1">
- <widget class="ScrSpinBox" name="verticalAutoCountSpin">
+ <item row="1" column="0">
+ <widget class="QCheckBox" name="horizontalAutoGapCheck">
<property name="toolTip">
- <string>Number of vertical guides to create</string>
- </property>
- <property name="suffix">
- <string/>
+ <string>Set the gap between adjacent generated rows</string>
</property>
- <property name="minimum">
- <number>0</number>
- </property>
- <property name="value">
- <number>0</number>
+ <property name="text">
+ <string>Gap:</string>
</property>
</widget>
</item>
- <item row="1" column="0" colspan="2">
- <widget class="QCheckBox" name="verticalAutoGapCheck">
- <property name="toolTip">
- <string>Create columns with guides, with an additional gap between the columns</string>
- </property>
- <property name="text">
- <string>Use &Gap:</string>
+ <item row="1" column="1">
+ <widget class="ScrSpinBox" name="horizontalAutoGapSpin">
+ <property name="minimumSize">
+ <size>
+ <width>100</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>100</width>
+ <height>16777215</height>
+ </size>
</property>
- <property name="shortcut">
- <string>Alt+G</string>
+ <property name="toolTip">
+ <string>Set the gap between adjacent generated rows</string>
</property>
</widget>
</item>
- <item row="2" column="0" colspan="2">
- <widget class="ScrSpinBox" name="verticalAutoGapSpin"/>
- </item>
- <item row="3" column="0" colspan="2">
- <widget class="QGroupBox" name="groupBox_2">
- <property name="title">
- <string>Refer to</string>
- </property>
- <layout class="QGridLayout">
- <item row="0" column="0">
- <widget class="QRadioButton" name="verticalPageAutoButton">
+ </layout>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QGroupBox" name="verticalAutoGroup">
+ <property name="title">
+ <string>&Vertical Guides</string>
+ </property>
+ <layout class="QGridLayout">
+ <property name="horizontalSpacing">
+ <number>20</number>
+ </property>
+ <property name="verticalSpacing">
+ <number>8</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="FormWidget" name="verticalRelativeForm">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Maximum" vsizetype="Minimum">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="label" stdset="0">
+ <string>Relative to</string>
+ </property>
+ <layout class="QHBoxLayout" name="verticalRelativeButtonsLayout">
+ <property name="spacing">
+ <number>5</number>
+ </property>
+ <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="QToolButton" name="verticalPageAutoButton">
<property name="toolTip">
- <string>Create the selected number of vertical guides relative to the current page</string>
+ <string>Relative to page</string>
</property>
<property name="text">
- <string>&Page</string>
+ <string/>
</property>
- <property name="shortcut">
- <string>Alt+P</string>
+ <property name="checkable">
+ <bool>true</bool>
</property>
<property name="checked">
<bool>true</bool>
</property>
+ <property name="autoExclusive">
+ <bool>true</bool>
+ </property>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QRadioButton" name="verticalMarginsAutoButton">
+ <item>
+ <widget class="QToolButton" name="verticalMarginsAutoButton">
<property name="toolTip">
- <string>Create the selected number of vertical guides relative to the current page's margins</string>
+ <string>Relative to margins</string>
</property>
<property name="text">
- <string>M&argins</string>
+ <string/>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
</property>
- <property name="shortcut">
- <string>Alt+A</string>
+ <property name="autoExclusive">
+ <bool>true</bool>
</property>
</widget>
</item>
- <item row="2" column="0">
- <widget class="QRadioButton" name="verticalSelectionAutoButton">
+ <item>
+ <widget class="QToolButton" name="verticalSelectionAutoButton">
<property name="toolTip">
- <string>Create the selected number of vertical guides relative to the current selection of items</string>
+ <string>Relative to selection</string>
</property>
<property name="text">
- <string>S&election</string>
+ <string/>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
</property>
- <property name="shortcut">
- <string>Alt+E</string>
+ <property name="autoExclusive">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="FormWidget" name="verticalNumberForm">
+ <property name="label" stdset="0">
+ <string>Number</string>
+ </property>
+ <layout class="QHBoxLayout" name="verticalNumberLayout">
+ <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="ScrSpinBox" name="verticalAutoCountSpin">
+ <property name="minimumSize">
+ <size>
+ <width>100</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>100</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Number of vertical guides to create</string>
+ </property>
+ <property name="suffix">
+ <string/>
+ </property>
+ <property name="minimum">
+ <number>0</number>
+ </property>
+ <property name="value">
+ <number>0</number>
</property>
</widget>
</item>
</layout>
</widget>
</item>
+ <item row="1" column="0">
+ <widget class="QCheckBox" name="verticalAutoGapCheck">
+ <property name="toolTip">
+ <string>Set the gap between adjacent generated columns</string>
+ </property>
+ <property name="text">
+ <string>Gap:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="ScrSpinBox" name="verticalAutoGapSpin">
+ <property name="minimumSize">
+ <size>
+ <width>100</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>100</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Set the gap between adjacent generated columns</string>
+ </property>
+ </widget>
+ </item>
</layout>
</widget>
</item>
- <item row="1" column="0">
- <spacer name="verticalSpacer">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>0</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="miscPage">
- <attribute name="title">
- <string>&Misc</string>
- </attribute>
- <layout class="QGridLayout">
- <property name="leftMargin">
- <number>9</number>
- </property>
- <property name="topMargin">
- <number>9</number>
- </property>
- <property name="rightMargin">
- <number>9</number>
- </property>
- <property name="bottomMargin">
- <number>9</number>
- </property>
- <item row="0" column="0">
- <widget class="QPushButton" name="deletePageButton">
- <property name="toolTip">
- <string>Delete all guides from the current page</string>
- </property>
- <property name="text">
- <string>Delete Guides from Current &Page</string>
- </property>
- <property name="shortcut">
- <string>Alt+P</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QPushButton" name="deleteAllGuides">
- <property name="toolTip">
- <string>Delete all guides from the current document</string>
- </property>
- <property name="text">
- <string>Delete Guides from &All Pages</string>
+ <item row="1" column="0" colspan="2">
+ <layout class="QHBoxLayout" name="applyAutoLayout">
+ <property name="topMargin">
+ <number>8</number>
</property>
- <property name="shortcut">
- <string>Alt+A</string>
- </property>
- </widget>
+ <item>
+ <spacer name="horizontalSpacerApplyLeft">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="applyToAllAutoButton">
+ <property name="toolTip">
+ <string>Apply the current row and column guide settings to all pages in the document</string>
+ </property>
+ <property name="text">
+ <string>Apply Settings to All Pages</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
</item>
- <item row="2" column="0">
- <spacer>
+ <item row="2" column="0" colspan="2">
+ <spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
- <property name="sizeType">
- <enum>QSizePolicy::Expanding</enum>
- </property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
- <height>40</height>
+ <height>0</height>
</size>
</property>
</spacer>
@@ -490,10 +618,70 @@
</widget>
</widget>
</item>
+ <item row="1" column="0">
+ <widget class="QWidget" name="globalGuideControls">
+ <layout class="QHBoxLayout">
+ <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>
+ <spacer name="horizontalSpacerGlobal">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="deletePageButton">
+ <property name="toolTip">
+ <string>Delete all guides from the current page</string>
+ </property>
+ <property name="text">
+ <string>Clear Page Guides</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="deleteAllGuides">
+ <property name="toolTip">
+ <string>Delete all guides from the current document</string>
+ </property>
+ <property name="text">
+ <string>Clear All Guides</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </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>ScrSpinBox</class>
<extends>QDoubleSpinBox</extends>
<header location="global">ui/scrspinbox.h</header>
Index: scribus/ui/guidemanager.cpp
===================================================================
--- scribus/ui/guidemanager.cpp (revision 27816)
+++ scribus/ui/guidemanager.cpp (working copy)
@@ -27,6 +27,7 @@
#include "guidemanager.h"
#include "guidesdelegate.h"
#include "guidesmodel.h"
+#include "iconmanager.h"
#include "scpage.h"
#include "scribuscore.h"
#include "scribusdoc.h"
@@ -41,6 +42,7 @@
{
setupUi(this);
tabWidget->setEnabled(false);
+ globalGuideControls->setEnabled(false);
horizontalAutoGapSpin->setMinimum(0.0);
horizontalAutoGapSpin->setMaximum(10000.0);
verticalAutoGapSpin->setMinimum(0.0);
@@ -48,6 +50,18 @@
horizontalAutoCountSpin->setDecimals(0);
verticalAutoCountSpin->setDecimals(0);
+ IconManager& im = IconManager::instance();
+ addHorButton->setIcon(im.loadIcon("list-add"));
+ delHorButton->setIcon(im.loadIcon("edit-delete"));
+ addVerButton->setIcon(im.loadIcon("list-add"));
+ delVerButton->setIcon(im.loadIcon("edit-delete"));
+ horizontalPageAutoButton->setIcon(im.loadIcon("align-to-page"));
+ horizontalMarginsAutoButton->setIcon(im.loadIcon("align-to-margin"));
+ horizontalSelectionAutoButton->setIcon(im.loadIcon("align-to-last-selection"));
+ verticalPageAutoButton->setIcon(im.loadIcon("align-to-page"));
+ verticalMarginsAutoButton->setIcon(im.loadIcon("align-to-margin"));
+ verticalSelectionAutoButton->setIcon(im.loadIcon("align-to-last-selection"));
+
// MVC
horizontalModel = new GuidesModel(this);
verticalModel = new GuidesModel(this);
@@ -122,6 +136,7 @@
if (!m_doc)
currentPage = nullptr;
tabWidget->setEnabled(doc != nullptr);
+ globalGuideControls->setEnabled(doc != nullptr);
}
void GuideManager::setVisible(bool visible)
@@ -243,20 +258,14 @@
if (!m_doc)
return;
- // a little bit magic to get Verticals (unit) into group boxes
- horizontalGroupBox->setTitle(horizontalGroupBox->title().remove(" ("+suffix.trimmed()+")"));
- verticalGroupBox->setTitle(verticalGroupBox->title().remove(" ("+suffix.trimmed()+")"));
docUnitIndex = m_doc->unitIndex();
int docUnitDecimals = unitGetPrecisionFromIndex(docUnitIndex);
QSignalBlocker horizontalAutoGapSpinBlock(horizontalAutoGapSpin);
QSignalBlocker verticalAutoGapSpinBlock(verticalAutoGapSpin);
- suffix = unitGetSuffixFromIndex(docUnitIndex);
horizontalAutoGapSpin->setNewUnit(docUnitIndex);
verticalAutoGapSpin->setNewUnit(docUnitIndex);
- horizontalGroupBox->setTitle(horizontalGroupBox->title() + " ("+suffix.trimmed()+")");
- verticalGroupBox->setTitle(verticalGroupBox->title() + " ("+suffix.trimmed()+")");
// models display
horizontalModel->unitChange(docUnitIndex, docUnitDecimals, m_doc->rulerYoffset);
verticalModel->unitChange(docUnitIndex, docUnitDecimals, m_doc->rulerXoffset);
Index: scribus/ui/guidemanager.h
===================================================================
--- scribus/ui/guidemanager.h (revision 27816)
+++ scribus/ui/guidemanager.h (working copy)
@@ -92,9 +92,6 @@
//! \brief Document measurements and metrics
int docUnitIndex { 0 };
- //! \brief suffix of the unit [mm, ...]
- QString suffix;
-
/*! \brief Copy guides from currentPage to all remaining.
All gudes are deleted before copying.
\param t a type to clear and copy.*/
Index: scribus/guidesmodel.cpp
===================================================================
--- scribus/guidesmodel.cpp (revision 27816)
+++ scribus/guidesmodel.cpp (working copy)
@@ -43,7 +43,7 @@
return QVariant(l.toString(pts2value(m_values.at(index.row()) - m_rule,
m_docUnitIndex), 'f',
m_docUnitDecimals)
- );
+ + unitGetSuffixFromIndex(m_docUnitIndex));
}
if (role == Qt::EditRole)
return pts2value(m_values.at(index.row()) - m_rule, m_docUnitIndex);
|
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2026-09-01 06:35 | qirat | New Issue | |
| 2026-09-01 06:35 | qirat | Tag Attached: #please_test | |
| 2026-09-01 06:35 | qirat | File Added: guidemanager-ui-v1.93.patch | |
| 2026-09-01 06:35 | qirat | File Added: guides-manager-tab1-PROPOSED.png | |
| 2026-09-01 06:35 | qirat | File Added: guides-manager-tab2-PROPOSED.png | |
| 2026-09-01 11:20 | utnik | Note Added: 0054393 | |
| 2026-09-01 12:23 | qirat | Note Added: 0054394 | |
| 2026-09-01 12:23 | qirat | File Added: guidemanager-ui-v1.94.patch | |
| 2026-09-07 11:51 | qirat | Note Added: 0054434 | |
| 2026-09-07 11:51 | qirat | File Added: guidemanager-ui-v1.95.patch |