mirror of
https://github.com/nini22P/iris.git
synced 2026-06-22 02:42:45 +08:00
feat: add Local Storage changed to add Folder
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
"about": "About",
|
||||
"add": "Add",
|
||||
"add_favorite": "Add favorite",
|
||||
"add_folder": "Add folder",
|
||||
"add_local_storage": "Add local storage",
|
||||
"add_storage": "Add storage",
|
||||
"add_to_play_queue": "Add to play queue",
|
||||
@@ -30,6 +31,7 @@
|
||||
"download_and_update": "Download and update",
|
||||
"download_error": "Download error",
|
||||
"edit": "Edit",
|
||||
"edit_folder": "Edit folder",
|
||||
"edit_local_storage": "Edit local storage",
|
||||
"edit_webdav_storage": "Edit WebDAV storage",
|
||||
"enter_fullscreen": "Enter fullscreen",
|
||||
@@ -38,6 +40,7 @@
|
||||
"experimental": "Experimental",
|
||||
"favorites": "Favorites",
|
||||
"fit": "Fit",
|
||||
"folder": "Folder",
|
||||
"folder_first": "Folder first",
|
||||
"general": "General",
|
||||
"grant_storage_permission": "Grant Storage Permission",
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"about": "关于",
|
||||
"add": "添加",
|
||||
"add_favorite": "添加收藏",
|
||||
"add_folder": "添加文件夹",
|
||||
"add_local_storage": "添加本地存储",
|
||||
"add_storage": "添加存储",
|
||||
"add_to_play_queue": "添加到播放队列",
|
||||
@@ -30,6 +31,7 @@
|
||||
"download_and_update": "下载并更新",
|
||||
"download_error": "下载错误",
|
||||
"edit": "编辑",
|
||||
"edit_folder": "编辑文件夹",
|
||||
"edit_local_storage": "编辑本地存储",
|
||||
"edit_webdav_storage": "编辑 WebDAV 存储",
|
||||
"enter_fullscreen": "进入全屏",
|
||||
@@ -38,6 +40,7 @@
|
||||
"experimental": "实验性",
|
||||
"favorites": "收藏",
|
||||
"fit": "适应",
|
||||
"folder": "文件夹",
|
||||
"folder_first": "文件夹优先",
|
||||
"general": "通用",
|
||||
"grant_storage_permission": "授予存储权限",
|
||||
|
||||
@@ -4,9 +4,10 @@ import 'package:iris/models/storages/storage.dart';
|
||||
import 'package:iris/store/use_storage_store.dart';
|
||||
import 'package:iris/utils/get_localizations.dart';
|
||||
import 'package:iris/utils/path_conv.dart';
|
||||
import 'package:iris/utils/platform.dart';
|
||||
import 'package:path/path.dart' as p;
|
||||
|
||||
Future<void> showLocalDialog(BuildContext context,
|
||||
Future<void> showFolderDialog(BuildContext context,
|
||||
{LocalStorage? storage}) async =>
|
||||
await showDialog<void>(
|
||||
context: context,
|
||||
@@ -52,7 +53,7 @@ class LocalDialog extends HookWidget {
|
||||
}
|
||||
|
||||
return AlertDialog(
|
||||
title: Text(isEdit ? t.edit_local_storage : t.add_local_storage),
|
||||
title: Text(isEdit ? t.edit_folder : t.add_folder),
|
||||
content: SingleChildScrollView(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(8.0),
|
||||
@@ -76,6 +77,8 @@ class LocalDialog extends HookWidget {
|
||||
),
|
||||
initialValue: p.normalize(basePath.value.join('/')),
|
||||
onChanged: (value) => basePath.value = pathConv(value),
|
||||
readOnly:
|
||||
isAndroid && basePath.value[0].startsWith('content://'),
|
||||
),
|
||||
const SizedBox(height: 16.0),
|
||||
],
|
||||
@@ -8,7 +8,7 @@ import 'package:iris/pages/storage/files.dart';
|
||||
import 'package:iris/store/use_storage_store.dart';
|
||||
import 'package:iris/utils/get_localizations.dart';
|
||||
import 'package:iris/utils/path_conv.dart';
|
||||
import 'package:iris/pages/dialog/show_local_dialog.dart';
|
||||
import 'package:iris/pages/dialog/show_folder_dialog.dart';
|
||||
import 'package:iris/pages/dialog/show_webdav_dialog.dart';
|
||||
import 'package:iris/pages/storage/storages_list.dart';
|
||||
import 'package:iris/utils/platform.dart';
|
||||
@@ -98,7 +98,7 @@ class Storages extends HookWidget {
|
||||
persistablePermission: true,
|
||||
);
|
||||
if (dir != null && context.mounted) {
|
||||
showLocalDialog(
|
||||
showFolderDialog(
|
||||
context,
|
||||
storage: LocalStorage(
|
||||
type: value,
|
||||
@@ -114,7 +114,7 @@ class Storages extends HookWidget {
|
||||
|
||||
if (selectedDirectory != null &&
|
||||
context.mounted) {
|
||||
showLocalDialog(
|
||||
showFolderDialog(
|
||||
context,
|
||||
storage: LocalStorage(
|
||||
type: value,
|
||||
@@ -141,7 +141,7 @@ class Storages extends HookWidget {
|
||||
),
|
||||
PopupMenuItem<StorageType>(
|
||||
value: StorageType.internal,
|
||||
child: Text(t.local_storage),
|
||||
child: Text(t.folder),
|
||||
),
|
||||
];
|
||||
},
|
||||
|
||||
@@ -3,7 +3,7 @@ import 'package:flutter_hooks/flutter_hooks.dart';
|
||||
import 'package:flutter_zustand/flutter_zustand.dart';
|
||||
import 'package:iris/models/storages/local.dart';
|
||||
import 'package:iris/models/storages/storage.dart';
|
||||
import 'package:iris/pages/dialog/show_local_dialog.dart';
|
||||
import 'package:iris/pages/dialog/show_folder_dialog.dart';
|
||||
import 'package:iris/store/use_storage_store.dart';
|
||||
import 'package:iris/utils/get_localizations.dart';
|
||||
import 'package:iris/pages/dialog/show_webdav_dialog.dart';
|
||||
@@ -83,7 +83,7 @@ class StoragesList extends HookWidget {
|
||||
showWebDAVDialog(context,
|
||||
storage: allStorages[index] as WebDAVStorage);
|
||||
} else if (allStorages[index] is LocalStorage) {
|
||||
showLocalDialog(context,
|
||||
showFolderDialog(context,
|
||||
storage: allStorages[index] as LocalStorage);
|
||||
}
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user