Skip to content

Commit a7a2ff7

Browse files
committed
Fill out styled text type
1 parent b6d3eb8 commit a7a2ff7

File tree

14 files changed

+624
-426
lines changed

14 files changed

+624
-426
lines changed

internal/backends/qt/qt_window.rs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -686,6 +686,16 @@ impl ItemRenderer for QtItemRenderer<'_> {
686686
sharedparley::draw_text(self, text, Some(self_rc), size);
687687
}
688688

689+
fn draw_styled_text(
690+
&mut self,
691+
text: Pin<&i_slint_core::items::StyledText>,
692+
self_rc: &ItemRc,
693+
size: LogicalSize,
694+
_cache: &CachedRenderingData,
695+
) {
696+
sharedparley::draw_styled_text(self, text, Some(self_rc), size);
697+
}
698+
689699
fn draw_text_input(
690700
&mut self,
691701
text_input: Pin<&items::TextInput>,
@@ -2099,6 +2109,16 @@ impl i_slint_core::renderer::RendererSealed for QtWindow {
20992109
sharedparley::text_size(self, text_item, item_rc, max_width, text_wrap)
21002110
}
21012111

2112+
fn styled_text_size(
2113+
&self,
2114+
text_item: Pin<&i_slint_core::items::StyledText>,
2115+
item_rc: &ItemRc,
2116+
max_width: Option<LogicalLength>,
2117+
text_wrap: TextWrap,
2118+
) -> LogicalSize {
2119+
sharedparley::styled_text_size(self, text_item, item_rc, max_width, text_wrap)
2120+
}
2121+
21022122
fn char_size(
21032123
&self,
21042124
text_item: Pin<&dyn i_slint_core::item_rendering::HasFont>,

internal/compiler/expression_tree.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -378,7 +378,7 @@ impl BuiltinFunction {
378378
BuiltinFunction::StopTimer => false,
379379
BuiltinFunction::RestartTimer => false,
380380
BuiltinFunction::OpenUrl => false,
381-
BuiltinFunction::ParseMarkdown | BuiltinFunction::EscapeMarkdown => true,
381+
BuiltinFunction::ParseMarkdown | BuiltinFunction::EscapeMarkdown => false,
382382
}
383383
}
384384

internal/compiler/passes/resolving.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -807,8 +807,9 @@ impl Expression {
807807
pos = end + 1;
808808
literal_start_pos = pos;
809809
}
810-
{
811-
let trailing = Expression::StringLiteral((&string[literal_start_pos..]).into());
810+
let trailing = &string[literal_start_pos..];
811+
if !trailing.is_empty() {
812+
let trailing = Expression::StringLiteral(trailing.into());
812813
expr = Some(match expr {
813814
None => trailing,
814815
Some(expr) => Expression::BinaryExpression {
@@ -835,7 +836,7 @@ impl Expression {
835836
Expression::FunctionCall {
836837
function: BuiltinFunction::ParseMarkdown.into(),
837838
arguments: vec![
838-
expr.unwrap_or_else(|| Expression::default_value_for_type(&Type::String)),
839+
expr.unwrap_or_else(|| Expression::default_value_for_type(&Type::String))
839840
],
840841
source_location: Some(node.to_source_location()),
841842
}

0 commit comments

Comments
 (0)