|
|
@@ -12,6 +12,10 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
|
|
|
import 'package:get/get.dart';
|
|
|
import 'package:pull_to_refresh/pull_to_refresh.dart';
|
|
|
|
|
|
+import '../../data/repositories/account_repository.dart';
|
|
|
+import '../../dialog/rename_dialog.dart';
|
|
|
+import '../../dialog/talk_delete_dialog.dart';
|
|
|
+import '../../popup/talk_popup.dart';
|
|
|
import '../../resource/assets.gen.dart';
|
|
|
|
|
|
class FilesPage extends BasePage<FilesController> {
|
|
|
@@ -167,6 +171,17 @@ class FilesPage extends BasePage<FilesController> {
|
|
|
return Padding(
|
|
|
padding: EdgeInsets.only(bottom: 8.w),
|
|
|
child: GestureDetector(
|
|
|
+ onLongPressStart: (details) {
|
|
|
+ if (!accountRepository.isLogin.value) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ showTalkPopup(details.globalPosition, Alignment.bottomRight,
|
|
|
+ onRename: () {
|
|
|
+ showRenameTalkDialog(talkBean);
|
|
|
+ }, onDelete: () {
|
|
|
+ showDeleteTalkDialog(talkBean);
|
|
|
+ });
|
|
|
+ },
|
|
|
onTap: () {
|
|
|
TalkPage.start(talkBean);
|
|
|
},
|
|
|
@@ -207,7 +222,7 @@ class FilesPage extends BasePage<FilesController> {
|
|
|
color: talkBean.status.value ==
|
|
|
TalkStatus.analysisFail
|
|
|
? "#F5574E".toColor()
|
|
|
- : ColorName.secondaryTextColor)),
|
|
|
+ : ColorName.secondaryTextColor)),
|
|
|
Container(
|
|
|
margin: EdgeInsets.only(top: 6.w),
|
|
|
child: Row(
|
|
|
@@ -238,4 +253,18 @@ class FilesPage extends BasePage<FilesController> {
|
|
|
));
|
|
|
});
|
|
|
}
|
|
|
+
|
|
|
+ void showRenameTalkDialog(TalkBean item) {
|
|
|
+ reNameDialog(StringName.talkRenameTitle.tr, item.title.value,
|
|
|
+ hintTxt: StringName.talkRenameTitleHint.tr,
|
|
|
+ maxLength: 15, returnBuilder: (newName) {
|
|
|
+ controller.requestName(newName, item);
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ void showDeleteTalkDialog(TalkBean item) {
|
|
|
+ talkDeleteDialog(item.id, item.title.value, returnBuilder: () {
|
|
|
+ controller.requestDelete(item);
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|