File Property Dialog Rewrite (phase 1)

This commit is contained in:
Robin Davies
2024-08-14 07:30:11 -04:00
parent 084e86f41a
commit 3ef263a16e
17 changed files with 948 additions and 166 deletions
+73
View File
@@ -40,6 +40,7 @@
#include "SysExec.hpp"
#include "PiPedalAlsa.hpp"
#include <filesystem>
#include "FileEntry.hpp"
using namespace std;
using namespace pipedal;
@@ -58,6 +59,33 @@ JSON_MAP_REFERENCE(GetPatchPropertyBody, propertyUri)
JSON_MAP_END()
class CreateNewSampleDirectoryArgs {
public:
std::string relativePath_;
UiFileProperty uiFileProperty_;
DECLARE_JSON_MAP(CreateNewSampleDirectoryArgs);
};
JSON_MAP_BEGIN(CreateNewSampleDirectoryArgs)
JSON_MAP_REFERENCE(CreateNewSampleDirectoryArgs, relativePath)
JSON_MAP_REFERENCE(CreateNewSampleDirectoryArgs, uiFileProperty)
JSON_MAP_END()
class RenameSampleFileArgs {
public:
std::string oldRelativePath_;
std::string newRelativePath_;
UiFileProperty uiFileProperty_;
DECLARE_JSON_MAP(RenameSampleFileArgs);
};
JSON_MAP_BEGIN(RenameSampleFileArgs)
JSON_MAP_REFERENCE(RenameSampleFileArgs, oldRelativePath)
JSON_MAP_REFERENCE(RenameSampleFileArgs, newRelativePath)
JSON_MAP_REFERENCE(RenameSampleFileArgs, uiFileProperty)
JSON_MAP_END()
class Lv2StateChangedBody {
public:
uint64_t instanceId_;
@@ -198,6 +226,21 @@ JSON_MAP_REFERENCE(MonitorResultBody, subscriptionHandle)
JSON_MAP_REFERENCE(MonitorResultBody, value)
JSON_MAP_END()
class FileRequestArgs
{
public:
std::string relativePath_;
UiFileProperty fileProperty_;
DECLARE_JSON_MAP(FileRequestArgs);
};
JSON_MAP_BEGIN(FileRequestArgs)
JSON_MAP_REFERENCE(FileRequestArgs, relativePath)
JSON_MAP_REFERENCE(FileRequestArgs, fileProperty)
JSON_MAP_END()
class MonitorPortBody
{
@@ -1417,6 +1460,13 @@ public:
std::vector<std::string> list = this->model.GetFileList(fileProperty);
this->Reply(replyTo,"requestFileList",list);
}
else if (message == "requestFileList2")
{
FileRequestArgs requestArgs;
pReader->read(&requestArgs);
std::vector<FileEntry> list = this->model.GetFileList2(requestArgs.relativePath_, requestArgs.fileProperty_);
this->Reply(replyTo,"requestFileList2",list);
}
else if (message == "newPreset")
{
int64_t presetId = this->model.CreateNewPreset();
@@ -1430,6 +1480,29 @@ public:
this->model.DeleteSampleFile(fileName);
this->Reply(replyTo,"deleteUserFile",true);
}
else if (message == "createNewSampleDirectory")
{
CreateNewSampleDirectoryArgs args;
pReader->read(&args);
std::string newFileName = this->model.CreateNewSampleDirectory(args.relativePath_,args.uiFileProperty_);
this->Reply(replyTo,"createNewSampleDirectory",newFileName);
}
else if (message == "renameSampleFile")
{
RenameSampleFileArgs args;
pReader->read(&args);
std::string newFileName = this->model.RenameSampleFile(args.oldRelativePath_,args.newRelativePath_,args.uiFileProperty_);
this->Reply(replyTo,"renameSampleFile",newFileName);
} else if (message == "GetSampleDirectoryTree"){
UiFileProperty uiFileProperty;
pReader->read(&uiFileProperty);
FilePropertyDirectoryTree::ptr result = model.GetSampleDirectoryTree(uiFileProperty);
this->Reply(replyTo,"GetSampleDirectoryTree",result);
}
else if (message == "setOnboarding")
{
bool value;