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 &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 &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&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