mirror of
https://github.com/venera-app/venera.git
synced 2025-09-27 07:47:24 +00:00
Merge pull request #421 from lings03/local
Allow user to keep favorite and history when delete local comic. Close #420
This commit is contained in:
@@ -237,6 +237,7 @@
|
|||||||
"Group @group": "第 @group 组",
|
"Group @group": "第 @group 组",
|
||||||
"Chapter @ep": "第 @ep 章",
|
"Chapter @ep": "第 @ep 章",
|
||||||
"Page @page": "第 @page 页",
|
"Page @page": "第 @page 页",
|
||||||
|
"Remove local favorite and history": "删除本地收藏和历史记录",
|
||||||
"Also remove files on disk": "同时删除磁盘上的文件",
|
"Also remove files on disk": "同时删除磁盘上的文件",
|
||||||
"Copy to app local path": "将漫画复制到本地存储目录中",
|
"Copy to app local path": "将漫画复制到本地存储目录中",
|
||||||
"Delete all unavailable local favorite items": "删除所有无效的本地收藏",
|
"Delete all unavailable local favorite items": "删除所有无效的本地收藏",
|
||||||
@@ -397,6 +398,7 @@
|
|||||||
"Clear Unfavorited": "清除未收藏",
|
"Clear Unfavorited": "清除未收藏",
|
||||||
"Reverse": "反转",
|
"Reverse": "反转",
|
||||||
"Delete Chapters": "删除章节",
|
"Delete Chapters": "删除章节",
|
||||||
|
"Path copied to clipboard": "路径已复制到剪贴板",
|
||||||
"Reverse default chapter order": "反转默认章节顺序"
|
"Reverse default chapter order": "反转默认章节顺序"
|
||||||
},
|
},
|
||||||
"zh_TW": {
|
"zh_TW": {
|
||||||
@@ -637,6 +639,7 @@
|
|||||||
"Group @group": "第 @group 組",
|
"Group @group": "第 @group 組",
|
||||||
"Chapter @ep": "第 @ep 章",
|
"Chapter @ep": "第 @ep 章",
|
||||||
"Page @page": "第 @page 頁",
|
"Page @page": "第 @page 頁",
|
||||||
|
"Remove local favorite and history": "刪除本機收藏和歷史記錄",
|
||||||
"Also remove files on disk": "同時刪除磁碟上的文件",
|
"Also remove files on disk": "同時刪除磁碟上的文件",
|
||||||
"Copy to app local path": "將漫畫複製到本機儲存目錄中",
|
"Copy to app local path": "將漫畫複製到本機儲存目錄中",
|
||||||
"Delete all unavailable local favorite items": "刪除所有無效的本機收藏",
|
"Delete all unavailable local favorite items": "刪除所有無效的本機收藏",
|
||||||
@@ -797,6 +800,7 @@
|
|||||||
"Clear Unfavorited": "清除未收藏",
|
"Clear Unfavorited": "清除未收藏",
|
||||||
"Reverse": "反轉",
|
"Reverse": "反轉",
|
||||||
"Delete Chapters": "刪除章節",
|
"Delete Chapters": "刪除章節",
|
||||||
|
"Path copied to clipboard": "路徑已複製到剪貼簿",
|
||||||
"Reverse default chapter order": "反轉預設章節順序"
|
"Reverse default chapter order": "反轉預設章節順序"
|
||||||
}
|
}
|
||||||
}
|
}
|
@@ -611,7 +611,7 @@ class LocalManager with ChangeNotifier {
|
|||||||
notifyListeners();
|
notifyListeners();
|
||||||
}
|
}
|
||||||
|
|
||||||
void batchDeleteComics(List<LocalComic> comics, [bool removeFileOnDisk = true]) {
|
void batchDeleteComics(List<LocalComic> comics, [bool removeFileOnDisk = true, bool removeFavoriteAndHistory = true]) {
|
||||||
if (comics.isEmpty) {
|
if (comics.isEmpty) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -640,8 +640,11 @@ class LocalManager with ChangeNotifier {
|
|||||||
_db.execute('COMMIT;');
|
_db.execute('COMMIT;');
|
||||||
|
|
||||||
var comicIDs = comics.map((e) => ComicID(e.comicType, e.id)).toList();
|
var comicIDs = comics.map((e) => ComicID(e.comicType, e.id)).toList();
|
||||||
|
|
||||||
|
if (removeFavoriteAndHistory) {
|
||||||
LocalFavoritesManager().batchDeleteComicsInAllFolders(comicIDs);
|
LocalFavoritesManager().batchDeleteComicsInAllFolders(comicIDs);
|
||||||
HistoryManager().batchDeleteHistories(comicIDs);
|
HistoryManager().batchDeleteHistories(comicIDs);
|
||||||
|
}
|
||||||
|
|
||||||
notifyListeners();
|
notifyListeners();
|
||||||
|
|
||||||
|
@@ -361,10 +361,22 @@ class _LocalComicsPageState extends State<LocalComicsPage> {
|
|||||||
context: App.rootContext,
|
context: App.rootContext,
|
||||||
builder: (context) {
|
builder: (context) {
|
||||||
bool removeComicFile = true;
|
bool removeComicFile = true;
|
||||||
|
bool removeFavoriteAndHistory = true;
|
||||||
return StatefulBuilder(builder: (context, state) {
|
return StatefulBuilder(builder: (context, state) {
|
||||||
return ContentDialog(
|
return ContentDialog(
|
||||||
title: "Delete".tl,
|
title: "Delete".tl,
|
||||||
content: CheckboxListTile(
|
content: Column(
|
||||||
|
children: [
|
||||||
|
CheckboxListTile(
|
||||||
|
title: Text("Remove local favorite and history".tl),
|
||||||
|
value: removeFavoriteAndHistory,
|
||||||
|
onChanged: (v) {
|
||||||
|
state(() {
|
||||||
|
removeFavoriteAndHistory = !removeFavoriteAndHistory;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
),
|
||||||
|
CheckboxListTile(
|
||||||
title: Text("Also remove files on disk".tl),
|
title: Text("Also remove files on disk".tl),
|
||||||
value: removeComicFile,
|
value: removeComicFile,
|
||||||
onChanged: (v) {
|
onChanged: (v) {
|
||||||
@@ -372,6 +384,8 @@ class _LocalComicsPageState extends State<LocalComicsPage> {
|
|||||||
removeComicFile = !removeComicFile;
|
removeComicFile = !removeComicFile;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
)
|
||||||
|
],
|
||||||
),
|
),
|
||||||
actions: [
|
actions: [
|
||||||
if (comics.length == 1 && comics.first.hasChapters)
|
if (comics.length == 1 && comics.first.hasChapters)
|
||||||
@@ -388,6 +402,7 @@ class _LocalComicsPageState extends State<LocalComicsPage> {
|
|||||||
LocalManager().batchDeleteComics(
|
LocalManager().batchDeleteComics(
|
||||||
comics,
|
comics,
|
||||||
removeComicFile,
|
removeComicFile,
|
||||||
|
removeFavoriteAndHistory,
|
||||||
);
|
);
|
||||||
isDeleted = true;
|
isDeleted = true;
|
||||||
},
|
},
|
||||||
|
Reference in New Issue
Block a user