iOS: add system palette

Return a system palette that sets the correct
highligh (text selection) colors.

Change-Id: Ic0a18f931913f28bdc73d9ec4ae347fe38839f17
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
bb10
Richard Moe Gustavsen 2014-10-07 10:29:48 +02:00
parent 183d04de90
commit 707eb8d28d
2 changed files with 13 additions and 0 deletions

View File

@ -35,6 +35,7 @@
#define QIOSTHEME_H
#include <QtCore/QHash>
#include <QtGui/QPalette>
#include <qpa/qplatformtheme.h>
QT_BEGIN_NAMESPACE
@ -45,6 +46,7 @@ public:
QIOSTheme();
~QIOSTheme();
const QPalette *palette(Palette type = SystemPalette) const Q_DECL_OVERRIDE;
QVariant themeHint(ThemeHint hint) const;
QPlatformMenuItem* createPlatformMenuItem() const Q_DECL_OVERRIDE;
@ -56,6 +58,7 @@ public:
private:
mutable QHash<QPlatformTheme::Font, QFont *> m_fonts;
QPalette m_systemPalette;
};
QT_END_NAMESPACE

View File

@ -60,7 +60,10 @@ QT_BEGIN_NAMESPACE
const char *QIOSTheme::name = "ios";
QIOSTheme::QIOSTheme()
: m_systemPalette(*QPlatformTheme::palette(QPlatformTheme::SystemPalette))
{
m_systemPalette.setBrush(QPalette::Highlight, QColor(204, 221, 237));
m_systemPalette.setBrush(QPalette::HighlightedText, Qt::black);
}
QIOSTheme::~QIOSTheme()
@ -68,6 +71,13 @@ QIOSTheme::~QIOSTheme()
qDeleteAll(m_fonts);
}
const QPalette *QIOSTheme::palette(QPlatformTheme::Palette type) const
{
if (type == QPlatformTheme::SystemPalette)
return &m_systemPalette;
return 0;
}
QPlatformMenuItem* QIOSTheme::createPlatformMenuItem() const
{
return new QIOSMenuItem();