View Issue Details

IDProjectCategoryView StatusLast Update
0014520ScribusUser Interfacepublic2017-02-25 20:55
Reportersommerluk Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status newResolutionopen 
Product Version1.5.3.svn 
Target VersionFixed in Version 
Summary0014520: [PATCH] UI for PDF image compression is unclear
DescriptionUI for PDF image compression is unclear

It’s difficult to know if Compression Quality increases the Compression (small file) or the Quality (big file).
Steps To Reproduce
See bug https://bugs.scribus.net/view.php?id=2277 for detailed description.

This patch solved the above mentioned bug.
Additional Information
This patch unifies the wording of the various locations in scribus that treat the PDF image quality (namely PDF export dialog and the palette for individual per-image settings).

It does no longer disable the JPEG quality setting widget in PDF export dialog when the compression method is ZIP. This is for consistency with the individual per-image settings (that can make reference to global JPEG quality setting even when the global compression method is ZIP).

The patch makes clear that the image quality setting is about JPEG only.

The patch renames the compression method “none” to “Uncompressed” (namely because Scribus uncompresses when this setting is used and the original image is a JPEG).

The patch unifies the corresponding labels and tool tips across Scribus.

I hope this patch makes the UI clearer.
TagsNo tags attached.
PatchYes

Activities

sommerluk

2016-12-29 06:00

reporter  

patch.diff (14,048 bytes)
diff -U 3 -H -d -r -N -- /home/sommerluk/Dokumente/Ligatursatz/scribus-svn/my-patch/ui.old/prefs_pdfexport.cpp /home/sommerluk/Dokumente/Ligatursatz/scribus-svn/my-patch/ui/prefs_pdfexport.cpp
--- /home/sommerluk/Dokumente/Ligatursatz/scribus-svn/my-patch/ui.old/prefs_pdfexport.cpp	2016-12-21 19:22:50.000000000 +0000
+++ /home/sommerluk/Dokumente/Ligatursatz/scribus-svn/my-patch/ui/prefs_pdfexport.cpp	2016-12-28 14:28:11.474118921 +0000
@@ -63,7 +63,7 @@
 	embedPDFAndEPSFilesCheckBox->setToolTip( "<qt>" + tr( "Export PDFs in image frames as embedded PDFs. This does *not* yet take care of colorspaces, so you should know what you are doing before setting this to 'true'." ) + "</qt>" );
 	compressTextAndVectorGraphicsCheckBox->setToolTip( "<qt>" + tr( "Enables lossless compression of text and graphics. Unless you have a reason, leave this checked. This reduces PDF file size." ) + "</qt>" );
 	imageCompressionMethodComboBox->setToolTip( "<qt>" + tr( "Method of compression to use for images. Automatic allows Scribus to choose the best method. ZIP is lossless and good for images with solid colors. JPEG is better at creating smaller PDF files which have many photos (with slight image quality loss possible). Leave it set to Automatic unless you have a need for special compression options." ) + "</qt>");
-	imageCompressionQualityComboBox->setToolTip( "<qt>" + tr( "Compression quality levels for lossy compression methods: Minimum (25%), Low (50%), Medium (75%), High (85%), Maximum (95%). Note that a quality level does not directly determine the size of the resulting image - both size and quality loss vary from image to image at any given quality level. Even with Maximum selected, there is always some quality loss with jpeg." ) + "</qt>");
+	imageCompressionQualityComboBox->setToolTip( "<qt>" + tr( "Image quality levels for JPEG: Minimum (25%), Low (50%), Medium (75%), High (85%), Maximum (95%). Note that an image quality level does not directly determine the size of the resulting image – both size and quality loss vary from image to image at any given quality level. Even with Maximum selected, there is always some image quality loss with JPEG." ) + "</qt>");
 	maxResolutionLimitCheckBox->setToolTip( "<qt>" + tr( "Limits the resolution of your bitmap images to the selected DPI. Images with a lower resolution will be left untouched. Leaving this unchecked will render them at their native resolution. Enabling this will increase memory usage and slow down export." ) + "</qt>" );
 	maxExportResolutionSpinBox->setToolTip( "<qt>" + tr( "DPI (Dots Per Inch) for image export") + "</qt>" );
 	useEncryptionCheckBox->setToolTip( "<qt>" + tr( "Enable the security features in your exported PDF. If you selected PDF 1.3, the PDF will be protected by 40 bit encryption. If you selected PDF 1.4, the PDF will be protected by 128 bit encryption. Disclaimer: PDF encryption is not as reliable as GPG or PGP encryption and does have some limitations." ) + "</qt>" );
@@ -196,9 +196,9 @@
 	i = imageCompressionMethodComboBox->currentIndex();
 	imageCompressionMethodComboBox->clear();
 	imageCompressionMethodComboBox->addItem( tr( "Automatic" ) );
-	imageCompressionMethodComboBox->addItem( tr( "Lossy - JPEG" ) );
-	imageCompressionMethodComboBox->addItem( tr( "Lossless - Zip" ) );
-	imageCompressionMethodComboBox->addItem( tr( "None" ) );
+	imageCompressionMethodComboBox->addItem( tr( "Lossy – JPEG" ) );
+	imageCompressionMethodComboBox->addItem( tr( "Lossless – ZIP" ) );
+	imageCompressionMethodComboBox->addItem( tr( "Lossless – Uncompressed" ) );
 	imageCompressionMethodComboBox->setCurrentIndex(i);
 
 	i = imageCompressionQualityComboBox->currentIndex();
diff -U 3 -H -d -r -N -- /home/sommerluk/Dokumente/Ligatursatz/scribus-svn/my-patch/ui.old/prefs_pdfexportbase.ui /home/sommerluk/Dokumente/Ligatursatz/scribus-svn/my-patch/ui/prefs_pdfexportbase.ui
--- /home/sommerluk/Dokumente/Ligatursatz/scribus-svn/my-patch/ui.old/prefs_pdfexportbase.ui	2016-12-21 19:22:50.000000000 +0000
+++ /home/sommerluk/Dokumente/Ligatursatz/scribus-svn/my-patch/ui/prefs_pdfexportbase.ui	2016-12-28 15:00:14.448243506 +0000
@@ -396,7 +396,7 @@
              <item row="1" column="0">
               <widget class="QLabel" name="label_7">
                <property name="text">
-                <string>Image Compression Quality:</string>
+                <string>JPEG Image Quality:</string>
                </property>
               </widget>
              </item>
diff -U 3 -H -d -r -N -- /home/sommerluk/Dokumente/Ligatursatz/scribus-svn/my-patch/ui.old/propertiespalette_image.cpp /home/sommerluk/Dokumente/Ligatursatz/scribus-svn/my-patch/ui/propertiespalette_image.cpp
--- /home/sommerluk/Dokumente/Ligatursatz/scribus-svn/my-patch/ui.old/propertiespalette_image.cpp	2016-12-21 19:22:50.000000000 +0000
+++ /home/sommerluk/Dokumente/Ligatursatz/scribus-svn/my-patch/ui/propertiespalette_image.cpp	2016-12-28 14:28:10.517421755 +0000
@@ -809,9 +809,9 @@
 	compressionMethod->clear();
 	compressionMethod->addItem( tr( "Global" ) );
 	compressionMethod->addItem( tr( "Automatic" ) );
-	compressionMethod->addItem( tr( "Lossy - JPEG" ) );
-	compressionMethod->addItem( tr( "Lossless - Zip" ) );
-	compressionMethod->addItem( tr( "None" ) );
+	compressionMethod->addItem( tr( "Lossy – JPEG" ) );
+	compressionMethod->addItem( tr( "Lossless – ZIP" ) );
+	compressionMethod->addItem( tr( "Lossless – Uncompressed" ) );
 	compressionMethod->setCurrentIndex(oldCompressionMethod);
 
 	QSignalBlocker compressionQualityBlocker(compressionQuality);
diff -U 3 -H -d -r -N -- /home/sommerluk/Dokumente/Ligatursatz/scribus-svn/my-patch/ui.old/propertiespalette_imagebase.ui /home/sommerluk/Dokumente/Ligatursatz/scribus-svn/my-patch/ui/propertiespalette_imagebase.ui
--- /home/sommerluk/Dokumente/Ligatursatz/scribus-svn/my-patch/ui.old/propertiespalette_imagebase.ui	2016-12-21 19:22:50.000000000 +0000
+++ /home/sommerluk/Dokumente/Ligatursatz/scribus-svn/my-patch/ui/propertiespalette_imagebase.ui	2016-12-29 04:59:59.439366613 +0000
@@ -304,13 +304,13 @@
    <item>
     <widget class="QGroupBox" name="pdfCompressionGroup">
      <property name="title">
-      <string>PDF Compression</string>
+      <string>PDF</string>
      </property>
      <layout class="QGridLayout" name="gridLayout_3">
       <item row="0" column="0">
        <widget class="QLabel" name="compressionMethodLabel">
         <property name="text">
-         <string>Method:</string>
+         <string>Image Compression Method:</string>
         </property>
        </widget>
       </item>
@@ -323,14 +323,14 @@
          </sizepolicy>
         </property>
         <property name="toolTip">
-         <string>Compression method used in PDF export for the image</string>
+         <string>Method of compression to use for images. Automatic allows Scribus to choose the best method. ZIP is lossless and good for images with solid colors. JPEG is better at creating smaller PDF files which have many photos (with slight image quality loss possible). Leave it set to Automatic unless you have a need for special compression options.</string>
         </property>
        </widget>
       </item>
       <item row="1" column="0">
        <widget class="QLabel" name="compressionQualityLabel">
         <property name="text">
-         <string>Quality:</string>
+         <string>JPEG Image Quality:</string>
         </property>
        </widget>
       </item>
@@ -343,7 +343,7 @@
          </sizepolicy>
         </property>
         <property name="toolTip">
-         <string>Compression quality used in PDF export for the image</string>
+         <string>Image quality levels for JPEG: Minimum (25%), Low (50%), Medium (75%), High (85%), Maximum (95%). Note that an image quality level does not directly determine the size of the resulting image – both size and quality loss vary from image to image at any given quality level. Even with Maximum selected, there is always some image quality loss with JPEG.</string>
         </property>
        </widget>
       </item>
diff -U 3 -H -d -r -N -- /home/sommerluk/Dokumente/Ligatursatz/scribus-svn/my-patch/ui.old/tabpdfoptions.cpp /home/sommerluk/Dokumente/Ligatursatz/scribus-svn/my-patch/ui/tabpdfoptions.cpp
--- /home/sommerluk/Dokumente/Ligatursatz/scribus-svn/my-patch/ui.old/tabpdfoptions.cpp	2016-12-21 19:22:50.000000000 +0000
+++ /home/sommerluk/Dokumente/Ligatursatz/scribus-svn/my-patch/ui/tabpdfoptions.cpp	2016-12-28 14:46:35.749379097 +0000
@@ -199,7 +199,6 @@
 	connect(Encry, SIGNAL(clicked()), this, SLOT(ToggleEncr()));
 	connect(UseLPI, SIGNAL(clicked()), this, SLOT(EnableLPI2()));
 	connect(LPIcolor, SIGNAL(activated(int)), this, SLOT(SelLPIcol(int)));
-	connect(CMethod, SIGNAL(activated(int)), this, SLOT(handleCompressionMethod(int)));
 
 	// Tooltips : General tab
 	RotateDeg->setToolTip( "<qt>" + tr( "Automatically rotate the exported pages" ) + "</qt>" );
@@ -222,7 +221,7 @@
 	EmbedPDF->setToolTip( "<qt>" + tr( "Export PDFs in image frames as embedded PDFs. This does *not* yet take care of colorspaces, so you should know what you are doing before setting this to 'true'." ) + "</qt>" );
 	Compression->setToolTip( "<qt>" + tr( "Enables lossless compression of text and graphics. Unless you have a reason, leave this checked. This reduces PDF file size." ) + "</qt>" );
 	CMethod->setToolTip( "<qt>" + tr( "Method of compression to use for images. Automatic allows Scribus to choose the best method. ZIP is lossless and good for images with solid colors. JPEG is better at creating smaller PDF files which have many photos (with slight image quality loss possible). Leave it set to Automatic unless you have a need for special compression options." ) + "</qt>");
-	CQuality->setToolTip( "<qt>" + tr( "Compression quality levels for lossy compression methods: Minimum (25%), Low (50%), Medium (75%), High (85%), Maximum (95%). Note that a quality level does not directly determine the size of the resulting image - both size and quality loss vary from image to image at any given quality level. Even with Maximum selected, there is always some quality loss with jpeg." ) + "</qt>");
+	CQuality->setToolTip( "<qt>" + tr( "Image quality levels for JPEG: Minimum (25%), Low (50%), Medium (75%), High (85%), Maximum (95%). Note that an image quality level does not directly determine the size of the resulting image – both size and quality loss vary from image to image at any given quality level. Even with Maximum selected, there is always some image quality loss with JPEG." ) + "</qt>");
 	DSColor->setToolTip( "<qt>" + tr( "Limits the resolution of your bitmap images to the selected DPI. Images with a lower resolution will be left untouched. Leaving this unchecked will render them at their native resolution. Enabling this will increase memory usage and slow down export." ) + "</qt>" );
 	ValC->setToolTip( "<qt>" + tr( "DPI (Dots Per Inch) for image export") + "</qt>" );
 
@@ -722,11 +721,6 @@
 	}
 }
 
-void TabPDFOptions::handleCompressionMethod(int ind)
-{
-	CQuality->setDisabled(ind == 3);
-}
-
 void TabPDFOptions::storeValues(PDFOptions& pdfOptions)
 {
 	pdfOptions.Thumbnails = CheckBox1->isChecked();
diff -U 3 -H -d -r -N -- /home/sommerluk/Dokumente/Ligatursatz/scribus-svn/my-patch/ui.old/tabpdfoptions.h /home/sommerluk/Dokumente/Ligatursatz/scribus-svn/my-patch/ui/tabpdfoptions.h
--- /home/sommerluk/Dokumente/Ligatursatz/scribus-svn/my-patch/ui.old/tabpdfoptions.h	2016-12-21 19:22:50.000000000 +0000
+++ /home/sommerluk/Dokumente/Ligatursatz/scribus-svn/my-patch/ui/tabpdfoptions.h	2016-12-28 14:34:43.478506117 +0000
@@ -100,7 +100,6 @@
 
 protected slots:
 	void createPageNumberRange();
-	void handleCompressionMethod(int ind);
 
 protected:
 	// PDFExportDialog should really privately inherit from us, but it can't
diff -U 3 -H -d -r -N -- /home/sommerluk/Dokumente/Ligatursatz/scribus-svn/my-patch/ui.old/tabpdfoptions.ui /home/sommerluk/Dokumente/Ligatursatz/scribus-svn/my-patch/ui/tabpdfoptions.ui
--- /home/sommerluk/Dokumente/Ligatursatz/scribus-svn/my-patch/ui.old/tabpdfoptions.ui	2016-12-21 19:22:50.000000000 +0000
+++ /home/sommerluk/Dokumente/Ligatursatz/scribus-svn/my-patch/ui/tabpdfoptions.ui	2016-12-29 04:59:59.339337961 +0000
@@ -324,7 +324,7 @@
     <item>
      <widget class="QGroupBox" name="groupBox">
       <property name="title">
-       <string>Image Quality Settings</string>
+       <string>Image Quality</string>
       </property>
       <layout class="QGridLayout" name="imageQualityLayout">
        <property name="leftMargin">
@@ -345,7 +345,7 @@
        <item row="0" column="0">
         <widget class="QLabel" name="label_4">
          <property name="text">
-          <string>Compression Metho&amp;d:</string>
+          <string>Image Compression Metho&amp;d:</string>
          </property>
          <property name="buddy">
           <cstring>CMethod</cstring>
@@ -364,17 +364,17 @@
          </item>
          <item>
           <property name="text">
-           <string>Lossy - JPEG</string>
+           <string>Lossy – JPEG</string>
           </property>
          </item>
          <item>
           <property name="text">
-           <string>Lossless - Zip</string>
+           <string>Lossless – ZIP</string>
           </property>
          </item>
          <item>
           <property name="text">
-           <string>None</string>
+           <string>Lossless – Uncompressed</string>
           </property>
          </item>
         </widget>
@@ -382,7 +382,7 @@
        <item row="1" column="0">
         <widget class="QLabel" name="label_5">
          <property name="text">
-          <string>Compression &amp;Quality:</string>
+          <string>JPEG Image &amp;Quality:</string>
          </property>
          <property name="buddy">
           <cstring>CQuality</cstring>
patch.diff (14,048 bytes)

sommerluk

2017-02-25 20:55

reporter   ~0043496

Ping.

Issue History

Date Modified Username Field Change
2016-12-29 06:00 sommerluk New Issue
2016-12-29 06:00 sommerluk File Added: patch.diff
2017-02-25 20:55 sommerluk Note Added: 0043496