Merge pull request #5945 from ligfx/gamelistmodelcleanup
Add initial paths to GameTracker after construction
This commit is contained in:
commit
cfee348736
|
@ -49,8 +49,6 @@ GameList::GameList(QWidget* parent) : QStackedWidget(parent)
|
||||||
|
|
||||||
connect(m_list, &QTableView::doubleClicked, this, &GameList::GameSelected);
|
connect(m_list, &QTableView::doubleClicked, this, &GameList::GameSelected);
|
||||||
connect(m_grid, &QListView::doubleClicked, this, &GameList::GameSelected);
|
connect(m_grid, &QListView::doubleClicked, this, &GameList::GameSelected);
|
||||||
connect(&Settings::Instance(), &Settings::PathAdded, m_model, &GameListModel::DirectoryAdded);
|
|
||||||
connect(&Settings::Instance(), &Settings::PathRemoved, m_model, &GameListModel::DirectoryRemoved);
|
|
||||||
connect(m_model, &QAbstractItemModel::rowsInserted, this, &GameList::ConsiderViewChange);
|
connect(m_model, &QAbstractItemModel::rowsInserted, this, &GameList::ConsiderViewChange);
|
||||||
connect(m_model, &QAbstractItemModel::rowsRemoved, this, &GameList::ConsiderViewChange);
|
connect(m_model, &QAbstractItemModel::rowsRemoved, this, &GameList::ConsiderViewChange);
|
||||||
|
|
||||||
|
|
|
@ -14,8 +14,11 @@ GameListModel::GameListModel(QObject* parent) : QAbstractTableModel(parent)
|
||||||
{
|
{
|
||||||
connect(&m_tracker, &GameTracker::GameLoaded, this, &GameListModel::UpdateGame);
|
connect(&m_tracker, &GameTracker::GameLoaded, this, &GameListModel::UpdateGame);
|
||||||
connect(&m_tracker, &GameTracker::GameRemoved, this, &GameListModel::RemoveGame);
|
connect(&m_tracker, &GameTracker::GameRemoved, this, &GameListModel::RemoveGame);
|
||||||
connect(this, &GameListModel::DirectoryAdded, &m_tracker, &GameTracker::AddDirectory);
|
connect(&Settings::Instance(), &Settings::PathAdded, &m_tracker, &GameTracker::AddDirectory);
|
||||||
connect(this, &GameListModel::DirectoryRemoved, &m_tracker, &GameTracker::RemoveDirectory);
|
connect(&Settings::Instance(), &Settings::PathRemoved, &m_tracker, &GameTracker::RemoveDirectory);
|
||||||
|
|
||||||
|
for (const QString& dir : Settings::Instance().GetPaths())
|
||||||
|
m_tracker.AddDirectory(dir);
|
||||||
|
|
||||||
connect(&Settings::Instance(), &Settings::ThemeChanged, [this] {
|
connect(&Settings::Instance(), &Settings::ThemeChanged, [this] {
|
||||||
// Tell the view to repaint. The signal 'dataChanged' also seems like it would work here, but
|
// Tell the view to repaint. The signal 'dataChanged' also seems like it would work here, but
|
||||||
|
|
|
@ -48,10 +48,6 @@ public:
|
||||||
void UpdateGame(QSharedPointer<GameFile> game);
|
void UpdateGame(QSharedPointer<GameFile> game);
|
||||||
void RemoveGame(const QString& path);
|
void RemoveGame(const QString& path);
|
||||||
|
|
||||||
signals:
|
|
||||||
void DirectoryAdded(const QString& dir);
|
|
||||||
void DirectoryRemoved(const QString& dir);
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// Index in m_games, or -1 if it isn't found
|
// Index in m_games, or -1 if it isn't found
|
||||||
int FindGame(const QString& path) const;
|
int FindGame(const QString& path) const;
|
||||||
|
|
|
@ -28,9 +28,6 @@ GameTracker::GameTracker(QObject* parent) : QFileSystemWatcher(parent)
|
||||||
connect(m_loader, &GameLoader::GameLoaded, this, &GameTracker::GameLoaded);
|
connect(m_loader, &GameLoader::GameLoaded, this, &GameTracker::GameLoaded);
|
||||||
|
|
||||||
m_loader_thread.start();
|
m_loader_thread.start();
|
||||||
|
|
||||||
for (QString dir : Settings::Instance().GetPaths())
|
|
||||||
AddDirectory(dir);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
GameTracker::~GameTracker()
|
GameTracker::~GameTracker()
|
||||||
|
|
Loading…
Reference in New Issue