Skip to content
Permalink
Browse files
Merge pull request #5960 from ligfx/gamefiledontstorefilepathparts
GameFile: don't store file path parts
  • Loading branch information
leoetlino committed Aug 22, 2017
2 parents 232b819 + 5f30ebe commit b3a8209
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 11 deletions.
@@ -5,6 +5,7 @@
#include <QCryptographicHash>
#include <QDataStream>
#include <QDir>
#include <QFileInfo>
#include <QImage>
#include <QSharedPointer>

@@ -82,7 +83,7 @@ QString GameFile::GetCacheFileName() const
// files with the same names in different folders.
QString hash =
QString::fromUtf8(QCryptographicHash::hash(m_path.toUtf8(), QCryptographicHash::Md5).toHex());
return folder + m_file_name + hash;
return folder + GetFileName() + hash;
}

void GameFile::ReadBanner(const DiscIO::Volume& volume)
@@ -107,9 +108,6 @@ bool GameFile::LoadFileInfo(const QString& path)
if (!info.exists() || !info.isReadable())
return false;

m_file_name = info.fileName();
m_extension = info.suffix();
m_folder = info.dir().dirName();
m_last_modified = info.lastModified();
m_size = info.size();

@@ -127,7 +125,8 @@ void GameFile::LoadState()

bool GameFile::IsElfOrDol()
{
return m_extension == QStringLiteral("elf") || m_extension == QStringLiteral("dol");
QString extension = GetFileExtension();
return extension == QStringLiteral("elf") || extension == QStringLiteral("dol");
}

bool GameFile::TryLoadCache()
@@ -205,6 +204,21 @@ void GameFile::SaveCache()
// TODO
}

QString GameFile::GetFileName() const
{
return QFileInfo(m_path).fileName();
}

QString GameFile::GetFileExtension() const
{
return QFileInfo(m_path).suffix();
}

QString GameFile::GetFileFolder() const
{
return QFileInfo(m_path).dir().dirName();
}

QString GameFile::GetBannerString(const QMap<DiscIO::Language, QString>& m) const
{
// Try the settings language, then English, then just pick one.
@@ -30,9 +30,9 @@ class GameFile final
bool IsValid() const;
// These will be properly initialized before we try to load the file.
QString GetFilePath() const { return m_path; }
QString GetFileName() const { return m_file_name; }
QString GetFileExtension() const { return m_extension; }
QString GetFileFolder() const { return m_folder; }
QString GetFileName() const;
QString GetFileExtension() const;
QString GetFileFolder() const;
qint64 GetFileSize() const { return m_size; }
// The rest will not.
QString GetGameID() const { return m_game_id; }
@@ -88,9 +88,6 @@ class GameFile final

bool m_valid;
QString m_path;
QString m_file_name;
QString m_extension;
QString m_folder;
QDateTime m_last_modified;
qint64 m_size = 0;

0 comments on commit b3a8209

Please sign in to comment.