From 0ccf4ff7bd6d0a19ef09991f0cb5683fcf7657cf Mon Sep 17 00:00:00 2001 From: zhangxiao150 Date: Fri, 16 Dec 2022 03:05:14 +0000 Subject: [PATCH] =?UTF-8?q?=E3=80=90UI=E7=BB=84=E4=BB=B6=E9=87=8D=E6=9E=84?= =?UTF-8?q?=E3=80=91search=20and=20checkbox=20bug=20fix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zhangxiao150 Change-Id: I7be3fbc85d1ae8577f0069026497e0cc38bb1922 --- .../bridge/declarative_frontend/jsview/js_checkbox.cpp | 4 ++-- .../declarative_frontend/jsview/js_checkboxgroup.cpp | 3 ++- .../bridge/declarative_frontend/jsview/js_search.cpp | 8 ++++++++ .../bridge/declarative_frontend/jsview/js_textfield.cpp | 4 ++++ .../pattern/text_field/text_field_pattern.cpp | 8 ++++---- .../components_ng/pattern/text_field/text_field_pattern.h | 1 - .../core/components_ng/render/drawing_prop_convertor.cpp | 4 ++++ 7 files changed, 24 insertions(+), 8 deletions(-) diff --git a/frameworks/bridge/declarative_frontend/jsview/js_checkbox.cpp b/frameworks/bridge/declarative_frontend/jsview/js_checkbox.cpp index 07f097ed4f7..090b3c4298e 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 0fb1e4df32b..8e8b828c23d 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 a9b2d0437cd..1cc258741c9 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 fefe9388595..2aa1cea43e0 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 477f4124e3e..e846b569d38 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 ac05100d43b..fa93f1cae36 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 3ad38cfab73..8b108354b9e 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) { -- Gitee