Use different font for itegrated backend on windows 8 and 10

This commit is contained in:
Patrick von Reth 2015-08-27 22:48:09 +02:00
parent 029a633515
commit 8262ad85fc
4 changed files with 27 additions and 14 deletions

View File

@ -4,13 +4,12 @@ import QtQuick.Window 2.2
Rectangle { Rectangle {
id: root id: root
signal dismissed()
signal invoked()
width: body.font.pixelSize * 30 width: body.font.pixelSize * 30
height: body.font.pixelSize * 9 height: body.font.pixelSize * 9
signal dismissed()
signal invoked()
function update(nTitle, bBody, nImage, nAppIcon, color, textColor, isUpdate) function update(nTitle, bBody, nImage, nAppIcon, color, textColor, isUpdate)
{ {
title.text = nTitle title.text = nTitle
@ -21,12 +20,14 @@ Rectangle {
image.source = nImage image.source = nImage
root.color = color root.color = color
if (!isUpdate) { if (!isUpdate) {
var corner = window.corner var corner = window.corner
var id = window.id var id = window.id
var space = (id + 1) * height * 0.025 var space = (id + 1) * height * 0.025
console.debug(snoreFont)
console.debug(body.font.family)
animation.target = window animation.target = window
window.y = space + (space + height) * id window.y = space + (space + height) * id
@ -79,6 +80,7 @@ Rectangle {
anchors.left: image.right anchors.left: image.right
anchors.leftMargin: 5 anchors.leftMargin: 5
textFormat: Text.RichText textFormat: Text.RichText
font.family: snoreFont
} }
Text { Text {
@ -98,7 +100,7 @@ Rectangle {
maximumLineCount: height / font.pixelSize - 1 maximumLineCount: height / font.pixelSize - 1
onLinkActivated: Qt.openUrlExternally(link) onLinkActivated: Qt.openUrlExternally(link)
textFormat: Text.RichText textFormat: Text.RichText
font.family: snoreFont
} }
@ -146,5 +148,4 @@ Rectangle {
onClicked: root.dismissed() onClicked: root.dismissed()
} }
} }
} }

View File

@ -24,7 +24,6 @@
using namespace Snore; using namespace Snore;
NotifyWidget::NotifyWidget(int pos, const SnoreNotifier *parent) : NotifyWidget::NotifyWidget(int pos, const SnoreNotifier *parent) :
QQuickView(QUrl::fromEncoded("qrc:/notification.qml")),
m_id(pos), m_id(pos),
m_parent(parent), m_parent(parent),
m_mem(QLatin1String("SnoreNotifyWidget_rev") + QString::number(SHARED_MEM_TYPE_REV()) + QLatin1String("_id") + QString::number(m_id)), m_mem(QLatin1String("SnoreNotifyWidget_rev") + QString::number(SHARED_MEM_TYPE_REV()) + QLatin1String("_id") + QString::number(m_id)),
@ -32,7 +31,22 @@ NotifyWidget::NotifyWidget(int pos, const SnoreNotifier *parent) :
{ {
rootContext()->setContextProperty(QLatin1String("window"), this); rootContext()->setContextProperty(QLatin1String("window"), this);
rootContext()->setContextProperty(QLatin1String("utils"), new Utils(this)); rootContext()->setContextProperty(QLatin1String("utils"), new Utils(this));
m_qmlNotification = rootObject();
QString font;
switch(QSysInfo::windowsVersion()){
case QSysInfo::WV_WINDOWS8:
font = QLatin1String("Segoe UI Symbol");
break;
#if QT_VERSION_CHECK(5,5,0)
case QSysInfo::WV_10_0:
font = QLatin1String("Segoe UI Emoji");
break;
#endif
default:
font = qApp->font().family();
}
rootContext()->setContextProperty(QLatin1String("snoreFont"), font);
setSource(QUrl::fromEncoded("qrc:/notification.qml"));
setFlags(Qt::WindowStaysOnTopHint | Qt::FramelessWindowHint | Qt::WindowSystemMenuHint | Qt::WindowDoesNotAcceptFocus setFlags(Qt::WindowStaysOnTopHint | Qt::FramelessWindowHint | Qt::WindowSystemMenuHint | Qt::WindowDoesNotAcceptFocus
#ifdef Q_OS_MAC #ifdef Q_OS_MAC
@ -63,8 +77,8 @@ NotifyWidget::NotifyWidget(int pos, const SnoreNotifier *parent) :
setResizeMode(QQuickView::SizeViewToRootObject); setResizeMode(QQuickView::SizeViewToRootObject);
connect(m_qmlNotification, SIGNAL(invoked()), this, SLOT(slotInvoked())); connect(rootObject(), SIGNAL(invoked()), this, SLOT(slotInvoked()));
connect(m_qmlNotification, SIGNAL(dismissed()), this, SLOT(slotDismissed())); connect(rootObject(), SIGNAL(dismissed()), this, SLOT(slotDismissed()));
} }
NotifyWidget::~NotifyWidget() NotifyWidget::~NotifyWidget()
@ -86,7 +100,7 @@ void NotifyWidget::display(const Notification &notification)
} }
QRgb gray = qGray(qGray(color.rgb()) - qGray(QColor(Qt::white).rgb())); QRgb gray = qGray(qGray(color.rgb()) - qGray(QColor(Qt::white).rgb()));
QColor textColor = QColor(gray, gray, gray); QColor textColor = QColor(gray, gray, gray);
QMetaObject::invokeMethod(m_qmlNotification, "update", Qt::QueuedConnection, QMetaObject::invokeMethod(rootObject(), "update", Qt::QueuedConnection,
Q_ARG(QVariant, notification.title(Utils::ALL_MARKUP)), Q_ARG(QVariant, notification.title(Utils::ALL_MARKUP)),
Q_ARG(QVariant, notification.text(Utils::ALL_MARKUP)), Q_ARG(QVariant, notification.text(Utils::ALL_MARKUP)),
Q_ARG(QVariant, QUrl::fromLocalFile(notification.icon().localUrl())), Q_ARG(QVariant, QUrl::fromLocalFile(notification.icon().localUrl())),

View File

@ -72,7 +72,6 @@ private:
QColor computeBackgrondColor(const QImage &img); QColor computeBackgrondColor(const QImage &img);
Snore::Notification m_notification; Snore::Notification m_notification;
QObject *m_qmlNotification;
int m_id; int m_id;
const SnoreNotifier *m_parent; const SnoreNotifier *m_parent;
QSharedMemory m_mem; QSharedMemory m_mem;

View File

@ -26,7 +26,6 @@ SnoreNotifierSettings::SnoreNotifierSettings(SnorePlugin *snore, QWidget *parent
PluginSettingsWidget(snore, parent), PluginSettingsWidget(snore, parent),
m_comboBox(new QComboBox) m_comboBox(new QComboBox)
{ {
m_comboBox->addItem(tr("TopLeftCorner"), Qt::TopLeftCorner); m_comboBox->addItem(tr("TopLeftCorner"), Qt::TopLeftCorner);
m_comboBox->addItem(tr("TopRightCorner"), Qt::TopRightCorner); m_comboBox->addItem(tr("TopRightCorner"), Qt::TopRightCorner);
m_comboBox->addItem(tr("BottomLeftCorner"), Qt::BottomLeftCorner); m_comboBox->addItem(tr("BottomLeftCorner"), Qt::BottomLeftCorner);