-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathQRetroDirectories.cpp
More file actions
65 lines (52 loc) · 1.67 KB
/
Copy pathQRetroDirectories.cpp
File metadata and controls
65 lines (52 loc) · 1.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include "QRetroDirectories.h"
#include <QDir>
QRetroDirectories::QRetroDirectories()
{
QString dir;
dir = QDir::currentPath() + "/save";
if (!QDir(dir).exists())
QDir().mkdir(dir);
m_Directories[QRetroDirectories::Save] = dir.toUtf8();
dir = QDir::currentPath() + "/system";
if (!QDir(dir).exists())
QDir().mkdir(dir);
m_Directories[QRetroDirectories::System] = dir.toUtf8();
dir = QDir::currentPath() + "/assets";
if (!QDir(dir).exists())
QDir().mkdir(dir);
m_Directories[QRetroDirectories::CoreAssets] = dir.toUtf8();
dir = QDir::currentPath() + "/playlists";
if (!QDir(dir).exists())
QDir().mkdir(dir);
m_Directories[QRetroDirectories::Playlist] = dir.toUtf8();
dir = QDir::currentPath() + "/state";
if (!QDir(dir).exists())
QDir().mkdir(dir);
m_Directories[QRetroDirectories::State] = dir.toUtf8();
dir = QDir::currentPath();
m_Directories[QRetroDirectories::FileBrowserStart] = dir.toUtf8();
}
const char *QRetroDirectories::get(QRetroDirectories::Type type)
{
if (type >= QRetroDirectories::Type_Size)
return nullptr;
else
return m_Directories[type].constData();
}
bool QRetroDirectories::set(QRetroDirectories::Type type, const QString &path, bool force)
{
if (type >= QRetroDirectories::Type_Size)
return false;
else if (!QDir(path).exists() && !force)
return false;
m_Directories[type] = path.toUtf8();
return true;
}
bool QRetroDirectories::set(QRetroDirectories::Type type, const std::string &path, bool force)
{
return set(type, QString(path.c_str()), force);
}
bool QRetroDirectories::set(QRetroDirectories::Type type, const char *path, bool force)
{
return set(type, QString(path), force);
}