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