separate font zoom from font size

Introduce "Reset Font Size" action, bound to Ctrl+0
This commit is contained in:
mae
2009-11-30 19:00:36 +01:00
parent 85b6ee648c
commit d6e4a787d5
13 changed files with 116 additions and 18 deletions

View File

@@ -39,6 +39,7 @@
static const char *fontFamilyKey = "FontFamily";
static const char *fontSizeKey = "FontSize";
static const char *fontZoomKey= "FontZoom";
static const char *antialiasKey = "FontAntialias";
static const char *schemeFileNameKey = "ColorScheme";
@@ -65,6 +66,7 @@ namespace TextEditor {
FontSettings::FontSettings() :
m_family(defaultFixedFontFamily()),
m_fontSize(DEFAULT_FONT_SIZE),
m_fontZoom(100),
m_antialias(DEFAULT_ANTIALIAS)
{
}
@@ -73,6 +75,7 @@ void FontSettings::clear()
{
m_family = defaultFixedFontFamily();
m_fontSize = DEFAULT_FONT_SIZE;
m_fontZoom = 100;
m_antialias = DEFAULT_ANTIALIAS;
m_scheme.clear();
}
@@ -87,6 +90,9 @@ void FontSettings::toSettings(const QString &category,
if (m_fontSize != DEFAULT_FONT_SIZE || s->contains(QLatin1String(fontSizeKey)))
s->setValue(QLatin1String(fontSizeKey), m_fontSize);
if (m_fontZoom!= 100 || s->contains(QLatin1String(fontZoomKey)))
s->setValue(QLatin1String(fontZoomKey), m_fontZoom);
if (m_antialias != DEFAULT_ANTIALIAS || s->contains(QLatin1String(antialiasKey)))
s->setValue(QLatin1String(antialiasKey), m_antialias);
@@ -110,6 +116,7 @@ bool FontSettings::fromSettings(const QString &category,
m_family = s->value(group + QLatin1String(fontFamilyKey), defaultFixedFontFamily()).toString();
m_fontSize = s->value(group + QLatin1String(fontSizeKey), m_fontSize).toInt();
m_fontZoom= s->value(group + QLatin1String(fontZoomKey), m_fontZoom).toInt();
m_antialias = s->value(group + QLatin1String(antialiasKey), DEFAULT_ANTIALIAS).toBool();
if (s->contains(group + QLatin1String(schemeFileNameKey))) {
@@ -144,6 +151,7 @@ bool FontSettings::equals(const FontSettings &f) const
return m_family == f.m_family
&& m_schemeFileName == f.m_schemeFileName
&& m_fontSize == f.m_fontSize
&& m_fontZoom == f.m_fontZoom
&& m_antialias == f.m_antialias
&& m_scheme == f.m_scheme;
}
@@ -160,7 +168,7 @@ QTextCharFormat FontSettings::toTextCharFormat(const QString &category) const
if (category == textCategory) {
tf.setFontFamily(m_family);
tf.setFontPointSize(m_fontSize);
tf.setFontPointSize(m_fontSize * m_fontZoom / 100);
tf.setFontStyleStrategy(m_antialias ? QFont::PreferAntialias : QFont::NoAntialias);
}
@@ -213,6 +221,19 @@ void FontSettings::setFontSize(int size)
m_fontSize = size;
}
/**
* Returns the configured font zoom factor in percent.
*/
int FontSettings::fontZoom() const
{
return m_fontZoom;
}
void FontSettings::setFontZoom(int zoom)
{
m_fontZoom = zoom;
}
/**
* Returns the configured antialiasing behavior.
*/