消息增加删除按键 373/1
authorCaisking <3449750381@qq.com>
Mon, 24 Jun 2024 06:30:39 +0000 (14:30 +0800)
committerCaisking <3449750381@qq.com>
Mon, 24 Jun 2024 06:30:39 +0000 (14:30 +0800)
code/sdk/application/wearable/fd230app/nativeui/message/src/MessageCardView.cpp
code/sdk/application/wearable/fd230app/nativeui/message/src/MessageControlPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/message/src/MessageItemView.cpp
code/sdk/application/wearable/fd230app/nativeui/message/src/MessageModel.cpp
code/sdk/application/wearable/fd230app/nativeui/message/src/MessagePresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/message/src/MessageView.cpp

index 4f9742b..5490290 100644 (file)
@@ -95,19 +95,19 @@ namespace OHOS
             return false;
         }
         MessageList->SetOnClickListener(clickListener);
-        UIView::OnDragListener *Messagedraglistener = static_cast<UIView::OnDragListener *>(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<UIView::OnClickListener *>(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;
index aa123a7..9579665 100644 (file)
@@ -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<MessageItemView *>(&view);
         if (!p_MessageItemView)
index f43b380..5ad8836 100644 (file)
@@ -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);
index 16bd283..0e6db03 100644 (file)
@@ -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
index a7fdbec..64e8e11 100644 (file)
@@ -111,6 +111,8 @@ namespace OHOS
         {
             if (strcmp(view.GetViewId(), DELETEALLDATA) == 0)
             {
+                // 执行全部删除操作
+                MessageModel::GetInstance().ClearAllData();
                 NativeAbility::GetInstance().ChangeSlice(VIEW_APPLIST);
                 return true;
             }
index 210259d..a111702 100644 (file)
@@ -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<UIView::OnClickListener *>(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<UIView::OnClickListener *>(MessagePresenter::GetInstance()));
-        messageView->Add(DeleteButton);
-#endif
+
         UIView::OnDragListener *Messagedraglistener = static_cast<UIView::OnDragListener *>(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<UIView::OnClickListener *>(MessagePresenter::GetInstance()));
+        messageView->Add(DeleteButton);
+
         messageView->SetVisible(false); // 隐藏界面
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ShowmessageView end");
     }