From 0544f23c570d69a5e78cf30de17f1b7e67b68098 Mon Sep 17 00:00:00 2001 From: lexiaoyao2 Date: Mon, 1 Sep 2025 22:02:48 +0800 Subject: [PATCH] fix button font style for picker dialog Signed-off-by: lexiaoyao2 Change-Id: I4b45f6d13cd04ced9d28f7d200e3f223a8a71c34 --- .../implementation/calendar_picker_dialog_accessor.cpp | 8 ++++++-- .../native/implementation/date_picker_dialog_accessor.cpp | 8 ++++++-- .../native/implementation/text_picker_dialog_accessor.cpp | 8 ++++++-- .../native/implementation/time_picker_dialog_accessor.cpp | 8 ++++++-- frameworks/core/interfaces/native/utility/converter.cpp | 1 + 5 files changed, 25 insertions(+), 8 deletions(-) diff --git a/frameworks/core/interfaces/native/implementation/calendar_picker_dialog_accessor.cpp b/frameworks/core/interfaces/native/implementation/calendar_picker_dialog_accessor.cpp index af9ab6614de..f2df88a9a6e 100644 --- a/frameworks/core/interfaces/native/implementation/calendar_picker_dialog_accessor.cpp +++ b/frameworks/core/interfaces/native/implementation/calendar_picker_dialog_accessor.cpp @@ -102,11 +102,15 @@ std::vector BuildButtonInfos(const Ark_CalendarDialogOptions options std::vector buttonInfos; auto acceptButtonInfo = Converter::OptConvert(options.acceptButtonStyle); if (acceptButtonInfo.has_value()) { - buttonInfos.push_back(acceptButtonInfo.value()); + buttonInfos.emplace_back(acceptButtonInfo.value()); + buttonInfos[0].isAcceptButton = true; + } else { + ButtonInfo buttonInfo; + buttonInfos.emplace_back(buttonInfo); } auto cancelButtonInfo = Converter::OptConvert(options.cancelButtonStyle); if (cancelButtonInfo.has_value()) { - buttonInfos.push_back(cancelButtonInfo.value()); + buttonInfos.emplace_back(cancelButtonInfo.value()); } return buttonInfos; } diff --git a/frameworks/core/interfaces/native/implementation/date_picker_dialog_accessor.cpp b/frameworks/core/interfaces/native/implementation/date_picker_dialog_accessor.cpp index d58cb9e72c9..971c41c8e9f 100644 --- a/frameworks/core/interfaces/native/implementation/date_picker_dialog_accessor.cpp +++ b/frameworks/core/interfaces/native/implementation/date_picker_dialog_accessor.cpp @@ -244,11 +244,15 @@ std::vector BuildButtonInfos(const Ark_DatePickerDialogOptions& opti std::vector buttonInfos; auto acceptButtonInfo = Converter::OptConvert(options.acceptButtonStyle); if (acceptButtonInfo.has_value()) { - buttonInfos.push_back(acceptButtonInfo.value()); + buttonInfos.emplace_back(acceptButtonInfo.value()); + buttonInfos[0].isAcceptButton = true; + } else { + ButtonInfo buttonInfo; + buttonInfos.emplace_back(buttonInfo); } auto cancelButtonInfo = Converter::OptConvert(options.cancelButtonStyle); if (cancelButtonInfo.has_value()) { - buttonInfos.push_back(cancelButtonInfo.value()); + buttonInfos.emplace_back(cancelButtonInfo.value()); } return buttonInfos; } diff --git a/frameworks/core/interfaces/native/implementation/text_picker_dialog_accessor.cpp b/frameworks/core/interfaces/native/implementation/text_picker_dialog_accessor.cpp index 2acdb8b1337..5ccf71bcaf2 100644 --- a/frameworks/core/interfaces/native/implementation/text_picker_dialog_accessor.cpp +++ b/frameworks/core/interfaces/native/implementation/text_picker_dialog_accessor.cpp @@ -309,11 +309,15 @@ std::vector BuildButtonInfos(const Ark_TextPickerDialogOptions& opti std::vector buttonInfos; auto acceptButtonInfo = Converter::OptConvert(options.acceptButtonStyle); if (acceptButtonInfo.has_value()) { - buttonInfos.push_back(acceptButtonInfo.value()); + buttonInfos.emplace_back(acceptButtonInfo.value()); + buttonInfos[0].isAcceptButton = true; + } else { + ButtonInfo buttonInfo; + buttonInfos.emplace_back(buttonInfo); } auto cancelButtonInfo = Converter::OptConvert(options.cancelButtonStyle); if (cancelButtonInfo.has_value()) { - buttonInfos.push_back(cancelButtonInfo.value()); + buttonInfos.emplace_back(cancelButtonInfo.value()); } return buttonInfos; } diff --git a/frameworks/core/interfaces/native/implementation/time_picker_dialog_accessor.cpp b/frameworks/core/interfaces/native/implementation/time_picker_dialog_accessor.cpp index a4388e28c04..733f11d632b 100644 --- a/frameworks/core/interfaces/native/implementation/time_picker_dialog_accessor.cpp +++ b/frameworks/core/interfaces/native/implementation/time_picker_dialog_accessor.cpp @@ -159,11 +159,15 @@ std::vector BuildButtonInfos(const Ark_TimePickerDialogOptions& opti std::vector buttonInfos; auto acceptButtonInfo = Converter::OptConvert(options.acceptButtonStyle); if (acceptButtonInfo.has_value()) { - buttonInfos.push_back(acceptButtonInfo.value()); + buttonInfos.emplace_back(acceptButtonInfo.value()); + buttonInfos[0].isAcceptButton = true; + } else { + ButtonInfo buttonInfo; + buttonInfos.emplace_back(buttonInfo); } auto cancelButtonInfo = Converter::OptConvert(options.cancelButtonStyle); if (cancelButtonInfo.has_value()) { - buttonInfos.push_back(cancelButtonInfo.value()); + buttonInfos.emplace_back(cancelButtonInfo.value()); } return buttonInfos; } diff --git a/frameworks/core/interfaces/native/utility/converter.cpp b/frameworks/core/interfaces/native/utility/converter.cpp index 7979228fd11..8c3f3c08777 100644 --- a/frameworks/core/interfaces/native/utility/converter.cpp +++ b/frameworks/core/interfaces/native/utility/converter.cpp @@ -2539,6 +2539,7 @@ ButtonInfo Convert(const Ark_PickerDialogButtonStyle& src) info.fontFamily = fontfamiliesOpt->families; } info.fontWeight = OptConvert(src.fontWeight); + info.fontStyle = OptConvert(src.fontStyle); info.backgroundColor = OptConvert(src.backgroundColor); info.borderRadius = OptConvert(src.borderRadius); -- Gitee