The attached patch fixes #6176 for branch: It implements an UI to change the InstantPreview size as often requested.
OK?

regards Uwe
Index: src/frontends/qt4/GuiPrefs.cpp
===================================================================
--- src/frontends/qt4/GuiPrefs.cpp	(revision 31424)
+++ src/frontends/qt4/GuiPrefs.cpp	(working copy)
@@ -942,9 +942,23 @@
 	setupUi(this);
 	connect(displayGraphicsCB, SIGNAL(toggled(bool)), this, SIGNAL(changed()));
 	connect(instantPreviewCO, SIGNAL(activated(int)), this, SIGNAL(changed()));
+	connect(previewSizeSB, SIGNAL(valueChanged(double)), this, SIGNAL(changed()));
+	if (instantPreviewCO->currentIndex() == 0)
+		previewSizeSB->setEnabled(false);
+	else
+		previewSizeSB->setEnabled(true);
 }
 
 
+void PrefDisplay::on_instantPreviewCO_currentIndexChanged(int index)
+{
+	if (index == 0)
+		previewSizeSB->setEnabled(false);
+	else
+		previewSizeSB->setEnabled(true);
+}
+
+
 void PrefDisplay::apply(LyXRC & rc) const
 {
 	switch (instantPreviewCO->currentIndex()) {
@@ -954,6 +968,7 @@
 	}
 
 	rc.display_graphics = displayGraphicsCB->isChecked();
+	rc.preview_scale_factor = previewSizeSB->value();
 
 	// FIXME!! The graphics cache no longer has a changeDisplay method.
 #if 0
@@ -981,6 +996,7 @@
 
 	displayGraphicsCB->setChecked(rc.display_graphics);
 	instantPreviewCO->setEnabled(rc.display_graphics);
+	previewSizeSB->setValue(rc.preview_scale_factor);
 }
 
 
Index: src/frontends/qt4/GuiPrefs.h
===================================================================
--- src/frontends/qt4/GuiPrefs.h	(revision 31424)
+++ src/frontends/qt4/GuiPrefs.h	(working copy)
@@ -272,6 +272,9 @@
 
 	void apply(LyXRC & rc) const;
 	void update(LyXRC const & rc);
+
+private Q_SLOTS:
+	void on_instantPreviewCO_currentIndexChanged(int);
 };
 
 
Index: src/frontends/qt4/ui/PrefDisplayUi.ui
===================================================================
--- src/frontends/qt4/ui/PrefDisplayUi.ui	(revision 31424)
+++ src/frontends/qt4/ui/PrefDisplayUi.ui	(working copy)
@@ -1,76 +1,114 @@
 <ui version="4.0" >
  <class>PrefDisplayUi</class>
- <widget class="QWidget" name="PrefDisplayUi" >
-  <property name="geometry" >
+ <widget class="QWidget" name="PrefDisplayUi">
+  <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>340</width>
+    <width>366</width>
     <height>133</height>
    </rect>
   </property>
-  <property name="windowTitle" >
+  <property name="windowTitle">
    <string/>
   </property>
-  <layout class="QGridLayout" name="gridLayout" >
-   <item row="0" column="0" colspan="2" >
-    <widget class="QCheckBox" name="displayGraphicsCB" >
-     <property name="text" >
+  <layout class="QGridLayout" name="gridLayout">
+   <item row="0" column="0" colspan="2">
+    <widget class="QCheckBox" name="displayGraphicsCB">
+     <property name="text">
       <string>Display &amp;Graphics</string>
      </property>
     </widget>
    </item>
-   <item rowspan="2" row="0" column="2" >
-    <spacer>
-     <property name="orientation" >
+   <item row="0" column="4" rowspan="3">
+    <spacer name="spacer_1">
+     <property name="orientation">
       <enum>Qt::Horizontal</enum>
      </property>
-     <property name="sizeHint" stdset="0" >
+     <property name="sizeHint" stdset="0">
       <size>
-       <width>40</width>
-       <height>20</height>
+       <width>67</width>
+       <height>88</height>
       </size>
      </property>
     </spacer>
    </item>
-   <item row="1" column="0" >
-    <widget class="QLabel" name="instantPreviewLA" >
-     <property name="text" >
+   <item row="1" column="0">
+    <widget class="QLabel" name="instantPreviewLA">
+     <property name="text">
       <string>Instant &amp;Preview:</string>
      </property>
-     <property name="buddy" >
+     <property name="buddy">
       <cstring>instantPreviewCO</cstring>
      </property>
     </widget>
    </item>
-   <item row="1" column="1" >
-    <widget class="QComboBox" name="instantPreviewCO" >
+   <item row="1" column="1">
+    <widget class="QComboBox" name="instantPreviewCO">
      <item>
-      <property name="text" >
+      <property name="text">
        <string>Off</string>
       </property>
      </item>
      <item>
-      <property name="text" >
+      <property name="text">
        <string>No math</string>
       </property>
      </item>
      <item>
-      <property name="text" >
+      <property name="text">
        <string>On</string>
       </property>
      </item>
     </widget>
    </item>
-   <item row="2" column="0" colspan="2" >
-    <spacer>
-     <property name="orientation" >
+   <item row="1" column="2">
+    <widget class="QLabel" name="previewSizeLA">
+     <property name="text">
+      <string>Preview Si&amp;ze:</string>
+     </property>
+     <property name="buddy">
+      <cstring>instantPreviewCO</cstring>
+     </property>
+    </widget>
+   </item>
+   <item row="1" column="3">
+    <widget class="QDoubleSpinBox" name="previewSizeSB">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="toolTip">
+      <string>factor for the preview size</string>
+     </property>
+     <property name="decimals">
+      <number>1</number>
+     </property>
+     <property name="minimum">
+      <double>0.100000000000000</double>
+     </property>
+     <property name="maximum">
+      <double>10.000000000000000</double>
+     </property>
+     <property name="singleStep">
+      <double>0.100000000000000</double>
+     </property>
+     <property name="value">
+      <double>1.000000000000000</double>
+     </property>
+    </widget>
+   </item>
+   <item row="2" column="0">
+    <spacer name="spacer_2">
+     <property name="orientation">
       <enum>Qt::Vertical</enum>
      </property>
-     <property name="sizeType" >
+     <property name="sizeType">
       <enum>QSizePolicy::Expanding</enum>
      </property>
-     <property name="sizeHint" stdset="0" >
+     <property name="sizeHint" stdset="0">
       <size>
        <width>20</width>
        <height>20</height>
@@ -84,7 +122,7 @@
   <tabstop>instantPreviewCO</tabstop>
  </tabstops>
  <includes>
-  <include location="local" >qt_i18n.h</include>
+  <include location="local">qt_i18n.h</include>
  </includes>
  <resources/>
  <connections/>
Index: src/graphics/PreviewLoader.cpp
===================================================================
--- src/graphics/PreviewLoader.cpp	(revision 31424)
+++ src/graphics/PreviewLoader.cpp	(working copy)
@@ -390,7 +390,7 @@
 	: parent_(p), buffer_(b), font_scaling_factor_(0.0)
 {
 	font_scaling_factor_ = 0.01 * lyxrc.dpi * lyxrc.zoom *
-		convert<double>(lyxrc.preview_scale_factor);
+		lyxrc.preview_scale_factor;
 
 	LYXERR(Debug::GRAPHICS, "The font scaling factor is "
 				<< font_scaling_factor_);
Index: src/LyXRC.cpp
===================================================================
--- src/LyXRC.cpp	(revision 31424)
+++ src/LyXRC.cpp	(working copy)
@@ -296,7 +296,7 @@
 	label_init_length = 3;
 	preview = PREVIEW_OFF;
 	preview_hashed_labels  = false;
-	preview_scale_factor = "0.9";
+	preview_scale_factor = 1.0;
 	use_converter_cache = true;
 	use_tooltip = true;
 	use_pixmap_cache = false;
Index: src/LyXRC.h
===================================================================
--- src/LyXRC.h	(revision 31424)
+++ src/LyXRC.h	(working copy)
@@ -405,7 +405,7 @@
 	///
 	bool preview_hashed_labels;
 	///
-	std::string preview_scale_factor;
+	double preview_scale_factor;
 	/// user name
 	std::string user_name;
 	/// user email

Reply via email to