TextEditor: Add fine control over the color scheme settings

You have seen always all setting but some settings had no meaning
because
only the foreground color is used. Now you can disable this settings so
it
is more clear what you can change.

Change-Id: I0fdd2ac6f40e27b5160a2c54a512289457674dae
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
This commit is contained in:
Marco Bubke
2015-09-21 13:12:36 +02:00
committed by David Schulz
parent b8ae9fd46d
commit 51ed0da5a9
6 changed files with 312 additions and 192 deletions

View File

@@ -227,19 +227,29 @@ FontSettingsPagePrivate::~FontSettingsPagePrivate()
// ------- FormatDescription
FormatDescription::FormatDescription(TextStyle id, const QString &displayName, const QString &tooltipText, const QColor &foreground) :
m_id(id),
m_displayName(displayName),
m_tooltipText(tooltipText)
FormatDescription::FormatDescription(TextStyle id,
const QString &displayName,
const QString &tooltipText,
const QColor &foreground,
FormatDescription::ShowControls showControls)
: m_id(id),
m_displayName(displayName),
m_tooltipText(tooltipText),
m_showControls(showControls)
{
m_format.setForeground(foreground);
}
FormatDescription::FormatDescription(TextStyle id, const QString &displayName, const QString &tooltipText, const Format &format) :
m_id(id),
m_format(format),
m_displayName(displayName),
m_tooltipText(tooltipText)
FormatDescription::FormatDescription(TextStyle id,
const QString &displayName,
const QString &tooltipText,
const Format &format,
FormatDescription::ShowControls showControls)
: m_id(id),
m_format(format),
m_displayName(displayName),
m_tooltipText(tooltipText),
m_showControls(showControls)
{
}
@@ -247,10 +257,12 @@ FormatDescription::FormatDescription(TextStyle id,
const QString &displayName,
const QString &tooltipText,
const QColor &underlineColor,
const QTextCharFormat::UnderlineStyle underlineStyle)
const QTextCharFormat::UnderlineStyle underlineStyle,
FormatDescription::ShowControls showControls)
: m_id(id),
m_displayName(displayName),
m_tooltipText(tooltipText)
m_tooltipText(tooltipText),
m_showControls(showControls)
{
m_format.setForeground(QColor());
m_format.setBackground(QColor());
@@ -258,6 +270,17 @@ FormatDescription::FormatDescription(TextStyle id,
m_format.setUnderlineStyle(underlineStyle);
}
FormatDescription::FormatDescription(TextStyle id,
const QString &displayName,
const QString &tooltipText,
FormatDescription::ShowControls showControls)
: m_id(id),
m_displayName(displayName),
m_tooltipText(tooltipText),
m_showControls(showControls)
{
}
QColor FormatDescription::foreground() const
{
if (m_id == C_LINE_NUMBER) {
@@ -331,6 +354,11 @@ QColor FormatDescription::background() const
return QColor(); // invalid color
}
bool FormatDescription::showControl(FormatDescription::ShowControls showControl) const
{
return m_showControls & showControl;
}
// ------------ FontSettingsPage
FontSettingsPage::FontSettingsPage(const FormatDescriptions &fd,
Core::Id id,