Merge pull request #7247 from lioncash/fwd

Qt/GameList: Replace includes with forward declarations where applicable
This commit is contained in:
spycrab 2018-07-11 10:57:02 +02:00 committed by GitHub
commit ea99cdd781
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 48 additions and 16 deletions

View File

@ -15,11 +15,14 @@
#include <QFrame>
#include <QHeaderView>
#include <QKeyEvent>
#include <QLabel>
#include <QListView>
#include <QMap>
#include <QMenu>
#include <QMessageBox>
#include <QProgressDialog>
#include <QScrollBar>
#include <QSortFilterProxyModel>
#include <QTableView>
#include <QUrl>
#include "Common/FileUtil.h"
@ -34,6 +37,7 @@
#include "DiscIO/Enums.h"
#include "DolphinQt/Config/PropertiesDialog.h"
#include "DolphinQt/GameList/GameListModel.h"
#include "DolphinQt/GameList/GridProxyModel.h"
#include "DolphinQt/GameList/ListProxyModel.h"
#include "DolphinQt/QtUtils/DoubleClickEventFilter.h"
@ -41,6 +45,8 @@
#include "DolphinQt/Settings.h"
#include "DolphinQt/WiiUpdate.h"
#include "UICommon/GameFile.h"
static bool CompressCB(const std::string&, float, void*);
GameList::GameList(QWidget* parent) : QStackedWidget(parent)
@ -677,6 +683,11 @@ bool GameList::HasMultipleSelected() const
m_grid->selectionModel()->selectedIndexes().size() > 1;
}
void GameList::SetViewColumn(int col, bool view)
{
m_list->setColumnHidden(col, !view);
}
void GameList::SetPreferredView(bool list)
{
m_prefer_list = list;

View File

@ -6,15 +6,18 @@
#include <memory>
#include <QLabel>
#include <QListView>
#include <QSortFilterProxyModel>
#include <QStackedWidget>
#include <QTableView>
#include "DolphinQt/GameList/GameListModel.h"
class GameListModel;
class QLabel;
class QListView;
class QSortFilterProxyModel;
class QTableView;
#include "UICommon/GameFile.h"
namespace UICommon
{
class GameFile;
}
class GameList final : public QStackedWidget
{
@ -30,7 +33,7 @@ public:
void SetListView() { SetPreferredView(true); }
void SetGridView() { SetPreferredView(false); }
void SetViewColumn(int col, bool view) { m_list->setColumnHidden(col, !view); }
void SetViewColumn(int col, bool view);
void SetSearchTerm(const QString& term);
void OnColumnVisibilityToggled(const QString& row, bool visible);

View File

@ -14,6 +14,7 @@
#include "DolphinQt/Resources.h"
#include "DolphinQt/Settings.h"
#include "UICommon/GameFile.h"
#include "UICommon/UICommon.h"
const QSize GAMECUBE_BANNER_SIZE(96, 32);
@ -226,6 +227,16 @@ std::shared_ptr<const UICommon::GameFile> GameListModel::GetGameFile(int index)
return m_games[index];
}
QString GameListModel::GetPath(int index) const
{
return QString::fromStdString(m_games[index]->GetFilePath());
}
QString GameListModel::GetUniqueIdentifier(int index) const
{
return QString::fromStdString(m_games[index]->GetUniqueIdentifier());
}
void GameListModel::AddGame(const std::shared_ptr<const UICommon::GameFile>& game)
{
beginInsertRows(QModelIndex(), m_games.size(), m_games.size());

View File

@ -14,7 +14,10 @@
#include "DolphinQt/GameList/GameTracker.h"
#include "UICommon/GameFile.h"
namespace UICommon
{
class GameFile;
}
class GameListModel final : public QAbstractTableModel
{
@ -32,12 +35,9 @@ public:
std::shared_ptr<const UICommon::GameFile> GetGameFile(int index) const;
// Path of the game at the specified index.
QString GetPath(int index) const { return QString::fromStdString(m_games[index]->GetFilePath()); }
QString GetPath(int index) const;
// Unique identifier of the game at the specified index.
QString GetUniqueIdentifier(int index) const
{
return QString::fromStdString(m_games[index]->GetUniqueIdentifier());
}
QString GetUniqueIdentifier(int index) const;
bool ShouldDisplayGameListItem(int index) const;
void SetSearchTerm(const QString& term);

View File

@ -17,6 +17,8 @@
#include "DolphinQt/Settings.h"
#include "UICommon/GameFile.h"
// NOTE: Qt likes to be case-sensitive here even though it shouldn't be thus this ugly regex hack
static const QStringList game_filters{
QStringLiteral("*.[gG][cC][mM]"), QStringLiteral("*.[iI][sS][oO]"),

View File

@ -15,9 +15,13 @@
#include "Common/Event.h"
#include "Common/WorkQueueThread.h"
#include "UICommon/GameFile.h"
#include "UICommon/GameFileCache.h"
namespace UICommon
{
class GameFile;
}
// Watches directories and loads GameFiles in a separate thread.
// To use this, just add directories using AddDirectory, and listen for the
// GameLoaded and GameRemoved signals.

View File

@ -86,6 +86,7 @@
#include "InputCommon/ControllerInterface/ControllerInterface.h"
#include "UICommon/DiscordPresence.h"
#include "UICommon/GameFile.h"
#include "UICommon/UICommon.h"
#include "VideoCommon/VideoConfig.h"

View File

@ -36,7 +36,7 @@
#include "Core/Core.h"
#include "Core/NetPlayServer.h"
#include "DolphinQt/GameList/GameList.h"
#include "DolphinQt/GameList/GameListModel.h"
#include "DolphinQt/NetPlay/GameListDialog.h"
#include "DolphinQt/NetPlay/MD5Dialog.h"
#include "DolphinQt/NetPlay/PadMappingDialog.h"