diff --git a/src/neochatconfig.kcfg b/src/neochatconfig.kcfg
index 09efb4049..072b2f721 100644
--- a/src/neochatconfig.kcfg
+++ b/src/neochatconfig.kcfg
@@ -4,6 +4,7 @@
xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+ Kirigami/PlatformTheme
@@ -102,6 +103,13 @@
true
+
+
+
+ Kirigami::PlatformTheme theme;
+
+ theme.defaultFont()
+
diff --git a/src/qml/Component/Timeline/RichLabel.qml b/src/qml/Component/Timeline/RichLabel.qml
index 6a623c40a..dcb7ec40d 100644
--- a/src/qml/Component/Timeline/RichLabel.qml
+++ b/src/qml/Component/Timeline/RichLabel.qml
@@ -80,7 +80,7 @@ a{
color: Kirigami.Theme.textColor
selectedTextColor: Kirigami.Theme.highlightedTextColor
selectionColor: Kirigami.Theme.highlightColor
- font.pointSize: model.reply === undefined && isEmoji.test(model.display) ? Kirigami.Theme.defaultFont.pointSize * 4 : Kirigami.Theme.defaultFont.pointSize
+ font.pointSize: model.reply === undefined && isEmoji.test(model.display) ? Config.defaultFont.pointSize * 4 : Config.defaultFont.pointSize
selectByMouse: !Kirigami.Settings.isMobile
readOnly: true
wrapMode: Text.Wrap
diff --git a/src/qml/Component/Timeline/StateComponent.qml b/src/qml/Component/Timeline/StateComponent.qml
index f6df3e455..668cbedf2 100644
--- a/src/qml/Component/Timeline/StateComponent.qml
+++ b/src/qml/Component/Timeline/StateComponent.qml
@@ -40,6 +40,7 @@ RowLayout {
id: label
Layout.alignment: Qt.AlignVCenter
Layout.fillWidth: true
+ font.pointSize: Config.defaultFont.pointSize
wrapMode: Text.WordWrap
textFormat: Text.RichText
onLinkActivated: linkClicked(link)
diff --git a/src/qml/Component/Timeline/StateDelegate.qml b/src/qml/Component/Timeline/StateDelegate.qml
index 71a1767e8..f0a74d3c1 100644
--- a/src/qml/Component/Timeline/StateDelegate.qml
+++ b/src/qml/Component/Timeline/StateDelegate.qml
@@ -92,6 +92,7 @@ QQC2.Control {
visible: columnLayout.folded
text: aggregateDisplay
+ font.pointSize: Config.defaultFont.pointSize
elide: Qt.ElideRight
textFormat: Text.RichText
wrapMode: Text.WordWrap
diff --git a/src/qml/Component/Timeline/TimelineContainer.qml b/src/qml/Component/Timeline/TimelineContainer.qml
index 62f2b85f0..b71287a87 100644
--- a/src/qml/Component/Timeline/TimelineContainer.qml
+++ b/src/qml/Component/Timeline/TimelineContainer.qml
@@ -213,7 +213,10 @@ ColumnLayout {
text: visible ? author.displayName : ""
textFormat: Text.PlainText
- font.weight: Font.Bold
+ font {
+ weight: Font.Bold
+ pointSize: Config.defaultFont.pointSize
+ }
color: author.color
elide: Text.ElideRight
MouseArea {
@@ -234,6 +237,8 @@ ColumnLayout {
id: timeLabel
text: visible ? model.time.toLocaleTimeString(Qt.locale(), Locale.ShortFormat) : ""
+
+ font.pointSize: Config.defaultFont.pointSize
color: Kirigami.Theme.disabledTextColor
QQC2.ToolTip.visible: hoverHandler.hovered
QQC2.ToolTip.text: model.time.toLocaleString(Qt.locale(), Locale.LongFormat)
diff --git a/src/qml/Settings/AppearanceSettingsPage.qml b/src/qml/Settings/AppearanceSettingsPage.qml
index a6ee18e8d..24f81b2bf 100644
--- a/src/qml/Settings/AppearanceSettingsPage.qml
+++ b/src/qml/Settings/AppearanceSettingsPage.qml
@@ -4,6 +4,7 @@
import QtQuick 2.15
import QtQuick.Controls 2.15 as QQC2
+import QtQuick.Dialogs 1.3
import QtQuick.Layouts 1.15
import org.kde.kirigami 2.15 as Kirigami
@@ -211,18 +212,38 @@ Kirigami.ScrollablePage {
Config.save();
}
}
-
+
MobileForm.FormDelegateSeparator { above: compactRoomListDelegate ; below: colorSchemeDelegate.item ; visible: colorSchemeDelegate.visible }
-
+
Loader {
id: colorSchemeDelegate
visible: item !== null && Qt.platform.os !== "android"
source: "qrc:/ColorScheme.qml"
Layout.fillWidth: true
}
+
+ MobileForm.FormDelegateSeparator { below: colorSchemeDelegate.visible ? colorSchemeDelegate.item : compactRoomListDelegate; above: fontSelector }
+
+ MobileForm.FormButtonDelegate {
+ id: fontSelector
+ text: i18n("Font in chat")
+ description: Config.defaultFont.family + " " + Config.defaultFont.pointSize + "pt"
+ onClicked: fontDialog.open()
+
+ FontDialog {
+ id: fontDialog
+ title: i18n("Please choose a font")
+ font: Config.defaultFont
+ monospacedFonts: false
+ onAccepted: {
+ Config.defaultFont = font;
+ Config.save();
+ }
+ }
+ }
}
}
-
+
MobileForm.FormCard {
Layout.topMargin: Kirigami.Units.largeSpacing
Layout.fillWidth: true