From 30429d9058dec095d190ef18429b355b56be6384 Mon Sep 17 00:00:00 2001 From: Laurent Montel Date: Wed, 10 Dec 2025 13:24:41 +0100 Subject: [PATCH] [LineEdit] add font-italic support --- .../content/docs/reference/std-widgets/views/lineedit.mdx | 5 +++++ internal/compiler/widgets/common/lineedit-base.slint | 1 + internal/compiler/widgets/cosmic/lineedit.slint | 1 + internal/compiler/widgets/cupertino/lineedit.slint | 1 + internal/compiler/widgets/fluent/lineedit.slint | 1 + internal/compiler/widgets/material/lineedit.slint | 1 + internal/compiler/widgets/qt/lineedit.slint | 1 + tests/cases/widgets/lineedit.slint | 7 +++++++ 8 files changed, 18 insertions(+) diff --git a/docs/astro/src/content/docs/reference/std-widgets/views/lineedit.mdx b/docs/astro/src/content/docs/reference/std-widgets/views/lineedit.mdx index df0a1d8d0c..da3afc5ad1 100644 --- a/docs/astro/src/content/docs/reference/std-widgets/views/lineedit.mdx +++ b/docs/astro/src/content/docs/reference/std-widgets/views/lineedit.mdx @@ -43,6 +43,11 @@ The size of the font of the input text The font family of the input text +### font-italic + +The italic state of the font of the input text + + ### has-focus Set to true when the line edit currently has the focus diff --git a/internal/compiler/widgets/common/lineedit-base.slint b/internal/compiler/widgets/common/lineedit-base.slint index 51529a3840..573d619bbf 100644 --- a/internal/compiler/widgets/common/lineedit-base.slint +++ b/internal/compiler/widgets/common/lineedit-base.slint @@ -5,6 +5,7 @@ export component LineEditBase inherits Rectangle { in property placeholder-text; in property font-size <=> text-input.font-size; in property font-family <=> text-input.font-family; + in property font-italic <=> text-input.font-italic; in-out property text <=> text-input.text; in-out property placeholder-color; in property enabled <=> text-input.enabled; diff --git a/internal/compiler/widgets/cosmic/lineedit.slint b/internal/compiler/widgets/cosmic/lineedit.slint index 58e97c20ac..570139e086 100644 --- a/internal/compiler/widgets/cosmic/lineedit.slint +++ b/internal/compiler/widgets/cosmic/lineedit.slint @@ -9,6 +9,7 @@ export component LineEdit { in property input-type; in property horizontal-alignment <=> base.horizontal-alignment; in property read-only <=> base.read-only; + in property font-italic <=> base.font-italic; in property font-family <=> base.font-family; in property font-size <=> base.font-size; in property placeholder-text <=> base.placeholder-text; diff --git a/internal/compiler/widgets/cupertino/lineedit.slint b/internal/compiler/widgets/cupertino/lineedit.slint index 6806b8ef2f..3eb621d2d6 100644 --- a/internal/compiler/widgets/cupertino/lineedit.slint +++ b/internal/compiler/widgets/cupertino/lineedit.slint @@ -11,6 +11,7 @@ export component LineEdit { in property horizontal-alignment <=> base.horizontal-alignment; in property read-only <=> base.read-only; in property font-size <=> base.font-size; + in property font-italic <=> base.font-italic; in property font-family <=> base.font-family; in property placeholder-text <=> base.placeholder-text; out property has-focus <=> base.has-focus; diff --git a/internal/compiler/widgets/fluent/lineedit.slint b/internal/compiler/widgets/fluent/lineedit.slint index 1cf5050630..444ffed9d6 100644 --- a/internal/compiler/widgets/fluent/lineedit.slint +++ b/internal/compiler/widgets/fluent/lineedit.slint @@ -11,6 +11,7 @@ export component LineEdit { in property read-only <=> base.read-only; in property font-size <=> base.font-size; in property font-family <=> base.font-family; + in property font-italic <=> base.font-italic; in property placeholder-text <=> base.placeholder-text; out property has-focus <=> base.has-focus; in-out property text <=> base.text; diff --git a/internal/compiler/widgets/material/lineedit.slint b/internal/compiler/widgets/material/lineedit.slint index 4e6dd487be..ae75df0af0 100644 --- a/internal/compiler/widgets/material/lineedit.slint +++ b/internal/compiler/widgets/material/lineedit.slint @@ -8,6 +8,7 @@ import { LineEditBase, LineEditClearIcon, LineEditPasswordIcon } from "../common export component LineEdit { in property font-size <=> base.font-size; in property font-family <=> base.font-family; + in property font-italic <=> base.font-italic; in property placeholder-text <=> base.placeholder-text; in property enabled <=> base.enabled; in property input-type; diff --git a/internal/compiler/widgets/qt/lineedit.slint b/internal/compiler/widgets/qt/lineedit.slint index 3f401a4cac..aaceff17db 100644 --- a/internal/compiler/widgets/qt/lineedit.slint +++ b/internal/compiler/widgets/qt/lineedit.slint @@ -7,6 +7,7 @@ export component LineEdit { in property font-size <=> inner.font-size; in property font-family <=> inner.font-family; in property placeholder-text <=> inner.placeholder-text; + in property font-italic <=> inner.font-italic; in property input-type; in property horizontal-alignment <=> inner.horizontal-alignment; in property read-only <=> inner.read-only; diff --git a/tests/cases/widgets/lineedit.slint b/tests/cases/widgets/lineedit.slint index e4daacb149..49d63f9294 100644 --- a/tests/cases/widgets/lineedit.slint +++ b/tests/cases/widgets/lineedit.slint @@ -14,6 +14,7 @@ export component TestCase inherits Window { in-out property text <=> edit1.text; in-out property read-only <=> edit1.read-only; in-out property enabled <=> edit1.enabled; + in-out property font-italic <=> edit1.font-italic; in-out property font-family <=> edit1.font-family; public function select-all() { edit1.select-all(); @@ -65,6 +66,12 @@ assert_eq!(instance.get_text(), "Hellođź‘‹"); instance.set_font_family("sans-sherif".into()); assert_eq!(instance.get_font_family(), "sans-sherif"); +// Font Italic +assert_eq!(instance.get_font_italic(), false); +instance.set_font_italic(true); +assert_eq!(instance.get_font_italic(), true); + + ``` */