Added SpellCheckUnderlineStyle theme hint.

Task-number: QTBUG-25115
Change-Id: I70abbed426ad8bebca51823ed5ce16f2f300b5cc
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
This commit is contained in:
Samuel Rødal 2012-06-01 10:32:17 +02:00 committed by Qt by Nokia
parent d728bfe793
commit 1f9ae50457
3 changed files with 13 additions and 2 deletions

View File

@ -86,7 +86,8 @@ public:
DialogButtonBoxButtonsHaveIcons,
UseFullScreenForPopupMenu,
KeyboardScheme,
UiEffects
UiEffects,
SpellCheckUnderlineStyle
};
enum DialogType {

View File

@ -44,6 +44,7 @@
#include <QtCore/QVariant>
#include <QtCore/QStringList>
#include <qpalette.h>
#include <qtextformat.h>
QT_BEGIN_NAMESPACE
@ -101,6 +102,9 @@ QT_BEGIN_NAMESPACE
\value UiEffects (int) A flag value consisting of UiEffect values specifying the enabled UI animations.
\value SpellCheckUnderlineStyle (int) A QTextCharFormat::UnderlineStyle specifying
the underline style used misspelled words when spell checking.
\sa themeHint(), QStyle::pixelMetric()
*/
@ -167,6 +171,8 @@ QVariant QPlatformTheme::themeHint(ThemeHint hint) const
return QVariant(int(WindowsKeyboardScheme));
case UiEffects:
return QVariant(int(0));
case SpellCheckUnderlineStyle:
return QVariant(int(QTextCharFormat::SpellCheckUnderline));
}
return QVariant();
}

View File

@ -61,6 +61,8 @@
#include "qstatictext.h"
#include "qglyphrun.h"
#include <qpa/qplatformtheme.h>
#include <private/qfontengine_p.h>
#include <private/qpaintengine_p.h>
#include <private/qemulationpaintengine_p.h>
@ -6180,7 +6182,9 @@ static void drawTextItemDecoration(QPainter *painter, const QPointF &pos, const
const qreal underlinePos = pos.y() + qCeil(underlineOffset);
if (underlineStyle == QTextCharFormat::SpellCheckUnderline) {
underlineStyle = QTextCharFormat::SpellCheckUnderline; // ### Qt5 QTextCharFormat::UnderlineStyle(QApplication::style()->styleHint(QStyle::SH_SpellCheckUnderlineStyle));
QPlatformTheme *theme = QGuiApplicationPrivate::platformTheme();
if (theme)
underlineStyle = QTextCharFormat::UnderlineStyle(theme->themeHint(QPlatformTheme::SpellCheckUnderlineStyle).toInt());
}
if (underlineStyle == QTextCharFormat::WaveUnderline) {