diff --git a/frameworks/bridge/declarative_frontend/jsview/js_checkbox.cpp b/frameworks/bridge/declarative_frontend/jsview/js_checkbox.cpp index 07f097ed4f7a7bacd4dbd6a597bc444f5273fa00..090b3c4298e94e921eb63ee3df82ed02c5c18b62 100644 --- a/frameworks/bridge/declarative_frontend/jsview/js_checkbox.cpp +++ b/frameworks/bridge/declarative_frontend/jsview/js_checkbox.cpp @@ -189,10 +189,10 @@ void JSCheckbox::SelectedColor(const JSCallbackInfo& info) return; } Color selectedColor; + auto theme = GetTheme(); if (!ParseJsColor(info[0], selectedColor)) { - return; + selectedColor = theme->GetActiveColor(); } - CheckBoxModel::GetInstance()->SetSelectedColor(selectedColor); } diff --git a/frameworks/bridge/declarative_frontend/jsview/js_checkboxgroup.cpp b/frameworks/bridge/declarative_frontend/jsview/js_checkboxgroup.cpp index 0fb1e4df32b52ad65b77f6a15dded798dfc966b3..8e8b828c23de19eab395d2e759ba11dc19947c78 100644 --- a/frameworks/bridge/declarative_frontend/jsview/js_checkboxgroup.cpp +++ b/frameworks/bridge/declarative_frontend/jsview/js_checkboxgroup.cpp @@ -198,8 +198,9 @@ void JSCheckboxGroup::SelectedColor(const JSCallbackInfo& info) return; } Color selectedColor; + auto theme = GetTheme(); if (!ParseJsColor(info[0], selectedColor)) { - return; + selectedColor = theme->GetActiveColor(); } CheckBoxGroupModel::GetInstance()->SetSelectedColor(selectedColor); diff --git a/frameworks/bridge/declarative_frontend/jsview/js_search.cpp b/frameworks/bridge/declarative_frontend/jsview/js_search.cpp index a9b2d0437cdecfb94f0b978367d08cd8b99a853b..1cc258741c9ad24f40ac4bed56be21daa0a050d0 100644 --- a/frameworks/bridge/declarative_frontend/jsview/js_search.cpp +++ b/frameworks/bridge/declarative_frontend/jsview/js_search.cpp @@ -412,9 +412,13 @@ void JSSearch::SetPlaceholderFont(const JSCallbackInfo& info) if (!fontSize->IsNull()) { Dimension size; if (!ParseJsDimensionFp(fontSize, size)) { + font.fontSize = Dimension(-1); LOGE("Parse to dimension FP failed."); } else { font.fontSize = size; + if(size.Unit() == DimensionUnit::PERCENT){ + font.fontSize = Dimension(-1); + } } } @@ -507,9 +511,13 @@ void JSSearch::SetTextFont(const JSCallbackInfo& info) if (!fontSize->IsNull()) { Dimension size; if (!ParseJsDimensionFp(fontSize, size)) { + font.fontSize = Dimension(-1); LOGE("Parse to dimension FP failed."); } else { font.fontSize = size; + if(size.Unit() == DimensionUnit::PERCENT){ + font.fontSize = Dimension(-1); + } } } diff --git a/frameworks/bridge/declarative_frontend/jsview/js_textfield.cpp b/frameworks/bridge/declarative_frontend/jsview/js_textfield.cpp index fefe9388595d68cf9910bbd424ea227461f6496a..2aa1cea43e0680565aa3643845ad5454c4945847 100644 --- a/frameworks/bridge/declarative_frontend/jsview/js_textfield.cpp +++ b/frameworks/bridge/declarative_frontend/jsview/js_textfield.cpp @@ -267,9 +267,13 @@ void JSTextField::SetPlaceholderFont(const JSCallbackInfo& info) if (!fontSize->IsNull()) { Dimension size; if (!ParseJsDimensionFp(fontSize, size)) { + font.fontSize = Dimension(-1); LOGE("Parse to dimension FP failed."); } else { font.fontSize = size; + if(size.Unit() == DimensionUnit::PERCENT){ + font.fontSize = Dimension(-1); + } } } diff --git a/frameworks/core/components_ng/pattern/text_field/text_field_pattern.cpp b/frameworks/core/components_ng/pattern/text_field/text_field_pattern.cpp index 477f4124e3e8617aefbf959539ff75a18798139a..e846b569d388bf2b13e79f0c5492421820f84e28 100644 --- a/frameworks/core/components_ng/pattern/text_field/text_field_pattern.cpp +++ b/frameworks/core/components_ng/pattern/text_field/text_field_pattern.cpp @@ -800,9 +800,9 @@ void TextFieldPattern::HandleOnCopy() LOGW("Copy value is empty"); return; } - if (copyOption_ != CopyOptions::None) { + if (layoutProperty->GetCopyOptionsValue(CopyOptions::Distributed) != CopyOptions::None) { LOGI("Copy value is %{private}s", value.c_str()); - clipboard_->SetData(value, copyOption_); + clipboard_->SetData(value, layoutProperty->GetCopyOptionsValue(CopyOptions::Distributed)); } auto host = GetHost(); @@ -898,9 +898,9 @@ void TextFieldPattern::HandleOnCut() } auto value = GetEditingValue(); auto selectedText = value.GetSelectedText(textSelector_.GetStart(), textSelector_.GetEnd()); - if (copyOption_ != CopyOptions::None) { + if (layoutProperty->GetCopyOptionsValue(CopyOptions::Distributed) != CopyOptions::None) { LOGI("Cut value is %{private}s", selectedText.c_str()); - clipboard_->SetData(selectedText, copyOption_); + clipboard_->SetData(selectedText, layoutProperty->GetCopyOptionsValue(CopyOptions::Distributed)); } textEditingValue_.text = textEditingValue_.GetValueBeforePosition(textSelector_.GetStart()) + textEditingValue_.GetValueAfterPosition(textSelector_.GetEnd()); diff --git a/frameworks/core/components_ng/pattern/text_field/text_field_pattern.h b/frameworks/core/components_ng/pattern/text_field/text_field_pattern.h index ac05100d43bdb05cf086acfeb590837579758866..fa93f1cae367720b6ba623a0fc485349f1106d28 100644 --- a/frameworks/core/components_ng/pattern/text_field/text_field_pattern.h +++ b/frameworks/core/components_ng/pattern/text_field/text_field_pattern.h @@ -528,7 +528,6 @@ private: std::vector textBoxes_; ACE_DISALLOW_COPY_AND_MOVE(TextFieldPattern); - CopyOptions copyOption_ = CopyOptions::Distributed; RefPtr clipboard_; std::vector operationRecords_; std::vector redoOperationRecords_; diff --git a/frameworks/core/components_ng/render/drawing_prop_convertor.cpp b/frameworks/core/components_ng/render/drawing_prop_convertor.cpp index 3ad38cfab73fa0413c5e6c407c2c0e7b51cd1cd2..8b108354b9e37fda0ff65d990de683cb8ed6e51e 100644 --- a/frameworks/core/components_ng/render/drawing_prop_convertor.cpp +++ b/frameworks/core/components_ng/render/drawing_prop_convertor.cpp @@ -156,6 +156,10 @@ rosen::TextStyle ToRSTextStyle(const RefPtr& context, const TextSt rsTextStyle.fontWeight_ = ToRSFontWeight(textStyle.GetFontWeight()); rsTextStyle.fontStyle_ = static_cast(textStyle.GetFontStyle()); rsTextStyle.textBaseline_ = static_cast(textStyle.GetTextBaseline()); + rsTextStyle.fontFamilies_ = textStyle.GetFontFamilies(); + LOGI("zhangxiao: rsTextStyle.fontFamilies_: %d", rsTextStyle.fontFamilies_.size()); + LOGI("zhangxiao: rsTextStyle.fontFamilies_: %s", rsTextStyle.fontFamilies_.front().data()); + LOGI("zhangxiao: rsTextStyle.fontFamilies_: %s", rsTextStyle.fontFamilies_.back().data()); if (context) { rsTextStyle.fontSize_ = context->NormalizeToPx(textStyle.GetFontSize()); if (textStyle.IsAllowScale() || textStyle.GetFontSize().Unit() == DimensionUnit::FP) {