Author: spitz
Date: Wed Dec 29 14:50:22 2010
New Revision: 37035
URL: http://www.lyx.org/trac/changeset/37035
Log:
* GuiPrefs.{cpp,h}:
- update screen font sizes in dialog after prefs change, since the
localization of float values might have changed.
(fixes bug 6771).
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 Wed Dec 29 12:22:48
2010 (r37034)
+++ lyx-devel/trunk/src/frontends/qt4/GuiPrefs.cpp Wed Dec 29 14:50:22
2010 (r37035)
@@ -1003,6 +1003,18 @@
selectTypewriter(screenTypewriterCO->currentText());
screenZoomSB->setValue(rc.zoom);
+ updateScreenFontSizes(rc);
+
+ pixmapCacheCB->setChecked(rc.use_pixmap_cache);
+#if defined(Q_WS_X11)
+ pixmapCacheCB->setEnabled(false);
+#endif
+
+}
+
+
+void PrefScreenFonts::updateScreenFontSizes(LyXRC const & rc)
+{
doubleToWidget(screenTinyED, rc.font_sizes[FONT_SIZE_TINY]);
doubleToWidget(screenSmallestED, rc.font_sizes[FONT_SIZE_SCRIPT]);
doubleToWidget(screenSmallerED, rc.font_sizes[FONT_SIZE_FOOTNOTE]);
@@ -1013,12 +1025,6 @@
doubleToWidget(screenLargestED, rc.font_sizes[FONT_SIZE_LARGEST]);
doubleToWidget(screenHugeED, rc.font_sizes[FONT_SIZE_HUGE]);
doubleToWidget(screenHugerED, rc.font_sizes[FONT_SIZE_HUGER]);
-
- pixmapCacheCB->setChecked(rc.use_pixmap_cache);
-#if defined(Q_WS_X11)
- pixmapCacheCB->setEnabled(false);
-#endif
-
}
@@ -3077,7 +3083,10 @@
addModule(new PrefUserInterface(this));
addModule(new PrefEdit(this));
addModule(new PrefShortcuts(this));
- addModule(new PrefScreenFonts(this));
+ PrefScreenFonts * screenfonts = new PrefScreenFonts(this);
+ connect(this, SIGNAL(prefsApplied(LyXRC const &)),
+ screenfonts, SLOT(updateScreenFontSizes(LyXRC const
&)));
+ addModule(screenfonts);
addModule(new PrefColors(this));
addModule(new PrefDisplay(this));
addModule(new PrefInput(this));
@@ -3185,6 +3194,9 @@
ostringstream ss;
rc_.write(ss, true);
dispatch(FuncRequest(LFUN_LYXRC_APPLY, ss.str()));
+ // issue prefsApplied signal. This will update the
+ // localized screen font sizes.
+ prefsApplied(rc_);
// FIXME: these need lfuns
// FIXME UNICODE
Author const & author =
Modified: lyx-devel/trunk/src/frontends/qt4/GuiPrefs.h
==============================================================================
--- lyx-devel/trunk/src/frontends/qt4/GuiPrefs.h Wed Dec 29 12:22:48
2010 (r37034)
+++ lyx-devel/trunk/src/frontends/qt4/GuiPrefs.h Wed Dec 29 14:50:22
2010 (r37035)
@@ -71,6 +71,9 @@
public Q_SLOTS:
void change_adaptor();
+Q_SIGNALS:
+ void prefsApplied(LyXRC const & rc);
+
public:
/// Apply changes
void applyView();
@@ -240,6 +243,9 @@
void selectRoman(const QString&);
void selectSans(const QString&);
void selectTypewriter(const QString&);
+
+public Q_SLOTS:
+ void updateScreenFontSizes(LyXRC const & rc);
};