Properly refresh SelectFilePath(...);.

This commit is contained in:
StackZ
2020-03-26 23:11:42 +01:00
parent d24a8e476e
commit cae6dc5160
6 changed files with 23 additions and 13 deletions
+1 -1
View File
@@ -22,7 +22,7 @@ std::vector<std::string> getContents(const std::string &name, const std::vector<
bool returnIfExist(const std::string &path, const std::vector<std::string> &extensionList);
std::string selectFilePath(std::string selectText, const std::vector<std::string> &extensionList, int selectionMode = 1);
std::string selectFilePath(std::string selectText, std::string initialPath, const std::vector<std::string> &extensionList, int selectionMode = 1);
void dirCopy(DirEntry* entry, int i, const char *destinationPath, const char *sourcePath);
int fcopy(const char *sourcePath, const char *destinationPath);
+1 -1
View File
@@ -303,7 +303,7 @@ void ScriptCreator::SubMenuLogic(u32 hDown, u32 hHeld, touchPosition touch) {
}
break;
case 1:
std::string tempScript = selectFilePath("Select the Script file.", {"json"}, 2);
std::string tempScript = selectFilePath("Select the Script file.", Config::ScriptPath, {"json"}, 2);
if (tempScript != "") {
jsonFileName = tempScript;
if(access(jsonFileName.c_str(), F_OK) != -1 ) {
+2 -2
View File
@@ -431,7 +431,7 @@ void ScriptList::SubMenuLogic(u32 hDown, u32 hHeld, touchPosition touch) {
}
break;
case 3:
std::string tempScript = selectFilePath(Lang::get("SELECT_SCRIPT_PATH"), {});
std::string tempScript = selectFilePath(Lang::get("SELECT_SCRIPT_PATH"), Config::ScriptPath, {});
if (tempScript != "") {
Config::ScriptPath = tempScript;
changesMade = true;
@@ -467,7 +467,7 @@ void ScriptList::SubMenuLogic(u32 hDown, u32 hHeld, touchPosition touch) {
notImplemented();
}
} else if (touching(touch, subPos[3])) {
std::string tempScript = selectFilePath(Lang::get("SELECT_SCRIPT_PATH"), {});
std::string tempScript = selectFilePath(Lang::get("SELECT_SCRIPT_PATH"), Config::ScriptPath, {});
if (tempScript != "") {
Config::ScriptPath = tempScript;
changesMade = true;
+2 -2
View File
@@ -246,7 +246,7 @@ void Settings::MiscSettingsLogic(u32 hDown, u32 hHeld, touchPosition touch) {
if (hDown & KEY_A) {
if (Selection == 0) {
std::string tempMusic = selectFilePath(Lang::get("SELECT_MUSIC_FILE"), {"wav"}, 2);
std::string tempMusic = selectFilePath(Lang::get("SELECT_MUSIC_FILE"), "sdmc:/", {"wav"}, 2);
if (tempMusic != "") {
Config::MusicPath = tempMusic;
changesMade = true;
@@ -264,7 +264,7 @@ void Settings::MiscSettingsLogic(u32 hDown, u32 hHeld, touchPosition touch) {
if (hDown & KEY_TOUCH) {
if (touching(touch, mainButtons[0])) {
std::string tempMusic = selectFilePath(Lang::get("SELECT_MUSIC_FILE"), {"wav"}, 2);
std::string tempMusic = selectFilePath(Lang::get("SELECT_MUSIC_FILE"), "sdmc:/", {"wav"}, 2);
if (tempMusic != "") {
Config::MusicPath = tempMusic;
changesMade = true;
+2 -2
View File
@@ -549,7 +549,7 @@ void UniStore::SubMenuLogic(u32 hDown, u32 hHeld, touchPosition touch) {
}
break;
case 2:
std::string tempStore = selectFilePath(Lang::get("SELECT_STORE_PATH"), {});
std::string tempStore = selectFilePath(Lang::get("SELECT_STORE_PATH"), Config::StorePath, {});
if (tempStore != "") {
Config::StorePath = tempStore;
changesMade = true;
@@ -584,7 +584,7 @@ void UniStore::SubMenuLogic(u32 hDown, u32 hHeld, touchPosition touch) {
notConnectedMsg();
}
} else if (touching(touch, subPos[2])) {
std::string tempStore = selectFilePath(Lang::get("SELECT_STORE_PATH"), {});
std::string tempStore = selectFilePath(Lang::get("SELECT_STORE_PATH"), Config::StorePath, {});
if (tempStore != "") {
Config::StorePath = tempStore;
changesMade = true;
+15 -5
View File
@@ -141,17 +141,27 @@ bool returnIfExist(const std::string &path, const std::vector<std::string> &exte
// returns a Path or file to 'std::string'.
// selectText is the Text which is displayed on the bottom bar of the top screen.
// selectionMode is how you select it. 1 -> Path, 2 -> File.
std::string selectFilePath(std::string selectText, const std::vector<std::string> &extensionList, int selectionMode) {
static uint selectedFile = 0;
std::string selectFilePath(std::string selectText, std::string initialPath, const std::vector<std::string> &extensionList, int selectionMode) {
uint selectedFile = 0;
std::string selectedPath = "";
static int keyRepeatDelay = 4;
static bool dirChanged = true;
static bool fastMode = false;
int keyRepeatDelay = 4;
bool dirChanged = true;
bool fastMode = false;
uint screenPos = 0;
uint screenPosList = 0;
std::vector<DirEntry> dirContents;
std::string dirs;
// Initial dir change.
dirContents.clear();
chdir(initialPath.c_str());
std::vector<DirEntry> dirContentsTemp;
getDirectoryContents(dirContentsTemp, extensionList);
for(uint i=0;i<dirContentsTemp.size();i++) {
dirContents.push_back(dirContentsTemp[i]);
}
selectedFile = 0;
while (1) {
Gui::clearTextBufs();
C3D_FrameBegin(C3D_FRAME_SYNCDRAW);