Qt: Use TitleDatabase for better names in the game list

This commit is contained in:
Starsam80 2017-06-06 16:44:42 -06:00
parent c07058a4ad
commit 0c24162928
No known key found for this signature in database
GPG Key ID: 4E48BB48BA7E9026
2 changed files with 16 additions and 1 deletions

View File

@ -3,6 +3,8 @@
// Refer to the license.txt file included.
#include "DolphinQt2/GameList/GameListModel.h"
#include "DiscIO/Enums.h"
#include "DolphinQt2/Resources.h"
#include "DolphinQt2/Settings.h"
@ -21,6 +23,8 @@ GameListModel::GameListModel(QObject* parent) : QAbstractTableModel(parent)
emit layoutAboutToBeChanged();
emit layoutChanged();
});
// TODO: Reload m_title_database when the language changes
}
QVariant GameListModel::data(const QModelIndex& index, int role) const
@ -63,7 +67,16 @@ QVariant GameListModel::data(const QModelIndex& index, int role) const
break;
case COL_TITLE:
if (role == Qt::DisplayRole || role == Qt::InitialSortOrderRole)
return game->GetLongName();
{
QString display_name = QString::fromStdString(m_title_database.GetTitleName(
game->GetGameID().toStdString(), game->GetPlatformID() == DiscIO::Platform::WII_WAD ?
Core::TitleDatabase::TitleType::Channel :
Core::TitleDatabase::TitleType::Other));
if (display_name.isEmpty())
return game->GetLongName();
return display_name;
}
break;
case COL_ID:
if (role == Qt::DisplayRole || role == Qt::InitialSortOrderRole)

View File

@ -7,6 +7,7 @@
#include <QAbstractTableModel>
#include <QString>
#include "Core/TitleDatabase.h"
#include "DolphinQt2/GameList/GameFile.h"
#include "DolphinQt2/GameList/GameTracker.h"
@ -54,4 +55,5 @@ private:
GameTracker m_tracker;
QList<QSharedPointer<GameFile>> m_games;
Core::TitleDatabase m_title_database;
};