mirror of
https://github.com/clangen/musikcube.git
synced 2025-03-14 04:18:36 +00:00
- Fixed Windows compile
- Fixed new playlist creation - Added a confirmation dialog when replacing a playlist
This commit is contained in:
parent
879df9321d
commit
1dfd14911c
@ -97,6 +97,7 @@
|
||||
<ClInclude Include="query\CategoryTrackListQuery.h" />
|
||||
<ClInclude Include="query\GetPlaylistQuery.h" />
|
||||
<ClInclude Include="query\NowPlayingTrackListQuery.h" />
|
||||
<ClInclude Include="query\SavePlaylistQuery.h" />
|
||||
<ClInclude Include="query\SearchTrackListQuery.h" />
|
||||
<ClInclude Include="query\TrackListQueryBase.h" />
|
||||
<ClInclude Include="util\Duration.h" />
|
||||
@ -112,6 +113,7 @@
|
||||
<ClCompile Include="query\CategoryTrackListQuery.cpp" />
|
||||
<ClCompile Include="query\GetPlaylistQuery.cpp" />
|
||||
<ClCompile Include="query\NowPlayingTrackListQuery.cpp" />
|
||||
<ClCompile Include="query\SavePlaylistQuery.cpp" />
|
||||
<ClCompile Include="query\SearchTrackListQuery.cpp" />
|
||||
<ClCompile Include="util\Duration.cpp" />
|
||||
<ClCompile Include="util\Playback.cpp" />
|
||||
|
@ -45,6 +45,9 @@
|
||||
<ClInclude Include="query\GetPlaylistQuery.h">
|
||||
<Filter>src\query</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="query\SavePlaylistQuery.h">
|
||||
<Filter>src\query</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="pch.cpp">
|
||||
@ -74,5 +77,8 @@
|
||||
<ClCompile Include="query\GetPlaylistQuery.cpp">
|
||||
<Filter>src\query</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="query\SavePlaylistQuery.cpp">
|
||||
<Filter>src\query</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
@ -32,6 +32,7 @@
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "pch.hpp"
|
||||
#include "SavePlaylistQuery.h"
|
||||
|
||||
#include <core/db/ScopedTransaction.h>
|
||||
@ -182,7 +183,7 @@ bool SavePlaylistQuery::ReplacePlaylist(musik::core::db::Connection &db) {
|
||||
}
|
||||
|
||||
bool SavePlaylistQuery::OnRun(musik::core::db::Connection &db) {
|
||||
if (playlistName.size() && playlistId != 0) {
|
||||
if (playlistName.size() && playlistId != -1) {
|
||||
return this->RenamePlaylist(db);
|
||||
}
|
||||
else if (playlistId != -1) {
|
||||
|
@ -244,6 +244,29 @@ static void createNewPlaylist(
|
||||
cursespp::App::Overlays().Push(dialog);
|
||||
}
|
||||
|
||||
static void confirmOverwritePlaylist(
|
||||
musik::core::ILibraryPtr library,
|
||||
const std::string& playlistName,
|
||||
const DBID playlistId,
|
||||
std::shared_ptr<TrackList> tracks)
|
||||
{
|
||||
std::shared_ptr<DialogOverlay> dialog(new DialogOverlay());
|
||||
|
||||
(*dialog)
|
||||
.SetTitle("musikbox")
|
||||
.SetMessage("are you sure you want to overwrite the playlist '" + playlistName + "'?")
|
||||
.AddButton("^[", "ESC", "no")
|
||||
.AddButton(
|
||||
"KEY_ENTER",
|
||||
"ENTER",
|
||||
"yes",
|
||||
[library, playlistId, tracks](const std::string& str) {
|
||||
library->Enqueue(SavePlaylistQuery::Replace(playlistId, tracks));
|
||||
});
|
||||
|
||||
App::Overlays().Push(dialog);
|
||||
}
|
||||
|
||||
void PlayQueueOverlays::ShowSavePlaylistOverlay(
|
||||
musik::core::audio::PlaybackService& playback,
|
||||
musik::core::ILibraryPtr library)
|
||||
@ -270,7 +293,8 @@ void PlayQueueOverlays::ShowSavePlaylistOverlay(
|
||||
else { /* replace existing */
|
||||
--index;
|
||||
DBID playlistId = (*result)[index]->id;
|
||||
library->Enqueue(SavePlaylistQuery::Replace(playlistId, tracks));
|
||||
std::string playlistName = (*result)[index]->displayValue;
|
||||
confirmOverwritePlaylist(library, playlistName, playlistId, tracks);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user