Merge pull request #90 from gizmo98/patch-2
[libretro-ppsspp.git] / UI / SavedataScreen.h
blob44cb0a1c800d073d889654832e6af4a007938cdb
1 // Copyright (c) 2015- PPSSPP Project.
3 // This program is free software: you can redistribute it and/or modify
4 // it under the terms of the GNU General Public License as published by
5 // the Free Software Foundation, version 2.0 or later versions.
7 // This program is distributed in the hope that it will be useful,
8 // but WITHOUT ANY WARRANTY; without even the implied warranty of
9 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 // GNU General Public License 2.0 for more details.
12 // A copy of the GPL 2.0 should have been included with the program.
13 // If not, see http://www.gnu.org/licenses/
15 // Official git repository and contact information can be found at
16 // https://github.com/hrydgard/ppsspp and http://www.ppsspp.org/.
18 #pragma once
20 #include <string>
22 #include "base/functional.h"
23 #include "ui/ui_screen.h"
24 #include "ui/view.h"
25 #include "ui/viewgroup.h"
27 #include "UI/MiscScreens.h"
29 class SavedataBrowser : public UI::LinearLayout {
30 public:
31 SavedataBrowser(std::string path, UI::LayoutParams *layoutParams = 0);
32 ~SavedataBrowser();
34 UI::Event OnChoice;
36 private:
37 void Refresh();
38 UI::EventReturn SavedataButtonClick(UI::EventParams &e);
40 std::string path_;
41 UI::ViewGroup *gameList_;
44 class SavedataScreen : public UIDialogScreenWithGameBackground {
45 public:
46 // gamePath can be empty, in that case this screen will show all savedata in the save directory.
47 SavedataScreen(std::string gamePath);
49 void dialogFinished(const Screen *dialog, DialogResult result) override;
51 protected:
52 UI::EventReturn OnSavedataButtonClick(UI::EventParams &e);
53 void CreateViews() override;
54 bool gridStyle_;
55 SavedataBrowser *browser_;