void SavedataBrowser::Refresh() { using namespace UI; // Kill all the contents Clear(); Add(new Spacer(1.0f)); I18NCategory *mm = GetI18NCategory("MainMenu"); I18NCategory *sa = GetI18NCategory("Savedata"); UI::LinearLayout *gl = new UI::LinearLayout(UI::ORIENT_VERTICAL, new LinearLayoutParams(FILL_PARENT, WRAP_CONTENT)); gl->SetSpacing(4.0f); gameList_ = gl; Add(gameList_); // Find games in the current directory and create new ones. std::vector<SavedataButton *> savedataButtons; std::vector<FileInfo> fileInfo; getFilesInDir(path_.c_str(), &fileInfo, "ppst:"); for (size_t i = 0; i < fileInfo.size(); i++) { bool isState = !fileInfo[i].isDirectory; bool isSaveData = false; if (!isState && File::Exists(path_ + fileInfo[i].name + "/PARAM.SFO")) isSaveData = true; if (isSaveData) { savedataButtons.push_back(new SavedataButton(fileInfo[i].fullName, new UI::LinearLayoutParams(UI::FILL_PARENT, UI::WRAP_CONTENT))); } else if (isState) { savedataButtons.push_back(new SavedataButton(fileInfo[i].fullName, new UI::LinearLayoutParams(UI::FILL_PARENT, UI::WRAP_CONTENT))); } } for (size_t i = 0; i < savedataButtons.size(); i++) { SavedataButton *b = gameList_->Add(savedataButtons[i]); b->OnClick.Handle(this, &SavedataBrowser::SavedataButtonClick); } if (savedataButtons.empty()) { ViewGroup *group = new LinearLayout(ORIENT_VERTICAL, new UI::LinearLayoutParams(UI::Margins(12, 0))); group->Add(new TextView(sa->T("None yet. Things will appear here after you save."))); gameList_->Add(group); } }