diff options
Diffstat (limited to 'raveos-hyprland-theme/theme-data/dms/Widgets/StyledText.qml')
| -rw-r--r-- | raveos-hyprland-theme/theme-data/dms/Widgets/StyledText.qml | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/raveos-hyprland-theme/theme-data/dms/Widgets/StyledText.qml b/raveos-hyprland-theme/theme-data/dms/Widgets/StyledText.qml new file mode 100644 index 0000000..3c07ab1 --- /dev/null +++ b/raveos-hyprland-theme/theme-data/dms/Widgets/StyledText.qml @@ -0,0 +1,49 @@ +import QtQuick +import qs.Common + +Text { + property bool isMonospace: false + + FontLoader { + id: interFont + source: Qt.resolvedUrl("../assets/fonts/inter/InterVariable.ttf") + } + + FontLoader { + id: firaCodeFont + source: Qt.resolvedUrl("../assets/fonts/nerd-fonts/FiraCodeNerdFont-Regular.ttf") + } + + readonly property string resolvedFontFamily: { + const requestedFont = isMonospace ? Theme.monoFontFamily : Theme.fontFamily; + const defaultFont = isMonospace ? Theme.defaultMonoFontFamily : Theme.defaultFontFamily; + + if (requestedFont === defaultFont) { + return isMonospace ? firaCodeFont.name : interFont.name; + } + return requestedFont; + } + + readonly property var standardAnimation: { + "duration": Appearance.anim.durations.normal, + "easing.type": Easing.BezierSpline, + "easing.bezierCurve": Appearance.anim.curves.standard + } + + color: Theme.surfaceText + font.pixelSize: Appearance.fontSize.normal + font.family: resolvedFontFamily + font.weight: Theme.fontWeight + wrapMode: Text.WordWrap + elide: Text.ElideRight + verticalAlignment: Text.AlignVCenter + //renderType: Text.NativeRendering + + Behavior on opacity { + NumberAnimation { + duration: standardAnimation.duration + easing.type: standardAnimation["easing.type"] + easing.bezierCurve: standardAnimation["easing.bezierCurve"] + } + } +} |