View Issue Details

IDProjectCategoryView StatusLast Update
0017946ScribusUser Interfacepublic2026-08-30 12:26
Reporterqirat Assigned Tocbradney  
PrioritynormalSeverityfeatureReproducibilityN/A
Status resolvedResolutionfixed 
PlatformLinuxOSFedora WorkstationOS Version44
Product Version1.7.4.svn 
Fixed in Version1.7.4.svn 
Summary0017946: [patch] Preflight Verifier Preferences Polish
DescriptionThe patch renovates the Preflight Verifier preferences.

- Reorganises the flat list into groups: Profile, Text, Images, PDF & Transparency, Pages & Layers, More Options.
- Uses a cleaner two-column layout with compact spacing and improved ordering.
- Adds group mnemonics: Alt+P/T/M/D/L/O.
- Adds Tab navigation
- Keeps image-resolution Min/Max together and disables them when resolution checking is off.
- Makes partially filled image frames checked by default for new/default profiles.
- Fixes progressive-image profile switching/new-profile sync.
- No checker algorithm or document-format changes.
Additional InformationCurrent and Proposed screenshots included.
Tags#patch_to_be_reviewed, #please_test
Attached Files
preflight-profile-layout-v1.07.patch (29,450 bytes)   
Index: scribus/prefsmanager.cpp
===================================================================
--- scribus/prefsmanager.cpp	(revision 27785)
+++ scribus/prefsmanager.cpp	(working copy)
@@ -2932,7 +2932,7 @@
 	checkerSettings.checkOverflow = true;
 	checkerSettings.checkPictures = true;
 	checkerSettings.checkResolution = true;
-	checkerSettings.checkPartFilledImageFrames = false;
+	checkerSettings.checkPartFilledImageFrames = true;
 	checkerSettings.checkTransparency = true;
 	checkerSettings.checkAnnotations = false;
 	checkerSettings.checkRasterPDF = true;
Index: scribus/ui/preferences/prefs_preflightverifierbase.ui
===================================================================
--- scribus/ui/preferences/prefs_preflightverifierbase.ui	(revision 27785)
+++ scribus/ui/preferences/prefs_preflightverifierbase.ui	(working copy)
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>623</width>
-    <height>757</height>
+    <width>700</width>
+    <height>720</height>
    </rect>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout">
@@ -44,49 +44,79 @@
     </widget>
    </item>
    <item>
-    <widget class="QCheckBox" name="showPagesWithoutErrorsCheckBox">
-     <property name="text">
-      <string>Show pages without errors</string>
-     </property>
-    </widget>
-   </item>
-   <item>
-    <widget class="QCheckBox" name="showNonPrintingLayerErrorsCheckBox">
-     <property name="text">
-      <string>Show errors for items on layers that will not print</string>
-     </property>
-    </widget>
-   </item>
-   <item>
-    <spacer name="verticalSpacer_3">
-     <property name="orientation">
-      <enum>Qt::Orientation::Vertical</enum>
-     </property>
-     <property name="sizeType">
-      <enum>QSizePolicy::Policy::Minimum</enum>
-     </property>
-     <property name="sizeHint" stdset="0">
-      <size>
-       <width>20</width>
-       <height>20</height>
-      </size>
-     </property>
-    </spacer>
-   </item>
-   <item>
-    <widget class="QLabel" name="label_6">
-     <property name="font">
-      <font>
-       <bold>true</bold>
-      </font>
-     </property>
-     <property name="text">
-      <string>Profile Setup</string>
-     </property>
+    <widget class="QGroupBox" name="profileGroupBox">
+     <property name="title">
+      <string>&amp;Profile</string>
+     </property>
+     <layout class="QGridLayout" name="profileLayout">
+      <item row="0" column="0">
+       <widget class="QLabel" name="label_2">
+        <property name="text">
+         <string>Output Profile:</string>
+        </property>
+        <property name="buddy">
+         <cstring>currentProfileComboBox</cstring>
+        </property>
+       </widget>
+      </item>
+      <item row="0" column="1">
+       <widget class="QComboBox" name="currentProfileComboBox">
+        <property name="editable">
+         <bool>true</bool>
+        </property>
+        <property name="minimumSize">
+         <size>
+          <width>220</width>
+          <height>0</height>
+         </size>
+        </property>
+       </widget>
+      </item>
+      <item row="0" column="2">
+       <widget class="QPushButton" name="addProfilePushButton">
+        <property name="text">
+         <string>Add Profile</string>
+        </property>
+       </widget>
+      </item>
+      <item row="0" column="3">
+       <widget class="QPushButton" name="removeProfilePushButton">
+        <property name="text">
+         <string>Remove Profile</string>
+        </property>
+       </widget>
+      </item>
+      <item row="0" column="4">
+       <spacer name="profileHorizontalSpacer">
+        <property name="orientation">
+         <enum>Qt::Orientation::Horizontal</enum>
+        </property>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>40</width>
+          <height>20</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+      <item row="1" column="0" colspan="5">
+       <widget class="QCheckBox" name="autoCheckBeforePrintExportCheckBox">
+        <property name="text">
+         <string>Automatic check before printing or exporting</string>
+        </property>
+       </widget>
+      </item>
+     </layout>
     </widget>
    </item>
    <item>
     <widget class="QScrollArea" name="scrollArea">
+     <property name="focusPolicy">
+      <enum>Qt::FocusPolicy::NoFocus</enum>
+     </property>
+     <property name="frameShape">
+      <enum>QFrame::Shape::NoFrame</enum>
+     </property>
      <property name="widgetResizable">
       <bool>true</bool>
      </property>
@@ -95,281 +125,329 @@
        <rect>
         <x>0</x>
         <y>0</y>
-        <width>610</width>
-        <height>615</height>
+        <width>680</width>
+        <height>500</height>
        </rect>
       </property>
       <layout class="QVBoxLayout" name="verticalLayout_2">
+       <property name="leftMargin">
+        <number>0</number>
+       </property>
+       <property name="topMargin">
+        <number>0</number>
+       </property>
+       <property name="rightMargin">
+        <number>0</number>
+       </property>
        <item>
-        <layout class="QFormLayout" name="formLayout">
-         <property name="formAlignment">
-          <set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
+        <layout class="QGridLayout" name="checksGridLayout">
+         <property name="horizontalSpacing">
+          <number>12</number>
          </property>
          <item row="0" column="0">
-          <widget class="QLabel" name="label_2">
-           <property name="font">
-            <font>
-             <bold>true</bold>
-            </font>
+          <layout class="QVBoxLayout" name="leftChecksLayout">
+           <property name="spacing">
+            <number>8</number>
            </property>
-           <property name="text">
-            <string>Output Profile:</string>
-           </property>
-          </widget>
+           <item>
+            <widget class="QGroupBox" name="textChecksGroupBox">
+             <property name="title">
+              <string>&amp;Text</string>
+             </property>
+             <layout class="QVBoxLayout" name="textChecksLayout">
+              <item>
+               <widget class="QCheckBox" name="checkMissingGlyphsCheckBox">
+                <property name="text">
+                 <string>Check for missing glyphs</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QCheckBox" name="checkEmptyTextFramesCheckBox">
+                <property name="text">
+                 <string>Check for empty text frames</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QCheckBox" name="checkTextOverflowCheckBox">
+                <property name="text">
+                 <string>Check for overflow in text frames</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </widget>
+           </item>
+           <item>
+            <widget class="QGroupBox" name="imageChecksGroupBox">
+             <property name="title">
+              <string>I&amp;mages</string>
+             </property>
+             <layout class="QVBoxLayout" name="imageChecksLayout">
+              <item>
+               <widget class="QCheckBox" name="checkMissingImagesCheckBox">
+                <property name="text">
+                 <string>Check for missing images</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QCheckBox" name="checkPartFilledImageFramesCheckBox">
+                <property name="text">
+                 <string>Check for partially filled image frames</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QCheckBox" name="checkImageHasProgressiveEncodingCheckBox">
+                <property name="text">
+                 <string>Check for images with progressive encoding</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QCheckBox" name="checkGIFsCheckBox">
+                <property name="text">
+                 <string>Check for GIF images</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QCheckBox" name="checkImageResolutionCheckBox">
+                <property name="text">
+                 <string>Check image resolution</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QWidget" name="resolutionRangeWidget" native="true">
+                <property name="enabled">
+                 <bool>false</bool>
+                </property>
+                <layout class="QGridLayout" name="resolutionRangeLayout">
+                 <property name="leftMargin">
+                  <number>24</number>
+                 </property>
+                 <property name="topMargin">
+                  <number>0</number>
+                 </property>
+                 <property name="rightMargin">
+                  <number>0</number>
+                 </property>
+                 <property name="bottomMargin">
+                  <number>0</number>
+                 </property>
+                 <item row="0" column="0">
+                  <widget class="QLabel" name="label_4">
+                   <property name="text">
+                    <string>Minimum:</string>
+                   </property>
+                   <property name="buddy">
+                    <cstring>minimumResolutionSpinBox</cstring>
+                   </property>
+                  </widget>
+                 </item>
+                 <item row="0" column="1">
+                  <widget class="QSpinBox" name="minimumResolutionSpinBox">
+                   <property name="suffix">
+                    <string> dpi</string>
+                   </property>
+                   <property name="minimum">
+                    <number>10</number>
+                   </property>
+                   <property name="maximum">
+                    <number>4800</number>
+                   </property>
+                  </widget>
+                 </item>
+                 <item row="0" column="2">
+                  <widget class="QLabel" name="label_5">
+                   <property name="text">
+                    <string>Maximum:</string>
+                   </property>
+                   <property name="buddy">
+                    <cstring>maximumResolutionSpinBox</cstring>
+                   </property>
+                  </widget>
+                 </item>
+                 <item row="0" column="3">
+                  <widget class="QSpinBox" name="maximumResolutionSpinBox">
+                   <property name="suffix">
+                    <string> dpi</string>
+                   </property>
+                   <property name="minimum">
+                    <number>10</number>
+                   </property>
+                   <property name="maximum">
+                    <number>4800</number>
+                   </property>
+                  </widget>
+                 </item>
+                 <item row="0" column="4">
+                  <spacer name="resolutionHorizontalSpacer">
+                   <property name="orientation">
+                    <enum>Qt::Orientation::Horizontal</enum>
+                   </property>
+                   <property name="sizeHint" stdset="0">
+                    <size>
+                     <width>40</width>
+                     <height>20</height>
+                    </size>
+                   </property>
+                  </spacer>
+                 </item>
+                </layout>
+               </widget>
+              </item>
+             </layout>
+            </widget>
+           </item>
+           <item>
+            <spacer name="leftChecksVerticalSpacer">
+             <property name="orientation">
+              <enum>Qt::Orientation::Vertical</enum>
+             </property>
+             <property name="sizeType">
+              <enum>QSizePolicy::Policy::Expanding</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>20</width>
+               <height>40</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+          </layout>
          </item>
          <item row="0" column="1">
-          <widget class="QComboBox" name="currentProfileComboBox">
-           <property name="editable">
-            <bool>true</bool>
+          <layout class="QVBoxLayout" name="rightChecksLayout">
+           <property name="spacing">
+            <number>8</number>
            </property>
-          </widget>
+           <item>
+            <widget class="QGroupBox" name="pdfTransparencyGroupBox">
+             <property name="title">
+              <string>P&amp;DF &amp;&amp; Transparency</string>
+             </property>
+             <layout class="QVBoxLayout" name="pdfTransparencyLayout">
+              <item>
+               <widget class="QCheckBox" name="checkPlacedPDFCheckBox">
+                <property name="text">
+                 <string>Check for placed PDF files</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QCheckBox" name="checkTransparenciesCheckBox">
+                <property name="text">
+                 <string>Check for used transparencies</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QCheckBox" name="checkPDFAnnotFieldsCheckBox">
+                <property name="text">
+                 <string>Check for PDF Annotations and Fields</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </widget>
+           </item>
+           <item>
+            <widget class="QGroupBox" name="pagesLayersGroupBox">
+             <property name="title">
+              <string>Pages &amp;&amp; &amp;Layers</string>
+             </property>
+             <layout class="QVBoxLayout" name="pagesLayersLayout">
+              <item>
+               <widget class="QCheckBox" name="checkItemsNotOnAPageCheckBox">
+                <property name="text">
+                 <string>Check for items not on a page</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QCheckBox" name="checkAppliedMasterPageLocationCheckBox">
+                <property name="text">
+                 <string>Check for master-page side mismatch</string>
+                </property>
+                <property name="toolTip">
+                 <string>Check whether an applied master page matches the page's left/right location.</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QCheckBox" name="checkVisiblePrintableLayersCheckBox">
+                <property name="text">
+                 <string>Check for Visible/Printable mismatch in layers</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </widget>
+           </item>
+           <item>
+            <widget class="QGroupBox" name="moreOptionsGroupBox">
+             <property name="title">
+              <string>More &amp;Options</string>
+             </property>
+             <layout class="QVBoxLayout" name="moreOptionsLayout">
+              <item>
+               <widget class="QCheckBox" name="ignoreAllErrorsCheckBox">
+                <property name="text">
+                 <string>Ignore all errors</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QCheckBox" name="checkNonPrintableLayersCheckBox">
+                <property name="text">
+                 <string>Ignore non-printable layers</string>
+                </property>
+                <property name="toolTip">
+                 <string>Skip items on non-printing layers when checking this profile.</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QCheckBox" name="showPagesWithoutErrorsCheckBox">
+                <property name="text">
+                 <string>Show pages without errors</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QCheckBox" name="showNonPrintingLayerErrorsCheckBox">
+                <property name="text">
+                 <string>Show errors for items on non-printing layers</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </widget>
+           </item>
+           <item>
+            <spacer name="rightChecksVerticalSpacer">
+             <property name="orientation">
+              <enum>Qt::Orientation::Vertical</enum>
+             </property>
+             <property name="sizeType">
+              <enum>QSizePolicy::Policy::Expanding</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>20</width>
+               <height>40</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+          </layout>
          </item>
         </layout>
-       </item>
-       <item>
-        <layout class="QHBoxLayout" name="horizontalLayout">
-         <item>
-          <widget class="QPushButton" name="addProfilePushButton">
-           <property name="text">
-            <string>Add New Profile</string>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <widget class="QPushButton" name="removeProfilePushButton">
-           <property name="text">
-            <string>Remove Profile</string>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <spacer name="horizontalSpacer">
-           <property name="orientation">
-            <enum>Qt::Orientation::Horizontal</enum>
-           </property>
-           <property name="sizeHint" stdset="0">
-            <size>
-             <width>40</width>
-             <height>20</height>
-            </size>
-           </property>
-          </spacer>
-         </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>Profile Options</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="Line" name="line_2">
-         <property name="orientation">
-          <enum>Qt::Orientation::Horizontal</enum>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="ignoreAllErrorsCheckBox">
-         <property name="text">
-          <string>Ignore all errors</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="autoCheckBeforePrintExportCheckBox">
-         <property name="text">
-          <string>Automatic check before printing or exporting</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="checkMissingGlyphsCheckBox">
-         <property name="text">
-          <string>Check for missing glyphs</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="checkItemsNotOnAPageCheckBox">
-         <property name="text">
-          <string>Check for items not on a page</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="checkEmptyTextFramesCheckBox">
-         <property name="text">
-          <string>Check for empty text frames</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="checkTextOverflowCheckBox">
-         <property name="text">
-          <string>Check for overflow in text frames</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="checkTransparenciesCheckBox">
-         <property name="text">
-          <string>Check for used transparencies</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="checkMissingImagesCheckBox">
-         <property name="text">
-          <string>Check for missing images</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="checkPartFilledImageFramesCheckBox">
-         <property name="text">
-          <string>Check for partially filled image frames</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="checkImageHasProgressiveEncodingCheckBox">
-         <property name="text">
-          <string>Check for images with progressive encoding</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="checkImageResolutionCheckBox">
-         <property name="text">
-          <string>Check image resolution</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <layout class="QFormLayout" name="formLayout_2">
-         <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_4">
-           <property name="text">
-            <string>Minimum Resolution:</string>
-           </property>
-          </widget>
-         </item>
-         <item row="0" column="1">
-          <widget class="QSpinBox" name="minimumResolutionSpinBox">
-           <property name="suffix">
-            <string> dpi</string>
-           </property>
-           <property name="minimum">
-            <number>10</number>
-           </property>
-           <property name="maximum">
-            <number>4800</number>
-           </property>
-          </widget>
-         </item>
-         <item row="1" column="1">
-          <widget class="QSpinBox" name="maximumResolutionSpinBox">
-           <property name="suffix">
-            <string> dpi</string>
-           </property>
-           <property name="minimum">
-            <number>10</number>
-           </property>
-           <property name="maximum">
-            <number>4800</number>
-           </property>
-          </widget>
-         </item>
-         <item row="1" column="0">
-          <widget class="QLabel" name="label_5">
-           <property name="text">
-            <string>Maximum Resolution:</string>
-           </property>
-          </widget>
-         </item>
-        </layout>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="checkPlacedPDFCheckBox">
-         <property name="text">
-          <string>Check for placed PDF files</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="checkGIFsCheckBox">
-         <property name="text">
-          <string>Check for GIF images</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="checkPDFAnnotFieldsCheckBox">
-         <property name="text">
-          <string>Check for PDF Annotations and Fields</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="checkVisiblePrintableLayersCheckBox">
-         <property name="text">
-          <string>Check for Visible/Printable mismatch in layers</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="checkNonPrintableLayersCheckBox">
-         <property name="text">
-          <string>Ignore non-printable layers</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="checkAppliedMasterPageLocationCheckBox">
-         <property name="text">
-          <string>Check if applied master page location is the same as each page's location</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <spacer name="verticalSpacer_2">
-         <property name="orientation">
-          <enum>Qt::Orientation::Vertical</enum>
-         </property>
-         <property name="sizeHint" stdset="0">
-          <size>
-           <width>20</width>
-           <height>124</height>
-          </size>
-         </property>
-        </spacer>
        </item>
       </layout>
      </widget>
@@ -377,6 +455,32 @@
    </item>
   </layout>
  </widget>
+ <tabstops>
+  <tabstop>currentProfileComboBox</tabstop>
+  <tabstop>addProfilePushButton</tabstop>
+  <tabstop>removeProfilePushButton</tabstop>
+  <tabstop>autoCheckBeforePrintExportCheckBox</tabstop>
+  <tabstop>checkMissingGlyphsCheckBox</tabstop>
+  <tabstop>checkEmptyTextFramesCheckBox</tabstop>
+  <tabstop>checkTextOverflowCheckBox</tabstop>
+  <tabstop>checkMissingImagesCheckBox</tabstop>
+  <tabstop>checkPartFilledImageFramesCheckBox</tabstop>
+  <tabstop>checkImageHasProgressiveEncodingCheckBox</tabstop>
+  <tabstop>checkGIFsCheckBox</tabstop>
+  <tabstop>checkImageResolutionCheckBox</tabstop>
+  <tabstop>minimumResolutionSpinBox</tabstop>
+  <tabstop>maximumResolutionSpinBox</tabstop>
+  <tabstop>checkPlacedPDFCheckBox</tabstop>
+  <tabstop>checkTransparenciesCheckBox</tabstop>
+  <tabstop>checkPDFAnnotFieldsCheckBox</tabstop>
+  <tabstop>checkItemsNotOnAPageCheckBox</tabstop>
+  <tabstop>checkAppliedMasterPageLocationCheckBox</tabstop>
+  <tabstop>checkVisiblePrintableLayersCheckBox</tabstop>
+  <tabstop>ignoreAllErrorsCheckBox</tabstop>
+  <tabstop>checkNonPrintableLayersCheckBox</tabstop>
+  <tabstop>showPagesWithoutErrorsCheckBox</tabstop>
+  <tabstop>showNonPrintingLayerErrorsCheckBox</tabstop>
+ </tabstops>
  <resources/>
  <connections/>
 </ui>
Index: scribus/ui/preferences/prefs_preflightverifier.cpp
===================================================================
--- scribus/ui/preferences/prefs_preflightverifier.cpp	(revision 27785)
+++ scribus/ui/preferences/prefs_preflightverifier.cpp	(working copy)
@@ -30,6 +30,7 @@
 	connect(checkMissingImagesCheckBox, SIGNAL(clicked()), this, SLOT(putProfile()));
 	connect(checkPartFilledImageFramesCheckBox, SIGNAL(clicked()), this, SLOT(putProfile()));
 	connect(checkImageResolutionCheckBox, SIGNAL(toggled(bool)), this, SLOT(putProfile()));
+	connect(checkImageResolutionCheckBox, &QCheckBox::toggled, resolutionRangeWidget, &QWidget::setEnabled);
 	connect(checkPDFAnnotFieldsCheckBox, SIGNAL(clicked()), this, SLOT(putProfile()));
 	connect(checkPlacedPDFCheckBox, SIGNAL(clicked()), this, SLOT(putProfile()));
 	connect(checkGIFsCheckBox, SIGNAL(clicked()), this, SLOT(putProfile()));
@@ -182,6 +183,7 @@
 	checkVisiblePrintableLayersCheckBox->setChecked(checkerProfile.checkOffConflictLayers);
 	checkAppliedMasterPageLocationCheckBox->setChecked(checkerProfile.checkAppliedMasterDifferentSide);
 	checkEmptyTextFramesCheckBox->setChecked(checkerProfile.checkEmptyTextFrames);
+	checkImageHasProgressiveEncodingCheckBox->setChecked(checkerProfile.checkImageHasProgressiveEncoding);
 	currentProfile = name;
 
 	connect(ignoreAllErrorsCheckBox, SIGNAL(clicked()), this, SLOT(putProfile()));
@@ -224,6 +226,7 @@
 	checkerSettings.checkOffConflictLayers = checkVisiblePrintableLayersCheckBox->isChecked();
 	checkerSettings.checkAppliedMasterDifferentSide = checkAppliedMasterPageLocationCheckBox->isChecked();
 	checkerSettings.checkEmptyTextFrames = checkEmptyTextFramesCheckBox->isChecked();
+	checkerSettings.checkImageHasProgressiveEncoding = checkImageHasProgressiveEncodingCheckBox->isChecked();
 	checkerProfiles.insert(tempNewProfileName, checkerSettings);
 	currentProfile = tempNewProfileName;
 	if (checkerProfiles.count() > 1)
preflight-ui-current.png (423,349 bytes)   
preflight-ui-current.png (423,349 bytes)   
preflight-ui-proposed.png (485,812 bytes)   
preflight-ui-proposed.png (485,812 bytes)   
PatchYes

Activities

qirat

2026-08-27 03:27

reporter   ~0054317

v1.11 - more polish and narrow as compared to v1.07. It is mostly UI and minor C++.

* Keeps the core v1.07 polish: grouped two-column Preflight UI, mnemonics, Tab order, resolution enable/disable, progressive-image profile sync.
* Improves layout sizing: left/right groups and Profile now use natural widths; Profile aligns with both columns; narrow-dialog clipping/stretching is fixed.
* Improves resolution controls: Min/Max moved onto the same row with compact tiny labels underneath.
* Drops the internal scroll area: layout now relies on its natural minimum size.
* Drops the “partially filled image frames = ON by default” change: restores pristine r27785 behavior and removes the `prefsmanager.cpp` change.
preflight-profile-layout-v1.11.patch (34,683 bytes)   
Index: scribus/ui/preferences/prefs_preflightverifierbase.ui
===================================================================
--- scribus/ui/preferences/prefs_preflightverifierbase.ui	(revision 27785)
+++ scribus/ui/preferences/prefs_preflightverifierbase.ui	(working copy)
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>623</width>
-    <height>757</height>
+    <width>700</width>
+    <height>720</height>
    </rect>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout">
@@ -44,339 +44,558 @@
     </widget>
    </item>
    <item>
-    <widget class="QCheckBox" name="showPagesWithoutErrorsCheckBox">
-     <property name="text">
-      <string>Show pages without errors</string>
-     </property>
-    </widget>
-   </item>
-   <item>
-    <widget class="QCheckBox" name="showNonPrintingLayerErrorsCheckBox">
-     <property name="text">
-      <string>Show errors for items on layers that will not print</string>
-     </property>
-    </widget>
-   </item>
-   <item>
-    <spacer name="verticalSpacer_3">
-     <property name="orientation">
-      <enum>Qt::Orientation::Vertical</enum>
-     </property>
-     <property name="sizeType">
-      <enum>QSizePolicy::Policy::Minimum</enum>
-     </property>
-     <property name="sizeHint" stdset="0">
-      <size>
-       <width>20</width>
-       <height>20</height>
-      </size>
-     </property>
-    </spacer>
-   </item>
-   <item>
-    <widget class="QLabel" name="label_6">
-     <property name="font">
-      <font>
-       <bold>true</bold>
-      </font>
-     </property>
-     <property name="text">
-      <string>Profile Setup</string>
-     </property>
-    </widget>
-   </item>
-   <item>
-    <widget class="QScrollArea" name="scrollArea">
-     <property name="widgetResizable">
-      <bool>true</bool>
-     </property>
-     <widget class="QWidget" name="scrollAreaWidgetContents">
-      <property name="geometry">
-       <rect>
-        <x>0</x>
-        <y>0</y>
-        <width>610</width>
-        <height>615</height>
-       </rect>
+    <widget class="QWidget" name="preflightOptionsWidget" native="true">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <layout class="QVBoxLayout" name="preflightOptionsLayout">
+      <property name="leftMargin">
+       <number>0</number>
       </property>
-      <layout class="QVBoxLayout" name="verticalLayout_2">
-       <item>
-        <layout class="QFormLayout" name="formLayout">
-         <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_2">
-           <property name="font">
-            <font>
-             <bold>true</bold>
-            </font>
-           </property>
-           <property name="text">
-            <string>Output Profile:</string>
-           </property>
-          </widget>
-         </item>
-         <item row="0" column="1">
-          <widget class="QComboBox" name="currentProfileComboBox">
-           <property name="editable">
-            <bool>true</bool>
-           </property>
-          </widget>
-         </item>
-        </layout>
-       </item>
-       <item>
-        <layout class="QHBoxLayout" name="horizontalLayout">
-         <item>
-          <widget class="QPushButton" name="addProfilePushButton">
-           <property name="text">
-            <string>Add New Profile</string>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <widget class="QPushButton" name="removeProfilePushButton">
-           <property name="text">
-            <string>Remove Profile</string>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <spacer name="horizontalSpacer">
-           <property name="orientation">
-            <enum>Qt::Orientation::Horizontal</enum>
-           </property>
-           <property name="sizeHint" stdset="0">
-            <size>
-             <width>40</width>
-             <height>20</height>
-            </size>
-           </property>
-          </spacer>
-         </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>Profile Options</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="Line" name="line_2">
-         <property name="orientation">
-          <enum>Qt::Orientation::Horizontal</enum>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="ignoreAllErrorsCheckBox">
-         <property name="text">
-          <string>Ignore all errors</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="autoCheckBeforePrintExportCheckBox">
-         <property name="text">
-          <string>Automatic check before printing or exporting</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="checkMissingGlyphsCheckBox">
-         <property name="text">
-          <string>Check for missing glyphs</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="checkItemsNotOnAPageCheckBox">
-         <property name="text">
-          <string>Check for items not on a page</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="checkEmptyTextFramesCheckBox">
-         <property name="text">
-          <string>Check for empty text frames</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="checkTextOverflowCheckBox">
-         <property name="text">
-          <string>Check for overflow in text frames</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="checkTransparenciesCheckBox">
-         <property name="text">
-          <string>Check for used transparencies</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="checkMissingImagesCheckBox">
-         <property name="text">
-          <string>Check for missing images</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="checkPartFilledImageFramesCheckBox">
-         <property name="text">
-          <string>Check for partially filled image frames</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="checkImageHasProgressiveEncodingCheckBox">
-         <property name="text">
-          <string>Check for images with progressive encoding</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="checkImageResolutionCheckBox">
-         <property name="text">
-          <string>Check image resolution</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <layout class="QFormLayout" name="formLayout_2">
-         <property name="formAlignment">
-          <set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
+      <property name="topMargin">
+       <number>0</number>
+      </property>
+      <property name="rightMargin">
+       <number>0</number>
+      </property>
+      <property name="bottomMargin">
+       <number>0</number>
+      </property>
+      <item>
+        <widget class="QGroupBox" name="profileGroupBox">
+         <property name="title">
+          <string>&amp;Profile</string>
+         </property>
+         <layout class="QGridLayout" name="profileLayout">
+          <item row="0" column="0">
+           <widget class="QLabel" name="label_2">
+            <property name="text">
+             <string>Output Profile:</string>
+            </property>
+            <property name="buddy">
+             <cstring>currentProfileComboBox</cstring>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="1">
+           <widget class="QComboBox" name="currentProfileComboBox">
+            <property name="editable">
+             <bool>true</bool>
+            </property>
+            <property name="minimumSize">
+             <size>
+              <width>220</width>
+              <height>0</height>
+             </size>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="2">
+           <widget class="QPushButton" name="addProfilePushButton">
+            <property name="text">
+             <string>Add Profile</string>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="3">
+           <widget class="QPushButton" name="removeProfilePushButton">
+            <property name="text">
+             <string>Remove Profile</string>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="4">
+           <spacer name="profileHorizontalSpacer">
+            <property name="orientation">
+             <enum>Qt::Orientation::Horizontal</enum>
+            </property>
+            <property name="sizeHint" stdset="0">
+             <size>
+              <width>40</width>
+              <height>20</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
+          <item row="1" column="0" colspan="5">
+           <widget class="QCheckBox" name="autoCheckBeforePrintExportCheckBox">
+            <property name="text">
+             <string>Automatic check before printing or exporting</string>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+      </item>
+      <item>
+        <layout class="QGridLayout" name="checksGridLayout">
+         <property name="horizontalSpacing">
+          <number>12</number>
          </property>
          <item row="0" column="0">
-          <widget class="QLabel" name="label_4">
-           <property name="text">
-            <string>Minimum Resolution:</string>
-           </property>
+          <widget class="QWidget" name="leftChecksWidget" native="true">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <layout class="QVBoxLayout" name="leftChecksLayout">
+            <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="textChecksGroupBox">
+             <property name="title">
+              <string>&amp;Text</string>
+             </property>
+             <layout class="QVBoxLayout" name="textChecksLayout">
+              <item>
+               <widget class="QCheckBox" name="checkMissingGlyphsCheckBox">
+                <property name="text">
+                 <string>Check for missing glyphs</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QCheckBox" name="checkEmptyTextFramesCheckBox">
+                <property name="text">
+                 <string>Check for empty text frames</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QCheckBox" name="checkTextOverflowCheckBox">
+                <property name="text">
+                 <string>Check for overflow in text frames</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </widget>
+           </item>
+           <item>
+            <widget class="QGroupBox" name="imageChecksGroupBox">
+             <property name="title">
+              <string>I&amp;mages</string>
+             </property>
+             <layout class="QVBoxLayout" name="imageChecksLayout">
+              <item>
+               <widget class="QCheckBox" name="checkMissingImagesCheckBox">
+                <property name="text">
+                 <string>Check for missing images</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QCheckBox" name="checkPartFilledImageFramesCheckBox">
+                <property name="text">
+                 <string>Check for partially filled image frames</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QCheckBox" name="checkImageHasProgressiveEncodingCheckBox">
+                <property name="text">
+                 <string>Check for images with progressive encoding</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QCheckBox" name="checkGIFsCheckBox">
+                <property name="text">
+                 <string>Check for GIF images</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <layout class="QHBoxLayout" name="resolutionRowLayout">
+                <property name="spacing">
+                 <number>8</number>
+                </property>
+                <item>
+                 <widget class="FormWidget" name="resolutionCheckFormWidget">
+                  <property name="sizePolicy">
+                   <sizepolicy hsizetype="Preferred" vsizetype="Minimum">
+                    <horstretch>0</horstretch>
+                    <verstretch>0</verstretch>
+                   </sizepolicy>
+                  </property>
+                  <property name="label" stdset="0">
+                   <string/>
+                  </property>
+                  <property name="preserveLabelSpace">
+                   <bool>true</bool>
+                  </property>
+                  <layout class="QHBoxLayout" name="resolutionCheckLayout">
+                   <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="checkImageResolutionCheckBox">
+                     <property name="text">
+                      <string>Check image resolution</string>
+                     </property>
+                    </widget>
+                   </item>
+                  </layout>
+                 </widget>
+                </item>
+                <item>
+                 <widget class="QWidget" name="resolutionRangeWidget" native="true">
+                  <property name="enabled">
+                   <bool>false</bool>
+                  </property>
+                  <layout class="QHBoxLayout" name="resolutionRangeLayout">
+                   <property name="spacing">
+                    <number>8</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="FormWidget" name="minimumResolutionFormWidget">
+                     <property name="sizePolicy">
+                      <sizepolicy hsizetype="Preferred" vsizetype="Minimum">
+                       <horstretch>0</horstretch>
+                       <verstretch>0</verstretch>
+                      </sizepolicy>
+                     </property>
+                     <property name="label" stdset="0">
+                      <string>Minimum</string>
+                     </property>
+                     <layout class="QHBoxLayout" name="minimumResolutionLayout">
+                      <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="minimumResolutionSpinBox">
+                        <property name="suffix">
+                         <string> dpi</string>
+                        </property>
+                        <property name="minimum">
+                         <number>10</number>
+                        </property>
+                        <property name="maximum">
+                         <number>4800</number>
+                        </property>
+                       </widget>
+                      </item>
+                     </layout>
+                    </widget>
+                   </item>
+                   <item>
+                    <widget class="FormWidget" name="maximumResolutionFormWidget">
+                     <property name="sizePolicy">
+                      <sizepolicy hsizetype="Preferred" vsizetype="Minimum">
+                       <horstretch>0</horstretch>
+                       <verstretch>0</verstretch>
+                      </sizepolicy>
+                     </property>
+                     <property name="label" stdset="0">
+                      <string>Maximum</string>
+                     </property>
+                     <layout class="QHBoxLayout" name="maximumResolutionLayout">
+                      <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="maximumResolutionSpinBox">
+                        <property name="suffix">
+                         <string> dpi</string>
+                        </property>
+                        <property name="minimum">
+                         <number>10</number>
+                        </property>
+                        <property name="maximum">
+                         <number>4800</number>
+                        </property>
+                       </widget>
+                      </item>
+                     </layout>
+                    </widget>
+                   </item>
+                  </layout>
+                 </widget>
+                </item>
+                <item>
+                 <spacer name="resolutionRowSpacer">
+                  <property name="orientation">
+                   <enum>Qt::Orientation::Horizontal</enum>
+                  </property>
+                  <property name="sizeType">
+                   <enum>QSizePolicy::Policy::Expanding</enum>
+                  </property>
+                  <property name="sizeHint" stdset="0">
+                   <size>
+                    <width>0</width>
+                    <height>20</height>
+                   </size>
+                  </property>
+                 </spacer>
+                </item>
+               </layout>
+              </item>
+             </layout>
+            </widget>
+           </item>
+           <item>
+            <spacer name="leftChecksVerticalSpacer">
+             <property name="orientation">
+              <enum>Qt::Orientation::Vertical</enum>
+             </property>
+             <property name="sizeType">
+              <enum>QSizePolicy::Policy::Expanding</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>20</width>
+               <height>40</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+           </layout>
           </widget>
          </item>
          <item row="0" column="1">
-          <widget class="QSpinBox" name="minimumResolutionSpinBox">
-           <property name="suffix">
-            <string> dpi</string>
-           </property>
-           <property name="minimum">
-            <number>10</number>
-           </property>
-           <property name="maximum">
-            <number>4800</number>
-           </property>
-          </widget>
-         </item>
-         <item row="1" column="1">
-          <widget class="QSpinBox" name="maximumResolutionSpinBox">
-           <property name="suffix">
-            <string> dpi</string>
-           </property>
-           <property name="minimum">
-            <number>10</number>
-           </property>
-           <property name="maximum">
-            <number>4800</number>
-           </property>
-          </widget>
-         </item>
-         <item row="1" column="0">
-          <widget class="QLabel" name="label_5">
-           <property name="text">
-            <string>Maximum Resolution:</string>
-           </property>
+          <widget class="QWidget" name="rightChecksWidget" native="true">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <layout class="QVBoxLayout" name="rightChecksLayout">
+            <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="pdfTransparencyGroupBox">
+             <property name="title">
+              <string>P&amp;DF &amp;&amp; Transparency</string>
+             </property>
+             <layout class="QVBoxLayout" name="pdfTransparencyLayout">
+              <item>
+               <widget class="QCheckBox" name="checkPlacedPDFCheckBox">
+                <property name="text">
+                 <string>Check for placed PDF files</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QCheckBox" name="checkTransparenciesCheckBox">
+                <property name="text">
+                 <string>Check for used transparencies</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QCheckBox" name="checkPDFAnnotFieldsCheckBox">
+                <property name="text">
+                 <string>Check for PDF Annotations and Fields</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </widget>
+           </item>
+           <item>
+            <widget class="QGroupBox" name="pagesLayersGroupBox">
+             <property name="title">
+              <string>Pages &amp;&amp; &amp;Layers</string>
+             </property>
+             <layout class="QVBoxLayout" name="pagesLayersLayout">
+              <item>
+               <widget class="QCheckBox" name="checkItemsNotOnAPageCheckBox">
+                <property name="text">
+                 <string>Check for items not on a page</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QCheckBox" name="checkAppliedMasterPageLocationCheckBox">
+                <property name="text">
+                 <string>Check for master-page side mismatch</string>
+                </property>
+                <property name="toolTip">
+                 <string>Check whether the applied master page matches the page's left/right side.</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QCheckBox" name="checkVisiblePrintableLayersCheckBox">
+                <property name="text">
+                 <string>Check for Visible/Printable mismatch in layers</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </widget>
+           </item>
+           <item>
+            <widget class="QGroupBox" name="moreOptionsGroupBox">
+             <property name="title">
+              <string>More &amp;Options</string>
+             </property>
+             <layout class="QVBoxLayout" name="moreOptionsLayout">
+              <item>
+               <widget class="QCheckBox" name="ignoreAllErrorsCheckBox">
+                <property name="text">
+                 <string>Ignore all errors</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QCheckBox" name="checkNonPrintableLayersCheckBox">
+                <property name="text">
+                 <string>Ignore non-printable layers</string>
+                </property>
+                <property name="toolTip">
+                 <string>Skip items on non-printing layers.</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QCheckBox" name="showPagesWithoutErrorsCheckBox">
+                <property name="text">
+                 <string>Show pages without errors</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QCheckBox" name="showNonPrintingLayerErrorsCheckBox">
+                <property name="text">
+                 <string>Show errors for items on non-printing layers</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </widget>
+           </item>
+           <item>
+            <spacer name="rightChecksVerticalSpacer">
+             <property name="orientation">
+              <enum>Qt::Orientation::Vertical</enum>
+             </property>
+             <property name="sizeType">
+              <enum>QSizePolicy::Policy::Expanding</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>20</width>
+               <height>40</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+           </layout>
           </widget>
          </item>
         </layout>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="checkPlacedPDFCheckBox">
-         <property name="text">
-          <string>Check for placed PDF files</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="checkGIFsCheckBox">
-         <property name="text">
-          <string>Check for GIF images</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="checkPDFAnnotFieldsCheckBox">
-         <property name="text">
-          <string>Check for PDF Annotations and Fields</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="checkVisiblePrintableLayersCheckBox">
-         <property name="text">
-          <string>Check for Visible/Printable mismatch in layers</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="checkNonPrintableLayersCheckBox">
-         <property name="text">
-          <string>Ignore non-printable layers</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="checkAppliedMasterPageLocationCheckBox">
-         <property name="text">
-          <string>Check if applied master page location is the same as each page's location</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <spacer name="verticalSpacer_2">
-         <property name="orientation">
-          <enum>Qt::Orientation::Vertical</enum>
-         </property>
-         <property name="sizeHint" stdset="0">
-          <size>
-           <width>20</width>
-           <height>124</height>
-          </size>
-         </property>
-        </spacer>
-       </item>
-      </layout>
-     </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>
+ </customwidgets>
+ <tabstops>
+  <tabstop>currentProfileComboBox</tabstop>
+  <tabstop>addProfilePushButton</tabstop>
+  <tabstop>removeProfilePushButton</tabstop>
+  <tabstop>autoCheckBeforePrintExportCheckBox</tabstop>
+  <tabstop>checkMissingGlyphsCheckBox</tabstop>
+  <tabstop>checkEmptyTextFramesCheckBox</tabstop>
+  <tabstop>checkTextOverflowCheckBox</tabstop>
+  <tabstop>checkMissingImagesCheckBox</tabstop>
+  <tabstop>checkPartFilledImageFramesCheckBox</tabstop>
+  <tabstop>checkImageHasProgressiveEncodingCheckBox</tabstop>
+  <tabstop>checkGIFsCheckBox</tabstop>
+  <tabstop>checkImageResolutionCheckBox</tabstop>
+  <tabstop>minimumResolutionSpinBox</tabstop>
+  <tabstop>maximumResolutionSpinBox</tabstop>
+  <tabstop>checkPlacedPDFCheckBox</tabstop>
+  <tabstop>checkTransparenciesCheckBox</tabstop>
+  <tabstop>checkPDFAnnotFieldsCheckBox</tabstop>
+  <tabstop>checkItemsNotOnAPageCheckBox</tabstop>
+  <tabstop>checkAppliedMasterPageLocationCheckBox</tabstop>
+  <tabstop>checkVisiblePrintableLayersCheckBox</tabstop>
+  <tabstop>ignoreAllErrorsCheckBox</tabstop>
+  <tabstop>checkNonPrintableLayersCheckBox</tabstop>
+  <tabstop>showPagesWithoutErrorsCheckBox</tabstop>
+  <tabstop>showNonPrintingLayerErrorsCheckBox</tabstop>
+ </tabstops>
  <resources/>
  <connections/>
 </ui>
Index: scribus/ui/preferences/prefs_preflightverifier.cpp
===================================================================
--- scribus/ui/preferences/prefs_preflightverifier.cpp	(revision 27785)
+++ scribus/ui/preferences/prefs_preflightverifier.cpp	(working copy)
@@ -30,6 +30,7 @@
 	connect(checkMissingImagesCheckBox, SIGNAL(clicked()), this, SLOT(putProfile()));
 	connect(checkPartFilledImageFramesCheckBox, SIGNAL(clicked()), this, SLOT(putProfile()));
 	connect(checkImageResolutionCheckBox, SIGNAL(toggled(bool)), this, SLOT(putProfile()));
+	connect(checkImageResolutionCheckBox, &QCheckBox::toggled, resolutionRangeWidget, &QWidget::setEnabled);
 	connect(checkPDFAnnotFieldsCheckBox, SIGNAL(clicked()), this, SLOT(putProfile()));
 	connect(checkPlacedPDFCheckBox, SIGNAL(clicked()), this, SLOT(putProfile()));
 	connect(checkGIFsCheckBox, SIGNAL(clicked()), this, SLOT(putProfile()));
@@ -182,6 +183,7 @@
 	checkVisiblePrintableLayersCheckBox->setChecked(checkerProfile.checkOffConflictLayers);
 	checkAppliedMasterPageLocationCheckBox->setChecked(checkerProfile.checkAppliedMasterDifferentSide);
 	checkEmptyTextFramesCheckBox->setChecked(checkerProfile.checkEmptyTextFrames);
+	checkImageHasProgressiveEncodingCheckBox->setChecked(checkerProfile.checkImageHasProgressiveEncoding);
 	currentProfile = name;
 
 	connect(ignoreAllErrorsCheckBox, SIGNAL(clicked()), this, SLOT(putProfile()));
@@ -224,6 +226,7 @@
 	checkerSettings.checkOffConflictLayers = checkVisiblePrintableLayersCheckBox->isChecked();
 	checkerSettings.checkAppliedMasterDifferentSide = checkAppliedMasterPageLocationCheckBox->isChecked();
 	checkerSettings.checkEmptyTextFrames = checkEmptyTextFramesCheckBox->isChecked();
+	checkerSettings.checkImageHasProgressiveEncoding = checkImageHasProgressiveEncodingCheckBox->isChecked();
 	checkerProfiles.insert(tempNewProfileName, checkerSettings);
 	currentProfile = tempNewProfileName;
 	if (checkerProfiles.count() > 1)

qirat

2026-08-27 04:11

reporter   ~0054320

preflight-ui-proposed-v1.11.png (479,369 bytes)   
preflight-ui-proposed-v1.11.png (479,369 bytes)   

cbradney

2026-08-30 12:02

administrator   ~0054378

Implemented differently

qirat

2026-08-30 12:26

reporter   ~0054380

Personally, I would prefer your version, every time. :) Thanks.

Issue History

Date Modified Username Field Change
2026-08-26 13:02 qirat New Issue
2026-08-26 13:02 qirat File Added: preflight-profile-layout-v1.07.patch
2026-08-26 13:02 qirat File Added: preflight-ui-current.png
2026-08-26 13:02 qirat File Added: preflight-ui-proposed.png
2026-08-27 03:27 qirat Note Added: 0054317
2026-08-27 03:27 qirat File Added: preflight-profile-layout-v1.11.patch
2026-08-27 04:11 qirat Note Added: 0054320
2026-08-27 04:11 qirat File Added: preflight-ui-proposed-v1.11.png
2026-08-27 07:00 qirat Tag Attached: #patchisready
2026-08-27 07:07 ale Tag Detached: #patchisready
2026-08-27 07:07 ale Tag Attached: #patchtobereviewed
2026-08-27 07:07 ale Tag Attached: #please_test
2026-08-27 08:05 ale Tag Renamed #patchtobereviewed => #patch_to_be_reviewed
2026-08-30 12:02 cbradney Assigned To => cbradney
2026-08-30 12:02 cbradney Status new => resolved
2026-08-30 12:02 cbradney Resolution open => fixed
2026-08-30 12:02 cbradney Fixed in Version => 1.7.4.svn
2026-08-30 12:02 cbradney Note Added: 0054378
2026-08-30 12:26 qirat Note Added: 0054380