From a9fbc99ed572304b344333e569829204e7357043 Mon Sep 17 00:00:00 2001 From: Caisking <3449750381@qq.com> Date: Mon, 24 Jun 2024 14:30:39 +0800 Subject: [PATCH] =?utf8?q?=E6=B6=88=E6=81=AF=E5=A2=9E=E5=8A=A0=E5=88=A0?= =?utf8?q?=E9=99=A4=E6=8C=89=E9=94=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../nativeui/message/src/MessageCardView.cpp | 18 ++++++------- .../message/src/MessageControlPresenter.cpp | 16 +++++++++-- .../nativeui/message/src/MessageItemView.cpp | 4 ++- .../nativeui/message/src/MessageModel.cpp | 5 +++- .../nativeui/message/src/MessagePresenter.cpp | 2 ++ .../nativeui/message/src/MessageView.cpp | 27 +++++++++++++------ 6 files changed, 51 insertions(+), 21 deletions(-) diff --git a/code/sdk/application/wearable/fd230app/nativeui/message/src/MessageCardView.cpp b/code/sdk/application/wearable/fd230app/nativeui/message/src/MessageCardView.cpp index 4f9742bd5..549029069 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/message/src/MessageCardView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/message/src/MessageCardView.cpp @@ -95,19 +95,19 @@ namespace OHOS return false; } MessageList->SetOnClickListener(clickListener); - UIView::OnDragListener *Messagedraglistener = static_cast(MessagePresenter::GetInstance()); -#if 0 - /*删除按键*/ - int top = (MessageModel::GetInstance().GetListNum() * 100); - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "num is %d", top); - InitButtonExt(DeleteButton, 43, top, 380, 100, DELETEALLDATA, STR_CLOSE, 30); - DeleteButton->SetOnClickListener(static_cast(MessagePresenter::GetInstance())); - messageView->Add(DeleteButton); -#endif + UIView::OnDragListener *Messagedraglistener = (UIView::OnDragListener *)(MessageControlPresenter::GetInstance()); + Add(MessageList); MessageList->SetAdapter(p_MessageListAdapter); MessageList->RefreshList(); + /*删除按键*/ + int top = MessageList->GetWidth() + 130; + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "top %d", top); + InitButtonExt(DeleteButton, 43, top, 380, 100, DELETEALLDATA, STR_CLEANALL, 30); + DeleteButton->SetOnClickListener((UIView::OnClickListener *)OHOS::MessageControlPresenter::GetInstance()); + Add(DeleteButton); + SetDraggable(false); SetTouchable(false); initViewStatus = true; diff --git a/code/sdk/application/wearable/fd230app/nativeui/message/src/MessageControlPresenter.cpp b/code/sdk/application/wearable/fd230app/nativeui/message/src/MessageControlPresenter.cpp index aa123a75e..95796656c 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/message/src/MessageControlPresenter.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/message/src/MessageControlPresenter.cpp @@ -1,3 +1,9 @@ +/*** + * @Date: 2024-06-22 11:36:16 + * @LastEditors: Caisking 3449750381@qq.com + * @LastEditTime: 2024-06-24 11:00:22 + * @FilePath: /XTS_FD230/FD230/code/sdk/application/wearable/fd230app/nativeui/message/src/MessageControlPresenter.cpp + */ /*** * @Date: 2024-04-15 10:55:58 * @LastEditors: Caisking 3449750381@qq.com @@ -31,13 +37,19 @@ namespace OHOS WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Error: View is not List"); return false; } - + if (!MessageModel::GetInstance().GetJsonLoadStatus()) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Error: Json data not loaded."); return false; } - + if (strcmp(view.GetViewId(), DELETEALLDATA) == 0) + { + // 执行全部删除操作 + MessageModel::GetInstance().ClearAllData(); + NativeAbility::GetInstance().ChangeSlice(VIEW_APPLIST); + return true; + } // 获取 MessageItemView 并检查索引 MessageItemView *p_MessageItemView = static_cast(&view); if (!p_MessageItemView) diff --git a/code/sdk/application/wearable/fd230app/nativeui/message/src/MessageItemView.cpp b/code/sdk/application/wearable/fd230app/nativeui/message/src/MessageItemView.cpp index f43b38015..5ad8836b1 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/message/src/MessageItemView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/message/src/MessageItemView.cpp @@ -83,6 +83,8 @@ namespace OHOS stitle.SetText(itemInfo.labeltitle.c_str()); smessgae.SetText(itemInfo.labeldetails.c_str()); stime.SetText(itemInfo.labeltime.c_str()); + + // printf("%d %s %s %s\r\n", itemInfo.read, itemInfo.labeltitle.c_str(), itemInfo.labeldetails.c_str(), itemInfo.labeltime.c_str()); } void MessageItemView::SetUpChild() @@ -98,7 +100,7 @@ namespace OHOS smessgae.SetPosition(40, 69, 300, label_length); smessgae.SetLineBreakMode(UILabel::LINE_BREAK_CLIP); - smessgae.SetTextColor(Color::Gray()); + smessgae.SetTextColor(Color::Gray()); smessgae.SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); stime.SetPosition(40, time_top, 300, 33); diff --git a/code/sdk/application/wearable/fd230app/nativeui/message/src/MessageModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/message/src/MessageModel.cpp index 16bd283d4..0e6db03e1 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/message/src/MessageModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/message/src/MessageModel.cpp @@ -146,7 +146,8 @@ namespace OHOS { numberOfItems = messageVector.size(); WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "the numberOfItems is %d", numberOfItems); - for (int i = numberOfItems - 1, count = 0; i >= 0 && count < MaxMessageListCount; i--, count++) + // Messages[numberOfItems] = {numberOfItems, true, "", " 全部删除", ""}; + for (int i = numberOfItems - 1, count = 0; i >= 0 && count < MaxMessageListCount - 1; i--, count++) { MessageData messageData; messageData.isRead = messageVector[i].isRead; @@ -156,7 +157,9 @@ namespace OHOS // PrintData(messageData); // 获取是否读取 来信 信息内容 时间 Messages[count] = {count, messageData.isRead, messageData.labelTitle, messageData.labelDetails, messageData.labelTime}; + // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "the count is %d", count); } + // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "the Messages.Size is %d", Messages.size()); } } const MessageListItem *MessageModel::GetMessageListItems() const diff --git a/code/sdk/application/wearable/fd230app/nativeui/message/src/MessagePresenter.cpp b/code/sdk/application/wearable/fd230app/nativeui/message/src/MessagePresenter.cpp index a7fdbec76..64e8e1190 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/message/src/MessagePresenter.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/message/src/MessagePresenter.cpp @@ -111,6 +111,8 @@ namespace OHOS { if (strcmp(view.GetViewId(), DELETEALLDATA) == 0) { + // 执行全部删除操作 + MessageModel::GetInstance().ClearAllData(); NativeAbility::GetInstance().ChangeSlice(VIEW_APPLIST); return true; } diff --git a/code/sdk/application/wearable/fd230app/nativeui/message/src/MessageView.cpp b/code/sdk/application/wearable/fd230app/nativeui/message/src/MessageView.cpp index 210259d3a..a111702a6 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/message/src/MessageView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/message/src/MessageView.cpp @@ -98,6 +98,16 @@ namespace OHOS delete title; title = nullptr; } + if (title != nullptr) + { + delete title; + title = nullptr; + } + if (DeleteButton != nullptr) + { + delete DeleteButton; + DeleteButton = nullptr; + } if (MessageList != nullptr) { MessageList->RemoveAll(); @@ -204,20 +214,21 @@ namespace OHOS messageView->SetYScrollBarVisible(true); // 设置滑动滚动条 MessageList->SetOnClickListener(static_cast(MessagePresenter::GetInstance())); -#if 0 - /*删除按键*/ - int top = (MessageModel::GetInstance().GetListNum() * 100); - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "num is %d", top); - InitButtonExt(DeleteButton, 43, top, 380, 100, DELETEALLDATA, STR_CLOSE, 30); - DeleteButton->SetOnClickListener(static_cast(MessagePresenter::GetInstance())); - messageView->Add(DeleteButton); -#endif + UIView::OnDragListener *Messagedraglistener = static_cast(MessagePresenter::GetInstance()); if (Messagedraglistener == nullptr) { return; } messageView->SetOnDragListener(Messagedraglistener); + + /*删除按键*/ + int top = MessageList->GetWidth() + 130; + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "top %d", top); + InitButtonExt(DeleteButton, 43, top, 380, 100, DELETEALLDATA, STR_CLEANALL, 30); + DeleteButton->SetOnClickListener(static_cast(MessagePresenter::GetInstance())); + messageView->Add(DeleteButton); + messageView->SetVisible(false); // 隐藏界面 WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ShowmessageView end"); } -- 2.17.1