Fix file manager displays empty list when folder is deleted

This commit is contained in:
Dees_Troy
2013-01-25 16:36:07 +00:00
parent 6ed34b7f61
commit 80a11d9a6e
+14 -14
View File
@@ -302,10 +302,7 @@ GUIFileSelector::GUIFileSelector(xml_node<>* node)
// Fetch the file/folder list
std::string value;
DataManager::GetValue(mPathVar, value);
if (GetFileList(value) != 0 && (mShowNavFolders != 0 || mShowFiles != 0)) {
GetFileList(DataManager::GetCurrentStoragePath());
DataManager::SetValue(mPathVar, DataManager::GetCurrentStoragePath());
}
GetFileList(value);
}
GUIFileSelector::~GUIFileSelector()
@@ -640,12 +637,7 @@ int GUIFileSelector::NotifyTouch(TOUCH_STATE state, int x, int y)
else
{
DataManager::SetValue(mPathVar, cwd);
if (GetFileList(cwd) != 0)
{
LOGE("Unable to change folders.\n");
DataManager::SetValue(mPathVar, oldcwd);
GetFileList(oldcwd);
}
GetFileList(cwd);
mStart = 0;
scrollingY = 0;
mUpdate = 1;
@@ -772,6 +764,17 @@ int GUIFileSelector::GetFileList(const std::string folder)
if (d == NULL)
{
LOGI("Unable to open '%s'\n", folder.c_str());
if (folder != "/" && (mShowNavFolders != 0 || mShowFiles != 0)) {
size_t found;
found = folder.find_last_of('/');
if (found != string::npos) {
string new_folder = folder.substr(0, found);
if (new_folder.length() < 2)
new_folder = "/";
DataManager::SetValue(mPathVar, new_folder);
}
}
return -1;
}
@@ -824,10 +827,7 @@ void GUIFileSelector::SetPageFocus(int inFocus)
{
std::string value;
DataManager::GetValue(mPathVar, value);
if (GetFileList(value) != 0 && (mShowNavFolders != 0 || mShowFiles != 0)) {
GetFileList(DataManager::GetCurrentStoragePath());
DataManager::SetValue(mPathVar, DataManager::GetCurrentStoragePath());
}
GetFileList(value);
}
}