DolphinQt2: make Settings a singleton

With this, we can get signals when properties change.
This commit is contained in:
Michael Maltese
2017-05-31 00:17:39 -07:00
parent 95ef785b1f
commit 548522877a
15 changed files with 109 additions and 89 deletions

View File

@ -217,9 +217,9 @@ QString GameFile::GetBannerString(const QMap<DiscIO::Language, QString>& m) cons
bool wii = m_platform != DiscIO::Platform::GAMECUBE_DISC;
DiscIO::Language current_lang;
if (wii)
current_lang = Settings().GetWiiSystemLanguage();
current_lang = Settings::Instance().GetWiiSystemLanguage();
else
current_lang = Settings().GetGCSystemLanguage();
current_lang = Settings::Instance().GetGCSystemLanguage();
if (m.contains(current_lang))
return m[current_lang];

View File

@ -50,7 +50,7 @@ GameList::GameList(QWidget* parent) : QStackedWidget(parent)
addWidget(m_table);
addWidget(m_list);
addWidget(m_empty);
m_prefer_table = Settings().GetPreferredView();
m_prefer_table = Settings::Instance().GetPreferredView();
ConsiderViewChange();
}
@ -70,15 +70,16 @@ void GameList::MakeTableView()
connect(m_table, &QTableView::customContextMenuRequested, this, &GameList::ShowContextMenu);
m_table->setColumnHidden(GameListModel::COL_PLATFORM, !Settings().PlatformVisible());
m_table->setColumnHidden(GameListModel::COL_ID, !Settings().IDVisible());
m_table->setColumnHidden(GameListModel::COL_BANNER, !Settings().BannerVisible());
m_table->setColumnHidden(GameListModel::COL_TITLE, !Settings().TitleVisible());
m_table->setColumnHidden(GameListModel::COL_DESCRIPTION, !Settings().DescriptionVisible());
m_table->setColumnHidden(GameListModel::COL_MAKER, !Settings().MakerVisible());
m_table->setColumnHidden(GameListModel::COL_SIZE, !Settings().SizeVisible());
m_table->setColumnHidden(GameListModel::COL_COUNTRY, !Settings().CountryVisible());
m_table->setColumnHidden(GameListModel::COL_RATING, !Settings().StateVisible());
auto& settings = Settings::Instance();
m_table->setColumnHidden(GameListModel::COL_PLATFORM, !settings.PlatformVisible());
m_table->setColumnHidden(GameListModel::COL_ID, !settings.IDVisible());
m_table->setColumnHidden(GameListModel::COL_BANNER, !settings.BannerVisible());
m_table->setColumnHidden(GameListModel::COL_TITLE, !settings.TitleVisible());
m_table->setColumnHidden(GameListModel::COL_DESCRIPTION, !settings.DescriptionVisible());
m_table->setColumnHidden(GameListModel::COL_MAKER, !settings.MakerVisible());
m_table->setColumnHidden(GameListModel::COL_SIZE, !settings.SizeVisible());
m_table->setColumnHidden(GameListModel::COL_COUNTRY, !settings.CountryVisible());
m_table->setColumnHidden(GameListModel::COL_RATING, !settings.StateVisible());
QHeaderView* hor_header = m_table->horizontalHeader();
hor_header->setSectionResizeMode(GameListModel::COL_PLATFORM, QHeaderView::ResizeToContents);
@ -284,7 +285,7 @@ void GameList::UninstallWAD()
void GameList::SetDefaultISO()
{
Settings().SetDefaultGame(GetSelectedGame());
Settings::Instance().SetDefaultGame(GetSelectedGame());
}
void GameList::OpenContainingFolder()
@ -364,7 +365,7 @@ QString GameList::GetSelectedGame() const
void GameList::SetPreferredView(bool table)
{
m_prefer_table = table;
Settings().SetPreferredView(table);
Settings::Instance().SetPreferredView(table);
ConsiderViewChange();
}

View File

@ -28,7 +28,7 @@ GameTracker::GameTracker(QObject* parent) : QFileSystemWatcher(parent)
m_loader_thread.start();
for (QString dir : Settings().GetPaths())
for (QString dir : Settings::Instance().GetPaths())
AddDirectory(dir);
}