mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-07-17 06:40:13 +08:00
opt: msg btn action
Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
@@ -34,17 +34,9 @@ class _WhisperPageState extends State<WhisperPage> {
|
|||||||
tooltip: e.hasTitle() ? e.title : null,
|
tooltip: e.hasTitle() ? e.title : null,
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
e.type.action(
|
e.type.action(
|
||||||
context: context,
|
context: context,
|
||||||
onConfirm: () {
|
controller: _controller,
|
||||||
switch (e.type) {
|
);
|
||||||
case ThreeDotItemType.THREE_DOT_ITEM_TYPE_READ_ALL:
|
|
||||||
_controller.onClearUnread();
|
|
||||||
case ThreeDotItemType
|
|
||||||
.THREE_DOT_ITEM_TYPE_CLEAR_LIST:
|
|
||||||
_controller.onDeleteList();
|
|
||||||
default:
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
icon: Icon(size: 20, e.type.icon),
|
icon: Icon(size: 20, e.type.icon),
|
||||||
);
|
);
|
||||||
@@ -60,18 +52,9 @@ class _WhisperPageState extends State<WhisperPage> {
|
|||||||
.map((e) => PopupMenuItem(
|
.map((e) => PopupMenuItem(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
e.type.action(
|
e.type.action(
|
||||||
context: context,
|
context: context,
|
||||||
onConfirm: () {
|
controller: _controller,
|
||||||
switch (e.type) {
|
);
|
||||||
case ThreeDotItemType
|
|
||||||
.THREE_DOT_ITEM_TYPE_READ_ALL:
|
|
||||||
_controller.onClearUnread();
|
|
||||||
case ThreeDotItemType
|
|
||||||
.THREE_DOT_ITEM_TYPE_CLEAR_LIST:
|
|
||||||
_controller.onDeleteList();
|
|
||||||
default:
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
|
|||||||
@@ -43,18 +43,9 @@ class _WhisperSecPageState extends State<WhisperSecPage> {
|
|||||||
.map((e) => PopupMenuItem(
|
.map((e) => PopupMenuItem(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
e.type.action(
|
e.type.action(
|
||||||
context: context,
|
context: context,
|
||||||
onConfirm: () {
|
controller: _controller,
|
||||||
switch (e.type) {
|
);
|
||||||
case ThreeDotItemType
|
|
||||||
.THREE_DOT_ITEM_TYPE_READ_ALL:
|
|
||||||
_controller.onClearUnread();
|
|
||||||
case ThreeDotItemType
|
|
||||||
.THREE_DOT_ITEM_TYPE_CLEAR_LIST:
|
|
||||||
_controller.onDeleteList();
|
|
||||||
default:
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import 'package:PiliPlus/common/widgets/interactiveviewer_gallery/interactivevie
|
|||||||
import 'package:PiliPlus/grpc/bilibili/app/im/v1.pbenum.dart'
|
import 'package:PiliPlus/grpc/bilibili/app/im/v1.pbenum.dart'
|
||||||
show IMSettingType, ThreeDotItemType;
|
show IMSettingType, ThreeDotItemType;
|
||||||
import 'package:PiliPlus/models/common/image_preview_type.dart';
|
import 'package:PiliPlus/models/common/image_preview_type.dart';
|
||||||
|
import 'package:PiliPlus/pages/common/common_whisper_controller.dart';
|
||||||
import 'package:PiliPlus/pages/contact/view.dart';
|
import 'package:PiliPlus/pages/contact/view.dart';
|
||||||
import 'package:PiliPlus/pages/whisper_settings/view.dart';
|
import 'package:PiliPlus/pages/whisper_settings/view.dart';
|
||||||
import 'package:floating/floating.dart';
|
import 'package:floating/floating.dart';
|
||||||
@@ -173,22 +174,24 @@ extension ThreeDotItemTypeExt on ThreeDotItemType {
|
|||||||
_ => MdiIcons.circleMedium,
|
_ => MdiIcons.circleMedium,
|
||||||
};
|
};
|
||||||
|
|
||||||
void action(
|
void action({
|
||||||
{required BuildContext context, required VoidCallback onConfirm}) {
|
required BuildContext context,
|
||||||
|
required CommonWhisperController controller,
|
||||||
|
}) {
|
||||||
switch (this) {
|
switch (this) {
|
||||||
case ThreeDotItemType.THREE_DOT_ITEM_TYPE_READ_ALL:
|
case ThreeDotItemType.THREE_DOT_ITEM_TYPE_READ_ALL:
|
||||||
showConfirmDialog(
|
showConfirmDialog(
|
||||||
context: context,
|
context: context,
|
||||||
title: '一键已读',
|
title: '一键已读',
|
||||||
content: '是否清除全部新消息提醒?',
|
content: '是否清除全部新消息提醒?',
|
||||||
onConfirm: onConfirm,
|
onConfirm: controller.onClearUnread,
|
||||||
);
|
);
|
||||||
case ThreeDotItemType.THREE_DOT_ITEM_TYPE_CLEAR_LIST:
|
case ThreeDotItemType.THREE_DOT_ITEM_TYPE_CLEAR_LIST:
|
||||||
showConfirmDialog(
|
showConfirmDialog(
|
||||||
context: context,
|
context: context,
|
||||||
title: '清空列表',
|
title: '清空列表',
|
||||||
content: '清空后所有消息将被删除,无法恢复',
|
content: '清空后所有消息将被删除,无法恢复',
|
||||||
onConfirm: onConfirm,
|
onConfirm: controller.onDeleteList,
|
||||||
);
|
);
|
||||||
case ThreeDotItemType.THREE_DOT_ITEM_TYPE_MSG_SETTING:
|
case ThreeDotItemType.THREE_DOT_ITEM_TYPE_MSG_SETTING:
|
||||||
Get.to(const WhisperSettingsPage(
|
Get.to(const WhisperSettingsPage(
|
||||||
|
|||||||
Reference in New Issue
Block a user