yuzu: Add support for multiple game directories

Ported from https://github.com/citra-emu/citra/pull/3617.
This commit is contained in:
fearlessTobi
2019-05-01 23:21:04 +02:00
committed by FearlessTobi
parent 7fc5af3622
commit 2d8eba5baf
12 changed files with 664 additions and 193 deletions

View File

@ -8,6 +8,7 @@
#include <atomic>
#include <vector>
#include <QByteArray>
#include <QMetaType>
#include <QString>
#include <QStringList>
#include "common/common_types.h"
@ -25,6 +26,18 @@ struct Shortcut {
using Themes = std::array<std::pair<const char*, const char*>, 2>;
extern const Themes themes;
struct GameDir {
QString path;
bool deep_scan;
bool expanded;
bool operator==(const GameDir& rhs) const {
return path == rhs.path;
};
bool operator!=(const GameDir& rhs) const {
return !operator==(rhs);
};
};
struct Values {
QByteArray geometry;
QByteArray state;
@ -55,8 +68,9 @@ struct Values {
QString roms_path;
QString symbols_path;
QString screenshot_path;
QString game_directory_path;
bool game_directory_deepscan;
QString game_dir_deprecated;
bool game_dir_deprecated_deepscan;
QList<UISettings::GameDir> game_dirs;
QStringList recent_files;
QString theme;
@ -84,3 +98,5 @@ struct Values {
extern Values values;
} // namespace UISettings
Q_DECLARE_METATYPE(UISettings::GameDir*);