diff options
author | Dees_Troy <dees_troy@teamw.in> | 2013-01-25 17:36:07 +0100 |
---|---|---|
committer | Dees_Troy <dees_troy@teamw.in> | 2013-01-25 17:36:07 +0100 |
commit | 80a11d9a6e5912c9ab64d682dcc491e44e573e26 (patch) | |
tree | 2154a6318559c62b18053121bf67d343c4b560dd /gui | |
parent | Use GUI for ORS instead of console only (diff) | |
download | android_bootable_recovery-80a11d9a6e5912c9ab64d682dcc491e44e573e26.tar android_bootable_recovery-80a11d9a6e5912c9ab64d682dcc491e44e573e26.tar.gz android_bootable_recovery-80a11d9a6e5912c9ab64d682dcc491e44e573e26.tar.bz2 android_bootable_recovery-80a11d9a6e5912c9ab64d682dcc491e44e573e26.tar.lz android_bootable_recovery-80a11d9a6e5912c9ab64d682dcc491e44e573e26.tar.xz android_bootable_recovery-80a11d9a6e5912c9ab64d682dcc491e44e573e26.tar.zst android_bootable_recovery-80a11d9a6e5912c9ab64d682dcc491e44e573e26.zip |
Diffstat (limited to 'gui')
-rw-r--r-- | gui/fileselector.cpp | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/gui/fileselector.cpp b/gui/fileselector.cpp index 7d896e670..aecdd253c 100644 --- a/gui/fileselector.cpp +++ b/gui/fileselector.cpp @@ -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); } } |