Skip to content

Commit ac8505d

Browse files
committed
chore: rename default playlists when downloading
1 parent dc78236 commit ac8505d

5 files changed

+18
-8
lines changed

lib/core/extensions.dart

+10
Original file line numberDiff line numberDiff line change
@@ -279,6 +279,16 @@ extension PLNAME on String {
279279
if (name == k_PLAYLIST_NAME_MOST_PLAYED) return lang.MOST_PLAYED;
280280
return name.replaceFirst(k_PLAYLIST_NAME_AUTO_GENERATED, lang.AUTO_GENERATED);
281281
}
282+
283+
bool isDefaultPlaylistName() {
284+
final name = this;
285+
if (name == k_PLAYLIST_NAME_FAV || name == k_PLAYLIST_NAME_HISTORY || name == k_PLAYLIST_NAME_MOST_PLAYED) return true;
286+
return false;
287+
}
288+
289+
String emptyIfHasDefaultPlaylistName() {
290+
return isDefaultPlaylistName() ? '' : this;
291+
}
282292
}
283293

284294
extension EnumUtils<E extends Enum> on E {

lib/youtube/pages/yt_playlist_download_subpage.dart

+5-5
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ class _YTPlaylistDownloadPageState extends State<YTPlaylistDownloadPage> {
6868

6969
@override
7070
void initState() {
71-
_groupName.value = widget.playlistName;
71+
_groupName.value = widget.playlistName.emptyIfHasDefaultPlaylistName();
7272
_addAllYTIDsToSelected();
7373
onRenameAllTasks(settings.youtube.downloadFilenameBuilder.value); // needed to provide initial data specially original indices
7474
super.initState();
@@ -134,7 +134,7 @@ class _YTPlaylistDownloadPageState extends State<YTPlaylistDownloadPage> {
134134
streamInfoItem: widget.infoLookup[id],
135135
playlistInfo: widget.playlistInfo,
136136
playlistId: widget.playlistInfo?.id,
137-
initialGroupName: widget.playlistName,
137+
initialGroupName: widget.playlistName.emptyIfHasDefaultPlaylistName(),
138138
showSpecificFileOptionsInEditTagDialog: false,
139139
videoId: id,
140140
initialItemConfig: _configMap[id],
@@ -178,7 +178,7 @@ class _YTPlaylistDownloadPageState extends State<YTPlaylistDownloadPage> {
178178
YTDownloadOptionFolderListTile(
179179
maxTrailingWidth: context.width * 0.2,
180180
visualDensity: visualDensity,
181-
playlistName: widget.playlistName,
181+
playlistName: widget.playlistName.translatePlaylistName(),
182182
initialFolder: _groupName.value,
183183
onDownloadGroupNameChanged: (newGroupName) {
184184
_groupName.value = newGroupName;
@@ -289,7 +289,7 @@ class _YTPlaylistDownloadPageState extends State<YTPlaylistDownloadPage> {
289289
Obx(
290290
(context) => CustomListTile(
291291
icon: Broken.music_playlist,
292-
title: widget.playlistName,
292+
title: widget.playlistName.translatePlaylistName(),
293293
subtitle: "${_selectedList.length.formatDecimal()}/${widget.ids.length.formatDecimal()}",
294294
visualDensity: VisualDensity.compact,
295295
trailingRaw: Row(
@@ -406,7 +406,7 @@ class _YTPlaylistDownloadPageState extends State<YTPlaylistDownloadPage> {
406406
key: _folderController,
407407
visualDensity: VisualDensity.compact,
408408
trailingPadding: 12.0,
409-
playlistName: widget.playlistName,
409+
playlistName: widget.playlistName.translatePlaylistName(),
410410
initialFolder: _groupName.value,
411411
subtitle: (value) => FileParts.joinPath(AppDirs.YOUTUBE_DOWNLOADS, value),
412412
onDownloadGroupNameChanged: (newGroupName) {

lib/youtube/pages/yt_playlist_subpage.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,7 @@ class _YTNormalPlaylistSubpageState extends State<YTNormalPlaylistSubpage> {
286286
onPressed: () async {
287287
YTPlaylistDownloadPage(
288288
ids: playlist.tracks,
289-
playlistName: playlistCurrentName,
289+
playlistName: playlistCurrentName.translatePlaylistName(),
290290
infoLookup: const {},
291291
playlistInfo: null, // this is a local playlist, passing info messes things up inside.
292292
).navigate();

lib/youtube/yt_utils.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -439,7 +439,7 @@ class YTUtils {
439439
playlistId: playlistId,
440440
totalLength: totalLength,
441441
streamInfoItem: streamInfoItem,
442-
initialGroupName: playlistName,
442+
initialGroupName: playlistName.emptyIfHasDefaultPlaylistName(),
443443
);
444444
},
445445
),

pubspec.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: namida
22
description: A Beautiful and Feature-rich Music Player, With YouTube & Video Support Built in Flutter
33
publish_to: "none"
4-
version: 4.7.1-beta+241120014
4+
version: 4.7.11-beta+241121221
55

66
environment:
77
sdk: ">=3.4.0 <4.0.0"

0 commit comments

Comments
 (0)