Author: spitz
Date: Mon Jan  3 18:21:22 2011
New Revision: 37081
URL: http://www.lyx.org/trac/changeset/37081

Log:
Fix UI glitch in the prefs dialog (bug 7190).

Modified:
   lyx-devel/trunk/src/frontends/qt4/GuiPrefs.cpp
   lyx-devel/trunk/src/frontends/qt4/GuiPrefs.h

Modified: lyx-devel/trunk/src/frontends/qt4/GuiPrefs.cpp
==============================================================================
--- lyx-devel/trunk/src/frontends/qt4/GuiPrefs.cpp      Mon Jan  3 18:18:05 
2011        (r37080)
+++ lyx-devel/trunk/src/frontends/qt4/GuiPrefs.cpp      Mon Jan  3 18:21:22 
2011        (r37081)
@@ -1196,28 +1196,34 @@
        connect(instantPreviewCO, SIGNAL(activated(int)), this, 
SIGNAL(changed()));
        connect(previewSizeSB, SIGNAL(valueChanged(double)), this, 
SIGNAL(changed()));
        connect(paragraphMarkerCB, SIGNAL(toggled(bool)), 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);
+       previewSizeSB->setEnabled(index != 0);
+}
+
+
+void PrefDisplay::on_displayGraphicsCB_toggled(bool on)
+{
+       instantPreviewCO->setEnabled(on);
+       previewSizeSB->setEnabled(on && instantPreviewCO->currentIndex() > 0);
 }
 
 
 void PrefDisplay::apply(LyXRC & rc) const
 {
        switch (instantPreviewCO->currentIndex()) {
-               case 0: rc.preview = LyXRC::PREVIEW_OFF; break;
-               case 1: rc.preview = LyXRC::PREVIEW_NO_MATH; break;
-               case 2: rc.preview = LyXRC::PREVIEW_ON; break;
+               case 0:
+                       rc.preview = LyXRC::PREVIEW_OFF;
+                       break;
+               case 1:
+                       rc.preview = LyXRC::PREVIEW_NO_MATH;
+                       break;
+               case 2:
+                       rc.preview = LyXRC::PREVIEW_ON;
+                       break;
        }
 
        rc.display_graphics = displayGraphicsCB->isChecked();
@@ -1252,6 +1258,9 @@
        instantPreviewCO->setEnabled(rc.display_graphics);
        previewSizeSB->setValue(rc.preview_scale_factor);
        paragraphMarkerCB->setChecked(rc.paragraph_markers);
+       previewSizeSB->setEnabled(
+               rc.display_graphics
+               && rc.preview != LyXRC::PREVIEW_OFF);
 }
 
 

Modified: lyx-devel/trunk/src/frontends/qt4/GuiPrefs.h
==============================================================================
--- lyx-devel/trunk/src/frontends/qt4/GuiPrefs.h        Mon Jan  3 18:18:05 
2011        (r37080)
+++ lyx-devel/trunk/src/frontends/qt4/GuiPrefs.h        Mon Jan  3 18:21:22 
2011        (r37081)
@@ -281,6 +281,7 @@
 
 private Q_SLOTS:
        void on_instantPreviewCO_currentIndexChanged(int);
+       void on_displayGraphicsCB_toggled(bool);
 };
 
 

Reply via email to